Está en la página 1de 28

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1.

ISSN 1870-8196

Resolviendo el Problema del Vendedor Ambulante con algoritmos genticos Resolving the ambulant salesman problem with geneticse algorisms
Luis Copertari Programa de Ingeniero en Computacin Universidad Autnoma de Zacatecas email: copertari@yahoo.com

Resumen
El Problema del Vendedor Ambulante (PVA) se resuelve con algoritmos genticos. Se emplean dos alternativas de representar la solucin (genes en serie y genes en dos columnas), diferentes tasas de mutacin y diferentes tamaos de poblacin. Luego se crean dos programas de computadora para resolver el problema y proveer datos experimentales; estos ltimos son analizados y discutidos, las conclusiones derivan de ello Palabras clave: problema del vendedor ambulante, algoritmos genticos.

Abstract
The ambulant salesman problem (PVA) has resolved with genetics algorisms. Has used two alternatives to present the solution (genes in serie and genes in two columns), differents mutation appraisals and differents population sizes. Then has created two computers programs to resolve the problem and to provide experimentals dates; the experimentals dates are analized and discussed, the conclusions are the last part. Keywords: ambulant salesman problem, genetics algorisms.

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Introduccin
El Problema del Vendedor Ambulante (PVA) es conocido en investigacin de operaciones, en el cual un vendedor trata de visitar n ciudades en un recorrido dado. El problema radica en encontrar la secuencia de visitas que minimice la suma de las distancias entre las ciudades [2]. Analizar todos los recorridos posibles requiere hacer n! sumas. En el caso de 27 ciudades significara 1.088886945 x 1028 sumas. Una computadora moderna es capaz de ejecutar alrededor de un billn de operaciones por segundo [11]; eso tomara 345,283,785,200 aos en cubrir todas las posibilidades. El caso puede ser resuelto usando una programacin lineal [13], pero para grandes valores de n toma un tiempo relativamente largo (horas, das, meses o an aos) en obtener una solucin. El enfoque de este trabajo es utilizar algoritmos genticos; aunque stos no garantizan una solucin ptima, proveen buenos resultados a corto plazo. No es necesario esperar a que el programa termine, el usuario puede solicitar la mejor solucin que se haya encontrado hasta el momento. Los algoritmos genticos se basan en la evolucin para encontrar una explicacin: cada individuo dentro de la poblacin representa una solucin posible. Los individuos son representados de tal forma que se pueden crear nuevas generaciones reproduciendo a los mejor adaptados de la generacin previa. Se consideraron dos maneras alternativas de mostrar los recorridos del PVA: en la primera se ubicaron las ciudades a visitar en un rengln.y en la segunda en dos columnas. Ambos enfoques se trataron con diferentes tasas de mutacin para ver cul conduca ms rpido a la solucin o provea la que fuera ptima. Cada uno de ellos fue una manera diferente de reproducir a la poblacin. Primero se discuti la metodologa, luego se revis la teora del PVA

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

y los algoritmos genticos; de igual modo, se tomaron los datos experimentales para argumentar los descubrimientos y derivar conclusiones.

Metodologa
El mtodo que se utiliz fue el cientfico, que consiste en varios pasos que son iterados en una serie de sucesivas y cada vez ms cercanas aproximaciones a la verdad. El enfoque terico se genera en la observacin del problema bajo estudio, se prueba la teora en el laboratorio en una serie de experimentos, y si los resultados no estn dentro de los lmites tericos se regresa a la teora y se trata de ser ms preciso. A lo largo de los aos, el mtodo cientfico ha sido muy discutido. En este caso, se tomaron las ideas manifiestas por Gauch Jr. [3] y Wilson [12], basadas en los siguientes pasos: 1. Observacin. La observacin directa de la realidad es la base de todos los descubrimientos. En primer lugar se consider el problema y se evidenci que haba al menos dos maneras de representar la realidad: genes en serie y genes en dos columnas. 2. Hiptesis. La correcta combinacin de tasa de mutacin, tamao de la poblacin, y modelo (genes en serie o genes en columnas) son importantes para determinar la calidad de la solucin y la rapidez con que se alcanza. 3. Teora. Se enfatiz en datos esenciales acerca del PVA y su implementacin usando algoritmos genticos. 4. Experimentacin. Se crearon dos programas de computadora a partir de Borland Delphi, con la finalidad de resolver los dos problemas de algoritmos genticos, obtener datos para cada representacin, las posibles tasas de mutacin y el tamao de la poblacin.

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

5. Conclusiones. Despus de analizar los datos obtenidos en el laboratorio, los resultados fueron valorados y se derivaron las conclusiones.

Teora
El Problema del Vendedor Ambulante El Problema del Vendedor Ambulante (PVA) es clsico en investigacin de operaciones. Se tienen n ciudades, y se supone que un vendedor (o por extensin una carga, un camin, o un avin) tiene que visitar todas y cada una de ellas (y luego regresar a la primer ciudad para completar el recorrido) a fin de minimizar la distancia total recorrida. El PVA es un problema NP; es decir, el nmero de pasos requeridos para resolverlos crece de forma exponencial a medida que el tamao del problema aumenta. Lo anterior significa que para resolver el PVA en ejemplos tpicos de la vida real donde se tienen un centenar de camiones de entrega, se requiere un nmero prohibitivo de pasos con el objetivo de obtener la solucin con programacin lineal. Esto es, la computadora se tomara mucho tiempo (aos quiz) en resolver un problema lo suficientemente grande como para que importe en la vida real. La Figura 1 muestra las distancias entre n ciudades, es necesario especificar la distancia entre ciudad 1 y ciudad j, donde la j va de 2 a n, lo cual se hace en el primer rengln. Para j=1 tenemos una distancia de cero, pues la distancia entre ciudad 1 y ciudad 1 es cero. Sin embargo, para evitar ir de una ciudad a la misma, asignamos un distancia muy grande, como 100,000. En el segundo rengln, est la distancia entre la ciudad 2 y la j (donde j va de 3 a n; ntese que no incluimos j=1 porque la distancia entre ciudad 2 y 1 est ya en el primer

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

rengln como ocurre entre ciudad 1 y ciudad 2m y as sucesivamente). En general, se indica la distancia entre ciudad i y ciudad j, donde j va de i+1 a n, como dij. As se obtiene un tringulo superior de distancias, marcado en gris, el cual est duplicado en el tringulo inferior de distancias. Ciudad\Ciudad 1 2 3 n 1 100,000 d21=d12 d31=d13 dn1=d1n 2 d12 100,000 d32=d23 dn2=d2n 3 d13 d23 100,000 dn3=d3n n d1n d2n d3n 100,000

Figura 1. Distancias entre ciudades para el PVA.

Algoritmos genticos Los algoritmos genticos fueron desarrollados por John Holland [6] durante los sesenta y los setenta, a la vez que se difundieron por uno de sus estudiantes: David Goldberg [4]. Los algoritmos genticos se basan en los principios de la gentica y la seleccin natural para encontrar soluciones. De Jong [1] mostr la utilidad de los algoritmos genticos en la optimizacin de funciones, al mismo tiempo que trat de encontrar parmetros ptimos. Algunas de sus ventajas, tomadas de Haupt y Haupt [5], se desglozan a continuacin: Optimiza con variables continuas o discretas. No requiere informacin derivada. Busca simultneamente de una amplia superficie de costo. Se ocupa de un gran nmero de variables. Es ideal para computadoras en paralelo.

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Optimiza variables con superficies de costo muy complejas (puede saltar de un mnimo local). Provee una lista de variables ptimas, no slo una solucin. Puede codificar las variables de forma tal que la optimizacin se hace con las variables codificadas. Trabaja con datos generados numricamente, o funciones analticas. Los algoritmos genticos son muy intrigantes y producen resultados

sorprendentes cuando las tcnicas de optimizacin tradicionales, tal como la programacin lineal, fallan. En ocasiones, como cuando se evala una funcin analtica, el clculo puede ser mejor que los algoritmos genticos. El hecho de que una gran poblacin de soluciones es requerida significa que los mtodos tradicionales pueden hallar la solucin ms rpido. No obstante, si una computadora en paralelo est disponible, los algoritmos genticos pueden tomar ventaja de eso, pues cada procesador puede calcular el grado de ajuste de un grupo de individuos. Los algoritmos genticos son ideales para la computacin en paralelo. Existen cinco pasos en el proceso de los algoritmos genticos: 1. Codificacin (gnesis). El individuo es generado de tal forma que representa una sola solucin en una cadena y es posible hacer la cruza con tal esquema de codificacin. 2. Evaluacin. Cada solucin de los individuos en la poblacin es evaluada para encontrar su ajuste a la solucin del problema, a cada uno se le asigna un puntaje. 3. Cruza (reproduccin). Basados en el puntaje, slo los mejores candidatos son cruzados o reproducidos para crear otros.

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

4. Mutacin. En algunos casos los cambios aleatorios son aplicados a algunos individuos que se eligen con ese propsito. 5. Decodificacin. Despus de que el proceso ha terminado, dadas tantas generaciones que han pasado, la solucin codificada en la representacin del individuo con el mejor puntaje es decodificada y transformada en una solucin para el problema. Si un ptimo (o al menos un ptimo local) ha sido encontrado, un porcentaje relativamente largo de la poblacin habr dado con la solucin. Resolviendo el PVA con algoritmos genticos Es posible resolver el problema del vendedor ambulante usando algoritmos genticos, aunque Kirkpatrick, Gelatt y Vecchi [8] utilizan annealing simulado. Hay varias maneras de hacer la codificacin: la conocida como representacin matricial, discutida por Homaifar, Guan y Liepins [7] y Michalewicz [10], donde las rutas se manifiestan en una matriz binaria (0 y 1) de tal forma que si hay un uno en el rengln i, columna j, eso significa que el vendedor va a ir de la ciudad i a la ciudad j. A esta clase de matriz tambin se le denomina matriz de precedencia en investigacin de operaciones [2][13].
1 2 3 1 2 3 0 1 0 0 0 1 1 0 0

Figura 2. Representacin matricial usando una matriz de precedencia.

La matriz mostrada en la Figura 2 indica que el vendedor va de la ciudad 1 (rengln 1) a la 2 (porque en el rengln 1, el uno est en la columna 2). Adems, va de la ciudad 2 a la 3 y de sta a la 1. Como puede verse, la matriz

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

de recorrido de la Figura 2 es vlida porque constituye un recorrido adecuado, lo que quiere decir que no hay secuencias repetidas tal como la posibilidad de ir desde la ciudad 1 a tanto las 2 y 3. El problema con la representacin matricial es la operacin de cruza. En la cruza (o reproduccin) las caractersticas del individuo representadas por su cromosoma (codificacin) son mezcladas para crear nuevos individuos. Sin embargo, la representacin de matriz tal y como es no garantiza descendencia vlida. El problema del PVA tambin puede ser representado por una cadena de enteros de dos formas diferentes. La primera, dada por Homaifar, Guan y Liepins [7], Michalewicz [10], Goldberg [4] y Wroblewski [14], es usando una cadena: a1a2a3an. Lo anterior significa que el vendedor ira de la ciudad a1 a a2, de a2 a a3, y as sucesivamente hasta la ciudad an, y tambin desde an hasta la ciudad a1, a fin de completar el recorrido. La segunda manera de representar el PVA es utilizando la notacin de ciclo [10], con una cadena de enteros b1b2b3bn, donde el circuito ira desde la ciudad i a la ciudad bi. Por conveniencia se usar la primera forma de notacin de cadena. Las operaciones de codificacin y decodificacin son fciles de hacer. Es necesario explicar las operaciones de evaluacin, cruza (reproduccin) y mutacin. La operacin de evaluacin se efecta tomando la distancia entre la primera y segunda ciudades; luego se agrega la distancia entre la segunda y la tercera, hasta llegar a la ciudad n; depus se suma la distancia entre la ciudad n y la ciudad 1 con la intencin de completar el recorrido. La operacin de cruza es un poco ms compleja de explicar. Un ejemplo es el que sigue: se tiene una cadena con n ciudades, de ah se toma la mejor mitad de los inviduos y se escogen dos de ellos de forma aleatoria partir del grupo de candidatos; el primer individuo escogido es macho, la segunda, hembra.

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Entonces se obtiene un nmero aleatorio entre 0 y n; se denota a tal nmero por d, ste nmero indica el punto de quiebre en el macho. Si el nmero obtenido es n, significa que todos los nmeros en la cadena del macho pasan a la descendencia (clonacin del macho); pero si es cero, significa que todos los nmeros de la hembra pasan intactos a la descendencia (clonacin de la hembra). Si consigue un nmero entre 1 y n-1 se tienen que combinar ambos individuos; por lo tanto, se toman los primeros d nmeros del macho, y luego todos los nmeros no repetidos de la hembra para crear una nueva secuencia de nmeros en los cuales el lado izquierdo del macho se preserva. Considere por ejemplo lo que se muestra en la Figura 3, donde n=5. Los nmeros de arriba en el cromosoma del macho son las posiciones de corte. El 0 est al comienzo y 5 al final. Digamos que d=2. El punto de corte en el macho est indicado arriba en la Figura 2.
Macho
0 1 2 3 4 5

5 - 3 - 1 - 2 - 4 Hembra
0 1 2 3 4 5

3 - 4 - 5 - 2 - 1 Descendencia
0 1 2 3 4 5

5 - 3 - 4 - 2 - 1

Figura 3. Operacin de cruza para genes en serie.

Todos los nmeros a la izquierda del punto de corte del macho son preservados en la descendencia, de tal forma que su cromosoma comienza con 5-3. Para completar la secuencia se tomaron los nmeros vlidos del cromosoma femenino. El primer nmero en la hembra es 3, pero no se puede

http://www.uaz.edu.mx/revistainvestigacion

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

usar ste ya que est presente en el macho entre la posicin 1 y 2. El siguiente nmero en la hembra es 4, y como no se repite se aade. El tercer nmero en la hembra es 5, pero no es vlido pues la descendencia ya tiene un 5. El cuarto nmero en la hembra es 2, y ya que es vlido se agrega. Finalmente, el quinto nmero en el cromosoma de la hembra es 1, el cual tambin es vlido y se aade en la descendencia. De esta forma se pueden generar cromosomas vlidos de descendencia. Es tambin importante notar que cromosomas aparentemente similares pueden referirse al mismo recorrido; considrese por ejemplo n=5 y un circuito tal como 5-3-1-2-4. El cromosoma 3-1-2-4-5 representa la misma informacin que 5-3-1-2-4 porque la ciudad 5 est al final de aqul; mas como los cromosomas son circulares, despus de la ciudad 5 sigue la 3, que es lo mismo que en el cromosoma 5-3-1-2-4. El resto de la secuencia es idntica; otra variante es invertir los circuitos. El cromosoma 4-2-1-3-5 es igual que 5-3-1-2-4 y 3-1-2-4-5, puesto que el circuito es el mismo a pesar de que el orden se invierte. Otra variante que se est considerando es acomodar las ciudades en columnas en lugar de series. El arreglo cambia la manera en la que ocurre la cruza. La Figura 4 muestra un caso anlogo al de la Figura 3. Ntese que los genes se encuentran ubicados en dos columnas. Para reproduccin se toma el lado izquierdo del macho (5-1-4) y se completa el lado derecho usando la secuencia del cromosoma femenino.

http://www.uaz.edu.mx/revistainvestigacion

10

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Macho 5 - 3 1 - 2 4 Descendencia 5 - 3 1 - 2 4

Hembra 3 - 4 5 - 2 1

Figura 4. Operacin de cruza para genes en columna.

En este caso la primera ciudad es 3 y dado que no existe ese nmero en 5-1-4, se agrega. La segunda ciudad es 4, pero no se incluye dado que 5-1-4 ya la contienen. El tercer gen es 5, quien tampoco se aade ya que se localiza a la izquierda de la secuencia de la descendencia (5-1-4). Luego viene 2, el cual se inserta por no estar en la columna izquierda. Finalmente puede percibirse el 1, pero no se agrega (se ha completado el cromosoma), puesto que est a la izquierda del cromosoma del macho (5-1-4). La mutacin es muy simple de realizar, consiste en sacar un nmero aleatorio para cada descendencia y si es menor o igual a un porcentaje dado de mutacin, w, entonces tal individuo debe mutar. Para realizar la mutacin en cualquier individuo, simplemente se sacan dos nmeros aleatorios entre 1 y n y se intercambian las ciudades en tales posiciones. Ntese que ahora las posiciones no se refieren al espacio entre las ciudades sino al espacio de las ciudades, en s mismas. Existe un lmite a la mutacin, sea g el porcentaje de la poblacin requerida a tener la misma solucin a fin de terminar la corrida. Tambin, sea w la tasa de mutacin, esto es, el porcentaje de la poblacin que se espera que mute en una iteracin dada. Debe asumirse que para una generacin en particular se tiene antes de la mutacin, 100% de acuerdo con la solucin y que g=0.70.

http://www.uaz.edu.mx/revistainvestigacion

11

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Puesto que 100% > 70%, si no hay mutacin se terminara la corrida. Debe decirse que la tasa de mutacin es 50%, lo que quiere decir que slo 50% de los individuos de la poblacin no tocaron la solucin original. En esta situacin, el algoritmo nunca convergira. En general, la ecuacin (1) se aplica. (1)

g + w <1

La ecuacin (1) indica que a fin de que el algoritmo converja, g+w debe ser menos que uno. Se est usando un valor de g de 0.70 (70%). Una tasa de mutacin del 50% (w=0.50) es muy alta y el algoritmo nunca convergira para tales condiciones porque 0.70+0.50=1.20 > 1. Prueba Para probar si un esquema de codificacin (podra ser genes en series o genes en columnas) implica llegar a una solucin ms rpida o asegurar la solucin ptima, se condujeron un total de r pruebas. Una de las variables en nuestras pruebas es el mecanismo de codificacin: series o columnas, otra es la tasa de mutacin: 5%, 10%, 20% y 50%. Existe otra variable, al pensar en las regiones a lo largo de la historia de la humanidad, surge la duda respecto a si el tamao de la poblacin repercutira en la velocidad con la que est evolucionando. En el pasado las poblaciones eran relativamente pequeas, en la actualidad son ms grandes. Tiene entonces el tamao de la poblacin algn efecto en la velocidad con la que la poblacin est evolucionando? Si se traslada la idea a los algoritmos genticos, se puede descubrir una tercera variable para nuestras pruebas: tamao de la poblacin (m).

http://www.uaz.edu.mx/revistainvestigacion

12

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Se considerar una poblacin ms o menos grande, alrededor de 1,024 individuos; luego se dividir entre 16, lo que dar un total de 64 individuos para un segundo tamao de la poblacin. Se valorar el nmero de generaciones que le toma a la poblacin alcanzar el 70% (g=0.70), cabe destacar que todos ellos tienen la misma solucin. Esta variable se toma en cuenta dentro de ambos escenarios (genes en serie o genes en columnas) y para todas las tasas de mutacin (5%, 10%, 20% y 50%). La realizacin de las pruebas es vista como un problema mediano: en este estudio se seleccionaron 27 ciudades de las ms importantes de Mxico. Asimismo se asign un nmero para cada ciudad como se muestra en la Figura 5.

http://www.uaz.edu.mx/revistainvestigacion

13

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Nmero 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Ciudad Acapulco Aguascalientes Cancn Cuernavaca Chihuaha Durango Guadalajara Hermosillo Len Manzanillo Mrida Mxico, D.F. Morelia Monterrey Nuevo Laredo Oaxaca Pachuca Puebla Quertaro San Luis Potos Tampico Tijuana Toluca Torren Veracruz Villahermosa Zacatecas

http://www.uaz.edu.mx/revistainvestigacion

14

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Figura 5. Lista de ciudades.

El problema se resuelve con una programacin lineal y LINDO. La solucin ptima de aqul es: 1-23-19-13-10-7-9-2-20-27-6-8-22-5-24-14-15-21-25-26-11-316-18-17-12-4. La distancia total de la solucin es 12,216 km, ntese que sta es cclica y que despus de la ciudad 4 est la 1 nuevamente. El hecho de que la respuesta sea cclica tambin quiere decir que hay 27x2 = 54 maneras alternativas de mostrar la misma solucin.Se obtuvieron posiciones de las ciudades en un mapa. La Figura 6 muestra la ruta adecuada en un mapa virtual de Mxico (coordenadas en pxeles). En teora, la solucin ptima no debe tener ningn cruce, como puede observarse en talfigura.

0 0 200 400 600 800 1000 1200

500

1000

1500

2000

Figura 6. Ruta para la solucin ptima.

Se calcul el nmero promedio de generaciones que se requieren para alcanzar 70% de acuerdo con la solucin (corrida o r). Existe otra cuestin importante: cuntas corridas deben de considerarse. Para obtener el tamao de la muestra (r) se utiliza la frmula conocida como la desviacin estndar ( ); la cual fue tomada de un libro de Kvanli, Guynes y Pavur [9] y se encuencuentra detallada en la ecuacin (2).

Z / 2 r= E

(2)

http://www.uaz.edu.mx/revistainvestigacion

15

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

/2

es el valor de la distribucin normal para un intervalo de confianza dado


/2

( ). En este caso Z

es igual a 1.96, lo que implica un intervalo de confianza es la desviacin estndar de la poblacin, que es

del 95%. El valor de

aproximado con la desviacin estndar de la muestra. Puesto que se carece de tal valor, es posible aproximarlo usando la ecuacin (3).
HL 4

(3)

La razn de la frmula de la ecuacin (3) es que se sabe por regla emprica que el 95.4% de la poblacin est entre esperado en la muestra y H = +2 -2 y +2 . Sea L = -2 el mnimo el mximo valor esperado; se tiene que H-L

= 4 . Si se supone que la estadstica indica el nmero de corridas requeridas, el mximo valor para aquella sera r (H = r) y el mnimo, cero (L = 0). Si se sustituye H y L en la ecuacin (3) resulta:
r 4

(4)

Sustituyendo

de la ecuacin (4) en la ecuacin (2) resulta en la (5).

Z / 2r r= 4E

(5)

Al resolver r de la ecuacin (5) se obtiene la (6).

4E r= Z /2

(6)

http://www.uaz.edu.mx/revistainvestigacion

16

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

El nico parmetro que no se considera es E, lo que significa el error absoluto. Se consider un valor para E de 7. Si se aplica la ecuacin (6), el resultado se nota en el tamao del muestreo: 200.
(4)(7 ) r= = 204.08 200 1.96
2

(7)

Resultados Hay cinco pasos en los algoritmos genticos con respecto a lo que se ha mencionado: codificacin/gnesis, evaluacin, cruza, mutacin, y codificacin. Despus de crear la poblacin (paso 1), se evala el ajuste de todos los individuos en ella (paso 2), se reproduce de acuerdo con el esquema especfico a tal secuencia (paso 3) y algunos de los individuos mutan dependiendo la tasa de mutacin (paso 4). Luego, los pasos 2, 3 y 4 son iterados un nmero de veces (i) hasta que al menos g% de los individuos se encuentren en la misma solucin. Una corrida es la secuencia de repeticiones para una poblacin dada. Despus de que hay acuerdo en la solucin, el nmero de generaciones que tom llegar a tal resultado, la distancia total para la cadena, as como el resultado mismo (la secuencia de ciudades a visitar) son registrados en archivos llamados, por default, output1.txt y output2.txt (paso 5). Un total de 200 corridas son usadas y los datos resultantes son grabados. Se calcula el promedio del nmero de generaciones y distancias totales para todas las 200 corridas. El primer conjunto de 200 corridas es para una tasa de mutacin del 5% (w=0.05) y un tamao de poblacin de 1,024 (m=1,024) si se usan genes en

http://www.uaz.edu.mx/revistainvestigacion

17

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

serie. La Figura 7a muestra una grfica XY de los datos. En la Figura 8b se encuentra la misma tasa de mutacin pero para una poblacin de 64 (m = 64).
14500 Distancia Total 14000 13500 13000 12500 12000 0 500 1000 Generaciones 1500

a. m = 1,024
25000 Distancia Total 20000 15000 10000 5000 0 0 20 40 60 Generaciones 80

b. m = 64
Figura 7. 200 corridas para w = 0.05 con genes en serie.

La mejor corrida para m = 1,024 gener una ruta con la misma distancia (mnima) total de 12,216 km. La ruta obtenida fue 19-13-7-10-9-2-20-27-6-8-22-524-15-14-21-25-26-11-3-16-18-17-12-4-1-23. sta es la misma que la ruta de distancial total mnima que se obtuvo usando una programacin lineal, excepto por los pares 7-10 y 15-14n que se hallan revertidos. Ntese que la solucin de tal programacin comienza con 1-23-19-13, cuando comienza con 19-13 Ambas son iguales excepto por los dos pares mencionados; sin embargo, tienen la misma distancia total mnima de 12,216 km.

http://www.uaz.edu.mx/revistainvestigacion

18

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

La Figura 8 y 9 comparten los mismos resultados para tasas de mutacin del 10% y el 20%, respectivamente. Como se prevea no se pudieron obtener resultados para una tasa de mutacin del 50%, dado que g+w sera igual a 1.2, ver ecuacin (1).

14000 13800 13600 13400 13200 13000 12800 12600 12400 12200 12000 0 1000 2000 3000 Generaciones 4000

a. m = 1,024
25000 Distancia Total 20000 15000 10000 5000 0 0 50 Generaciones 100

b. m = 64
Figura 8. 200 corridas para w = 0.10 con genes en serie.

Distancia Total

http://www.uaz.edu.mx/revistainvestigacion

19

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

14500 Distancia Total 14000 13500 13000 12500 12000 0 5000 10000 Generaciones 15000

a. m = 1,024
20000 Distancia Total 15000 10000 5000 0 0 50 100 150 Generaciones 200

b. m = 64
Figura 9. 200 corridas para w = 0.20 con genes en serie.

El mismo conjunto de resultados fue obtenido para genes en columnas, como se muestra en las Figuras 10, 11 y 12, con tasas de mutacin del 5%, 10% y 20%, respectivamente. Una vez ms no se encontraron resultados para una tasa de mutacin del 50%.
25000 Distancia Total 20000 15000 10000 5000 0 0 20 40 60 Generaciones 80 100

a. m = 1,024

http://www.uaz.edu.mx/revistainvestigacion

20

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

30000 Distancia Total 25000 20000 15000 10000 5000 0 0 20 40 Generaciones 60

b. m = 64
Figura 10. 200 corridas para w = 0.05 con genes en columnas.
25000 Distancia Total 20000 15000 10000 5000 0 0 50 100 Generaciones 150

a. m = 1,024
30000 Distancia Total 25000 20000 15000 10000 5000 0 0 20 40 Generaciones 60

b. m = 64
Figura 11. 200 corridas para w = 0.10 con genes en columnas.

http://www.uaz.edu.mx/revistainvestigacion

21

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

20000 Distancia Total 15000 10000 5000 0 0 200 400 600 Generaciones 800 1000

a. m = 1,024
30000 Distancia Total 25000 20000 15000 10000 5000 0 0 50 100 Generaciones 150

b. m = 64
Figura 12. 200 corridas para w = 0.20 con genes en columnas.

Se calcul tambin el nmero promedio de generaciones para cada conjunto de 200 corridas, las cuales se muestran en la Figura 13a, as como el promedio de la distancia total de cada conjunto (Figura 13b).

http://www.uaz.edu.mx/revistainvestigacion

22

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

800 700 600 500 400 300 200 100 0

Generaciones Promedio

Mutacin: 5%

Mutacin: 10%

Mutacin: 20%

Tasa de Mutacin
Series-1024 Columnas-1024 Series-64 Columnas-64

a. Nmero de generaciones

http://www.uaz.edu.mx/revistainvestigacion

23

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

25000

20000
Distancia Total Promedio

15000

10000

5000

Mutacin: 5%

Mutacin: 10%

Mutacin: 20%

Tasa de Mutacin
Series-1024 Columnas-1024 Series-64 Columnas-64

b. Distancia total
Figura 13. Promedios para cada conjunto de 200 corridas.

Discusin y conclusin
Se puede apreciar en la Figura 7 que se toman menos generaciones (aproximadamente 40) en convergir cuando la poblacin es menor (m = 64), a diferencia de una poblacin larga (m = 1,024). Sin embargo, los resultados obtenidos son peores si la poblacin es pequea porque una gran poblacin le permite al sistema considerar un ms amplio conjunto de alternativas. Ocurre lo mismo con las altas tasas de mutacin. Obsrvese que para una mutacin del 10% (w=0.10) y para una del 20% (w=0.20) fueron encontradas varias soluciones ptimas: 6 para una del 10% y 17 para una del 20%. Debe valorarse que la mutacin tiende a incrementar el nmero de generaciones

http://www.uaz.edu.mx/revistainvestigacion

24

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

que toma alcanzar una solucin. Aparentemente, una alta tasa de mutacin tiende a mejorar la solucin, en tanto que no sea demasiado alta como para romper la regla de la ecuacin (1). Para el caso de los genes en columnas, ninguna de las 200 corridas de cada tipo de tasa de mutacin y poblacin logr resultados ptimos. Si se compara la Figura 7 con la 10 se puede observar que a los genes en columnas les lleva un tiempo ms corto lograr un acuerdo en la solucin. Se requieren alrededor de 40 generaciones para que los genes en columnas lleguen a una solucin teniendo una tasa de mutacin del 5% y una alta poblacin de 1,024, puesto que a los genes en serie les toma 100 generaciones. Al reproducir la poblacin con genes en columnas se logra una solucin ms rpida, adems al usar genes en columnas rara vez se logra una solucin ptima. La Figura 13a resume los resultados considerando el promedio de todos los datos (nmero total de generaciones) para cada caso: genes en serie con m =1,024; genes en serie con m = 64; genes en columnas con m = 1,024 y genes en columnas con m = 64. Se puede ver que el caso con el menor promedio de generaciones en alcanzar una generacin es el de los genes en columna con una poblacin pequea, seguido por el de los genes en serie con una pequea poblacin. Enseguida estn los genes en columnas y finalmente los que son en serie, ambos con una gran poblacin. Si se desea alcanzar una solucin rpida se debe tener una poblacin pequea. A medida que la tasa de mutacin se incrementa, el nmero promedio de generaciones requeridas para alcanzar una solucin tambin crece. El caso extremo es el de los genes en serie, larga poblacin (m = 1,024) y alta tasa de mutacin (w = 0.20), excediendo las 700 generaciones en promedio.

http://www.uaz.edu.mx/revistainvestigacion

25

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

La Figura 14b muestra los mismos cuatro casos aplicados al promedio de la distancia total de los circuitos resultantes obtenidos. El caso con la mnima distancia total promedio es el de los genes en serie, con una alta poblacin, seguido por el de los genes en columnas con una larga poblacin. Los peores casos son genes en serie con una baja poblacin y columnas con una baja poblacin. En consecuencia, a fin de alcanzar buenos resultados (mnima distancia total del circuito), es adecuado usar una larga poblacin. Debe tenerse en cuenta que a medida que la tasa de mutacin se incrementa, los resultados son mejores para los cuatro casos. En resumen, una pequea poblacin incrementa la velocidad pero reduce el desempeo; por el contrario un alta tasa de mutacin y el trabajar con genes en serie aumenta el desempeo. Aunque los genes en columnas reducen el nmero de corridas requerido para alcanzar una solucin. Con la finalidad de lograr una ejecucin ptima es recomendado usar una alta poblacin, alta tasa de mutacin y genes en serie. En el caso de pretender agilizar el resultado es pertinente usar una poblacin pequea, baja tasa de mutacin y genes en columnas. La Figura 14 resume los resultados obtenidos.

Resultados ptimos Lento en llegar a la solucin


- Poblacin alta - Tasa de mutacin alta - Genes en serie

Velocidad Solucin mala


- Baja poblacin - Baja tasa de mutacin - Genes en columnas

Figura 14. Resumen de resultados.

http://www.uaz.edu.mx/revistainvestigacion

26

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

Bibliografa
[1] De Jong, K.A., Analysis of the behavior of a class of genetic adaptive systems, Ph.D. Dissertation, University of Michigan, Ann Arbor (1975). [2] Elsayed, Elsayed A, and Thomas O. Boucher, Analysis and control of production systems, Upper Saddle River, New Jersey: Prentice Hall (1994). [3] Gauch Jr., Hugh G., Scientific method in practice, Cambridge, United Kingdom: Cambridge University Press (2003). [4] Goldberg, David E., Genetic algorithms in search, optimizations and machine learning, Addison-Wesley (1989). [5] Haupt, Randy L., and Sue Ellen Haupt, Practical genetic algorithms, Hoboken, NJ: John Wiley & Sons, Inc. (2004). [6] Holland, J.H., Adaptation in natural and artificial systems, Ann Arbor: University of Michigan Press (1975). [7] Homaifar, Abdollah, Shanguchuan Guan, and Gunar E. Liepins, Schema analysis of the traveling salesman problem using genetic algorithms, en Complex systems, 6 (2), pp. 183-217 (1992). [8] Kirkpatrick, S., C.D. Gelatt, and M.P. Vecchi, Optimization by simulated annealing, en Science 220, pp. 671-680. [9] Kvanli, Alan H., C. Stephen Guynes and Robert J. Pavur, Introduction to business statistics, West Publishing Company (1989). [10] Michalewicz, Zbigniew, Genetic Algorithms + Data Structures = Evolution programs, Springer-Verlag (1994). [11] Moravec, Hans, Robot: mere machine to transcendent mind, Oxford, England: Oxford University Press (1999). [12] Wilson, Edgar Bright, An introduction to scientific research, New York, NY: Dover Publications, Inc. (1990). [13] Winston, Wayne L., Operations research: applications and algorithms, Belmont, California: Duxbury Press (1994).

http://www.uaz.edu.mx/revistainvestigacion

27

Revista Digital de la Universidad Autnoma de Zacatecas Nueva poca. Publicacin cuatrimestral. Enero-Abril 2007, volumen 3, nmero 1. ISSN 1870-8196

[14] Wroblewski, Jakub, Theoretical foundations of order-based genetic algorithms, en Fundamenta informaticae, 28 (3-4), pp. 423-430 (1996).

http://www.uaz.edu.mx/revistainvestigacion

28

También podría gustarte