22
1 Optimización mediante Colonia de Hormigas Universidad Estatal de Cuenca Solución del problema del vendedor viajero (TSP) mediante Colonia de Hormigas Walter Dután Felipe Saldaña William Bernal Noviembre 2011

ACO PRESENTACION

Embed Size (px)

Citation preview

1

Optimización mediante Colonia de Hormigas

Universidad Estatal de Cuenca

Solución del problema del vendedor viajero (TSP) mediante Colonia de

HormigasWalter Dután

Felipe Saldaña

William Bernal

Noviembre 2011

2

Contenido

1. Introducción.2. Simulación del comportamiento de las hormigas.3. El problema del vendedor viajero (TSP).4. Aplicación de optimización mediante colonia de hormigas al problema del vendedor viajero.5. Algoritmo ACO.6. Aplicaciones.7. Implementación del TSP mediante ACO en Matlab.8. Bibliografía.

3

1. Introducción

La optimización mediante colonia de hormigas (ACO) tiene su fuente de inspiración en el comportamiento de algunas colonias de hormigas reales. Desarrollada por Marco Dorigo y otros a inicios de los 90.

Éstas hormigas depositan feromonas sobre el terreno para marcar algún camino favorable que podría ser seguido por otros miembros de la colonia.

Un comportamiento característico de las colonias de hormigas es su capacidad de encontrar los caminos más cortos entre las fuentes de comida y el hormiguero. Este hecho no sería muy interesante si no tenemos en cuenta que la mayoría de las especies de hormigas son prácticamente ciegas, y no pueden apoyarse en pistas visuales para encontrar los caminos.

4

1. Introducción

En un famoso experimento biológico llamado experimento de doble puente, se muestra cómo las hormigas buscan el camino más corto hacia su fuente de alimentos, a lo largo de los caminos.

5

1. Introducción

Las hormigas son capaces también a adaptarse a los cambios en el ambiente de encontrar el camino más corto desde el hormiguero a una fuente de comida y viceversa sin utilizar pistas visuales.

6

1. Introducción

7

2. Simulación del comportamiento de las hormigas

El camino más corto de las hormigas (Cruz & Viteri, 2007)

8

2. Simulación del comportamiento de las hormigas

9

2. Simulación del comportamiento de las hormigas

AntSim 1.1 - Ant Colony Optimisation Application

Es una herramienta de implementación de algoritmos de colonia de hormigas.

http://www.nightlab.ch/antsim

10

3. El problema del vendedor viajero (TSP)

Un conjunto de ciudades es dado y las distancias entre cada una de ellas son conocidas.

El objetivo es encontrar la ruta más corta que permita visitar cada ciudad una sola vez. En términos más formales, el objetivo es encontrar un circuito Hamiltoniano de longitud mínima sobre un gráfico totalmente conectado.

11

4. Aplicación de optimización mediante colonia de hormigas al problema del vendedor viajeroInicio→Transición →Actualización →Construcción

de la solución

i

j

12

5. Algortimo ACO1. Ingreso de parámetros concerniente a las ciudades y hormigas (número de ciudades, cantidad de hormigas, rastros de feromona τ[i][j]←τ0, iteraciones, α, β, ρ)

2. Para cada hormiga asignar de manera aleatoriamente su nodo de inicio.

3. Construcción del recorrido de cada hormiga desde el punto inicial hasta el resto de nodos de acuerdo a la probabilidad de elección de cada ruta.

4. Determinar el costo de cada ruta trazada en cada itración.

5. Actualización de la matriz de feromonas en función de la probabilidad de selección de cada vía. (Esto se lo realiza para cada hormiga)

6. De acuerdo a la actualización de la matriz de feromonas determinar el coste de cada ruta trazada (repetir hasta completar el número de iteraciones)

7. Guardar el recorrido de menor costo y presentar como solución

13

5. Algortimo ACO

14

5. Algortimo ACO

[x,y,d,t,h,iter,alpha,beta,e,m,n,el] =info_hormigas; % ingreso de parámetros, nodos, hormigas, iteraccionesfor i=1:iter [app]= p1ra_Posicion(m,n); %Ubicación de las hormigas en cada nodo (ciudad) [at]=ciclo_hormigas(app,m,n,h,t,alpha,beta); %Vector correspondiente al primer

lugar de salida de cada hormiga at= horzcat(at,at(:,1));%Matriz de trayectoria de cada horizontales [cost,f]= cost_hormigas(m,n,d,at,el); [t]=actualizacion_rastro(m,n,t,at,f,e); costoa(i) = mean(cost); [mincost(i),number] = min(cost);%Regresa los índices del vector donde están los mínimos besttour(i,:) = at(number,:);%La mejor ruta es la seleccionada con respecto al índice del mínimo en la matriz del tour iteracion(i)= i;end

15

6. Aplicaciones

Reconfiguración de sistemas de distribución. Minimizar el costo de las pérdidas en los

conductores, mediante la apertura o cierre de interruptores, y sujeto a restricciones de radialidad, límites de voltaje y cargabilidad de las líneas.

Compensación de reactivos. Multiobjetivo: minimizar el costo de

pérdidas en los conductores a un costo mínimo de los bancos de capacitores, en alimentadores radiales, dentro de los límites de voltaje.

Ubicación óptima de transformadores.

16j

7. Implementación del TSP mediante ACO en Matlab

17

1º Caso.Salida aleatoria de hormigas de una ciudad 4 13 9 10 8 5 5 14 8 4Trayectoria de cada hormiga entre ciudades H1 4 12 13 11 14 7 10 5 6 9 15 16 1 8 3 2 4H2 13 11 14 7 10 5 6 9 15 16 1 8 3 2 4 12 13H3 9 15 16 1 8 3 2 4 12 13 11 14 7 10 5 6 9H4 10 5 6 9 15 16 1 8 3 2 4 12 13 11 14 7 10H5 8 3 2 4 12 13 11 14 7 10 5 6 9 15 16 1 8H6 5 6 9 15 16 1 8 3 2 4 12 13 11 14 7 10 5H7 5 6 9 15 16 1 8 3 2 4 12 13 11 14 7 10 5H8 14 7 10 5 6 9 15 16 1 8 3 2 4 12 13 11 14H9 8 3 2 4 12 13 11 14 7 10 5 6 9 15 16 1 8H10 4 12 13 11 14 7 10 5 6 9 15 16 1 8 3 2 4

7. Implementación del TSP mediante ACO en Matlab

18

1º Caso.

7. Implementación del TSP mediante ACO en Matlab

19

2º Caso.

7. Implementación del TSP mediante ACO en Matlab

20

1º Caso.

7. Implementación del TSP mediante ACO en Matlab

21

2º Caso.

7. Implementación del TSP mediante ACO en Matlab

22

5 Bibliografía

Cruz, H., & Viteri, V. (Abril de 2007). OPTIMIZACIÓN DE PROBLEMAS COMBINATORIOS Y MULTIOBJETIVO UTILIZANDO EL MÉTODO DE COLONIA DE HORMIGAS (OCH). Quito: Escuela Politécnica Nacional.

Dorigo, M., & Stützle, T. (2004). Ant Colony Optimization. Londres: The MIT Press.

Dorigo, M., Birattari, M., & Stützle, T. (2006). Ant Colony Optimization. IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE , 28-39.

Marroquín, O. (2008). PLANEAMIENTO DE REDES SECUNDARIAS DE DISTRIBUCIÓN USANDO UN ALGORITMO DE OPTIMIZACIÓN BASADO EN COLONIA DE HORMIGAS. Pereira: UNIVERSIDAD TECNOLÓGICA DE PEREIRA.

Medina, N. (2009). Optimización por Colonia de Hormigas.