j=1
s
ji
/n
En lugar de ordenar los trabajos de mayor a menor tiempo
de proceso pi como lo hace la heurstica LPT, los trabajos
se ordenan de mayor a menor tiempo estimado de ocupaci on
de m aquina pe
i
, formando as la ListaTrabajos inicial para el
procedimiento de Asignaci on de Trabajos de el algoritmo 1.
VI. OPTIMIZACI ON DE LA COLONIA DE HORMIGAS(ACO)
El comportamiento inteligente de diversos animales sociales
como hormigas, avejas, termitas, aves y peces, ha motivado su
investigacion por parte de cienticos quienes est an interesados
en entender las interacciones sutiles que existen entre estos
Figura 4. Comportamiento de forrajeo de las hormigas.
Figura 5. Construcci on de nidos de hormigas tejedoras.
animales que crean grandes y elavoradas comunidades. Ade-
mas de los bi ologos, los ingenieros esperan aplicar el cono-
cimiento obtenido por los cientcos para resolver problemas
intrincados en las ciencias de la computaci on, las redes de
comunicaciones y la rob otica, entre otras areas.
Una metaheurstica es un conjunto de conceptos algortmicos
que pueden ser usados para denir m etodos heursticos apli-
cables a un conjunto de problemas diferentes.
Ant Colony Optimization (ACO) es una metaheurstica que
engloba un conjunto de t ecnicas de optimizaci on inspiradas
en el comportamiento colectivo de forrajeo, gura 4, de las
hormigas, las cuales son capaces de encontrar un camino
corto entre el nido, gura 5, y la fuente de alimento; esta
t ecnica naci o con la tesis doctoral de Marco Dorigo en Milan,
Italia en 1992. En las siguientes secciones se describe el
comportamiento natural de las colonias de hormigas y la
adaptaci on que dio origen al primer algoritmo de esta clase.
Las hormigas siendo insectos casi ciegos, pueden determinar el
camino mas corto entre su nido y la fuente de alimento. Como
la mayora de las especies de hormigas, las cosechadoras rojas
se comunican mediante el tacto y el olfato. Pero en vez de
oler el aire, utilizan sus sensibles antenas para detectara olores
muy sutiles por hidrocarburos. Estos hidrocarburos que sirven
para comunicarce se denomina feromona. A continuaci on se
describe el proceso mediante el cual, utilizando feromona, las
hormigas son capaces de construir la ruta mas corta entre el
nido y el alimento.
Al desconocer alg un camino hacia el alimento, las hormigas
empiezan con uns distribuci on azaroza por el espacio explo-
rado, ver gura6(a). Al cabo de cierto tiempo, y sabiendo que
las hormigas se mueven a una misma velocidad constante, la
cantidad de feromona se har a m as persistente en lugares que
son mas transitados y evitar a su r apida evaporaci on. De tal
forma, las distancias mas cortas entre el nido y la fuente de
alimento tender an a ser transitadas m as frecuentemente por
las hormigas, loq ue permitir a hacer m as fuerte el rastro de
4
Figura 6. Comportamiento adaptativo de las hormigas.
los caminos m as cortos y estas tender an a abandonar con el
tiempo los caminos m as largos, ver gura6(b).
Si esta ruta se pierde por el bloqueo de alg un objeto o por los
cambios ambientales, ver gura6(c), una vez que las hormigas
se encuentren en el punto que se ha perdido el rastro volver an a
elegir aleatoriamente un camino, ver gura6(d), algunas hacia
arriba y otras hacia abajo. Sin embargo, aquellas que elijan ir
por la parte de arriba que es el camino m as corto, alcanzar an
el otro extremo con mayor rapidez que las que eligieron el
camino m as largo, de tal forma que, transcurrido cierto tiempo
(por retroalimentaci on de la feromona), volver an a reestablecer
el camino corto y terminar an abandonando el camino largo,
ver gura6(e).
De este modo, las colonias de hormigas pueden establecer
rutas cortas utilizando la feromona como medio de intercambio
de informaci on, lo que se conoce como stigmergy.
Algoritmo 3 Algoritmo de la colonia de hormigas
1: Construcci on de soluciones por hormigas
2: Actualizaci on de feromona
3: Servidor de acciones
La actualizaci on de la feromona es el proceso mediante el
cual los rastros de feromona son modicados. El valor del
rastro puede incrementarse debido a que las hormigas deposi-
tan feromona en cada uno de los componentes o conexiones
que usan para moverse de un nodo a otro del problema. Y el
valor del rastro tambi en puede decrementarse por medio de la
simulaci on de la evaporaci on de feromona, lo que evita una
convergencia prematura del algoritmo.
El servidor de acciones es un procedimiento utilizado pa-
ra implementar acciones centralizadas las cuales no pueden
ser desarrolladas por las hormigas en forma individual. Un
ejemplo de estas acciones puede ser la activaci on de un
procedimiento de optimizaci on local o la compilaci on de
informaci on global que puede ser usada para tomar decisiones
que modiquen el comportamiento del algoritmo en forma
general o parcial.
VI-A. Explicacion del algoritmo
Tenemos el algoritmo 2 y presentamos su analisis. En primer
lugar las m hormigas estan inicialmente emplazadas en punto
de inicio con n puntos de decisiones iniciales, y estas escogen
sus rutas de acuerdo a ciertas reglas. Se entiende que cada
punto a escoger es una operacion de cada trabajo.
En el principio, ausmimos que las feromonas en cada camino
es muy reducido tau
0
. Para acelerar la velocidad de conver-
gencia de las hormigas, las eleciones son basadas en los rastros
de feromona. Mientras mas hormigas escojan cierta ruta, mas
feromonas es registrada en ese camino y este deberia ser el
mas optimo.
5
Para evitar una convergencia temprana dos metodos de se-
lecci on son aplicados. Convergencia temprana ocurre cuando
muchas hormigas se juntan en un camino incorrecto y la
feromona se vielve tan densa que una mejor ruta no puede
ser encontrada.
Cada hormiga contruye una ruta repitiendo una regla voraz
estocastica, el cual es llamado regla de estado de transici on.
s =
argmax
uJ(r)
, si q q
0
S, si no es asi
(4)
(r,u) representa una arista entre r y u, y (r, u) guarda la
feromona en la arista (r,u). (r, u) es la deseabilidad de la
arista (r,u), el cual es usualmente denido como el inverso del
peso de (r,u). q es un n umero aleatorio distribuido en [0,1], q
0
es una parametro ya deifnido, es el parametro que controla
la importancia de la deseabilidad. J(s) es el conjunto de aristas
disponibles en el punto de desicion r. S es la variable aleatoria
selecionada de acuerdo a la distribucion de probabilidad dada
abajo.
P(r, s) =
[(r, s)]
(r, s)
uJ(r)
[(r, u)] [(r, u)
]
, si s J(r)
0, si no es asi
(5)
La estrategia de selecci on usado arriba es tambien llamado
selecci on ruleta rusa ya que su mecanismo es la simulaci on
de la operaci on de una ruleta rusa. Cada punto tiene su
probabilidad de ser escogido, mientras mas grande sea, mayor
probabilidad es de ser escogido.
VII. DISCUSI ON Y CONCLUSIONES
Este articulo ha aplicado el Algoritmo de Colonia de
Hormigas al Job-Shop Problem se observa que cambiando los
parametros jos y la cantidad de hormigas en el algoritmo se
podra ver variaciones en el resultado, a veces para mejor, lo
que se decuce que aunque se puede obtener buenos resultados,
se tiene que escojer los parametros jos con cuidado para cada
caso. Al ser el ACH un algoritmo altamente paralelizable, se
puede hacer una gran mejora en los tiempos de ejecuci on.
VIII. TRABAJOS FUTURO
Se queria observar como el ACH puede darnos buenas
soluciones a un problema dicil como JSP. Como trabajo
futuro que quiere estudiar otras heuristicas complejas como
los Algoritmos Gen eticos para hacer una comparaci on de
resultados, tiempos y bajo que circunstancias uno es m as
eciente que otro.
Algoritmo 4 Algoritmo Colonia de Hormigas Paralelizado
1: /* Inicializaci on */
2: para cada par(r,s) hacer
3: tau(r, s)
0
4: n para
5: para i = 1 to ANTS hacer
6: next set
O
11
, O
21
, . . . , O
JOBS,1