Tema 4
Tema 4
Optimización II
Algoritmos de adaptación
social. Colonia de
hormigas
Índice
Esquema 3
Ideas clave 4
4.1. Introducción y objetivos 4
© Universidad Internacional de La Rioja (UNIR)
Tema 4. Esquema
Optimización II
Esquema
3
Ideas clave
Optimización II
4
Tema 4. Ideas clave
Respecto a este último punto, veremos que sí es posible, estudiando tres variantes:
Al igual que los humanos, hay muchas especies de animales que colaboran entre sí
con el objetivo de cumplir ciertas tareas que los benefician mutuamente. A
continuación, exponemos algunos ejemplos:
Los avestruces, que poseen una vista muy desarrollada, colaboran con las cebras, que
tienen un fino oído, para alertarse mutuamente de los ataques de posibles
depredadores.
Las garcillas bueyeras y las vacas también colaboran entre sí. Las garcillas comen
pulgas, garrapatas y otros parásitos que se encuentran en la piel de las vacas.
Estas, a su vez, quedan limpias de este tipo de parásitos que, de otra manera, sería
imposible para ellas de eliminar.
Optimización II
5
Tema 4. Ideas clave
No obstante, el ejemplo más claro de colaboración animal se da entre animales de la
misma especie. El más destacado es el de aquellos que viven en colonias de
enjambre, como las hormigas, las abejas o las avispas. La característica más
notoria de estos animales es esta organización en colonias y la especialización de
sus miembros.
De esta manera, es posible observar cómo cada miembro de la colonia cumple una
función asignada y, todas juntas, hacen que la vida en el hormiguero funcione. Es
muy importante, en consecuencia, entender la gran importancia y dependencia que
para estos animales supone la colaboración y la vida en sociedad. Por sí solos serían
incapaces incluso de subsistir, pero juntos son capaces de conseguir grandes cosas.
Optimización II
6
Tema 4. Ideas clave
Podemos distinguir dos tipos de comunicación:
Simplicidad en la actuación: cada miembro del enjambre lleva a cabo tareas muy
simples que apenas pueden considerarse inteligentes. Sin embargo, todas estas
acciones simples combinadas generan comportamientos que pueden llegar a ser
muy complejos.
Optimización II
7
Tema 4. Ideas clave
Robustez: las sociedades organizadas en enjambre son muy robustas. Parte de esta
robustez viene dada debido, principalmente, a dos factores:
Flexibilidad: las colonias de enjambre son flexibles y, por tanto, capaces de adaptarse
a los cambios que se produzcan en el entorno. De esta forma, las colonias de
enjambre pueden adaptarse y continuar su funcionamiento normal a pesar de que
ocurran hechos externos que modifiquen el espacio con el que hasta entonces
estaban tratando. Al producirse un cambio, cada miembro individual modifica su
comportamiento en consonancia y, así, se produce un cambio global. De nuevo,
esto es posible gracias a la ausencia de un coordinador general que tome todas las
decisiones.
Optimización II
8
Tema 4. Ideas clave
En síntesis, podemos destacar que las colonias de insectos llevan a cabo actuaciones
de nivel complejo de forma inteligente, flexible y fiable, actuaciones que no serían
factibles si tuviesen que ser realizadas por un insecto de forma individual (estos son
no inteligentes, no fiables, simples). Además, los insectos siguen reglas simples y
utilizan comunicación local simple, donde la estructura global (nido) emerge desde
las acciones de los insectos (las cuales son no fiables atendidas individualmente).
Figura 1. Etapas del Algoritmo de Colonia de Hormigas. Fuente: adaptado de Archivo:Aco branches.svg, 2006.
Optimización II
9
Tema 4. Ideas clave
De esta forma, son capaces de almacenar en el hormiguero, de forma rápida, toda la
comida localizada en la fuente de alimento. Los algoritmos basados en colonias de
hormigas son ideales para encontrar caminos óptimos dentro de grafos. Son muy
utilizados, sobre todo, en problemas de grafos con gran cantidad de nodos en donde
los métodos tradicionales fallan, debido a que son incapaces de resolver problemas
de grandes dimensiones.
Optimización II
10
Tema 4. Ideas clave
Figura 3. Imagen de GPS con información adicional: velocidad, dirección, etc. Fuente: López, 2020.
Estos son algunos ejemplos que hemos comentado por encima para que, de alguna
manera, se pueda tener una visión de la gran utilidad que tienen este tipo de
algoritmos a la hora de resolver problemas reales con los que un ingeniero
informático debe enfrentarse día a día.
Optimización II
11
Tema 4. Ideas clave
Si lo hay: la hormiga tratará de seguir el camino marcado por el rastro (Figura 4,
imagen A). Esto se debe a que, para vaciar cada fuente de alimento, hace falta
realizar varios viajes. Por tanto, si hay un camino que contiene muchas
feromonas, significa que hay varias hormigas recorriéndolo al mismo tiempo.
Esto puede indicar que alguna ha encontrado una fuente de alimento y que hay
un conjunto de ellas trasladándolo desde esa fuente, lo que hace interesante
seguir ese rastro.
Figura 4. Búsqueda del objetivo con rastro (A) y sin rastro (B). Fuente: adaptado de Archivo:Aco branches.svg,
2006.
Optimización II
12
Tema 4. Ideas clave
El proceso que acabamos de explicar ha sido ampliamente estudiado, dada su
sencillez y eficiencia para su aplicación, en la resolución de problemas reales. Está
demostrado que colocando el hormiguero en el punto A y la comida en el punto B de
la siguiente Figura 5:
Unas veces, el camino que escogen las hormigas para llegar al alimento es 1 y otras
es 2, por lo que acaban convergiendo a una de las dos opciones. En definitiva, las
hormigas acaban yendo todas hacia B por el mismo sendero. Sin embargo, en la
siguiente Figura 6:
Está demostrado que las hormigas siempre acaban convergiendo al camino número
2, es decir, al más corto.
Optimización II
13
Tema 4. Ideas clave
Figura 7. Doble arco. Fuente: adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego Carrillo, 2007.
La razón principal por la que esto ocurre se encuentra en las feromonas que las
hormigas van soltando en el trayecto. Como ya hemos comentado, en su recorrido,
estos insectos van soltando feromonas. De esta manera, el camino que ha seguido
cada hormiga queda registrado durante un tiempo sobre el terreno. Cuando pasa un
cierto tiempo, el rastro de feromonas desaparece y las demás ya no pueden seguirlo.
Figura 8. Caminos elegidos por las hormigas. Fuente: adaptado de Archivo:Aco branches.svg, 2006.
Optimización II
14
Tema 4. Ideas clave
Conforme más hormigas escogen el camino 2, la diferencia entre el nivel de
feromonas de un camino y otro aumenta, hasta que llega un punto en que todas las
escogen el camino 2 en vez del 1 y todo rastro de feromonas desaparece de este
último.
Por supuesto, todo este proceso sucede debido a que las hormigas tienden a escoger
los caminos en donde el nivel de feromonas es mayor. Ellas comprenden que un
camino con un alto nivel de feromonas supone que es muy recorrido por sus
compañeras, lo que implica que lleva hacia un lugar en donde son necesarios sus
servicios. Por este motivo, la probabilidad de la hormiga de tomar ese camino en vez
de otros es mayor.
Optimización II
15
Tema 4. Ideas clave
Figura 9. Algoritmo: Optimización por colonia de hormigas. Fuente: elaboración propia.
A continuación, iremos analizando, paso por paso, las acciones que van realizando
cada una de las funciones que conforman el pseudocódigo. Como podemos ver, el
pseudocódigo maneja las siguientes variables:
Variable 𝑭: indica el nivel de feromonas que cada arco del grafo almacena en un
momento concreto.
Optimización II
16
Tema 4. Ideas clave
Variable 𝑪: establece, en un momento concreto, cuáles son los posibles caminos que
puede seguir una hormiga.
Variable pos: indica la posición actual de la hormiga sobre la que se está iterando
dentro del algoritmo.
Variable 𝒙: es un conjunto de las soluciones que han ido encontrando las hormigas.
Es muy recomendable tener siempre la mejor solución almacenada para no
perderla.
Actualizar memoria.
Movimientos posibles.
Optimización II
17
Tema 4. Ideas clave
Evaluar movimientos.
Movimiento hormiga.
Depositar feromonas.
Añadir componente.
Actualizar soluciones.
Evaporación de feromonas.
Acciones demonio.
Seleccionar mejor.
Actualizar memoria
Movimientos posibles
Calcula, a partir de la posición actual de la hormiga, los nodos a los que la hormiga
puede moverse (variable 𝐶). La hormiga deberá elegir aleatoriamente, mediante la
probabilidad 𝑃 que se calculará con la función evaluar movimientos, el nodo al que
se moverá a continuación.
Optimización II
18
Tema 4. Ideas clave
Figura 10. Movimientos posibles. Fuente: elaboración propia.
Evaluar movimientos
𝜏 ∙𝛾
𝑝 =
∈ 𝜏 ∙𝛾
Optimización II
19
Tema 4. Ideas clave
Donde 𝑝 indica la probabilidad para la hormiga 𝑘 de ir del nodo 𝑥 al 𝑦. 𝜏 establece
el nivel de feromonas que hay en el arco que va del nodo 𝑥 al 𝑦. 𝛾 indica la
idoneidad del arco referente a una cierta heurística, que puede ser propia del
problema o resultado de la aplicación de una metaheurística. En el caso más simple:
𝛾 = 1 para todos los casos. 𝛼 y 𝛽 son dos valores que nos permiten regular el
impacto que queremos dar al nivel de feromona y al resultado heurístico
respectivamente.
Movimiento hormiga
Optimización II
20
Tema 4. Ideas clave
Depositar feromonas
1
𝜏(𝑡) = 𝜏(𝑡 − 1) +
Coste
Podríamos leer esto como: el nuevo valor de feromonas para el arco recorrido es
igual al valor anterior más un cierto incremento dependiente de un valor Coste. El
valor Coste dependerá del problema que estemos resolviendo, pero, por lo general,
en los casos más simples, puede considerarse dependiente de la distancia entre los
nodos que la hormiga está recorriendo.
Figura 12. Coste de camino. Fuente: adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego Carrillo, 2007.
Añadir componente
Optimización II
21
Tema 4. Ideas clave
De esta forma, cuando la hormiga termine su recorrido, tendremos almacenado el
camino que ha seguido. Así, podremos evaluar su bondad midiendo parámetros tales
como distancia total recorrida o tiempo transcurrido desde la salida. Dichos
parámetros dependen del problema que queramos resolver.
Actualizar soluciones
Optimización II
22
Tema 4. Ideas clave
Figura 14. Actualización de soluciones. Fuente: elaboración propia.
Evaporación de feromonas
Una vez que todas las hormigas han realizado el recorrido, es necesario llevar a cabo
el proceso de evaporación de feromonas. En el proceso realizado por las hormigas
naturales en su búsqueda de alimento, dichas feromonas dejadas por estas
desaparecen con el tiempo.
Optimización II
23
Tema 4. Ideas clave
Una evaporación lenta permite la exploración de muchas soluciones, lo que aumenta
la probabilidad de encontrar mejores caminos. Una convergencia rápida hace que
nuestro algoritmo encuentre una solución rápida, pero de menor calidad. Por lo
general, para la evaporación de feromona, se aplica la siguiente función a cada uno
de los arcos:
𝜏(𝑡) = (1 − 𝜌) ∙ 𝜏(𝑡 − 1)
Donde el valor 𝜌 nos permite regular la cantidad de feromonas que vamos a evaporar
en cada iteración para cada uno de los arcos del grafo.
Figura 15. Camino más corto. Fuente: adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego Carrillo, 2007.
Acciones demonio
Optimización II
24
Tema 4. Ideas clave
Dentro del pseudocódigo que estamos describiendo, estas acciones se llevarían a
cabo dentro de la función Acciones demonio. Un ejemplo de este tipo de acciones
puede ser la aplicación de un método de búsqueda local que permita refinar
localmente el camino escogido por las hormigas. De esta forma, podemos llegar a
conseguir resultados óptimos y reducimos, en la medida que el método escogido nos
permita, la distancia final recorrida por cada una de estas.
Seleccionar mejor
Por último, una vez que se han llevado a cabo las iteraciones programadas para el
algoritmo, se almacena en la variable 𝑥 el mejor resultado alcanzado. Como ya
hemos comentado, este resultado puede ser el mejor de la última iteración realizada
o el mejor global, en caso de que hayamos ido guardando el mejor resultado que se
ha ido obteniendo en cada iteración.
Optimización II
25
Tema 4. Ideas clave
Aplicación de los algoritmos de colonias de hormigas: el problema del
viajante de comercio
Optimización II
26
Tema 4. Ideas clave
Figura 16. Grafo no dirigido. Fuente: elaboración propia.
Al seleccionar cualquiera de los nodos del grafo como punto inicial y final es posible
aplicar el algoritmo estudiado para permitir a las hormigas explorar los caminos entre
ellas y llegar a una solución óptima.
Advertencia: para realizar este ejemplo se ha usado el software: ACO – Ant Colony
Optimization Demonstration, disponible en el enlace:
https://borgelt.net/acopt.html
Optimización II
27
Tema 4. Ideas clave
Figura 17. Distribución de ciudades. Fuente: elaboración propia.
Optimización II
28
Tema 4. Ideas clave
Sin embargo, poco a poco, iteración tras iteración, las hormigas van refinando y
convergiendo a una muy buena solución. Esta, además, coincide con la mejor
solución. La solución final obtenida puede ver se en la Figura 19:
Optimización II
29
Tema 4. Ideas clave
Como podemos apreciar, encontrar un camino mínimo aquí es mucho más
complicado. Por ello, en este ejemplo hemos utilizado una colonia de sesenta
hormigas en vez de las treinta utilizadas en el ejemplo anterior. Tras seis iteraciones,
obtenemos los siguientes resultados:
Optimización II
30
Tema 4. Ideas clave
Figura 22. Mil iteraciones. Fuente: elaboración propia.
Tal y como hemos visto, los algoritmos de colonias de hormigas nos permiten realizar
una exploración inteligente del espacio de soluciones en problemas relacionados
con grafos. Dicha exploración nos proporciona soluciones óptimas y de forma mucho
más rápida que utilizando únicamente la fuerza bruta. Cuando un problema es
demasiado complejo y las metaheurísticas tradicionales nos fallan, siempre podemos
contar con los algoritmos bioinspirados para encontrar buenas soluciones.
Optimización II
31
Tema 4. Ideas clave
En este apartado veremos algunas modificaciones que pueden realizárseles a los
algoritmos de colonias de hormigas para que estos sean aún más eficaces y devuelvan
soluciones óptimas. Muchas de ellas no están relacionadas con aspectos naturales,
pero, aun así, es importante tener en cuenta que el objetivo principal de los
algoritmos de colonias de hormigas no es el de la simulación de un comportamiento
natural, sino la optimización en grafos. En concreto, describiremos en profundidad
los siguientes métodos:
Sistema de colonia de hormigas 𝐦𝐚𝐱 − 𝐦𝐢𝐧: al igual que los dos algoritmos
anteriores, este es una extensión de los algoritmos de colonias de hormigas que
trata de evitar el estancamiento y, a su vez, refinar las mejores soluciones. Para
ello, establece un valor máximo y mínimo a la cantidad de feromonas que pueden
acumular los arcos.
Optimización II
32
Tema 4. Ideas clave
Algoritmos de colonias de hormigas con búsqueda local
Donde las ciudades intercambiadas son las de los nodos 𝑖 y 𝑗 y 𝐴 (𝑖, 𝑗) indica la
distancia entre los nodos 𝑖 y 𝑗. El índice 𝑖 − 1 indica el nodo anterior a 𝑖 dentro del
recorrido de la hormiga e 𝑖 + 1 es el nodo siguiente. 𝐶𝑆 es la distancia total del
camino calculado por la hormiga y 𝐶𝑆 es la nueva distancia, tras intercambiar las dos
ciudades dentro de la solución. En el caso de ser 𝐶𝑆 menor que 𝐶𝑆, las ciudades se
intercambian dentro del vector ordenado de nodos por el que ha pasado la hormiga.
Optimización II
33
Tema 4. Ideas clave
Entendamos este proceso mejor con un ejemplo. Imaginemos que tenemos el
siguiente problema del viajante de comercio como el de la Figura 16:
Nótese que, siguiendo la expresión que hemos estudiado de recalculo del coste del
camino, obtenemos el nuevo valor, a partir del antiguo, usando los siguientes
cómputos:
Funciona igual que la 2-opt solo que, en vez de dos ciudades, se intercambian tres. La
búsqueda 3-opt da mejores resultados que la 2-opt, ya que explota de forma más
profunda el camino estudiado. A cambio, requiere de un mayor tiempo de ejecución
debido a que deben intercambiarse más ciudades. Dedicar más tiempo a la búsqueda
local implica dedicarle menos tiempo al algoritmo de colonia de hormigas.
Optimización II
34
Tema 4. Ideas clave
Sistemas de hormigas elitistas
⎧ 1
,𝜏 ∉ mejor_solucion
⎪ Coste
𝜏 =
⎨ 1 1
⎪ +𝑒∙ ,𝜏 ∈ mejor_solucion
⎩ Coste Coste
Por tanto, lo que esta variación del algoritmo original de la colonia de hormigas hace
es, a cada iteración, reforzar la mejor solución encontrada hasta el momento
simulando que un conjunto ficticio 𝑒 de hormigas ha pasado por allí. De esta forma,
los arcos pertenecientes a la mejor solución encontrada se refuerzan
automáticamente, animando a otras hormigas a utilizarlos.
Optimización II
35
Tema 4. Ideas clave
La ventaja de este sistema es que consigue que las hormigas converjan antes a
buenas soluciones y permite realizar un refinamiento del espacio de esas
soluciones. En otras palabras, se dedica tiempo de cómputo a comprobar caminos
similares a la mejor solución con el objetivo de mejorar aún más el mejor camino
encontrado hasta ese momento. Cuando alguna hormiga encuentra un camino cuya
distancia es mejor a la actual, el camino anterior deja de promoverse y el extra de
feromonas se aplica sobre el nuevo mejor camino encontrado.
El sistema de colonia de hormigas es una modificación del algoritmo original que trata
de promover la exploración del espacio y, a su vez, la rápida explotación de soluciones
prometedoras. Incluye, en total, tres modificaciones diferentes sobre el algoritmo
original, las cuales expondremos a continuación.
La función de selección del siguiente nodo pasa a promover la selección del nodo que
contiene más feromonas. Se establece una probabilidad 𝑞 a partir de la cual se
escogerá, como siguiente nodo, el mejor nodo del vecindario. Para cada
desplazamiento de hormiga, el algoritmo lanza un valor aleatorio 𝑞 :
Optimización II
36
Tema 4. Ideas clave
De esta manera, la probabilidad de las hormigas de escoger, como siguiente nodo,
aquel que tenga más cantidad de feromonas es mucho más alta que en el algoritmo
de hormigas tradicional. Debemos tener en cuenta que, en la opción dos, también se
genera una probabilidad alta de escoger el arco más prometedor, puesto que este
tendrá siempre más probabilidades que los demás al guardar más feromonas.
Para evitar esto, el sistema de colonia de hormigas solo aumenta las feromonas de
aquellos arcos pertenecientes a la mejor solución encontrada hasta el momento. De
esta manera, conseguimos que las hormigas se centren en trabajar sobre las mejores
soluciones, evitando aquellas que, aunque son buenas, no son óptimas como la
mejor encontrada hasta el momento. Por tanto, se aplica una actualización de
feromonas sobre los arcos pertenecientes a la mejor solución, siguiendo la siguiente
expresión:
1
𝜏 (𝑡) = (1 − 𝜌) ∙ 𝜏 (𝑡 − 1) + 𝜌 ∙
𝐶
Optimización II
37
Tema 4. Ideas clave
Evaporación local de feromonas
Uno de los problemas que tienen los sistemas de hormigas tradicionales es su rápida
convergencia a una solución específica. Dado que las hormigas siempre tienden a
escoger los caminos que ya han seguido otras, llega un momento en que el algoritmo
converge y no se exploran nuevas soluciones, sino que solo se producen pequeñas
modificaciones sobre la solución encontrada actual. Aunque este tipo de pequeñas
modificaciones es bueno y nos permite refinar la solución encontrada, una rápida
convergencia a una solución concreta evita que se exploren nuevas posibilidades y
caminos.
Para evitar esto y permitir que el algoritmo de colonia de hormigas encuentre nuevas
soluciones diferentes a la mejor actual, el sistema de colonia de hormigas
decrementa, en vez de incrementar, el nivel de feromonas cada vez que una hormiga
pasa por un arco. Esto permite que las hormigas sigan distintos caminos y aumenta
las probabilidades de explorar nuevos en vez de seguir los ya encontrados. De esta
forma, el algoritmo tarda mucho más en converger a una única solución y exploramos
muchos más posibles caminos antes de que esto ocurra.
Figura 23. Elección de camino. Fuente: adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego Carrillo,
2007.
Optimización II
38
Tema 4. Ideas clave
El sistema de colonia de hormigas max-min
El sistema de colonia de hormigas max − min tiene una filosofía similar al del sistema
de colonias de hormigas. Su objetivo es evitar la rápida convergencia del algoritmo
original y realizar, a su vez, un refinamiento sobre la mejor solución encontrada hasta
el momento. Para ello, realiza cinco modificaciones sobre el algoritmo de colonia de
hormigas original, las cuales expondremos a continuación:
Optimización II
39
Tema 4. Ideas clave
converja a una buena solución y refinarla ya que, de esta manera, evitamos caer
en caminos óptimos locales que pueden ser de mucha menos calidad que otras
posibles soluciones.
Figura 24. Caminos. Fuente: adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego Carrillo, 2007.
Optimización II
40
Tema 4. Ideas clave
Figura 25. Camino óptimo. adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego Carrillo, 2007.
Cuando escogemos trabajar sobre la mejor solución global, solo nos centramos
en esa solución específica debido a que es la mejor encontrada hasta el
momento y tratamos de sacarle el máximo partido.
Optimización II
41
Tema 4. Ideas clave
Es importante destacar que es muy complicado saber cuál de las dos opciones
es mejor. En unos casos funcionará mejor la primera y en otros, la segunda.
Dado que los algoritmos de colonias de hormigas son no determinísticos, en la
bondad de la solución obtenida interfiere, muchas veces, la suerte que el
algoritmo tenga en la exploración y explotación del espacio más que el
refinamiento que realicemos de una solución prometedora u otra.
Optimización II
42
Tema 4. Ideas clave
Actualización de feromonas de la mejor y la peor hormiga.
Mutación sobre los rastros de feromona de los arcos.
Mecanismo de reinicialización.
Optimización II
43
Tema 4. Ideas clave
Mutación sobre los rastros de feromona de los arcos
Optimización II
44
Tema 4. Ideas clave
Figura 26. Soluciones momentáneas. Fuente: adaptado de Duarte Muñoz, Pantrigo Fernández y Gallego
Carrillo, 2007.
Mecanismo de reinicialización
Al igual que en el sistema de colonia de hormigas max − min, cuando se detecta que
no se ha mejorado la mejor solución encontrada durante un número determinado de
iteraciones, se realiza un proceso de reinicialización, en este proceso se ponen todos
los parámetros a cero, se almacena la mejor solución encontrada y el algoritmo
empieza a buscar una nueva mejor solución. El motivo de esta modificación, como ya
comentamos, es evitar perder el tiempo iterando sobre la misma solución y
aprovechar para explorar nuevos caminos.
Optimización II
45
Tema 4. Ideas clave
Algoritmo de colonia de hormigas para problemas en el continuo
Para finalizar con la descripción que se ha hecho de algunas variantes del algoritmo
de colonia de hormigas, cabe mencionar el caso particular de una variante dirigida,
más que a problemas combinatorios, a optimización sobre el continuo, es decir, un
algoritmo de colonia de hormigas para optimización sobre el continuo. En el
siguiente vídeo, se habla un poco más al respecto.
Ejercicio 1
𝑓(𝑠) = 𝑑 𝑥
, ∈{ ,…, }
Establezca los parámetros del algoritmo de colonia de hormigas para este problema.
Optimización II
46
Tema 4. Ideas clave
Solución
La aproximación más simple, la idoneidad, puede ser uno para todos los arcos de
manera constante y dejar que la probabilidad solo dependa de las feromonas en el
camino, con lo cual automáticamente es innecesario establecer el parámetro 𝛽,
mientras que el parámetro 𝛼 no tiene mayor relevancia y puede ser uno.
1
𝜏 =𝜏 +
𝑑
𝑃 =∑
Optimización II
47
Tema 4. Ideas clave
Ejercicio 2
Para el caso del Ejercicio 1, siendo 𝜏 la cantidad de feromonas en el arco del nodo 𝑖
al 𝑗, y si para 𝑗 = 1, 2, 3, 4, 5, 6, las cantidades de feromonas son 1, 2, 4, 3, 5, 2,
respectivamente. Obtenga el posible arco que escogería una hormiga en el nodo 𝑖,
bajo una elección por ruleta utilizando el valor 𝑟 = 0.4921, generado de una
distribución uniforme en [0,1].
Solución
Los intervalos de la última columna sirven para que, dado un número aleatorio en
[0,1], se pueda obtener, a su vez, un número aleatorio de la distribución de
probabilidades de la columna de 𝑝 . Dado que el valor 𝑟 = 0.4921 cae en el intervalo
de la fila 𝑗 = 4, este sería el nodo de transición o nueva posición.
Optimización II
48
Tema 4. Ideas clave
Ejercicio 3
Solución
rng('shuffle')
ss = zeros([N,M]); % almacen de mejores soluciones
d = [0 4 2 10 5; 4 0 3 5 1; 2 3 0 7 1; 10 5 7 0 4; 5 1 1 4 0]; % matriz de
distancias entre ciudades
tau = ones([M,M]); % declaración de matriz de feromonas
cs = repelem(M*max(d,[],'all'),N,1); % costos de tour por hormiga
for l = 1:I
Optimización II
49
Tema 4. Ideas clave
for n = 1:N
J = 1:M;
s = zeros([1,M]);
s(1) = randi(M); % posición actual (nodo inicial)
c = 0;
for k = 2:M
i = s(k-1); % índice de salida o del nodo actual
J = J(i~=J); % posiciones potenciales (nodos posibles s continuación)
P = tau(i,J)/sum(tau(i,J)); % probabilidades de transición
cumP = cumsum(P); % prbabilidades acumuladas
cumP(end) = 1; % asegura que el redondeo no afecte la acumulación
j = J(find(rand <= cumP,1,"first")); % selección por ruleta del índice de
llegada
tau(i,j) = tau(i,j) + 1/d(i,j); % actualiza el valor de feromonas del arco
s(k) = j; % guarda la posición siguiente
c = c + d(i,j); % actualiza el costo por el tránsito del arco (i,j)
end
tau(s(end),s(1)) = tau(s(end),s(1)) + 1/d(s(end),s(1)); % incluye las
feromonas al regresar al nodo inicial
c = c + d(s(end),s(1)); % calcula el costo de regreso
if cs(n) > c % criterio de minimización
cs(n) = c; % actualiza el mejor costo hasta ahora
ss(n,:) = s; % actualiza el mejor tour
end
end
tau = (1-rho)*tau; % aplica la evaporación
end
% imprime la mejor solución en pantalla
disp('Solución:')
[cmin,imin] = min(cs);
disp('Tour: '+strjoin(string(ss(imin,:))))
disp('Distancia:'+string(cmin))
Optimización II
50
Tema 4. Ideas clave
Ejercicio 4
Solución
Aprendizaje espacial:
Optimización II
51
Tema 4. Ideas clave
Sensibilidad y cambios en el entorno:
Comunicación visual:
Exploración eficiente:
El algoritmo debería permitir una exploración eficiente del espacio visual para
maximizar la probabilidad de encontrar fuentes de alimento. Esto podría
implicar estrategias como la exploración sistemática de diferentes regiones o la
búsqueda basada en patrones visuales específicos.
Las hormigas podrían depender de la memoria visual a largo plazo para recordar
la ubicación de fuentes de alimento y mejorar su eficiencia con el tiempo. En
resumen, si las hormigas de la especie Pachycondyla apicalis utilizan imágenes
de regiones en lugar de feromonas para buscar alimento en un dominio
continuo entre dos nodos, el algoritmo subyacente probablemente involucraría
una combinación de habilidades de visión, aprendizaje espacial, comunicación
visual y adaptabilidad a cambios en el entorno. Este enfoque podría tener
implicaciones interesantes para la comprensión de los algoritmos de búsqueda
y la inteligencia colectiva en el reino animal.
Optimización II
52
Tema 4. Ideas clave
Una región, más que un camino, se podría entender como un continuo de caminos.
Otra posibilidad es que la región sea explorada con un conjunto de nodos virtuales
intermedios, que necesitarían ser recorridos antes para poder llegar a una nueva
región.
Ejercicio 5
Solución
El reescalar los valores de feromonas puede servir como un parámetro que tonifique
la exploración siempre que esté relacionado con el incentivo de feromonas que se
adquiere al cruzar un arco. En efecto, si los incentivos son muy pequeños, los valores
de feromonas tenderán a ser muy semejantes, provocando una exploración más
equitativa. Sin embargo, al elegir una evaporación alta, los incrementos quedarían en
los mismos ordenes de magnitud, notándose mejor los aumentos y propiciando una
convergencia más rápida.
Optimización II
53
Tema 4. Ideas clave
Donati, A. V., Montemanni, R., Casagrande, N., Rizzoli, A. E. y Gambardella, L. M.
(2008). Time dependent vehicle routing problem with a multi ant colony system.
European Journal of Operational Research, 185(3), 1174-1191.
https://www.academia.edu/416737/Time_Dependent_Vehicle_Routing_Problem_
With_a_Multi_Ant_Colony_System
López, N. (2020, octubre 12). Preguntas tontas: ¿puede instalar tu empresa un GPS
en el coche para controlarte? [Imagen]. Autobild.
https://www.autobild.es/noticias/preguntas-tontas-puede-instalar-empresa-gps-
coche-controlarte-734935
Optimización II
54
Tema 4. Ideas clave