• Like
Implementacion Genetico AEB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Implementacion Genetico AEB

  • 359 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
359
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
11
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Práctica 1 de Algoritmos Evolutivos y Bioinspirados Eduardo Moreno Díaz Alumno Ingeniería Informática Universidad de Huelva eduardo.diaz@alu.uhu.es Resumen ya que cuando se enfrentan a casos muy complejos resultan ineficientes respecto a tiempo y recursos Este documento realiza un estudio entre empleados.diferentes implementaciones de algoritmosevolutivos genéticos aplicados para resolver el Este estudio analiza diferentes versiones deproblema del “viajante de comercio” o TSP estos algoritmos para enfrentarlos a tres casos del(Travelling Salesman Problem en inglés). Los TSP, CH130, problema de 130 ciudades con 6110algoritmos estudiados son el genético básico, con de coste; A280, 280 ciudades con un caminopoblación estacionaria y generacional, y paralelo mínimo de 2579; y P654, formado por 654 ciudadescon población estacionaria. Al final, se expondrán cuya solución óptima es 34643.las diferencias de comportamiento entre elalgoritmo de colonia de hormigas SH y SCH y los Los algoritmos de comparación SH y SCHdiferentes algoritmos implementados. [2] son los algoritmos que funcionan a la perfección sobre estos casos de estudio, por lo que acercarse aPALABRAS CLAVES: Optimización, viajante, los resultados que éstos presentan hace que resultealgoritmo evolutivo, colonia hormiga, algoritmo interesante la comparación con los genéticos.genético, paralelización.1. Introducción 2. Descripción de problema El problema del viajante de comercio es En su descripción matemática, el TSPuno de los problemas más conocidos y quizás el formado por el conjunto finto de ciudades C, tratamejor estudiado en el campo de la optimización de encontrar la permutación P = {co, c1, …, cn} talcombinatoria computacional. A pesar de la aparente quesencillez de su planteamiento, el TSP es uno de losproblemas más complejos. En su formulación más general, se trata deque, dado un conjunto de N ciudades, encontrar el sea mínimo. La distancia entre ciudades viene dadacircuito más corto que partiendo de una de ellas, por la matriz D = N x N donde d[x, y] representa lapase por todas las demás y retorne a la ciudad distancia entre las ciudades x e y.origen. Cabe destacar que, en principio, estaformulación no recoge premisas de conexión entreciudades, sino que el grafo formado por las ciudadeses fruto del producto cartesiano de todas lasciudades, formando un grafo completo.Evidentemente, dicho grafo presenta bucles o lazos Representación de la soluciónque el algoritmo de resolución debe controlar. La representación que se hará de la Son muchos los intentos que los solución será la lista de ciudades, ordenada en ordenmatemáticos han realizado para tratar de dar de paso, que representa el itinerario a seguir.respuesta a estos problemas, Edsger Dijkstra,Kruskal [1], etc. Dicho algoritmos de resolución sonmuy eficientes en problemas de poca complejidad
  • 2. Representación 1. Ejemplo de soluciónFunción objetivo Representación 3. Operador de mutación 2-Opt La función de evaluación para el problemadel TSP será la suma de las todas las distanciasentre ciudades que aparecen en la lista representadapor la solución. 3. Ciclo de Vida de los Algoritmos GenéticosOperador de selección Un algoritmo genético básico sigue el El operador de selección utilizado es el de procedimiento descrito en la figura 1:“torneo”. Se eligen cierto número de individuosaleatorios de la población y se selecciona al mejor, Procedure AGBobteniéndose así al padre 1. Se repite de nuevo elproceso y se elige al padre 2. Estos dos individuos Sf = 0se cruzan para obtener a dos nuevos hijos queformarán parte de la nueva población para las InicializarPoblación()siguientes iteraciones. Mientras (¬criterioParada) HacerOperador de cruce Padres = SeleccionarPadres() Hijos = CruzarPadres() Como operador de cruce se utilizará el Mutar(Hijos)conocido como Order Crossover OX1 [3]. Consiste Reemplazar()en tomar una parte de la solución de tamaño Sf = AlmacenarMejorIndividuo(Poblacion)aleatorio no superior a la mitad del tamaño de la Finsolución. Esta parte forma parte del nuevo hijo. Elresto del hijo se rellena con los datos del otro padre Devolver Sfque son elegidos en orden, teniendo en cuenta deque si el hijo ya tiene los valores que el segundo Finpadre le va a proporcionar, éste no puededuplicarlos. El proceso alterna a los padres y se crea Figura 1. Pseudocódigo Algoritmo Genético Básicoel nuevo hijo. Un ejemplo se puede ver en larepresentación 2. Este procedimiento requiere de ciertas particularidades a la hora de utilizarse en las implementaciones estudiadas. Las principales diferencias tienen que ver con la forma de reemplazar la población al final del proceso. Para el genético con población estacionaria, el hijo reemplaza a la peor solución existente en la población, siempre y cuando su función de coste presente mejor valor que la que va a reemplazar. En cambio, en el genético generacional los hijos Representación 2. Operador de cruce OX1 siempre reemplazan a los padres. Además, otro punto destacable es que en el generacional, se debeOperador de mutación conservar el elitismo de la población, para ello, siempre se pasa al mejor individuo a la nueva El operador de mutación usado es el 2-Opt. población.Se basa en realizar una permutación entre un par deciudades de la solución elegidas aleatoriamente El algoritmo genético paralelo estudiadocomo puede apreciarse en la representación 3. esta realizado utilizando el esquema de islas que se observa en la representación 4. Esta
  • 3. implementación consiste en tener diferentes AGB Generacionalpoblaciones de individuos separadas físicamente e ir - % de Cruce: 70%transfiriendo el mejor individuo de cada una de - % de Mutación: 10%ellas al resto. Con esta técnica se favorece - Tamaño torneo (tamaño población / 10)principalmente la diversidad poblacional tan - # de torneos: tamaño de la poblaciónnecesaria en estos algoritmos. Además permite - Criterio de parada: 20.000 iteraciones sindistribuir el coste computacional ente diferentes encontrar solución mejormáquinas ya que cada isla podría estar ubicada enuna CPU diferente y que cada cierto tiempo se AG Estacionario Paralelo:comunicarían entre ellas para transferir al mejor - # Islas: 6individuo de su población. - Criterio de parada: las mismas que haya dado el estacionario básico - Iteraciones intercambio: 10*tamaño Respecto a las técnicas de transferencia de soluciónindividuos existen varios tipos de interconexión:anillo, estrella, topología tipo toro, etc. Para este El tamaño de la población esta ligado alestudio se ha utilizado el esquema de anillo, en la caso de estudio que se esté realizando. Para elque cada isla esta conectada a dos islas, una para CH130 se ha utilizado 100 individuos; para el A280enviar y otra para recibir. Además se ha 150; y para el P654, 200.implementado hilos (threads) que simulan lasdiferentes CPUs. La máquina empleada es un ordenador Intel Pentium Dual Core a 2.66 GHZ por CPU y 2GB de RAM bajo Windows XP SP2 y con máquina Virtual de Java v1.6 A continuación, se muestran las tablas de resultados parciales por algoritmo y caso de estudio: Representación 4. Modelo de islas4. Experimentación Se ha realizado un proceso de Tabla 1. Resultados Parciales AG Básico Estacionarioexperimentación con las tres implementaciones delestudio, genético básico con población estacionaria,genético básico con población generacional ygenético paralelo con población estacionaria; contres casos de estudio del problema TSP: CH130,A280 y P654. Además, se ha utilizado losalgoritmos SCH y SH cómo algoritmos decomparación con los genéticos Tabla 2. Resultados Parciales AG Básico Generacional La parametrización utilizada en las pruebases la siguiente:AGB Estacionario - % de Cruce: 100% - % de Mutación: 10% - Tamaño torneo (tamaño población / 10) - # de torneos: 2 - Criterio de parada: 20.000 iteraciones sin encontrar solución mejor
  • 4. 600000 opt) no representa un cambio lo bastante importante Básico Estacionario como para que se produzcan resultados interesantes. 500000 Básico Generacional 400000 Atendiendo al tiempo empleado, cabe decir que consumen muchos recursos a ese nivel. Los dos 300000 procesadores sobre los que se han estado ejecutando 200000 la batería de pruebas han estado funcionando a pleno rendimiento durante todo el tiempo de 100000 ejecución. 0 CH130 A280 P654 Para comparar la versión básica estacionaria con la paralela estacionaria, se calcula Gráfica 1. Comparativa de resultados el speedup (tiempo dividido entre el número de islas utilizadas) sobre este último, resultando este valor 0,33 para el caso CH130, 2,66 para el A280 y 6 para el P654. Como se aprecia, el tiempo de ejecución en cada isla ha sido insuficiente ya que no se aproxima5. Análisis de Resultados al tiempo de ejecución de la versión básica. Este hecho explica los malos resultados que se han Observando las gráficas 2, 3 y 4 se puede obtenido. El criterio de parada empleado en estanotar la mala calidad que han ofrecido algunas de implementación no ha sido el adecuado, debiéndoselas semillas utilizadas. Además, para hacer cumplir haber optado por utilizar el mismo tiempo que en elel criterio de parada establecido, algunas han básico en cada isla.realizado muchas más iteraciones que otras. En las gráficas 2 y 3, se muestra una 6. Conclucionesconvergencia muy rápida para la versión conpoblación generacional. Además es la que ofrece los Los algoritmos genéticos son sencillos deresultados con mejor calidad. implementar ya que ni sus estructuras de datos ni sus funcionalidades requieren de conocimientos También resulta interesante estudiar como muy avanzados sobre ellos, con lo cual resultanel hecho de aumentar la población del genético muy interesantes para aplicar como primera idea abásico al paralelo no ha ofrecido los resultados que cualquier problema al que se tenga que buscarcabría esperar. La causa de este efecto podría solución. El hecho de no requerir una grandeberse a la falta de diversidad poblacional de las experiencia sobre el propio problema en cuestiónislas. Puede observarse en los ficheros de resultados corrobora esta conclusión.generados durante las pruebas, que el individuotransferido pasa muy rápidamente de una isla otra Los resultados obtenidos en comparacióncreando una élite que dificulta la selección de con los algoritmos basados en colonias de hormigasindividuos peores y que son los que realmente SCH y el SH han estado muy próximos incluso sepermiten el nacimiento de individuos diferentes que han llegado a mejorar con alguna semilla. Pero cabetal vez resulten interesantes. decir, que los tiempos con el que se han ejecutado dichos algoritmos fueron mucho más cortos que los La escala del caso de estudio también hace empleados por los genéticos [2].que el algoritmo funcione peor en igualdad decondiciones. Los algoritmos genéticos utilizan Requieren de tiempo de ajuste para quemuchos parámetros y es difícil un ajuste que funcionen adecuadamente. Son una ventaja ya quefuncione a la perfección para una gran variedad de el abanico de problemas a los que se puede aplicarproblemas. es bastante amplio pero que ofrezcan los resultados deseados requiere de tiempo. Respecto al operador de mutación, tambiénhubiera sido útil estudiar diferentes posibilidades de La versión con población generacional quepermutación como la 5-opt, 10-opt, etc. Al tratarse se ha desarrollado ha aportado los mejoresde casos de estudio con una longitud de solución resultados de entre las dos implementadas, haciendonotable, un simple cambio de un valor por otro (2- interesante estudiar cómo se comportaría la versión paralela con esta forma de evolución poblacional.
  • 5. American Mathematical Society. 7 (1956), pp. 48–50 [2] E.M Díaz (2011). Práctica 1 Algoritmos Evolutivos y7. Referencias Bioinspirados.[1] J. B. Kruskal: On the shortest spanning subtree and [3] Davis. L. (1985) Appliying Adaptative Algorithms tothe Epistatic Domains traveling salesman problem. En: Proceedings of theAnexo ITabla de resultados globalesA continuación, se muestra la tabla de resultados globales obtenidos en la batería de pruebas realizada. Losvalores de tiempo están dados en minutos Tabla 3. Resultados FinalesGráficas de resultados parcialesLas siguientes gráficas muestran los resultados parciales obtenidos para las diferentes implementaciones delalgoritmo genético generados y los casos de estudio sobre los que se han aplicado Gráfica 2. Evolución caso estudio CH130
  • 6. Gráfica 3. Evolución caso estudio A280Gráfica 4. Evolución caso estudio P654