SlideShare una empresa de Scribd logo
1 de 5
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
                                                                 Son muchos los intentos que los
    El objetivo de este documento es el de presentar    matemáticos han realizado para tratar de dar
los resultados obtenidos en la práctica número uno      respuesta a estos problemas, Edsger Dijkstra,
de la asignatura de Algoritmos Evolutivos y             Kruskal [1], etc. Dicho algoritmos de resolución son
Bioinspirados en el curso 2010/2011. Se trata de        muy eficientes en problemas de poca complejidad
implementar los algoritmos conocidos como               ya que cuando se enfrentan a casos muy complejos
“hormigas” para resolver el problema del                resultan ineficientes respecto a tiempo y recursos
“viajante de comercio” o TSP (Travelling Salesman       empleados.
Problem en inglés). Dichos algoritmos serán el SH
o Sistema de Hormigas, el SHE o sistema de                       Los algoritmos basados en colonias
Hormigas Elitistas y el SCH o Sistema de Colonia        naturales de individuos como las hormigas, se
de Hormigas. Se realizará un estudio comparativo        inspiran en la observación de cómo las
entre los resultados obtenidos para varios casos de     organizaciones sociales que conforman los animales
dicho problema. Al final, se expondrán las              en la naturaleza son capaces de resolver problemas
conclusiones a las que se ha llegado partiendo          complejos [2]. Para el caso que se plantea, las
desde la premisa de que los resultados han sido         hormigas son capaces de encontrar comida y crear
obtenido a partir de una parametización                 rutas, en principio cortas, que permiten al resto de
proporcionada por el profesor y no ha sido              la colonia llegar hasta ella. Ésta idea ha sido
modificada en ningún momento.                           adaptada para resolver el problema del TSP. Las
                                                        ciudades son zonas de comida y las hormigas tienen
1. Introducción                                         que pasar por todas ellas, regresar al origen y con el
                                                        mínimo recorrido.
         El problema del viajante de comercio es
uno de los problemas más famosos y quizás el                     Para la realización de este estudio, se han
mejor estudiado en el campo de la optimización          implementado tres versiones de este algoritmo para
combinatoria computacional. A pesar de la aparente      enfrentarlas a tres casos del TSP, CH130, problema
sencillez de su planteamiento, el TSP es uno de los     de 130 ciudades con 6110 de coste; A280, 280
problemas más complejos de resolver que se              ciudades con un camino mínimo de 2579; y P654,
equipara, a veces, con problemas matemáticos            formado por 654 ciudades cuya solución óptima es
mucho más complejos que han retado a los                34643. Dicho casos son de poca complejidad en lo
matemáticos desde hace siglos.                          que al que tiempo razonable se entiende en las que
                                                        se pueden apreciar las diferencias que existen entre
         En su formulación más general, se trata de     las diferentes formas de resolverlos mediante
que, dado un conjunto de N ciudades, encontrar el       algoritmos de colonia de hormigas.
circuito más corto que partiendo de una de ellas,
pase por todas las demás y retorne a la ciudad
origen. Cabe destacar que, en principio, esta
formulación no recoge premisas de conexión entre        2. Descripción de problema
ciudades, sino que el grafo formado por las ciudades
es fruto del producto cartesiano de todas las                   En su descripción matemática, el TSP
ciudades,     formando     un    grafo    completo.     formado por el conjunto finto de ciudades C, trata
Evidentemente, dicho grafo presenta bucles o lazos      de encontrar la permutación P = {co, c1, …, cn} tal
que el algoritmo de resolución debe controlar.          que
sea mínimo. La distancia entre ciudades viene dada      siendo n el numero de ciudades del caso de estudio
por la matriz D = N x N donde d[x, y] representa la     TSP y L el coste de la solución inicial. El valor
distancia entre las ciudades x e y.                     generado se utiliza además como mínimo valor para
                                                        la citada matriz, asegurando que dicha matriz
        Para dar solución a este problema con los       conserve un valor distinto de 0 necesario para el
algoritmos de hormigas, se hace necesaria de otra       procedimiento de transición de la hormiga entre
matriz adicional, la matriz F = N x N de                ciudades.
Feromonas, cuyo objetivo es el potenciar los
caminos más visitados por las hormigas.                          En la construcción de la solución, la
                                                        hormiga selecciona cuál es la mejor ciudad a la que
         La representación que se hará de la            debe moverse de entre todas las no visitadas aún por
solución será la lista de ciudades, ordenada en orden   ella. Es en este procedimiento donde se tendrán en
de paso, por las que la hormiga ha realizado el         cuenta ambos factores que condicionan el problema:
recorrido por el grafo.                                 la distancia y la feromona depositada por otras
                                                        hormigas. Esta relación es probabilística,
         Además, para evitar los bucles en el           potenciando     así    la   aleatoriedad    de    la
recorrido, cada hormiga tiene una memoria que           implementación en su similitud con la naturaleza
indica si la siguiente ciudad a la que ha de moverse
esta ya en el camino recorrido o no.


3. Ciclo de Vida de los Sistemas de                     siendo α y β parámetros de control sobre la
Hormigas                                                importancia de la feromona y el la distancia, n la
                                                        inversa de la distancia entre las ciudades vecinas i y
         Las tres implementaciones que se ha            j que aún no han sido visitadas. Esta fórmula
realizado son muy similares exceptuando algunas         aplicada a cada posible ciudad del vecindario
particularidades.  Básicamente    siguen    este        retorna una lista de probabilidades entre las cuales
procedimiento:                                          se ha de seleccionar una. Para realizar la citada
                                                        elección se utiliza un algoritmo basado en ruleta,
Procedure SH                                            que asigna porciones de dicha ruleta en función de
                                                        las probabilidades de elección de las ciudades. La
 Sf = 0                                                 ciudad que resulta elegida pasa a ser la siguiente en
                                                        el recorrido de la hormiga. Gracias a este sencillo
 InicializarFeromonas()                                 proceso, se mantiene la relación entre explotación y
                                                        exploración ofreciendo posibilidades a soluciones
 Mientras (¬criterioParada) Hacer                       que no resultan óptimas, escapando así de mínimos
   Si = ContruirSolucion()                              locales. Llegado este punto, se hace necesario
   ActualizarFeromona()                                 resaltar la primera diferencia con el Sistema de
  Sf = AlmacenarMejorSolucionSiProcede(S i)             Colonia de Hormigas. Este algoritmo una regla de
 Fin                                                    transición pseudo-aleatoria tal que

 Devolver Sf

Fin
                                                        donde s es la siguiente ciudad a elegir, S es la
         La     inicializacion    de     Feromonas      aplicación de la anterior fórmula de transición, u
corresponde a asignar un valor a la matriz de
                                                        ЄJk el conjunto de ciudades no visitas, q0 la
feromonas del problema. Normalmente, se le
                                                        probabilidad de elección entre ambos métodos y q
atribuye el valor generado por algún algoritmo que
                                                        el valor aleatorio generado.
nos de una primera solución a la que le aplicamos la
fórmula
Por último, se encuentra la actualización
de las feromonas, parte fundamental de este tipo de
algoritmos constructivos. Se trata de modificar la    4. Experimentación
heurística del problema potenciando aquellas rutas
que se muestran aconsejables de estudiar. Es sobre             Se ha realizado una batería de pruebas
dicho apartado donde residen las principales          sobre las implementaciones expuestas con los
diferencias entre los tres algoritmos resolutorios    parámetros indicados por el profesor en el
basados en hormigas. Existen dos formas de realizar   enunciado de la práctica. También se ha realizado
dicho proceso:                                        un algoritmo comparativo greedy cuya heurística se
                                                      basa en partir de la ciudad 0 del caso de estudio e ir
    Actualización, paso a paso. De esta manera las   alcanzado el resto de ciudades en función a la
     hormigas ponen una cantidad constante de         menor distancia entre éstas. Dicho algoritmo sólo se
     feromona cada vez que van de un nodo a otro.     ejecuta una vez y proporciona una comparación
     Existen pequeñas variaciones que hacen que       perfecta para el resto de métodos.
     pongan más o menos feromona, según la
     cantidad de feromona presente antes de dar el             A continuación, se muestran las tablas de
     paso. Es el utilizado en el Sistema de Colonia   resultados obtenidas.
     de Hormigas en la actualización local de
     feromonas, modificando dicho valor en
     función del parámetro de evaporación φ



     siendo r y s ciudades.


    Actualización a posteriori . De este modo las
     hormigas ponen feromona después de haber
     encontrado una solución por todas las aristas
     por donde pasaron para encontrar la solución.
     Esto puede ser en una cantidad constante por
     todas las aristas, o dependiendo de la calidad
     de la solución encontrada, o de parámetros
     externos determinados por el programador,
     pueden poner más o menos feromona según el
     camino encontrado. Este método es empleado
     por el Sistema de Hormigas, el Sistema de
     Hormigas Elitista [3] y el Sistema de Colonias
     de Hormigas en la actualización global.


                                                         Tablas de resultados por algoritmo y casos de
                                                                            estudio



     Además el Sistema de Hormigas Elitista
     refuerza el mejor camino obtenido hasta el                    Tabla de resultados globales
     momento multiplicando el valor de la
     feromona por un parámetro, consiguiendo así
     una mayor velocidad de convergencia. Este
     valor debe ser estudiado cuidadosamente ya
     que de elegir uno que resulte inapropiado, el
     sistema puede converger a óptimos locales con
     mucha facilidad.
presenta y el resto. Es por tanto una buena
                          ch130                           heurística de aproximación a la solución óptima. Se
                                                          podría haber tomado dicha solución como solución
          60000

          50000
                                                          de partida del resto de implementaciones e iterar
          40000
                                                          sobre ella para mejorarla.
                                                   SH
                                                                    También se ha observado que la
  Coste




          30000                                    SHE
          20000                                    SCH    convergencia de los algoritmos que se han estudiado
          10000                                           difiere entre ellas de forma bastante evidente. A
              0                                           medida que el algoritmo es más complejo, se
                       Iteraciones                        acelera el ritmo de convergencia acercando cada
                                                          vez más a la solución óptima. Sobre este aspecto
                          a280
                                                          cabe destacar el algoritmo SHE sobre el caso de
          14000
          12000
                                                          estudio CH130, que hace justo lo contrario. Este
          10000
                                                          fenómeno ocurre cuando el refuerzo elitista de
           8000                                    SH     feromonas que se realiza sobre el camino de la
  Coste




           6000                                    SHE    mejor solución es desproporcionado con relación al
           4000                                    SCH
                                                          tamaño de la instancia del TSP. Las hormigas
           2000                                           tienden a elegir el camino con más feromonas
              0
                                                          rechazando el camino con menor distancia, cayendo
                        Iteraciones
                                                          así en mínimos locales de los cuales es imposible
                          p654
                                                          salir. Esto ocurre cuando el número de hormigas
                                                          elitista para la instancia indicada es superior a 5.
          140000
          120000
          100000
                                                                   Dicha convergencia se ha notado muy
           80000
                                                   SH
                                                          rápida. Dependiendo siempre de la instancia,
  Coste




                                                   SHE
           60000
                                                   SCH
                                                          durante el primer 25% de la ejecución se alcanza
           40000                                          una solución bastante aceptable. Claro esta que
           20000
              0
                                                          modificando los parámetros que se han marcado,
                        Iteraciones
                                                          dicha convergencia se puede acelerar aún más y con
                                                          resultados aún mejores.

         Durante la fase de experimentación, se ha                 Se ha notado que la elección de la ciudad
observado que el algoritmo SHE no mejora pasada           de origen marca también la diferencia entre las
50 iteraciones. Así pues, se ha decidido tomar            soluciones. Al tratarse de algoritmos constructivos,
dichas 50 iteraciones como criterio de parada             el hecho de tener muchas ciudades cercanas entre
adicional al tiempo de ejecución.                         las que elegir hace que las probabilidades sean casi
                                                          parejas, presentando una probabilidad en el
          Se ha utilizado 5 semillas diferentes para la   algoritmo de selección muy escasa.
inicialización de los objetos random necesarios para
la aleatoriedad de los algoritmos y los resultados                 Como se ha expuesto al principio de este
presentados en las gráficas corresponden a los            punto, el tamaño de las instancias es relativamente
valores medios obtenidos.                                 pequeño, con lo que se puede apreciar una clara
                                                          diferencia entre las tres implementaciones que se
5. Análisis de Resultados                                 están presentando. El algoritmo SCH nada más
                                                          empezar su ejecución tiene ya la solución mejor que
         Antes de ofrecer un análisis de los              se puede alcanzar con los parámetros establecidos,
resultados y obtener unas conclusiones, cabe              por lo que en el resto de iteraciones prácticamente
resaltar que la experimentación realizada se ha           no mejora nada.
elaborado sobre unos problemas cuya complejidad
es baja, y que por tanto, no puede entenderse como                 Por último, cabe destacar que los tres
un estudio general de los problemas TSP.                  algoritmos son poco capaces de escapar de mínimos
                                                          locales. Por tanto, pude plantearse el estudio de
         Tomando como primera aproximación el             técnicas de reinicialización que eviten este tipo de
algoritmo determinista greedy, se observa que no          inconvenientes como puede ser una racha de viento
existe una gran diferencia entre los costes que éste      que elimine el rastro de feromonas o la introducción
de algún obstáculo que fuerce a las hormigas a               System: Optimization by a colony of cooperating
buscar nuevas rutas.                                         agents”, IEEE Transaction on Systems,
                                                             Man, & Cybernetics, Vol 26, No. 1, pg.1-13, 1996.

                                                          [3] Dorigo, M.; Stützle, T. (2004). Ant Colony
                                                              Optimization. MIT Press.



6. Concluciones
        Las presentes conclusiones no pueden ser
tomadas como ideas globales ni teoremas empíricos
puesto que no están refutadas con el resto de la
comunidad. Sólo son el fruto del estudio de los
algoritmos expuestos a lo largo del documento para
los casos de estudios tomados. Son conclusiones
empíricas que sólo se podrán aplicar a lo citado.

        Los algoritmos basados en hormigas son
métodos de exploración combinatoria muy rápidos,
que parametrizados de la forma adecuada, pueden
encontrar soluciones aceptables en tiempos muy
razonables.

         Cabe resaltar que son también incapaces de
salir de mínimos locales cuando han caído en ellos.
Es por tanto que se hace necesario estudiar
estrategias que permitan la búsqueda de nuevas
soluciones como puede ser rachas de vientos cuando
no se producen mejoras o incorporación de
obstáculos al recorrido de ciudades.

        Esta conclusión esa muy relacionada con el
hecho de la no mejora llegado a un punto de
convergencia. Es por tanto, que se hace necesaria la
modificación de ciertos parámetros a medida que se
avanza en el algoritmo.

         La elección de la ciudad de comienzo de la
hormiga también debe ser estudiada con
detenimiento y no realizar este proceso de forma
aleatoria. Si la ciudad elegida está rodeada de otras
ciudades cercanas, el algoritmo no toma buenas
decisiones de transición entre las ciudades. Para el
comienzo del algoritmo es importante elegir
ciudades que estén bastante separadas.


7. Referencias
[1] J. B. Kruskal: On the shortest spanning subtree and
the
    traveling salesman problem. En: Proceedings of the
    American Mathematical Society. 7 (1956), pp. 48–50

[2] Dorigo M., Maniezzo V. y Colorni A., “The Ant

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

Examen final ii termino 2007
Examen final ii termino 2007Examen final ii termino 2007
Examen final ii termino 2007
 
Newton Raphson
Newton RaphsonNewton Raphson
Newton Raphson
 
Aplicacion
AplicacionAplicacion
Aplicacion
 
Newton raphson
Newton raphsonNewton raphson
Newton raphson
 
MÉTODOS NUMÉRICOS
MÉTODOS NUMÉRICOSMÉTODOS NUMÉRICOS
MÉTODOS NUMÉRICOS
 
Polinomios interpolantes
Polinomios interpolantesPolinomios interpolantes
Polinomios interpolantes
 
20 algoritmos
20 algoritmos20 algoritmos
20 algoritmos
 
Método de newton
Método de newtonMétodo de newton
Método de newton
 
Ecuaciones tipo hammerstein romero alvarez-n
Ecuaciones tipo hammerstein romero alvarez-nEcuaciones tipo hammerstein romero alvarez-n
Ecuaciones tipo hammerstein romero alvarez-n
 
SOLUCION DE ECUACIONES NO LINEALES
SOLUCION DE ECUACIONES NO LINEALESSOLUCION DE ECUACIONES NO LINEALES
SOLUCION DE ECUACIONES NO LINEALES
 

Destacado

Trabajo modulo iii
Trabajo modulo iiiTrabajo modulo iii
Trabajo modulo iiitietorres
 
Ejército aborigen y milicias coloniales
Ejército aborigen y milicias colonialesEjército aborigen y milicias coloniales
Ejército aborigen y milicias colonialesespinozairving
 
Tipología, características esenciales y perfeccionamiento de derechos de apro...
Tipología, características esenciales y perfeccionamiento de derechos de apro...Tipología, características esenciales y perfeccionamiento de derechos de apro...
Tipología, características esenciales y perfeccionamiento de derechos de apro...Mirta Hnriquez
 
Comercio electronico
Comercio electronicoComercio electronico
Comercio electronicomartinacadena
 
Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...
Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...
Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...E-investigación bibliográfica, FCUNAM
 
Anteproyecto Título IV
Anteproyecto Título IVAnteproyecto Título IV
Anteproyecto Título IVconsumidorbo
 
Lineamiento del consejo tecnico escolar 2013 2014
Lineamiento del consejo tecnico escolar 2013 2014Lineamiento del consejo tecnico escolar 2013 2014
Lineamiento del consejo tecnico escolar 2013 2014Sandra Díaz
 
Legislación penal ecuatoriana
Legislación penal ecuatorianaLegislación penal ecuatoriana
Legislación penal ecuatorianaaldolr7
 
Mercado de divisas
Mercado de divisasMercado de divisas
Mercado de divisasesneylo
 
Redes sociales y aulas virtuales1
Redes sociales y aulas virtuales1Redes sociales y aulas virtuales1
Redes sociales y aulas virtuales1Micky Jurado
 
Ppt seminario
Ppt seminarioPpt seminario
Ppt seminariooscareo79
 
Cuidadosdelagua
CuidadosdelaguaCuidadosdelagua
Cuidadosdelagualuperojas
 
Motivating learners
Motivating learnersMotivating learners
Motivating learnerssarah_j_cox
 

Destacado (20)

Trabajo modulo iii
Trabajo modulo iiiTrabajo modulo iii
Trabajo modulo iii
 
Ejército aborigen y milicias coloniales
Ejército aborigen y milicias colonialesEjército aborigen y milicias coloniales
Ejército aborigen y milicias coloniales
 
Tipología, características esenciales y perfeccionamiento de derechos de apro...
Tipología, características esenciales y perfeccionamiento de derechos de apro...Tipología, características esenciales y perfeccionamiento de derechos de apro...
Tipología, características esenciales y perfeccionamiento de derechos de apro...
 
A filosofia medieval
A filosofia medievalA filosofia medieval
A filosofia medieval
 
Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
 
Escritos Milenarios
Escritos  MilenariosEscritos  Milenarios
Escritos Milenarios
 
Prehistoria De La Igualdad
Prehistoria De La  IgualdadPrehistoria De La  Igualdad
Prehistoria De La Igualdad
 
Rlef2 5
Rlef2 5Rlef2 5
Rlef2 5
 
REdes sociales
REdes socialesREdes sociales
REdes sociales
 
Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...
Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...
Ciencimetría para la historia de la taxonomía: colecciones y tipos de informa...
 
Anteproyecto Título IV
Anteproyecto Título IVAnteproyecto Título IV
Anteproyecto Título IV
 
Lineamiento del consejo tecnico escolar 2013 2014
Lineamiento del consejo tecnico escolar 2013 2014Lineamiento del consejo tecnico escolar 2013 2014
Lineamiento del consejo tecnico escolar 2013 2014
 
Legislación penal ecuatoriana
Legislación penal ecuatorianaLegislación penal ecuatoriana
Legislación penal ecuatoriana
 
Mercado de divisas
Mercado de divisasMercado de divisas
Mercado de divisas
 
Redes sociales y aulas virtuales1
Redes sociales y aulas virtuales1Redes sociales y aulas virtuales1
Redes sociales y aulas virtuales1
 
Ppt seminario
Ppt seminarioPpt seminario
Ppt seminario
 
Escritos.Mujeres
Escritos.MujeresEscritos.Mujeres
Escritos.Mujeres
 
Escritos
EscritosEscritos
Escritos
 
Cuidadosdelagua
CuidadosdelaguaCuidadosdelagua
Cuidadosdelagua
 
Motivating learners
Motivating learnersMotivating learners
Motivating learners
 

Similar a Implementaciones ACO AEB

Implementacion Genetico AEB
Implementacion Genetico AEBImplementacion Genetico AEB
Implementacion Genetico AEBedmodi
 
Imitación a las Hormigas
Imitación a las HormigasImitación a las Hormigas
Imitación a las HormigasMabymol
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historialyonc357
 
Universidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdfUniversidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdfarturoruizlopez1
 
Instituto universitario politécnico revista 1
Instituto universitario politécnico revista 1Instituto universitario politécnico revista 1
Instituto universitario politécnico revista 1eduard lugo
 
Colonia de hormigas(1)
Colonia de hormigas(1)Colonia de hormigas(1)
Colonia de hormigas(1)Katy Tumpi
 
Pagina web Análisis Numérico
Pagina web Análisis NuméricoPagina web Análisis Numérico
Pagina web Análisis Numéricochristopheradan50
 
Instituto universitario politécnico yesica
Instituto universitario politécnico yesicaInstituto universitario politécnico yesica
Instituto universitario politécnico yesicayessicasanchez232
 
Red neuronal artificial
Red neuronal artificialRed neuronal artificial
Red neuronal artificialcarlos colque
 
Implementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No ConstructivasImplementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No Constructivasedmodi
 
Luisarmando saia
Luisarmando saia Luisarmando saia
Luisarmando saia lpgraterol
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGustavo Dejean
 

Similar a Implementaciones ACO AEB (20)

Implementacion Genetico AEB
Implementacion Genetico AEBImplementacion Genetico AEB
Implementacion Genetico AEB
 
Imitación a las Hormigas
Imitación a las HormigasImitación a las Hormigas
Imitación a las Hormigas
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historia
 
Revista deybis
Revista deybisRevista deybis
Revista deybis
 
Revista deybis
Revista deybisRevista deybis
Revista deybis
 
Universidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdfUniversidad_Autonoma_de_Queretaro_IMPLEM.pdf
Universidad_Autonoma_de_Queretaro_IMPLEM.pdf
 
Polinomios interpolantes
Polinomios interpolantesPolinomios interpolantes
Polinomios interpolantes
 
Analisis numerico
Analisis numericoAnalisis numerico
Analisis numerico
 
Instituto universitario politécnico revista 1
Instituto universitario politécnico revista 1Instituto universitario politécnico revista 1
Instituto universitario politécnico revista 1
 
Colonia de hormigas(1)
Colonia de hormigas(1)Colonia de hormigas(1)
Colonia de hormigas(1)
 
Pagina web Análisis Numérico
Pagina web Análisis NuméricoPagina web Análisis Numérico
Pagina web Análisis Numérico
 
Instituto universitario politécnico yesica
Instituto universitario politécnico yesicaInstituto universitario politécnico yesica
Instituto universitario politécnico yesica
 
20 algoritmos
20 algoritmos20 algoritmos
20 algoritmos
 
Red neuronal artificial
Red neuronal artificialRed neuronal artificial
Red neuronal artificial
 
numerosAleatorios.pptx
numerosAleatorios.pptxnumerosAleatorios.pptx
numerosAleatorios.pptx
 
Implementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No ConstructivasImplementaciones PHub ABH Búsquedas No Constructivas
Implementaciones PHub ABH Búsquedas No Constructivas
 
Metodo de eliminacion gaussiana
Metodo de eliminacion  gaussianaMetodo de eliminacion  gaussiana
Metodo de eliminacion gaussiana
 
Luisarmando saia
Luisarmando saia Luisarmando saia
Luisarmando saia
 
Aco Teoria 1
Aco Teoria 1Aco Teoria 1
Aco Teoria 1
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número Cromático
 

Implementaciones ACO AEB

  • 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 Son muchos los intentos que los El objetivo de este documento es el de presentar matemáticos han realizado para tratar de dar los resultados obtenidos en la práctica número uno respuesta a estos problemas, Edsger Dijkstra, de la asignatura de Algoritmos Evolutivos y Kruskal [1], etc. Dicho algoritmos de resolución son Bioinspirados en el curso 2010/2011. Se trata de muy eficientes en problemas de poca complejidad implementar los algoritmos conocidos como ya que cuando se enfrentan a casos muy complejos “hormigas” para resolver el problema del resultan ineficientes respecto a tiempo y recursos “viajante de comercio” o TSP (Travelling Salesman empleados. Problem en inglés). Dichos algoritmos serán el SH o Sistema de Hormigas, el SHE o sistema de Los algoritmos basados en colonias Hormigas Elitistas y el SCH o Sistema de Colonia naturales de individuos como las hormigas, se de Hormigas. Se realizará un estudio comparativo inspiran en la observación de cómo las entre los resultados obtenidos para varios casos de organizaciones sociales que conforman los animales dicho problema. Al final, se expondrán las en la naturaleza son capaces de resolver problemas conclusiones a las que se ha llegado partiendo complejos [2]. Para el caso que se plantea, las desde la premisa de que los resultados han sido hormigas son capaces de encontrar comida y crear obtenido a partir de una parametización rutas, en principio cortas, que permiten al resto de proporcionada por el profesor y no ha sido la colonia llegar hasta ella. Ésta idea ha sido modificada en ningún momento. adaptada para resolver el problema del TSP. Las ciudades son zonas de comida y las hormigas tienen 1. Introducción que pasar por todas ellas, regresar al origen y con el mínimo recorrido. El problema del viajante de comercio es uno de los problemas más famosos y quizás el Para la realización de este estudio, se han mejor estudiado en el campo de la optimización implementado tres versiones de este algoritmo para combinatoria computacional. A pesar de la aparente enfrentarlas a tres casos del TSP, CH130, problema sencillez de su planteamiento, el TSP es uno de los de 130 ciudades con 6110 de coste; A280, 280 problemas más complejos de resolver que se ciudades con un camino mínimo de 2579; y P654, equipara, a veces, con problemas matemáticos formado por 654 ciudades cuya solución óptima es mucho más complejos que han retado a los 34643. Dicho casos son de poca complejidad en lo matemáticos desde hace siglos. que al que tiempo razonable se entiende en las que se pueden apreciar las diferencias que existen entre En su formulación más general, se trata de las diferentes formas de resolverlos mediante que, dado un conjunto de N ciudades, encontrar el algoritmos de colonia de hormigas. circuito más corto que partiendo de una de ellas, pase por todas las demás y retorne a la ciudad origen. Cabe destacar que, en principio, esta formulación no recoge premisas de conexión entre 2. Descripción de problema ciudades, sino que el grafo formado por las ciudades es fruto del producto cartesiano de todas las En su descripción matemática, el TSP ciudades, formando un grafo completo. formado por el conjunto finto de ciudades C, trata Evidentemente, dicho grafo presenta bucles o lazos de encontrar la permutación P = {co, c1, …, cn} tal que el algoritmo de resolución debe controlar. que
  • 2. sea mínimo. La distancia entre ciudades viene dada siendo n el numero de ciudades del caso de estudio por la matriz D = N x N donde d[x, y] representa la TSP y L el coste de la solución inicial. El valor distancia entre las ciudades x e y. generado se utiliza además como mínimo valor para la citada matriz, asegurando que dicha matriz Para dar solución a este problema con los conserve un valor distinto de 0 necesario para el algoritmos de hormigas, se hace necesaria de otra procedimiento de transición de la hormiga entre matriz adicional, la matriz F = N x N de ciudades. Feromonas, cuyo objetivo es el potenciar los caminos más visitados por las hormigas. En la construcción de la solución, la hormiga selecciona cuál es la mejor ciudad a la que La representación que se hará de la debe moverse de entre todas las no visitadas aún por solución será la lista de ciudades, ordenada en orden ella. Es en este procedimiento donde se tendrán en de paso, por las que la hormiga ha realizado el cuenta ambos factores que condicionan el problema: recorrido por el grafo. la distancia y la feromona depositada por otras hormigas. Esta relación es probabilística, Además, para evitar los bucles en el potenciando así la aleatoriedad de la recorrido, cada hormiga tiene una memoria que implementación en su similitud con la naturaleza indica si la siguiente ciudad a la que ha de moverse esta ya en el camino recorrido o no. 3. Ciclo de Vida de los Sistemas de siendo α y β parámetros de control sobre la Hormigas importancia de la feromona y el la distancia, n la inversa de la distancia entre las ciudades vecinas i y Las tres implementaciones que se ha j que aún no han sido visitadas. Esta fórmula realizado son muy similares exceptuando algunas aplicada a cada posible ciudad del vecindario particularidades. Básicamente siguen este retorna una lista de probabilidades entre las cuales procedimiento: se ha de seleccionar una. Para realizar la citada elección se utiliza un algoritmo basado en ruleta, Procedure SH que asigna porciones de dicha ruleta en función de las probabilidades de elección de las ciudades. La Sf = 0 ciudad que resulta elegida pasa a ser la siguiente en el recorrido de la hormiga. Gracias a este sencillo InicializarFeromonas() proceso, se mantiene la relación entre explotación y exploración ofreciendo posibilidades a soluciones Mientras (¬criterioParada) Hacer que no resultan óptimas, escapando así de mínimos Si = ContruirSolucion() locales. Llegado este punto, se hace necesario ActualizarFeromona() resaltar la primera diferencia con el Sistema de Sf = AlmacenarMejorSolucionSiProcede(S i) Colonia de Hormigas. Este algoritmo una regla de Fin transición pseudo-aleatoria tal que Devolver Sf Fin donde s es la siguiente ciudad a elegir, S es la La inicializacion de Feromonas aplicación de la anterior fórmula de transición, u corresponde a asignar un valor a la matriz de ЄJk el conjunto de ciudades no visitas, q0 la feromonas del problema. Normalmente, se le probabilidad de elección entre ambos métodos y q atribuye el valor generado por algún algoritmo que el valor aleatorio generado. nos de una primera solución a la que le aplicamos la fórmula
  • 3. Por último, se encuentra la actualización de las feromonas, parte fundamental de este tipo de algoritmos constructivos. Se trata de modificar la 4. Experimentación heurística del problema potenciando aquellas rutas que se muestran aconsejables de estudiar. Es sobre Se ha realizado una batería de pruebas dicho apartado donde residen las principales sobre las implementaciones expuestas con los diferencias entre los tres algoritmos resolutorios parámetros indicados por el profesor en el basados en hormigas. Existen dos formas de realizar enunciado de la práctica. También se ha realizado dicho proceso: un algoritmo comparativo greedy cuya heurística se basa en partir de la ciudad 0 del caso de estudio e ir  Actualización, paso a paso. De esta manera las alcanzado el resto de ciudades en función a la hormigas ponen una cantidad constante de menor distancia entre éstas. Dicho algoritmo sólo se feromona cada vez que van de un nodo a otro. ejecuta una vez y proporciona una comparación Existen pequeñas variaciones que hacen que perfecta para el resto de métodos. pongan más o menos feromona, según la cantidad de feromona presente antes de dar el A continuación, se muestran las tablas de paso. Es el utilizado en el Sistema de Colonia resultados obtenidas. de Hormigas en la actualización local de feromonas, modificando dicho valor en función del parámetro de evaporación φ siendo r y s ciudades.  Actualización a posteriori . De este modo las hormigas ponen feromona después de haber encontrado una solución por todas las aristas por donde pasaron para encontrar la solución. Esto puede ser en una cantidad constante por todas las aristas, o dependiendo de la calidad de la solución encontrada, o de parámetros externos determinados por el programador, pueden poner más o menos feromona según el camino encontrado. Este método es empleado por el Sistema de Hormigas, el Sistema de Hormigas Elitista [3] y el Sistema de Colonias de Hormigas en la actualización global. Tablas de resultados por algoritmo y casos de estudio Además el Sistema de Hormigas Elitista refuerza el mejor camino obtenido hasta el Tabla de resultados globales momento multiplicando el valor de la feromona por un parámetro, consiguiendo así una mayor velocidad de convergencia. Este valor debe ser estudiado cuidadosamente ya que de elegir uno que resulte inapropiado, el sistema puede converger a óptimos locales con mucha facilidad.
  • 4. presenta y el resto. Es por tanto una buena ch130 heurística de aproximación a la solución óptima. Se podría haber tomado dicha solución como solución 60000 50000 de partida del resto de implementaciones e iterar 40000 sobre ella para mejorarla. SH También se ha observado que la Coste 30000 SHE 20000 SCH convergencia de los algoritmos que se han estudiado 10000 difiere entre ellas de forma bastante evidente. A 0 medida que el algoritmo es más complejo, se Iteraciones acelera el ritmo de convergencia acercando cada vez más a la solución óptima. Sobre este aspecto a280 cabe destacar el algoritmo SHE sobre el caso de 14000 12000 estudio CH130, que hace justo lo contrario. Este 10000 fenómeno ocurre cuando el refuerzo elitista de 8000 SH feromonas que se realiza sobre el camino de la Coste 6000 SHE mejor solución es desproporcionado con relación al 4000 SCH tamaño de la instancia del TSP. Las hormigas 2000 tienden a elegir el camino con más feromonas 0 rechazando el camino con menor distancia, cayendo Iteraciones así en mínimos locales de los cuales es imposible p654 salir. Esto ocurre cuando el número de hormigas elitista para la instancia indicada es superior a 5. 140000 120000 100000 Dicha convergencia se ha notado muy 80000 SH rápida. Dependiendo siempre de la instancia, Coste SHE 60000 SCH durante el primer 25% de la ejecución se alcanza 40000 una solución bastante aceptable. Claro esta que 20000 0 modificando los parámetros que se han marcado, Iteraciones dicha convergencia se puede acelerar aún más y con resultados aún mejores. Durante la fase de experimentación, se ha Se ha notado que la elección de la ciudad observado que el algoritmo SHE no mejora pasada de origen marca también la diferencia entre las 50 iteraciones. Así pues, se ha decidido tomar soluciones. Al tratarse de algoritmos constructivos, dichas 50 iteraciones como criterio de parada el hecho de tener muchas ciudades cercanas entre adicional al tiempo de ejecución. las que elegir hace que las probabilidades sean casi parejas, presentando una probabilidad en el Se ha utilizado 5 semillas diferentes para la algoritmo de selección muy escasa. inicialización de los objetos random necesarios para la aleatoriedad de los algoritmos y los resultados Como se ha expuesto al principio de este presentados en las gráficas corresponden a los punto, el tamaño de las instancias es relativamente valores medios obtenidos. pequeño, con lo que se puede apreciar una clara diferencia entre las tres implementaciones que se 5. Análisis de Resultados están presentando. El algoritmo SCH nada más empezar su ejecución tiene ya la solución mejor que Antes de ofrecer un análisis de los se puede alcanzar con los parámetros establecidos, resultados y obtener unas conclusiones, cabe por lo que en el resto de iteraciones prácticamente resaltar que la experimentación realizada se ha no mejora nada. elaborado sobre unos problemas cuya complejidad es baja, y que por tanto, no puede entenderse como Por último, cabe destacar que los tres un estudio general de los problemas TSP. algoritmos son poco capaces de escapar de mínimos locales. Por tanto, pude plantearse el estudio de Tomando como primera aproximación el técnicas de reinicialización que eviten este tipo de algoritmo determinista greedy, se observa que no inconvenientes como puede ser una racha de viento existe una gran diferencia entre los costes que éste que elimine el rastro de feromonas o la introducción
  • 5. de algún obstáculo que fuerce a las hormigas a System: Optimization by a colony of cooperating buscar nuevas rutas. agents”, IEEE Transaction on Systems, Man, & Cybernetics, Vol 26, No. 1, pg.1-13, 1996. [3] Dorigo, M.; Stützle, T. (2004). Ant Colony Optimization. MIT Press. 6. Concluciones Las presentes conclusiones no pueden ser tomadas como ideas globales ni teoremas empíricos puesto que no están refutadas con el resto de la comunidad. Sólo son el fruto del estudio de los algoritmos expuestos a lo largo del documento para los casos de estudios tomados. Son conclusiones empíricas que sólo se podrán aplicar a lo citado. Los algoritmos basados en hormigas son métodos de exploración combinatoria muy rápidos, que parametrizados de la forma adecuada, pueden encontrar soluciones aceptables en tiempos muy razonables. Cabe resaltar que son también incapaces de salir de mínimos locales cuando han caído en ellos. Es por tanto que se hace necesario estudiar estrategias que permitan la búsqueda de nuevas soluciones como puede ser rachas de vientos cuando no se producen mejoras o incorporación de obstáculos al recorrido de ciudades. Esta conclusión esa muy relacionada con el hecho de la no mejora llegado a un punto de convergencia. Es por tanto, que se hace necesaria la modificación de ciertos parámetros a medida que se avanza en el algoritmo. La elección de la ciudad de comienzo de la hormiga también debe ser estudiada con detenimiento y no realizar este proceso de forma aleatoria. Si la ciudad elegida está rodeada de otras ciudades cercanas, el algoritmo no toma buenas decisiones de transición entre las ciudades. Para el comienzo del algoritmo es importante elegir ciudades que estén bastante separadas. 7. Referencias [1] J. B. Kruskal: On the shortest spanning subtree and the traveling salesman problem. En: Proceedings of the American Mathematical Society. 7 (1956), pp. 48–50 [2] Dorigo M., Maniezzo V. y Colorni A., “The Ant