Está en la página 1de 7

UNIVERSIDAD DE ANTIOQUIA

FACULTAD DE ELECTRÓNICA Y
TELECOMUNICACIONES

PROYECTO

PROBLEMA DE LA MOCHILA USANDO


LA METAHEURÍSTICA DE COLONIA
DE HORMIGAS

KARINA AGUDELO VALENCIA


BRAYAN MATOS ROMERO
JHON ANDERSON LOPERA

JUAN FELIPE BOTERO

Semestre 2016-2
PROBLEMA DE LA MOCHILA USANDO LA
METAHEURÍSTICA DE COLONIA DE HORMIGAS
Karina Agudelo Valencia
Jhon Anderson Lopera
Brayan Matos Romero
18 de noviembre de 2016

Resumen
En el problema de la mochila se cuenta con un número N de objetos con diferentes tamaños wj y
beneficios pj ; los cuales van a ser empacados en una mochila que tiene una capacidad C, de forma que se
maximice el beneficio total de almacenar los objetos. Para lograr resolver este problema se implementará
la metaheurı́stica de la colonia de hormigas, una heurı́stica y un método para obtener la solución optima
del problema.
Palabras clave: Metaheurı́stica, hormigas, feromona, evaporación.

1. INTRODUCCIÓN 2. OBJETIVOS
Analizar a fondo el comportamiento poblacional
Los problemas de optimización han sido amplia- de la metaheurı́stica de la colonia de hormigas y
mente usados en muchos y diferentes ámbitos, des- entender como se relaciona el rastro de feromona
de solucionar problemas cotidianos, hasta realizar con la convergencia a soluciones optimas. Ademas,
estrategias en grandes empresas, para resolver pro- de comparar los resultados y el tiempo de procesa-
blemas de la mejor manera y en el menor tiempo miento que requiere aplicar la metaheurı́stica versus
posible.El método de optimización por colonia de encontrar la solución optima.
hormigas o ACO (por sus siglas en ingles) es un en-
foque metaheurı́stico propuesto para resolver pro-
blemas de optimización combinatoria complicados. 3. DEFINICIÓN DEL PRO-
La fuente inspiradora de ACO es el rastro de fe-
romonas y el comportamiento que siguen hormigas
BLEMA
reales que utilizan este rastro como medio de comu-
El problema de la mochila es un problema NP-
nicación. El ACO se basa en la comunicación indi-
completo, que modela una situación análoga a llenar
recta de agentes simples, llamados hormigas (artifi-
una mochila que cierta capacidad, con todo o parte
ciales), mediados por senderos (artificiales) de fero-
de un conjunto de objetos; cada objeto tiene asocia-
monas. Los senderos de feromonas sirven como una
do a él un peso (o un tamaño) y un beneficio. Los
información numérica distribuida que las hormigas
objetos colocados en la mochila deben maximizar el
utilizan para construir soluciones probabilistas al
beneficio colectivo sin exceder la capacidad total de
problema que se está resolviendo y las hormigas se
la mochila.
adaptan durante la ejecución del algoritmo para re-
flejar su experiencia de búsqueda. Aquı́ veremos la
implementación del algoritmo ACO para dar una 3.1. MODELO DE OPTIMIZA-
solución al problema de la mochila, de forma opti- CIÓN]
ma y con diferentes alternativas, también se anali-
zará los cambios en los resultados del algoritmo con N → Número de objetos
diferentes instancias. C → Capacidad de la mochila

1
pj → Beneficio asociado al objeto j ∈ [1. . . N ] Cuando las hormigas se enfrentan a un obstáculo
wj → Tamaño del objeto j como el que se muestra en la figura (1), inicialmen-
te no hay presencia de feromonas en ninguno de
xj → Variable binaria que indica si el objeto j los dos caminos, por lo que existe una probabilidad
ha sido elegido en el subconjunto o no. igual para cada hormiga de elegir la trayectoria iz-
P quierda o derecha. Como el camino derecho es más
Maximizar: Z = j pj · xj
corto que el izquierdo y requiere menos tiempo de
P viaje, mayor cantidad de hormigas transitaran de
Sujeto a: j wj · xj ≤ C ida y regreso por el camino de la derecha en un
xj ∈ [0, 1]∀j ∈ N mismo lapso de tiempo; de esta manera las hormi-
gas terminarán dejando un nivel más alto de fero-
N, C, pj , wj ≥ 0 ∈ Z monas. Cuantas más hormigas tomen el camino de
lado derecho, mayor es el rastro. Por lo tanto, hay
4. METAHEURÍSTICA CO- un surgimiento de un camino más corto.
La comunicación de las hormigas a través de cami-
LONIA DE HORMIGAS nos con feromonas les permite encontrar las rutas
mas cortas entre su nido y las fuentes de alimentos.
4.1. Definición Esta caracterı́stica es ampliamente utilizada para la
solución de problemas de optimización que necesi-
La teorı́a de optimización por colonia de hormi-
tan mejorar sustancialmente los tiempos de cómpu-
gas o Ant Colony Optimization, fue introducida por
to para la solución de una aplicación especı́fica.
Marco Dorigo en los inicios de 1990, como herra-
mienta para la solución de problemas de optimi-
zación complejos, inspirado en el comportamiento 4.2. Algoritmo ACO
real de las hormigas. Estos insectos, cuando están
Son basados en una colonia de hormigas artificial,
en busca de fuentes de abastecimiento para su colo-
que intenta construir posibles soluciones compu-
nia, inician explorando el área alrededor de su nido
tacionales simples a diferentes problemas, para lo
aleatoriamente; cuando encuentran una fuente de
cual utiliza información heurı́stica y rastros de fe-
alimento, éstas evalúan la calidad y cantidad de la
romonas. El método de hormiga artificial tiene las
comida y llevan una muestra de regreso a su nido.
siguientes propiedades:[2]
En todo éste trayecto las hormigas, depositan fero-
monas sobre el camino transmitiendo información Encuentra soluciones válidas con el menor
que sirven de guı́a, para que en el futuro las demás tiempo de procesamiento.
encuentren los alimentos, la cantidad de feromonas
Posee un estado inicial y una o más condiciones
depositadas dependerá de la calidad, cantidad del
de paradas asociadas, y se mueve siguiendo los
alimento y cantidad de hormigas que transitan por
estados válidos construyendo ası́ la solución.
dicho camino. Cuanto mayor sea la cantidad de fero-
monas en un camino particular, mayor será la pro- El movimiento sobre un camino se realiza apli-
babilidad de que las hormigas seleccionen ese ca- cando una regla de transición, la cual es fun-
mino. Para una hormiga dada, el camino que elige ción de los rastros de feromona disponibles de
es de acuerdo con la cantidad de feromona. [1] manera local, de los valores almacenados en la
La mejor forma para abordar y comprender cómo memoria de la hormiga y de las restricciones
las hormigas utilizan el camino con la mayor canti- del problema a solucionar.
dad de feromonas (el camino más corto) se muestra El proceso de realización del algoritmo finaliza
en la figura (1): cuando se encuentra alguna condición de para-
da o iteraciones dadas, lo cual ocurre normal-
mente cuando se alcanza el objetivo.

4.3. Pseudo-código del algoritmo


En los algoritmos de hormigas, una colonia de
hormigas artificiales está buscando una buena solu-
ción al problema dado. Algunas variables utilizadas
en la elaboración del algoritmo fueron:
Figura 1: Comportamiento de las hormigas
C: Capacidad total de la mochila

2
Vc : Capacidad actual de la mochila 4.4. Feromona y Atractivo
N h: Numero de hormigas Como ya se ha mencionado anteriormente dos
IT : Numero de iteraciones parámetros fundamentales en el ACO son la can-
tidad de feromona que se aplica en las soluciones y
wj : Peso del ladrillo j
el atractivo que tiene un çamino.en particular.
pj: Beneficio del ladrillo j El movimiento de cada hormiga depende de la fero-
Pj : Probabilidad del ladrillo j mona τ como también del atractivo µj .
Oj : Objeto que representa al ladrillo J
4.5. Elección de un Objeto
Para un mayor entendimiento del algoritmo imple-
mentado ilustra un pseudo-código con las acciones La solución parcial para cada hormiga es un sub-
principales de la metaheurı́stica: conjunto de los objetos que constituyen una solu-
ción completa al problema. Los parámetros α y
Inicio β, que se utilizan en la regla de probabilidad de
Mientras (aun haya iteraciones) haga: transición Pj
Para cada hormiga haga: τjα µβj
Pj = P
Mientras (haya espacio en la mochila) haga: α β
j τj µj
Para cada ladrillo haga:
Calcular la probabilidad del ladrillo j Indican la importancia del rastro de feromonas τj y
Terminar el atractivo µj durante las transiciones de un estado
Elegir un ladrillo Oj con probabilidad Pj a otro.
Aumentar la feromona de Oj
Agregar Oj al una solución parcial S 4.6. Fase de Evaporación
Actualizar la capacidad Vc = Vc − wj
Con el fin de evitar una convergencia muy rápi-
Eliminar Oj del conjunto de ladrillos
da a una solución localmente óptima, se utiliza el
Terminar
mecanismo de evaporación τ = ρτ , donde τ es un
Recordar la solución S de cada hormiga
número entre cero y uno. Con el tiempo, el rastro
Terminar
de feromonas se evapora, reduciendo ası́ su fuerza
Recordar la Mejor solución de las hormigas
atractiva.
Usar un mecanismo de evaporación
Actualizar la feromona de la mejor solución.
Terminar 4.7. Fase de Refuerzo
Fin Los objetos que se incluyen en una solución reci-
ben una cantidad adicional de feromonas τ = γτ ,
En general, se puede exponer el código en en donde γ > 1 y pueden seleccionarse después con
término de las acciones que sigue la colonia; de estauna probabilidad mayor que otros objetos.[3] Cuan-
manera, para cada hormiga: do se ha encontrando una solución factible, se aplica
Empieza con un vector de solución S vacı́o y va a ésta un refuerzo en las feromonas de la hormiga
añadiendo a éste objetos seleccionados uno tras que encontró dicha solución con la siguiente razón.
otro con una probabilidad Pj , desplazándose de 1
un estado a otro, sin superar la capacidad de τj = τj + Sbest +pj
la mochila. 1 + Sbest

Construye una solución parcial S al problema Esto se hace después de cada iteración con el fin
con un conjunto de ladrillos en cierto número de darle mas prioridad a las hormigas que generan
de pasos. mejores soluciones.
En cada paso toma en consideración un con-
junto de posibles ladrillos a su estado actual
y se mueve a uno de estos con la probabilidad
dada.
Deposita feromona en todos los objetos inclui-
dos en la mochila. La cantidad de feromonas
depositadas depende de la calidad de esta so-
lución.

3
5. ANÁLISIS DE RESULTA-
DOS Y CONCLUSIONES

A continuación se muestra la convergencia del al-


goritmo implementado para diferentes instancias:

Para 10 hormigas: Figura 5: Resultado Obtenido para 10 hormigas en


70 iteraciones

Para 20 hormigas:

Figura 2: Resultado Obtenido para 10 hormigas en


20 iteraciones

Figura 6: Resultado Obtenido para 20 hormigas en


20 iteraciones

Figura 3: Resultado Obtenido para 10 hormigas en


30 iteraciones

Figura 7: Resultado Obtenido para 20 hormigas en


30 iteraciones

Figura 4: Resultado Obtenido para 10 hormigas en Figura 8: Resultado Obtenido para 10 hormigas en
50 iteraciones 50 iteraciones

4
Figura 9: Resultado Obtenido para 20 hormigas en
70 iteraciones Figura 13: Resultado Obtenido para 70 hormigas en
20 iteraciones

Para 40 hormigas:

Figura 10: Resultado Obtenido para 40 hormigas en Figura 14: Resultado Obtenido para 70 hormigas en
20 iteraciones 30 iteraciones

Figura 11: Resultado Obtenido para 40 hormigas en


30 iteraciones Figura 15: Resultado Obtenido para 70 hormigas en
40 iteraciones

Figura 12: Resultado Obtenido para 40 hormigas en


70 iteraciones
Figura 16: Resultado Obtenido para 70 hormigas en
50 iteraciones
Para 70 hormigas:

5
entre estos. Otros parámetros que interfieren
directamente con el tiempo de ejecución son:
la probabilidad de acuerdo a la cual se elige
el ladrillo que se ingresa en la mochila y el re-
fuerzo de feromona para los ladrillos que se van
escogiendo en cada etapa. De hecho se observo
que usar un esquema de refuerzo agresivo, es
decir aumentar demasiado la feromona, causa
retraso en el tiempo de ejecución. Es por esto
que se definió un aumento del 20 %

5. Se realizo, ademas de la metaheurı́stica y la so-


lución optima, una heurı́stica con el fin de rea-
lizar comparaciones con los otros métodos. Se
observó que la metaheurı́stica con suficientes
hormigas e iteraciones no solo genera mejores
soluciones que la heurı́stica, sino que es capaz
también de llegar a la solución optima.
Figura 17: Comportamiento de las hormigas
6. BIBLIOGRAFÍAS
1. Cuando las instancias se incrementan, sea el [1] Talbi Ghazali, Metahuristics from design to
número de hormigas, las iteraciones, o ambas, implementation, página 240.
conservando la misma cantidad de ladrillos la
solución arrojada por la metaheurı́stica de la [2] Maniezzo, Gambardella y De Luigi, Ant Co-
colonia de hormigas es cercana al valor optimo lony Optimization, 2004.
del valor de la solución exacta, que se hallo [3] Krzysztof Schiff, Ant Colony Optimi-
usando la librerı́a GLPK. zation For The 0-1 Knapsack Pro-
blem [Online], Disponible en: https:
2. Tanto aumentar el numero de hormigas y el
//suw.biblos.pk.edu.pl/resources/i4/
numero de iteraciones incrementan el tiempo
i5/i7/i3/i1/r45731/SchiffK_AntColony.pdf
en ejecución del código utilizado, sin embargo,
genera mejores soluciones.. [4] Optimización basada en Colonia
de Hormigas [Online], Disponible en:
3. Los cambios que se realizaron en la ejecución
https://ccc.inaoep.mx/˜emorales/Cursos/
del algoritmo fue variando el número de hormi-
NvoAprend/hormigas.pdf
gas e iteraciones, las instancias de capacidad y
numero de ladrillos no se modificaron. Luego de [5] Juan Felipe Botero, Curso de Técnicas de
varias pruebas se observo que para 15 hormigas Optimización [Online], Disponible en: https:
y 38 iteraciones la solución de la metaheurı́stica //sites.google.com/site/juanfebotero/
converge al optimo dado por GLPK. Aumentar teaching/tecnicas-de-optimizacion-2016-1
el numero de hormigas o el número de iteracio-
nes muy por encima de estos valores es innece-
sario, solo se estarı́a gastando tiempo de pro-
cesamiento ya que en la mayorı́a de ocasiones
se obtienen buenas soluciones sin la necesidad
de usar demasiadas iteraciones u hormigas.

4. En el algoritmo existen parámetros que ayu-


dan o perjudican en la convergencia a una bue-
na solución. Por ejemplo, los parámetros α y β
definen la intensificación y diversificación de la
metaheurı́stica, respectivamente, sin embargo,
se notó que aumentar α en mayor proporción
que β causa un aumento en el tiempo de eje-
cución, por tanto se estableció un compromiso

También podría gustarte