Sunteți pe pagina 1din 66

NDICE

Introduccin ........ Hiptesis .. Objetivo General Organizacin de la tesis Captulo I Antecedentes 1.1 Algoritmos genticos 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 Representacin del Cromosoma .. Operadores Genticos ... Seleccin .. Cruza . Mutacin ...

2 3 3 3 5 6 8 8 9 10 13 17 21 26 32 32 38 39 40 43 46 46 47 49 51 54 56 63 64 65

1.2 Algoritmo del Camino ms Corto para el RPP propuesto por Groves et al. (2005) . 1.3 Algoritmo para realizar post-optimizacin, dada una solucin inicial factible . Capitulo II Trabajos previos .. Captulo III Mtodo propuesto .. 3.1 Bsqueda basada en 2-Opt ... 3.2 Bsqueda basada en 3-Opt ... 3.3 Bsqueda basada en 4-Opt ... 3.4 Algoritmo Gentico versin 1.1 combinado con el Algoritmo del camino ms corto para el URPP . 3.5 Algoritmo Gentico versin 1.2 combinado con el Algoritmo del camino ms corto para el URPP.. Captulo IV Resultados experimentales . 4.1 Resultados de la bsqueda basada en 2-Opt . 4.2 Resultados de la bsqueda basada en 3-Opt . 4.3 Resultados de la bsqueda basada en 4-Opt . 4.4 Resultados del algoritmo gentico versin 1.1 ... 4.5 Resultados del algoritmo gentico versin 1.2 ... 4.6 Comparacin con el mtodo de Fonseca (2008) ... Conclusiones .. Recomendaciones . Bibliografa ..

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

INTRODUCCIN

En la vida cotidiana existen actividades que involucran directamente el recorrido de una ruta. Tales actividades incluyen: entregar el correo, establecer rutas para los autobuses escolares, abastecer estaciones de combustible, inspeccionar lneas elctricas, recolectar basura, repartir peridicos, entre muchas otras. Lo ideal para el diseo de stas rutas es realizarlas de manera ptima. En el caso del reparto del correo, por citar un ejemplo, se debe hacer en el menor tiempo posible y recorrer la distancia mnima. Adicionales a la distancia y al tiempo, pueden existir otros factores que afecten el costo total de recorrido de una ruta en particular. Existen varias formas de modelar una ruta de acuerdo a la forma en que sea necesario recorrerla. Es comn modelar tales recorridos definiendo un problema general o problema prototipo que represente de manera precisa las caractersticas de la ruta deseada. Uno de estos problemas prototipo es el Problema del Cartero Chino (CPP, Chinese Postman Problem). El CPP (Pearn et al.,1995) consiste en encontrar el camino cerrado (o circuito) ms corto que visite cada arco de un grafo no dirigido. Un grafo consiste de un conjunto de vrtices (o nodos) y un conjunto de aristas (o arcos) tal que cada arista esta asociada a un par no ordenado de vrtices (Liu, 1985). Note que a un grafo tambin se le conoce con el nombre de grfica debido a la traduccin literal del vocablo en ingls graph. Sin embargo, con el fin de evitar confusiones se utilizar grfica para la representacin visual de las relaciones entre datos y grafo para denotar un conjunto de vrtices y aristas. A partir del CPP se han derivado otros problemas prototipo tiles para modelar problemas similares, pero que poseen caractersticas diferentes. Un ejemplo de estos problemas es el Problema del Cartero Rural (RPP, Rural Postman Problem) que consiste en determinar el camino de costo mnimo del recorrido de un subconjunto de arcos, llamados arcos requeridos, con la particularidad que stos arcos se visiten al menos una vez. Existen variantes del problema en donde los arcos puedes ser dirigidos (DRPP, Directed Rural Postman Problem) o no dirigidos (URPP, Undirected Rural Postman Problem). En esta tesis se aborda el caso del URPP. 2

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Debido a que el URPP pertenece a los problemas NP-completos (Groves et al., 2005), se han utilizado mtodos heursticos (algoritmos genticos, recocido simulado, entre otros) para dar una solucin. As mismo, se han combinado mtodos heursticos (conocidos como mtodos hbridos) para tratar de mejorar las soluciones al URPP. Uno de los trabajos que han utilizado una estrategia hbrida es el propuesto por Fonseca (2008) quien propone una nueva representacin en un algoritmo gentico combinado con el uso del algoritmo de Groves et al. (2005) para determinar la ruta mnima en el problema del URPP, sin embargo, slo valida su algoritmo propuesto con un subconjunto de 5 instancias del ya ampliamente conocido conjunto de prueba de Christofides (1986) que consiste de 25 elementos. Por tal motivo, es difcil establecer si la heurstica propuesta es aceptable. En esta propuesta, se pretenden analizar los operadores genticos propuestos por Fonseca (2008) as como combinar diferentes mtodos de bsqueda para validar el conjunto de datos completo que Christofides propone. De esta forma se demostrar si la heurstica propuesta es viable para el URPP. Hiptesis La propuesta de Fonseca (2008) puede ser mejorada para validar su eficacia empleando el conjunto completo de prueba propuesto por Chirstofides (1986). Objetivo General Proponer operadores adecuadas para la implementacin del algoritmo gentico propuesto por Fonseca (2008) para validar si mejora las soluciones del conjunto de prueba de Christofides (1986). Organizacin de la Tesis Esta tesis se encuentra divida en cinco captulos. En el primero se da una descripcin detallada del RPP y de sus variaciones, adems de una introduccin general a los Algoritmos Genticos. En el captulo dos se analizan una serie de trabajos previos que han ofrecido soluciones para el RPP. En el captulo tres se da una descripcin detallada del mtodo propuesto donde se describen los pasos del algoritmo propuesto y los algoritmos previos formulados durante la fase de experimentacin hasta llegar a la propuesta final. En el captulo cuatro se exponen los resultados experimentales 3

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

proporcionando los parmetros iniciales utilizados en la ejecucin del algoritmo y sus grficas de comportamiento de los mejores resultados de cada generacin. Finalmente, en el captulo cinco se discuten las conclusiones obtenidas as como una serie de recomendaciones para mejoras futuras al mtodo propuesto.

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

CAPTULO I Antecedentes Un grafo G = (V, E) (Groves et al., 2005) es una tupla que consiste de un conjunto no vaco de objetos denominados nodos (V) y una seleccin de pares de nodos llamados arcos (E) que pueden tener direccin o no. Un grafo se representa mediante una serie de puntos (los nodos) conectados por lneas (los arcos) que pueden tener un peso o un costo asociado. El problema del camino ms corto en grafos consiste en encontrar un camino entre dos nodos de tal manera que la suma de los costos de los arcos que lo constituyen sea mnima. Un ejemplo comn es encontrar el camino ms corto para ir de una ciudad a otra. En este caso, los nodos representan las ciudades y los arcos las carreteras que las unen, cuya ponderacin (costo) puede ser la distancia o el tiempo que se emplea en atravesarlas. Uno de los algoritmos clsicos para determinar el camino ms corto de un nodo origen al resto de los nodos en un grafo es el de Dijkstra (1959). Su nombre se debe a Edsger Dijkstra. En la vida cotidiana existen problemas relacionados directamente al recorrido de una ruta. Este tipo de problemas se pueden representar mediante grafos y dependiendo del problema es la forma en que se deben recorrer los arcos o los nodos para dar una solucin. Ejemplo de este tipo de problemas es el conocido como Problema del Cartero Chino (CPP, por sus siglas en ingls) (Pearn et al.,1995) el cual consiste en encontrar el camino cerrado (o circuito) ms corto que visite cada arco de un grafo no dirigido. Cuando el grafo tiene un circuito euleriano, los arcos se visitan exactamente una sola vez para encontrar la solucin. Sin embargo, en general no siempre se tienen grafos con circuitos eulerianos. Un circuito euleriano se observa en la Fig. 1.1. Otro problema clsico es el denominado Problema del Cartero Rural (RPP, por sus siglas en ingls) que es un caso especial del CPP, que consiste en determinar el costo mnimo de recorrer un subconjunto T (T E) de arcos requeridos en un grafo G = (V, E). La particularidad del RPP es que el subconjunto de arcos requeridos se deben visitar al menos una vez. Existen variantes del problema donde los arcos pueden ser dirigidos (DRPP, por sus siglas en ingls), no dirigidos (URPP, por sus siglas en ingls) o mezclados (MRPP, por sus siglas en ingls). El inters por estudiar el RPP en cualquiera de sus variantes se debe a que pertenece a los problemas conocidos como NP-completos. De manera general se puede decir que 5

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

este tipo de problemas se caracteriza porque el tiempo que tarda en dar una solucin ptima es exponencial respecto al nmero de nodos y arcos del grafo. Por tal motivo, se han desarrollado mtodos heursticos (que no siempre devuelven la solucin ptima) para dar una respuesta al RPP. En esta tesis se abordar el URPP. La propuesta para resolver el URPP de esta tesis consiste en el diseo de un algoritmo hbrido que combina sus operadores genticos (seleccin, cruza y mutacin) con el algoritmo propuesto por Groves et al. (2005) para cambiar el sentido de recorrido de los arcos requeridos y tratar de dar una mejor solucin al URPP. Para entender cmo funciona un algoritmo gentico, a continuacin se describen qu son, cmo funcionan y en qu consisten los operadores genticos.

Fig. 1.1 Circuito para la aplicacin del CPP. Las flechas denotan el orden de recorrido del grafo. (http://mathworld.wolfram.com/EulerianCycle.html) 1.1 Algoritmos Genticos Los algoritmos genticos (GA, por sus siglas en ingls) son algoritmos de bsqueda y optimizacin cuyo mecanismo de funcionamiento est basado en la evolucin natural 6

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

(Goldberg, 1989). Los GA combinan de manera aleatoria cadenas estructuradas (cromosomas) simulando a la naturaleza dando como resultado nuevas generaciones de cadenas que se espera superan a las anteriores en funcin de su fitness (funcin evaluadora de calidad de un individuo para aproximar la solucin). En los aos 70 John Holland (Holland, 1975) fue el primero que propuso llevar esta estrategia de actuacin al campo de la computacin y tratar de disear sistemas artificiales con un comportamiento anlogo al del sistema evolutivo natural. Esta propuesta trajo consigo el nacimiento de lo que hoy se conoce como algoritmos genticos. Un algoritmo gentico es un algoritmo probabilstico que mantiene una poblacin de individuos P(t) donde t representa un nmero de iteraciones. Cada uno de los individuos constituye una solucin potencial del problema, representada mediante alguna estructura de datos. Cada una de estas potenciales soluciones se evala para obtener una medida de su calidad como solucin. Posteriormente, se construye una nueva poblacin (iteracin t+1) mediante un proceso de seleccin en P(t) de manera que los mejores individuos tienen mayor probabilidad de ser seleccionados. A continuacin se altera esta nueva poblacin mediante la aplicacin de ciertos operadores genticos. Estos operadores genticos pueden ser unarios (mutaciones) produciendo nuevos individuos mediante pequeos cambios o no unarios combinando dos o ms individuos (cruces) para producir unos nuevos. As se obtiene finalmente una nueva poblacin P(t+1). Tras un nmero de iteraciones o generaciones es de esperar que el mejor individuo de la poblacin final obtenida represente una solucin ptima del problema buena. Se puede decir que los algoritmos genticos difieren de los principales mtodos tradicionales de optimizacin en cuatro puntos fundamentales (Goldberg, 1989): 1. Los algoritmos genticos trabajan con codificaciones de los puntos del espacio de bsqueda en lugar de los puntos propiamente dichos. 2. Los algoritmos genticos buscan con una poblacin de puntos, no con un solo punto. 3. Los algoritmos genticos no utilizan derivadas ni otras propiedades de la funcin objetivo, sino nicamente la propia funcin objetivo. o al menos razonablemente

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

4. Los algoritmos genticos utilizan reglas de transicin de probabilidad, no reglas determinsticas. 1.1.1 Representacin del Cromosoma

El primer paso de un algoritmo gentico es codificar a un individuo como una cadena de longitud finita. Cada individuo representa una solucin al problema tratado y consiste del fenotipo (el o los parmetros decodificados) y el genotipo (el cromosoma artificial o cadena). Existen diferentes formas de codificar una solucin, la ms utilizada es la codificacin binaria que consiste en representar el fenotipo mediante una cadena de 0s y 1s (genotipo). Sin embargo, tambin se pueden utilizar otro tipo de representaciones que se forman en funcin de las caractersticas del problema a resolver. Goldberg (1989) presenta dos principios para elegir la codificacin. El principio de construccin de bloques significativos y el principio de alfabeto mnimo. El principio de construccin de bloques significativos establece que el experimentador debe seleccionar una codificacin de tal forma que sea relevante al problema que se esta resolviendo. Por otro lado, el principio de alfabeto mnimo establece que el experimentador debe seleccionar el menor alfabeto que permita expresar de forma natural el problema. Por ejemplo, si se tiene un problema en donde el fenotipo esta dado por los nmeros naturales entre el 1 y el 64, se puede utilizar como genotipo la representacin binaria del nmero. En este caso el nmero 1 estara representado por la cadena 0000001, y el 64 por la cadena 1000000. En esta tesis se utilizar el principio del alfabeto mnimo para representar las soluciones al URPP y utilizaremos tambin el trmino cromosoma para denotar el genotipo de un individuo, asumiendo que el fenotipo esta implcito por el dominio del problema a resolver. 1.1.2 Operadores Genticos Un algoritmo gentico, en su expresin ms simple, est compuesto de tres operadores bsicos, llamados operadores genticos, que se aplican sobre los cromosomas. Estos operadores son: Seleccin, Cruza y Mutacin.

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

1.1.3 Seleccin El operador seleccin es una versin artificial del concepto de seleccin natural de Darwin (1859). Su idea principal es la de seleccionar preferentemente los mejores individuos. Por supuesto, si slo se eligieran los mejores individuos en forma repetida de la poblacin inicial para generar descendencia, se esperara que los nuevos individuos fuesen mejores que la primera generacin. Sin embargo, esto no es siempre as debido a que los individuos pueden representar soluciones locales y no avanzar a la solucin global; por lo tanto la seleccin de los mejores no es suficiente y deben hallarse los medios para crear nuevos y posiblemente mejores individuos. La seleccin se basa en una funcin llamada funcin objetivo (fitness) que est asociada al beneficio, utilidad o bondad que desea optimizarse; as las soluciones ms prximas al ptimo (individuos mejor adaptados) tienen mayor probabilidad de sobrevivir y ser elegidos (seleccionados) para reproducirse. El operador seleccin aporta mayor supervivencia a los mejores individuos, en trminos del problema. Existen varios mecanismos de seleccin, los ms frecuentemente utilizados son: Seleccin de ruleta (Holland, 1975). Consiste en que a cada individuo de la poblacin se le asigna una parte proporcional al porcentaje de su funcin fitness de tal forma que la suma de todos los porcentajes sea la unidad. Seleccin por truncamiento, tambin llamada por proporcin (Hancock et al., 1994). Los individuos candidatos son ordenados segn su fitness y una proporcin p (por ejemplo p = 1/2, 1/3, 1/4). Los individuos seleccionados se reproducen 1/p veces. Seleccin basada en ranking (Baker, 1985). En esta seleccin los individuos se ordenan segn su fitness y posteriormente se les asigna un segundo fitness inversamente proporcional a su posicin en el ranking otorgando una mayor probabilidad a los mejores. Seleccin por torneo (Miller et al., 1995). Se efecta mediante la comparacin entre un subconjunto pequeo de individuos elegidos al azar desde la poblacin. En este trabajo de tesis el mtodo de seleccin implementado es seleccin por torneo donde se efecta una comparacin entre un pequeo subconjunto de individuos elegidos 9

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

al azar desde la poblacin. Los beneficios de este tipo de seleccin son la velocidad de aplicacin (dado que no es necesario evaluar ni comparar la totalidad de la poblacin) y la prevencin, en cierto grado, de una convergencia prematura (convergencia de la poblacin antes del tiempo necesario para llegar al ptimo) (Bck et al., 2000). 1.1.4 Cruza La cruza es un operador gentico que combina porciones de individuos seleccionados de la poblacin para formar nuevos descendientes. Existen varias tcnicas de cruza, entre ellas se tienen: Cruza en un punto. A este tipo de cruce se suele referirse con el nombre de SPX (Single Point Crossover). Es la ms sencilla de las tcnicas de cruce. Una vez seleccionados dos individuos se cortan sus cromosomas por un punto seleccionado aleatoriamente, para generar dos segmentos diferenciados en cada uno de ellos: la cabeza y la cola. Se intercambian las colas entre los dos individuos para generar los nuevos descendientes. De esta manera ambos descendientes heredan informacin gentica de los padres, tal y como puede verse en la figura Fig. 1.2. Padre 1 Padre 2 A 1 B 2 C 3 D 4 E 5 A 1 B 2 3 C 4 D 5 E Hijo 1 Hijo 2

Fig. 1.2 Ejemplo de cruza de un punto. En el ejemplo el punto de cruza esta representado mediante la porcin no sombreada y la sobreada. Cruza en dos puntos. A este tipo de cruce se suele referir con las siglas DPX (Double Point Crossover). Se trata de una generalizacin del cruce de un punto en vez de cortar por un nico punto los cromosomas de los padres, como en el caso anterior se realizan dos cortes. Se debe tener en cuenta que ninguno de estos puntos de corte coincida con el extremo de los cromosomas para garantizar que se originen tres segmentos; para generar la descendencia se escoge el segmento central de uno de los padres y los segmentos laterales del otro padre. Un ejemplo de esta cruza se puede observar en la Fig. 1.3

10

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Padre1 Padre2

A 1

B 2

C 3

D 4

E 5

hA 1

2 B

3 C

D 4

E 5

Hijo 1 Hijo 2

Fig. 1.3 Ejemplo de cruza de dos puntos. En el ejemplo los puntos de cruza estn representados mediante las regiones sombreadas y no sombreadas. Cruza uniforme. A este tipo de cruce se suele referir con las siglas UPX (Uniform Point Crossover). Cada gen (cada uno de los elementos que conforman la cadena o individuo) de la descendencia tiene las mismas probabilidades de pertenecer a un nuevo individuo. Aunque se puede implementar de muy diversas formas, la tcnica implica la generacin de una mscara de cruce con valores binarios. Si en una de las posiciones de la mscara hay un 1, el gen situado en esa posicin en uno de los descendientes se copia del primer padre. Si por el contrario hay un 0 el gen se copia del segundo padre. Para producir el segundo descendiente se intercambian los papeles de los padres, o bien se intercambia la interpretacin de los unos y los ceros de la mscara de cruce. Un ejemplo se muestra en a Fig. 1.4. Mscara Padre 1 1 A 0 B 0 C 1 D 0 E 1 F 1 G

Hijo 1

Padre 2

Fig. 1.4 Ejemplo de Cruza Uniforme. En este ejemplo se muestra como se genera uno de los nuevos hijos. El otro hijo se puede generar de forma similar. -

Corte y empalme. Otra variante de cruza es el enfoque "cortar y empalmar",


ocasiona un cambio de la longitud del cromosoma de los hijos. La razn para esta diferencia es que se selecciona un punto de corte diferente para cada cromosoma parental. El ejemplo se muestra en la Fig. 1.5

11

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Padre 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 0 0 Padre 2 1 0

Hijo 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1

Hijo 2 1 0 1 0

Fig. 1.5 Ejemplo cruza corte y empalme. Cruza PMX (Partially Mapped Crossover). Fue propuesto por Goldberg y Lingle en 1985. Consiste en elegir aleatoriamente dos puntos de cruza e intercambiar los dos segmentos que se generan en los hijos (como la cruza de dos puntos convencional), el resto de la cadenas que conforman a los hijos se obtienen haciendo un mapeo entre los dos padres: si un valor no est contenido en el segmento intercambiado, permanece igual; si est contenido en el segmento intercambiado, entonces se sustituye por el valor que tenga dicho segmento en el otro padre. El ejemplo se muestra en la Fig. 1.6 Padre 1 9 8 4 5 6 7 1 3 2 10 Hijo 1 X X X 2 3 10 X X X X Padre2 8 7 1 2 3 10 9 5 4 6 Hijo 2 X X X 5 6 7 X X X X

Para completar al Hijo 1 e Hijo 2 se copian los valores que no estn en el segmento intercambiado. Hijo 1 9 8 4 2 3 10 1 X X X Finalmente se mapean los valores restantes: Hijo 1 9 8 4 2 3 10 1 6 5 7 Hijo 2 8 10 1 5 6 7 9 2 4 3 Hijo 2 8 X 1 5 6 7 9 X 4 X

Fig. 1.6 Ejemplo de cruza PMX 12

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

1.1.5 Mutacin Este operador gentico se usa para mantener la diversidad gentica de una poblacin y es anlogo a la mutacin biolgica. Un ejemplo clsico de operador de mutacin consiste en la modificacin del cromosoma del individuo en un algoritmo gentico. Esta modificacin se efecta con una probabilidad preestablecida, llamada probabilidad de mutacin. El propsito de la mutacin es proveer un mecanismo para escapar de los ptimos locales, as como desplazar a los individuos hacia zonas del espacio de bsqueda que no pueden ser alcanzarse por medio de otros operadores genticos. Los mtodos de mutacin empleados durante la experimentacin de este trabajo de tesis fueron: 2-Opt. Consiste en definir dos apuntadores en dos posiciones (diferentes) del cromosoma, intercambiar los elementos apuntados y avanzar los apuntadores una posicin haca el centro del cromosoma. Los pasos anteriores se repiten hasta que ambos apuntadores lleguen al centro del cromosoma. Si el cromosoma est representado mediante los arcos de un grafo, el mtodo consiste en intercambiar 2 arcos en el recorrido del grafo, generando un nuevo individuo. Un ejemplo de 2Opt se muestra en las Figuras 1.7a y 1.7b donde las flechas en la Figura 1.7b van indicando como se intercambian de posicin cada uno de los elementos del cromosoma, la flecha que apunta el nmero 5 indica que se han terminado de recorrer las posiciones y como no hay otro par con el cual intercambiar, el proceso termina.

Fig. 1.7a. Aplicacin del Mtodo 2-Opt en un grafo de 8 nodos.

13

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

1 2

3 4

5 6

7 8

1 2

7 4

5 6

3 8

1 2

6 5

3 8

1 2

7 6

5 4

3 8

Fig. 1.7b. Aplicacin del Mtodo 2-Opt en un individuo representado mediante una secuencia de puntos. 3-Opt. La explicacin del mtodo en un cromosoma representado por un arreglo de puntos puede consultarse en Groves et al. (2005). Si el cromosoma esta representado por un grafo, el mtodo consiste en intercambiar 3 arcos en el recorrido del grafo, generando un nuevo individuo. El ejemplo de los movimientos para 3-Opt se muestran en la Fig. 1.8 donde se eligen 3 arcos y estos cambian su recorrido.

Fig. 1.8 Aplicacin del Mtodo 3-Opt en un grafo de 5 nodos. El cromosoma para este grafo es la secuencia de sus etiquetas, es decir, 1,2,3,4,5 y 1,2,5,4,3. 4-Opt. La explicacin del mtodo en un cromosoma representado por un arreglo de puntos puede consultarse en Groves et al. (2005). Si el cromosoma esta representado por un grafo, el mtodo consiste en intercambiar 4 arcos en el recorrido del grafo, generando un nuevo individuo. Un ejemplo de 4-Opt se muestra en la Fig. 1.9 donde las lneas punteadas indican cuales sern los nuevos recorridos.

14

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Fig. 1.9 Aplicacin del Mtodo 4-Opt en un grafo de 6 nodos. El cromosoma para este grafo es la secuencia de sus etiquetas, es decir, 1,3,6,2,4,5 y 1,4,6,2,3,5.

Para llevar a la prctica el esquema anterior y concretarlo en un algoritmo, hay que especificar los siguientes elementos: 1. Representacin del cromosoma. En la mayora de trabajos las soluciones se representaban por cadenas binarias; es decir, cadenas de 0s y 1s. Para este trabajo de tesis la representacin utilizada ser con nmeros del sistema decimal del 0 al 9 ya que sta representacin resulta ms conveniente para el URPP, considerando que el cromosoma est representado por los arcos requeridos del grafo. En la Figura 1.10 se muestra un grafo en donde mediante elipses (que tienen un nmero en negrillas subrayado) estn indicados los arcos requeridos. El cromosoma que representa a los arcos requeridos estar dada por una secuencia de los nmeros 1,2,3,4,5,6 (el orden de la secuencia indica el orden en que se deben recorrer los arcos). Por lo tanto un gen del cromosoma es un arco del grafo, es decir en el ejemplo, el nmero 1 denota el arco (1,3), el nmero 2 el arco (4,5) y as sucesivamente. Es importante aclarar que para el caso del URPP el recorrido debe finalizar en el arco en donde se inicio, as que una secuencia que denota una solucin tiene que componerse de la secuencia 1,2,3,4,5,6,1. Es decir los extremos deben de coincidir. En la prctica, por lo regular, se omite el ltimo extremo asumiendo que el desarrollador conoce que debe considerarse el costo de ir de el ltimo arco de la secuencia al primero.

15

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Fig. 1.10 Arcos que se requieren visitar en un grafo.

2. Poblacin inicial. Es un conjunto de cromosomas que suele ser generado


aleatoriamente. Sin embargo, ltimamente se estn utilizando mtodos heursticos para generar soluciones iniciales de buena calidad. En este caso, es importante garantizar la diversidad estructural de estas soluciones para tener una "representacin" de la mayor parte de la poblacin posible o al menos evitar la convergencia prematura.

3. Funcin fitness. Se suele utilizar la calidad como medida de la bondad segn el


valor de la funcin objetivo. Para este trabajo de tesis la funcin medir el costo de recorrido de los arcos.

4. Criterio de seleccin. La seleccin de los padres est dada mediante


probabilidades segn su fitness.

5. Operaciones de cruza. Es aqu donde se aplican los tipos de cruza algunos de


ellos ya han sido mencionados y pueden realizarse mezclas aleatorias entre ellos, la seleccin del tipo de cruza a utilizar es de acuerdo a los resultados obtenidos en la experimentacin. El mtodo de cruza elegido para este trabajo de tesis es la cruza PMX ya que al aplicarlo con la representacin del cromosoma, y al realizar el cruce y el mapeo de cada uno de sus componentes ningn gen del cromosoma se repite. 6. Operaciones de mutacin. La aplicacin de cada uno de los mtodos de mutacin antes mencionados depende de la probabilidad de mutacin y de los resultados obtenidos en la fase de experimentacin. Para este trabajo de tesis se utilizaron los mtodos de mutacin 2-Opt, 3-Opt y 4-Opt para experimentar con ellos en la elaboracin del algoritmo hbrido. El mtodo utilizado por sus resultados fue el 2-Opt.

16

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Despus de conocer el funcionamiento de los algoritmos genticos, ahora se dar una explicacin del algoritmo propuesto por Groves et al. (2005) donde se hace el cambio de direccin al recorrido de los arcos. 1.2 Algoritmo del Camino ms Corto para el RPP propuesto por Groves et al. (2005) Este algoritmo, dada una configuracin de recorrido de los arcos requeridos, construye todos los posibles sentidos de recorrido de los arcos con el fin de encontrar el de costo mnimo. Por ejemplo, sea S1 = { (1, 3), (2, 3), (4, 5), (6, 5), (9, 8), (7,8) } el conjunto que representa los arcos requeridos de la Figura 1.10. Un posible recorrido de los arcos es (1, 3), (2, 3), (4, 5), (6, 5), (9, 8), (7,8), es decir, se visita el nodo (1,3) en el sentido nodo origen 1 y nodo destino 3; posteriormente, se busca la ruta ms corta del nodo 3 al nodo 2 y luego se recorre el arco (2,3) en ese orden y as sucesivamente. Sin embargo, otro posible recorrido es (3, 1), (2, 3), (4, 5), (6, 5), (9, 8), (7,8), es decir, el arco (3,1) se recorre tomando como nodo origen el 3 y destino el 1, a continuacin se busca la ruta ms corta del nodo 1 al 2 y as sucesivamente. Este algoritmo se conoce como de bsqueda local ya que slo considera configuraciones cercanas a la que se da como entrada. En este trabajo de tesis, se experiment combinando este algoritmo con un algoritmo gentico para encontrar soluciones al URPP. Formalmente, sea S = { !!! , !!! , , !!! , !!! , , , (!!! , !!! , )} la secuencia de arcos que deben recorrerse en un grafo ! = (!, !), donde el costo total de recorrer estos arcos est dado por:
! !!!

! ! =
!!!

! !! , !! +
!!!

! !! , !!!!

+ !(!! , !! )

donde !(!! , !! ) denota la distancia ms corta entre los nodos !!! , !!! ! y ! !! , !! el costo asociado con el arco !!! , !!! , . Como primer paso, en el algoritmo de Groves et al. (2005) aplica el mtodo 2-Opt (Flood, 1956 y Croes, 1958) o 3-Opt (Bock, 1958 y Lin, 1965) a una secuencia de recorrido para el URPP. La aplicacin de los mtodos 2-Opt y 3-Opt se muestra en las Fig. 1.11a y Fig. 1.11b, respectivamente.

17

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Fig. 1.11a Mtodo 2-opt. En este grafo, la secuencia de arcos que se desea recorrer esta dada por S = {0, !!! , !!! , , !!! , !!! , , !!! , !!! , , !!! , !!! , !!! , !!! }. Es decir, cada nodo indica un arco del grafo original as como el orden de recorrido del arco. Por ejemplo, el nodo s1t1 indica que el arco se debe recorrer partiendo del vrtice !!! . Las flechas entre los nodos indican el orden de recorrido de los arcos, es decir, despus de recorrer el arco !!! , !!! se debe recorrer el arco !!! , !!! . Despus de aplicar 2-Opt, el orden de recorrido de los arcos cambia, es decir, despus de recorrer el arco !!! , !!! se debe recorrer el arco !!! , !!! . Las lneas punteadas indican el nuevo orden e recorrido de los arcos. Imagen extrada de Groves et al. (2005).

Fig. 1.11b Mtodo 3-opt. El procedimiento es similar a la Fig. 11a. Imagen extrada de Groves et al. (2005).

18

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Como segundo paso se tiene que determinar la direccin de costo mnimo del recorrido. Sea ! = { !!! , !!! , !!! , !!! , , (!!! , !!! )} la secuencia de arcos que deben recorrerse en un grafo G = (V, A), en donde el orden de recorrido est establecido por los nodos que componen los arcos. Es decir, el arco !!! , !!! se recorre tomando como nodo origen a !!! y nodo destino a !!! . A partir de dicho recorrido se construye un grafo auxiliar dirigido L con un conjunto de nodos dados por V(L) = {b, s1t1, t1s1, s2t2, t2s2, , sntn , tnsn, e} como el que se muestra en la figura 1.12; donde una capa interna de ese grafo consiste de un solo vrtice (nodos b y e) y las otras constan de dos vrtices. Cada capa interna del grafo representa las dos posibles direcciones de recorrido !!! , !!! y !!! , !!! para un arco en S. Los puntos b y e de la Fig. 1.12 representan los vrtices de inicio y fin de la ruta, respectivamente.

Fig. 1.12 Capas del grafo L perteneciente al recorrido ! = { !!! , !!! , , !!! , !!! , , , (!!! , !!! , )}. Imagen extrada de Groves et al. (2005). De la Fig. 1.12 para cada i (0 < i < n) se construyen arcos para el grafo dirigido L desde siti hasta si+1ti+1 y ti+1si+1, y desde tisi hasta si+1ti+1 y ti+1si+1. Adems se agregan arcos dirigidos desde b hasta s1t1 y t1s1 y desde sntn y tnsn hasta e. Posteriormente, se calculan los costos d(ti,si+1), d(si,ti+1), d(ti,ti+1) y d(si,si+1), donde d(si,tj) denota el costo del camino mas corto desde !!! hasta !!! . A continuacin se describe el algoritmo propuesto por Groves et al. (2005).

19

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Algoritmo 1 (Groves et al., 2005) Entradas: Grafo ! transformado como se muestra en la Fig. 1.12. !"(!, !) denota el costo del arco (!, !) ! Salidas: Camino ms corto de b a e en el grafo !; donde dL(b, e) es la distancia ms corta desde b hasta e en el grafo !. 1. dL (b, s1t1) wL (b, s1t1), dL (b, t1s1) wL (b, t1s1), pred(s1t1) b, pred(t1s1) b. 2. For i 2, , n: 2a. val1 dL (b, si-1ti-1) + wL (si-1ti-1, siti), val2 dL (b, ti-1si-1) + wL (ti-1si-1, siti). 2b. if (val1 < val2) then {dL (b, siti) val1, pred(siti) si-1ti-1 } else {dL (b, siti) val2, pred(siti) ti-1si-1 }. 2c. val1 dL (b, si-1ti-1) + wL (si-1ti-1, tisi), val2 dL (b, ti-1si-1) + wL (ti-1si-1, siti). 2d. if (val1 < val2) then {dL (b, tisi) val1, pred(tisi) si-1ti-1 } else {dL (b, tisi) val2, pred(tisi) ti-1si-1 }. 3. val1 dL (b, sntn) + wL (sntn, e), val2 dL (b, tnsn) + wL (tnsn, e) if (val1 < val2) then {dL (b, e) val1, pred(e) sntn } else {dL (b, e) val2, pred(e) tnsn }.

En este trabajo de tesis se toman como referencia y comparacin las 24 instancias de Christofides et al. (1986) listadas en la tabla 1.1, ya que proporcionan el valor ptimo para cada una de las instancias de los grafos y han sido utilizadas en otras publicaciones para experimentar con nuevas propuestas. Dado que la hiptesis que motiva este trabajo es: La propuesta de Fonseca (2008) puede ser mejorada para validar su eficacia empleando el conjunto completo de prueba propuesto por Chirstofides (1986)., a continuacin se describe en qu consiste la propuesta de Fonseca (2008) ya que este trabajo tiene como objetivo general: Proponer operadores adecuadas para la implementacin del algoritmo gentico propuesto por Fonseca (2008) para validar si mejora las soluciones del conjunto de prueba de Christofides (1986).

20

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Instancia |V| |E| |Er| ptimo 1 11 13 7 76 2 14 33 12 152 3 28 58 26 102 4 17 35 22 84 5 20 35 16 124 6 24 46 20 102 7 23 47 24 130 8 17 40 24 122 9 14 26 14 83 10 12 20 10 80 11 9 14 7 23 12 7 18 5 19 13 7 10 4 35 14 28 79 31 202 15 26 37 19 441 16 31 94 34 203 17 19 44 17 112 19 33 55 29 257 20 50 98 63 398 21 49 110 67 366 22 50 184 74 621 23 50 158 78 475 24 41 125 55 405 Tabla 1.1 Instancias de Christofides et. al (1986) para el URPP. |V| representa el nmero de vrtices del grafo, |E| el nmero de arcos del grafo, |Er| el nmero de arcos que requieren ser recorridos y ptimo la distancia ptima de recorrer los arcos en Er. 1.3 Algoritmo para realizar post-optimizacin, dada una solucin inicial factible Fonseca (2008) presenta una propuesta de representacin de cromosoma para resolver el URPP en donde despus de aplicar ruleta como operador de seleccin, PMX como operador de cruza y mutacin inversa, aplica el algoritmo de Groves et al. (2005) para mejorar los elementos de la poblacin obtenidos hasta ese momento. Este proceso se repite por un nmero de generaciones definido por el autor. El algoritmo propuesto por Fonseca (2008) consiste de 3 pasos: Paso1: Uso de un grafo no dirigido Transformacin de un grafo no dirigido en un grafo completo no dirigido. 21

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Para ilustrar esta transformacin, en la Fig. 1.13 se muestra un grafo que contiene 10 nodos, 6 arcos requeridos (denotados por las lneas continuas) y 18 arcos no requeridos (denotados por las lneas punteadas). El grafo transformado es aquel que contiene los arcos requeridos y adems todos los nodos quedan comunicado entre si con el menor costo. El grafo transformado se muestra en la Fig. 1.14. La siguiente lista muestra los arcos requeridos y no requeridos del grafo as como el costo de cada uno.
Lista de arcos no requeridos (0,1) costo 5 (0,3) costo 4 (0,8) costo 6 (1,4) costo 2 (1,6) costo 3 (1,7) costo 3 (1,9) costo 3 (2,4) costo 3 (9,7) costo 8 (2,6) costo 2 (2,9) costo 2 (4,9) costo 3 (6,9) costo 3 (6,7) costo 2 (5,8) costo 3 (3,8) costo 3 Lista de arcos requeridos (1,3) costo 1 (3,2) costo 1 (9,8) costo 1 (8,7) costo 1 (6,5) costo 1 (5,4) costo 1

Fig. 1.13 Grafo no dirigido. Imagen extrada de Fonseca (2008).

Fig. 1.14 Grafo transformado. Imagen extrada de Fonseca (2008).

22

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

A partir del grafo de la Fig. 1.14 se construye una matriz de distancias mnimas entre cualquier para de nodos utilizando el algoritmo de Dijsktra (1959).
Distancias entre nodos requeridos 1 2 3 4 5 6 7 8 9 1 0 2 1 2 3 3 3 4 3 2 2 0 1 3 3 2 4 3 2 3 1 1 0 3 4 3 4 3 3 4 2 3 3 0 1 2 3 4 3 5 3 3 4 1 0 1 3 3 4 6 3 2 3 2 1 0 2 3 3 7 3 4 4 3 3 2 0 1 2 8 4 3 3 4 3 3 1 0 1 9 3 2 3 3 4 3 2 1 0

Tabla 1.2 Distancias entre los nodos requeridos de la Fig. 1.15 (Fonseca, 2008) Paso 2: Realizar una pre-optimizacin utilizando algoritmos genticos Se genera una poblacin inicial aleatoria. El fitness (costo de recorrer los arcos requeridos) se obtiene utilizando el algoritmo de la ruta ms corta de Dijsktra (1959). Se seleccionan los padres a travs del mtodo de la ruleta. Se cruzan los padres utilizando el operador PMX (Partially Matched Crossover). Se realizan perturbaciones a la poblacin (mutaciones) utilizando inversiones parciales. Para la fase de pre-optimizacin el grafo se convierte en un grafo Hamiltoniano para poder aplicar el algoritmo del camino ms corto para el URPP (Groves et al. 2005), as, cada arco requerido se considera como un nuevo nodo o vrtice. Un ejemplo se muestra en la Fig. 1.15.

23

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Fig. 1.15 Representacin para obtener el Grafo Hamiltoniano. Los arcos requeridos agrupados en elipses (referenciados a lo largo de la tesis por su etiqueta con nmero decimal), representan los nodos del grafo Hamiltoniano. Por cada par de nodos del Hamiltoniano se crea un arco. El costo de cada arco esta dado por el camino mas corto entre ellos. Imagen extrada de Fonseca (2008) A continuacin se construye el grafo L mencionado en el algoritmo de Groves et al. (2005) a partir de una posible solucin dada. Por ejemplo, al recorrer el grafo de la Fig. 1.15, se obtiene el grafo de la Fig. 1.16 donde se realiza una bsqueda local para determinar la distancia mnima del recorrido del grafo L desde el punto A al punto N.

Fig. 1.16 Ruta ms corta para el grafo L. Imagen extrada de Fonseca (2008). Finalmente, el algoritmo gentico se aplica a una poblacin generada con el procedimiento anterior. Paso 3: Se realiza una post-optimizacin utilizando 2-Opt. A la mejor ruta obtenida con el algoritmo gentico se le aplica 2-Opt para tratar de mejorar su costo. Si al realizar los cambios con 2-Opt resulta que se mejora el costo se adopta como nueva solucin. En caso contrario, se conserva el resultado que se haba encontrado. 24

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

En el siguiente captulo se mencionan trabajos previos que han intentado dar solucin al URPP empleando diferentes mtodos y que estn relacionados con el mtodo aqu propuesto.

25

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

CAPTULO II Trabajos previos

Los esfuerzos por dar una mejor solucin al RPP se reflejan en el nmero de aplicaciones directamente relacionadas al problema. Son diversos los mtodos que se han propuesto esperando obtener mejoras que sirven de punto de comparacin con otras investigaciones.

A continuacin se mencionan mtodos heursticos que han abordado el problema del URPP. Los mtodos heursticos que se describen se eligieron debido a que tienen una relacin directa o bien utilizan mtodos similares al aqu propuesto. Prez-Delgado (2007) emple el mtodo conocido como sistema de colonia de hormigas (ACS, por sus siglas en ingls) para proponer una solucin al RPP. El ACS imita el comportamiento natural de las hormigas en donde ellas depositan en el suelo una sustancia qumica llamada feromona que sirve como gua para que otras hormigas sigan el mismo camino acumulando ms feromonas. Como primera fase para aplicar la solucin propuesta se transform el RPP al TSP tomando en cuenta la descripcin de ambos problemas, donde el subgrafo que se construye es completamente ponderado y el camino ms corto entre cada par de nodos se obtuvo aplicando el algoritmo de Floyd. En la segunda fase se aplic el algoritmo ACS al Problema del Agente Viajero (TSP, por sus siglas en ingls) utilizando una regla de transicin llamada regla de proporciones pseudo-aleatoria en donde una hormiga es situada en un nodo inicial del grafo con un parmetro aleatorio uniformemente distribuido en un cierto intervalo. El siguiente nodo en el recorrido es seleccionado aleatoriamente por medio de una distribucin de probabilidad uniforme; a continuacin se selecciona la mejor solucin respecto al sendero de feromona. La feromona se actualiza localmente cuando una hormiga construye una solucin y se actualiza globalmente cuando finaliza una iteracin. Este algoritmo incluye una etapa en donde aplica un intercambio al mejor recorrido encontrado por una hormiga con el mtodo 2-Opt. Para esta etapa se aplic con anterioridad una actualizacin a la feromona, esto con el fin de obtener el recorrido ms corto en el cual algunas secciones del camino haban sido modificadas.

26

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Finalmente en la tercera fase, a la solucin obtenida para el TSP se le realiza una transformacin para asociarla al RPP. El algoritmo se aplic a las instancias definidas por Christofides et al. (1986), los resultados obtenidos se muestran en la Tabla 2.1 donde cada problema se ejecut 55 veces con los siguientes parmetros = 1 ! = 2 (donde y son influencia relativa de feromona) = L = 0.1, q0 = 0.9 (donde es el factor de evaporacin de la feromona, L es la actualizacin local de la feromona y q0 es un valor aleatorio en el intervalo de [0, 1]). Problema P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 OPT 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 147 257 398 366 621 475 405 ANTS 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 146 261 424 395 658 511 415 %OP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.5 4.6 7.3 5.6 8.1 2.4 AV 76 152.56 118.53 88.78 131.29 108.11 143.95 129.13 83.65 80 23 19 35 226.96 452.95 229.04 113.82 148.09 289.42 510.67 470.11 787.67 579.73 479.75 DES 0.00 0.94 6.51 2.39 2.74 2.87 6.15 3.35 0.89 0.00 0.00 0.00 0.00 8.67 8.77 10.13 1.42 1.60 10.61 21.82 19.21 26.39 17.62 22.34 T (sec) 0.35 0.64 0.80 0.65 0.64 0.51 0.93 0.65 0.35 0.47 0.18 0 0.18 1.82 0.63 2.41 0.64 0.35 0.96 7.12 8.12 15.8 10.3 8.4

Tabla 2.1. Resultados obtenidos por el algoritmo ACS. OPT representa el valor del ptimo conocido. ANTS es la mejor solucin obtenida por este mtodo. %OP es el porcentaje de diferencia contra el valor ptimo. AV y DES son el promedo y la desviacin estandar de los valores obtenidos con este mtodo. T es el tiempo promedio en segundos que toma en que el mtodo d una respuesta. Extrada de Prez-Delgado (2007). Baldoqun (2004) propone un mtodo hbrido basado en GRASP (Greedy Randomized Adaptative Search Procedure) (Feo y Resende, 1995), Recocido Simulado (RS) y 27

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Algoritmos Genticos (AG) para resolver el URPP. El mtodo consiste en dos fases, en la primera se genera una solucin inicial con GRASP la cual es la entrada al algoritmo de RS. En la segunda se construye una poblacin inicial con las mejores soluciones obtenidas de RS. Esta poblacin es la entrada al AG propuesto. Para validar su propuesta se tomaron como base las 24 instancias que se describen en Christofides et al. (1986). En la Tabla 2.2 se muestran los resultados estadsticos obtenidos con 30 repeticiones para probar con cada instancia, donde se describe el peor resultado obtenido, el mejor alcanzado, valor de la media y la desviacin estndar; las columnas Q1 y Q3 son los percentiles (valores de la variable que estn por debajo de un porcentaje). Inst. P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 Opt. 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 147 257 398 366 621 475 405 Peor 76 156 109 86 127 107 132 125 83 84 23 19 35 208 448 214 114 158 277 404 376 647 446 407 Repet. ptimo 30 29 12 21 29 21 26 23 30 28 30 30 30 25 29 14 29 23 14 11 9 5 15 21 Media 76 152.1 104.9 84.6 124.1 102.9 130.3 122.3 83 80.3 23 19 35 202.8 441.2 204.7 112.1 149.0 265.1 399.7 369.6 626.1 477.3 405.3 Mediana 76 152 107 84 124 102 130 122 83 80 23 19 35 202 441 205 112 147 264.5 400 370 623 475.5 405 Desv 0.00 0.73 2.52 0.93 0.55 1.62 0.69 0.65 0.00 1.01 0.00 0.00 0.00 1.95 1.28 2.31 0.37 3.81 8.17 1.58 2.89 6.72 4.28 0.55 Q1 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 147 257 398 366 622 475 405 Q3 76 152 107 86 124 104 130 122.2 83 80 23 19 35 202 441 205.2 112 148 274 400 372 631.5 477.2 406

Tabla 2.2. Resultados estadsticos para cada instancia. Extrada de Baldoqun (2004). La propuesta de Rodrigues et al. (2001) es combinar un algoritmo gentico con un algoritmo memtico (para bsqueda local). La representacin de una ruta consiste de 13 28

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

individuos con soluciones iniciales representadas en un rbol ternario de 3 niveles donde cada nodo del rbol representa a un individuo. Cada poblacin est conformada por un nodo lder y tres nodos partidarios o seguidores; el nodo lder siempre es mejor que sus seguidores o partidarios. Para mejorar la poblacin cada individuo hace uso de dos rutas, la primera contiene la mejor ruta encontrada y la segunda la ruta actual. La propuesta de Rodrigues et al. (2001) fue evaluado con la aplicacin industrial Complex path planning. Kang et al. (1998) proponen un algoritmo gentico para resolver el URPP. Como primer paso, el grafo original se transforma en un grafo Hamiltoniano. Posteriormente se construye un nuevo grafo cuyos nodos constituyen los arcos requeridos para luego conectar los nodos con los caminos ms cortos encontrados en el mismo grafo Hamiltoniano. Adicionalmente, mientras se lleva a cabo la transformacin, los nodos del nuevo grafo se insertan en tablas que son utilizadas por un mtodo llamado decoding. El mtodo decoding es utilizado para obtener la solucin final. El tamao de la poblacin fue de 100 individuos durante 1000 generaciones. El mtodo de seleccin fue el de ruleta y el mtodo de cruza fue PMX con un rango de probabilidad de 0.6 a 0.8. Para el operador de mutacin se utilizaron dos mtodos, el mtodo de intercambio recproco con una probabilidad de 0.03 a 0.04, y mutacin por inversin con la misma probabilidad. Antes de aplicar la transformacin del grafo, este algoritmo gentico fue ejecutado con la estructura existente del cromosoma (ECS, por sus siglas en ingls), que consiste en dos tipos de cadenas; una para describir el orden en que deben ser visitados los arcos requeridos y la otra representa un conjunto de cdigos binarios para describir la direccin del recorrido. La otra variacin para la ejecucin fue con la estructura propuesta para el cromosoma (PCS, por sus siglas en ingls) que consiste en transformar el grafo original en un grafo hamiltoniano donde la distancia mnima entre los arcos requeridos es calculada por el algoritmo de Dijkstra. PCS obtuvo mejores resultados que ECS, y PCS se ve menos afectado por factores escalares que ECS. En la Tabla 2.3 se muestran los resultados obtenidos con la comparacin entre ECS y PCS con los valores estadsticos de mejor, peor, promedio y moda; donde el nmero entre parntesis denota la frecuencia. El nmero total de parmetros de combinacin fueron 36 y cada uno fue probado en 8 problemas diferentes con los valores de los operadores genticos antes descritos.

29

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Problema 1 2 3 4 5 6 7 8 Peor 26 963.55 34 Costos de ECS Mejor Prom 22 22.58 955.34 31 956.71 31.52 Costos de PCS Mejor Prom 22 22

1722.57 1167.04 1397.91 1420 50 920 36 1088.88 38.55 935.93

1041.51 908.17

2336.39 2024.26 2138.49

Moda 22 (27) 955.34 (30) 31 (26) 1327.88 (2) 1040 (8) 36 (27) 912.03 (15) 2074.26 (17)

Moda 22 (36) 955.34 955.34 955.34 955.34 (36) 31 31 31 31 (36) 1176.67 1615.72 1137.5 1261.56 (2) 920 (9) 36 (35) 913.07 953.19 908.17 914.91 (12) 2024.26 2074.26 2024.26 2027.04 (34) 1080 38 920 36 966.11 36.05

Peor 22

Tabla 2.3. Comparacin de resultados entre ECS y PCS. Extrada de Kang et al. (1998). Pearn et al. (1995) retoman la propuesta presentada por Christofides et al. (1986) para dar solucin al RPP. Inicialmente se construye el primer algoritmo denominado Christofides algorithm que consiste de tres fases. En la primera fase Graph transformation, se tiene un subgrafo conformado por los arcos requeridos y sus nodos. En esta fase se transforma el grafo original en un grafo completo agregando arcos entre cada par de nodos. Para llevar a cabo la transformacin se agregan arcos artificiales donde el costo de estos arcos est dado por el valor del camino ms corto entre el nodo origen y el nodo destino. Una vez que se ha transformado en un grafo completo se realiza una simplificacin eliminando todos los arcos que estn en paralelo y tienen el mismo costo. En la segunda fase, denominada Minimal spanning tree (MST) se encuentra el rbol de expansin mnima a partir del grafo transformado. El costo de los nuevos arcos se define como la distancia mnima entre el nodo origen y el nodo destino. Finalmente, en la tercera fase, denominada Minimal-cost matching (MCM) se obtiene un grafo euleriano donde la suma del costo de sus arcos es la solucin al RPP. Al analizar el rendimiento del algoritmo del Christofides se lleg a la conclusin de que el algoritmo de la fase uno (graph transformation) contribuye muy poco a obtener una solucin eficiente, por lo que se hicieron modificaciones al algoritmo para generar mejores soluciones realizando un nuevo clculo de las distancias mnimas agregando un parmetro de penalizacin , dando como resultado dos nuevos algoritmos; Modified Christofides y Reverse Christofides. 30

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Modified Christofides consiste de tres fases. En la primera, al grafo original se le aplica MST para definir las distancias mnimas entre cada par de nodos considerando el parmetro obteniendo un nuevo grafo, el cual posteriormente es simplificado eliminando las copias de los arcos que estn en paralelo. La segunda fase, denominada MCM, obtiene un grafo euleriano en donde el conjunto de arcos resultantes son la solucin al RPP. Finalmente, en la tercera fase, se realizan iteraciones variando los valores del parmetro , se repiten las fases uno y dos con un conjunto de valores para , generando un conjunto de soluciones para el RPP de las que se elige la mejor. En algoritmo Reverse Christofides vara el orden de los pasos de Modified Christofides. En la primera fase se aplica MCM y en la segunda fase MST. Finalmente, en la tercera fase se hacen las iteraciones con la variacin del parmetro . Con el propsito de comparar los resultados de los nuevos algoritmos se generaron 10 conjuntos conformados por 20 instancias del problema generadas de manera aleatoria para cada par de nodos. El nmero total de nodos generados fue de 15, con 31 arcos de los cuales 11 son requeridos. El costo de los arcos fue generado aleatoriamente en un rango de 1 a 20. Para la comparacin de resultados se calcularon los valores promedio del mnimo, del mximo, del nmero de veces que se encontr la mejor solucin, y del nmero de veces que la mejor solucin no fue encontrada. Los resultados finales indican que los algoritmos Modified Christofides y Reverse Christofides superan al algoritmo original de Christofides y, a su vez, el algoritmo Reverse Christofides supera al algoritmo Modified Christofides. Christofides et al. (1986) presentan un algoritmo que consiste en generar un grafo transformado a partir del grafo original. Este grafo est conformado por los arcos requeridos donde sus costos se obtienen del camino ms corto de cada arco del grafo original. Con el fin de simplificar la solucin del RPP el problema se reduce a una transformacin del grafo denotado por !! = (! ! ! , !! ! ). Del grafo !! se construye un grafo completo !! de la siguiente manera: si existe un arco entre cualquier par de nodos de !! entonces es agregado al grafo !! cuyo costo ser igual al del camino ms corto entre ellos (calculado en el grafo original G). El grafo resultante !! se define de la siguiente manera !! = (! ! ! , !! ! !! ) donde !! es el conjunto de arcos que se agregaron. El algoritmo fue probado con 23 instancias del problema. El costo de los arcos fue generado de forma aleatoria en un rango de 1 a 20. En el siguiente captulo se describir el mtodo propuesto en esta tesis. 31

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

CAPTULO III Mtodo propuesto En este captulo se describen los algoritmos de los mtodos implementados en esta tesis: 2-Opt, 3-Opt y 4-Opt (Groves et al., 2005). Asimismo, se presenta un algoritmo gentico y una propuesta de algoritmo hbrido para buscar soluciones al URPP. A continuacin se describen los algoritmos que se utilizaron durante la fase de experimentacin y los resultados finales que se comparan con los publicados en Christofides (1986) y en Fonseca (2008). El lenguaje de programacin empleado para su implementacin fue C++ y se ejecut en el sistema operativo Linux en el servidor de la Facultad de Ingeniera de la UAEMex (Linux eleanor 2.6.32-30-generic #59-Ubuntu 1686 GNU Linux). 3.1 Bsqueda basada en 2-Opt Los pasos que se llevaron a cabo para la formulacin del algoritmo fueron los siguientes: 1. Calcular el camino ms corto entre cada par de nodos del grafo utilizando el algoritmo de Dijkstra y transformar el grafo original en un grafo Hamiltoniano (Fonseca, 2008). 2. Generar una solucin (un recorrido) inicial de manera aleatoria y calcular su costo. Esta solucin y su costo se convierten en los mejores hasta el momento. 3. Generar una nueva solucin a partir de la mejor solucin utilizando el mtodo 2-Opt y calcular su costo. 4. Si el costo de la nueva solucin mejora con respecto al costo de la mejor, la nueva solucin y su costo se vuelven las mejores; en caso contrario se conservan los mejores que ya se tenan. 5. Los pasos 3 y 4 se realizan durante un nmero predefinido de iteraciones o hasta que el costo de la mejor solucin no haya mejorado despus de un cierto nmero de iteraciones. Tanto el nmero de iteraciones totales como el nmero de iteraciones de la condicin de paro del algoritmo fueron determinados de manera experimental. Por lo que para diferentes 32

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

instancias del problema pueden variar de acuerdo a la eleccin del experimentador. Pseudocdigo Bsqueda basada en 2-Opt Inicio cont_mejora = 0 // contador para detener la bsqueda ite = 5000 // nmero de iteraciones Aplicar Dijkstra Genera_Matriz_Distancias Genera Grafo Hamiltoniano Genera Solucin Inicial Calcula costo Solucin Inicial Guarda mejor costo PARA num = 0, num < ite, num = num + 1 SI cont_mejora != 50 Aplicar 2-Opt Calcula costo SI Nuevo costo < Costo original Costo original = Nuevo costo Mejor individuo global = Mejor individuo modificado cont_mejora = 0 OTRO Mejor individuo modificado = Mejor individuo global cont_mejora = cont_mejora + 1 FIN SI OTRO num = ite FIN SI FIN PARA Fin Pseudocdigo Calcula costo Inicio /* Recibe como variables: arreglo con los arcos requeridos, matriz de distancias, arreglo de todos los nodos, individuo */ origen, destino, costo = 0 nod, req = 0 lc = longitud del individuo PARA i = 0, i < lc-1, i = i + 1 origen = individuo[i] destino = individuo[i+1] req = Busca_Costo_Requeridos nod = matriz de distancias[origen-1][destino-1] costo = costo + nod + req FIN PARA origen = individuo[lc-1] destino = individuo[0] req = Busca_Costo_Requeridos 33

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

costo = costo + req regresa el valor de costo Fin Pseudocdigo Busca_Costo_Requeridos Inicio /* Recibe como parmetros: origen, destino, arreglo de nodos */ i, costo = 0 PARA i = 0, nodo requerido = true, i = i + 1 SI origen == origen del arreglo nodos[i] Y destino == destino del arreglo de nodos[i] costo = costo del arreglo nodos[i] FIN SI FIN PARA Regresa costo Fin Pseudocdigo 2-Opt Inicio /* Recibe como parmetros: Secuencia */ individuo2 = individuo j=0 Generar dos puntos aleatorios en el rango de 0 a la longitud de la secuencia menos uno MIENTRAS punto2 == punto1 Volver a generar punto2 entre 0 a la longitud del individuo - 1 FIN MIENTRAS SI punto1 > punto2 Intercambiar el valor del punto1 al punto2 y viceversa FIN SI MIENTRAS punto1 - punto2 > 0 Intercambiar el individuo en punto1 por individuo en punto2 punto1 = punto1 + 1 punto2 = punto2 - 1 FIN MIENTRAS Fin Para observar el comportamiento de los algoritmos anteriores, considere el grafo de la figura 3.1, donde los arcos de lnea continua denotan a los arcos requeridos.

34

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Fig. 3.1 Grafo no dirigido con sus arcos requeridos. El primer paso es determinar la distancia ms corta entre cada par de nodos del grafo utilizando el algoritmo de Dijkstra (Tabla 3.1). Distancia mnima 1 2 3 4 5 6 7 entre nodos del grafo original 1 0 3 3 4 5 5 2 2 3 0 2 2 3 3 2 3 3 2 0 2 3 3 2 4 4 2 2 0 2 2 2 5 5 3 3 2 0 2 3 6 5 3 3 2 2 0 3 7 2 2 2 2 3 3 0 Tabla 3.1 Matriz de distancias mnimas para los nodos del grafo 3.1 Lo siguiente es hacer la transformacin del grafo original en un grafo Hamiltoniano, es decir los arcos requeridos se convierten en nodos del nuevo grafo, Groves et al. (2005).

35

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Para el ejemplo de la Figura 3.1, los arcos requeridos se representan por los siguientes nodos: (1,2)--> Nodo 1 (1,3)--> Nodo 2 (2,3)--> Nodo 3 (4,5)--> Nodo 4 (6,7)--> Nodo 5 El grafo resultante se convierte en un grafo dirigido ya que las distancias de ir de un nodo a otro varan dependiendo el sentido de recorrido. Por ejemplo, para obtener las distancias entre los nodos del grafo transformado, mostrado en la figura 3.2, se realiza el siguiente procedimiento: la distancia de ir del Nodo 1 al Nodo 2 se obtiene de los costos calculados por el algoritmo de Dijkstra tomando en cuenta las siguientes consideraciones: Nodo 1 (origen = 1, destino = 2) Nodo 2 (origen = 1, destino = 3) Posteriormente, se busca el camino ms corto del destino del Nodo 1 al origen del Nodo 2, lo cual es ir del nodo 2 al nodo 1 en el grafo original, dando como resultado en el ejemplo un costo de 3. El mismo proceso se aplica para determinar el costo de los dems nodos.

Fig. 3.2 Grafo dirigido despus de aplicar la transformacin al grafo de la Fig. 3.1. Cada nodo representa un arco requerido del grafo original. Los costos de los arcos del grafo transformado dependen del recorrido de sus nodos. Por ejemplo, el costo de ir del nodo 1 al nodo 3 es 0 ya que los nodos 1 y 3 del grafo transformado representan los arcos requeridos (1,2) y (2,3) respectivamente del grafo original. Esto es equivalente a ir del nodo 2 al nodo 2 en el grafo original. De manera similar se puede observar que el costo de ir del nodo 3 al nodo 1 es 3. 36

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

A continuacin se genera una secuencia aleatoria para recorrer los nodos del grafo. Por ejemplo la secuencia 2, 4, 5, 1, 3 es un recorrido posible de los nodos. El costo en este caso es la suma del recorrido de los arcos en el orden (2,4), (4,5), (5,1), (1,3) ms el costo de cada uno de los arcos requeridos. Por ltimo se aade el costo de ir del ltimo nodo al nodo de inicio es decir el costo del arco (3,2). En la Figura 3.3 se muestra la forma en que se calcula el costo de una secuencia.

Fig. 3.3 Clculo del costo de la secuencia 2 4 5 1 3 del grafo transformado. El costo 2 de ir del nodo 2 al nodo 4 resulta de tomar la distancia ms corta del nodo 3 al nodo 4 en el grafo original. Lo anterior se deriva de que en el grafo transformado el nodo 2 representa el arco (1,3) del grafo original. As mismo, el nodo 4 representa el arco (4,5) del grafo original. De la secuencia generada, se eligen dos puntos de manera aleatoria ({2, |4, 5, 1|, 3}) y se aplica 2-Opt. Para este caso, el resultado de la operacin es la secuencia {2, 1, 5, 4, 3} con un costo de 27. Para este caso se rechaza la nueva secuencia generada por 2-Opt ya que su costo fue mayor con respecto a la secuencia que tena menor costo. El proceso de aplicar 2-Opt se repite hasta llegar al nmero de iteraciones mximo o bien hasta que el costo de la solucin no mejore en un cierto nmero de iteraciones.

37

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

3.2 Bsqueda basada en 3-Opt Los pasos que se llevaron a cabo para la formulacin del algoritmo fueron los siguientes: 1. Calcular el camino ms corto entre cada par de nodos del grafo utilizando el algoritmo de Dijkstra y transformar el grafo original en un grafo Hamiltoniano (Fonseca, 2008). 2. Generar una solucin (un recorrido) inicial de manera aleatoria y calcular su costo. Esta solucin y su costo se convierten en los mejores hasta el momento. 3. Generar una nueva solucin a partir de la mejor solucin utilizando el mtodo 3-Opt y calcular su costo. 4. Si el costo de la nueva solucin mejora con respecto al costo de la mejor, la nueva solucin y su costo se vuelven las mejores; en caso contrario se conservan los mejores que ya se tenan. 5. Los pasos 3 y 4 se realizan durante un nmero predefinido de iteraciones o hasta que el costo de la mejor solucin no haya mejorado despus de un cierto nmero de iteraciones. Tanto el nmero de iteraciones totales como el nmero de iteraciones de la condicin de paro del algoritmo fueron determinados de manera experimental. Por lo que para diferentes instancias del problema pueden variar de acuerdo a la eleccin del experimentador. Pseudocdigo bsqueda basada en 3-Opt El pseudocdigo es el mismo que para 2-Opt slo que aqu el cambio a la estructura de la secuencia se lleva a cabo con el mtodo 3-Opt que a continuacin se describe: Pseudocdigo 3-Opt Inicio /* Recibe como parmetros: Secuencia */ Generar dos puntos aleatorios en el rango de 0 a la longitud de la secuencia menos uno. SI punto1 > punto2 Intercambiar el valor del punto1 al punto2 y viceversa. FIN SI 38

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

SI punto2 - punto1 != 1 Segmentar la secuencia desde su punto origen hasta el punto1 Insertar el valor punto2 despus del segmento de la secuencia realizado en el paso anterior Copiar los elementos a partir de punto1+1 hasta el final de la secuencia excepto el punto2. OTRO Posicionarse al fin de la secuencia Mover el valor del punto2 al final de la secuencia FIN SI Fin Considerando al grafo de la figura 3.2 y el proceso que se llev a cabo para generar la secuencia aleatoria, se procede a aplicar 3-Opt de la siguiente manera. De la secuencia {2, 4, 5, 1, 3} se eligen dos puntos de manera aleatoria {|2, 4, 5|, 1, 3} y se aplica 3-Opt. El resultado de la operacin es la secuencia {2, 5, 4, 1, 3} con un costo de 26. Para este caso no se acepta la nueva secuencia generada por 3-Opt ya que su costo fue mayor con respecto a la secuencia previa de menor costo. El proceso de aplicar 3-Opt se repite hasta llegar al nmero de iteraciones o bien hasta que el costo de la solucin no mejore en cierto nmero de iteraciones. 3.3 Bsqueda basada en 4-Opt Los pasos que se llevaron a cabo para la formulacin del algoritmo fueron similares a los de 2-Opt y 3-Opt, con la diferencia que se debe aplicar 4-Opt. Pseudocdigo bsqueda basada en 4-Opt Inicio /* Recibe como parmetros: secuencia */ Generar dos puntos aleatorios en el rango de 0 a la longitud del cromosoma menos uno MIENTRAS punto2 == punto1 Volver a generar punto2 entre 0 a la longitud del cromosoma menos uno FIN MIENTRAS Intercambiar el valor del punto1 al punto2 y viceversa Fin

39

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Considerando al grafo de la figura 3.2 y el proceso que se llev a cabo para generar la secuencia aleatoria, se procede a aplicar 4-Opt de la siguiente manera: de la secuencia {2, 4, 5, 1, 3} se eligen dos puntos a intercambiar de manera aleatoria {|2, 4, 5|, 1, 3} y se aplica 4-Opt. El resultado de la operacin es la secuencia {5, 4, 2, 1, 3} con un costo de 26. Para este caso se rechaza la nueva secuencia generada por 4-Opt ya que su costo fue mayor con respecto a la secuencia que tena menor costo. El proceso de aplicar 4-Opt se repite hasta llegar al nmero de iteraciones o bien hasta que el costo de la solucin no mejore en 50 iteraciones. 3.4 Algoritmo Gentico versin 1.1 combinado con el Algoritmo del camino ms corto para el URPP Los pasos que se llevaron a cabo para la formulacin de este algoritmo fueron los siguientes: 1. Calcular el camino ms corto entre cada par de nodos del grafo utilizando el algoritmo de Dijkstra y transformar el grafo original en un grafo Hamiltoniano (Fonseca, 2008). 2. Generar la poblacin inicial de manera aleatoria, calcular el fitness de cada individuo y guardar el mejor de ellos. 3. Llevar a cabo la seleccin de los individuos de la poblacin mediante Torneo. De los individuos seleccionados realizar cruzas con el operador PMX de acuerdo a una probabilidad de cruza predefinida, hasta obtener una poblacin del mismo tamao que la poblacin inicial. 4. De acuerdo a una probabilidad de mutacin predefinida, se aplica el operador de mutacin (2-Opt) a cada individuo de la nueva poblacin. 5. Aplicar el algoritmo de Groves et al. (2005) a cada individuo para determinar el recorrido de menor costo. 6. Calcular los valores de fitness mnimo, mximo, promedio y desviacin estndar para analizar el comportamiento de la poblacin. 7. Si el fitness mnimo mejora con respecto al mejor obtenido hasta el momento, ste toma su lugar; en caso contrario se conserva el fitness que ya se tiene.

40

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

8. Los pasos 3, 4, 5, 6 y 7 se repiten mientras que el fitness no mejore en cierto nmero de generaciones o bien cuando se haya alcanzado un valor mximo de generaciones.

Pseudocdigo Algoritmo Gentico versin 1.1 Inicio // Inicializacin de variables cont_mejora = 0 //contador para terminar con las iteraciones ng = 5000 //Nmero de generaciones tamao de la poblacin //Establecer segn el tamao del grafo Encontrar el camino mas corto entre cada par de nodos del grafo con Dijkstra Genera_Matriz_Distancias Genera Grafo Hamiltoniano Generar una poblacin inicial de forma aleatoria Computar la funcin de evaluacin de cada individuo Guardar mejor individuo y su fitness MIENTRAS (condicin de termino != verdadero) o (ng<5000) HACER PARA tamao poblacin / 2 HACER Seleccionar dos individuos por Torneo para la cruza Cruzar con cierta probabilidad a los dos individuos mediante PMX y generar dos nuevos individuos Aplicar mutacin 2-Opt a los dos nuevos individuos de acuerdo a cierta probabilidad de mutacin Agregar los dos nuevos individuos a la nueva poblacin FIN PARA Aplicar algoritmo de Groves (Seccin 1.2) a cada individuo de la nueva poblacin SI mejor individuo > individuo con menor fitness de la nueva poblacin Reemplazar mejor individuo por el individuo con menor fitness de la poblacin cont_mejora = 0 OTRO cont_mejora++ FIN SI SI cont_mejora == 50 ENTONCES condicin de termino = verdadero FIN SI Calcular valores estadsticos ng++; FIN MIENTRAS Fin Retomando el grafo de la figura 3.2, se etiquetan los nodos de acuerdo al orden en que se recorren los arcos requeridos del grafo original. Por tanto una posible asignacin de etiquetas es la siguiente: 41

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

(1,2) -> Nodo 1 (1,3) -> Nodo 2 (2,3) -> Nodo 3 (4,5) -> Nodo 4 (6,7) -> Nodo 5 (2,1) -> Nodo -1 (3,1) -> Nodo -2 (3,2) -> Nodo -3 (5,4) -> Nodo -4 (7,6) -> Nodo -5

Donde el signo negativo de un nodo denota una direccin de recorrido contraria al nodo sin signo. Por ejemplo, el Nodo -1 (arco (2,1)) se recorre tomando como origen el nodo 2 y como destino el nodo 1 del grafo original. Para determinar el camino ms corto entre cada par de nodos se utilizan las distancias obtenidas con el algoritmo de Dijkstra, los resultados se muestran en la tabla 3.2.
Costos mnimos del grafo transformado

1 0 3 3 5 2 0 0 3 4 5

2 2 0 3 5 2 0 0 3 4 5

3 0 2 0 3 2 3 3 0 2 3

4 2 2 2 0 2 4 4 2 0 2

5 3 3 3 2 0 5 5 3 2 0

-1 0 2 2 3 2 0 3 0 2 3

-2 2 0 0 3 2 3 0 2 2 2

-3 2 0 0 3 2 3 3 0 2 2

-4 3 3 3 0 3 5 5 3 0 2

-5 2 2 2 3 0 2 2 2 2 0

1 2 3 4 5 -1 -2 -3 -4 -5

Tabla 3.2 Distancias mnimas del grafo 3.2 considerando el cambio de direccin de recorrido denotado por el signo Para obtener las distancias entre los nodos del grafo de la figura 3.2 se realiza el siguiente procedimiento: la distancia del Nodo 1 al Nodo 2 se obtiene de los costos obtenidos por el algoritmo de Dijkstra de la siguiente manera: Nodo 1 (1,2) origen = 1 destino = 2 Nodo 2 (1,3) origen = 1 destino = 3 Se busca el camino ms corto del destino del Nodo 1 al origen del Nodo 2, lo cual es ir de 2 a 1 considerando el grafo original, dando como resultado un costo de 3; el mismo proceso se sigue para determinar el costo de los dems nodos.

42

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

A continuacin se deben generar secuencias aleatorias para recorrer el grafo. Tomando como base el ejemplo anterior se tiene que una posible secuencia de recorrido es {2, 4, 5, 1, 3} con fitness 22. El nmero de secuencias a generar deber ser una muestra representativa que determina el experimentador de acuerdo al tamao de la instancia del problema. La tabla 3.3. muestra 6 secuencias generadas al azar para recorrer el grafo de la figura 3.2, as como su fitness. De las secuencias obtenidas se seleccionan por Torneo un par de ellas, se cruzan utilizando el operador PMX para obtener dos nuevos individuos. A los dos nuevos individuos se les aplica una mutacin 2-opt con cierta probabilidad. La seleccin, cruza y mutacin se repiten hasta obtener una poblacin del mismo tamao que la poblacin inicial. Finalmente se utiliza el algoritmo de Groves para determinar el recorrido de costo mnimo de cada individuo de la poblacin. Los pasos anteriores representan una iteracin del algoritmo. Por lo que el mtodo se repite tomando como entrada la nueva poblacin generada.

Secuencia 3 1 4 5 -2 -2 -2 3 5 3 1 1 1 4 -2 -2 4 3 4 5 1 1 5 4 5 -2 3 4 3 5

Fitness 19 19 19 19 20 19

Tabla 3.3 Cromosomas y su valor fitness para el grafo de la Fig. 3.1 3.5 Algoritmo Gentico versin 1.2 combinado con el Algoritmo del camino ms corto para el URPP Los pasos que se llevaron a cabo para la formulacin de este algoritmo fueron los siguientes: 1. Calcular el camino ms corto entre cada par de nodos del grafo utilizando el algoritmo de Dijkstra y transformar el grafo original en un grafo Hamiltoniano (Fonseca, 2008). 43

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

2. Generar la poblacin inicial de manera aleatoria, calcular el fitness de cada individuo y guardar el mejor de ellos. 3. Llevar a cabo la seleccin de los individuos de la poblacin mediante Torneo. De los individuos seleccionados realizar cruzas con el operador PMX, hasta obtener una poblacin del mismo tamao que la poblacin inicial. 4. Calcular el valor de la desviacin estndar de la poblacin y fijar un valor lmite para condicionar si el operador de mutacin (2-Opt) se aplica a los individuos de la poblacin. 5. Aplicar el algoritmo de Groves et al. (2005) a cada individuo para determinar el recorrido de menor costo. 6. Calcular los valores de fitness mnimo, mximo, promedio y desviacin estndar para analizar el comportamiento de la poblacin. 7. Si el fitness mnimo mejora con respecto al mejor obtenido hasta el momento, ste toma su lugar; en caso contrario se conserva el fitness que ya se tiene. 8. Los pasos 3, 4, 5, 6 y 7 se repiten mientras que el fitness no mejore en 50 generaciones o bien cuando se haya alcanzado un valor mximo de generaciones.

Pseudocdigo Algoritmo Gentico versin 1.2 Inicio // Inicializacin de variables cont_mejora = 0 //contador para terminar con las iteraciones ng = 5000 //Nmero de generaciones bnd_cmb = falso //Bandera para cambio de sentido desv = 0 //variable desviacin estndar valor_lmite //constante para el valor lmite de la desviacin estndar tamao de la poblacin //Establecer segn el tamao del grafo Encontrar el camino mas corto entre cada par de nodos del grafo con Dijkstra Genera_Matriz_Distancias Genera Grafo Hamiltoniano Generar una poblacin inicial de forma aleatoria Computar la funcin de evaluacin de cada individuo Guardar mejor individuo y su fitness MIENTRAS (condicin de termino != verdadero) o (ng<5000) HACER PARA tamao poblacin / 2 HACER Seleccionar dos individuos por Torneo para la cruza Cruzar con cierta probabilidad a los dos individuos mediante PMX y generar dos nuevos individuos Agregar los dos nuevos individuos a la nueva poblacin FIN PARA Calcula desviacin estndar de la poblacin SI desv <= a valor_lmite 44

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Aplicar mutacin (2-Opt) a todos los individuos de la poblacin. FIN SI Aplicar algoritmo de Groves (Seccin 1.2) a cada individuo de la poblacin SI mejor individuo > individuo con menor fitness de la nueva poblacin Reemplazar mejor individuo por el individuo con menor fitness de la poblacin cont_mejora = 0 OTRO cont_mejora++ FIN SI SI cont_mejora == 50 ENTONCES condicin de termino = verdadero FIN SI Calcular valores estadsticos ng++; FIN MIENTRAS Fin La principal diferencia con el algoritmo de la seccin 3.4 es que la mutacin se efecta dependiendo del valor de la desviacin estndar. Durante la fase de experimentacin esta estrategia agrega variedad a los individuos de la poblacin y como se mostrar en el siguiente captulo mejora los resultados obtenidos. En el siguiente Captulo, se presentan los resultados experimentales de cada algoritmo mostrando con grficas su comportamiento. De la misma manera se incluyen un nmero de tablas con los valores estadsticos para cada uno de ellos y los parmetros iniciales para los operadores genticos.

45

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Captulo IV Resultados experimentales Durante la fase de experimentacin se ejecutaron los algoritmos descritos en el Captulo III variando los valores de los parmetros de entrada de cada uno de ellos (e.g., nmero de iteraciones, tamao de poblacin, probabilidad de cruza, probabilidad de mutacin, etc.) para observar el comportamiento de cada instancia de Christofides (1986). Los valores de los parmetros se determinaron de acuerdo a los mejores resultados obtenidos en las diferentes simulaciones. Es necesario mencionar que de las 24 instancias originales de Christofides (1986) se ha omitido la instancia 18, esto debido a que las diferentes publicaciones en la literatura no reportan un mismo valor ptimo. A continuacin se describen los resultados obtenidos de la experimentacin. 4.1 Resultados de la Bsqueda basada en 2-Opt Se llevaron a cabo experimentos con un algoritmo de bsqueda basada en 2-Opt durante 5000 iteraciones, aunque la ejecucin se detena si el costo no mejoraba durante 50 iteraciones consecutivas. Los resultados obtenidos se muestran en la tabla 4.1.
Valores conocidos # nodos # arcos # arcos req 11 13 7 14 33 12 28 57 26 17 35 22 20 35 16 24 46 20 23 47 24 17 40 24 14 26 14 12 20 10 9 14 7 7 18 5 7 10 4 28 79 31 26 37 19 31 94 34 19 44 17 33 54 29 50 98 63 49 110 67 50 184 74 50 158 78 41 125 55 Valores obtenidos Mx. Prom. 150 94.26 347 256.86 396 299.03 310 215.43 376 278.8 283 236.43 470 328.56 363 277.83 218 157.26 168 123.43 45 34.76 31 26.6 56 39.16 699 591.63 1510 1039.76 710 594.2 305 235.96 923 772.21 2106 1839 1571 1491.73 2602 2397.93 1950 1827.4 1523 1412

Instancia P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24

ptimo 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 257 398 366 621 475 405

Mn. 77 190 193 128 180 144 227 181 103 98 26 24 35 391 552 375 155 474 1000 1003 1708 1318 949

Tabla 4.1 Resultados obtenidos por la bsqueda basada en 2-Opt para 23 de las 24 instancias de Christofides (1986). 46

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Como se puede observar en la Tabla 4.1, slo en uno de los 23 casos se lleg al valor ptimo empleando este algoritmo. Ms an, en instancias grandes (P20-P24) el valor mnimo que se obtuvo, es casi 3 veces mayor que el ptimo conocido. Esto nos dice que ese mtodo no encuentra por si slo un valor esperado que pueda considerarse, en general, de utilidad. Sin embargo, s indica que puede ser utilizado en combinacin con otros mtodos como una forma de transitar a otras regiones del espacio de bsqueda y salir de regiones (ptimos locales) donde la solucin no parezca ya mejorar. Esto se puede ver como una forma sencilla de explorar otras reas del espacio de bsqueda que podran resultar tiles para encontrar una solucin ms cercana al ptimo en instancias de cualquier tamao dado. Para visualizar el comportamiento del algoritmo, se realizaron 30 corridas de cada instancia y se graficaron los valores mnimos, a lo largo de cada una de ellas. Posteriormente, se obtuvo el promedio de los valores mnimos en las 30 corridas para observar su comportamiento. Este nmero de corridas se realiza para proporcionar evidencia estadstica al experimentador del valor esperado que se puede obtener en una ejecucin arbitraria del mtodo sobre una de las instancias dadas. En las grficas de la Tabla 4.2 se presenta el resultado de 4 instancias. Se observa que los valores mnimo y promedio se aproximan al valor ptimo conocido, sin embargo ste nunca se alcanza. El color cyan representa el valor promedio de las 30 corridas, el naranja el valor ptimo conocido y las otras 4 grficas representan el valor mnimo de 4 corridas seleccionadas de manera arbitraria. 4.2 Resultados de la Bsqueda basada en 3-Opt Este algoritmo se ejecut bajo las mismas condiciones que la bsqueda basada en 2-Opt (descritos en la Seccin 4.1) y los resultados estadsticos obtenidos se describen en la Tabla 4.3. Como se puede observar, slo en dos de las 23 instancias consideradas se lleg al valor ptimo empleando este algoritmo. Una de las instancias adicionales en las que se obtuvo el valor ptimo fue en la mas pequea. En instancias grandes (P20-P24) el valor mnimo que se obtuvo con el algoritmo presentado, no est tan alejado como en el caso del algoritmo 2-opt, sin embargo es todava dos veces mayor que el ptimo conocido.

47

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.2 Grficas de resultados obtenidos con 2-Opt para 4 instancias de Christofides.

Para visualizar el comportamiento del algoritmo y obtener evidencia estadstica, se realizaron 30 corridas de cada instancia y se graficaron los valores mnimos, a lo largo de cada una de ellas. Posteriormente, se obtuvo el promedio de los valores mnimos en las 30 corridas para observar su comportamiento. En las grficas de la Tabla 4.4 se presenta el resultado de 4 instancias de las 23 del conjunto de prueba de Christofides (1986). A diferencia del mtodo 2-opt, se observa que en la mayora de las instancias, el mejor valor obtenido varia muy poco. Sin embargo, en todos los casos, s se consideran las 30 corridas, el valor mnimo obtenido es mas cercano al ptimo comparado con el mtodo 2opt. El color cyan representa el valor promedio de las 30 corridas, el naranja el valor ptimo conocido y las otras 4 grficas representan el valor mnimo de 4 corridas arbitrarias.

48

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera


Instancia P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24 Valores Conocidos # nodos # arcos # arcos req 11 13 7 14 33 12 28 57 26 17 35 22 20 35 16 24 46 20 23 47 24 17 40 24 14 26 14 12 20 10 9 14 7 7 18 5 7 10 4 28 79 31 26 37 19 31 94 34 19 44 17 33 54 29 50 98 63 49 110 67 50 184 74 50 158 78 41 125 55 ptimo 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 257 398 366 621 475 405 Valores Obtenidos Mn. Mx. Prom. 76 199 177 127 158 140 189 161 100 96 28 24 35 334 632 293 130 423 946 813 1464 1065 786 142 369 404 287 380 292 446 410 228 174 50 31 56 727 1562 712 327 953 2221 1595 2594 1967 1527

95.76 238.93 257.83 183.86 151.2 208.46 292.3 234.13 146.53 104.7 35.3 27.46 46.36 509.56 960.76 492 213.4 658.33 1698.1 1288.5 1911.76 1513.1 1216.63 Tabla 4.3 Resultados obtenidos por la bsqueda basada en 3-Opt.

4.3 Resultados de la Bsqueda basada en 4-Opt Este algoritmo se ejecut bajo las mismas condiciones que los algoritmos 2-0pt y 3-opt. Los resultados obtenidos con 4-Opt se muestran en la Tabla 4.5. Como se puede observar, al igual que con el mtodo 3-Opt, slo en dos de las 23 instancias se lleg al valor ptimo empleando este algoritmo. Ms an, se obtuvieron los ptimos en las mismas instancias. De la misma forma, en las instancias grandes (P20P24) el valor mnimo que se obtuvo con el algoritmo 4-Opt, mejor con respecto al mtodo 3-Opt sin embargo no se puede decir que fue una mejora significativa ya que los valores ptimos son casi el doble que los mejores obtenidos.

49

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.4 Grficas de resultados obtenidos con 3-Opt para 4 instancias de Christofides. De manera similar que para las bsquedas basadas en 2-Opt y 3-Opt, para visualizar el comportamiento del algoritmo se realizaron 30 corridas de cada instancia y se graficaron los valores mnimos, a lo largo de cada una de ellas. Posteriormente, se obtuvo el promedio de los valores mnimos en las 30 corridas para observar su comportamiento. En las grficas de la Tabla 4.6 se presenta el resultado de 4 instancias de las 24 del conjunto de prueba de Christofides (1986). A diferencia de los mtodos anteriores, la convergencia del valor promedio es ms uniforme, se considera que el intercambio de 3 arcos requeridos brinda una mayor diversidad al individuo generado; sin embargo, los resultados an se encuentran alejados de las propuestas hechas en otros trabajos publicados en la literatura. En las grficas de la Tabla 4.6, el color cyan representa el valor promedio de las 30 corridas, el naranja el valor ptimo conocido y las 4 grficas restantes representan el valor mnimo de 4 corridas seleccionadas de manera arbitraria. 50

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera


Instancia P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24 Valores Conocidos # nod # arcos # arc. req. 11 13 7 14 33 12 28 57 26 17 35 22 20 35 16 24 46 20 23 47 24 17 40 24 14 26 14 12 20 10 9 14 7 7 18 5 7 10 4 28 79 31 26 37 19 31 94 34 19 44 17 33 54 29 50 98 63 49 110 67 50 184 74 50 158 78 41 125 55 ptimo 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 257 398 366 621 475 405 Valores Obtenidos Mn. Mx. Prom. 76 133 76.06 169 335 181.33 166 403 219.03 122 282 164.53 168 382 223.83 142 303 187.26 180 471 280 168 397 221.13 94 226 127.26 94 167 108.76 26 44 30.56 22 31 25.4 35 52 42.03 308 705 446.36 487 1475 786.6 287 730 432.03 139 326 181.8 414 923 589.36 927 2076 1304.4 939 1567 1459.6 1258 2585 1469.63 965 1981 1384.7 773 1532 1036.96

Tabla 4.5 Resultados computacionales por el algoritmo evolutivo con 4-Opt.

4.4 Resultados del algoritmo gentico versin 1.1 En esta seccin se presentan los resultados de aplicar el algoritmo descrito en el Captulo III, seccin 3.4. Para la ejecucin de cada una de las instancias de Christofides (1986) se experiment con diferentes valores de los parmetros necesarios para la ejecucin del algoritmo gentico. Por ejemplo, la probabilidad de cruza se vari en el rango de 0.60 a 0.85 y fue modificndose de acuerdo al tamao de la poblacin. Cabe mencionar que en poblaciones pequeas no fue necesario un porcentaje alto en la probabilidad de cruza debido a que este tipo de poblaciones se utilizaron en las instancias con espacios de bsqueda de menor tamao. Por otro lado, la probabilidad de mutacin se vari en un intervalo de 0.02 a 0.10 dependiendo del nmero de nodos de la instancia tratada. El nmero inicial de generaciones fue de 5000 aunque el ciclo evolutivo poda terminar cuando el valor de fitness no mejorara en 50 generaciones. Esta es una estrategia de paro del algoritmo que fue retomada de los mtodos de bsqueda 2-Opt, -3-Opt y 4-Opt. En la Tabla 4.7 se enlistan los parmetros de ejecucin y los resultados obtenidos se muestran en la tabla 4.8. 51

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.6 Grficas de resultados obtenidos con 4-Opt para 4 instancias de Christofides (1986). El comportamiento de los resultados obtenidos por el algoritmo gentico se puede observar en las grficas de la tabla 4.9 donde la variacin de sus valores estadsticos es menos notoria en comparacin con los mtodos anteriores. El comportamiento del valor mnimo muesta una convergencia que tiende a aproximarse al valor ptimo conocido conforme progresan las generacin del algoritmo. Esta diferencia de convergencia, en comparacin a los mtodos de bsqueda 2-Opt, 3-Opt y 4-Opt, es debida a que, en un algoritmo gentico, la bsqueda es guiada por el valor de fitness de las soluciones a travs del operador de seleccin. Adicionalmente, la variedad en la poblacin (y en general en la bsqueda) se introduce a travs del operador de mutacin y los nuevos individuos o soluciones se tienden a beneficiar de las porciones de las soluciones con un 52

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

fitness ms alto. Un mayor beneficio podra obtenerse si la diversidad en la poblacin pudiera adaptarse conforme esta misma diversidad disminuyera. Mantener la diversidad en la poblacin es importante ya que una mayor diversidad significa una mayor cobertura o exploracin del espacio de bsqueda, lo que provoca que el algoritmo examine soluciones donde una mejora pudiese existir. Con esto en mente, se experiment con una nueva versin del Algoritmo Gentico y los resultados se muestran en la seccin 4.5.
Instancia P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24 Tam. Pob. 60 200 400 500 400 520 460 460 300 300 100 100 10 480 480 300 300 400 1300 2500 2200 1200 2600 Prob. Cruza 0.60 0.65 0.80 0.80 0.60 0.80 0.85 0.70 0.60 0.60 0.60 0.60 0.60 0.85 0.70 0.85 0.60 0.85 0.85 0.85 0.80 0.75 0.85 Prob. Mut. 0.05 0.05 0.10 0.05 0.05 0.03 0.10 0.10 0.05 0.05 0.05 0.05 0.05 0.04 0.04 0.04 0.04 0.02 0.06 0.06 0.06 0.06 0.06

Tabla 4.7 Parmetros de ejecucin algoritmo gentico versin 1.1.

53

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera


Instancia P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24 Valores Conocidos # nod # arcos # arc. req. 11 13 7 14 33 12 28 57 26 17 35 22 20 35 16 24 46 20 23 47 24 17 40 24 14 26 14 12 20 10 9 14 7 7 18 5 7 10 4 28 79 31 26 37 19 31 94 34 19 44 17 33 54 29 50 98 63 49 110 67 50 184 74 50 158 78 41 125 55 ptimo 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 257 398 366 621 475 405 Valores Obtenidos Mn. Mx. Prom. 76 78 76.2 155 179 165.96 178 214 200.8 109 134 125.66 148 180 167.53 144 158 153.23 204 243 224.46 152 193 180.56 89 104 98.63 80 85 81.73 23 23 23 19 19 19 35 35 35 375 408 392.23 575 646 609.86 374 423 401.6 132 153 144.6 442 524 486.63 1214 1358 1307.93 1025 1117 1071.16 1733 1857 1789.56 1242 1400 1335.38 963 1073 1014.73

Tabla 4.8 Resultados computacionales por el algoritmo gentico versin 1.1

4.5 Resultados del algoritmo gentico versin 1.2 Para la ejecucin de este algoritmo gentico se tomaron en cuenta los mismos parmetros que la versin 1.1 a excepcin de la probabilidad de mutacin. El criterio a seguir fue utilizar el valor de la desviacin estndar ! del fitness de los individuos como una medida de la variedad dentro de la poblacin. La estrategia es simple: cuando el valor de ! es menor o igual a 0.00001, se aplica el operador de mutacin a la mejor solucin encontrada hasta ese momento. El valor de ! , aunque fue determinado de manera experimental, es un valor suficiente para observar la variedad que los diferentes individuos de la poblacin tienen con respecto a su fitness o costo de recorrido de cada una de las soluciones. Los parmetros de ejecucin para esta versin del Algoritmo Gentico se enlistan en la Tabla 4.10 y los resultados obtenidos por la versin 1.2 se describen en la Tabla 4.11. Estos resultados fueron los mejores obtenidos en la fase de experimentacin y son los mejores resultados obtenidos en este trabajo de tesis.

54

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.9 grficas de los resultados obtenidos por el algoritmo versin 1.1, para 30 corridas. La ejecucin del algoritmo para cada instancia se efectu 30 veces y los resultados de la poblacin se graficaron para observar el comportamiento de la poblacin a lo largo del ciclo evolutivo. En la Tabla 4.12 se muestran las grficas con los valores mnimo, mximo, promedio y desviacin estndar alcanzados. Se puede observar que al principio del 55

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

proceso se comienza con valores alejados del ptimo y conforme progresan las iteraciones existe una evidente convergencia hacia el valor ptimo. 4.6 Comparacin con el mtodo de Fonseca (2008) Como se mencion en el Captulo 2, Fonseca (2008) utiliza como primer paso un algoritmo gentico con los siguientes operadores: ruleta como operador de seleccin, PMX como operador de cruza, e inversin como operador de mutacin para encontrar la solucin al URPP. Posteriormente, aplica el algoritmo 2-OPT para realizar lo que ella denomina post-optimizacin. En este trabajo de tesis, tambin se utiliza un algoritmo gentico, sin embargo, el operador de mutacin con el que se obtuvieron los mejores resultados fue el procedimiento utilizado por Groves et al. (2005). Como una de las primeras mejoras con respecto al mtodo de Fonseca (2008), se obtuvieron resultados para 23 de las 24 instancias de Christofides et al. (1986). Mientras que Fonseca (2008) slo obtuvo resultados con 5 de las mismas 24 instancias. Fonseca (2008) argumenta que el software utilizado (Matlab) contribuy a que su mtodo no pudiera dar respuesta para las otras instancias. De las 5 instancias en las que Fonseca presenta resultados, en 4 de ellas obtuvo el ptimo conocido. En esta tesis, con el algoritmo gentico versin 1.2, no slo se obtuvo el ptimo conocido en 4 de las 5 instancias, sino tambin en 10 instancias mas de las 19 restantes. En la Tabla 4.11, adems de presentar los resultados de 23 de las 24 instancias de Christofides et al. (1986) se presentan los resultados obtenidos por Fonseca (2008). Ambos resultados son estadsticamente comparables ya que se realizaron 30 ejecuciones independientes para cada una de las instancias utilizadas con el objetivo de obtener un valor esperado.

56

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera


Instancia P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24 Tam. Pob. 60 200 900 1200 400 520 1000 650 300 300 100 100 10 750 400 1000 300 700 1300 2500 2200 1200 2600 P. Cruza 0.6 0.65 0.65 0.75 0.6 0.8 0.75 0.85 0.6 0.6 0.6 0.6 0.6 0.85 0.7 0.8 0.6 0.85 0.75 0.65 0.8 0.75 0.85

Tabla 4.10 Parmetros de ejecucin del algoritmo gentico versin 1.2 para 23 de las instancias de Christofides (1986).

57

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera


Valores Conocidos Instanci a P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P19 P20 P21 P22 P23 P24 # nod 11 14 28 17 20 24 23 17 14 12 9 7 7 28 26 31 19 33 50 49 50 50 41 # arcos 13 33 57 35 35 46 47 40 26 20 14 18 10 79 37 94 44 54 98 110 184 158 125 # arc. req. 7 12 26 22 16 20 24 24 14 10 7 5 4 31 19 34 17 29 63 67 74 78 55 ptimo 76 152 102 84 124 102 130 122 83 80 23 19 35 202 441 203 112 257 398 366 621 475 405 Fonseca (2008) 76 152 102 86 124 Valores Obtenidos Mn. 76 152 109 84 124 102 130 122 83 80 23 19 35 206 441 208 112 271 457 450 726 580 446 Mx. 76 168 154 102 152 121 179 149 97 87 26 19 35 272 493 256 127 351 699 620 1000 737 598 Prom. 76 155.5 128.76 93.46 134.53 110.36 146.36 132.03 87.73 82 23.33 19 35 232.86 462.96 233.46 117.23 303.73 560.46 510.66 885.63 664.06 517.5

Tabla 4.11 Resultados computacionales obtenidos por el algoritmo gentico versin 1.2

58

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.12 Grficas de los resultados finales obtenidos por el algoritmo gentico versin 1.2

59

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.12 (Continuacin). Grficas de los resultados finales obtenidos por el algoritmo gentico versin 1.2

60

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.12 (Continuacin). Grficas de los resultados finales obtenidos por el algoritmo gentico versin 1.2

61

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Tabla 4.12 (Continuacin). Grficas de los resultados finales obtenidos por el algoritmo gentico versin 1.2

62

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Conclusiones Los resultados experimentales presentados a lo largo de esta tesis, se basaron en la hiptesis de que la propuesta de Fonseca (2008) puede ser mejorada para validar su eficacia empleando el conjunto de prueba propuesto por Chirstofides (1986). Una conclusin inmediata y evidente es que los resultados presentados por Fonseca (2008) fueron mejorados con el algoritmo gentico versin 1.2 presentado en este trabajo de tesis debido a que en 14 de las 23 instancias de Christofides et al. (1986) se obtuvo el valor ptimo reportado en la literatura. La mejora no se limita al nmero de instancias que se utilizaron para la fase de pruebas y experimentacin sino que, adicionalmente, se combin el mtodo de Groves et al. (2005) como operador de mutacin con el operador de cruza PMX. El operador PMX es un operador que ha sido utilizado con resultados alentadores para problemas con representaciones similares a las reportadas en este trabajo. As mismo, de acuerdo a la literatura examinada, tal combinacin no ha sido utilizado como alternativa de solucin al URPP. Una observacin hecha durante la experimentacin es que la probabilidad de cruza arroja mejores resultados si su valor se incrementa cuando el tamao de la poblacin tambin se incrementa. El rango utilizado para esta probabilidad fue de 0.60 a 0.85 a lo largo de la experimentacin. Una estrategia alternativa que se sigui, dando buenos resultados, fue condicionar la aplicacin del operador de mutacin de acuerdo a la desviacin estndar del valor del fitness de la poblacin. Cuando la desviacin estndar era menor o igual a 0.00001 se tomaba como indicativo de que la mayora de individuos de la poblacin eran casi iguales en trminos de su fitness. Por tanto, era evidente que la diversidad gentica de la poblacin se haba reducido y era un momento adecuado para aplicar el operador de mutacin.

63

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Recomendaciones Considerando que slo en el 60.8% de las instancias de Christofides et al. (1986) se encontro el ptimo conocido, es recomendable explorar otras alternativas en las que se combinen las fortalezas de diversos algoritmos de bsqueda y ptimizacin. La seleccin de tales algoritmos debe estar basada en el conocimiento del problema y de la complejidad de su espacio de bsqueda. Asimismo, es recomendable analizar y experimentar con otros operadores de cruza y mutacin sin perder de vista que estos operadores tienen una relacin estrecha con la representacin utilizada. Finalmente, es tambin recomendable seleccionar de manera apropiada el tamao de la poblacin para cada instancia del problema, de tal manera que resulte una muestra representativa del espacio de bsqueda. Sin embargo, cabe resaltar que la eleccin del tamao de la poblacin, al igual que otros parmetros en un algoritmo gentico, depende an en gran medida de la experiencia del investigador y de la complejidad del problema mismo.

64

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

BIBLIOGRAFA Bck T, Fogel, D. B., Michalewicz T (2000). Evolutionary Computation 1. Basic algorithms and operations. CRC Press. Baker, J. E. (1985). Adaptive Selection Methods for Genetic Algorithms. Proceedings of the 1st International Conference on Genetic Algorithms. pp. 101-111. Pittsburgh, PA, USA. Baldoqun, P. M. G. (2004). Heuristics and metaheuristics approaches used to solve the Rural Postman Problem: A Comparative Case Study. Proceedings of the Fourth International ICSC Symposium on Engineering of Intelligent Systems. Madeira, Portugal. Bock, F. (1958). An algorithm for solving the travelling salesman and related network optimization problems, Unpublished manuscript associated with a paper presented at the 14th ORSA National Meeting. Brad, L. M. and Goldberg D. E. (1995). Genetic Algorithms, Tournament Selection, and the Effects of Noise. Complex Systems, 8, pp. 193-212. Christofides, N., Campos, V., Corbern, A., Mota, E. (1986). An Algorithm for the Rural Postman Problem on a Directed Graph. Mathematical Programming Study, 26, pp.155166. Croes, G. A. (1958). A method for solving travelling salesmen problems, Operations Research, 6, pp. 791-812. Darwin C. (1859). On the Origin of Species. Gramercy. USA. Dijkstra, E. W. (1959). A note on two problems in connection with graphs, Numerische Mathematik, 1, pp. 267-271. Feo, T.A., Resende, M.G.C. (1995): Greedy Randomized Adaptative Search Procedures, Journal of Global Optimization, 6; 109-133 Flood, M. M. (1956). The travelling salesman problem, Operations Research, 4, pp. 61-75. Fonseca, M. I. (2008). Algoritmo gentico, para disminuir el costo en la solucin del problema del cartero rural no dirigido, partiendo de una solucin factible dada (Masters thesis). Universidad Autnoma del Estado de Mxico, Toluca, Edo. de Mxico. Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA. Groves, G. W. and van Vuuren, J. H. (2005). Efficient heuristics for the rural postman problem. ORiON. Volume 21(1), pp. 33-51. Hancock, P. J. B. (1994). An Empirical Comparison of Selection Methods in Evolutionary Algorithms. Selected Papers from AISB Workshop on Evolutionary Computing, p.80-94. Springer-Verlag London, UK. April 11-13.

65

Universidad Autnoma del Estado de Mxico


Facultad de Ingeniera

Holland, J. H. (1975). Adaptation in natural and artificial systems. MIT Press. Cambridge, MA, USA. Kang, M. and Han, C. (1998). Solving the rural postman problem using a genetic algorithm with a graph transformation. Proceedings of the 1998 ACM symposium on Applied Computing. New York, NY, USA. Lin, S. (1965). Computer solutions of the traveling salesman problem. Bell Systems Technical Journal, 44, pp. 22452269. Liu, C. L. (1985). Elements of Discrete Mathematics. Second Edition, Mc Graw Hill. Pearn, W. L. and Wu, T. C. (1995). Algorithms for the rural postman problem. Computers and Operations Research, 22(8), pp. 819-828. Prez-Delgado, M. L. (2007). A Solution to the Rural Postman Problem Base on Artificial Ant Colonies. Current Topics in Artificial Intelligence: 12th Conference of the Spanish Association for Artificial Intelligence, CAEPIA 2007. Salamanca, Spain, November 12-16. Selected Papers, Springer-Verlag, Berlin, Heidelberg. Rodrigues, A.M., Ferreira, J.S. (2001). Solving the Rural Postman Problem by Memetic Algorithms. Proceedings of the 4th Metaheuristics International Conference. Porto, Portugal. Sierksma, G. (1994). Hamiltonicity and the 3-Opt procedure for the traveling salesman problem. Applicationes Mathematicae, 22(3), pp. 351-358. Skiena, S. (1990). "Eulerian Cycles." 5.3.3 in Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Reading, MA: Addison-Wesley, pp. 192-196.

66

S-ar putea să vă placă și