Está en la página 1de 12

OPTIMIZACIN BASADA EN COLONIA DE HORMIGAS:

GENERALIDADES Y ESTUDIO DEL ALGORITMO SISTEMA


HORMIGA Y APLICACIN A UN JOB SHOP
ANT COLONY OPTIMIZATION: GENERALITIES AND STUDY OF
ANT SYSTEM ALGORITHM AND A JOB SHOP APLICATION
ANDRS ATEHORTA
Estudiante Especializacin Gestin Empresarial, amatehortuab@unal.edu.co
Tpicos Avanzados en produccin y logstica, profesor Elkin Rodrguez, ltima versin: 16-09-2012
Universidad Nacional de Colombia

RESUMEN: Este artculo trata acerca de los Algoritmos basados en colonia de hormigas, los
cuales son unos modelos Metaheursticos basados en el comportamiento autoorganizativo que
algunas especies de hormigas presentan en la naturaleza para encontrar los caminos ms cortos
entre el nido y las fuentes de alimento. Inicialmente, se mencionan las caractersticas de las
hormigas en la naturaleza que fundamentan este tipo de modelos, para as pasar, a partir de stas
caractersticas, a describir la Metaheurstica de Optimizacin basada en colonia de Hormigas
explicando el modo de operacin general de stos. Luego de sto, se procede a estudiar el
algoritmo Sistema de Hormigas, el cual fue el primer algoritmo de optimizacin de colonia de
hormigas desarrollado por M. Dorigo, V. Maniezzo, A. Colorni en 1991, y el cual ha servido de
base para muchos otros modelos, y cuyo entendimiento permitir al lector tener una introduccin
para comprender la filosofa y funcionamiento de la mayora de algoritmos basados en colonia de
hormigas. Ya teniendo claro el funcionamiento de la metaheurstica se estudia la aplicacin de esta
en un problema particular, en este caso un problema Job-Shop; para lo cual se introduce en qu
consiste el problema de Job Shop, y se estudia cmo fue abordado con colonia de hormigas en este
trabajo. Finalmente se mencionan las conclusiones a las que se ha llegado producto de la revisin
bibliogrfica y del anlisis del funcionamiento de este tipo de algoritmos.
PALABRAS CLAVE: Optimizacin basada en colonia de hormigas, Sistemas de hormigas, JobShop, Feromona, Metaheursticas.
ABSTRACT: This article is about the algorithms based on ant colony, which are Metaheuristics
models based in self-organizing behavior that some species of ants found in nature to find the
shortest paths between the nest and food sources. Initially referred to the characteristics of ants in
nature that underlie this type of model, and later, from these characteristics, we pass to describe the
optimization metaheuristics based on ant colony, explaining how is their overall operation. After
this, we proceed to study the Ant System algorithm, which was the first algorithm of ant colony
optimization developed by M. Dorigo, V. Maniezzo, A. Colorni in 1991, which was the basis for
many other models, and whose understanding will enable the reader to have an introduction to
understand the philosophy and operation of most algorithms based on ant colony. Already having
clear the operation of the metaheuristic, we studied this algorithm in a particular problem, in this
case Job-Shop problem, which is introduced to what the job shop problema is, and considers how it
was dealt with colony ant in this work. Finally, product of the literature review and analysis of the
performance of such algorithms, we mention the conclusions that have been found.

KEY WORDS: Ant Colony Optimization , Ant system, Pheromone, Metaheuristics, Job Shop.

1. INTRODUCCIN
Existen problemas de optimizacin combinatoria
complejos en diversos campos como la economa, el
comercio, la ingeniera, la industria o la medicina.
Sin embargo, a menudo estos problemas son muy
difciles de resolver en la prctica. El estudio de esta
dificultad inherente para resolver dichos problemas
ha llevado a la comunidad cientfica a formular un
sin nmero de modelos, que an siguen intentando,
cada da ms, aproximarse a soluciones ms optimas
de una forma ms eficaz, logrando resultados
satisfactorios en tiempos de ejecucin cada vez
menores.
Debido a que ante problemas de gran tamao y de
caractersticas combinatorias, los modelos exactos, e
incluso los heursticos, son ineficaces; las tcnicas
metaheursticas aparecen como alternativas muy
razonables para abordarlos, donde diferentes
experimentos ya han logrado demostrar las
bondades de stos modelos.
Las metaheursticas incorporan conceptos de
muchos y diversos campos como la gentica, la
biologa, la inteligencia artificial, las matemticas, la
fsica y la neurologa, entre otras. Algunos ejemplos
de metaheursticas son: Enfriamiento simulado,
bsqueda tab, bsqueda local iterativa (iterated
local search), algoritmos de bsqueda local con
vecindario variable (variable neighborhood
search), GRASP (greedy randomized adaptative
search procedures) y algoritmos evolutivos. Una
metaheurstica relativamente reciente es la
Optimizacin basada en Colonias de Hormigas
(OCH) (Ant Colony Optimization, ACO en
ingls), la cual se inspira en el comportamiento que
rige a las hormigas de diversas especies para
encontrar los caminos ms cortos entre las fuentes
de comida y el hormiguero. De hecho, desde el
trabajo inicial de Dorigo, Maniezzo y Colorni en el
Sistema de Hormigas (SH) (Ant System, AS en
ingls), la ACO se est convirtiendo en un campo de
investigacin importante: un gran nmero de autores
han desarrollado modelos cada vez ms sofisticados
para solucionar de manera satisfactoria un gran
nmero de problemas de optimizacin combinatoria.
Igualmente se ha incrementado el nmero de
desarrollos tericos sobre los algoritmos que se
proponen.

Con este artculo se pretende hacer una


revisin bibliogrfica sobre las generalidades
de los algoritmos ACO, su estructura bsica y
se har nfasis en el algoritmo AS, el cual
como ya se menciono, fue el primer
algoritmo de optimizacin de colonia de
hormigas, desarrollado por M. Dorigo, V.
Maniezzo, A. Colorni en 1991, y el cual ha
servido de base para muchos otros
modelos, y cuyo entendimiento permitir al
lector tener una introduccin para
comprender la filosofa y funcionamiento
de la mayora de algoritmos basados en
colonia de hormigas.
[3][4].

Adems, se trabajar el problema de


programacin Job Shop (JSSP por sus
siglas en ingls, Job Shop Scheduling
Problem),
haciendo
una
pequea
introduccin a las caractersticas de estos
tipos de problemas, para luego pasar a
estudiar cmo fue abordado con ACO.
2. GENERALIDADES DE LA
OPTIMIZACIN BASADA EN
COLONIA DE HORMIGAS
2.1 Las hormigas naturales
Las hormigas son insectos sociales que viven
en colonias y que, debido a su colaboracin
mutua,
son
capaces
de
mostrar
comportamientos complejos y realizar tareas
difciles desde el punto de vista de una
hormiga individual. Un aspecto interesante
del comportamiento de muchas especies de
hormigas es su habilidad para encontrar los
caminos ms cortos entre su hormiguero y las
fuentes de alimento. Este hecho es
especialmente interesante si se tiene en
cuenta que muchas de las especies de
hormigas son casi ciegas, lo que evita el uso
de pistas visuales.
Mientras que se mueven entre el hormiguero
y la fuente de alimento, algunas especies de

2
hormigas depositan una sustancia qumica
denominada feromona (una sustancia que puede
olerse). Si no se encuentra ningn rastro de
feromona, las hormigas se mueven de manera
bsicamente aleatoria, pero cuando existe feromona
depositada, tienen mayor tendencia a seguir el
rastro. De hecho, los experimentos realizados por
bilogos han demostrado que las hormigas prefieren
de manera probabilstica los caminos marcados con
una concentracin superior de feromona [1]. En la
prctica, la eleccin entre distintos caminos toma
lugar cuando varios caminos se cruzan. Entonces,
las hormigas eligen el camino a seguir con una
decisin probabilstica sesgada por la cantidad de
feromona: cuanto ms fuerte es el rastro de
feromona, mayor es la probabilidad de elegirlo.
Puesto que las hormigas depositan feromona en el
camino que siguen, este comportamiento lleva a un
proceso de autorefuerzo que concluye con la
formacin de rastros sealados por una
concentracin de Feromona elevada. Este
comportamiento permite adems a las hormigas
encontrar los caminos ms cortos entre su
hormiguero y la fuente del alimento.
2.2 De las hormigas naturales a la Metaheurstica
de Optimizacin basada en colonia de Hormigas
Los algoritmos de OCH se inspiran directamente en
el comportamiento de las colonias reales de
hormigas
para
solucionar
problemas
de
optimizacin combinatoria. Se basan en una colonia
de hormigas artificiales, esto es, unos agentes
computacionales simples que trabajan de manera
cooperativa y se comunican mediante rastros de
feromona artificiales.
Los algoritmos de OCH son esencialmente
algoritmos constructivos: en cada iteracin del
algoritmo, cada hormiga construye una solucin al
problema recorriendo un grafo de construccin.
Cada arista del grafo, que representa los posibles
pasos que la hormiga puede dar, tiene asociada dos
tipos de informacin que guan el movimiento de la
hormiga [1]:
Informacin heurstica, que mide la preferencia
heurstica de moverse desde el nodo r hasta el nodo
s, o sea, de recorrer la arista a rs . Se nota por rs. Las
hormigas no modifican esta informacin durante la
ejecucin del algoritmo.

Informacin de los rastros de feromona


artificiales, que mide la deseabilidad
aprendida del movimiento de r a s. Imita a
la feromona real que depositan las hormigas
naturales. Esta informacin se modifica
durante la ejecucin del algoritmo
dependiendo de las soluciones encontradas
por las hormigas. Se nota por trs.
2.3 Modo de operacin de un algoritmo ACO
El modo de operacin bsico de un algoritmo
de ACO es como sigue: las m hormigas
(artificiales) de la colonia se mueven,
concurrentemente y de manera asncrona, a
travs de los estados adyacentes del problema
(que puede representarse en forma de grafo
con pesos). Este movimiento se realiza
siguiendo una regla de transicin que est
basada en la informacin local disponible en
las componentes (nodos). Esta informacin
local incluye la informacin heurstica y
memorstica (rastros de feromona) para guiar
la bsqueda. Al moverse por el grafo de
construccin, las hormigas construyen
incrementalmente soluciones.
Opcionalmente, las hormigas pueden
depositar feromona cada vez que crucen un
arco (conexin) mientras que construyen la
solucin (actualizacin en lnea paso a paso
de los rastros de feromona). Una vez que
cada hormiga ha generado una solucin se
evala sta y puede depositar una cantidad de
feromona que es funcin de la calidad de su
solucin (actualizacin en lnea a posteriori
de los rastros de feromona). Esta
informacin guiar la bsqueda de las otras
hormigas de la colonia en el futuro.
Adems, el modo de operacin genrico de
un algoritmo de ACO incluye dos
procedimientos adicionales, la evaporacin
de los rastros de feromona y las acciones del
demonio. La evaporacin de feromona la
lleva a cabo el entorno y se usa como un
mecanismo que evita el estancamiento en la
bsqueda y permite que las hormigas
busquen y exploren nuevas regiones del
espacio. Las acciones del demonio son
acciones opcionales -que no tienen un
contrapunto natural- para implementar tareas

3
desde una perspectiva global que no pueden llevar a
cabo las hormigas por la perspectiva local que
ofrecen. Ejemplos son observar la calidad de todas
las soluciones generadas y depositar una nueva
cantidad de feromona adicional slo en las
componentes asociadas a algunas soluciones, o
aplicar un procedimiento de bsqueda local a las
soluciones generadas por las hormigas antes de
actualizar los rastros de feromona. En ambos casos,
el demonio reemplaza la actualizacin en lnea a
posteriori de feromona y el proceso pasa a llamarse
actualizacin fuera de lnea de rastros de feromona.
Hay que notar que el primer paso para implementar
un algoritmo ACO, incluye la inicializacin de los
valores de los parmetros que se tienen en
consideracin en el algoritmo. Entre otros, se deben
fijar el rastro inicial de feromona asociado a cada
transicin, to, que es un valor positivo pequeo y
que normalmente es el mismo para todas las
conexiones, el nmero de hormigas en la colonia, m,
y los pesos que definen la proporcin en la que
afectarn la informacin heurstica y memorstica en
la regla de transicin probabilstica
Como se ha comentado antes, varias componentes
son o bien opcionales, como las acciones del
demonio, o bien dependientes estrictamente del
algoritmo de OCH especifico, por ejemplo cundo y
cmo se deposita la feromona. Generalmente, la
actualizacin en lnea paso a paso de los rastros de
feromona y la actualizacin en lnea a posteriori de
los rastros de feromona son mutuamente excluyentes
y no suelen estar presentes a la vez ni faltar ambas al
mismo tiempo (si las dos faltan, el demonio suele
actualizar los rastros de feromona).
En este sentido, la seleccin de los parmetros
iniciales y la configuracin de los componentes del
algoritmo pueden ser determinantes para el
rendimiento del mtodo, y es por esto que un buen
algoritmo nunca se desprende de un buen
conocimiento del problema.
3. ANT SYSTEM
En la literatura se han propuesto diversos algoritmos
que siguen la metaheursticas ACO. Entre los
algoritmos de ACO disponibles para problemas de
optimizacin combinatoria NP-duros, se encuentran
el Sistema de Hormigas (SH o Ant System (AS))

[6], el Sistema de Colonia de Hormigas (SCH


o Ant Colony System (ACS)) [5], el Sistema
de Hormigas Max-Min (SHMM, Max-Min
Ant System) [9], el Sistema de la Mejor-Peor
Hormiga (SMPH o Best-Worst Ant System)
[3, 2].
En este trabajo se har hincapi en el
algoritmo Ant System, ya que a pesar de que
los otros modelos presentan mejores
resultados, la mayora de stos son
modificaciones del algoritmo AS, por lo cual,
desde el punto de vista de dar un
entendimiento del funcionamiento de los
algoritmos ACO, entender el modelo base es
primordial.
Tal y como se ha mencionado, fue el primer
algoritmo de optimizacin de colonia de
hormigas, Este algoritmo se realizo para la
resolucin del problema del viajante de
comercio, problema de optimizacin
combinatoria ms tradicional y estudiado,
buscando la ruta ms corta para viajar a un
conjunto de ciudades.
El algoritmo trata de simular el
comportamiento de las hormigas naturales.
Este debe de ser capaz de admitir las tareas
que realiza la hormiga y simular el
comportamiento del conjunto.
Se realizaron tres variantes del algoritmo
segn la forma de realizar el depsito de
feromona en el medio.
Densidad: Se realizaba el depsito de
feromona durante el transcurso del recorrido
(actualizacin en lnea paso a paso de
feromona). La cantidad de feromona
depositada era siempre constante.
Cantidad: Se realizaba el depsito de
feromona durante el transcurso del recorrido
(actualizacin en lnea paso a paso de
feromona). La cantidad de feromona
depositada estaba relacionada a la
deseabilidad heurstica del tramo.
Ciclo: El depsito de feromona se realiza
una
vez
finalizada
una
solucin

4
(actualizacin en lnea a posteriori de feromona).
Esta ltima variante es la que mejor resultados
proporcion y la que se conoce por Ant System
(AS) Sistema de Hormigas (SH).
3.1 Estructura del algoritmo
El AS se caracteriza por el hecho de que la
actualizacin de feromona se realiza una vez que
todas las hormigas han completado sus soluciones, y
se lleva a cabo como sigue: primero, todos los
rastros de feromona se reducen en un factor
constante, implementndose de esta manera la
evaporacin de feromona. A continuacin cada
hormiga de la colonia deposita una cantidad de
feromona que es funcin de la calidad de su
solucin. Inicialmente, el SH no usaba ninguna
accin en un segundo plano, pero es relativamente
fcil, por ejemplo, aadir un procedimiento de
bsqueda local para refinar las soluciones generadas
por las hormigas.
A grandes rasgos el algoritmo presenta el siguiente
desarrollo:

En palabras, el algoritmo es una ejecucin


continua hasta cumplir una condicin de
parada, sta condicin puede ser establecida
de muchas maneras segn el objetivo y la
disponibilidad de recursos, ejemplos pueden
ser un nmero de iteraciones especificada,
hasta cuando no se note mejora en la
variable objetivo despus de cierto nmero
de iteraciones, etc. En cada ciclo se crea una
hormiga que va cambiando de estado o nodo,
de acuerdo a una probabilidad resultante de
una funcin heurstica y de la cantidad de
feromona detectada en ese recorrido concreto
(Mover Hormiga). Se puede decir, que la
hormiga es un elemento simple, que se
desplaza basndose en informacin local,
tanto heurstica, como la aportada por los
elementos de la colonia (feromona). Las
ciudades no se pueden repetir, por lo que
cada hormiga tiene que tener una lista
denominada tab de las ciudades ya visitadas.
Una vez determinada la probabilidad de las
diferentes posibles rutas a tomar, la hormiga
decide en funcin a estos valores ("Eleccin
del movimiento"). Una vez elegido el nodo a
visitar, se aade este a la lista de nodos
visitados (lista tab), repitiendo este proceso
hasta finalizar la visita a todos los nodos. Una
vez terminado un ciclo, se procede a realizar
la evaporacin de feromona depositada en los
arcos de la red y la deposicin de feromona
sobre la solucin obtenida ("Actualizacin de
Feromona"). El ciclo se repite hasta la
condicin de fin establecida para el
algoritmo.

Las hormigas utilizan el depsito de


feromonas
para
recordar
su
comportamiento, es decir, acumular el
conocimiento que van adquiriendo del
problema a resolver. En un primer
momento, todos los arcos presentan la
misma probabilidad y para ello se
considera oportuno introducir un pequeo
valor de feromona, cantidad que hace
posible que caminos sin explorar tambin
tengan probabilidad de ser recorridos.
Figura 1: Algoritmo AS

3.1.1 Eleccin del movimiento

5
En cada paso de construccin, una hormiga k escoge
ir al siguiente nodo con una probabilidad que se
calcula como:

Donde, Nk(r) son los nodos alcanzables por la


hormiga k desde el nodo r. y son parmetros que
ponderan la importancia de la heurstica utilizada y
los valores de feromona detectados. rs representa el
rastro de feromona entre los puntos r y s. rs
representa el valor de la funcin heurstica elegida,
deseabilidad, que en el problema del agente viajero
por lo general se utiliza el reciproco de la distancia
entre los nodos.
Cada hormiga k almacena la secuencia que ha
seguido hasta el momento y su memoria Lk, tal
como se explic antes, se utiliza para determinar
Nk(r) en cada paso de construccin.
Volviendo a los parmetros a y , su funcin es la
que sigue: si =0, aquellos nodos con una
preferencia heurstica mejor tienen una mayor
probabilidad de ser escogidos, haciendo el algoritmo
muy similar a un algoritmo voraz probabilstico
clsico (con mltiples puntos de partida en caso de
que las hormigas estn situadas en nodos distintos al
comienzo de cada iteracin). Sin embargo, si = 0,
slo se tienen en cuenta los rastros de feromona para
guiar el proceso constructivo, lo que puede causar
un rpido estancamiento, esto es, una situacin en la
que los rastros de feromona asociados a una
solucin son ligeramente superiores que el resto,
provocando por tanto que las hormigas siempre
construyan las mismas soluciones, normalmente
ptimos locales. Por tanto es preciso establecer una
adecuada proporcin entre la informacin heurstica
y la informacin de los rastros de feromona.

3.1.1.1 Ejemplo grfico de la eleccin del


destino

Figura 2: Eleccin del primer movimiento

En un primer momento, cuando la hormiga


llega al nodo P, siendo esta la primera en
visitarlo, se encuentra con unos valores de
feromona iguales para las tres rutas a seguir,
en cambio las distancias a los siguientes
puntos no son las mismas.
Los valores de probabilidad para cada una de
las tres posibles rutas para un valor de 1 tanto
para y , son los siguientes:

La hormiga aleatoriamente, segn las


probabilidades obtenidas, elige el punto A
para su ruta hacia el punto destino. Una vez
alcanzado el destino, se realiza la
actualizacin de feromona correspondiente.
En cada arco perteneciente al recorrido
seguido por la hormiga, se origina una
variacin del valor de la feromona.
Feromona (P-A) : 0,01 0,015

6
a la segunda hormiga. Con estos nuevos
valores la hormiga obtiene las siguientes
probabilidades de opcin de desplazamiento.

Figura 3: Actualizacin de feromona

Cuando llega otra hormiga al punto P tiene que


realizar el clculo de probabilidades con los nuevos
valores existentes. Los clculos para la obtencin de
los resultados seran los siguientes:

Figura 5: Eleccin de la tercer hormiga

La hormiga tambin puede elegir la que


tericamente es la peor opcin, ya que es una
eleccin aleatoria. Este es el caso que se representa,
donde la hormiga ha elegido la ruta hacia el punto
B. Una vez concluida la ruta hasta el destino, se
realiza la actualizacin correspondiente de feromona
en la red.
Feromona (P-B): 0,01 0,021

Los valores obtenidos, como se ha informado


anteriormente, han resultado de los clculos
con unos valores para y de 1. Si por el
contrario, se quiere dar menos importancia a
la funcin heurstica estableceramos el valor
de por debajo de 1. En el ejemplo siguiente
se considera un valor de 0,7. Con esto se
consigue una mayor exploracin, las
probabilidades de las diferentes opciones
tienden a igualarse, dando ms importancia a
la cantidad detectada de feromona.

3.1.2 Actualizacin de la feromona


Figura 4: Actualizacin de probabilidades

Una tercera hormiga llega al punto P, en este caso


ya se ha actualizado la cantidad de feromona debida

Como se ha dicho, la deposicin de feromona


se realiza una vez que todas las hormigas han
acabado de construir sus soluciones. Primero,
los rastros de feromona asociados a cada arco

7
se evaporan reduciendo todos los rastros de
feromona en un factor constante:

Donde [0,1] es la tasa de evaporacin. El


siguiente paso de cada hormiga es recorrer de nuevo
el camino que ha seguido (el camino esta
almacenado en su memoria local Lk) y deposita una
cantidad de feromona rsk en cada conexin por la
que ha viajado:

Donde rsk= f(C(Sk)) es decir, la cantidad de


feromona que se deposita depende de la calidad
C(Sk) de la solucin Sk construida por la hormiga k.
Un aporte adicional realizado por los autores de AS
es una versin extendida del algoritmo que
normalmente mejoraba los resultados obtenidos,
llamada AS elitista [6]. En el AS elitista, una vez
que las hormigas han depositado feromona en las
conexiones asociadas a sus respectivas soluciones,
el demonio realiza una deposicin adicional de
feromona en las aristas que pertenecen a la mejor
solucin encontrada hasta el momento en el proceso
de bsqueda. La cantidad de feromona depositada,
que depende de la calidad de la mejor solucin
global, se incrementa en un factor e, que se
corresponde con el nmero de hormigas elitistas que
se consideran, tal como sigue:

4. JOB SHOP SCHEDULING PROBLEM


El problema JSSP (Job Shop Scheduling Problem)
que se estudia en este documento se compone de lo
siguiente: dado un conjunto M que contiene |M|
mquinas, y un conjunto J que contiene |J| trabajos,
donde cada uno de los trabajos tiene una secuencia
ordenada de operaciones a ser ejecutadas en las
mquinas; El objetivo de la programacin es ejecutar
todas las operaciones minimizando el tiempo de
completacin de todas las actividades (el makespan),
sujeto a las restricciones: (1) El orden de las
operaciones es fijo; (2) Una mquina puede procesar
un solo trabajo a la vez; (3) Todas los trabajos estn

disponibles simultneamente en el tiempo cero;


(4) Las operaciones no pueden ser
interrumpidas.

Dado una instancia de un JSSP, esta se puede


representar con un diagrama disyuntivo
D=(V,A, E); donde V es un par de nodos
ficticios que representan el inicio y el fin de
la completacin de todos los trabajos, A es el
conjunto de nodos conjuntivos (dirigidos), y
E es el conjunto de nodos disyuntivos (no
dirigidos). El conjunto A se refiere a las
relaciones de precedencia preestablecidas
dentro de un trabajo (orden de las
operaciones), y el conjunto E se refiere a las
relaciones de precedencia no establecidas en
cada mquina (orden de las actividades a
ejecutar en cada mquina). En la Figura 6 se
representa como ejemplo una instancia de un
JSSP con M=4 y J=3

Figura 6: 3 Trabajos, 4 Mquinas JSSP

Este tipo de problemas, los cuales han sido


estudiados ya por mucho tiempo, son
clasificados como NP-Hard, y tienen la
reputacin de ser uno de los problemas
combinatorios ms difciles que se han
considerado. Un indicador que demuestra su
dificultad y que ha sido muy trabajado, se da
con el hecho de que la famosa instancia
(M=10, J=10) que fue formulada por primera
vez por Muth y Thompson en 1963, fue
solucionada exactamente solo hasta 1989 por
Carlier y Pinson usando un algoritmo de
Branch and Bound.
Aunque luego de esto, para esta y para
instancias cada vez ms complicadas, se han
usado muchas tcnicas avanzadas con muy
buenos resultados, tales como, Tabu Search,

8
La heurstica Shifting Bottleneck, mtodos de
enumeracin gentica,etc.; En este documento se
abordar el problema con ACO con el fin de probar
las bondades de la Metaheurstica.

Utilizando EFT

4. 1 IMPLEMENTACIN DE ANT SYSTEM


EN UN JSSP

Donde tes representa el EST del nodo O, y pij


representa su tiempo de procesamiento.

Para aplicar el algoritmo en estudio en un JSSP, se


debe seguir la siguiente estructura: (1) Los trminos
en los que la informacin Heurstica y la
informacin de las feromonas son concebidas y que
permiten la definicin de las soluciones; (2) Un
proceso de retroalimentacin positiva; (3) Un
mtodo que garantice la factibilidad de las
soluciones.

As, en este trabajo se ha elegido trabajar con


el EFT, y segn lo estudiado en la seccin 3,
en cada paso de construccin, una hormiga k
escoge ir al siguiente nodo con una
probabilidad que se calcula como:

4.1.1 Modelamiento de la informacin Heurstica y


de la informacin de rastro de feromona
La probabilidad con la que cada hormiga se mueve
de un nodo a otro depende de la cantidad de
feromona en los arcos y de la informacin heurstica
asociada con las operaciones conectadas por los
arcos.
Una cantidad inicial de feromona es depositada en
todos los arcos, y este valor es renovado segn las
reglas de actualizacin de feromona establecidas, las
cuales incluyen un trmino de evaporacin.
La informacin heurstica gua el clculo de las
probabilidades de transicin entre un nodo y otro, y
es diferente a la heurstica de distancia que se define
para el algoritmo para el problema del Agente
viajero. La Heurstica para JSSP incluye varias
formas, entre las cuales se incluyen: El tiempo de
inicio mas corto (EST), el tiempo de finalizacin
mas corto (EFT), el tiempo de procesamiento mas
corto (SPT), el tiempo de procesamiento mas largo
(LPT), etc. Blum y Samples observaron que el EST
y el EFT son dos heursticas con muy buen
desempeo. Su clculo sera como sigue:
Utilizando EST

Donde, Nk(r) son los nodos alcanzables por la


hormiga k desde el nodo r. y son
parmetros que ponderan la importancia de la
heurstica utilizada y los valores de feromona
detectados, y que en este caso se han fijado
en 1 y 5 respectivamente.
4.1.2 Proceso de retroalimentacin positiva
para la actualizacin de feromona
Tal y como se estudio en la seccin 3, la
deposicin de feromona se realiza una vez
que todas las hormigas han acabado de
construir sus soluciones. Primero, los rastros
de feromona asociados a cada arco se
evaporan reduciendo todos los rastros de
feromona en un factor constante:

Donde [0,1] es la tasa de evaporacin,


para este caso se le asigno un valor de 0.05.
El siguiente paso de cada hormiga es recorrer
de nuevo el camino que ha seguido (el
camino esta almacenado en su memoria local
Lk) y deposita una cantidad de feromona
k
rs en cada conexin por la que ha viajado:

9
En este caso se ha definido rsk como un valor
constante de 0.05.
4.1.3 Factibilidad de las soluciones
Inicialmente todas las hormigas estn situadas en el
nodo inicial y son libres de identificar una
permutacin cualquiera de todos los nodos, y al
definir aleatoriamente la direccin de los arcos
disyuntivos en un problema JSSP en un grafo cmo
el visto en la Figura 6, es claro que no siempre se
obtendrn soluciones factibles.
Para hacer frente a este problema, las probabilidades
de transicin deben ser ligeramente modificadas:
con el fin de tener permutaciones factibles es
necesario restringir el conjunto de nodos posibles a
elegir en cada paso, este conjunto no debe constar de
todos los nodos que faltan por ser visitados, sino que
debe ser un subconjunto de esta lista Tab general,
cuyos elementos (nodos) deben tener la
caracterstica de que todos sus nodos precedentes ya
han sido visitados.
Definiendo G como el conjunto de todos los nodos
por ser visitados y S como el conjunto de todos los
nodos cuyos predecesores ya han sido desarrollados.
En el primer paso G contiene todos los nodos menos
el inicial y S contiene todos los nodos que
representan la primera operacin de un trabajo. As,
las probabilidades de transicin se calculan teniendo
en cuenta el conjunto S de nodos. Cuando un nodo
es seleccionado, este es retirado de la lista de G y de
S; si el nodo escogido no es el ultimo nodo en un
trabajo, entonces su sucesor inmediato en la cadena
es adicionado al conjunto S. El proceso itera hasta
que el conjunto G se haga vaco.

Figura 7: Paso inicial eleccin de los


movimientos
En la figuras, los nodos pertenecientes a S
estn marcados con una S y los nodos en G
son simplemente todos los que no han sido
visitados. Supngase que la hormiga escoge
ir al nodo u11; la nueva situacin es como
sigue.

Figura 7: Paso 1 eleccin de los


movimientos
Ahora, suponiendo que la hormiga contina
hacia u31:

El siguiente ejemplo ayuda a visualizar las posibles


decisiones sucesivas tomadas por una hormiga y la
solucin que esta construye. (El ejemplo
corresponde a un JSSP 3x4)
Figura 8: Paso 2 eleccin de los
movimientos
Luego, la hormiga va hacia u12, lo que
introduce a u13 en S.

10
constantemente se estn generando mejoras y
adaptaciones a diferentes tipos de problemas.
Por otro lado, producto de la revisin de la
estructura de este tipo de problemas, se ha
podido observar que la seleccin de los
parmetros iniciales y la configuracin de los
componentes del algoritmo pueden ser
determinantes para el rendimiento del
mtodo, y es por esto que un buen algoritmo
nunca se desprende de un buen conocimiento
del problema, pues por ejemplo, de ste
conocimiento se puede tener mejor criterio
para decidir si priorizar la informacin
heurstica o la informacin de los rastros de
feromona, o para formular la heurstica
adecuada para el problema.

Figura 9: Paso 3 eleccin de los movimientos


Supngase que la solucin final es la siguiente:

Figura 10: Solucin


movimientos

final

eleccin

de

los

Esta es una ruta completa: La prxima iteracin


empezar el proceso de nuevo, con todas las
hormigas en el nodo inicial. La permutacin
identificada es u11 u31 u12 u13 u21 u32 u22 u33 u23 u24 u34
u14; esta permutacin corresponde al siguiente grafo
factible direccionado.

Figura 11: Grafo factible obtenido

En general, la mayora de los algoritmos


basados en colonia de hormigas, son una
modificacin o adaptacin del modelo AS,
donde las diferencias radican en las acciones
del demonio, en las heursticas de bsqueda
local complementarias usadas, y en la
metodologa de deposicin y evaporacin de
feromona.
Aunque el modelo AS ya ha sido mejorado
por otros modelos, por ser este la base sobre
la cual se desarrollaron estos mismos, el
entendimiento de este es fundamental para
comprender la filosofa y el funcionamiento
de la mayora de modelos basados en colonia
de hormigas.
En general, los algoritmos ACO son una muy
buena opcin para tratar problemas de
camino mnimo, de secuenciacin y de
calendarizacin; en este trabajo particular, se
pudo constatar las bondades de este modelo
en un JSSP, obteniendo muy buenos
resultados de forma eficiente.

CONCLUSIONES
Mediante la revisin bibliogrfica que se ha llevado
a cabo en este trabajo, se ha podido constatar que los
algoritmos basados en colonia de hormigas
constituyen una herramienta bastante satisfactoria
para resolver problemas NP-Hard, y que adems
este tipo de algoritmos son hoy en da objeto de
investigacin de muchos autores, por lo cual

Para este trabajo se fijaron los parmetros del


algoritmo segn los resultados encontrados
por Fox, Xiang y Pueh [11], en su trabajo
para un JSSP; sin embargo, es recomendable
estudiar estos, con el fin de encontrar la
combinacin de ellos que en general puede
arrojar mejores resultados, lo cual se podra

11
abordar desde un estudio de diseo de experimentos.
REFERENCIAS
[1] Alonso, Cordon, ed ol. La Metaheurstica de
Optimizacin Basada en Colonias de Hormigas:
Modelos y Nuevos Enfoques.
[2] Cordn, I. Fernndez de Viana, F. Herrera, y L.
Moreno. A new ACO model integrating
evolutionary computation concepts: The Best-Worst
Ant System. En M. Dorigo, M. Middendorf, y T.
Sttzle, editores, Abstract proceedings of
ANTS2000 - From Ant Colonies to Artificial Ants:
A series of International Workshops on Ant
Algorithms, pginas 22-29. IRIDIA, Universit
Libre de Bruxelles, Belgium, 2000.
[3] Cordn, F. Herrera, L. Moreno. Integracin de
Conceptos de Computacin Evolutiva en
un Nuevo Modelo de Colonias de Hormigas. VIII
Conferencia de la Asociacin Espaola para la
Inteligencia Artificial, (Seminario Especializado en
Computacion Evolutiva), Murcia (Espaa), 1999,
Vol. II, pginas 98-105.
[4] Dorigo, Vittorio Maniezzo, Alberto Colorni; The
Ant System: Optimization by a colony of
cooperating agents. IEEE Transactions on Systems,
Man, and Cybernetics, 1996
Part-B, Vol 26, N 1 pp 1-13
[5] Dorigo y L. M. Gambardella. Ant Colony
System: A cooperative learning approach to the
traveling salesman problem. IEEE Transactions on
Evolutionary Computation, 1: 1, pginas 53-66,
1997.
[6] Dorigo, V. Maniezzo, y A. Colorni. The Ant
System: Optimization by a colony of cooperating
agents. IEEE Transactions on Systems, Man, and
Cybernetics - Part B, 26: 1, pginas 29-41, 1996
[7] Goss, S. Aron, J. L. Deneubourg, y J. M.
Pasteels. Self-organized shortcuts in the
Argentine ant. Naturwissenschaften, 76, pginas
579-581, 1989.
[8] Pasteels, J.-L. Deneubourg, y S. Goss. Selforganization mechanisms in ant societes

[9] Sttzle y H. H. Hoos. MAX-MIN Ant


System. Future Generation Computer
Systems, 16: 8, pginas 889-914, 2000.
[10] Blum C, Sampels M (2002) Ant colony
optimization for FOP shop scheduling: a case
study
on
different
pheromone
representations. Proc 2002 Congress on
Evolutionary Computation (CEC02), pp
15581563
[11] Bud Fox, Wei Xiang and Heow Pueh
Lee. Industrial applications of the ant colony
optimization algorithm. The International
Journal
of
Advanced
Manufacturing
Technology. Volume 31, Numbers 7-8
(2007), 805-814
[12] A Colorni, M Dorigo, V Maniezzo, M
Trubian. Ant system for job-shop scheduling.
"Belgian Journal of Operations Research,
Statistics and Computer Science".Vol 34, N
1, pp 39-53,1994.