Método de Ramificación y Acotación.
Método de Ramificación y Acotación.
Método de Ramificación y Acotación.
Maestr
o:
Pablo Emmanuel
González Diaz.
Alumn
o:
Luis Alfonso Perera
Palma
Materia:
Investigación
Operacional. Tema:
Método de ramificación y
acotación.
Carrera:
Ing.
Industrial
Semestre:
4to
Fech
a:
29/06/202
1
Síntesis “Ramificación y acotación”
Terminología:
-Nodo vivo: nodo del espacio de soluciones del que no se han generado aún todos sus hijos.
-Nodo muerto: nodo del que no se van a generar más hijos porque:
no hay más
no es completable, i.e., viola las restricciones
no producirá una solución mejor que la solución en curso
Tan pronto como se genera un nuevo hijo del nodo en curso, este hijo pasa a ser el nodo en curso.
-Ramificación y acotación:
Se generan todos los hijos del nodo en curso antes de que cualquier otro nodo vivo pase a ser el nuevo
nodo en curso.
En consecuencia:
Los únicos nodos vivos son los que están en el camino de la raíz al nodo en curso.
-Ramificación y acotación:
Puede haber más nodos vivos. Se deben almacenar en una estructura de datos auxiliar: lista de nodos
vivos.
» recorrido “extraño”
La prioridad de un nodo se calcula de acuerdo con una función de estimación que mide cuánto de “prometedor”
es un nodo.
Primer punto clave de los métodos de ramificación y acotación: Encontrar un buen orden de recorrido (o
ramificación) de los nodos, es decir, definir una buena función de prioridad de los nodos vivos, para que las
soluciones buenas se encuentren rápidamente.
El esquema es el siguiente:
repetir
expandir el nodo vivo más prometedor; generar todos sus hijos; una vez generados, el padre se
mata;
sino {tiene un coste esperado mejor que el de la mejor solución en curso y es solución (el coste no es estimado
sino real)}
pasa a ser la mejor solución en curso y se revisa toda la lista de nodos vivos, eliminando los que prometen
algo peor de lo conseguido fsi, fsi,
Problemas de optimización:
-Ahora la función o coste a minimizar ya no es la distancia de la raíz a la solución, sino una cierta función
objetivo dada
Se expande la raíz, sus hijos se añaden a la cola de nodos vivos, se elige el hijo izquierdo, se expande y se
obtiene una solución de coste 20
– Teorema. Si para cada nodo x del árbol del espacio de estados es una estimación de c(x) tal que para todo
par de nodos y, z:
entonces el algoritmo mínimo coste termina y encuentra siempre una solución de mínimo coste.
-Problema: no es fácil encontrar una función de estimación con tales características y fácil de calcular.
-Conformarse con… Una función fácil de calcular y tal que para todo nodo x:
c ˆ (x) ≤ c(x)
c ˆ (x) = c(x)
En este caso, el algoritmo mínimo coste no siempre encuentra una solución de mínimo coste, pero puede
modificarse ligeramente…
Ramificación… y acotación:
-Se utiliza una función de estimación que sea una cota inferior de todas las soluciones obtenidas desde x:
c ˆ (x) ≤ c(x)
x: c ˆ (x) > U, x puede ser podado y su solución descendiente de x: c(y) ³ c(x) ³ c ˆ (x) > U
-Si se actualiza el valor de U (al alcanzar una solución con un coste menor), todos los nodos vivos de coste
estimado mayor también se pueden podar (otra cosa es que no se haga por no disminuir la eficiencia)
-Valor inicial de U:
-Si el valor inicial de U es mayor o igual que el coste de una solución de mínimo coste, la regla de poda no
elimina ningún nodo ascendente de una solución de coste mínimo.
-Definición de la función de coste c(x) de forma que c(x) sea mínimo para todos los nodos que representen una
solución óptima.
- ¿Cómo?
-La función de estimación estima el valor de la función objetivo y no el coste computacional de alcanzar
una solución.
Puntos clave del método:
1. (Recordar) Encontrar un buen orden de recorrido o ramificación de los nodos, es decir, definir una buena
función de prioridad de los nodos vivos para que las soluciones buenas se encuentren rápidamente.
2. Encontrar una buena función de acotación o poda, U, para que se produzca el retroceso lo antes
posible.
Ejemplo:
Samuel Loyd : El juego del 15 o “ taken ”.
Problema publicado en un periódico de Nueva York
en 1878 y por cuya solución se ofrecieron 1000 dólares.
❖ El problema original:
1 2 3 4 1 2 3 4
?
5 6 7 8 5 6 7 8
9 10 11 12 9 10 11 12
13 15 14 13 14 15
Problema de Lloyd El objetivo
-Buscar en el espacio de estados (es decir en todos los estados posibles alcanzados desde el
problema propuesto) hasta encontrar el objetivo.
¡Nótese que hay 16! ˜ 20’9x1012 posiciones, aunque sólo (?) la mitad pueden alcanzarse desde la
posición inicial propuesta por Lloyd …
– Dado un estado, para cada ficha i, sea m(i) el número de fichas j tales
que j<i y Pos(j)>Pos(i).
entonces
escribir(x); éxito:=verdad
sino
añadir(c,<x,coste(x)>)
fsi
fmq
fmq;
si not éxito
entonces escribir(“No hay solución”)
fsi
fsi
fin
Comentarios al esquema algorítmico anterior:
-Se suele restringir la búsqueda a nodos con coste estimado menor que
C.