Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtodos Heursticos:
y El vecino mas cercano y B & B. y Twice around the tree
Branching strategy
1. Ejemplo con una matriz simtrica 2. si se empieza desde la ciudad 1, se dice que la persona tiene que atravesar la distancia mnima de 7, ver de la matriz . 3. Si llegase a la ciudad 2 la distancia mnima a recorrer es 5. 4. Y as con todas las dems ciudades hasta llegar a la suma de todas las distancias mnimas de las filas. 5. El resultado es un camino mnimo en este caso 31 y esto es una Lower Bound (LB) de la distancia real que la persona tiene que recorrer.
Branching strategy
Una vez obtenido el LB se comienza a dibujar las ramas, para nuestro ejemplo dibujamos 4 ramas que es n-1. En cada rama escribimos X12=1, X13=1, X14=1, X15=1, Al recordar que vamos a empezar en la ciudad 1, temporalmente eliminamos la primera fila y la segunda columna (X12) estos nos permitir obtener la distancia adicional que la persona va a realizar Con la matriz reducida sacamos de nuevo el mnimo de las filas Los mnimos son: 5+8+6+6= 25 a esto se le suba el 10 de 1,2 dando una total de 35
Branching strategy
X13= 5+8+5+6+8= 32
X14= 5+8+5+7+6= 31
Branching strategy
Seguimos haciendo las ramas a partir de aquel que tenga el valor mnimo. En este caso el X14= 31. Ahora solo se crear 3 ramas, X21=1, X23=1, X24=1 Ahora con la matriz se elimina 2 filas y 2 columnas la obtenida y la nueva.
X21= 8+5+6+10+7=36
Branching strategy
X24= 8+8+6+5+7=34
Branching strategy
De mi rbol veo la ramas y busco cual tiene el valor mnimo en este caso es el 32 y desde aqu decido a empezar a hacer la siguientes ramas. Con X21=1, X24=1, X25=1. se empieza a eliminar de la matriz temporalmente nuevamente.
X21=8+5+6+10+8=37
X21=8+6+6+ 8 + 5 =33
X21=8+5+6+ 8 + 6 =33
Branching strategy
Con los resultados obtenidos cual es el menor para seguir creando ramas. 2 ramas con X32=1, X35 =1. Solo que ahora al tener solo 2 ramas ya no busco el LB si no que busco el Uper Bound (UB) de las soluciones factibles. Tengo 1-3-2-4 entonces el que queda es al final es 5: 1-3-2-4-5-1. La suma del camino es 1-3+3-2+2+4+4-5+5-1=8+10+5+6+7=36 Tenemos una solucin factible de Z=36. ahora podemos hacer unas cosas Podemos factorar aquellos nodos que sean mayor 0 igual a la solucin factible. Continuamos con el siguiente nodo. 1-3-5 2-4. aqu no existe un camino que una de 5 a 2 o de 5 a 4 asi que volvemos a la matriz Vemos que la nica posibilidad es de 5-2 y de 4 a 1. tenemos lo siguiente 1-3-5-2-4-1 Z= 8+9+6+5+9=37, lo que no ayuda en mucho. Regresamos y vemos cual es el mas pequeo y volvemos al 33
Branching strategy
De nuevo buscamos soluciones factibles. Primer nodo: 1-3-2-5-4-1 = 8+10+6+6+9=39 igual no ayuda. Vamos al siguiente nodo. Segundo nodo 1-3-4-2-5-1= 8+8+5+6+7=34. Ahora que contamos con una solucin menor puedo hacer eliminaciones de aquellos nodos que sean mayores o iguales. Ahora tenemos una solucin factible y no queda ningn nodo para evaluar todos los nodos han sido eliminados. El algoritmo termina dando la solucin optima: 1-3-4-2-5-1= 8+8+5+6+7=34 No es rpido, toma muchos nodos para su evaluacin.
Se comienza a hacer asignaciones a las filas con 1 solo cero las de dos cero se omiten Se tachan aquellos ceros que estn ubicados en la columna del cero asignado
se continua con la asignacin de ceros: Una vez terminada la asignacion por fila se continua con la de columna:
Se tiene la parte inicial, se continua con el procedimiento de seleccin, donde seleccionamos una fila que no tenga asignacion, si hay un cero seleccionamos sus columnas Si hay una asignacin en las columnas se selecciona la fila correspondiente
Aquellas filas que no fueron seleccionadas les dibujamos una lnea. Tambin ponemos lneas a aquellas que tengan cero asignados y ceros tachados.
Se busca el mnimo de aquellos que no tengan lneas que pasen por ellos: 1 Se crea una nueva matriz en donde aquellas que no tengan lneas se le resta el valor antes obtenido, si pasan 2 lneas smale el valor, y con una lnea dejalo tal cual este
Con la matriz reducida comenzamos a hacer asignaciones a las filas con un cero Y se elimina los ceros de la columna. Se continua con las columnas
Se llega una situacin donde ya no podemos hacer mas asignaciones . Se realiza asignacin arbitrarias
Tenemos 5 asignaciones as que la solucin de asignacion es : X13 = X24= X31= X45= X52 =1 De la matriz original Z= 8+5+8+6+6=33 Hay que verificar si es factible con el TSP, entonces seria optimo. Al ver bine vemos que tenemos subtours : X13 = X31=1 y X24= X45 = X52 =1
Como no es factible haremos que el 33 sea el LB, del valor optimo del TSP. Hay que ver si podemos ajustar este valor. Con la ultima matriz reducida creamos una matriz de subtour
Para que ayuda?. Con esto tenemos el valor con el que la lineas que van unir a los subtrours y a cuanto se le va sumar al LB en este caso ambos son cero y el 33 queda igual, si los miniimos hubieran sido 1s solo se suma uno y no los dos y el LB seria de 34
Se crean de nuevo 2 ramas ahora con X24=0 y X24=1 Ahora tendremos en X24=0 un - al igual que en X13=0 en la coordenada dadas, se resuelve el problema de asignacin El nuevo resultado es 36 con una solucin X15=X54= X42=X23= X31 1-5-4-2-3-1 lo que si es una solucin factible para el TSP. De esta manera al tener una solucin el 36 ahora funciona como un UB y no importa aquellos que tengan una solucin de igual o mayor a 36. Volvemos a evaluar el valor de X24=1 ponemos un - en X13=0 y eliminamos la fila y columna de X24=1. Resolvemos el problema de la matriz de 4x4 sumamos el 5 de la interseccin a la solucin obtenida Obtenemos un LB de 34 y solucin X15=X52= X24=X43= X31 1-5-2-4-3-1 Y con esto podemos ya no seguir haciendo mas ramas con aquellas que sea 34 o mayor El algoritmo termina con el UB actual como la mejor solucin
El anterior era muy rudimentario, este algoritmo tiene menos nodos Un LB muy ajustado. El calculo de LB es un poco mas difcil de calcular, por igual tomara mas tiempo de en computar. Ya que se resuelve un problema de asignacin en cada nodo. Pero el anterior consumira mas memoria. Al ser un matriz simtrica se tiende a tener subtours pequeos de 2 o 3
Algoritmo de Little
Realizamos la suma del mnimo de las filas de la matriz original: 7+5+8+5+6=31 LB Vemos ahora las columnas en la columna 3 no existe cero por lo que tericamente hablando decimos que de una ciudad podemos llegar a otra ciudad con un costo de cero. Por lo que ahora a 31 se le suma 1 LB=32
Algoritmo de Little
Empezamos el algoritmo de Branch and Bound con un LB de 32 Ahora con la matriz reducida comenzamos a hacer asignaciones como en el problema de asignacin donde hay ceros para no incrementar distancia adicional para alcanzar el nodo o mientras salimos de ese nodo Que pasa si no puedo asignar en un cero en particular? Hacerlo es lo mas deseado pero caso de que no suceda , en nuestro ejemplo la fila 1, columna 3 no se puede asignar el cero . Por lo que vemos el siguiente mnimo de la fila el cual es tambin cero, pero si vemos el siguiente mnimo de la columna en este caso es 2. Al no hacer la asignacin pero como es necesario hacerlo, vamos a tener una penalizacin adicional (PA) de 2, ya que tenemos una penalizacin en fila de 0 , 0-0 =0 y una penalizacin de 2 en la columna 2-0=2 PA =0+2=2
Algoritmo de Little
Hemos calculado las penalizaciones lo que nos dice que si por alguna razon no puedo hacer una asignacion en F 1,C3 tendre una enalizacion de 2, al ser la penalizacion mas grande , voy a asignar mas en esa posicion , ya que al no asignar va ser muy alto , en nuetro ejemplo vemos ese cero que tiene la penalizacion mas grande que va ser el primero que trataremos de asignar , ya que al no asignar en esta posicion va incrementar a 2 y empezamos a realizar las ramas con 1-3. En nuetro arbol creamos dos ramas con X =0 y X13=1
Algoritmo de Little
Al no asignarlo es decir que 1-3 no sea parte de la solucin incrementa el LB a +2 es decir en X13=0 su nodo va tener el LB de 34. En X13=1 eliminamos temporalmente la fila 1 y la columna 3 creando una nueva matriz de 4x4 . Ahora que asignamos a 1-3 por ende no podemos tener 3-1 de la nueva matriz o tendremos un subtour.
Tenemos que ver en la nueva matriz que cada fila y cada columna tenga un cero para ser asignado. Todas las filas tiene ceros pero las columnas no, asi que restamos la columna minima
Algoritmo de Little
As que resta como restamos 2 unos en la columnas eso significa que tenemos que sumar los unos al LB y tenemos el LB en X13=1 que ser LB=34 El hecho de que tengamos el mismo numero es casualidad ya que son motivo diferentes con clculos diferentes De nuevo buscamos las penalizaciones en filas y columnas de la nueva matriz:
Algoritmo de Little
En la nueva matriz vemos que el que tiene la mxima penalizacin es en 5-1 con 3 de penalizacin. As que las ramas a realizar se empieza con X51=0 y X51=1, de preferencia con el nodo de la derecha
En X51=0 sabemos que no tenemos una asignacin y que ya hemos calculado que la penalizacin a incrementar va ser de 3 al anterior LB dando un nuevo LB con el total de 37. Para calcular el otro nodo X51=1 eliminamos temporalmente la fila 5 y la columna uno creamo la nueva matriz:
Algoritmo de Little
Cabe ver que tenemos de momento una solucin de 1-3 y 5-1 dejando la cadena: 5-1-3, por lo tanto no podemos tener 3-5 ya que seria un subtour por eso le ponemos un - en la matriz
Como vemos en cada fila y columna hay cero as que no es necesario ni sumar ni restar el mnimo de la fila ni el mnimo de la columna. De esta manera el nuevo LB se queda con 34 Una vez comenzamos con el calculo de penalizacin a la nueva matriz
Algoritmo de Little
Se puede seleccionar 3-4 o 4-2 ya que tiene la misma cantidad de penalizacin. Empecemos a hacer las ramas con 3-4 X34=0, X34=1 Ya vimos para X34=0 hay una penalizacin de 2 as que el nuevo LB se le agrega el 2 con el LB anterior Ahora en X34=1 se elimina la fila 3 y la columna 4 de la matriz crean una nueva matriz
Algoritmo de Little
Como tenemos el 3-4 no debe haber en la matriz 4-3, en este caso no existe asi que volvemos con lo anteriores. La solucion de momento va de 5-1-3-4, por lo que no debe de existe 4-5 ya que crea un subtour. Entonces se pone un - en la matriz en 4-5
Ahora vemos que en cada fila y en cada columna tenemos ceros que pueden ser asignados as que el LB siguiente no incrementa . Se observa que ya solo existen 2 ciudades mas por visitar por lo que podemos tratar de conseguir una solucin factible con esto. Se asigna los ceros
Algoritmo de Little
Nos da una solucin factible con X25=1 y X42=1 Y tenemos la solucin factible de: X13= X51= X34= X25= X42. ordenado correctamente seria X13= X34= X42= X25= X51. lo anterior da la solucin de 1-3-4-2-5-1 con un Z=8+8+5+6+7= 34 Al tener la solucin de 34, con las otras ramas se detiene en caso de que sean igual o mayo a 34 que hemos obtenido, ya que nos dara soluciones mayores , La solucin factible se convierte en el UB
Digamos que la persona empieza en la ciudad 1 debemos ver cual es la ciudad a ir mas cercana. Asumimos que el vecino mas cercano empezando en la ciudad 1 seria la ciudad 5 1-5, de 5 el vecino mas cercano es 2 o 4 puede ser cualquiera para este ejemplo digamos que va a 2 entonces tenemos que 1-5-2. De 2 el vecino mas cercano es 4 , por lo que tenemos ahora 1-5-2-4 De 4 el vecino mas cercano es 2 pero como de 2 venimos hara un subtour as que pasamos al siguiente valor , de nuevo hara de 4-5 pero 5 ya existe y de nuevo hara un subtour, se pasa al siguiente valor, que es 3, esto que da as: 1-5-2-4-3 De 3 solo queda regresar ala ciudad original y esto queda as : 1-5-2-4-3-1
El valor de Z=7 +6+5+8+8= 34. Ahora empecemos en la ciudad 2 a buscar el vecino mas cercano. De 2 a 4, de 4 vamos a 5, de 5 vamos a 1, de 1 vamos 3, de 3 vamos a 2 esto queda as: 2-4-5-1-3-2. Z= 5+6+7+8+10 = 36. Vemos que partiendo de diferentes ciudades puede dar diferentes soluciones. Entonces seguimos sacando el vecino mas cercano empezando con las siguientes ciudades que falten, 3, 4, 5 y de esos escoger el resultado mas optimo. 3-1-5-2-4-3. Z=8+7+6+5+8=34 4-2-5-1-3-4. Z =5+6+7+8+8=34 5-2-4-3-1-5 . Z= 6+5+8+8+7=34
De las soluciones nos damos cuanta que 4 dan 34 y solo uno da 36. Tambin uno puede observar que las 4 son lo mismo solo que empezando de diferente forma, es decir que las 4 son las mima solucin. Como estamos usando el mismo ejemplo sabemos que este resultado es el mas optimo pero que pasara si no hubiramos resulto las anteriores solo tendramos el 34 pero no se puede decir que es el mas optimo.
Decimos que cada solucin es una solucin factible , y que proporcionan un UB para la solucin mas optima. Agregamos nuevas notaciones como Lo (link optimal) y Lh (link hueristic solution) Esto da una notacin como Lh Lo Lh=34 entonces para saber si Lh es optipo podemos hacer Lh/Lo (1 + log 2 n)/2
El segundo algoritmo usamos los mismo que en algoritmo de eastman solo que ignoramos las ramas de las izquierda solo yendo a la derecha en el momento en que hayamos una solucin factible se termina el algoritmo
Primero veremos la teora de el Minimun Spanning Tree (rbol de expansin mnima {AEM}). Conseguiremos el AEM con la matriz que hemos estado manejando. La rama mas pequea es de 2-4 con un valor de 5. Siguiendo el algoritmo nos dice que pongamos la solucin de momento (SM) y los nodos por seleccionar por separado: {2,4} y {1,3,5}. A partir de la SM vamos a seguir realizando las dems ramas buscando la distancia mnima
De la matriz vemos que de 2-5 es la mas corta de entre 2-4, actualizamos la SM {2,4,5}, {1,3}. De la SM actualizada vemos cual tiene la distancia mas corta entre los nodos faltantes. En este caso las mnima es de 5-1, actualizamos la SM {2,4,5,1}, {3} De la SM actualizada vemos cual tiene la distancia mas corta entre los nodos faltantes. En este caso las mnima es de 4-3 o 1-3, se puede seleccionar cualquiera de las dos. La distancia obtenida es LMST = 26 De que nos sirve si conocemos el Link optimo Lo al quitarle una de sus diagonales (LST)este debe ser igual o menor (LST Lo) siempre que Cij 0 lo que nos dice que la matriz no exista nmeros negativos.
Y se escoge la mejor opcin. Para el ejemplo tenemos 1-5-2-43-1 L=34. sabemos cual es la solucin optima por las anteriores ejemplos, pero si no lo conociramos no podramos decir que la solucin es optima es solo la LH. Como definimos el rendimiento de del TAT? hemos dicho que LMST Lo Le 2LMST L H Le LH 2LMST L H 2 Lo LH / Lo 2.