Optimización basada en colonias de hormigas. Conceptos principales

10,377 views

Published on

Breve introducción a la metaheurística inspirada en el comportamiento de las hormigas naturales para la resolución de problemas de optimización y búsqueda de caminos.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,377
On SlideShare
0
From Embeds
0
Number of Embeds
520
Actions
Shares
0
Downloads
235
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • TSP  circuito o ciclo que parte y llega a un mismo nodo y pasa una sola vez por cada uno de los demás. La función de coste suele ser la distancia entre cada dos nodos. VRP  dado un nodo central, encontrar el conjunto de rutas que pasan por todos los nodos y vuelven a éste, estando limitados los costes para cada ruta Camino mínimo  llegar de un nodo a otro con el menor coste posible
  • Optimización basada en colonias de hormigas. Conceptos principales

    1. 1. Conceptos Principales Optimización Basada en Colonias de Hormigas Antonio Mora García
    2. 2. ¿Qué es la OCH? <ul><li>Se trata de una metaheurística (algoritmo para guiar la construcción de soluciones o la búsqueda) bioinspirada , propuesta por Dorigo et al. en 1991. </li></ul><ul><li>Se basa en aplicar el comportamiento estudiado en las colonias de hormigas naturales para la resolución de problemas de optimización y búsqueda. </li></ul><ul><li>En inglés se conoce como ACO (Ant Colony Optimization) . </li></ul>
    3. 3. <ul><li>Las hormigas son insectos sociales que viven en colonias y cuyo objetivo es servir a la colonia , más que buscar su propio beneficio. </li></ul>¡¡¡ Las hormigas son ciegas !!! <ul><li>Una de sus características más curiosas es la forma en que buscan la comida y la llevan al nido, porque… </li></ul>Colonias de Hormigas Naturales (1)
    4. 4. <ul><li>Las hormigas en su búsqueda de comida, van dejando un rastro de una sustancia llamada feromona (que todas pueden oler) que les permite volver al nido. </li></ul><ul><li>Cada vez que llegan a una bifurcación , eligen el camino a seguir de una forma probabilística , tomando con mayor probabilidad el camino que mayor rastro de feromona tenga. </li></ul><ul><li> <Demo> </li></ul>Colonias de Hormigas Naturales (2)
    5. 5. Rastro de Feromona ? ! Elección de camino en bifurcación
    6. 6. <ul><li>Los caminos más prometedores (los más cercanos a la comida) van acumulando una mayor cantidad de feromona , pues son recorridos por un mayor número de hormigas. </li></ul><ul><li>Los menos prometedores van perdiendo la feromona por evaporación , por lo que cada vez los recorren menos hormigas. </li></ul><ul><li>Tras un tiempo, las hormigas habrán creado un camino mínimo (con rastros de feromona). </li></ul>Colonias de Hormigas Naturales (3)
    7. 7. <ul><li>Para poder aplicar la OCH a un problema , éste tiene que poder representarse en forma de grafo con pesos . </li></ul><ul><li>Cada arco a ij del grafo contiene dos tipos de información : </li></ul><ul><li>– Información heurística ( η ij ) : preferencia heurística </li></ul><ul><li>del arco. Depende del caso concreto del problema. </li></ul><ul><li>Las hormigas no la modifican durante la ejecución del </li></ul><ul><li>algoritmo. (Ej: arco con menor peso) </li></ul><ul><li>– Información memorística (  ij ) : medida de la “deseabilidad” del </li></ul><ul><li>arco, representada por la cantidad de feromona depositada </li></ul><ul><li>en él. Es modificada durante la ejecución del algoritmo. </li></ul>De la colonia natural a la OCH (1)
    8. 8. <ul><li>Los algoritmos de OCH reproducen el comportamiento de las hormigas reales en una colonia artificial de hormigas. Cada hormiga artificial es un agente que imita a la hormiga natural. </li></ul><ul><li>En cada iteración , cada hormiga artificial recorre el grafo generando un camino completo (solución al problema). </li></ul><ul><li>En base a la bondad de la solución encontrada, cada hormiga h realiza un aporte de feromona a cada arco del camino recorrido S (  rs ). </li></ul><ul><li>Tras todos los aportes hay una evaporación de feromona que evita la perduración de los rastros (para que no haya estancamiento en óptimos locales ). </li></ul>De la colonia natural a la OCH (2)
    9. 9. <ul><li>Para la construcción del camino , cada hormiga artificial, mira la lista de nodos alcanzables desde el que está y elige a cual pasar en base a : </li></ul><ul><li>- regla de transición : </li></ul><ul><li>. define la probabilidad con la que la hormiga situada </li></ul><ul><li>en un nodo i , pasaría al nodo j (alcanzable) </li></ul><ul><li>. depende de la información heurística ( η ij ) y </li></ul><ul><li>memorística (  ij ) de cada arco </li></ul><ul><li>- selección del nodo siguiente en función de la probabilidad </li></ul><ul><li>que tiene asignada (ruleta, el de mayor probabilidad, …) </li></ul>De la colonia natural a la OCH (4)
    10. 10. <ul><li>Procedimiento OCH() </li></ul><ul><li>1. inicialización de feromona </li></ul><ul><li>2. mientras (criterio_de_terminación_no_satisfecho) </li></ul><ul><li> 2.1. para cada hormiga </li></ul><ul><li>2.1.1. generar solución (usa regla de </li></ul><ul><li>transición) </li></ul><ul><li>[aporte local de feromona] </li></ul><ul><li>fin para </li></ul><ul><li> [refinamiento de soluciones con búsqueda local] </li></ul><ul><li>2.2. elegir mejor hormiga de la iteración y </li></ul><ul><li>actualizar mejor hormiga global (en base a </li></ul><ul><li>la bondad de la solución) </li></ul><ul><li> 2.3. aporte global de feromona </li></ul><ul><li> 2.4. evaporación de feromona </li></ul><ul><li> fin mientras </li></ul><ul><li>fin Procedimiento </li></ul>Algoritmo general de OCH * Los términos entre corchetes son opcionales
    11. 11. Modelos iniciales de OCH <ul><li>Sistema de Hormigas (SH) [ Dorigo et al. ]: </li></ul><ul><li>- la actualización de feromona se hace cuando todas las </li></ul><ul><li>hormigas han terminado su proceso </li></ul><ul><li>- evaporación y aporte global lo hacen todas las hormigas </li></ul><ul><li>sobre los arcos de sus soluciones </li></ul><ul><li>Sistema de Colonias de Hormigas (SCH) [ Dorigo et al. ]: </li></ul><ul><li>- utiliza una regla de transición llamada regla proporcional </li></ul><ul><li>pseudo-aleatoria , que depende de un parámetro q 0 </li></ul><ul><li>- se incluye una actualización local (evaporación y aporte) </li></ul><ul><li>cada vez que una hormiga añade un nodo a su solución </li></ul><ul><li>- la actualización global únicamente la realiza la mejor </li></ul><ul><li>hormiga </li></ul>
    12. 12. Otros modelos <ul><li>Sistema de hormigas Max-Min (MMAS) [ Stützle y Hoos ]: se hace una actualización local de feromona, búsqueda local y el aporte lo hacen la mejores hormigas. La feromona se mueve en un rango  max y  min </li></ul><ul><li>Sistema de hormigas con ordenación (SHO) [ Bullnheimer et al. ]: se ordenan las hormigas en función de la bondad de su solución y se actualiza la feromona de los arcos de las m mejores hormigas en base a su orden. </li></ul><ul><li>Sistema de la mejor-peor hormiga (SMPH) [Cordón et al.]: se aplican conceptos de algoritmos evolutivos (como la mutación) para aumentar la diversidad. Se hace un refuerzo de los rastros de feromona en los arcos del camino de la mejor hormiga y un refuerzo negativo en los de la peor. </li></ul>
    13. 13. <ul><li>TSP  hallar el circuito que parta y llegue al mismo nodo y pase por todos los demás, minimizando el coste asociado a los arcos a atravesar. </li></ul><ul><li>Camino más corto  hallar la ruta que minimice la suma de los pesos de los arcos a atravesar para llegar de un nodo origen a un nodo destino. </li></ul>VisualBots for Excel VRP en la Wikipedia Shortest path en Matlab <ul><li>VRP  hallar el conjunto de rutas que partan de un nodo y lleguen a todos los demás, considerando un límite de coste por cada ruta. </li></ul>Se pueden aplicar a cualquier problema que se pueda modelar como un grafo Algunas Aplicaciones

    ×