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