You are on page 1of 100

Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 1

RESUMEN

El problema de equilibrado de lneas de montaje es un problema clsico de diseo de sistemas


productivos que consiste en la asignacin de las tareas necesarias para el montaje del producto a las
estaciones de trabajo de una lnea de produccin. Los operarios robotizados restringen el problema
en trminos de disponibilidad de recursos y eficiencia de la lnea de montaje. Este estudio se en cen-
tra en la resolucin de este tipo de problemas mediante una metaheurstica de optimizacin por
colonia de hormigas, basada en el comportamiento de estos animales en el medio natural, donde
cada hormiga deposita un rastro de feromonas en la ruta que sigue del nido a la fuente de alimento
que el resto de miembros de la colonia pueden seguir. Este trabajo presenta la implementacin del
algoritmo de optimizacin por colonia de hormigas RALBP-MMAS, diseado para el problema descri-
to, y una validacin de los resultados del mismo en comparacin con un software comercial. Los re-
sultados obtenidos demuestran que el rendimiento general del RALBP-MMAS es superior al del soft-
ware, en especial para las instancias con un mayor nmero de robots.
2 Daniel Aparicio Guirao
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 3

NDICE

0. PREFACIO....................................................................................................................... 5

1. INTRODUCCIN ............................................................................................................. 8

1.1. Motivacin .................................................................................................................... 9

1.2. Objetivo ......................................................................................................................... 9

1.3. mbito ........................................................................................................................... 9

2. OPTIMIZACIN COMBINATORIA ................................................................................. 10

2.1. Problemas ................................................................................................................... 10

2.2. Mtodos de resolucin ............................................................................................... 13

3. METAHEURSTICAS ...................................................................................................... 19

3.1. Templado simulado (SA, simulated annealing)........................................................... 19

3.2. Bsqueda tab (TS, tabu search) ................................................................................ 21

3.3. Algoritmos genticos (GA, genetic algorithms) .......................................................... 22

3.4. Greedy Randomized Adaptive Search Procedure (GRASP) ......................................... 24

3.5. Optimizacin por colonia de hormigas (ACO, ant colony optimization) ..................... 25

4. OPTIMIZACIN POR COLONIA DE HORMIGAS ............................................................ 26

4.1. Introduccin ................................................................................................................ 26

4.2. Procedimiento ............................................................................................................. 27

4.3. Ant system (AS) ........................................................................................................... 28

4.4. Sucesores directos del AS............................................................................................ 31

4.5. Aplicaciones ................................................................................................................ 35

5. EQUILIBRADO DE LNEAS DE MONTAJE ...................................................................... 38

5.1. Introduccin ................................................................................................................ 38

5.2. Clasificacin de los ALBP ............................................................................................. 40

5.3. Problema simple de equilibrado de lneas de montaje (SALBP) ................................. 41

5.4. Problema general de equilibrado de lneas de montaje (GALBP) ............................... 48


4 Daniel Aparicio Guirao

6. RALBP........................................................................................................................... 53

6.1. Modelo ........................................................................................................................ 53

6.2. Procedimientos de resolucin ..................................................................................... 57

6.3. Propuesta de resolucin .............................................................................................. 57

7. RALBP-MMAS .............................................................................................................. 59

7.1. Fase de inicializacin ................................................................................................... 62

7.2. Generacin de soluciones ........................................................................................... 65

7.3. Actualizacin de feromonas ........................................................................................ 71

7.4. Criterios de finalizacin ............................................................................................... 73

7.5. Rastro de feromonas tarea-estacin-robot................................................................. 73

7.6. Bsqueda local en la mejor solucin de la iteracin ................................................... 74

7.7. Hibridacin con SA ...................................................................................................... 76

7.8. Implementacin .......................................................................................................... 77

8. EXPERIENCIA COMPUTACIONAL.................................................................................. 86

8.1. Instancias de pruebas .................................................................................................. 86

8.2. Eleccin de la variante................................................................................................. 86

8.3. Ajuste de parmetros .................................................................................................. 87

8.4. Modelo lineal del RALBP-2 .......................................................................................... 89

9. CONCLUSIONES............................................................................................................ 90

10. PRESUPUESTO.............................................................................................................. 96

11. IMPACTO AMBIENTAL ................................................................................................. 98

12. BIBLIOGRAFA .............................................................................................................. 99


Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 5

0. PREFACIO

La produccin en serie es el principal sistema productivo utilizado en la industria actual, siendo las
lneas de montaje el mximo exponente de este sistema. Las lneas o cadenas de montaje son siste-
mas orientados al flujo productivo donde se realiza un producto final a partir del ensamblaje de sus
componentes. Las lneas estn compuestas por estaciones, donde se agrupan un subconjunto defini-
do de tareas del ensamblaje total. El tiempo de ciclo de una lnea es el tiempo mximo durante el
cual se han de realizar las tareas asignadas a cada estacin antes de que el producto intermedio pase
a la siguiente estacin. El equilibrado de una lnea de montaje consiste en la asignacin de las tareas
a las estaciones de forma que se cumplan las restricciones impuestas por el proceso intentando
maximizar la eficiencia de la lnea.

La organizacin del trabajo que introducen en el proceso productivo hace que sean eficaces en la
produccin de grandes volmenes de producto estandarizado con unos costes competitivos. La ten-
dencia actual hacia la disminucin del ciclo de vida de los productos, con el consiguiente aumento del
nmero de nuevos lanzamientos que comporta, entra en conflicto con la concepcin clsica de las
cadenas de montaje. Este hecho ha provocado que cobren mayor importancia las lneas de montaje
flexibles, que gracias a la incorporacin de robots, posibilitan la produccin de cantidades menores
de producto, adems, cada vez ms personalizados.

En primer lugar, la introduccin de robots en las lneas de montaje permite aumentar la tasa de
produccin, gracias a su rapidez en la ejecucin de operaciones. Por otro lado, debido a la baja tasa
de errores que los caracteriza, aumenta la calidad del producto y favorece la seguridad en el entorno
productivo. Aunque la caracterstica clave de los robots es su versatilidad para incorporar herramien-
tas que permiten realizar multitud de operaciones distintas y, por tanto, adaptarse a los cambios en
el ensamblaje rpidamente. Por todos estos motivos, el uso de los robots se ha hecho extensible en
todos los sectores, desde la industria de la automocin hasta el sector alimentario.

La resolucin del problema de equilibrado de lneas de montaje robotizadas (RALBP, Robotic As-
sembly Line Balancing Problem) cobra entonces especial importancia por las siguientes razones:

- La regularidad de los robots a la hora de realizar las tareas permite una mayor exactitud en la
medicin de los tiempos de tarea y, por tanto, unas soluciones al equilibrado ms ajustadas a la
realidad. Esto no sucede cuando los operarios son humanos, ya que las duraciones de las tareas
tienen una mayor variabilidad.
6 Daniel Aparicio Guirao

- Las herramientas que se acoplan a los robots se disean en funcin de las tareas que se asignan
al robot.
- Los cambios en las lneas de montaje requieren de nuevos equilibrados, por ello es necesario
contar con mtodos de resolucin veloces y potentes que permitan extraer el mxima rendi-
miento a la disposicin de los robots.

Rubinovitz y Bukchin (1993)[1] plantearon por primera vez el problema de equilibrado de lneas
de montaje robotizadas, donde se introduce la asignacin de robots a las estaciones como parte del
equilibrado. En ese estudio resolvan la versin RALBP-I del problema que consiste en minimizar el
nmero de estaciones fijado el tiempo de ciclo (o la tasa de produccin).

En este trabajo, se pretende resolver la versin RALBP-II del mismo problema: fijado el nmero de
estaciones encontrar el equilibrado que minimiza el tiempo de ciclo de la lnea. Por tanto, esta ver-
sin del problema plantea la reestructuracin de lneas de montaje existentes para mejorar su efi-
ciencia, donde el nmero de estaciones de la lnea est fijado por el total de robots disponibles, para
aprovechar todos los recursos posibles. A continuacin se listan las hiptesis sobre las que se funda-
menta el RALBP-II:

- Se conocen las relaciones de precedencia entre las tareas del proceso de montaje y son invaria-
bles.
- Las tareas estn compuestas por tareas bsicas y son indivisibles.
- Las duraciones de las tareas son deterministas.
- Las duraciones de las tareas dependen del robot seleccionado para realizarlas.
- Las tareas se pueden asignar a cualquier estacin, siempre que el robot asignado a dicha esta-
cin la pueda realizar y que se cumplan las relaciones de precedencia.
- Un robot se asigna a una nica estacin de la lnea.
- El equilibrado de la lnea se realiza para un nico producto.
- Los tiempos de carga, descarga y flujo de materiales, as como los tiempos de preparacin de las
herramientas, se consideran despreciables o estn incluidos en las duraciones de las tareas y
son independientes de la secuencia de operaciones.

El RALBP-II, como el resto de problemas de equilibrado de lneas de montaje (ALBP, Assembly Line
Balancing Problem), es un problema de optimizacin combinatoria NP-duro. Para este tipo de pro-
blemas no se conoce un mtodo de resolucin capaz de resolver todos los casos particulares (o ins-
tancias) que emplee un procedimiento acotado en el tiempo por un polinomio; incluso es posible que
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 7

tal mtodo no exista. Por ello es necesario plantear mtodos alternativos que, al menos, puedan
encontrar la solucin ptima al mximo nmero de instancias en el menor tiempo posible, como son
las metaheursticas.

Las metaheursticas son procedimientos iterativos de generacin de soluciones basados en una


estrategia que hace que las soluciones generadas tiendan hacia la solucin ptima. El uso de una
estrategia permite a las metaheursticas adaptarse a todo tipo de problemas de optimizacin combi-
natoria y, en concreto, al RALBP-II.

La optimizacin por colonia de hormigas (ACO, Ant Colony Optimization) es una metaheurstica,
propuesta por Dorigo[2], que simula el comportamiento de las hormigas en la formacin de carrete-
ras que usan para desplazarse del nido a la fuente de comida. stas se forman porque las hormigas
siguen el camino donde perciben una mayor cantidad de feromonas, depositadas por el resto de
individuos de la colonia. A su vez, ellas mismas depositan cierta cantidad de feromonas por donde
pasan. De este manera, contra ms corto sea el camino del nido al alimento, mayor cantidad de fe-
romonas se deposita y los individuos tendrn ms tendencia a seguirlo.

En el caso de los algoritmos ACO, la simulacin consiste en la generacin pseudo-aleatoria de so-


luciones que se utilizan para generar un rastro virtual de feromonas y, que a su vez, se construyen en
funcin de ste. De esta manera, contra mejor es la solucin generada mayor es el depsito de fero-
monas que realiza y, por tanto, las soluciones generadas tienden a incorporar elementos de las solu-
ciones de mayor calidad.

Los algoritmos ACO se han usado con xito en muchos problemas de optimizacin combinatoria,
entre ellos los ALBP. Es por ello que se ha optado por implementar un algoritmo ACO para la resolu-
cin del RALBP-II.
8 Daniel Aparicio Guirao

1. INTRODUCCIN

El presente trabajo se inicia con una introduccin (ver Captulo 2) a los conceptos bsicos de la
optimizacin combinatoria, donde se muestra la dicotoma que existe en este campo entre los pro-
blemas y los mtodos de resolucin. A continuacin, en el Captulo 3, se realiza una descripcin de
las metaheursticas ms extendidas para la resolucin de los ALBP[3], como son el templado simula-
do, la bsqueda tab, los algoritmos genticos y los GRASP, adems de los ACO.

En el Captulo 4, dedicado por completo a los algoritmos ACO, se realiza una descripcin del pro-
ceso natural en el cual estn inspirados, del procedimiento que permite la bsqueda de soluciones,
de las principales versiones propuestas hasta el momento y, por ltimo, de las diferentes aplicacio-
nes que han tenido en el campo de la optimizacin.

Con la intencin de evitar referencias a posteriori en el trabajo y, sobretodo, no focalizar los algo-
ritmos ACO sobre los ALBP, es en el Captulo 5 donde se inicia el tratamiento de los problemas de
equilibrado. Partiendo del problema simple, se desarrolla la explicacin de los problemas generales,
donde se engloba el RALBP-II.

En el captulo 6, dedicado al RALBP-II, se formula el modelo matemtico que lo respalda, tanto en


su forma lineal como no lineal, y se analiza el estado del arte del problema.

El algoritmo RALBP-MMAS, la propuesta para la resolucin del problema, se describe en el Captu-


lo 7. Aqu se detallan las diferencias entre las ocho versiones propuestas: cuatro que se pueden con-
siderar algoritmos ACO puros y cuatro algoritmos hbridos que usan un algoritmo ACO para la gene-
racin de soluciones en un templado simulado.

La experiencia computacional (ver Captulo 8) incluye la generacin de instancias sobre las que
probar el rendimiento del RALBP-MMAS, la seleccin de la mejor de las ochos versiones del algorit-
mo y el ajuste de parmetros. En este captulo tambin se exponen los resultados obtenidos con el
RALBP-MMAS para las instancias creadas junto con los resultados obtenidos con un software comer-
cial para las mismas instancias,

Tras la experiencia computacional se exponen las conclusiones (ver Captulo 9) que se han extra-
do del experimento. Finalmente, se detalla el propuesto de ejecucin del proyecto (ver Captulo 10) y
se discute el impacto medioambiental del mismo (ver Captulo 11).
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 9

1.1. Motivacin

La principal motivacin para la realizacin de este proyecto es poder llegar a dar solucin al pro-
blema de equilibrado de lneas de montaje robotizadas, uno de los principales problemas de equili-
brado que se plantean en la industria real.

A ttulo personal, como estudiante especializado en organizacin industrial, deber servir para
ampliar los conocimientos sobre los mtodos de resolucin de los problemas de optimizacin y, en
concreto, los algoritmos de optimizacin por colonia de hormigas.

1.2. Objetivo

El objetivo de este trabajo es demostrar la capacidad de los algoritmos de optimizacin por colo-
nia de hormigas para la resolucin de la versin II del problema de equilibrado de lneas de montaje
robotizadas mediante la comparacin de los resultados del procedimiento propuesto con los de un
software de optimizacin comercial.

Para ello se implementar un algoritmo con diferentes versiones, de las cuales se seleccionar la
mejor. Para esta versin se realizar un ajuste de parmetros y se compararn los resultados con el
software IBM ILOG CPLEX Optimization Studio.

1.3. mbito

Este estudio se enmarca dentro del mbito terico de la optimizacin combinatoria. El problema a
solucionar se trata del RALBP-II pero la perspectiva se amplia para incluir los ALBP, indispensable
para la comprensin del problema a tratar. En cuanto a los mtodos de resolucin, el estudio se basa
en los algoritmos ACO pero sin dejar de lado otros procedimientos metaheursticos.
10 Daniel Aparicio Guirao

2. OPTIMIZACIN COMBINATORIA

Los seres humanos nos encontramos enfrentados continuamente a la resolucin de todo tipo de
problemas como parte de la existencia. Gracias a la capacidad racional que nos caracteriza, decidi-
mos afrontarlas de manera que las acciones que realicemos nos aporten la mayor utilidad segn
nuestras preferencias personales y el entorno donde se produce la decisin. Aunque se realiza de
forma inconsciente en la mayora de ocasiones, se puede decir que estamos optimizando constante-
mente: de cada situacin extraemos unos parmetros y, a su a vez, nos impone ciertas restricciones a
las decisiones posibles, a partir de las cuales nosotros evaluamos las diferentes posibilidades y esco-
gemos la que creemos que nos reportar mayor satisfaccin.

Definicin 2.1. La optimizacin combinatoria es un rea multidisciplinar que estudia aquellos pro-
blemas cuya complejidad radica en el gran nmero de soluciones posibles para las que se debe en-
contrar la mejor solucin posible. En adelante se usar el trmino optimizacin para referirse a la
optimizacin combinatoria.

El estudio cientfico de la optimizacin combinatoria se puede considerar joven. En el siglo XVIII,


con el inicio de la economa de competencia y la revolucin industrial, surge la necesidad de aprove-
char al mximo los recursos limitados. No es hasta la segunda mitad del siglo pasado, tras la II Guerra
Mundial, cuando comienza a recibir mayor atencin por parte de la comunidad cientfica, gracias a la
aparicin y el desarrollo del ordenador digital.

2.1. Problemas

Los problemas de optimizacin surgen en multitud de situaciones diferentes, que pueden ir desde
el clculo de rutas de una flota de transporte o la planificacin de los horarios de vuelo del personal
areo hasta el diseo por ordenador o la programacin de inteligencias artificiales. Formalmente:

Definicin 2.2. Un problema se refiere a la cuestin general a resolver, que cuenta con unos
parmetros que lo definen y con unas variables de decisin con valores sin especificar[4]. Una solu-
cin consiste en asignar un valor concreto a las variables de decisin.
Definicin 2.3. Una instancia es un problema con valores especificados para todos los parme-
tros. Formalmente, una instancia se define por una tripla (, , ), donde es el dominio de solu-
ciones candidatas, es la funcin objetivo que asigna un valor = () a cada solucin candidata
, y es el conjunto de restricciones. Las soluciones que pertenecen al dominio de solu-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 11

ciones candidatas que cumplen las restricciones se llaman soluciones factibles[4]. Si el objetivo es
minimizar el valor de la funcin objetivo, la solucin ptima es aquella solucin tal que
= ( ) (), ; si el objetivo es maximizar el valor de la funcin objetivo, entonces el
ptimo es tal que = ( ) (), .

A continuacin se presentan tres de los problemas bsicos e intuitivos que se pueden enunciar. El
primero de ellos es el problema de viajante de comercio (TSP), el problema ms clsico de la optimi-
zacin combinatoria. En segundo lugar se describe el problema de empaquetamiento (BPP) y el pro-
blema de asignacin (AP), que son la base del problema de equilibrado de lneas de montaje con
operarios robotizados que se estudiar en este trabajo.

TSP (Travelling Salesman Problem)

Dado un conjunto de ciudades y las distancias entre ellas, consiste en encontrar la ruta cerrada de
distancia mnima que visita todas las ciudades una nica vez. Formalmente el TSP se puede represen-
tar con un grafo = (, ), con siendo el conjunto de = || nodos (ciudades), siendo el con-
junto de arcos que conectan todos los nodos entres s. A cada arco se le asigna un peso que re-
presenta la distancia entre la ciudad y la ciudad . El TSP es el problema de encontrar el circuito
Hamiltoniano ms corto del grafo, donde un circuito Hamiltoniano es aquel circuito cerrado que visi-
ta cada nodo de solamente una vez[4].

BPP (Bin Packing Problem)

El problema de empaquetamiento, conocido como Bin Packing Problem (BPP), es otro problema
bsico de la optimizacin. La versin BPP-I se puede enunciar de la siguiente forma: dado un conjun-
to de objetos, cada objeto con peso (0 < ) y un conjunto de recipientes con capacidad
fija, el objetivo es empaquetar todos los objetos utilizando el nmero mnimo de recipientes. En
cambio, el BPP-II busca minimizar la capacidad de los recipientes, fijando el nmero de recipientes m
para un conjunto de objetos con las mismas caractersticas.

AP (Assignment problem)

El problema de asignacin lineal (LSAP, Linear Sum Assignment Problem) es otro de los problemas
ms comunes en optimizacin combinatoria. Dada una matriz de costes = ( ) , se quiere
seleccionar elementos de de manera que nicamente haya un elemento de cada fila y un ele-
mento de cada columna y que la suma de dichos elementos sea mnima[5]. El problema de asigna-
cin lineal con cuello de botella (LBAP, Linear Bottleneck Assignment Problem) se modela de la mis-
12 Daniel Aparicio Guirao

ma manera que el LSAP pero cambia el objetivo del problema que, en este caso, es minimizar el
mximo de los costes escogidos.

2.1.1. Complejidad

Cualquier problema de optimizacin con variables discretas se puede resolver mediante la enu-
meracin de todas sus soluciones y, por lo tanto, la mejor de ellas es la solucin ptima. La enumera-
cin exhaustiva, aunque resuelve instancias pequeas, es del todo ineficiente cuando stas crecen,
como se muestra en el Ejemplo 2.1.

Ejemplo 2.1. Supongamos un ordenador con una capacidad de procesamiento de 25.000 millones
de instrucciones por segundo (que se encontrara entre los ms potentes del mercado). Supongamos
que con cada instruccin el ordenador es capaz de generar y evaluar una solucin de una instancia
cualquiera del TSP.
Si, ahora, consideramos una instancia con 10 ciudades, tenemos 3.628.800 soluciones diferentes.
Con dicho ordenador, generando todas las soluciones, encontraremos la solucin a la instancia en
poco menos de 0,15 milisegundos.
En cambio, si la instancia contiene 50 ciudades, el nmero de soluciones es superior a 3 10 .
Con el mismo ordenador y el mismo mtodo, tardaramos ms de 3,8 10 aos en encontrar la
solucin ptima. En trminos prcticos, se puede decir que no es posible encontrar la mejor solucin
para esta instancia por enumeracin.

El ejemplo anterior muestra dnde radica la complejidad de los problemas de optimizacin com-
binatoria: el nmero de soluciones factibles aumenta exponencialmente al aumentar el nmero de
elementos que pueden componer dichas soluciones. Este fenmeno da pie a la teora de los proble-
mas NP-completos. A pesar de que existen otras interpretaciones para los trminos NP-completo y
NP-duro, en el resto del presente trabajo se utilizar el significado dado por la Definicin 2.4 y la De-
finicin 2.5 para estos trminos, respectivamente.

Definicin 2.4. Un problema se considera NP-completo si, dada una solucin al problema, es posi-
ble comprobar que dicha solucin es ptima en un tiempo acotado por una funcin polinomial (o
tiempo polinomial), pero no se conoce un procedimiento que sea capaz de resolver de forma ptima
todas las instancias del problema en tiempo polinomial.
Definicin 2.5. Un problema NP-duro es un problema NP-completo que tiene asociado un pro-
blema de optimizacin.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 13

El Ejemplo 2.1 muestra que la fuerza bruta no es un procedimiento admisible, adems la idea de
un ordenador capaz de enfrentarse a instancias con varios miles de variables slo con la fuerza bruta
parece casi utpica. Por otro lado, la Definicin 2.4 advierte sobre la posibilidad que no exista un
procedimiento definitivo que permita la resolucin de problemas de optimizacin, incluso algunos
investigadores ni siquiera creen que este procedimiento exista. A pesar de todo esto, se pueden so-
lucionar resolver una gran cantidad de instancias de problemas NP-duros en intervalos de tiempo
razonables gracias a los mtodos de resolucin existentes.

2.2. Mtodos de resolucin

La inutilidad de la fuerza bruta de los ordenadores junto con el desconocimiento de un procedi-


miento ha hecho que se hayan propuesto multitud de algoritmos para tratar de resolver los proble-
mas de optimizacin.

Definicin 2.6. Un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar
la solucin a un problema[6]. Se dividen en dos grandes grupos: mtodos exactos y aproximados,
estos ltimos mayormente conocidos como heursticas.

2.2.1. Mtodos exactos

Este tipo de mtodos confan en la resolucin de los problemas a travs de la enumeracin impl-
cita del dominio de soluciones factibles completo. La eficiencia de estos algoritmos depende de su
capacidad para reducir la enumeracin a unos niveles admisibles tanto en tiempo de computacin
como en espacio de memoria. A continuacin se describen tres de las tcnicas exactas ms utilizadas
por los investigadores.

Programacin lineal (PL)

La programacin lineal consiste en definir un modelo matemtico basado en funciones lineales


para el problema que se est formulando, tal y como se muestra en el Modelo 2.1. Este modelo se
puede ajustar a la mayora de problemas lineales si se aplican las siguientes modificaciones:

- Minimizar en vez de maximizar la funcin objetivo.


- Considerar algunas de las restricciones en sentido mayor o igual o estrictamente igual.
- Algunas de la variables sin la restriccin de no negatividad.
- Todas o algunas de las variables de decisin son enteras. En este caso, se habla de PL entera (si
todas las variables son enteras) o entera mixta (si slo lo son algunas).
14 Daniel Aparicio Guirao

Parmetros:
: valor de la funcin objetivo.
: cantidad de recurso consumido por cada unidad de la actividad ( = 1, , ).
: cantidad de recurso disponible para asignarse a las actividades ( = 1, , ).
: incremento en que se obtiene al variar en una unidad el nivel de actividad .
Variables de decisin:
: niveles de actividad de la variable continua de decisin .
Funcin objetivo:

[] = (2.1)

Restricciones:

(2.2)

0 (2.3)

Modelo 2.1. Modelo de programacin lineal.

La ventaja que suponen los programas lineales es que se pueden resolver mediante el mtodo
smplex, capaz de resolver instancias con millones de restricciones y un nmero mayor de varia-
bles[7]. Por el contrario, en el caso de los programas lineales enteros (puros o mixtos) hay que recu-
rrir a otras tcnicas ya que el mtodo smplex precisa de variables reales para asegurar la optimali-
dad de la solucin encontrada.

Tcnicas de ramificacin y acotamiento (B&B, branch & bound)

Las tcnicas B&B son procedimientos enumerativos para problemas con variables discretas que se
basa en la estrategia divide y vencers. Se trata de reducir el dominio de soluciones factibles en sub-
conjuntos cada vez ms pequeos hasta que es suficientemente sencillo encontrar la solucin pti-
ma. La reduccin es un proceso iterativo en el que se explota el subconjunto con una cota ms favo-
rable.

Definicin 2.7. La cota inferior de un problema de minimizacin es el valor de la solucin ptima


en un conjunto de soluciones () que incluye el dominio de soluciones factibles (). La Definicin 2.3
y implican que el valor de la solucin ptima del problema no puede empeorar el valor de la
cota inferior.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 15

Definicin 2.8. La cota superior de un problema de minimizacin es el valor de la solucin ms


desfavorable mnimo conocido. Cuando el valor de la cota superior y la cota inferior coinciden, en-
tonces ese es el valor de la solucin ptima.

Suponiendo que el objetivo del problema es maximizar el valor de la funcin objetivo, el proceso
iterativo de las tcnicas B&B es que se muestra en el Algoritmo 2.1.

{}: problema a resolver.


: conjunto de subproblemas de {} sin resolver.
: subproblema de .
: subproblema de que divide el espacio de soluciones en dos.
: subproblema de con el espacio de soluciones complementario a .

procedure B&B {
{}
while ( ) {
Pop()
if (Cota()< ) {
+
{} { }
}
}
}

La funcin Pop escoge un elemento del conjunto y la funcin Cota calcula la cota inferior del
subproblema.
Algoritmo 2.1. Proceso iterativo B&B para un modelo de minimizacin.

Programacin dinmica (PD)

La programacin dinmica (PD) parte de una pequea porcin del problema original y encuen-
tra la solucin ptima para este subproblema. Despus agranda el problema de forma gradual y en-
cuentra la solucin ptima a partir de la solucin del subproblema precedente, hasta resolver el pro-
blema completo. Los problemas de PD tienen las siguientes caractersticas[7]:

- Son divisibles en etapas, cada una de las cuales requiere una poltica de decisin.
- Cada etapa tiene un cierto nmero de estados.
- El efecto de la poltica de decisin en cada etapa es transformar el estado actual en un estado
asociado con el inicio de la siguiente etapa, que puede ser de forma determinista o segn una
distribucin de probabilidad.
- El procedimiento de solucin est diseado para elaborar una poltica de decisin ptima para
16 Daniel Aparicio Guirao

cada una de las etapas.


- El principio de optimalidad es que la decisin inmediata ptima depende nicamente del estado
actual y no de cmo se ha llegado.
- El procedimiento de solucin comienza cuando se establece la poltica ptima para la ltima
etapa. El procedimiento acaba en la etapa 1.
- Se dispone de una relacin recursiva que identifica la poltica ptima para la etapa , dada la
poltica ptima para la etapa + 1.

Parmetros y variables:
: nmero de etapas.
: etapa actual ( = 1, . . . , ).
: estado actual de la etapa .
: variables de decisin en la etapa .
: valor ptimo de dado .
( ): contribucin del estado actual a la solucin.
( , ): contribucin de los estados , + 1, , a la funcin objetivo en el estado en la
etapa , la decisin inmediata es , y en adelante se toman decisiones ptimas.
( , ): estado tras finalizar la etapa , dependiente del problema.
Funcin de recurrencia:

( , ) = ( ) + ( , ) (2.4)

Modelo 2.2. Modelo de programacin dinmica determinista hacia atrs.

La PD probabilstica difiere en que el estado de la siguiente etapa est determinado segn una
distribucin de probabilidad.

Parmetros:
: nmero de estados posibles en la etapa + 1.
: probabilidad de que el sistema cambie al estado ( = 1, , ), dado y .
Funcin de recurrencia:

( , ) = ( ) + ( , ) (2.5)

Modelo 2.3. Modelo de programacin dinmica probabilstica hacia atrs.

Los modelos PD hacia adelante estn planteados desde la etapa 1 hacia la etapa . La funcin re-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 17

currente ( , ) pasa a ser funcin de ( , ). Por tanto, ya no es necesario definir el trmi-


no ( , ), sino ( , ), el estado inicial del problema.

2.2.2. Heursticas

Las heursticas se caracterizan por obtener soluciones mediante informacin que son capaces de
extraer del problema, sin necesidad de realizar una enumeracin completa de todas las soluciones.
Por tanto, la informacin utilizada es clave para la eficiencia el algoritmo, ya que debe servir para
dirigir la bsqueda hacia las zonas del espacio de soluciones con mayor probabilidad de contener el
ptimo. Se diferencian dos tipos de mtodos aproximados: los algoritmos de bsqueda local y los
algoritmos constructivos.

Bsqueda local (LS, local search)

La idea bsica de la bsqueda consiste en obtener mejores soluciones mediante la exploracin


iterativa del vecindario, es decir, mediante la aplicacin de pequeos cambios sobre la solucin ac-
tual. El conjunto de cambios definidos se conoce como estructura del vecindario y la mejor solucin
de sta es el ptimo local.

Definicin 2.9. La estructura del vecindario, o vecindario, es una funcin que asigna un conjunto
de vecinos () a cada solucin , siendo el conjunto de soluciones candidatas[4].
Definicin 2.10. El ptimo local en un problema de minimizacin (mnimo local) es aquella solu-
cin () tal que () (), (). Anlogamente, el ptimo local en un problema de
maximizacin (mximo local) es aquella solucin () tal que () (), ().

Algoritmos constructivos

A los algoritmos constructivos se les otorga este calificativo porque construyen soluciones de for-
ma incremental, aadiendo iterativamente componentes a una solucin parcial ( ) hasta que est
completa. Normalmente, la eleccin del siguiente componente se realiza mediante algn tipo de
informacin caracterstica del problema.

Las heursticas glotonas son mtodos sencillos e intuitivos para encontrar soluciones. Consisten
en asignar a la solucin parcial aquel elemento que ms se ajusta al criterio definido. Por ejemplo,
para el TSP, una heurstica glotona consiste en construir una solucin a base de escoger como si-
guiente elemento la ciudad ms cercana no asignada de la que nos encontramos.

La rapidez en obtener soluciones de la que suelen hacer gala las heursticas permite implementar
18 Daniel Aparicio Guirao

procesos iterativos en los que se pueden conseguir una cantidad significativa de soluciones diferen-
tes. Por otro lado, en muchos casos, estos procedimientos no son capaces de determinar si la solu-
cin obtenida es una solucin ptima. Entonces es necesario definir criterios de finalizacin para
detener el proceso iterativo. Los criterios generales mayormente usados consisten en fijar:

- un lmite de tiempo de proceso,


- un nmero mximo de iteraciones del algoritmo,
- un nmero mximo de iteraciones sin mejora de la solucin actual, o
- un valor umbral a partir del cual se considera la solucin actual de suficiente calidad.

procedure HeuristicaGlotona {
ElegirPrimerElemento
while ( es una solucin incompleta) {
EleccionGlotona

}

return
}
ElegirPrimerElemento asigna a la solucin parcial el primer elemento, ya sea aleatoriamente
o basndose en la informacin del problema. EleccionGlotona escoge el mejor elemento de una
lista con los elementos no asignados ordenada segn uno o varios criterios.
Algoritmo 2.2. Pseudo-cdigo para una heurstica constructiva glotona[4].

Otro inconveniente al que deben hacer frente muchos procedimientos aproximados es a su exce-
siva especializacin en el problema que estn intentando resolver. Es por esto que en las ltimas
dcadas han aparecido una nueva clase de heursticas que pretenden evitar este problema: las me-
taheursticas.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 19

3. METAHEURSTICAS

El concepto metaheurstica, introducido por Fred Glover, engloba aquellas tcnicas basadas en la
interaccin de procedimientos de mejora local y estrategias a alto nivel que permitan al proceso es-
caparse de los ptimos locales y realizar una exploracin robusta del espacio de soluciones.

La gran ventaja de las metaheursticas es su versatilidad: al utilizar conceptos estratgicos inde-


pendientes del problema es posible aplicarlas a un gran abanico de problemas de optimizacin reali-
zando cambios simples para adaptarlas a las caractersticas de stos. Algunas estn basadas en prin-
cipios tiles para la resolucin de problemas, como puede ser el impedir la repeticin de soluciones o
en la bsqueda sistemtica de mejores soluciones en el vecindario. En cambio, otras simulan fen-
menos naturales, como puede ser la recombinacin gentica que se produce en la reproduccin o la
comunicacin entre hormigas.

A continuacin se describen las metaheursticas que han recibido mayor atencin por parte de los
investigadores. La informacin presentada en este captulo se ha extrado mayoritariamente de
Handbook of Metaheuristics[8].

3.1. Templado simulado (SA, simulated annealing)

El templado simulado, planteado independientemente por Kirpatrick, Gelatt y Vecchi, y ern,


traslada las caractersticas del proceso termodinmico de templado de un material a la resolucin de
problemas de optimizacin. En este tipo de procesos el slido, tras un periodo sostenido a altas tem-
peraturas, se enfra a velocidad muy lenta de manera que se consigue una fusin perfecta del mate-
rial. De esta manera se pasa de estado de elevada energa, en los que se empieza a formar la estruc-
tura, a estados de mnima energa con la estructuracin prcticamente completa.

La forma de aplicar este principio es permitir al inicio del algoritmo el empeoramiento (desestruc-
turacin) de la solucin con una probabilidad (energa) elevada e ir disminuyendo esta probabilidad
(enfriamiento) a medida que avanza el algoritmo a la vez que mejoramos la solucin (estructuracin).
Por lo tanto, en el fondo lo que permite al algoritmo es un alejamiento de los ptimos locales, sobre-
todo en la primera fase de la exploracin.

3.1.1. Esquema de enfriado

El esquema de enfriado es una secuencia finita de valores para los parmetros de control del algo-
20 Daniel Aparicio Guirao

ritmo: temperatura ( ) y nmero de iteraciones a esta temperatura ( ).

Generalmente se utilizan esquemas heursticos estticos, donde se define inicialmente y dismi-


nuye segn una ecuacin del tipo = , con < 1; y = . Otros algoritmos utilizan
esquemas dinmicos, basados en anlisis estadsticos del proceso, permitiendo una estimacin teri-
ca de los parmetros.

3.1.2. Inicializacin

En esta fase se genera una primera solucin actual () y se establecen los parmetros de control
iniciales del algoritmo y .

3.1.3. Generacin de la solucin (GenerarSolucion)

A partir de la solucin actual (), se realiza una exploracin en el vecindario en busca del ptimo
local de ste (). Por tanto, aqu se deben definir aquellos movimientos que se realizarn sobre la
solucin de manera que se realice dicha exploracin.

procedure TempladoSimulado {
SolucionInicial
0


while (not CriterioFin) {
0
while ( ) {
GenerarSolucion()
AceptacionSolucion(,,)
+1
}
+1


}
return
}
SolucionInicial genera una primera solucin, ya sea aleatoriamente o mediante cualquier
otro procedimiento. En CriterioFin, a parte de los criterios de finalizacin generales mencionados
en el Apartado 2.2.2, se puede aadir un criterio especfico de los SA: llegar al final del esquema de
enfriado ( = ).
Algoritmo 3.1. Pseudo-cdigo de un algoritmo SA para un problema de minimizacin[8].

3.1.4. Aceptacin de la solucin (AceptacionSolucion)

Si la solucin generada es mejor, sustituye a como solucin actual. Si no, se permite el em-
peoramiento de la solucin actual con cierta probabilidad. La probabilidad de aceptacin de solucio-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 21

nes que empeoran debe disminuir a medida que avanza el proceso ( < ). La Frmula 3.1
describe la probabilidad de aceptacin de la nueva solucin:

()
= si ( ) () > 0 (3.1)
1 si ( ) () 0

3.2. Bsqueda tab (TS, tabu search)

La bsqueda tab fue propuesta por Glover. Es un algoritmo basado en el uso de la memoria para
guiar el procedimiento de bsqueda del algoritmo. Hace uso de una memoria a corto plazo, que
mantiene una lista tab, que impide a la bsqueda volver a soluciones ya visitadas.

3.2.1. Espacio de bsqueda y estructura del vecindario

El espacio de bsqueda est formado por todas aquellas soluciones que podr visitar el algoritmo,
que puede ser incluso mayor que el espacio de soluciones factibles. Por otro lado, la estructura de
vecindarios la componen las modificaciones de la solucin, o movimientos, que se pueden realizar en
cada iteracin del proceso.

3.2.2. Lista tab

En una memoria a corto plazo, se guarda el listado de movimientos que estn restringidos para el
algoritmo. Los elementos se mantienen en la lista durante cierto nmero de iteraciones fijado por un
parmetro. Normalmente est formada por las ltimas transformaciones de la solucin que evitan
movimientos cclicos que devuelvan la bsqueda a soluciones ya visitadas. Para algunos problemas es
recomendable guardar y mantener diferentes listas tab o utilizar listas de tamao variable.

3.2.3. Criterios de aceptacin

El cumplimiento de estos criterios significa que la solucin generada en ese instante no es tab,
incluso si el movimiento que la produce lo es. Se definen porque las listas tabs pueden ser contra-
producentes, ya que puede darse el caso que prohban movimientos atractivos o que, simplemente,
produzcan estancamiento. El criterio de aceptacin ms usado e intuitivo es dar validez a una solu-
cin si sta es mejor que la mejor obtenida hasta el momento.
22 Daniel Aparicio Guirao

procedure BusquedaTabu {
SolucionInicial
InicializarEstructurasMemoria
while (not CriterioFin) {
GenerarSoluciones()
MejorSolucion()
ActualizarEstructurasMemoria
if (( ) < ()) {

}
}
return
}
SolucionInicial genera una solucin de partida. InicializarEstructurasMemoria ini-
cializa las estructuras de memorias necesarias, que se actualizan con el paso de las iteraciones gra-
cias a ActualizarEstructurasMemoria. GenerarSoluciones genera todas las soluciones fac-
tibles que no son tab y cumplen los criterios de aceptacin. En CriterioFin se pueden utilizar los
criterios generales descritos en el Apartado 2.2.2.
Algoritmo 3.2. Pseudo-cdigo de un algoritmo TS[4].

3.3. Algoritmos genticos (GA, genetic algorithms)

En un algoritmo gentico se pretende simular la evolucin gentica que se produce en las espe-
cies: seleccin de los individuos ms aptos y cruce para generar descendientes mejor adaptados,
teniendo en cuenta que se pueden producir mutaciones durante el proceso. Su uso generalizado en
el campo de la optimizacin aplicada lo introdujo Goldberg.

En el mbito de la optimizacin, una solucin se asemeja a un cromosoma y cada uno de los com-
ponentes de la solucin, a un gen. El procedimiento consiste en seleccionar las mejores soluciones de
una poblacin de soluciones y combinarlas segn un mtodo de cruce, de forma que se obtenga el
ptimo del problema en un proceso iterativo. Se aade la posibilidad de modificar aleatoriamente las
soluciones, es decir, se producen mutaciones, que permiten diversificar el espacio de bsqueda.

3.3.1. Poblacin inicial (PoblacionInicial)

Primeramente, se genera un conjunto de soluciones a partir del cual trabaja el algoritmo. En


cuanto al tamao de la poblacin, es necesario establecer un equilibrio entre el nmero de solucio-
nes y el nivel de calidad exigido a la hora de seleccionarlas, ligados a la eficacia y la eficiencia del al-
goritmo, respectivamente.

3.3.2. Condicin de cruce

Principalmente hay dos tipos de implementacin para la generacin de los descendientes: cruce Y
mutacin y cruce O mutacin. El tipo Y consiste en evaluar primero la posibilidad de cruce y, poste-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 23

riormente, la posibilidad de mutacin; este procedimiento puede generar descendientes idnticos a


los progenitores si no se lleva a cabo ninguno de los dos. En el caso O, tras la seleccin de los indivi-
duos, se escoge si stos se cruzarn o mutarn; el equilibrio entre la probabilidad de cruce y de mu-
tacin es especfico de cada problema.

3.3.3. Seleccin (Seleccion)

Como regla general, la seleccin se lleva a cabo mediante alguna medida relativa a la calidad de la
solucin. Los mtodos de eleccin tpicos son tres: aleatoria, o mtodo de la ruleta, ponderando
segn el valor de las soluciones; por ranking, se escogen los mejores cromosomas de una lista or-
denada; o por torneo, se seleccionan individuos y se escoge el mejor entre ellos. Las elecciones por
ranking o por torneo pueden producir una prdida de diversificacin del espacio de bsqueda si hay
individuos dominantes.

3.3.1. Cruce (Cruce)

Consiste en reemplazar algunos de los genes, o componentes de la solucin, de un progenitor en


el otro y viceversa. Para problemas con codificacin binaria, se puede usar uno (1X) o varios puntos
de cruce (mX), donde cada punto marca, alternativamente, el progenitor del cual se copia la informa-
cin. Otros investigadores optan por un cruce uniforme (UX), donde para cada componente de la
solucin se designa aleatoriamente el progenitor que deposita el gen. Cuando el mapeado de la solu-
cin no es binario se disean operadores de cruce especficos.

procedure AlgoritmoGenetico {
PoblacionInicial
MejorIndividuo()
while (not CriterioFin) {
Seleccion()
Cruce()
Mutacion()
MejorIndividuo()
if (( ) < ()) {

}
NuevaPoblacion()
}
return
}
MejorIndividuo selecciona la mejor solucin de la poblacin actual. En CriterioFin se pue-
den utilizar los criterios generales descritos en la Apartado 2.2.2.
Algoritmo 3.3. Pseudo-cdigo para un GA[4].
24 Daniel Aparicio Guirao

3.3.2. Mutacin (Mutacion)

Con pequea probabilidad , se decide si el gen muta o no. Tambin se pueden escoger genes
que sufren mutacin y asignar las posiciones que mutan. En cdigo binario, simplemente hay que
usar el complementario, pero cuando el gen puede tomar diversos valores se ha de establecer cmo
se decide el nuevo valor del gen.

3.3.3. Nueva poblacin (NuevaPoblacion)

A partir de una poblacin, con seleccin-cruce-mutacin obtenemos una nueva poblacin, pero
no asegura que se conserven las mejores soluciones. Por evitar este problema, se puede usar una
estrategia elitista, en la que se conserva el mejor individuo; o el solapamiento de poblaciones, donde
slo se reemplaza una parte de la poblacin anterior.

3.4. Greedy Randomized Adaptive Search Procedure (GRASP)

La principal caracterstica de los algoritmos GRASP es que en cada iteracin hay dos fases clara-
mente diferenciadas: una primera etapa en la que se construye una solucin factible (fase construc-
tiva) y una segunda en la que se mejora la solucin obtenida mediante una bsqueda local (fase de
exploracin). Este tipo de procedimiento fue utilizado por primera vez por Feo y Resende.

3.4.1. Fase constructiva (ConstruccionGlotonaAleatoria)

En primer lugar, se define una lista restringida de candidatos (RCL), formada por aquellos elemen-
tos que se pueden incorporar a la solucin causando el menor incremento del coste (o mayor au-
mento del beneficio). El criterio que marca el tamao de la lista se puede establecer mediante cardi-
nalidad, nmero mximo de elementos que puede contener, o mediante alguna medida de calidad.

La incorporacin de un elemento a la solucin se realiza aleatoriamente, lo que transforma el


GRASP en una metaheurstica. Acto seguido, se actualiza la lista de candidatas tras reevaluar los cos-
tes (beneficios) incrementales y se selecciona el siguiente elemento hasta obtener una solucin
completa.

3.4.2. Reparacin de la solucin (Reparar)

Existe la posibilidad que la solucin generada no pertenezca al espacio de soluciones factibles, por
lo que antes de pasar a la siguiente fase, se comprueba su validez y, en caso de no ser factible, se
transforma en una solucin que s lo sea.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 25

3.4.3. Fase de exploracin (BusquedaLocal)

A partir de la solucin obtenida en la fase anterior, se lleva a cabo una bsqueda local sobre el ve-
cindario definido. La efectividad de la exploracin depende en gran medida de la fase anterior, debi-
do a la solucin de partida, aunque tambin hay que tener en cuenta la estructura del vecindario, el
mtodo de bsqueda y la estrategia de evaluacin.

procedure GRASP {
SolucionInicial
while (not CriterioFin) {
ConstruccionGlotonaAleatoria
if ( no es factible) {
Reparar()
}
BusquedaLocal()
if (() < ()) {

}
}
return
}
SolucionInicial proporciona una primera solucin actual. En CriterioFin se pueden utili-
zar los criterios generales descritos en la Apartado 2.2.2.
Algoritmo 3.4. Pseudo-cdigo de un algoritmo GRASP[8].

3.5. Optimizacin por colonia de hormigas (ACO, ant colony optimization)

Los algoritmos de optimizacin mediante colonia de hormigas se caracterizan por simular el com-
portamiento de las hormigas cuando forman las rutas entre el nido y la fuente de alimento, en base a
un rastro de feromonas que depositan en la trayectoria efectuada. El precursor de su aplicacin a la
optimizacin es Marco Dorigo[2].

En el siguiente captulo se encuentra una descripcin completa de esta metaheurstica, que ha si-
do escogida para la resolucin del problema de equilibrado de lneas de montaje que se estudia en
este trabajo.
26 Daniel Aparicio Guirao

4. OPTIMIZACIN POR COLONIA DE HORMIGAS

4.1. Introduccin

Las colonias de hormigas, al igual que otras sociedades de insectos, son organizaciones sociales al-
tamente estructuradas. Este hecho permite a las hormigas realizar tareas complejas a pesar de su
simpleza individual. Los ACO persiguen, precisamente, explotar esta realidad: a travs de un conjunto
de agentes individuales simples (hormigas), trabajando en conjunto (colonia), se pretende obtener
soluciones a problemas de optimizacin complejos.

En concreto, los algoritmos ACO simulan el comportamiento de recoleccin de comida de una co-
lonia de hormigas. Debido a que estos insectos no tienen una visin desarrollada, su comunicacin
con el entorno se lleva a cabo a travs de feromonas, en particular, en el caso de la recoleccin, a
travs de un rastro de feromonas, que marcan las rutas a seguir por los individuos del nido a la fuen-
te de alimento.

Experimentos realizados con las especies Iridomyrmex humilis, Linepithema humile y Lasius niger
demuestran que existe esta comunicacin indirecta entre los individuos mediante feromonas. Las
hormigas, en su camino del nido a la fuente de alimento y viceversa, depositan feromonas en el suelo
formando un rastro, el cual son capaces de oler el resto de componentes de la colonia. Contra mayor
es la concentracin en una ruta, mayor es la probabilidad de que una hormiga la siga.

Para probar este hecho se disearon unos experimentos de doble puente, conectando el nido con
la fuente de comida usando dos ramas, variando la relacin ( = / ) entre las longitudes de stas,
siendo y las longitudes de la rama larga y corta, respectivamente.

Figura 4.1. Experimentos de doble puente. (a) Ramas de igual longitud, = 1. (b) Ramas de diferente longi-
tud con = 2.[4]

En un primer experimento (Figura 4.1a), usaron una relacin de igualdad. Los resultados, tras de-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 27

jar a las hormigas moverse libremente durante cierto tiempo, fueron que la mayora de hormigas
acababan usando la misma rama para desplazarse. Por tanto, en un principio las hormigas se despla-
zan por un camino u otro indiferentemente, pero con el paso del tiempo, se acumula ms feromona
en el camino ms transitado, por lo que las hormigas lo escogen con mayor probabilidad. Tras varias
repeticiones del experimento observaron la rama escogida era una u otra indistintamente (Figura
4.2a).

En otro experimento, usaron dos ramas de diferente longitud (Figura 4.1b). De nuevo, tras dejar la
colonia desplazarse libremente, se observ que al cabo del tiempo las hormigas volvan a transitar
por una nica rama. Pero, en este caso, en la mayora de ensayos las hormigas escogan el camino
ms corto (Figura 4.2b). Este fenmeno se explica porque el camino ms corto permite realizar el
trayecto entre el nido y la fuente ms veces y, por tanto, se deposita ms feromona.

Figura 4.2. Resultados obtenidos. (a) Cuando las ramas tienen la misma longitud, en la mayora de los expe-
rimentos, las hormigas escogen una de las ramas para desplazarse. (b) Cuando las ramas son de diferente longi-
tud, la mayor parte de la colonia acaba escogiendo la rama ms corta para desplazarse.[4]

4.2. Procedimiento

Los experimentos expuestos en el apartado anterior se pueden generalizar, permitiendo cualquier


nmero de ramas en una decisin y cualquier nmero de decisiones de este tipo. Entonces, sustitu-
yendo las diferentes ramas por componentes de una solucin y escogiendo uno de estos componen-
tes en cada decisin es posible construir soluciones. Por tanto, la generacin de soluciones en los
algoritmos ACO se basa en la adicin de componentes a una solucin parcial hasta que se obtiene
una solucin completa. El procedimiento guarda cierta similitud con las heursticas glotones (ver
Algoritmo 2.2) aunque existen tres aspectos importantes que los diferencian.

Un algoritmo ACO genera un gran nmero de soluciones. Son procedimientos iterativos donde
cada una de las hormigas de la colonia artificial genera una solucin en cada iteracin, y stas se su-
ceden hasta alcanzar una condicin de fin (ver Apartado 2.2.2). Tambin es necesario aadir al algo-
28 Daniel Aparicio Guirao

ritmo la actualizacin del rastro de feromonas en cada iteracin para poder mantener la informacin
obtenida con las soluciones generadas.

La segunda diferencia se produce en la eleccin del siguiente componente: la eleccin es pseudo-


aleatoria donde a cada componente se le asigna una probabilidad de ser escogido y se basa en la
experiencia acumulada con las soluciones anteriores. La probabilidad es una funcin depende del
rastro artificial de feromonas y simula el comportamiento de las hormigas en la naturaleza en la elec-
cin de las rutas (ver Frmula (4.1).



si
= [ ] (4.1)

0 si


Donde es la probabilidad que la hormiga escoja el componente en la decisin , repre-

senta la intensidad del rastro de feromonas en la opcin de la decisin , es un parmetro y es


el conjunto de componentes que se pueden aadir en la decisin de la hormiga .

Finalmente, los algoritmos ACO tambin pueden incorporar un proceso de bsqueda local al pro-
cedimiento para la mejora de las soluciones generadas.

4.3. Ant system (AS)

En 1992, Marco Dorigo[2] propone el primer algoritmo ACO de la literatura para la resolucin del
TSP, al que nombra como ant system (AS). El Algoritmo 4.1 muestra el esqueleto general de un algo-
ritmo AS.

procedure AS {
InicializarDatos
while (not CriterioFin) {
ConstruirSoluciones
BusquedaLocal
ActualizarFeromonas
}
}
Algoritmo 4.1. Pseudo-cdigo del algoritmo AS.

Comparando el AS con el procedimiento expuesto en el apartado anterior, se advierte que no hay


incluido ningn tipo de informacin relacionada con el problema que permita aprovechar la informa-
cin que se puede extraer del mismo para la eleccin del siguiente elemento de la solucin. Por este
motivo, Dorigo incluye en el AS el parmetro informacin para realizar la decisin (ver Frmula 4.2).
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 29



si (4.2)
= [ ] [ ]

0 si

Donde es el parmetro con la informacin heurstica del componente en la decisin y es


un parmetro.

4.3.1. Inicializacin (InicializarDatos)

En esta fase se introducen los datos del problema y se inicializan los parmetros del algoritmo,
por lo que es dependiente del problema que se pretende resolver y tambin del tipo de ACO que se
implemente.

En primer lugar se leen los valores que definen la instancia del problema y se manipulan los datos
para obtener la informacin necesaria para la resolucin, como puede ser la informacin heurstica.

En cuanto a los parmetros, se debe definir el nmero de hormigas () que formar la colonia e
inicializarla, teniendo en cuenta que incrementar su tamao supone aumentar la exploracin del
espacio de soluciones pero tambin el coste de memoria y tiempo de computacin. Tambin se ini-
cializa la informacin relacionada con las feromonas ( ), con un valor inicial ( ) homogneo para
no decantar la bsqueda; el parmetro de evaporacin (), que tiene la funcin de reducir la intensi-
dad de los rastros de feromonas; y los parmetros que ponderan la influencia de las feromonas () y
de la informacin heurstica ().

Por ltimo, se inicializan las variables que guardan la informacin estadstica para comprobar el
comportamiento del algoritmo segn los datos y parmetros utilizados.

4.3.2. Construccin de soluciones (ConstruirSoluciones)

Aqu cada hormiga artificial construye una solucin al problema ( ). La eleccin se lleva a cabo
mediante una regla proporcional aleatoria, donde a cada elemento posible se le asigna una probabi-
lidad que depende del rastro de feromonas acumuladas y de la informacin heurstica asociada (ver
Frmula 4.2).

El factor informacin heurstica permite desviar la bsqueda hacia aquellas zonas del espacio de
soluciones ms prometedoras segn las caractersticas del problema. Por otro lado, las feromonas
inducen la bsqueda hacia soluciones de calidad ya visitadas. Los parmetros y son los que per-
30 Daniel Aparicio Guirao

miten ajustar el peso especfico de ambos factores en el clculo de la probabilidad.

4.3.3. Bsqueda local (BusquedaLocal)

La efectividad de la bsqueda local depende, en la gran mayora de casos, de la calidad de la solu-


cin de partida. Por tanto, los algoritmos ACO son buenos candidatos a incorporar una bsqueda
local porque producen buenas soluciones iniciales que no tienen porqu ser ptimas localmente.

La implementacin es dependiente del problema que se est resolviendo, ya que en algn caso
la bsqueda es demasiado costosa, en trminos de tiempo de proceso, o que, simplemente, no tiene
capacidad de mejorar las soluciones.

4.3.4. Actualizacin del rastro de feromonas (ActualizarFeromonas)

Una vez que cada una de las hormigas de la colonia ha construido una solucin y ha finalizado el
proceso de bsqueda local, se actualiza el rastro de feromonas a partir de las soluciones obtenidas.

En primer lugar, se realiza la evaporacin de feromonas (ver Frmula 4.3) en todos los elementos
del rastro, simulando el proceso que ocurre en la naturaleza. Aunque para los insectos no es crucial a
la hora de formar los rastros, s lo es cuando tratamos con hormigas artificiales, porque favorece la
atenuacin de los depsitos iniciales, realizados normalmente por soluciones de baja calidad.

(1 ) (, ) (4.3)

Tras esto, el siguiente paso es el depsito de feromonas. Cada hormiga artificial deposita una can-
tidad de feromonas (ver Frmula 4.4) en cada uno de los elementos del rastro que forman la solu-
cin, aumentando as la intensidad del rastro.


(4.4)
+ (, )


El aumento ( ) es funcin de la calidad (ver Frmula 4.5), as que mejores soluciones depositan
mayor cantidad, de manera que en iteraciones posteriores la bsqueda tienda hacia las zonas donde
se han encontrado esas soluciones.

si (, )
= (4.5)
0 si (, )
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 31

4.3.5. Criterios de finalizacin (CriterioFin)

En el AS optaron nicamente por fijar un nmero de iteraciones de la colonia de hormigas, aun-


que cualquier otro de los criterios de finalizacin expuestos en el Apartado 2.2.2 es vlido.

4.4. Sucesores directos del AS

El procedimiento descrito en el apartado anterior es la tercera versin del AS, conocida como ant-
cycle, donde la actualizacin del rastro de feromonas se produce una vez que todas las hormigas han
construido las soluciones. Existen dos versiones anteriores, ant-density y ant-quantity, que actualizan
las feromonas en cada paso de la construccin, aunque su estudio se ha abandonado debido al ren-
dimiento inferior que han mostrado.

A partir del AS surgen tres sucesores directos en la literatura, los cules se diferencian bsica-
mente en la forma de actualizar el rastro de feromonas. Este hecho influye en el ajuste del valor de
los diferentes parmetros.

4.4.1. Elytist ant system (EAS)

Esta primera variante est basada en una estrategia elitista, en que la mejor solucin encontrada

hasta el momento ( ) deposita una cantidad adicional ( ) de feromona en cada itera-

cin, controlada por un parmetro (e), que define el peso dado a la dicha solucin (ver Frmulas 4.6 y
4.7). Fue propuesta por el propio Dorigo.



+ + (, ) (4.6)

si (, )
= (4.7)
0 si (, )

Los resultados computacionales muestran que, ajustado el valor del parmetro e, la estrategia eli-
tista permite encontrar mejores soluciones con un nmero menor de iteraciones que el AS.

4.4.2. Rank-based ant system (ASrank)

El ASrank fue propuesto por Bullnheimer, Hartl y Strau. La propuesta consiste en escoger las hor-
migas con las mejores soluciones de cada iteracin para que realicen el depsito de feromonas.

Previamente a la actualizacin, se ordenan las mejores hormigas hasta el momento en una lista.
32 Daniel Aparicio Guirao

Cada una de ellas deposita una cantidad de feromona (ver Frmulas 4.8 y 4.9) en funcin del rango
asignado (w r), siendo la mejor solucin hasta el momento la que aade mayor cantidad (w), aun-
que sta no pertenezca a la iteracin en curso.



+ ( ) + (, ) (4.8)

( ) si (, )
= (4.9)
0 si (, )

Los resultados experimentales sugieren que el rendimiento es ligeramente superior al EAS y mu-
cho mejor que el AS.

4.4.3. MAX-MIN ant system (MMAS)

Esta tercera variante del AS, de Sttzle, introduce cuatro modificaciones. En primer lugar, slo la
mejor solucin de la iteracin o la mejor hasta el momento depositan feromonas en el rastro (ver
Frmula 4.10). Como este mtodo puede producir estancamiento fcilmente, se aade un lmite
superior e inferior a los valores de puede tomar cada uno de los elementos de la matriz de feromo-
nas [ , ]. La tercera modificacin es la inicializacin de los rastros al valor de . La cuarta
diferencia es que las feromonas se reinicializan pasado cierto nmero de iteraciones sin mejora en la
solucin.

(4.10)
+ (, )

En general, la mejor solucin y la mejor solucin de la iteracin depositan feromonas de forma al-
ternativa. En caso de usar la primera, la bsqueda se centra alrededor de dicha solucin, mientras
que si se recorre a la segunda la bsqueda es menos directa, pero con mayor exploracin del domi-
nio de soluciones. Los resultados experimentales muestran que, por regla general, para instancias
pequeas es recomendable utilizar la mejor solucin de la iteracin y, cuando aumenta el tamao,
incrementar la frecuencia con que deposita feromonas la mejor solucin hasta el momento.

El uso de lmites evita el estancamiento de la bsqueda. Todas las elecciones en una decisin son
significativas, su probabilidad est en el rango [ , ], con 0 < < 1. Fi-
nalmente, se usa el valor para la inicializacin de la matriz de feromonas y se fija el valor
= /, donde es un parmetro a ajustar.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 33

4.4.4. Ant colony system (ACS)

Este algoritmo fue propuesto por Dorigo y Gambardella. El cambio ms significativo respecto del
AS se produce en la regla de eleccin de la fase constructiva. Usa una regla proporcional pseudo-
aleatoria, que escoge la decisin segn la Frmula 4.11.


argmax si
= (4.11)
si >

Donde es una variable uniformemente distribuida entre [0,1], (0 1) es un parmetro


y J es la decisin seleccionada segn la Frmula 4.2 con = 1. Con esta regla, se escoge, con proba-
bilidad , la mejor opcin posible segn la informacin del rastro y heurstica. Con probabilidad
(1 ), se escoge segn una regla pseudo-aleatoria como en el resto de variantes. Ajustando , se
puede centrar la bsqueda alrededor de la mejor solucin encontrada aproximando su valor a 1, o
dispersar la bsqueda, disminuyndolo.

En este tipo de ACO, slo evapora y deposita feromonas en el rastro la hormiga con la mejor solu-
cin encontrada hasta el momento (ver Frmula 4.12). Con esta frmula se logra ponderar el nuevo
valor del rastro entre el valor antiguo y la cantidad de feromona depositada.

(4.12)
(1 ) + (, )

Adems de la actualizacin del rastro de feromonas global, se aplica una actualizacin local cada
vez que una hormiga hace una eleccin (ver Frmula 4.13). El efecto de la actualizacin local es dis-
minuir la cantidad de feromonas sobre la eleccin, de manera que se disminuye su probabilidad aso-
ciada, favoreciendo que el resto de hormigas construyan soluciones diferentes y, por tanto, diversifi-
cadas.

(1 ) + (4.13)

Donde (0 < < 1) es un parmetro del algoritmo y es el valor de inicializacin del rastro de
feromonas.

4.4.5. Comparativa

Para comparar los cinco algoritmos ACO descritos arriba, se toma como referencia el TSP. En pri-
mer lugar, se presenta los valores experimentales que han mostrado mayor eficacia en la resolucin
34 Daniel Aparicio Guirao

del TSP (ver Tabla 4.1).

Algoritmo Otros parmetros


AS 1 2a5 0,5 -
EAS 1 2a5 0,5 ( + ) =
ASrank 1 2a5 0,1 0,5( 1) =6
MMAS 1 2a5 0,02 1 = 1 ; =
ACS - 2a5 0,1 10 1 = 0,1; = 0,9
Tabla 4.1. Ajuste de parmetros para el TSP en los algoritmos ACO sin bsqueda local, donde es el nmero de
ciudades de la instancia y es el valor de la solucin usando una heurstica glotona basada es escoger la
ciudad ms cercana. Modificacin de Ant Colony Optimization[4].

A partir de los resultados experimentales obtenidos, en los que se compara la capacidad de explo-
racin y explotacin de los algoritmos (ver Figura 4.3) y la calidad de las soluciones obtenidas (ver
Figura 4.4), se desprenden las siguientes conclusiones:

- AS: se ve superado por el resto, tanto en calidad de la solucin como en la velocidad de conver-
gencia hacia una buena solucin.
- EAS: se observa una fase de exploracin, pero rpidamente pasa a la fase de explotacin de las
mejores soluciones encontradas. Esto hace que aumente la velocidad de convergencia hacia
buenas soluciones, pero la calidad de las mismas es inferior a las obtenidas por el resto, excep-
tuando el AS.
- ASrank: tiene un comportamiento similar al anterior, pero consigue una exploracin ms diversifi-
cada y, por tanto, la fase de explotacin tarda ms tiempo en alcanzarse. Debido a esto la con-
vergencia es ms lenta, pero la calidad de las soluciones es mejor. En esta variante se aprecia es-
tancamiento, que se puede solucionar reinicializando el rastro de feromonas.
- MMAS: tiene la fase de exploracin ms larga debido a la inicializacin de las feromonas a un
valor cercano al mximo posible y una baja tasa de evaporacin, que produce que tarden en
aparecer diferencias entre rastros. Una vez se establecen diferencias es cuando aparece la fase
de explotacin. Gracias a la experiencia acumulada, se obtienen soluciones de mayor calidad,
pero con la contrapartida de que la velocidad de obtencin de soluciones de calidad sea menor.
- ACS: no tiene fase de exploracin, sino que se centra en explotar desde el principio la mejor so-
lucin encontrada a partir de pequeas variaciones de sta, estableciendo un valor elevado de
. Gracias a la actualizacin local de las feromonas, se favorece la exploracin de las elecciones
menos visitadas. La convergencia de este tipo de ACO es la ms rpida, debido a la poca explo-
racin que hace del espacio de soluciones.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 35

Figura 4.3. Distancia media entre las soluciones en funcin del nmero de iteraciones para la instancia kroA100
de la librera TSPLIB. Usado el valor de los parmetros mostrados en la Tabla 4.1, excepto para = 2. Figura
adaptada de Ant Colony Optimization[4].

Figura 4.4. Desviacin porcentual respecto la solucin ptima respecto el tiempo de CPU para la instancia
rat783 de la librera TSPLIB. Usado el valor de los parmetros mostrados en la Tabla 4.1, excepto para = 5.
Figura adaptada de Ant Colony Optimization[4].

4.5. Aplicaciones

Los algoritmos ACO se pueden aplicar a un gran abanico de problemas de optimizacin. A conti-
nuacin se presentan las principales aplicaciones. Los trabajos citados en este apartado se han ex-
trado de Ant Colony Optimization[4], exceptuando las referencias de la seccin que trata sobre los
equilibrados de lneas de montaje.
36 Daniel Aparicio Guirao

Rutas

En este mbito, varios algoritmos han conseguido mejorar el estado del arte. En concreto, para el
problema de ordenacin secuencial (SOP) el algoritmo HAS-SOP consigui superar un algoritmo
gentico que hasta el momento haba obtenido los mejores resultados.

Por otra parte, para problemas de rutas de vehculos (VRP), el algoritmo ASrank-CVRPsav ha alcan-
zado el estado del arte para la versin capacitada, superando un algoritmo de bsqueda tab. Mien-
tras que para la variante del problema con ventanas temporales (VRPTW), el algoritmo MACS-VRPTW
tiene uno de los mejores rendimientos y, en el momento de su publicacin, consigui superar las
mejores soluciones para varias instancias.

Asignacin

En cuanto al problema de asignacin cuadrtica (QAP), la variante ANTS-QAP mejoraba los resul-
tados obtenidos hasta el momento, mediante bsqueda tab, para una clase de instancia duras ge-
neradas aleatoriamente, aunque con un tamao limitado ( = 40).

Para el problema de asignacin generalizado (GAP), el algoritmo MMAS-GAP tena uno de los me-
jores rendimientos cuando se public.

Secuenciacin

El algoritmo ACS-SMTWTP-BDS se aplic al problema Single-Machine Total Weighted Tardiness


Scheduling, obteniendo los mejores resultados hasta el momento para la librera ORLIB.

Para los problemas de job shop (JSP), open shop (OSP) y group shop (GSP), el algoritmo MMAS-HC-
GSP obtiene un rendimiento similar al estado del arte para el OSP, mientras que para el JSP slo lo
supera un algoritmo basado en la bsqueda de vecindarios. Para el GSP, comparado con una
bsqueda tab, se ve ligeramente superado en aquellas instancias prximas a las instancias del JSP,
pero la supera en aqullas cercanas a las del OSP.

En el problema de proyectos con restriccin de recursos (RCPSP), el algoritmo EAS-RCPSP obtiene


resultados excelentes, superando al resto de heursticas con las que fue comparado.

Equilibrado de lneas de montaje

Bautista y Pereira[9] proponen un algoritmo AS para el SALBP-1 (ver Seccin 5.3.2) con la novedad
de utilizar una regla heurstica diferente en cada hormiga de la colonia, usada para calcular el par-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 37

metro informacin heurstica, y resolviendo el problema en sentido directo e inverso. Este algoritmo
lo aplican con xito sobre un problema real basado en una planta de ensamblaje de motocicletas,
superando una solucin previa basada en un procedimiento de programacin lineal entera mixta.

En otro trabajo de los mismos autores, proponen y resuelven el problema de equilibrado de lneas
con restricciones de espacio y tiempo (TSALBP) [10]. El algoritmo propuesto en el trabajo menciona-
do se aplica tambin al SALBP-1 (ver Apartado 5.3.2) obteniendo soluciones similares al mtodo
exacto SALOME[11], pero superndolo ampliamente en cuanto tiempo de computacin.

Otras aplicaciones

Michel & Middendorf disearon un algoritmo ACO para el problema de la supersecuencia comn
ms corta (SCSP), AS-SCSP, que ha demostrado ser uno de las heursticas con mejor rendimiento para
este problema, sobre todo con instancias estructuradas, que son las ms prximas a las aplicaciones
reales.

Para el problema de bin packing, la variante MMAS-BPP tiene uno de los mejores comportamien-
tos, llegando a obtener nuevas mejores soluciones para una coleccin de instancias duras del BPP.
38 Daniel Aparicio Guirao

5. EQUILIBRADO DE LNEAS DE MONTAJE

La existencia de todos los procedimientos descritos hasta el momento nicamente se justifica por
su capacidad para obtener soluciones a los problemas donde se aplican. En este trabajo, se resuelve
un problema de equilibrado de lneas de montaje, en concreto la variante con operarios robotizados.
Antes de profundizar en esta variante, se hace una revisin del problema general.

Cuando no se indica lo contrario, las referencias mencionadas se han extrado de la publicacin


Balancing and sequencing of assembly lines[11].

5.1. Introduccin

En el mercado globalizado actual existen segmentos donde el volumen de la demanda alcanza ni-
veles muy elevados. Por ejemplo, en 2010, la produccin mundial de automviles de pasajeros as-
cendi a 58.478.810 unidades, segn datos de la Organisation Internationale des Constructeurs
dAutomobiles (OICA) [12]. Esta cifra significa que, durante ese ao, cada 1,85 segundos se lanzaba
una nueva unidad al mercado.

Para poder alcanzar estos niveles de produccin, los fabricantes deben contar con sistemas de
produccin de elevada capacidad como son las lneas de montaje. Por desgracia, la sofisticacin de
las lneas de montaje hace que generen unos costes elevados, cosa que no favorece la competitivi-
dad. Por tanto, es necesario que la eficiencia sea la mxima posible para disminuir los costes. En este
contexto, es donde aparece el problema de equilibrado de lneas de montaje que se describe en este
captulo.

Definicin 5.1. Las lneas de montaje estn compuestas por estaciones de trabajo, en cada una de
las cuales se realiza un parte del trabajo sobre el producto intermedio, dispuestas a lo largo de una
cinta que transporta el producto durante el procesado.

Este tipo de sistemas requieren altas inversiones de capital, con una dependencia directa segn el
grado de automatizacin de las estaciones. Un inconveniente que tienen es que suelen generar baja
satisfaccin del operario, producida por el alto grado divisin de las tareas y su continua repeticin.
Por los mismos motivos, las lneas de montaje son inflexibles. El mantenimiento es otro punto crtico,
ya que los fallos en las mquinas o en el abastecimiento de material pueden paralizar toda la lnea.
Pero a pesar de todo esto, el uso generalizado que se hace actualmente de las lneas demuestra su
efectividad, sobre todo cuando se trata de produccin de bienes estandarizados, cuya demanda es
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 39

estable, que requieren un alto volumen de produccin y que necesitan un aprovisionamiento conti-
nuo de material.

La eficiencia de las lneas pasa por una optimizacin de los recursos utilizados en la produccin
(operarios, maquinaria, tiempo). Por tanto, el problema de decisin de equilibrado de lneas de
montaje (ALBP, assembly line balancing problem) consiste en optimizar la asignacin de tareas a es-
taciones con respecto a algn objetivo respetando las restricciones consideradas.

Las siguientes definiciones, referentes a las lneas, pretenden aclarar el significado de algunos
trminos ya mencionados as como introducir otros que se usarn durante el presente trabajo.

Definicin 5.2. El montaje es el proceso de ensamblado de varias partes para crear un producto
final. Se caracteriza por los componentes que se requieren y el trabajo necesario para combinarlos.
Se dice que las unidades sin finalizar durante el montaje estn en proceso.
Definicin 5.3. Una tarea u operacin es una porcin indivisible del trabajo total contenida en el
proceso de montaje. El tiempo necesario para completar una tarea se llama tiempo de tarea o dura-
cin de tarea.
Definicin 5.4. Una estacin es un segmento de una lnea de montaje donde se realiza un cierto
nmero de tareas. El conjunto de tareas asignadas a una estacin se conoce como carga de la esta-
cin, mientras que la suma de los tiempos de tarea que forman la carga de la estacin es el tiempo de
estacin. Se dice que una estacin es ms temprana (tarda) que otra si est ms cerca del inicio (fi-
nal) de la lnea.

Definicin 5.5. El tiempo de ciclo () es igual a la inversa de la tasa de produccin (): = 1. Re-
presenta la cantidad mxima de tiempo disponible para la realizacin del trabajo asignado a una
estacin. La diferencia positiva entre el tiempo de ciclo y el tiempo de una estacin se denomina
tiempo muerto de la estacin.
Definicin 5.6. Las relaciones de precedencia o precedencias son las restricciones tecnolgicas que
hacen que el orden de realizacin de las tareas est parcialmente establecido. Estas relaciones se
pueden ilustrar mediante un grafo de precedencias que contiene un nodo para cada tarea y los arcos
(, ) entre los nodos si la tarea se debe realizar previamente a la tarea . Las duraciones de las tare-
as se representan como pesos en los nodos. El sentido directo del grafo es aqul en el que se consi-
deran las precedencias acorde al orden temporal en el que han de suceder y sentido inverso corres-
ponde al caso contrario.
40 Daniel Aparicio Guirao

Figura 5.1. Grafo de precedencias de la instancia bowman8[13], extrada de la librera de pruebas para los
SALBP.

Definicin 5.7. Se dice que la tarea es predecesora de la tarea si se debe completar antes que
, mientras que es sucesora de . La relacin de precedencia entre la tarea y la tarea es inmediata
si ninguna de las tareas sucesoras de es predecesora de , en caso contrario es transitiva. El conjun-
to de tareas precedentes (sucesoras) inmediatas, ( ), est formado por todas las tareas preceden-
tes (sucesoras) inmediatas de . El conjunto de tareas precedentes (sucesoras) transitivas, ( ),
est formado por todas las tareas precedentes (sucesoras) transitivas de .
Definicin 5.8. La estacin ms temprana (tarda), ( ), es la estacin primera (ltima) estacin
a la que se puede asignar la tarea sin violar las relaciones de precedencia.
Definicin 5.9. El equilibrado de una lnea es la asignacin de las tareas a las estaciones que re-
presenta una solucin factible del problema de equilibrado. Se caracteriza porque cada tarea se asig-
na a exactamente una estacin, ningn tiempo de estacin es superior al tiempo de ciclo y se cum-
plen las relaciones de precedencia y el resto de restricciones del problema.

Nmero de Carga de la Tiempo de Tiempo muerto


estacin estacin estacin de la estacin
1 1 11 6
2 2 17 0
3 3, 5 17 0
4 4, 6 17 0
5 7, 8 13 4
Tabla 5.1. Equilibrado de la lnea para la instancia bowman8 con 5 estaciones y = 17.

5.2. Clasificacin de los ALBP

En la actualidad, debido a las necesidades y requerimientos dispares que exige cada tipo de indus-
tria, existen pocas cadenas de montaje iguales, ya sea por la disposicin espacial, flujos de materia-
les, operarios El efecto que produce tal diferenciacin es la diversificacin de los ALBP propuestos
en la literatura[14]. A esta diversificacin, adems, hay que unirle las nomenclaturas y consideracio-
nes especficas que establecen los diferentes grupos de investigacin.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 41

Por estos motivos, se ha propuesto una clasificacin con el fin de homogeneizar los problemas y
modelos de resolucin para poder compararlos entre s. Boysen, Fliedner y Scholl[3] establecen una
clasificacin segn las caractersticas del grafo de precedencias (), las caractersticas de las estacio-
nes y la lnea () y los objetivos a optimizar (). Esta nomenclatura se representa en forma de tripla
([||]) donde se describen las caractersticas del problema mediante smbolos. La clasificacin
completa con la nomenclatura correspondiente se muestra en el Anexo A.

5.3. Problema simple de equilibrado de lneas de montaje (SALBP)

El SALBP (simple assembly line balancing problem) es el problema ms bsico dentro de los equili-
brados de lneas de montaje. Las caractersticas del modelo del cual deriva el problema son las si-
guientes:

- fabricacin en masa de un producto homogneo mediante la realizacin de todas las tareas.


- lneas con ritmo y tasa de lanzamientos fijos, iguales al tiempo de ciclo.
- tiempos de tarea deterministas y enteros.
- sin restricciones de asignacin excepto las que marcan las relaciones de precedencia.
- distribucin de la lnea en serie, con trabajo a un lado de las estaciones.
- todas las estaciones estn igualmente equipadas respecto a maquinaria y operarios.

Estas suposiciones convierten el SALBP en un problema alejado de la realidad. A pesar de esto no


conviene menospreciarlo, ya que tiene la capacidad de adaptarse con relativa facilidad a diferentes
situaciones industriales. Por otro lado, como base de problemas ms generales, vale la pena contar
con mtodos de resolucin avanzados que se puedan aplicar a modelos ms complejos que requie-
ren conceptos de solucin adaptados.

5.3.1. SALBP-F

A partir de las hiptesis de partida, en primer lugar, surge el problema de factibilidad consistente
en determinar si existe un equilibrado plausible para la combinacin dada de nmero de estaciones y
tiempo de ciclo, representada por (, ). El SALBP-F [||], como se denomina este problema, en caso
de obtener una respuesta positiva ha de proporcionar un equilibrado de la lnea.

Como se puede observar en el Modelo 5.1, el problema de factibilidad no precisa de una funcin
objetivo. Por tanto, el SALBP-F no es un problema de optimizacin, pero an as es la base para el
resto de problemas que se describen a continuacin.
42 Daniel Aparicio Guirao

Parmetros:
: nmero de tareas ( = 1, , ).
: nmero de estaciones ( = 1, , ).
: tiempo de ciclo.
: duracin de la tarea .
: conjunto de tareas precedentes inmediatas de la tarea .
Variables de decisin:
1 si la tarea se asigna a la estacin
= ( = 1, , ; = 1, , )
0 en caso contrario
Restricciones:

= 1 (5.1)

(5.2)

( ) 0 , ; (5.3)

{0,1} , (5.4)

Las restricciones 5.1 aseguran que cada tarea se asigne a una nica estacin. Las restricciones 5.2
limitan los diferentes tiempos de estacin por debajo del tiempo de ciclo. El cumplimiento de las
relaciones de precedencia se consigue con las restricciones 5.3. Por ltimo, las restricciones 5.4 indi-
can que las variables de decisin son binarias.
Modelo 5.1. Formulacin matemtica con variables de decisin binarias para el SALBP-F.

5.3.2. SALBP-1

El SALBP-1 [||], la versin ms estudiada de este tipo de problemas, surge de aadir al SALBP-F
el objetivo de minimizar el nmero de estaciones dado un tiempo de ciclo. En el SALBP-1, al fijar ,
automticamente se fija la tasa de produccin. Por tanto, se asemeja a la instalacin de una nueva
lnea de montaje, donde se puede estimar la demanda externa y, por tanto, se puede establecer una
tasa de produccin para abastecerla.

La formulacin del SALBP-F slo requiere dos modificaciones para adaptarla al SALBP-1. En primer
lugar, se introduce una funcin objetivo (ver Frmula 5.5). El nmero de estaciones deja de ser un
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 43

parmetro para pasar a ser una variable de decisin. Esto implica que se requiere una cota superior
(ver Frmula 5.7) que sustituya el parmetro en las restricciones 5.1-5.3 del Modelo 5.1.

[] = (5.5)

A pesar que el modelo matemtico no precisa de una cota inferior (ver Definicin 2.7), en la
prctica las cotas inferiores aportan incluso ms informacin de la solucin del problema que las
cotas superiores. Conocer una cota inferior del problema que se est resolviendo indica automtica-
mente que todas aquellas soluciones con un valor inferior a esta cota no son factibles y, por tanto,
son soluciones que no es necesario considerar.

La cota inferior ( ) al nmero de estaciones del problema ms obvia se obtiene de la inecua-


cin , es decir, el tiempo total disponible no puede ser menor que el tiempo de traba-
jo necesario (ver Formula 5.6).


= (5.6)

En cuanto a la cota superior ( ), se puede utilizar el nmero de tareas, suponiendo que cada
una de ellas se asigna a una estacin diferente (ver Frmula 5.7).

= (5.7)

5.3.3. SALBP-2

El SALBP-2 [||] se puede entender como el problema dual del SALBP-1, dentro de los trminos
del equilibrado de lneas de montaje. El objetivo del SALBP-2 es minimizar el tiempo de ciclo () dado
el nmero de estaciones (). Plantea, por lo tanto, la optimizacin de lneas de montaje existentes:
la instalacin posee un cierto nmero de estaciones ya equipadas y se desea mejorar su productivi-
dad, disminuir el tiempo de ciclo.

Para adaptar el Modelo 5.1 al SALBP-2, anlogamente a la SALBP-1, se aade una funcin objetivo
(ver Frmula 5.8) y el tiempo de ciclo se convierte en variable. Esto ltimo requiere una cota superior
para la solucin del problema (ver Frmula 5.10).

[] = (5.8)
44 Daniel Aparicio Guirao

De nuevo, se puede obtener una cota inferior () al tiempo de ciclo con la condicin de capaci-
dad mnima de la lnea ( ) y el tiempo de tarea mximo ( ) (ver Frmula 5.9).


= max , (5.9)

Una cota superior ( ) se deduce del caso extremo en que 1 estaciones estn ocupadas por
slo una de las 1 primeras tareas de menor duracin y la estacin restante por las tareas
de mayor duracin (ver Frmula 5.10).

= (5.10)

Donde es la tarea -sima de la lista de tareas ordenadas de menor a mayor duracin.

5.3.4. SALBP-E

Un tercer tipo de SALBP es el problema relacionado con la maximizacin de la eficiencia de la


lnea, conocido como SALBP-E [||]. Se puede entender por eficiencia de la lnea la relacin entre el
tiempo de trabajo total y la capacidad total de la lnea, considerando variables tanto el nmero de
estaciones como el tiempo de ciclo.

El SALBP-E plantea el caso ms general de equilibrado de lneas de montaje simples ya que permi-
tiendo estudiar el caso en que el nmero de estaciones y el tiempo de ciclo puedan variar dentro de
un rango, [ , ] y [ , ] respectivamente. Normalmente, los valores mnimos estn
impuestos por el problema (por ejemplo, la capacidad de la lnea ha de ser tal que se puedan realizar
todas la tareas); por el contrario, el lmite superior del rango se justifica con criterios ajenos al pro-
blema, por ejemplo, el espacio disponible o el presupuesto.

La eficiencia de la lnea se puede plasmar de diferentes formas, dependiendo si se quiere maximi-


zar la eficiencia (ver Frmula 5.11), minimizar la capacidad de la lnea (ver Frmula 5.12) o minimizar
el tiempo muerto total del equilibrado (ver Frmula 5.13). Si se observan detenidamente estas tres
variantes es sencillo advertir que todas son equivalentes entre s.



= (5.11)

Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 45

= (5.12)

= (5.13)

Aadiendo la funcin objetivo (ver Frmula 5.14) al Modelo 5.1 y convirtiendo en variables tanto
como se obtiene la formulacin matemtica del SALBP-E.

[] = (5.14)

Las cotas de este problema estn asociadas a las presentadas para las versiones 1 y 2. En primer
lugar, se puede calcular una cota superior ( ) de la eficiencia a partir de la cota inferior del SALBP-
1 (ver Frmula 5.6) para todos los tiempos de ciclo posibles (ver Frmula 5.15). De la misma forma se
obtiene una segunda cota superior ( ) a partir de la cota inferior del SALBP-2 (ver Frmula 5.9)
evaluada en el rango del nmero de estaciones factibles (ver Frmula 5.16).


= max [ , ] (5.15)
()


= max [ , ] (5.16)
()

De la misma forma que para las cotas superiores, es posible calcular cotas inferiores para la efi-
ciencia usando las cotas superiores () sobre para todos los tiempos de ciclo posibles
y las cotas superiores () para todos los valores del nmero de estaciones.

5.3.5. Complejidad

Segn la Definicin 2.4 y la Definicin 2.5 (ver Apartado 2.1), el SALBP-F es NP-completo, mientras
que las variantes 1, 2 y E de los SALBP son NP-duras.

5.3.6. Procedimientos de resolucin

Antes de pasar a describir los diferentes procedimientos de resolucin, cabe destacar una propie-
dad importante de los problemas de equilibrado de lneas de montaje: la solucin del problema utili-
zando el grafo de restricciones en sentido inverso tambin lo es del problema directo si se invierte el
orden de las estaciones en la solucin. Esto, sin embargo, no implica que un mismo mtodo aplicado
a los dos sentidos genere la misma solucin para ambos. Por este motivo, es usual que los procedi-
46 Daniel Aparicio Guirao

mientos se implementen para el problema directo y el inverso simultneamente.

Los procedimientos de resolucin estn basados en dos tipos de esquemas: esquemas orientados
a las estaciones o esquemas orientados a las tareas.

En el primer caso, la solucin se construye a partir de la primera estacin. Las tareas se aaden a
esta estacin hasta que est llena, entonces se cierra esta estacin y se abre la siguiente. Se procede
de esta manera hasta completar la solucin. Los esquemas orientados a las tareas asignan la tarea a
la estacin ms temprana que se pueda asignar.

Las referencias mencionadas en este apartado se han extrado del trabajo State-of-the-art exact
and heuristic solution procedures for simple assembly line balancing, de Scholl y Becker[15].

Mtodos exactos

Entre los mtodos exactos la gran mayora de los algoritmos propuestos en la literatura estn ba-
sados en B&B o en programacin dinmica, con pocos procedimientos basados en programacin
lineal. Debido a la complejidad de los problemas de equilibrado, en ambos tipos es necesario reducir
en todo lo posible el esfuerzo de enumeracin del algoritmo para que ste sea eficiente, sobre todo
cuando se trata de instancias con muchas tareas.

Entre todos destaca el procedimiento SALOME-1[11], para el SALBP-1, del tipo B&B orientado a
las estaciones basado en el clculo de cotas inferiores locales para cada nodo generado, incluyendo
reglas de dominancia y de reduccin as como una resolucin conjunta de los dos sentidos del grafo
de precedencias.

A pesar de tener mayor aplicacin prctica, no existen tantas publicaciones respecto a la resolu-
cin del SALBP-2 como para el SALBP-1. Muchos mtodos proponen encontrar el tiempo de ciclo
mnimo a base de resolver de forma iterativa la instancia (, ) del SALBP-F asociada. Existen pocos
procedimientos B&B para este problema, entre ellos sobresale el SALOME-2, la adaptacin para el
SALBP-2 del SALOME-1 mencionado arriba.

Por ltimo, como en el caso anterior, el SALBP-E se puede resolver con mtodos de bsqueda a
travs de la instancia del SALBP-F asociada para los valores (, ) fijados. No existen mtodos direc-
tos para el SALBP-E debido a la dificultad de dirigir la bsqueda hacia reas del espacio prometedo-
ras. La resolucin del SALBP-F se puede llevar a cabo adaptando los procedimientos existentes para
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 47

el SALBP-1 y el SALBP-2.

Heursticas

Las propuestas para la resolucin del problema de equilibrado simple mediante heursticas son
abundantes, aunque las principales se pueden dividir en mtodos constructivos y metaheursticas.

Los procedimientos basados en reglas de prioridad son los mtodos constructivos ms utilizados,
sobre todo para el SALBP-1. Las principales reglas de prioridad para la asignacin de las tareas son las
siguientes:

- La duracin de la tarea: .
- El nmero de sucesoras de la tarea: | |.
- El peso posicional de la tarea: = + .

- El peso posicional acumulado de la tarea: = + .


- El tiempo de tarea respecto a la estacin ms tarda que se puede asignar la tarea: .
- El tiempo de tarea respecto el intervalo de estaciones a las que se puede asignar la estacin:
( + 1).

Para este tipo de procedimientos, los experimentos computacionales muestran que los esquemas
orientados a las estaciones obtienen mejores resultados que los esquemas orientados a las tareas.
Adems, es posible mejorar los resultados aplicando las siguientes modificaciones:

- Construccin bidireccional flexible: las estaciones se cargan tanto hacia adelante como hacia
atrs simultneamente.
- Reglas de prioridad dinmicas, que adaptan la prioridad en funcin de la solucin parcial actual.
- Aplicar reglas de prioridad diferentes o estocsticas varias veces para encontrar varias solucio-
nes y escoger la mejor.
- Reglas flexibles, que intentan aplicar aquellas reglas que mejor resuelven ciertas instancias.
- Tcnicas de reduccin, que reducen el tamao del problema a base de pruebas lgicas.

Por otro lado, los procedimientos de enumeracin incompletos son otro tipo de procedimientos
constructivos aproximados. En este caso, tambin estn extendidos para el SALBP-2 a parte del
SALBP-1. Entre todos ellos destaca la heurstica propuesta por Hoffmann, donde en cada iteracin se
genera una nica rama del procedimientos B&B orientado a las estaciones; y las enumeraciones
truncadas, donde se aplica un mtodo exacto como una heurstica aadiendo reglas de descarte o
48 Daniel Aparicio Guirao

imponiendo un tiempo lmite.

Finalmente, tambin se cuentan entre los mtodos constructivos aquellos procedimientos que
transforman la instancia, ya sea del SALBP-1, del SALBP-2 o del SALBP-E, a una instancia equivalente
del SALBP-F y comprueban la factibilidad de la solucin.

Las metaheursticas ms aplicadas a los problemas de equilibrado simples han sido los algoritmos
genticos, la bsqueda tab, el templado simulado y los algoritmos de hormigas.

La eficiencia de las heursticas para los equilibrados simples no consigue llegar a los niveles alcan-
zados por los mtodos de enumeracin completos. Esto puede ser debido a tres razones, tal y como
apuntan Bautista y Pereira[16]:

- La calidad de los procedimientos constructivos, que permiten resolver muchas instancias de la


literatura sin necesidad de ayuda de otros mecanismos.
- La existencia de procedimientos de acotacin de calidad con requisitos de tiempos de computa-
cin muy ajustados.
- La dificultad de definir buenos vecindarios de bsqueda.

A pesar de esto, los mtodos aproximados y, en concreto, las metaheursticas siguen siendo un
rea de investigacin importante para los problemas de equilibrados generales, descritos a continua-
cin.

5.4. Problema general de equilibrado de lneas de montaje (GALBP)

Las hiptesis de partida del SALBP son demasiado restrictivas y, por tanto, su aplicacin a casos
reales est limitada. Como consecuencia, para afrontar los problemas que se presentan en la realidad
se deben relajar dichas hiptesis, con lo que se obtiene los problemas generales de equilibrado de
lneas de montaje o GALBP (General Assembly Line Balancing Problem).

La variedad de GALBP que se pueden plantear es inmensa, ya que cada modificacin sobre el
SALBP se puede considerar una versin diferente. Debido a esta extensin, el estado del arte, en
comparacin con los problemas simples, es difuso. A continuacin se citan las variaciones principales
agrupadas segn la modificacin que se realiza sobre el problema simple. Este apartado est basado
en un estudio de Becker y Scholl[14].
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 49

5.4.1. Objetivos orientados al coste o al beneficio

Las lneas de montaje, normalmente, requieren altas inversiones de capital. Adems, a corto pla-
zo, hay que tener en cuenta los costes operativos asociados (sueldos, materiales). Aunque estos
ltimos estn directamente relacionados con el nmero de estaciones y el tiempo de ciclo, existen
casos en los que se ha de tener en cuenta los costes y/o los beneficios explcitamente.

Rosenberg y Ziegler fijan como objetivo minimizar el salario total asociado a operarios de las esta-
ciones, asumiendo que cada una de ellas causa un coste salarial por unidad de tiempo
([| |]). Amen extiende el problema con costes de capital, considerando un coste fijo por
cada estacin ([| |]).

5.4.2. Tareas y estaciones en paralelo

En caso de querer reducir el tiempo de ciclo por debajo del tiempo de tarea mximo, es necesario
introducir algn tipo de paralelismo en la cadena de montaje para conseguirlo. Pinto, Dannenbring y
Khumawala presentan un modelo donde se permite la duplicidad de estaciones, duplicando as el
tiempo de ciclo local de la estacin ([||]).

Tambin es posible reducir los tiempos de tarea, realizndolas en paralelo en varias estaciones. En
otro trabajo de los mismos autores, se considera este concepto, permitiendo la asignacin de tareas
a varias estaciones, es decir, las tareas se realizan alternativamente en estaciones diferentes segn el
ciclo ([||]).

El paralelismo tambin se puede interpretar como la asignacin de varios operarios a una misma
estacin. Un efecto similar se consigue agrupando estaciones manejadas por un grupo de operarios.
Estas estaciones agregadas tienen un tiempo de ciclo disponible mltiple del original y los operarios
pueden realizar rotaciones.

Cabe destacar que los casos expuestos y, en general, cualquier paralelismo incurre en unos costes
superiores. Por tanto, los modelos que se proponen deberan, al menos como objetivo secundario,
tenerlos en cuenta.

5.4.3. Lneas de montaje con forma de U

El problema de equilibrado de lneas de montaje con forma de U (UALBP) fue propuesto y mode-
lado por Miltenburg y Wijngaard ([||]). Aqu, la lnea est dispuesta en forma de U estrecha lo que
50 Daniel Aparicio Guirao

permite a los operarios trabajar simultneamente en partes diferentes del proceso productivo.

Figura 5.2. Equilibrado de una lnea de montaje con forma de U[11].

La diferencia principal con el SALBP radica en que una estacin puede contener tareas cuyas pre-
cedentes se realizan en estaciones posteriores, siempre y cuando las precedencias se hayan cumpli-
das cuando llega el producto intermedio por segunda vez a dicha estacin.

Se definen tres versiones del UALBP, anlogas a las versiones del SALBP:

- UALBP-1: minimizar el nmero de estaciones dado el tiempo de ciclo.


- UALBP-2: minimizar el tiempo de ciclo dado el nmero de estaciones.
- UALBP-E: dado el nmero de estaciones y el tiempo de ciclo, maximizar la eficiencia de la lnea.

Todas las generalizaciones presentadas en esta seccin se pueden aplicar a los UALBP.

5.4.4. Restricciones de asignacin

Bartholdi presenta los problemas relacionados con las lneas de montaje con trabajo en ambos la-
dos. Agrupa las tareas segn si se realizan por el lado izquierdo o el derecho de la instalacin, intro-
duciendo restricciones tarea-posicin y tarea-tarea ([, | |]).

Pastor y Corominas describen una lnea real de un producto de gran tamao y sin movilidad, don-
de las tareas se llevan a cabo tanto en la parte derecha e izquierda como en la superior e inferior, con
la restriccin que las operaciones de partes opuestas no pueden compartir estacin
([, , , || ]).

Johnson considera restricciones operario-tarea e intenta agrupar tareas de complejidad similar en


una estacin ([|, |]). Carnaham, Norman y Redern incorporan la demanda de esfuer-
zo fsico al ALBP ([||, ]). Bautista y Pereira[10] tienen en cuenta el espacio necesario para
la realizacin de las tareas de montaje, el cual est limitado por el tamao de las estaciones de traba-
jo ([||, , ]).
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 51

5.4.5. Tiempos de tarea probabilsticos

Hasta el momento se han considerado tiempos de tarea deterministas, pero en las lneas reales
stos suelen variar en cada ciclo, especialmente cuando los operarios son seres humanos. Este hecho
se puede incorporar a los modelos asumiendo una distribucin de probabilidad para dichos tiempos.

En el caso de operarios humanos es suficientemente realista una distribucin normal. Por otro la-
do, se pueden establecer tiempos de tarea con factores de seguridad incluidos, es decir, se asegura
con cierta probabilidad que el tiempo de tarea no supera dicho valor, por ejemplo, como hace Ca-
rraway en uno de sus trabajos ([ ||]).

Respecto a los procedimientos, McMullen y Tarasewich desarrollaron un algoritmo de hormigas


para un GALBP con tiempos de tarea probabilsticos, junto con la inclusin de estaciones paralelas,
produccin mixta y varios objetivos ([, ||, , ]).

5.4.6. Lneas mixtas y multi-modelo

A la hora de planificar estas lneas, surgen diversos problemas de decisin a medio plazo: nmero
y longitud de las estaciones, tasa de produccin o tiempo de ciclo as como las cargas de trabajo. La
mayora de estas decisiones forman parte del MALBP (Mixed-model Assembly Line Balancing Pro-
blem), problema anlogo al SALBP con la dificultad aadida de que cada producto tiene un grafo de
precedencias propio y donde la duracin de las tareas puede ser diferente dependiendo del modelo.

A corto plazo, hay que tener en cuenta un problema de secuencia de modelo (MSP). A partir de
un equilibrado dado, se busca la secuencia de produccin de modelos que cumpla la demanda dada
por el programa de produccin a corto plazo y sea ptima con respecto a algn objetivo, mayorita-
riamente minimizando alguna medida de ineficiencia producida por sobrecargas de trabajo y/o tiem-
pos muertos.

Principalmente, se han propuesto dos enfoques para la resolucin de los MALBP. El primero de
ello es la reduccin a problemas de equilibrado simples para aprovechar los mtodos existentes; ya
sea teniendo en cuenta tiempos de tarea medios[11] o separando el MALBP en P problemas inde-
pendientes, donde P es el nmero de modelos. Estas reducciones tienen el inconveniente de generar
equilibrados ineficientes al no tener en cuenta la variabilidad de las duraciones de las tareas.

El enfoque del equilibrado horizontal introduce dicha variabilidad como objetivo secundario. De
esta manera se consiguen equilibrados que reducen los tiempos muertos y las sobrecargas de trabajo
52 Daniel Aparicio Guirao

potenciales. Comparaciones tericas y experimentales muestran que la minimizacin de la suma de


violaciones del tiempo de ciclo de todos los modelos en todas las estaciones tiene el mayor potencial
para reducir las ineficiencias.

5.4.7. Seleccin de equipos y alternativas de proceso

Otro tipo de problemas aparecen al tener en cuenta la eleccin de los equipos necesarios para la
realizacin de las tareas y la influencia que tienen sobre stas, ya sea porque reducen el tiempo de
operacin o incluso porque las eliminan del proceso productivo. Cuando estas decisiones se conectan
con el problema de equilibrado aparecen los problemas de diseo de lneas de montaje.

Pinto, Dannenbring y Khumawala consideran el problema de equilibrado junto con la decisin de


varias alternativas de proceso, con diferentes grafos de precedencias y costes fijos por unidad de
tiempo ([||]). Dolgui, Guschinsky y Levin describe el problema de equilibrado para lneas trans-
fer, que consiste en una secuencia de estaciones automatizadas que realizan bloques de tareas de
forma secuencial donde las tareas de cada bloque en paralelo usan utillaje especializado
([, ||]).

5.4.8. Lneas de montaje robotizadas

El problema de equilibrado de lneas de montaje robotizadas o RALBP (robotic assembly line ba-
lancing problem), planteado por Rubinovitz y Bukchin[1], tienen en cuenta un conjunto de robots que
se deben asignar a estaciones, donde los tiempos de tarea dependen del robot que la realiza
([||]).

El siguiente captulo contiene una descripcin detallada de este problema, ya que su resolucin es
el motivo de este estudio.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 53

6. RALBP

En la actualidad, debido a la competencia existente, el ciclo de vida de los productos tiende a


acortarse. Esto implica que las cantidades producidas tambin tiendan a reducirse y a aumentar los
modelos a producir, por lo que se hace necesario disponer de sistemas flexibles que se adapten a
estas necesidades. Adems no se puede olvidar la disminucin de los tiempos de operacin que
permiten mejorar la productividad.

El uso de robots garantiza un aumento del grado de automatizacin de las lneas de produccin
debido a que son capaces de realizar tareas repetitivas a gran velocidad, disminuir el nmero de
errores y aumentar la precisin. Tambin se caracterizan por su adaptabilidad, pueden realizar
mltiples operaciones gracias a la posibilidad del intercambio de tiles.

En las lneas de montaje robotizadas la obtencin de buenas soluciones en el equilibrado cobra


especial importancia porque con los robots se reducen considerablemente las variaciones en los
tiempos de tarea y, por tanto, es realmente palpable la mejora en la eficiencia de las lneas mediante
equilibrados de calidad.

6.1. Modelo

El problema de equilibrado de lneas de montaje robotizadas (RALBP, Robotic Assembly Line Ba-
lancing Problem) surge cuando se consideran diferentes eficiencias de los robots a la hora de realizar
las diferentes tareas que componen el ensamblaje que se lleva a cabo en la lnea. Rubinovitz y Buk-
chin[1] fueron los primeros en formular este problema. Las hiptesis que definen el RALBP son las
siguientes:

- Las relaciones de precedencia son conocidas e invariables.


- La duracin de una tarea es determinista.
- La duracin de una tarea depende del robot asignado.
- No hay limitaciones en la asignacin de tareas o robots a las estaciones. En caso que un robot no
pueda realizar una tarea se le asigna una duracin suficientemente alta.
- A cada estacin se asigna un solo robot.
- El manejo del material, el tiempo de carga y descarga as como los tiempos de preparacin se
consideran insignificantes o estn incluidos en las duraciones de las tareas.
- Todos los tipos de robots estn disponibles sin limitaciones.
54 Daniel Aparicio Guirao

- La lnea se equilibra para un solo producto.

Anlogamente a la mayora de problemas de equilibrado, se pueden definir cuatro variaciones


dentro de los RALBP:

- RALBP-F: dado un nmero de estaciones y un tiempo de ciclo, determinar si existe una asigna-
cin factible de tareas y robots a estaciones.
- RALBP-1: el objetivo es minimizar el nmero de estaciones fijado el tiempo de ciclo.
- RALBP-2: el objetivo es minimizar el tiempo de ciclo fijado el nmero de estaciones.
- RALBP-E: el objetivo es maximizar la eficiencia de la cadena de montaje.

En este trabajo se resuelve la variante RALBP-2. Esta versin del problema se ajusta a la situacin
industrial en que se realiza una redistribucin de cargas que conlleva un reequilibrado de la lnea, por
cambios en el mix de produccin o del proceso productivo. Se supone que la lnea ya contaba con un
cierto nmero de robots trabajando en ella y todos ellos estarn disponibles para el nuevo equilibra-
do. Por tanto, el nmero de estaciones queda fijado automticamente por el nmero de robots dis-
ponibles y se pretende minimizar el tiempo de ciclo.

El modelo matemtico del RALBP-2 incorpora dos modificaciones respecto el modelo del SALBP-2.
La primera diferencia reside en el parmetro duracin de la tarea, que en los RALBP depende del
robot que la realiza. El otro cambio es la adicin de una variable de decisin que indica a qu esta-
cin se asigna cada robot; esta modificacin se produce porque el dominio de soluciones est forma-
do por dos espacios: la asignacin de una tarea a una estacin y la asignacin de un robot a una esta-
cin. El Modelo 6.1 presenta el modelo matemtico de programacin no lineal para el RALBP-2. En el
Modelo 6.2 se muestra en modelo de programacin lineal, en que slo se incluyen los cambios reali-
zados respecto el Modelo 6.1.

Parmetros:
: nmero de tareas (, = 1, , ).
: nmero de estaciones ( = 1, , ) y robots ( = 1, , ).
: duracin de la tarea realizada por el robot .
: conjunto de tareas predecesoras inmediatas de la tarea .
Variables de decisin:
1 si la tarea se asigna a la estacin
= .
0 en caso contrario
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 55

1 si el robot se asigna a la estacin


= .
0 en caso contrario
Funcin objetivo:

[] = (6.1)

Restricciones:

(6.2)

= 1 (6.3)

= 1 (6.4)

= 1 (6.5)

( ) 0 , ; (6.6)

{0,1} , (6.7)

{0,1} , (6.8)

La funcin objetivo (ver Frmula 6.1) consiste en minimizar el tiempo de ciclo . Ningn tiempo de
estacin puede ser superior al tiempo de ciclo , tal y como expresan las restricciones 6.2. Las restric-
ciones 6.3 aseguran que cada tarea se asigna a una nica estacin. La asignacin de un solo robot a
cada estacin se consigue con las restricciones 6.4, mientras que las restricciones 6.5 imponen que
cada robot se asigna a una nica estacin. Las restricciones 6.6 representan las relaciones de prece-
dencia entre las tareas, asegurando que una tarea precedente de otra no se asigna a una estacin
posterior. Por ltimo, las restricciones 6.7 y 6.8 indican que las variables de decisin y , respec-
tivamente, son binarias.
Modelo 6.1. Modelo matemtico para el RALBP-2.
56 Daniel Aparicio Guirao

Variables de decisin:
1 si la tarea se asigna a la estacin y se realiza en el robot
= .
0 en caso contrario
Restricciones:

(6.9)

= 1 (6.10)

( ) 0 , (6.11)

0 , , (6.12)

{0,1} , , (6.13)

Para convertir el modelo presentado ms arriba es necesario transformar las restricciones 6.2 en
restricciones lineales. Para ello se crea la variable que permite que las restricciones 6.9 (anlogas
a las restricciones 6.2) sean lineales. La introduccin de la variable obliga a agregar las restriccio-
nes 6.12, que aseguran que las tareas se asignen a la pareja robot-estacin correcta. La modificacin
de la variable tambin obliga a aadir las restricciones 6.10, 6.11 y 6.13, que sustituyen a las res-
tricciones 6.3, 6.6 y 6.7, respectivamente. La funcin objetivo (ver Frmula 6.1) y las restricciones 6.4,
6.5 y 6.8 se mantienen igual que en el Modelo 6.1.
Modelo 6.2. Modelo lineal para el RALBP-2.

Una cota inferior para este problema se puede obtener de forma anloga a cmo se obtiene para
el SALBP-2 (ver Frmula 5.9). En el RALBP-2 las duraciones de las tareas y, por tanto, la capacidad de
la lnea dependen de la asignacin de robots a las estaciones. Entonces para calcular la cota es nece-
sario suponer que las tareas las realizar el robot ms favorable, es decir, el robot que minimiza la
duracin de las tareas (ver Frmula 6.14).


{ }
(6.14)
= { } ,


Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 57

6.2. Procedimientos de resolucin

Levitin, Rubinovitz y Shnits[17] presentan un algoritmo gentico para el RALBP-2 con dos proce-
dimientos alternativos, uno recursivo y otro consecutivo, para asignar las tareas y los robots a las
diferentes estaciones, junto con un procedimiento de intercambio como bsqueda local. A partir de
soluciones factibles, generadas mediante operaciones de cruce y mutacin, la asignacin recursiva
consiste en dividir una secuencia de operaciones factible respecto a las relaciones de precedencia en
tantas partes como estaciones ha de tener la solucin de manera que la carga de cada estacin est
lo ms equilibrada posible, para luego asignar los robots minimizando el tiempo de ejecucin total. El
procedimiento consecutivo, tambin a partir de una secuencia de operaciones factible respecto a las
relaciones de precedencia, intenta asignar el mximo nmero de actividades a cada robot sin superar
el tiempo de ciclo preestablecido, que se incrementa en uno si no se encuentra una asignacin facti-
ble. Los resultados expuestos por estos autores muestran que el segundo procedimiento consigue
mejores soluciones. Tambin comparan su algoritmo GA con el procedimiento B&B de Rubinovitz y
Buckchin[1] mostrando la superioridad del primero, tanto en calidad de soluciones obtenidas como
en tiempo de clculo.

Gao, Sun, Wang y Gen[18] proponen un GA hbrido aplicado sobre el RALBP-2. En este algoritmo
se generan soluciones mediante los procedimientos clsicos de los algoritmos genticos (ver Aparta-
do 3.3), para luego realizar hasta cinco bsquedas locales implementadas como un procedimiento
VNS. Para evaluar el rendimiento del procedimiento propuesto, comparan los resultados con un
software de optimizacin estndar (OPL), al cual supera tanto en calidad como en rapidez.

6.3. Propuesta de resolucin

En este trabajo se ha escogido utilizar un ACO para la resolucin del RALBP-2. Las relaciones de
precedencia y los tiempos de tarea dependientes de cada robot hacen que el espacio de soluciones
sea heterogneo respecto a la calidad de las soluciones, es decir, se pueden encontrar buenas solu-
ciones en zonas del espacio alejadas entre s. Por este motivo, un algoritmo de carcter constructivo
estocstico como los ACO tiene potencial para explotar esta caracterstica de los RALBP.

Otro motivo para la eleccin de los algoritmos de hormigas es que han conseguido buenos resul-
tados cuando se han aplicado a los problemas de equilibrado, tanto en los problemas simples como
en casos ms generales. A pesar de ello todava no se aplicado a la resolucin de RALBP, lo que supo-
ne un aliciente para la implementacin.
58 Daniel Aparicio Guirao

La eleccin del ACO tambin es una novedad por el doble espacio de bsqueda que se trata de re-
solver: la asignacin de tareas a estaciones, que es la interpretacin de un empaquetado, y la asigna-
cin de robots a las estaciones, un problema de asignacin.

La implementacin del algoritmo propuesto se realiza usando el modelo de programacin no line-


al (ver Modelo 6.1). Para comprobar la validez de los resultados obtenidos con el algoritmo, estos se
comparan con los resultados de un procedimiento exacto, basado en el modelo de programacin
lineal (ver Modelo 6.2).

A continuacin se realiza una descripcin detallada del algoritmo ACO propuesto, al cual se ha
nombrado RALBP-MMAS.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 59

7. RALBP-MMAS

El RALBP-MMAS es un algoritmo ACO, basado en concreto en la variante MMAS (ver Apartado


4.4.3), implementado para resolver el RALBP-II (ver Captulo 6). La eleccin de esta variante se debe a
que los resultados experimentales muestran una ligera superioridad de las soluciones de esta varian-
te sobre el resto de las propuestas (ver Figura 4.4). Adems, su larga fase de exploracin de solucio-
nes previa a la explotacin (ver Figura 4.3) favorece la dispersin de la bsqueda por todo el dominio
de soluciones, lo cual es aconsejable porque el dominio de soluciones del RALBP-II est formado por
la combinacin de dos sub-espacios (ver Apartado 6.1).

La estructura del RALBP-MMAS es la estructura tpica de los algoritmos ACO (ver Algoritmo 7.1).
En primer lugar, se produce una fase de inicializacin (ver Apartado 7.1) de los datos que necesita el
algoritmo para funcionar. Finalizada esta fase, se inicia un bucle de iteraciones donde, sucesivamen-
te, se construyen soluciones (ver Apartado 7.2) y se actualiza el rastro de feromonas (ver Apartado
7.3). El algoritmo finaliza cuando se cumple alguno de los criterios de finalizacin (ver Apartado 7.4).

1 procedure ACO {
2 InicializarDatos
3 do {
4 ConstruirSoluciones
5 ActualizarFeromonas
6 } while (not CriteriosFin)
7 }
Algoritmo 7.1. Pseudo-cdigo del algoritmo RALBP-MMAS en las variantes ACO.

Para la construccin de las soluciones se emplea un esquema orientado a las estaciones (ver Apar-
tado 5.3.6). Otra caracterstica del proceso constructivo es que las soluciones se construyen en el
sentido directo del grafo de precedencias y en el sentido inverso alternativamente.

Como en el momento de implementar el algoritmo todava no se ha publicado ninguna propuesta


de algoritmo ACO para la resolucin del RALBP-II, no hay informacin sobre el rastro de feromonas
que ofrece mejores resultados. Por este motivo, se decide tener en cuenta dos tipos de rastros: un
par de rastros simples, con informacin sobre la asignacin de la tarea a la estacin y sobre la asigna-
cin tarea-robot, respectivamente; y un rastro combinado, con informacin sobre la asignacin ta-
rea-estacin-robot.

En la construccin de soluciones se incluye una bsqueda local para la mejora de las soluciones.
La bsqueda local consiste en el intercambio de robots entre estaciones y el movimiento de tareas
60 Daniel Aparicio Guirao

asignadas a la estacin crtica (ver Definicin 7.1). Como los procesos de bsqueda local afectan ne-
gativamente al rendimiento y, en el caso de los equilibrados, pueden no aportar una mejora palpable
de las soluciones, se opta por crear dos procedimientos alternativos en los que se modifica el punto
de aplicacin de la bsqueda local. En un caso se aplicar la bsqueda local justo despus de que
cada hormiga genere una solucin completa y, en el otro caso, se aplicar sobre la mejor solucin de
la iteracin, cuando toda la colonia de hormigas ha finalizado de generar las soluciones.

Definicin 7.1. La estacin crtica es la estacin del equilibrado con la carga mxima de trabajo y,
por tanto, la que define el tiempo de ciclo.

Los dos tipos de rastros de feromonas propuestos combinados con los dos puntos diferentes don-
de se produce la mejora de la solucin hacen surgir 4 versiones diferentes del algoritmo RALBP-
MMAS (ver Tabla 7.1).

Bsqueda local tras la cons- Bsqueda local en la mejor


truccin de una hormiga hormiga de la iteracin
Rastro de feromonas tarea-
Versin 1 Versin 2
estacin y estacin-robot
Rastro de feromonas tarea-
Versin 3 Versin 4
estacin-estacin
Tabla 7.1. Versiones del RALBP-MMAS.

Si se modifica el punto de vista, se puede interpretar la estructura del RALBP-MMAS como un ge-
nerador de soluciones que es posible incluir en otros procedimientos. Desde esta perspectiva, se
decide incluirlo en un procedimiento de templado simulado (ver Apartado 3.1), creando as un pro-
cedimiento hbrido. Esta hibridacin servir para comprobar si existe una mejora del rendimiento.

Para el procedimiento hbrido tambin se consideran las cuatro versiones presentadas en la Tabla
7.1. De esta manera, el procedimiento RALBP-MMAS estar formada por ocho variantes diferentes.
Para diferenciar las ocho propuestas, se usar la nomenclatura ACO(-), para referirse a las versiones
del algoritmo no hbrido, y SA+ACO(-), para el algoritmo hbrido. Cuando es necesario diferenciar
entre una de las cuatro versiones se usa el sufijo - para designarlas.

En este captulo se realiza una descripcin completa de las fases del algoritmo RALBP-MMAS para
la variante ACO-1: la fase de inicializacin, el proceso constructivo, la bsqueda local y la actualiza-
cin del rastro de feromonas. Posteriormente, se describen las modificaciones que se producen en
las otras siete variantes del algoritmo: diferencias entre versiones y diferencias entre variantes ACO y
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 61

SA+ACO. El captulo finaliza con la explicacin de los detalles de la implementacin de todas ellas. A
continuacin se expone la nomenclatura que se usa en el resto del captulo:

: nmero de tareas (, = 1, , ).
: nmero de estaciones ( = 1, , ) y robots ( = 1, , ).
[]: duraciones de cada una de las tareas cuando se realizan por cada uno de los robots.
: duracin de la tarea realizada por el robot .
: carga de la estacin .
: carga de la estacin crtica.
: conjunto de tareas predecesoras transitivas de la tarea .
[]: relaciones de precedencia transitivas entre todas las tareas.
1 si la tarea es precedente transitiva de la tarea
= .
0 en caso contrario
: nmero de tareas precedentes transitivas de la tarea .
: nmero de tareas sucesoras transitivas de la tarea .
: nmero de hormigas de la colonia ( = 1, , ).
: factor de evaporacin del rastro de feromonas.
[0]: rastro de feromonas entre las estaciones y los robots.
[1]: rastro de feromonas entre las tareas y las estaciones.
[2]: rastro de feromonas entre las tareas y los robots.
[3]: rastro de feromonas entre las tareas, las estaciones y los robots.
0 : valor del rastro de feromonas entre la estacin y el robot .
1 : valor del rastro de feromonas entre la tarea y la estacin .
2 : valor del rastro de feromonas entre la tarea y el robot .
3 : valor del rastro de feromonas entre la tarea , la estacin y el robot .
: valor mximo del rastro de feromonas.
: valor mnimo del rastro de feromonas.
[]: informacin heurstica sobre la asignacin tarea-robot.
: valor de la informacin heurstica entre la tarea y el robot cuando se considera el grafo de
precedencias en el sentido directo.
: valor de la informacin heurstica entre la tarea y el robot cuando se considera el grafo de
precedencias en el sentido inverso.
, , , : parmetros de ponderacin para los valores del rastro de feromonas.
: valor de ponderacin de la informacin heurstica.
62 Daniel Aparicio Guirao

: cota inferior.
[]: conjunto de soluciones de la colonia de hormigas.
[ ]: solucin construida por la hormiga .
: solucin parcial construida por la hormiga .
_ : mejor solucin construida en la iteracin en curso.
: mejor solucin construida hasta el momento.
: valor de la solucin en curso.
_ : valor de la mejor solucin construida en la iteracin.
: valor de la mejor solucin construida hasta el momento.
: valor de la solucin inicial.
: nmero de iteraciones sin mejora de .
: probabilidad de asignar el robot a la estacin .
: probabilidad de asignar la tarea a la estacin cuando sta tiene asignado el robot .
(): estacin ms temprana a la que se puede asignar la tarea sin violar las relaciones de pre-
cedencia.
(): estacin ms tarda a la que se puede asignar la tarea sin violar las relaciones de prece-
dencia.

7.1. Fase de inicializacin

Durante esta fase del algoritmo, se inicializan todos los parmetros y variables utilizados durante
el procedimiento. Tal y como se muestra en el Algoritmo 7.2, la estructura de esta fase se divide en
tres partes. En primer lugar, se leen todos los datos que definen la instancia que se va a resolver (ver
Apartado 7.1.1). Tras ello, se inicializa la colonia de hormigas artificiales as como la simulacin del
rastro de feromonas (ver Apartado 7.1.2). Por ltimo, se programan las variables de trabajo del algo-
ritmo que contienen la informacin sobre los resultados del procedimiento (ver Apartado 7.1.3).

1 procedure InicializarDatos {
2 LecturaInstancia
3 InicializarAC
4 InicializarVariables
5 }
Algoritmo 7.2. Pseudo-cdigo de inicializacin de las versiones ACO del RALBP-MMAS.

7.1.1. Lectura de la instancia

Una instancia para el RALBP-II est formada por los siguientes elementos:
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 63

- nmero de tareas () que componen el proceso de montaje.


- el nmero de estaciones () que se requiere que tenga el equilibrado de la lnea.
- el nmero de robots (), que coincide con el nmero de estaciones.
- la duracin de cada una las tareas cuando se realiza por cada uno de los robots ([]).
- las relaciones de precedencia transitivas que configuran el montaje ([]).

Si se da el caso que el robot no puede realizar la tarea , entonces la duracin de dicha tarea
cuando se realiza en aquel robot se considera 0 ( = 0).

Las relaciones de precedencia se representan por una dupla de valores (, ) que indican que la ta-
rea es predecesora inmediata de la tarea , entonces = 1. Para la construccin de la matriz de
precedencias transitivas ([]) es necesario incluir las relaciones de precedencia transitivas. La tarea
es precedente transitiva de la tarea si es precedente de alguna tarea precedente de , entonces
= 1; en caso contrario, = 0.

Una vez se conocen las duraciones de las tareas [] ya es posible calcular la cota inferior () del
problema (ver Frmula 6.14). La cota inferior en el RALBP-MMAS se usa como tiempo de ciclo inicial
del procedimiento. Tambin se utiliza para el clculo de diversos parmetros, gracias a la informacin
que aporta sobre la calidad de una solucin cuando se compara con ella.

A continuacin se calcula la informacin heurstica ([]) necesaria para la eleccin de las tareas.
Para el clculo de dicha informacin se ponderan dos condiciones tericamente atractivas para la
eleccin de la tarea: la duracin respecto el resto de robots y el nmero de relaciones de prece-
dencia[19]. En el sentido directo ( ) se consideran el nmero de tareas sucesoras, , de la tarea
(ver Frmula 7.1), mientras que en el sentido inverso ( ), el nmero de tareas precedentes,
(ver Frmula 7.2).

{ }

= + = 1, , ; = 1, , (7.1)
{ } { }

{ }

= + = 1, , ; = 1, , (7.2)
{ } { }

En ambas ecuaciones, el primer trmino crece conforme disminuye el tiempo de tarea en el ro-
bot, ponderando esta duracin entre el resto de los robots. El segundo trmino se usa para otorgar
prioridad a aquellas tareas que permiten asignar un mayor nmero de tareas en la siguiente itera-
64 Daniel Aparicio Guirao

cin, se usa su relacin con el mximo para equilibrar su valor con el primer trmino.

7.1.2. Inicializacin de la colonia de hormigas

Tras la lectura de la instancia, la fase de inicializacin prosigue con la inicializacin de la colonia de


hormigas. En esta parte del proceso se definen los parmetros y variables que se requieren para el
funcionamiento de la colonia: hormigas y rastro de feromonas.

Para definir los individuos de la colonia de hormigas, es necesario establecer el nmero de com-
ponentes que la formarn (). Cada una de las hormigas tiene la funcin de construir una solucin
([ ]) en cada iteracin del procedimiento, lo que significa que [ ] est compuesto por una asigna-
cin de tareas a las estaciones y una asignacin de robots a las estaciones, tal y como corresponde al
espacio de soluciones del RALPB-2.

Respecto el rastro de feromonas, en la variante ACO-1, se usa un rastro compuesto formado por
tres rastros simples: un rastro estacin-robot ([0]), un rastro tarea-estacin ([1]) y un rastro tarea-
robot ([2]). El doble rastro [1] y [2] sobre las tareas permite ponderar la eleccin de la tarea de
forma independiente respecto la estacin y el robot.

Como se est implementando la versin MMAS, se definen los parmetros para el valor mximo
( ) y mnimo ( ) del rastro de feromonas en un punto. El valor (ver Frmula 7.3) est
definido como funcin inversa de la mejor solucin conocida ( ); por tanto, con la mejora de la

soluciones se produce un aumento de la cantidad de feromonas posible en el rastro. El factor


se utiliza para ajustar la magnitud del valor de . Como no se calcula una cota superior, como

valor de solucin inicial ( ) se aproxima a la cota inferior (ver Frmula 7.5). El valor mnimo

simplemente se considera proporcional a en un factor 1 (ver Frmula 7.4). Tanto


como son adaptaciones para el RALBP-2 de las frmulas expuestas en la Tabla 4.1.


= (7.3)


=
(7.4)

(7.5)
= + {(0,01 ), 1}

La definicin del rastro de feromonas artificial se completa con el parmetro factor de evapora-
cin () y los parmetros de ponderacin utilizados para calcular la probabilidad de eleccin. En este
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 65

caso, estos parmetros de ponderacin son cuatro:

- : parmetro para la ponderacin del rastro de feromonas estacin-robot.


- : parmetro para la ponderacin del rastro de feromonas tarea-estacin.
- : parmetro para la ponderacin del rastro de feromonas tarea-robot.
- : parmetro para la ponderacin de la informacin heurstica tarea-robot.

El factor de evaporacin tiene la funcin de atenuar el rastro de feromonas en cada actualizacin


del mismo, de manera que la exploracin de soluciones por parte del procedimiento sea lo ms am-
plia posible. Por otro lado, los parmetros de ponderacin permiten ajustar la influencia del rastro de
feromonas o de la informacin heurstica en la eleccin (ver Apartado 4.3).

7.1.3. Inicializacin de las variables

Las principales variables utilizadas en el RALBP-MMAS son aquellas relacionadas con el almace-
namiento de las asignaciones de tareas y de robots a las estaciones: las soluciones que construyen
cada una de las hormigas ([ ]), la mejor solucin de la iteracin en curso ( _ ) y la mejor
solucin obtenida hasta el momento en el global del procedimiento ( ). Cada una de estas
variables est compuesta por una asignacin de tareas y de robots a las estaciones.

7.2. Generacin de soluciones

La generacin de soluciones es el ncleo del RALBP-MMAS, aqu cada una de las hormigas de la
colonia construye soluciones factibles de la instancia planteada basndose en los diferentes rastros
de feromonas que se tienen en cuenta.

Para construir una solucin se convierte la instancia que se pretende resolver en la instancia del
RALBP-1 equivalente, es decir, se fija el tiempo de ciclo () y se buscan soluciones con estaciones
como mximo. Si no se halla ninguna solucin factible, se incrementa y se vuelve a iniciar la cons-
truccin. Este proceso se repite hasta que la hormiga ha generado una solucin factible ([ ]).

La construccin se realiza utilizando un esquema orientado a las estaciones: se abre la primera es-
tacin ( = 1) y se asignan sucesivamente el mximo nmero de tareas hasta que la estacin no ad-
mite ms carga, entonces se abre la siguiente estacin ( + 1). Este proceso de apertura y carga de
estaciones se repite hasta que se han asignado todas las tareas. Se ha optado por este tipo de es-
quema porque se han obtenido mejores resultados en procedimientos constructivos para el SALBP-1
(ver Apartado 5.3.6). A pesar que aqu se resuelve un equilibrado del tipo 2, cabe destacar que el
66 Daniel Aparicio Guirao

procedimiento consiste en transformar la instancia del RALBP-2 en su equivalente para el RALBP-1.

Otra caracterstica del proceso de generacin de soluciones es que la mitad de la colonia de hor-
migas genera soluciones teniendo en cuenta el grafo de precedencias en sentido directo y la otra
mitad, en sentido inverso. De esta forma se consigue una mayor exploracin del espacio de solucio-
nes.

El procedimiento de generacin de soluciones de la colonia de hormigas completa se muestra en


el Algoritmo 7.3.

1 procedure ConstruirSoluciones {
2 + 1
3 for ( 1; ; + 1) {
4 {(0,01 ), 1}
5 0
6 do {
7 0
8 1
9 0
10 AbrirEstacion()
11 while (( < ) and ( = 1)) {
12 if (TareasCandidatas) {
13 EscogerTarea
14 + 1
15 }
16 else {
17 AbrirEstacion()
18 }
19 }
20 if ( < ) {
21 = 0
22 2 {(0,01 ), 1}
23 }
24 if ( = 0) {
25 + {(0,01 ), 1}
26 }
27 } while ( = 0)
28 BusquedaLocal([ ])
29 ComprobarMejor
30 }
31 }
Algoritmo 7.3. Pseudo-cdigo para la generacin de soluciones.

Cada vez que una hormiga de la colonia empieza a construir su solucin el tiempo de ciclo se fija

segn la Frmula 7.6 (ver Algoritmo 7.3, lnea 4). Inicialmente a se le da valor (ver
Frmula 7.5).

= (0,01 ), 1 (7.6)
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 67

A corto plazo, este enfoque tiende a ralentizar la velocidad de mejora de la solucin en las fases
iniciales porque se parte con una bsqueda prxima a la cota inferior unido a que los decrementos
respecto a la mejor solucin son pequeos. A largo plazo permite exploraciones ms realistas, ya que
el margen de mejora de la solucin es menor y se necesitan disminuciones de ms ajustadas.

La construccin de la solucin se inicia abriendo la primera estacin (AbrirEstacion, ver Apar-


tado 7.2.1). Mientras haya tareas por asignar y la solucin parcial sea factible (ver Algoritmo 7.3,
lnea 11), se efecta el proceso de adiccin de componentes a la solucin. Se comprueban las tareas
que se pueden asignar a la solucin (TareasCandidatas, ver Apartado 7.2.2); si no hay ninguna, se
abre la siguiente estacin (AbrirEstacion) para poder continuar asignando tareas. La eleccin de
la tarea a asignar se realiza en base a los rastros de feromonas tarea-estacin y tarea-robot y la in-
formacin heurstica; una vez escogido el siguiente componente, ste se aade a la solucin, actuali-
zando la solucin parcial (EscogerTarea, ver Apartado 7.2.3).

Una de las caractersticas de una solucin ptima es que no haya ninguna estacin vaca, ya que
siempre se podra usar una estacin vaca para descargar la estacin crtica (ver Definicin 7.1) y as
disminuir el tiempo de ciclo. Como consecuencia el tiempo de ciclo usado se puede disminuir porque
no es ptimo. Por tanto, al finalizar la solucin se comprueba que el nmero de estaciones de la so-
lucin no sea inferior al nmero de estaciones de la instancia (ver Algoritmo 7.3, lneas 20-23), en
caso afirmativo, con la intencin de mejorar la solucin, sta se marca como no factible, a pesar de
serlo, y se disminuye (ver Frmula 7.7).

2 {(0,01 ), 1} (7.7)

El factor 2 usado en la Frmula 7.7 es necesario porque, al marcar la solucin como no factible, el
procedimiento incrementa , como se explica a continuacin. En caso de no usarlo, se volvera a
construir la solucin con el mismo tiempo de ciclo, que, como se ha comentado, no es ptimo.

Si la solucin de la hormiga no es factible llegados a este punto del algoritmo, se aumenta (ver
Frmula 7.8) y se procede a intentar construir una nueva solucin con esta hormiga (Algoritmo 7.3,
lneas 24-26). El incremento es el mximo entre 1 y el 1% de , de forma que cuando es elevado los
incrementos sean ms pronunciados y se pueda acelerar la bsqueda.

+ {(0,01 ), 1} (7.8)

Una vez completada una solucin factible, sta se intenta mejorar aplicando una bsqueda local
68 Daniel Aparicio Guirao

(BusquedaLocal, ver Apartado 7.2.4). Finalmente, se verifica si la solucin construida mejora la


solucin actual del algoritmo o la mejor solucin de la iteracin (ComprobarMejor, ver Apartado
7.2.5), necesarias para la actualizacin del rastro de feromonas.

El procedimiento de generacin de soluciones finaliza cuando las hormigas de la colonia han


construido una solucin factible.

7.2.1. Abrir estaciones

Esta funcin, en primer lugar, comprueba que la estacin que se pretende abrir no excede el
nmero de estaciones fijado por la instancia ( ), ya que de no ser as la solucin parcial
se debe marcar como no factible.

Abrir una estacin significa poner la carga de la estacin a 0 ( = 0) y, en el caso del RALBP-
MMAS, asignar el robot que llevar a cabo las tareas que se le asignen. La eleccin del robot se reali-
za mediante una regla proporcional aleatoria (ver Frmula 7.9). Cada uno de los robots recibe un
peso ( ) para la eleccin, segn la cantidad de feromona depositada en el valor del rastro 0 en
el robot para la estacin actual .


0
si no est asignado
= 0 (7.9)

0 si est asignado

Cabe destacar que en la eleccin del robot no se usa un parmetro de informacin heurstica, co-
mo s se hace en la eleccin de la tarea (ver Apartado 7.2.3). Esta decisin se debe a que no hay in-
formacin suficiente para valorar la relacin entre los robots y las estaciones si no es a travs de las
tareas.

7.2.2. Lista de tareas candidatas

Una tarea pasa a formar parte de la lista de candidatas y, por tanto, podr ser escogida para
asignarse a la solucin parcial , si cumple los tres requisitos siguientes:

1. La tarea no est asignada.


2. Todas las tareas precedentes de la tarea estn asignadas ( = ).
3. El robot , asignado a la estacin actual , puede realizar la tarea ( 0).
4. Hay suficiente tiempo disponible en la estacin actual ( + ).
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 69

7.2.3. Eleccin del siguiente componente de la solucin

La eleccin del siguiente componente de la solucin parcial se realiza con una regla proporcional
aleatoria (ver Frmula 7.10) similar a la presentada en la descripcin general de los algoritmos ACO
(ver Frmula 4.2).

Los pesos de cada una de las tareas candidatas en la eleccin se calculan en funcin de la in-
formacin heurstica entre la tarea y el robot , asignado a la estacin ; y dos rastros de fero-
monas: uno entre la tarea y la estacin (1 ) y otro entre la tarea y el robot k (2 ).


1 (2 ) ( )

si es una tarea candidata

= 1 (2 ) ( ) (7.10)

0 si no es una tarea candidata

Cuando se ha seleccionado la tarea a asignar se actualiza el estado de la solucin: se aade la ta-


rea a la solucin parcial y la duracin de la tarea se suma a la carga de la estacin .

7.2.4. Bsqueda local

En el RALBP-MMAS, una vez construida una solucin factible [ ] se realiza una bsqueda local.
La mejora se pretende conseguir por un lado desde la asignacin de robots a las estaciones, buscan-
do la mejor asignacin de robots posible dada la asignacin de tareas; y, por otro, sobre la asignacin
de tareas a las estaciones, moviendo tareas de estacin y haciendo intercambio entre dos tareas de
diferentes estaciones.

En la bsqueda local, para cada tarea se establece la estacin ms temprana ( ()) y la esta-
cin ms tarda ( ()) a la que se puede asignar. Este clculo rebaja el nmero de movimientos
disponibles, ya que permite descartar a priori movimientos que violen las restricciones de preceden-
cia. El valor de () y () se obtiene con la Frmula 7.11 y la Frmula 7.12, respectivamen-
te, donde () es la estacin a la que se ha asignado la tarea .

() = {()} (7.11)

() = {()} (7.12)

Tras este preproceso, se inicia la bsqueda propiamente dicha. En primer lugar se intenta el inter-
cambio de robots de forma que la asignacin de stos a las estaciones sea ptima, fijada la asigna-
cin de tareas a las estaciones en la solucin. Lo que equivale a resolver el problema de asignacin
70 Daniel Aparicio Guirao

con funcin objetivo de cuello de botella[5]. El algoritmo determinar la asignacin de robots a cada
estacin teniendo en cuenta la agrupacin de tareas de partida. Para construir la matriz de costes de
afectacin, se calcula el tiempo que tardara cada robot si se asignara a dicha estacin.

Los movimientos sobre la asignacin de tareas se llevan a cabo sobre las tareas de la estacin
crtica (ver Definicin 7.1) y se producen en dos fases consecutivas: cambio de estacin de una tarea
e intercambio de estacin entre dos tareas.

Sea una tarea de la estacin crtica y sea otra estacin, que tiene asignado el robot . En-
tonces la tarea se puede cambiar a la estacin si:

1. no es la estacin crtica ( ).
2. pertenece al intervalo de estaciones posibles de la tarea ( [ (), ()]).
3. se puede realizar en el robot ( 0).
4. El cambio de estacin no empeora el tiempo de ciclo actual ( + < ).

Sea una tarea asignada a la estacin crtica , a la que se asigna el robot ; y sea otra tarea,
que pertenece a la estacin , a la que se asigna el robot . Entonces el intercambio de estacin
entre las tareas y se produce cuando se cumplen las siguientes condiciones:

1. Las tareas y no estn asignadas a la misma estacin ( ).


2. pertenece al intervalo de estaciones posibles de la tarea ( [ ( ), ( )])
y pertenece al intervalo de estaciones posibles de la tarea ( [ ( ), ( )])).
3. Las tareas y no son precedentes entre s ( = 0 y = 0).
4. La tarea se puede realizar en el robot ( 0) y la tarea se puede realizar en el ro-
bot ( 0).
5. El intercambio de tareas mejora el tiempo de ciclo actual ( + < y
+ < ).

Cada vez que se produce un movimiento en la asignacin de tareas, ya sea por un cambio de esta-
cin de una tarea o por el intercambio de dos tareas, se actualiza el intervalo de estaciones
[ (), ()] de todas las tareas y se reinicializa el cambio de estacin o el intercambio de
tareas, respectivamente. Por tanto, la fase finaliza cuando no hay ningn movimiento posible para
ninguna de las tareas de la estacin crtica.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 71

7.2.5. Comprobacin de mejora de la solucin

Para finalizar la fase constructiva del RALBP-MMAS, se verifica si se mejora la mejor solucin co-
nocida y, en caso negativo, tambin la mejor solucin de la iteracin. Si se mejora la solucin actual
se reinicia el contador de iteraciones sin mejora de la solucin (), necesario para la actualizacin
de feromonas (ver Apartado 7.3) y como criterio de finalizacin (ver Apartado 7.4).

7.3. Actualizacin de feromonas

En esta fase del proceso se agrupan aquellas acciones necesarias para la actualizacin del rastro
de feromonas (ver Algoritmo 7.13), la cual se lleva a cabo siguiendo las caractersticas de las versio-
nes MMAS (ver Apartado 4.4.3). En la versin ACO-1 se usan tres rastros de feromonas diferentes:
estacin-robot ([0]), tarea-estacin ([1]) y tarea-robot ([2]).

La primera operacin que se ejecuta es la actualizacin de los valores mximo y mnimo de los
elementos de las matrices de feromonas (ver Apartado 7.3.1). Cada cierto nmero de iteraciones sin
mejora de la solucin se reinicializan estas matrices (ver Apartado 7.3.2). En el resto, se produce la
atenuacin del rastro (ver Apartado 7.3.3); el posterior depsito de feromonas, que alterna entre la
mejor solucin global (ver Apartado 7.3.4) y la mejor solucin de la iteracin _
(ver Apartado 7.3.5); y, finalmente, se comprueba que todos los elementos de cada una de las matri-
ces estn dentro de los lmites del rastro (ver Apartado 7.3.6).

7.3.1. Clculo de los valores lmite

Aqu simplemente se recalcula el valor de los parmetros (ver Frmula 7.3) y (ver
Frmula 7.4), utilizando el tiempo de ciclo de la mejor solucin conocida ( ).

7.3.2. Reinicializacin de los rastros de feromonas

La reinicializacin de los tres rastros de feromonas utilizados se lleva a cabo tras 50 iteraciones sin
mejora, que se considera una cifra de iteraciones sin mejora suficiente como para intentar desplazar
la bsqueda a otro lugar del espacio de soluciones. Todos los elementos de las matrices de feromo-
nas utilizadas toman valor (ver Frmulas 7.13, 7.14 y 7.15).

0 (, ) (7.13)

1 (, ) (7.14)
72 Daniel Aparicio Guirao

2 (, ) (7.15)

7.3.3. Evaporacin del rastro de feromonas

La evaporacin consiste en disminuir el valor de los elementos de los rastros de feromonas en un


factor (1 ) para atenuar su valor y permite una bsqueda ms amplia. Las Frmulas 7.16, 7.17 y
7.18 son las utilizadas para este proceso.

0 (1 ) 0 (, ) (7.16)

1 (1 ) 1 (, ) (7.17)

2 (1 ) 2 (, ) (7.18)

7.3.4. Depsito por la mejor solucin global

En esta fase se aumenta el valor de los elementos de los rastros de feromonas que pertenecen a
la mejor solucin obtenida hasta el momento ( ). La magnitud del incremento se hace en
funcin de la calidad de la solucin, aumentando conforme mejor es la solucin (ver Frmulas 7.19,
7.20 y 7.21).


0 0 + (, ) (7.19)


1 1 + (, ) (7.20)


2 2 + (, ) (7.21)

El factor se utiliza porque es un factor que crece conforme se mejora el valor de la me-

jor solucin ( ); se utiliza para poder ponderar la calidad de la solucin.

7.3.5. Depsito por la mejor solucin de la iteracin

Tal y como se propone en la variante MMAS, la mejor solucin de la iteracin ( _ ) se


combina con la mejor solucin global para depositar feromonas. En este caso, se opta porque deposi-
te feromonas _ cada 5 iteraciones. Esta cifra se ha decidido para que el depsito de
tenga un mayor peso en los rastros y as favorecer la resolucin de grandes instancias (ver
Apartado 4.4.3). Se procede de la manera anloga que en la funcin anterior, slo que en este caso
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 73

se utiliza _ (ver Frmulas 7.22, 7.23 y 7.24).


0 0 + (, ) _ (7.22)
_


1 1 + (, ) _ (7.23)
_


2 2 + (, ) _ (7.24)
_

7.3.6. Comprobacin de lmites de los rastros de feromonas

Para finalizar con la actualizacin del rastro de feromonas, se comprueba que todos y cada uno de
los valores de los tres rastros de feromonas ([0], [1] y [2]) no estn fuera del intervalo permitido
[ , ].

7.4. Criterios de finalizacin

El algoritmo RALBP-MMAS finaliza cuando se cumple alguna de las tres condiciones siguientes:

1. La mejor solucin hasta el momento ( ) es la solucin ptima.


2. Se excede el tiempo de computacin mximo establecido.
3. Se supera el nmero mximo permitido de iteraciones sin mejora de la solucin .

7.5. Rastro de feromonas tarea-estacin-robot

Como alternativa al doble rastro de feromonas tarea-estacin ([1]) y tarea-robot ([2]), se pro-
pone un rastro compuesto tarea-estacin-robot ([3]). De esta manera, se puede comprobar el ren-
dimiento del algoritmo con dos rastros diferentes. El rastro tarea-estacin-robot se aplica en las ver-
siones 3 y 4 del RALBP-MMAS (ver Tabla 7.1).

Los cambios que se han de aplicar sobre el RALBP-MMAS son escasos. En la fase de inicializacin,
obviamente, se define el rastro [3] en vez de los rastros [1] y [2]. Este rastro implica un nico
cambio en la fase constructiva, en concreto, en el clculo de la probabilidad de eleccin de cada una
de las tareas candidatas, donde slo se tiene en cuenta el rastro [3] ponderado por el parmetro
(ver Frmula 7.25).
74 Daniel Aparicio Guirao


3 ( )

si es una tarea candidata

= 3 ( ) (7.25)

0 si no es una tarea candidata

El resto de modificaciones se acumulan en la fase de actualizacin de las feromonas, donde se


eliminan las frmulas utilizadas relacionadas con los rastros [1] y [2], aunque manteniendo las del
rastro [0] (ver Apartado 7.3). Por tanto, la reinicializacin del rastro se realiza con las Frmulas 7.13
y 7.26; la evaporacin con las Frmulas 7.16 y 7.27; el depsito de la mejor solucin global con las
Formulas 7.19 y 7.28; y, por ltimo, el depsito de la mejor solucin de la iteracin con las Frmulas
7.22 y 7.29.

3 (, , ) (7.26)

3 (1 ) 3 (, , ) (7.27)


3 3 + (, , ) (7.28)


3 3 + (, , ) _ (7.29)
_

7.6. Bsqueda local en la mejor solucin de la iteracin

Como realizar una bsqueda local en todas las soluciones generadas puede resultar demasiado
costoso en trminos de tiempo de computacin, se presenta una alternativa en la que slo se busca
la mejora de la solucin en la mejor solucin de la iteracin. Con esta alternativa se pretende reducir
la duracin de las iteraciones y, por tanto, incrementar el nmero de soluciones construidas. Esta
alternativa es la que caracteriza las versiones 2 y 4 del RALBP-MMAS (ver Tabla 7.1).

Los cambios que se introducen en esta versin nicamente afectan a la fase constructiva del algo-
ritmo (ver Algoritmo 7.4). En primer lugar, la bsqueda local (ver Algoritmo 7.4, lnea 32) se lleva a
cabo cuando la colonia completa ha construido una solucin.

Por otro lado, como slo es necesaria la mejor hormiga de la iteracin para la bsqueda local, no
es necesario construir soluciones que no mejoren la mejor de la iteracin ( _ ). Es decir, si no
se cumple la condicin < _ , se salta a la siguiente hormiga de la colonia ya que dicha so-
lucin no aporta ningn valor al procedimiento (ver Algoritmo 7.4, lnea 29). Esto tambin contribuye
a reducir el tiempo de computacin de la colonia de hormigas. Parte de este tiempo ganado por ite-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 75

racin se invierte en la construccin de la solucin, ya que se permite una reinicializacin de la hor-


miga si no se consigue generar una solucin factible en el primer intento.

El ltimo cambio se produce en la comprobacin de la mejor solucin del procedimiento. En estas


versiones se realiza al final del proceso constructivo (ver Algoritmo 7.4, lnea 33), no cada vez que
una hormiga construye una solucin (ver Algoritmo 7.3, lnea 29).

1 procedure ConstruirSoluciones {
2 + 1
3 for 1 (; ; + 1) {
4 {(0,01 ), 1}
5 0
6 do {
7 for ( 1; 2; + 1) {
8 0
9 1
10 0
11 AbrirEstacion()
12 while (( < ) and ( = 1)) {
13 if (TareasCandidatas) {
14 EscogerTarea
15 + 1
16 }
17 else {
18 AbrirEstacion()
19 }
20 }
21 if ( < ) {
22 = 0
23 2 {(0,01 ), 1}
24 }
25 if ( = 0) {
26 + {(0,01 ), 1}
27 }
28 }
29 } while (( = 0) and ( < _ ))
30 [ _ ] [ ]
31 }
32 BusquedaLocal([ _ ])
33 ComprobarMejor
34 }
Algoritmo 7.4. Pseudo-cdigo para la generacin de soluciones con bsqueda local en la mejor solucin de la
iteracin.

Finalmente, cabe destacar que el realizar la bsqueda local nicamente sobre [ _ ] no pro-
duce ninguna incompatibilidad con ninguno de los rastros propuestos, por lo que es posible combi-
narla con cualquiera de ellos. De esta manera, combinando estas dos modificaciones se obtienen las
cuatro versiones diferentes (ver Tabla 7.1).
76 Daniel Aparicio Guirao

7.7. Hibridacin con SA

Todas las versiones del procedimiento constructivo ACO descrito hasta el momento se pueden in-
terpretar como generadores de soluciones para equilibrados de lneas robotizadas. Esta propiedad
permite incorporar la generacin de soluciones de las variantes ACO en otros procedimientos que
requieran la generacin de soluciones, como es el caso de los SA (ver Apartado 3.1). Por tanto, se ha
optado por crear un hbrido entre un algoritmo SA y el RALBP-MMAS para comprobar si aumenta el
rendimiento del procedimiento cuando se integra como parte de otra metaheurstica.

Las dos modificaciones principales del SA que se han de introducir en el procedimiento ACO para
convertirlo en el procedimiento hbrido SA+ACO son el esquema de enfriado y el criterio de acepta-
cin de la solucin como mejor global, que sustituye a la comprobacin de mejora de la solucin.
Cabe aclarar que el procedimiento SA+ACO tambin consta de 4 versiones distintas, anlogas a las
versiones ACO.

7.7.1. Esquema de enfriado

El esquema de enfriado (ver Apartado 3.1.1) tiene la funcin de simular un proceso de enfriado de
un material. Los parmetros necesarios para implementar la simulacin:

- : nmero mximo de iteraciones antes de disminuir la temperatura.


- : nmero mximo de aceptacin de la solucin como mejor a la temperatura actual.
- : factor de reduccin de la temperatura.
- : temperatura actual.

La incorporacin del parmetro permite acelerar el proceso de enfriado cuando es sufi-


cientemente elevado como para permitir a menudo el empeoramiento de las soluciones o cuando se
estn generando muchas mejoras de la solucin.

7.7.2. Aceptacin de la solucin

En las variantes SA+ACO, en vez de usar una comparacin entre la solucin generada y la mejor
solucin global se utiliza el criterio de aceptacin de los templados simulados (ver Apartado 3.1.4) en
lugar de la simple comparacin con la mejor solucin usada en las variantes ACO. Con este procedi-
miento, la solucin actual reemplaza a la mejor solucin si la mejora y, si no, se admite un empeora-
miento de la solucin con cierta probabilidad (, ), funcin del tiempo de ciclo y de la temperatura
actual , parmetro del templado simulado (ver Frmula 7.30).
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 77

1 si <
(, ) = (7.30)
si

Un buen indicador de la calidad de la solucin actual respecto la mejor solucin es , pero

este trmino incrementa la probabilidad conforme se aproxima a . Para corregir esta con-

tradiccin se aade el trmino 1, ya que < 1 y, por tanto, ( ) > ( ) cuando < y las

soluciones y son prximas a . El trmino 1, a su vez, cumple la funcin de disminuir


la probabilidad conforme se avanza en el esquema de enfriado.

7.8. Implementacin

Para la implementacin completa del RALBP-MMAS se han escrito alrededor de 12.500 lneas de
cdigo, teniendo en cuenta las ocho versiones del algoritmo. Para la programacin se ha usado el
software Bloodshed Dev-C++ v4.01. La compilacin se ha realizado con el compilador Mingw v2.95.2,
que est incluido en el Dev-C++.

En este apartado se describen las estructuras ms importantes para el funcionamiento del algo-
ritmo y aquellos puntos donde la implementacin contiene alguna particularidad.

7.8.1. Estructura general (ACO y SA+ACO)

Si se compara la estructura general del RALBP-MMAS (ver Algoritmo 7.1) con la estructura del AS
(ver Algoritmo 4.1), se puede apreciar una diferencia: en el RALBP-MMAS el bucle principal est pro-
gramado con una estructura dowhile. La finalidad de este cambio es evitar la construccin de una
solucin inicial. El motivo por el que se evita generar una solucin inicial es porque no es trivial gene-
rar una solucin de calidad, en cambio es una condicin necesaria para que el algoritmo sea eficiente
desde el inicio (ver Frmula 7.6). Es decir, es preferible iniciar la bsqueda de desde que no
desde una solucin inicial pobre como la que se podra construir con una heurstica glotona.

Para las variantes SA+ACO, la estructura general del algoritmo difiere de las variantes ACO con los
cambios necesarios para el templado simulado (ver Algoritmo 7.5). La estructura del algoritmo es una
adaptacin del algoritmo SA publicado en Numerical Recipes in C[20]. En este caso la estructura prin-
cipal del RALBP-MMAS estaba formada por dos bucles for: uno externo que limita el nmero de
enfriamientos del esquema de enfriado (ver Algoritmo 7.5, lneas 3-12) y el segundo, ms interno,
que controla el nmero de iteraciones del procedimiento a la temperatura fijada (ver Algoritmo 7.5,
lneas 5-9). Ambos incluyen una condicin de salida del bucle, en el primer caso se finaliza el algorit-
78 Daniel Aparicio Guirao

mo si no se ha producido ninguna aceptacin de solucin como a cierta temperatura (ver


Algoritmo 7.5, lnea 11); en el segundo bucle la condicin es que se haya alcanzado cierto nmero de
aceptaciones de la solucin (ver Algoritmo 7.5, lneas 8).

1 procedure SA+ACO {
2 InicializarDatos
3 for ( 1; _; + 1) {
4 0
5 for ( 1;( )and(not CriterioFin); + 1) {
6 ConstruirSoluciones
7 ActualizarFeromonas
8 if ( ) break
9 }
10
11 if ( = 0) break
12 }
13 }
Algoritmo 7.5. Pseudo-cdigo del algoritmo RALBP-MMAS en las variantes SA+ACO.

7.8.2. Inicializacin (InicializarDatos)

Los valores de los parmetros que definen la instancia (ver Apartado 7.1.1) se leen de un archivo
de texto previamente generado (ver Apartado 8.1). En primer lugar toman valor y , las cuales se
utilizan para dimensionar las estructuras de los parmetros y variables.

Los siguientes valores contenidos en la instancia son los que conforman la matriz [], de di-
mensiones . Cuando una tarea no se puede realizar en un determinado robot ( = 0), el valor
de dicha duracin se fija en un valor suficientemente alto (_ = 10 ), as no se puede esco-
ger cuando se lleva a cabo la eleccin de la siguiente tarea.

A continuacin, se introducen las parejas (, ) que representan las relaciones de precedencia de


la instancia. Esta informacin como tal no se almacena en ninguna estructura de memoria, sino que
se utiliza para generar la matriz [ ], dimensin , y los vectores y , ambos de dimensin .
La pareja (1, 1) marca el final del archivo con los datos de la instancia y, por tanto, ya se puede
cerrar el archivo.


A continuacin se realiza el clculo de (ver Frmula 6.14), de (ver Frmula 7.5) y de los
valores de la matriz [] (ver Frmulas 7.1 y 7.2).

La inicializacin de los parmetros de la colonia de hormigas (ver Apartado 7.1.2) , , , , ,


, y se lleva a cabo desde la lnea de comandos del programa. Entonces se calcula (ver
Frmula 7.3) y se inicializan las matrices necesarias que se utilizan para representar los rastros de
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 79

feromonas. La matriz [0] (dimensin ) aparece en todas las variantes; [1] y [2] (dimensin
), en las versiones 1 y 2; y [3] (dimensin ), en las versiones 3 y 4.

La codificacin de las todas soluciones se realiza mediante dos vectores. El primero, de dimensin
+ 1, almacena en la -sima posicin la estacin a la que se asigna la tarea y en la posicin
( + 1)-sima el valor de de la solucin. El segundo, de dimensin , almacena en la posicin -
sima el robot que se asigna a la estacin . Esta representacin de la solucin permite usar el
mnimo espacio de memoria.

Por tanto, cada solucin [ ] est formada por dos vectores como los descritos. Para homogenei-
zar la colonia de hormigas completa se usa una estructura con dos matrices, en una matriz de dimen-
sin ( + 1) se almacenan las asignaciones tarea-estacin de las hormigas y en una matriz
, todas las asignaciones estacin-robot.

En la inicializacin de las variables (ver Apartado 7.1.3) se crean las estructuras para y
_ y se pone a 0 el contador de iteraciones sin mejora de la solucin ( = 0). Para re-
presentar y _ tambin se hace uso de dos vectores, anlogamente a [ ], donde
en la posicin ( + 1)-sima del primer vector guarda el valor de y _ , respectiva-
mente. Adems, para estas dos soluciones se incluye un tercer vector, de dimensin + 1, donde la
posicin -sima almacena el tiempo de estacin y en la posicin ( + 1)-sima se indica la posi-
cin que representa la estacin crtica, para tener acceso inmediato a ella en la bsqueda local.

Finalmente, slo para las versiones SA+ACO, se inicializan los parmetros , , y del
esquema de enfriado (ver Apartado 7.7.1)

7.8.3. Generacin de soluciones (ConstruirSoluciones)

La implementacin de la generacin de soluciones se corresponde con el Algoritmo 7.3, en las


versiones 1 y 3, y con el Algoritmo 7.4, en las versiones 2 y 4. Existen tres diferencias del segundo
respecto al primero: las funciones BusquedaLocal y ComprobarMejor se ejecutan una vez ha
finalizado el bucle de la generacin de soluciones de la colonia (ver Algoritmo 7.4, lneas 32-33); se
incluye un bucle que permite un segundo intento si el primer intento de solucin con no ha tenido
xito (ver Algoritmo 7.4, lnea 7); y se descarta construir una solucin cuando _ (ver
Algoritmo 7.4, lnea 29).

El sentido del grafo de precedencias tenido en cuenta para la construccin de la solucin se deci-
80 Daniel Aparicio Guirao

de en funcin (nmero de hormiga): cuando es par las soluciones se construyen en sentido direc-
to y, si es impar, en sentido inverso. Esto no se muestra en el Algoritmo 7.3 ni en el Algoritmo 7.4
porque no afecta a la estructura de generacin de las soluciones.

Para la construccin de soluciones se usan 3 estructuras auxiliares que se han de reiniciar cada
vez que se inicia un intento de solucin:

- _: vector de dimensin + 1 que almacena, en la posicin -sima, el tiempo de es-


tacin y en la posicin ( + 1)-sima, el nmero de la estacin crtica. Este vector es necesa-
rio para actualizar los tiempos de estacin de las soluciones y _ .
- _: vector de dimensin que guarda nmero de sucesoras ( ) o precedentes
( ) sin asignar de la tarea en la posicin -sima, dependiendo de si el sentido del grafo es di-
recto o inverso, respectivamente. El uso de este vector es necesario para comprobar rpidamen-
te si la tarea se puede asignar segn sus relaciones de precedencia.
- : vector de dimensin que indica si el robot ha sido asignado o no, con un valor
1 0, respectivamente, en la posicin -sima.

En cada inicio de iteracin se incrementa el contador (ver Algoritmo 7.3, lnea 2). Entonces
empieza la construccin de la solucin por parte de la hormiga . En primer lugar, se fija el valor de
(ver Frmula 7.6) para el cual se debe realizar el equilibrado (ver Algoritmo 7.3, lnea 4). Tras esto
comienza la adicin componentes a , donde el primer paso es reiniciar el contador (ver
Algoritmo 7.3, lnea 4), poner el ndice de estacin a 0 (ver Algoritmo 7.3, lnea 4), reiniciar los vec-
tores _ y , y abrir la primera estacin (AbrirEstacion).

La apertura de una estacin (ver Algoritmo 7.6) comprueba que la estacin actual no es la ltima
y, por tanto, que la solucin sigue siendo factible; si no es as, marca la solucin como no factible
para empezar a construir una nueva solucin. Tras esto, si es necesario, se actualiza la estacin crtica
que definir el tiempo de ciclo de la solucin (ver Algoritmo 7.6, lneas 3-5). Posteriormente, se in-
crementa en uno el nmero de estacin actual , se reinicia el valor de tiempo de estacin y se asigna
un robot a la estacin (EscogerRobot).

La funcin EscogerRobot asigna un robot a la estacin que se est abriendo. Para ello se crea un
vector de dimensin que guarda el valor de (ver Frmula 7.9) en la posicin -sima, en fun-

cin de . Se genera un nmero aleatorio 0, 0 y el robot escogido es

el primer robot tal que . Una vez escogido el robot ste se marca como no disponible en
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 81

el vector .

1 procedure AbrirEstacion {
2 if ( < ) {
3 if ( > ) {
4
5 }
6 +1
7 0
8 EscogerRobot
9 }
10 else {
11 0
12 }
13 }
Algoritmo 7.6. Pseudo-cdigo para la apertura de la siguiente estacin.

Una vez abierta la estacin se comienzan a asignar las tareas, escogidas de la lista de tareas can-
didatas. La funcin TareasCandidatas se encarga de enumerar las tareas que se pueden asignar,
para ello hace uso de un vector de dimensin , donde la posicin -sima indica si la tarea es can-
didata o no, indicado con 1 0, respectivamente. Para generar el vector se comprueban las condi-
ciones 1,2 y 4 expuestas en el Apartado 7.2.2. La condicin 3 no se implementa porque est implcita
en la condicin 4 al usar = _ para aquellas que no se pueden realizar en el robot.

La funcin EscogerTarea se encarga de la eleccin del siguiente componente que hay que aa-
dir a la solucin parcial (ver Algoritmo 7.7). Esta funcin es anloga a EscogerRobot slo que tiene
en cuenta las tareas candidatas y los pesos (ver Frmula 7.10, para las versiones 1 y 2; y ver
Frmula 7.25, para las versiones 3 y 4), en vez de los robots disponibles y los pesos . Tras la asig-
nacin de la tarea escogida, se actualizan los vectores _ (ver Algoritmo 7.7, lnea 4) y
_ (ver Algoritmo 7.7, lnea 5).

1 procedure EscogerTarea {
2 Aleatorio
3
4 +
5 ActualizarPrecedentes
6 }
Algoritmo 7.7. Pseudo-cdigo para la asignacin de la siguiente tarea.

El proceso de construccin contina hasta que se ha obtenido una solucin factible formada por
estaciones para [ ] o hasta que se demuestra que no es factible y entonces se debe aumen-
tar , segn la Frmula 7.8. Cuando la solucin es factible, en el caso de las versiones 1 y 3, se con-
tina el procedimiento con la bsqueda local y la comprobacin de si la solucin mejora y/o
82 Daniel Aparicio Guirao

_ ; para las versiones 2 y 4, aqu se produce un salto a la siguiente hormiga y la bsqueda


local y la comprobacin se dejan para el final de la iteracin.

La bsqueda local (ver Apartado 7.2.4) se implementa tal y como se muestra en el Algoritmo 7.8.
En primer lugar, la funcin IntervaloEstaciones genera dos vectores que representan el interva-
lo de estaciones posibles de cada tarea y as poder acceder a esta informacin rpidamente:

- _: vector de dimensin que contiene () (ver Frmula 7.11) en la posicin -sima.


- _: vector de dimensin que contiene () (ver Frmula 7.12) en la posicin -sima.

La funcin IntercambiarRobots es una adaptacin del algoritmo para el problema de asigna-


cin con funcin objetivo cuello de botella publicado por Jonker y Volgenant (1987), el cual se puede
encontrar en la siguiente direccin: http://www.assignmentproblems.com/LAPJVBOT.htm.

1 procedure BusquedaLocal {
2 IntervaloEstaciones
3 IntercambiarRobots
4 CambiarEstacion
5 IntercambiarTareas
6 }
Algoritmo 7.8. Pseudo-cdigo para la bsqueda local.

La funcin CambiarEstacion implementa los movimientos de tareas de la estacin crtica, que


consiste en comprobar las condiciones expuestas en el Apartado 7.2.4 para el movimiento de tareas.
Para cada tarea de la estacin crtica se comprueban los movimientos en el intervalo de estaciones
[ (), ()]. En el caso que se produzca un movimiento, se actualiza la estacin crtica si es
necesario, se llama a la funcin IntervaloEstaciones para actualizar _ y _ y se reini-
cia la funcin. Esta funcin finaliza cuando se ha comprobado que no se pueden efectuar ms movi-
mientos de tareas de la estacin crtica. De manera anloga funciona IntercambiarTareas, pero
en lugar de tener en cuenta los movimientos de estacin se consideran los intercambios de tareas
(ver Apartado 7.2.4).

Para finalizar la construccin de soluciones ya slo falta comprobar si la solucin construida mejo-
ra la mejor solucin global . En las versiones ACO-1 y ACO-3, la comprobacin se realiza des-
pus de la mejora local de [ ], por tanto, puede ser necesario actualizar y/o _
tal y como muestra el Algoritmo 7.9. Cuando se produce una mejora de el contador se
reinicia.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 83

1 procedure ComprobarMejor {
2 if ( < ) {
3 [ _ ] [ ]
4 [ ] [ ]
5 0
6 }
7 else if ( < _ ) {
8 [ _ ] [ ]
9 }
10 }
Algoritmo 7.9. Pseudo-cdigo para la comprobacin de mejora de la solucin en las versiones ACO-1 y ACO-3.

En las versiones ACO-2 y ACO-4, nicamente se comprueba si _ mejora la solucin


(ver Algoritmo 7.10). De nuevo, cuando se produce una mejora de el contador
se reinicia.

1 procedure ComprobarMejor {
2 if ( _ < ) {
3 [ ] [ _ ]
4 0
5 }
6 }
Algoritmo 7.10. Pseudo-cdigo para la comprobacin de mejora de la solucin en las versiones ACO-2 y ACO-4.

En el caso de las variantes SA+ACO, la comprobacin de la mejor solucin (ComprobarMejor) se


sustituye por la aceptacin de la solucin como mejor (AceptarSolucion) (ver Apartado 7.7.2). En
las versiones SA+ACO-1 y SA+ACO-3, AceptarSolucion actualiza, si es necesario, la mejor solucin
de la iteracin y luego realiza el proceso de aceptacin (ver Algoritmo 7.10). La aceptacin se produ-
ce segn la Frmula 7.30 (ver Algoritmo 7.10, lnea 5), es decir, cuando < o cuando (, )
es mayor que [0,1], nmero real generado aleatoriamente.

1 procedure AceptarSolucion {
2 if ( < _ ) {
3 [ _ ] [ ]
4 }
5 if (( < ) or ( < (, ))) {
6 [ ] [ ]
7 + 1
8 + 1
9 }
10 }
Algoritmo 7.11. Pseudo-cdigo para la aceptacin de la solucin como mejor en las versiones SA+ACO-1 y
SA+ACO-3.

Para las versiones SA+ACO-2 y SA+ACO-4, a la funcin AceptarSolucion llega directamente


_ . En este caso, el criterio de aceptacin se evala con _ y se actualiza
84 Daniel Aparicio Guirao

con _ cuando la aceptacin es positiva (ver Algoritmo 7.12).

1 procedure AceptarSolucion {
2 if (( _ < ) or ( < ( _ , ))) {
3 [ ] [ _ ]
4 + 1
5 + 1
6 }
7 }
Algoritmo 7.12. Pseudo-cdigo para la aceptacin de la solucin como mejor en las versiones SA+ACO-2 y
SA+ACO-4.

7.8.4. Actualizacin de feromonas (ActualizarFeromonas)

La estructura de la actualizacin de feromonas es idntica para las 8 variantes del RALBP-MMAS


(ver Algoritmo 7.13). La diferencia que existe en esta funcin entre las versiones distintas son los
rastros que se usan: en las versiones 1 y 2, los rastros implicados son [0], [1] y [2] (ver Apartado
7.3); en las versiones 3 y 4, [0] y [3] (ver Apartado 7.5).

1 procedure ActualizarFeromonas {
2 CalcularLimites
3 if ( % 50 = 0) {
4 ReinicializarRastro
5 }
6 else {
7 EvaporarFeromonas
8 if ( % 5 = 0) {
9 DepositarMejorIter
10 }
11 else {
12 DepositarMejor
13 }
14 ComprobarLimites
15 }
16 }
Algoritmo 7.13. Pseudo-cdigo para la actualizacin del rastro de feromonas.

La funcin CalcularLimites actualiza los valores de (ver Frmula 7.3) y (ver Frmu-
la 7.4).

Cada 50 iteraciones sin mejora de se ejecuta la funcin ReinicializarRastro, que


reinicializa todos los rastros de feromonas. Esta funcin recorre completamente las matrices de ras-
tro utilizadas segn la versin, ya sea [0], [1], [2] o [3], y fija el valor de todos sus componentes
segn las Frmulas 7.13, 7.14, 7.15 y 7.26, respectivamente.

El resto de iteraciones se produce la evaporacin (EvaporarFeromonas) y el depsito de fero-


monas. La evaporacin consiste en recorrer las matrices [0], [1], [2] y [3], segn la versin del
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 85

algoritmo, y aplicar las Frmulas 7.16, 7.17, 7.18 y 7.27, respectivamente.

El depsito de feromonas intercala el uso de (DepositarMejor) con el de _


(DepositarMejorIter). En DepositarMejor se recorre la solucin y se realiza el de-
psito en aquellos elementos de [0], [1], [2] y [3] que pertenecen a dicha solucin, actualizando
su valor segn las Frmulas 7.19, 7.20, 7.21 y 7.28, respectivamente. En DepositarMejorIter se
procede de la misma manera pero usando los elementos de _ y segn las Frmulas 7.22,
7.23, 7.24 y 7.29.

Finalmente, la funcin ComprobarLimites vuelve a recorrer las matrices [0], [1], [2] y [3],
segn la versin del algoritmo, y comprueba que todos los valores de dichas matrices se encuentran
dentro del intervalo [ , ].

7.8.5. Criterios de finalizacin (CriterioFin)

La programacin de la finalizacin del algoritmo (CriterioFin) se hace segn los criterios im-
puestos en el Apartado 7.4. En las versiones ACO el algoritmo finaliza cuando se cumple alguna de las
tres condiciones siguientes:

- =
- = _, donde _ se fija en 300 iteraciones, cifra que marca estancamiento
de .
- _, siendo los segundos de computacin y = 600.

En las variantes SA+ACO, la segunda condicin no se incluye en la funcin CriterioFin porque


ya est incluida en el bucle externo de la estructura general (ver Algoritmo 7.5).
86 Daniel Aparicio Guirao

8. EXPERIENCIA COMPUTACIONAL

El primer paso para la obtencin de resultados es la generacin de instancias, ya que no existe un


benchmark de instancias para el RALBP-2. Una vez generadas las instancias, se utilizarn para probar
las ocho variantes del algoritmo RALBP-MMAS propuestas. Comparando los resultados, se escoger
la mejor de ellas para la experiencia computacional final. Tras ello, se realizar el ajuste de los par-
metros de la variante seleccionada y, finalmente, se compararn los resultados obtenidos con el
software comercial IBM ILOG CPLEX Optimization Studio.

8.1. Instancias de pruebas

La experiencia computacional requiere contar con instancias sobre las que probar el algoritmo.
Desafortunadamente, no hay un conjunto de instancias establecido para el RALBP-2. Por este motivo,
se crea un juego completo partiendo del conjunto establecido para el SALBP-2[13], que consta de
302 instancias con grafos de precedencias que contienen desde 30 hasta 297 tareas.

Para poder usar estas instancias en el RALBP-MMAS se deben dotar de duraciones de tareas de-
pendientes de los robots utilizados. En este caso, los tiempos de tarea para los robots se asignan
aleatoriamente mediante una distribucin uniforme permitiendo una desviacin porcentual mxima
respecto a la duracin establecida para el SALBP-2. Adems se conserva el grafo de precedencias.

Con la intencin de contar con un juego de instancias suficientemente variado se utilizan desvia-
ciones mximas del 5%, 10%, 25% y 50%. Este proceso de generacin se realiza por duplicado para
consolidar el comportamiento de cada una de las instancias. As, el nmero de instancias se eleva a
302 4 2 = 2.416.

8.2. Eleccin de la variante

El clculo de las 2.416 instancias, si se deja correr el algoritmo durante 10 minutos y se realiza pa-
ra las ocho variantes del RALBP-MMAS, puede llevar hasta 134 das. Este tiempo de computacin se
considera excesivo para la duracin del proyecto, por lo que se decide escoger la mejor variante para
realizar la experiencia computacional, con lo que la duracin se reduce a unos 17 das.

Para realizar la eleccin se escogen al azar 10 instancias entre aqullas que estn formadas por
ms de 100 tareas. Como no hay estudios de parmetros de los algoritmos ACO para los RALBP y la
eleccin de la variante se realiza previamente al ajuste de parmetros, todava no se tiene informa-
cin sobre el rendimiento del algoritmo en funcin de los diferentes parmetros, por este motivo, se
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 87

define el valor de los diferentes parmetros del algoritmo segn los valores propuestos para el TSP
(ver Tabla 8.1).


30 0,02 1 1 1 1 5 5 100 10 0,9 0,5
Tabla 8.1. Valores de los parmetros utilizados para la eleccin de la variante. Los valores de los parmetros ,
, , , , , y son los expuestos en la Tabla 4.1; para los parmetros , , y los valores se
han extrado de Numerical Recipes 3rd Edition[20].

Cada una de las variantes se deja funcionar durante 10 minutos para cada una de las 10 instancias
escogidas. Los resultados obtenidos hacen que la eleccin se decante por la variante ACO-2, ya que
es la que ha encontrado un mayor nmero de mejores soluciones (ver Figura 8.1). Los resultados
completos se muestran en el Anexo D.

Nmero de mejores soluciones


10

Figura 8.1. Nmero de mejores soluciones encontradas para cada una de las variantes del RALBP-MMAS.

Adems del nmero de mejores soluciones, la eleccin de la variante ACO-2 se ve respaldada por
dos caractersticas ms que se pueden observar en la misma Figura 8.1:

- Todas las variantes ACO muestran mejores resultados que la variante SA+ACO respectiva.
- La variante 2 es superior a las variantes 1, 3 y 4, tanto en las versiones ACO como en las versio-
nes SA+ACO.

8.3. Ajuste de parmetros

Una vez decidida la variante que se utilizar y previamente al lanzamiento de la experiencia com-
putacional final, se realiza el ajuste de los parmetros del algoritmo para intentar incrementar el
rendimiento del algoritmo al mximo.
88 Daniel Aparicio Guirao

De nuevo, para limitar el tiempo de computacin, slo se escogen aquellos parmetros que jue-
gan un papel importante en el funcionamiento de los algoritmos ACO. Los parmetros sobre los que
se realiza el ajuste son el nmero de hormigas (), el factor evaporacin () y los factores de ponde-
racin de las feromonas ( , , ) y de la informacin heurstica (). Los conjuntos de valores es-
cogidos para cada uno de ellos se muestran en la Tabla 8.2.



10 0,01 0,1 0,1 0,1 1
30 0,02 0,5 0,5 0,5 2
- 0,1 1 1 1 5
Tabla 8.2. Conjunto de valores de los parmetros utilizados para el ajuste de parmetros.

Realizando todas las combinaciones posibles aparecen 486 juegos de parmetros diferentes. To-
dos y cada uno de estos juegos se prueban con las mismas 10 instancias usadas para la eleccin de la
variante. Tambin se deja correr el algoritmo durante 10 minutos.

Para poder comparar los resultados de las diferentes instancias entre s es necesario normalizar-

los. Esto se realiza calculando el parmetro [0,1] para cada solucin encontrada, que indica
una mejor solucin cuanto ms prximo a 1 (ver Frmula 8.1).






=1
= 1, ,10; = 1, ,486 (8.1)


Siendo

la solucin algoritmo para la instancia usando el juego de parmetros , la

mejor solucin encontrada para la instancia y la peor solucin encontrada para la instancia
.

El parmetro [0,1] es una medida de la calidad de los resultados del juego de parmetros
independiente de la instancia que se resuelve (ver Frmula 8.2).




= (8.2)
10

Una vez normalizados todos los resultados, se realiza un anlisis pseudo-factorial de los parme-
tros, donde se supone que el uso de los diferentes parmetros implica funcionamientos del algoritmo
independientes entre s. Para cada uno de los posibles valores que puede tomar cada uno de los
parmetros (ver Tabla 8.2) se calcula (ver Frmula 8.3), que indica que se han obtenido
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 89

mejores soluciones usando el valor del parmetro cuanto mayor es su valor.


| (8.3)
= ; = 1,2,3

Siendo el nmero de ocurrencias en todos los conjuntos de parmetros tal que .



0,407 0,415 0,413 0,427 0,421 0,277
0,449 0,413 0,424 0,429 0,428 0,430
- 0,456 0,447 0,428 0,435 0,577
Tabla 8.3. Resultados del anlisis pseudo-factorial. Los nmeros resaltados en rojo indican el mejor valor del
para el parmetro .

La Tabla 8.3 muestra como mejor juego de parmetros el conjunto 477, formado por los valores
de parmetros = 30, = 0,1, = 1, = 0,5, = 1 y = 5. Este conjunto, adems, es el que
obtiene mayor nmero de mejores soluciones, con 2, y una mayor calidad promedio de soluciones
, con un valor de 0,721. Por tanto, ste es el juego de parmetros escogido para la experiencia
computacional definitiva. Los resultados completos del experimento se pueden consultar en el Anexo
E.

8.4. Modelo lineal del RALBP-2

Al no existir un conjunto de instancias sobre el que probar los algoritmos que resuelven el RALBP-
2 se evala el funcionamiento del RALBP-MMAS respecto el software IBM ILOG CPLEX Optimization
Studio, a partir de ahora solamente CPLEX. Esta aplicacin comercial usa procedimientos basados en
programacin lineal entera mixta para resolver los problemas. Ello hace necesario utilizar un modelo
lineal para el RALBP-2 (ver Modelo 6.2).
90 Daniel Aparicio Guirao

9. CONCLUSIONES

El anlisis de los resultados de la experiencia computacional, desde una perspectiva general, pone
de manifiesto una clara superioridad del algoritmo RALBP-MMAS sobre el software comercial CPLEX
(ver Tabla 9.1). El RALBP-MMAS obtiene un mayor nmero de mejores soluciones, en la mayora de
los casos ms rpidamente y da solucin a todas y cada una de las 2.416 instancias.

RALBP-MMAS CPLEX
Instancias resueltas 2.416 (100%) 1.952 (81%)
Nmero de mejores soluciones 2.168 (90%) 408 (17%)
Obtencin ms rpida de la solucin 2.280 (94%) 136 (6%)
Tabla 9.1. Comparacin general de los resultados de la experiencia computacional. El porcentaje entre parnte-
sis indica el nmero de ocurrencias respecto las 2.416 instancias.

A pesar de estos resultados, en 248 instancias la solucin del RALBP-MMAS es peor que la del
software comercial. Adems, en 136 de esas instancias tambin es ms rpido el CPLEX.

Para profundizar ms en el anlisis de los resultados, se llevan a cabo tres comparaciones de re-
sultados entre el algoritmo RALBP-MMAS y el software CPLEX, dependiendo de si se agrupan las ins-
tancias segn su:

- Grafo de precedencias: 17 grafos diferentes (ver Tabla 9.2).


- Nmero de estaciones: desde 3 hasta 52 estaciones (ver Tabla 9.3).
- Desviacin usada para la generacin de las duraciones de tarea en cada robot: 5%, 10%, 25% y
50% (ver Tabla 9.4).

En los tres casos, para cada uno de los posibles valores se realiza una comparacin del tiempo de
ciclo medio obtenido (), el tiempo consumido medio para encontrar la mejor solucin (), el nmero
de mejores soluciones del procedimiento para el grupo de instancias (#), la desviacin media
( ) del tiempo de ciclo obtenido () respecto a la mejor solucin obtenida entre ambos proce-
dimientos ( ) (ver Frmula 9.1) y la desviacin media ( ) del tiempo de ciclo obtenido ()
respecto a la cota inferior calculada por el procedimiento () (ver Frmula 9.2).

El uso de estos grupos conlleva la prdida de la informacin que se puede extraer de los resulta-
dos individualizados para cada una de las instancias, pero es necesario para poder tener una visin
global del funcionamiento del RALBP-MMAS. Los resultados completos se encuentran en el Anexo F.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 91


= 100 (9.1)


= 100 (9.2)

Grafo de RALBP-MMAS CPLEX


precedencias # #
buxey (29) 28,5 0,7 57 0,292% 10,566% 29,4 573,8 23 3,768% 11,679%
sawyer (30) 28,5 0,8 58 0,364% 10,604% 29,3 561,4 32 2,996% 10,984%
lutz1 (32) 1372,8 2,6 40 0,000% 9,268% 1461,4 583,6 6 6,550% 15,612%
gunther (35) 45,3 1,0 70 0,279% 9,204% 48,4 546,6 22 6,962% 13,834%
kilbridge (45) 81,8 1,2 54 0,319% 6,854% 82,5 340,0 53 1,273% 4,423%
hahn (53) 2451,2 1,0 63 0,003% 10,469% 2580,4 343,0 36 7,447% 12,155%
warnecke (58) 127,1 7,2 191 0,089% 12,778% 447,4 536,8 31 52,906% 56,301%
tonge (70) 321,7 11,4 163 0,054% 9,732% 1494,4 530,0 27 56,937% 59,429%
wee-mag (75) 115,0 11,9 194 0,123% 10,254% 490,9 544,6 36 44,767% 47,997%
arcus1 (83) 7824,8 143,2 127 0,621% 12,024% 39512,7 540,1 33 60,953% 63,205%
lutz2 (89) 26,3 3,0 160 0,000% 19,546% 373,5 597,7 0 88,499% 90,809%
lutz3 (89) 161,5 7,8 155 0,050% 14,078% 1007,3 536,7 23 67,200% 69,649%
mukherje (94) 370,8 30,1 168 0,054% 10,177% 2403,5 546,9 26 64,224% 66,206%
arcus2 (111) 13364,3 285,9 165 0,565% 10,802% 100366,2 544,2 35 68,060% 68,905%
barthol2 (148) 97,8 27,8 200 0,000% 12,430% 4189,0 573,4 0 97,665% 96,589%
barthold (148) 700,0 55,2 79 0,271% 8,011% 2103,5 524,7 25 39,078% 41,959%
scholl (297) 1718,8 155,4 224 0,000% 14,347% 69598,3 540,6 0 97,150% -
Tabla 9.2. Resultados agrupados segn el grafo de precedencias de la instancia, entre parntesis el nmero de
tareas que componen el grafo de precedencias.

Nm. RALBP-MMAS CPLEX


estaciones # #
3 8386,2 112,5 25 0,731% 7,724% 8610,9 6,5 75 - 0,002%
4 6249,1 117,1 21 1,064% 9,062% 6080,7 63,2 80 0,000% 0,002%
5 4968,4 130,2 18 1,288% 9,695% 4509,5 321,4 78 0,000% 0,503%
6 3739,1 120,1 46 0,960% 10,431% 3414,8 498,8 58 0,595% 4,171%
7 2704,5 72,7 86 0,327% 10,962% 2677,0 563,6 42 3,977% 10,147%
8 2283,5 57,9 107 0,115% 10,757% 2810,9 597,3 24 13,075% 19,279%
9 1893,6 46,1 116 0,121% 10,687% 2874,3 596,6 14 21,680% 28,925%
10 1703,9 50,9 118 0,053% 10,692% 3648,3 595,8 10 27,913% 34,856%
11 1553,6 54,7 112 0,000% 11,001% 9608,7 576,0 10 37,505% 43,598%
12 1522,1 46,8 104 0,000% 10,908% 7348,8 594,4 6 44,689% 49,968%
13 1417,8 55,3 95 0,047% 10,988% 11553,9 599,4 5 56,931% 57,902%
14 1307,4 40,9 96 0,000% 10,219% 14915,3 594,8 6 60,072% 63,738%
15 1452,2 17,7 80 0,000% 10,812% 19291,2 597,0 0 76,822% 79,020%
16 1653,3 19,7 64 0,000% 12,445% 23143,4 598,7 0 85,232% 86,573%
17 1551,4 19,3 64 0,000% 12,662% 25911,1 598,5 0 84,488% 86,093%
18 1477,0 19,9 64 0,000% 13,143% 26299,4 598,2 0 87,282% 88,710%
92 Daniel Aparicio Guirao

19 1399,5 20,8 64 0,000% 13,312% 25959,0 598,0 0 87,531% 89,026%


20 1328,3 17,3 64 0,000% 13,658% 26554,9 597,7 0 91,214% 92,573%
21 1267,7 16,5 64 0,000% 13,117% 27330,3 597,6 0 88,277% 91,692%
22 1209,6 20,3 64 0,000% 12,530% 26904,0 597,3 0 93,029% 94,010%
23 887,3 15,8 56 0,000% 12,802% 22669,6 597,1 0 93,967% 92,143%
24 986,5 16,7 48 0,000% 12,613% 26000,2 597,0 0 95,075% 93,822%
25 1174,1 40,6 56 0,000% 12,325% 32888,8 591,6 0 93,209% 93,416%
26 1307,8 39,5 48 0,000% 13,970% 37138,1 590,4 0 92,985% 93,240%
27 1260,1 46,3 48 0,000% 15,165% 37601,1 587,8 0 92,187% 91,581%
28 500,9 34,1 40 0,000% 15,664% 15205,8 586,1 0 94,576% 94,263%
29 598,8 54,6 32 0,000% 15,141% 18747,0 582,2 0 92,621% 90,009%
30 753,3 63,2 24 0,000% 13,185% 25196,2 576,3 0 96,956% 97,198%
31 1077,3 78,0 16 0,000% 12,697% 36934,1 564,6 0 97,143% -
32 1044,7 96,9 16 0,000% 12,840% 36678,8 546,8 0 97,208% -
33 1009,1 103,6 16 0,000% 12,952% 37171,9 560,4 0 97,325% -
34 983,2 104,4 16 0,000% 12,943% 36892,4 559,2 0 97,385% -
35 957,8 70,2 16 0,000% 13,267% 37096,6 556,8 0 97,461% -
36 926,8 88,2 16 0,000% 13,110% 36810,8 555,4 0 97,511% -
37 903,5 79,0 16 0,000% 13,601% 37133,8 552,3 0 97,591% -
38 878,7 106,9 16 0,000% 13,472% 36891,2 550,6 0 97,653% -
39 857,5 82,6 16 0,000% 13,571% 36614,1 547,7 0 97,704% -
40 832,4 88,0 16 0,000% 13,277% 36844,0 547,0 0 97,510% -
41 815,1 79,1 16 0,000% 13,840% 4216,3 571,8 0 97,852% -
42 792,9 88,2 16 0,000% 13,605% 4163,3 570,7 0 98,339% -
43 773,2 105,8 16 0,000% 13,831% 4180,4 569,3 0 97,931% -
44 757,2 103,3 16 0,000% 13,979% 4143,4 568,5 0 97,959% -
45 743,5 80,7 16 0,000% 14,103% 4169,4 566,7 0 98,022% -
46 733,1 97,2 16 0,000% 14,310% 4233,5 565,6 0 98,093% -
47 715,4 113,4 16 0,000% 14,359% 4177,5 563,7 0 98,096% -
48 698,3 47,8 16 0,000% 14,465% 4176,4 563,5 0 98,130% -
49 683,3 95,2 16 0,000% 14,534% 4183,1 561,0 0 98,170% -
50 670,3 109,8 16 0,000% 13,602% 4188,6 559,6 0 98,211% -
51 656,9 104,2 16 0,000% 13,736% 4208,9 557,7 0 98,255% -
52 907,1 127,3 16 0,000% 16,660% 4234,0 557,8 0 98,458% -
Tabla 9.3. Resultados agrupados segn el nmero de estaciones de la instancia.

RALBP-MMAS CPLEX
Desviacin # #
5% 2145,1 55,6 547 0,068% 5,017% 15975,3 541,6 108 52,669% 47,167%
10% 2109,3 56,0 540 0,116% 6,625% 16266,0 539,8 103 54,717% 50,052%
25% 1980,5 54,8 536 0,198% 12,251% 15999,6 537,1 97 60,277% 54,976%
50% 1781,9 65,9 545 0,285% 23,354% 15832,2 530,3 100 60,549% 59,644%
Tabla 9.4. Resultados agrupados segn la desviacin porcentual utilizada en la instancia para la generacin de
las duraciones de tarea.

La comparacin de los resultados agrupados segn el grafo de precedencias (ver Tabla 9.2) mues-
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 93

tra el rendimiento superior del RALBP-MMAS sobre el CPLEX en todas los parmetros de estudio
planteados. Slo hay un nico valor favorable al procedimiento exacto: el parmetro del grafo
kilbridge.

La relacin entre el tiempo de ciclo medio obtenido con el CPLEX y el RALBP-MMAS (ver Figura
9.1) se mantiene en torno al valor 1 para grafos compuestos por un nmero moderado de tareas. A
partir del grafo warnecke (58 tareas) la solucin media del CPLEX, como mnimo, triplica la obtenida
por el RALBP-MMAS, disparndose en los grafos lutz2, barthold2 y scholl.

Relacin entre soluciones RALBP-MMAS - CPLEX

45
40
35
30
25
20
15
10
5
0
wee-mag
sawyer

warnecke
buxey

arcus1

arcus2
lutz1

lutz2
lutz3
mukherje

scholl
gunther

hahn

tonge

barthold
kilbridge

barthol2

Figura 9.1. Relacin entre el tiempo de ciclo medio obtenido mediante CPLEX y RALBP-MMAS para cada agru-
pacin de resultados segn el grafo de precedencias.

Si se observan los resultados agrupados por nmero de estaciones (ver Figura 9.2) es donde se
hace patente tanto la principal debilidad como el gran punto fuerte del algoritmo propuesto en este
trabajo. Para instancias con pocas estaciones el RALBP-MMAS es superado por el CPLEX, tanto en
nmero de mejores soluciones como en el tiempo consumido. En cambio, cuando aumenta el nme-
ro de estaciones, el CPLEX deja de ser un mtodo viable: para instancias con 7 o ms estaciones, el
tiempo consumido por el CPLEX es prcticamente el mximo permitido y, a partir de las 15 estacio-
nes, todas las mejores soluciones son encontradas por el RALBP-MMAS.

Es probable que el mejor funcionamiento del CPLEX para instancias con pocas estaciones se deba
a la forma en que se incrementa el valor tiempo de ciclo en la generacin de soluciones (ver Frmula
7.6), ya que para instancias con soluciones con tiempos de ciclo elevados este incremento excluye
muchos valores que podra explorar el algoritmo.
94 Daniel Aparicio Guirao

Comparativa de resultados segn el nmero de estaciones


140
Nmero de mejores soluciones

120
100
80
60
40
20
0
3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
Nmero de estaciones

600
Tiempo consumido medio (s)

500

400

300

200

100

0
3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
Nmero de estaciones

RALBP-MMAS CPLEX

Figura 9.2. Comparacin entre el RALBP-MMAS y el CPLEX agrupando los resultados segn el nmero de esta-
ciones de la instancia.

La comparacin de los resultados segn la desviacin utilizada para la generacin aleatoria de las
duraciones muestra la inexactitud de la cota propuesta para el RALBP-2. En la Figura 9.3 se puede
observar como aumenta la distancia entre la solucin obtenida y la cota calculada por el procedi-
miento conforme aumenta la variabilidad de las duraciones de las tareas.

nicamente superado en pequeas instancias por el CPLEX, el RALBP-MMAS se puede considerar


un procedimiento notable para la resolucin del RALBP-2. A pesar de ello, estos buenos resultados
deben servir como aliciente para seguir mejorando el procedimiento e intentar alcanzar el estado del
arte en el mbito de este problema.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 95

Desviacin de la cota para el RALBP-MMAS


25%

20%

15%

10% Desviacin de la cota

5%

0%
5% 10% 25% 50%

Figura 9.3. Desviacin media del tiempo de ciclo obtenido con el RALBP-MMAS respecto la cota calculada para
las desviaciones utilizadas en la generacin de las duraciones de las tareas.

En primer lugar, se debera realizar un ajuste de parmetros del algoritmo que incluya ms par-
metros y un conjunto de valores de stos mayor. Este ajuste ms amplio no se ha llevado a cabo para
no extender excesivamente la duracin del proyecto. Por otra parte, tener una cota inferior ms
ajustada permitira reducir el tiempo consumido por el algoritmo, ya que se podran descartar a prio-
ri la construccin de muchas ms soluciones.

Para mejorar el rendimiento del RALBP-MMAS en instancias con un nmero de estaciones reduci-
do se debera probar a modificar la frmula usada para calcular los incrementos del valor del tiempo
de ciclo cuando no se encuentra una solucin con el valor propuesto (ver Frmula 7.6). Una posibili-
dad es incrementar el valor usando una secuencia de Bernoulli, de esta manera los incrementos en
las primeras iteraciones son menores inicialmente permitiendo bsquedas ms ajustadas, sobre todo
cuando la solucin est cercana a la ptima, tal y como proponen Bautista y Pereira [10].

Finalmente, fuera del mbito de este trabajo pero interesante para todos los investigadores del
RALBP-2, es necesario definir un conjunto de instancias estndar para poder comparar empricamen-
te todos los procedimientos propuestos, de forma similar al conjunto existente para el equilibrado
simple a partir del cual se han creado las instancias utilizadas aqu.
96 Daniel Aparicio Guirao

10. PRESUPUESTO

A continuacin se detalla el presupuesto para la realizacin del prototipo del algoritmo RALBP-
MMAS. ste est limitado al motor de resolucin del problema, sin incluir la personalizacin para
problemas especficos ni la interfaz de usuario.

La duracin del proyecto ha sido de 7 meses, de febrero de 2012 a septiembre de 2012. Durante
este periodo se han llevado a cabo las siguientes actividades: estudio del estado del arte del proble-
ma, diseo e implementacin de los algoritmos, experimentacin computacional, anlisis de los re-
sultados y realizacin de la memoria del proyecto.

feb-12 mar-12 abr-12 may-12 jun-12 jul-12 ago-12


Estudio del estado del arte
Diseo e implementacin
Experiencia computacional
Anlisis de los resultados
Documentacin del proyecto
Figura 10.1. Duracin aproximada de cada una de las tareas que han compuesto el proyecto.

Para llevar a cabo el proyecto ha sido necesario contar con un ordenador con los siguientes pro-
gramas:

- Dev-C++ 4.01: programacin del algoritmo.


- IBM ILOG CPLEX Optimization Studio: evaluacin y comparacin de los resultados del algoritmo.
- Microsoft Office: documentacin del proyecto.

La inversin en material nicamente ha requerido la adquisicin de un ordenador valorado en


900,00. El coste del software es nulo, ya que el Dev-C++ es un software libre y para los otros dos
softwares se ha utilizado una licencia de estudiante. El coste del material fungible se estima en
60,00.

Durante la duracin del proyecto ha sido necesaria la participacin de un ingeniero jnior, que ha
desarrollado el trabajo, y un ingeniero snior, que ha dirigido y supervisado al ingeniero jnior. La
dedicacin del ingeniero jnior se establece en 4 horas diarias durante los das laborables estipulados
en el periodo febrero 2012 a agosto 2012 (146 das); la dedicacin total del ingeniero snior ha sido

de unas 100 horas. El coste por hora de trabajo de un ingeniero junior se estima en 30 , mientras

que el de un ingeniero snior en 80 . Por tanto, los costes imputables a la remuneracin de las
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 97

personas implicadas son los siguientes:

- Ingeniero jnior: 4 146 30 = 17.520,00

- Ingeniero snior: 100h 80 = 8.000,00

Por ltimo, se consideran unos costes indirectos generados por el proyecto de un 3%, un benefi-
cio neto a obtener del 5% y el 21% de I.V.A.

PARTIDA IMPORTE
Material 900,00
Material fungible 60,00
Remuneracin ingeniero jnior 17.520,00
Remuneracin ingeniero snior 8.000,00
Subtotal 1 26.480,00
Costes indirectos (3%) 794,40
Subtotal 2 27.274,40
Beneficio neto (5%) 1.363,72
Subtotal 3 28.638,12
I.V.A (21%) 5.154,86
TOTAL . ,

Como se puede observar en el presupuesto presentado no se tienen en cuenta los costes estruc-
turales de la empresa.
98 Daniel Aparicio Guirao

11. IMPACTO AMBIENTAL

Este trabajo se trata de un estudio terico sobre el funcionamiento de un algoritmo de optimiza-


cin por colonia de hormigas aplicado a un equilibrado de lneas de montaje robotizadas, por lo que
el impacto ambiental real es prcticamente nulo. A pesar de ello, a continuacin se exponen las im-
plicaciones que puede tener su aplicacin sobre una lnea de montaje robotizada real, suponiendo
que los resultados obtenidos con el RALBP-MMAS mejoran el tiempo de ciclo.

El impacto econmico es positivo ya que una disminucin del tiempo de ciclo se traduce inmedia-
tamente en un aumento de la productividad. Adems al hacer uso de los robots ya disponibles no es
previsible una gran inversin para realizar la implantacin del nuevo equilibrado.

Al aumentar la productividad sin aumentar los recursos de la empresa, como es el caso, se dismi-
nuye la necesidad energtica por unidad de producto. Por tanto, para cubrir la misma demanda se
usarn menos recursos. Entonces el impacto medioambiental debido al nuevo equilibrado es positivo
a largo plazo.

En cuanto al impacto social, ste se puede considerar inexistente. nicamente se trata de reubi-
car y preparar los robots para que realicen las tareas que se han asignado a la estacin a la que per-
tenecen.

En conclusin, el impacto de la aplicacin del algoritmo RALBP-MMAS se prev positivo, siempre y


cuando el equilibrado resultante mejore la productividad de la lnea y sin tener en cuenta posibles
caractersticas especiales de la lnea en concreto.
Aplicacin de los algoritmos de hormigas para la resolucin de un RALBP 99

12. BIBLIOGRAFA

[1] RUBINOVITZ, J. [et al.] RALBP Aheuristic algorithm for design and balancing of robotic assem-
bly lines. CIRP Annals Manufacturing Technology. Vol. 42(1), 1993, p. 497 500.

[2] DORIGO, M. Optimization, learning and natural algorithms. Ph.D. Tesis, Politecnico di Milano,
1992.

[3] BOYSEN, N. [et al.] A classification of assembly line balancing problems. European Journal of
Operational Research. Vol. 183(2), 2007, p. 674 693.

[4] DORIGO, M., STTZLE, T. Ant colony optimization. MIT Press, 2004.

[5] BURKARD, R.E. [et al.] Assignment problems. SIAM, 2009.

[6] DICCIONARIO DE LA LENGUA ESPAOLA. VIGSIMO SEGUNDA EDICIN.


[http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=algoritmo, 31 de agosto de
2012].

[7] HILLIER, F.S., LIEBERMAN, G.J., Introduccin a la investigacin de operaciones. McGraw-Hill,


2010.

[8] GENDREAU, M., POTVIN, J.Y. Handbook of Metaheuristics. Springer, 2010.

[9] BAUTISTA, J., PEREIRA, J. Ant algorithms for assembly line balancing. Ant algorithms. Vol. 2463,
2002, p. 65 75.

[10] BAUTISTA, J., PEREIRA, J. Ant algorithms for a time and space constrained assembly line balanc-
ing problem. European Journal of Operational Research. Vol. 177(3), 2007, p. 2016 2032.

[11] SCHOLL, A. Balancing and sequencing of assembly lines. Physica-Verlag, 1999.

[12] OICA. PRODUCTION STATISTICS. [http://oica.net/category/production-statistics, 22 de octubre


de 2011].

[13] HOMEPAGE FOR ASSEMBLY LINE OPTIMIZATION RESEARCH (ASSEMBLY LINE BALANCING AND
SEQUENCING.
[http://alb.mansci.de/index.php?content=classview&content2=classview&content3=classview
100 Daniel Aparicio Guirao

dlfree&content4=classview&classID=28&type=dl, 22 de octubre de 2011].

[14] BECKER, C., SCHOLL, A. A survey on problems and methods in generalized assembly line balanc-
ing. European Journal of Operational Research. Vol. 168(3), 2006, p. 694 715.

[15] SCHOLL, A., BECKER, C. State-of-the-art exact and heuristic solution procedures for simple as-
sembly line balancing. European Journal of Operational Research. Vol. 168(3), 2006, p. 666
693.

[16] BAUTISTA, J., PEREIRA, J. A dynamic programming based heuristic for the assembly line balanc-
ing problem. European Journal of Operational Research. Vol. 194(3), 2009, p. 787 794.

[17] LEVITIN, G. [et al.] A genetic algorithm for robotic assembly line balancing. European Journal of
Operational Research. Vol. 168(3), 2006, p. 811 825.

[18] GAO, J. [et al.] An efficient approach for type II robotic assembly line balancing problems. Com-
puters & Industrial Engineering. Vol. 56(3), 2009, p. 1065 1080.

[19] BHATTACHARJEE, T.K., SAHU, S. A heuristic approach to general assembly line balancing. Inter-
national Journal of Operations & Production Management. Vol. 8(6), 1988, p. 67 77.

[20] PRESS, W.H. [et al.] Numerical recipes 3rd edition: The art of scientific computing. 3 edicin.
Cambridge University Press, 2007.

You might also like