+ All Categories
Home > Technology > Optimización basada en colonias de hormigas. Conceptos principales

Optimización basada en colonias de hormigas. Conceptos principales

Date post: 16-Apr-2017
Category:
Upload: antonio-mora
View: 9,960 times
Download: 0 times
Share this document with a friend
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
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


Recommended