Optimización basada en colonias de hormigas. Conceptos principales

12
Conceptos Principales Conceptos Principales Antonio Mora García Antonio Mora García Optimización Optimización Basada en Basada en Colonias de Colonias de Hormigas Hormigas

Transcript of Optimización basada en colonias de hormigas. Conceptos principales

Page 1: Optimización basada en colonias de hormigas. Conceptos principales

Conceptos PrincipalesConceptos PrincipalesAntonio Mora GarcíaAntonio Mora García

Optimización Optimización Basada en Basada en Colonias de Colonias de HormigasHormigas

Page 2: Optimización basada en colonias de hormigas. Conceptos principales

¿Qué es la OCH?

• 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.

• 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.

• En inglés se conoce como ACO (Ant Colony Optimization).

Page 3: Optimización basada en colonias de hormigas. Conceptos principales

• Las hormigas son insectos sociales que viven en colonias y cuyo objetivo es servir a la colonia, más que buscar su propio beneficio.

¡¡¡ Las hormigas son ciegas !!!

• Una de sus características más curiosas es la forma en que buscan la comida y la llevan al nido, porque…

Colonias de Hormigas Naturales (1)

Page 4: Optimización basada en colonias de hormigas. Conceptos principales

• 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.

• 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.

<Demo>

Colonias de Hormigas Naturales (2)

Page 5: Optimización basada en colonias de hormigas. Conceptos principales

• 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.

• Los menos prometedores van perdiendo la feromona por evaporación, por lo que cada vez los recorren menos hormigas.

• Tras un tiempo, las hormigas habrán creado un camino mínimo (con rastros de feromona).

Colonias de Hormigas Naturales (3)

Page 6: Optimización basada en colonias de hormigas. Conceptos principales

• Para poder aplicar la OCH a un problema, éste tiene que poder representarse en forma de grafo con pesos.

• Cada arco aij del grafo contiene dos tipos de información:

– Información heurística (ηij): preferencia heurística del arco. Depende del caso concreto del problema. Las hormigas no la modifican durante la ejecución del algoritmo. (Ej: arco con menor peso)

– Información memorística (ij): medida de la “deseabilidad” del arco, representada por la cantidad de feromona depositada en él. Es modificada durante la ejecución del algoritmo.

De la colonia natural a la OCH (1)

Page 7: Optimización basada en colonias de hormigas. Conceptos principales

• 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.

• En cada iteración, cada hormiga artificial recorre el grafo generando un camino completo (solución al problema).

• 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).

• 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).

De la colonia natural a la OCH (2)

Page 8: Optimización basada en colonias de hormigas. Conceptos principales

• 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:

- regla de transición: . define la probabilidad con la que la hormiga situada en un nodo i, pasaría al nodo j (alcanzable) . depende de la información heurística (ηij) y memorística (ij) de cada arco

- selección del nodo siguiente en función de la probabilidad que tiene asignada (ruleta, el de mayor probabilidad, …)

De la colonia natural a la OCH (4)

Page 9: Optimización basada en colonias de hormigas. Conceptos principales

Procedimiento OCH()1. inicialización de feromona2. mientras (criterio_de_terminación_no_satisfecho)

2.1. para cada hormiga 2.1.1. generar solución (usa regla de transición) [aporte local de feromona] fin para

[refinamiento de soluciones con búsqueda local] 2.2. elegir mejor hormiga de la iteración y actualizar mejor hormiga global (en base a la bondad de la solución) 2.3. aporte global de feromona

2.4. evaporación de feromona fin mientras

fin Procedimiento

Algoritmo general de OCH

* Los términos entre corchetes son opcionales

Page 10: Optimización basada en colonias de hormigas. Conceptos principales

Modelos iniciales de OCH

• Sistema de Hormigas (SH) [Dorigo et al.]: - la actualización de feromona se hace cuando todas las hormigas han terminado su proceso - evaporación y aporte global lo hacen todas las hormigas sobre los arcos de sus soluciones

• Sistema de Colonias de Hormigas (SCH) [Dorigo et al.]: - utiliza una regla de transición llamada regla proporcional pseudo-aleatoria, que depende de un parámetro q0

- se incluye una actualización local (evaporación y aporte) cada vez que una hormiga añade un nodo a su solución - la actualización global únicamente la realiza la mejor hormiga

Page 11: Optimización basada en colonias de hormigas. Conceptos principales

Otros modelos

• 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

• 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.

• 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.

Page 12: Optimización basada en colonias de hormigas. Conceptos principales

• 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.

• 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.

VisualBots for Excel

VRP

en la

Wik

iped

ia

Shortest path en Matlab

• 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.

Se pueden aplicar a cualquier problema que se pueda modelar como un grafo

Algunas Aplicaciones