Академический Документы
Профессиональный Документы
Культура Документы
Introduccin
El problema del viajante
de comercio
El problema de la mochila 0-1
El juego del 15
Terminologa:
Nodo vivo: nodo del espacio de soluciones del
que no se han generado an todos sus hijos.
Nodo muerto: nodo del que no se van a generar
ms hijos porque:
no hay ms
no es completable,
En consecuencia:
Bsqueda con retroceso:
Los nicos nodos vivos son los que estn en el
camino de la raz al nodo en curso.
Ramificacin y acotacin:
Puede haber ms nodos vivos.
Se deben almacenar en una estructura de datos
auxiliar: lista de nodos vivos.
algoritmo BackTracking()
Diferentes estrategias de
elegir el siguiente nodo
del conjunto de nodos vivos
Distintos rdenes de
recorrido del rbol de
soluciones
pila:
recorr. en profundidad
cola:
recorrido por niveles
algoritmo BranchAndBound()
Formalizacin:
Sean G=(V,A) un grafo orientado,
V={1,2,,n},
D[i,j] la longitud de (i,j)A,
D[i,j]= si no existe el arco (i,j).
El circuito buscado empieza en el vrtice 1.
Candidatos:
E = { 1,X,1 | X es una permutacin de (2,3,,n) }
|E| = (n-1)!
Soluciones factibles:
E = { 1,X,1 | X = x1,x2,,xn-1, es una permutacin
de (2,3,,n) tal que (ij,ij+1)A, 0<j<n,
(1, x1) A , (xn-1,1) A}
Funcion objetivo:
F(X)=D[1,x1]+D[x1, x2] + D[x2, x3]+...+D[xn-2, xn-
1]+
+D[xn,1]
2 3 4
5 6 7 8 9 10
11 12 13 14 15 16
20 30 10 11
15 16 4 2
3 5 2 4
19 6 18 3
16 4 7 16
Ejemplo de matriz no reducida.
Si se resta una constante t de cada elemento de
una fila (columna) de la matriz de distancias, la
longitud de todo hamiltoniano se reduce
exactamente en t y un hamiltoniano de distancia
mnima lo sigue siendo.
20 30 10 11 10 20 0 1
15 16 4 2 15 16 4 2
3 5 2 4 3 5 2 4
19 6 18 3 19 6 18 3
16 4 7 16 16 4 7 16
Reduccin de la fila 1, t = 10.
Repitiendo el proceso para filas y columnas,
siempre se puede conseguir que la matriz de
distancias sea reducida.
20 30 10 11 10 17 0 1
15 16 4 2 12 11 2 0
Reduccin
5 2 4 0 3 0 2
de la matriz, 3
L = 25.
19 6 18 3 15 3 12 0
16 4 7 16 11 0 0 12
Ejemplo:
20 30 10 11 10 17 0 1
15 16 4 2 12 11 2 0
3 5 2 4 0 3 0 2
19 6 18 3 15 3 12 0
16 4 7 16 11 0 0 12
Grafo original. Matriz reducida, L = 25.
11 2 0 10 9 0
0 0 2 c 25 1
0 3 0
15 12 0 12 0 9
x1 = 2 x1 = 5
11 0 12 x =3 x1 = 4 0 0 12
1
2 3 4 5
c 25+10 35 c 25+17+11 53 c 25 c 25+1+5 31
1 2 0 12 11 0
0 2 0
3 3 2
4 3
0 3 12 0
0 0 12 11 0 0
Ramificacin y acotacin Pg. 17
El problema del viajante de
comercio
c 25 1 UB =
x1 = 2 x1 = 5
x1 = 3 x1 = 4
c 35 2 c 53 3 c 25 4 c 31 5
x2 = 2 x2 = 5
x2 = 3
c 28 6 7 8 c 36
c 50
x3 = 3 x3 = 5
c 32 9 10 c 28
x4 = 3
c 28 11 Es hoja (solucin),
se actualiza UB = 28.
A={(oi, di)}, oi V, di V
c 28 6 7 c 37
Se llega al nodo 6.
Se han elegido ya tres arcos: (3,1), (5,3), (1,4).
Para los dos restantes, slo queda ya una opcin:
(4,2) y (2,5).
As, se obtiene el recorrido: 5,3,1,4,2,5.
Con distancia total: 28 (as, UB = 28)
maximizar bi xi
1 i n
sujeto a pi xi C
1i n
con xi 0,1 , bi 0, pi 0, 1 i n
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
1 2 3 4
1 5 6 8
9 10 7 11
13 14 15 12
1 2 4 1 2 3 4 1 2 3 4 1 2 3 4
2 5 6 3 8 3 5 6 8 4 5 6 7 8 5 5 6 8
9 10 7 11 9 10 7 11 9 10 11 9 10 7 11
13 14 15 12 13 14 15 12 13 14 15 12 13 14 15 12
6 7 8 9 10 11 12 13 14 15
1 2 4 1 2 4 1 2 3 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 3 4 1 2 3 4 1 2 3 4
5 6 3 8 5 6 3 8 5 6 8 4 5 6 8 11 5 6 7 8 5 6 7 8 5 6 7 8 5 2 6 8 5 10 6 8 5 6 8
9 10 7 11 9 10 7 11 9 10 7 11 9 10 7 9 10 11 9 10 15 11 9 10 11 9 10 7 11 9 7 11 9 10 7 11
13 14 15 12 13 14 15 12 13 14 15 12 13 14 15 12 13 14 15 12 13 14 12 13 14 15 12 13 14 15 12 13 14 15 12 13 14 15 12
23
16 19 22
1 2 4 8 1 2 3 1 2 3 4 1 2 3 4
5 6 3 5 6 8 4 5 6 7 5 6 7 8
9 10 7 11 9 10 7 11 9 10 11 8 9 10 11 12
13 14 15 12 13 14 15 12 13 14 15 12 13 14 15
18 20 21 objetivo
17 1 6 2 4 1 2 4 1 2 3 4 1 2 3 4
5 3 8 5 6 3 8 5 6 8 11 5 6 8 11
9 10 7 11 9 10 7 11 9 10 7 12 9 10 7
13 14 15 12 13 14 15 12 13 14 15 13 14 15 12