Ramificación y Poda

1. Descripción de la técnica

2. Ventajas vs Desventajas

3. Ejemplos de aplicación

4. Pseudocódigo

5. Conclusiones

 

Descripción de la técnica

La técnica de Ramificación y poda se suele interpretar como un árbol de soluciones, donde cada rama nos lleva a una posible solución posterior a la actual. 

Característica

El algoritmo se encarga de detectar en qué ramificación las soluciones dadas ya no están siendo óptimas, para «podar» esa rama del árbol y no continuar malgastando recursos y procesos en casos que se alejan de la solución óptima.

Ventajas vs. Desventajas

Ejemplos de aplicación

Asignación de tareas

Problema de la mochila.
Problema del viajante.

Ejemplos de problemas usando Ramificación y poda


- Ejemplo del Algoritmo de Ramificación y Acotamiento (B&B)
- Resolución de un sudoku utilizando Ramificación y poda

Peseudocódigo

Funcion RyP {
 P = Hijos(x,k)
 while ( no vacio(P) )
    x(k) = extraer(P)
    if esFactible(x,k) y G(x,k) < optimo
        si esSolucion(x)
             Almacenar(x)
        else
             RyP(x,k+1)

Conclusiones

Ramificación y poda: mejora y generalización de la técnica de backtracking.

 

Idea básica: Recorrido implícito en árbol de soluciones:
  - Distintas estrategias de ramificación.
  - Estrategias LC: explorar primero las ramas más prometedoras.
  - Poda basada en acotar el beneficio a partir de un nodo: CI, CS.

 

Estimación de cotas: aspecto clave en RyP. Utilizar algoritmos de avance rápido.

 

Compromiso tiempo-exactitud:
  - Más tiempo => Mejores cotas.
  - Menos tiempo => menos poda.

Ramificación y Poda

By Aless Acevedo

Ramificación y Poda

  • 2,418