Sunteți pe pagina 1din 104

Universidad del Bo-Bo

Facultad de Ciencias Empresariales

Departamento de Sistemas de Informacin

"Optimizacin de la Produccin Para Problemas de


Flow-Shop Multiobjetivo Mediante la Utilizacin de
Metaheursticas"

"Trabajo de Titulacin presentado en conformidad a los requisitos


pare obtener el ttulo de Ingeniero Civil en Informtica"

Autor: Oscar Abel San Martn Contreras


Profesor Gua: Pedro Rodrguez Montero
ii

Concepcin, Enero 06 del 2006.


i

A mis padres, Oscar y Sudamita, y a mi hermana Fabiola les agradezco por


el amor, el apoyo y la confianza, sin ustedes no hubiera logrado nada de lo
que he conseguido.

Gracias, a mis profesores Reinaldo Moraga y Felipe Baesler, quienes me


guiaron, me ensearon ms de lo que les corresponda, y por quienes siento
un gran aprecio.

Gracias a Javier, Fernando, Pamela y Lisset, que da a da me entregan su


amistad, porque soy feliz sabiendo que los tengo.

Muchas Gracias a Margarita, porque estuvo cada vez que la necesit, por
el tiempo compartido, por el cario sincero, en definitiva, por ser mi
amiga.

Finalmente, Infinitas Gracias a DIOS y a la Vida, por mi familia, por mis


amigos, por todo lo que tengo y por todo lo que Soy.

Oscar Abel San Martn Contreras


ii

Resumen

Este proyecto comienza con una introduccin general al tema, siguiendo con la
justificacin del tema a desarrollar. Posteriormente en el Captulo 1 establece toda la base
terica de la investigacin, para en el Captulo 2 mostrar cada una de las Metaheursticas
implementadas. En el Captulo 3 se muestra el anlisis para la obtencin de los mejores
parmetros para un problema dado en ambas Metaheursticas y en el Captulo 4 se indican
los resultados obtenidos al comparar las Metaheursticas mediante problemas de pruebas.

Las Metaheursticas ayudan a resolver problemas Multiobjetivo que son muy importantes
en la industria. El presente informe muestra el funcionamiento de las Metaheursticas, el
por qu nacen y temas relacionados como lo son: tpicos de Problemas Combinatorios,
Optimizacin, Programacin de la Produccin, Multiobjetivo, Flow-Shop, Heursticas,
Metaheursticas, formas de Medicin de objetivos, etc. Posteriormente, se presentarn dos
Metaheursticas multiobjetivo una relacionada con Algoritmos Genticos y otra basada en
Simulated Annealing. Finalmente se comparan estas dos Metaheursticas utilizando para
esto un par de problemas de prueba de tipo Flow-Shop. Antes de realizar la comparacin
entre las Metaheursticas, se presentar un anlisis individual de cada una, relacionado con
la combinacin de parmetros ms adecuada para resolver un problema de pruebas.
iii

Es importante mencionar que estudios como el presente son muy pocos, ya que
comparaciones entre Simulated Annealing y Algoritmos Genticos para problemas
multiobjetivo, no fueron encontrados en la literatura, y menos aplicados a problemas de
tipo Flow-Shop. Por lo que un estudio que tomara estas Metaheursticas y las comparara
resultaba muy atractivo.

A muchas empresas que necesitan optimizar sus procesos de produccin, les interesa un
buen mtodo para realizar esta tarea, ya que un mtodo exacto no es capaz de entregar una
buena solucin en un tiempo razonable, dado que la cantidad de soluciones para problemas
reales llega a ser de nmeros estratosfricos.

Las Metaheursticas nacen para entregar soluciones buenas en un tiempo razonable, pero de
una forma ms inteligente que las heursticas. Por esto es que se analizan dos tipos de
Metaheursticas que han sido ampliamente estudiadas en el mbito de un solo objetivo, pero
como la mayora de las decisiones se toman considerando ms de un aspecto, estas
Metaheursticas son implementadas, y comparadas, para la resolucin de problemas
MultiObjetivo.
iv

NDICE

NDICE..................................................................................................................................iv
NOMENCLATURA.............................................................................................................vii
INTRODUCCIN.................................................................................................................. 1
JUSTIFICACIN................................................................................................................... 3
Captulo 1. TEMAS RELACIONADOS................................................................................ 5
1.1 Optimizacin ................................................................................................................ 5
1.2 Heursticas .................................................................................................................. 11
1.2.1 Heursticas de Construccin ................................................................................ 11
1.2.2 Heursticas de Bsqueda Local............................................................................ 12
1.3 Metaheursticas........................................................................................................... 14
1.3.1 Algoritmos Genticos .......................................................................................... 16
1.3.2 Simulated Annealing ........................................................................................... 16
1.3.3 Tab Search ......................................................................................................... 17
1.3.4 Meta-Raps............................................................................................................ 18
1.4 Multiobjetivo .............................................................................................................. 19
1.4.1 Cmax (Makespan) ............................................................................................... 20
1.4.2 Tardanza Total..................................................................................................... 22
1.4.3 Retardo Mximo .................................................................................................. 26
1.5 Flow-Shop .................................................................................................................. 27
1.6 Programacin de la Produccin.................................................................................. 30
1.6.1Aspectos importantes............................................................................................ 30
1.6.1.1 Trabajo.......................................................................................................... 31
1.6.1.2 Mquinas ...................................................................................................... 32
1.6.1.2.1 Una sola mquina .................................................................................. 32
1.6.1.2.2 Mquinas paralelas ................................................................................ 32
1.6.1.2.3 Talleres de produccin continua............................................................ 33
v

1.6.1.2.4 Produccin intermitente......................................................................... 33


1.6.1.2.5 Plantas abiertas ...................................................................................... 35
1.6.1.3 Medicin....................................................................................................... 35
1.6.2 Supuestos ............................................................................................................. 37
Captulo 2. METAHEURSTICAS PARA PROGRAMACIN DE PRODUCCIN EN
PROBLEMAS DE TIPO FLOW-SHOP MULTIOBJETIVO ............................................. 38
2.1 Algoritmos Genticos................................................................................................. 39
2.1.1 Caractersticas principales ................................................................................... 39
2.1.2 Algoritmo Gentico Simple................................................................................. 40
2.1.3 Algunos Algoritmos Genticos Multiobjetivo .................................................... 42
2.1.3.1 MultiObjective Genetic Algorithm (MOGA)............................................... 43
2.1.3.2 Multiobjetive Optimization using Non-Dominated Sorting in Genetic
Algorithms (NSGA) ................................................................................................. 44
2.1.4 Algoritmo Gentico Multiobjetivo a Implementar.............................................. 45
2.1.4.1 Representacin ............................................................................................. 45
2.1.4.2 Poblacin Inicial ........................................................................................... 46
2.1.4.3 Seleccin....................................................................................................... 47
2.1.4.4 Cruzamiento ................................................................................................. 49
2.1.4.5 Mutacin....................................................................................................... 50
2.1.4.6 Fitness (funcin de aptitud) .......................................................................... 51
2.1.4.6.1 Clculo Fitness Inicial ........................................................................... 52
2.1.4.6.2 Clculo Fitness Final ............................................................................. 55
2.2 Simulated Annealing .................................................................................................. 61
2.2.1 MOSARTS .......................................................................................................... 62
2.2.2 Obtencin del Objetivo Referente ....................................................................... 64
2.2.3 Algoritmo MOSARTS, MultiObjective Simulated Annealing with Random
Trajectory Search. (Baesler, et al., 2005). .................................................................... 68
Captulo 3. COMPARACION INDIVIDUAL DE AMBAS METAHEURISTICAS ........ 69
3.1 Parmetros para Algoritmo Gentico ......................................................................... 72
3.2 Parmetros para Simulated Annealing (MOSARTS)................................................. 76
vi

3.2.1 Comparacin de MOSARTS versus Simulated Annealing Simple..................... 81


Captulo 4. COMPARACION ENTRE MOSARTS (SIMULATED ANNEALING) Y UN
ALGORITMO GENTICO MULTIOBJETICO................................................................. 83
4.1 Comparacin para Problema Grande.......................................................................... 83
4.2 Comparacin para Problema Pequeo........................................................................ 85
4.3 Comentarios de la Comparacin................................................................................. 86
Captulo 5. CONCLUSIONES Y COMENTARIOS ........................................................... 89
Captulo 6. BIBLIOGRAFA ............................................................................................... 93
vii

NOMENCLATURA

FIFO : First In First Out

SPT : Short Process Time

LPT : Long Process Time

Ci : Tiempo de terminacin de un trabajo

Cmax : Tiempo de terminacin del ltimo trabajo en el sistema

Tmax : Tardanza Total

Lmax : Retardo mximo

u/t : unidades de tiempo

SA : Simulated Annealing

AG : Algoritmo(s) Gentico(s)

VEGA : Vector Evaluated Genetic Algorithm

MOGA : MultiObjective Genetic Algorithm

NSGA : Multiobjetive Optimization using Non-Dominated Sorting in Genetic


Algorithms

NPGA : Niched Pareto Genetic Algorithm

MOSARTS: MultiObjective Simulated Annealing with Random Trajectory Search

OR : Objetivo Referente

FS : Funcin de Seleccin

PS : Probabilidad de Seleccin

FAP : Funcin de Seleccin Particular


1

INTRODUCCIN

Las Metaheursticas son un medio eficiente para resolver problemas reales en un tiempo
aceptable. Al enfrentarse a un proceso de optimizacin, donde dadas ciertas condiciones y
limitaciones se trata de elegir de entre una serie de alternativas, la que nos entregue, en la
medida de lo posible, el mayor beneficio que se pueda obtener, pero el gasto de recursos en
determinar cual es la mejor opcin, puede ser muy alto.

Dado esto, las tcnicas, procedimientos y/o algoritmos que ayudan a resolver un problema
de optimizacin merecen un profundo anlisis. Casi todo problema se enmarca en una
estructura comn, como lo menciona B. Philippi (1988), Por una parte deben existir
opciones o cursos de accin entre los cuales se debe poder escoger. Si la opcin es nica,
ciertamente el problema es muy simple, otro punto es que este proceso requiere el poder
comparar las ventajas y desventajas de los cursos de accin posibles. Al saber qu es lo
que se quiere lograr, se puede tener claro los criterios de evaluacin de las alternativas, y de
esta forma tomar una decisin.

As, es imprescindible para una industria el contar con herramientas que le ayuden en este
proceso. Esto es porque habitualmente las alternativas posibles llegan a ser casi infinitas,
los criterios de evaluacin pueden ser numerosos, las limitaciones variadas, etc.
2

La evaluacin de alternativas que ayuden a industrias que procesen trabajos en mquinas


secuenciales (o cualquier organizacin que tenga procesos que se asimilen a procesamiento
lineal de trabajos), lo que se llamar procesamiento de tipo Flow-Shop, es un objetivo que
se persigue, para lograr optimizar sus procesos de programacin de tareas, y as lograr un
mejor uso de sus recursos materiales y lograr eficiencia en la produccin.

Al comparar dos alternativas para la resolucin de este tipo de problemas lo que se busca es
poder responder preguntas como Cul de las dos Metaheursticas tiene un mejor
comportamiento?, Cul necesita mejoras para poder competir con la otras?, Cul es ms
eficiente?, Cul es ms eficaz?, entre otras.

Tambin, el poder determinar formas en las cuales mejorar una, o ambas Metaheursticas
de ser posible, es algo que se espera obtener. Adems de entregar observaciones que
permitan trabajos futuros.
3

JUSTIFICACIN

En una industria, y en otras actividades, donde se ejecutan procesos en una forma


secuencial (Flow-Shop), es decir, se forma una cola en una lnea de produccin y estos
trabajos deben pasar por distintas mquinas en un mismo orden, se debe optimizar ciertos
objetivos, como son el tiempo total de procesos o lo relativo al momento de entrega de un
trabajo, entre otros.

Si se combinan estos objetivos en un solo problema, se tiene un problema de Flow-Shop


Multiobjetivo. En la prctica los problemas Multiobjetivo son los ms comunes, dado que
las decisiones, generalmente, se toman considerando ms de un aspecto.

Por esto es interesante estudiar cmo las Metaheursticas nos ayudan en la solucin de este
tipo de problemas. Esto debido a que los algoritmos de mtodos exactos existentes para
encontrar soluciones ptimas, tienen un tiempo de proceso exponencial, porque buscan en
todo el espacio de soluciones y esto es ineficiente, y en algunos casos se vuelve imposible.
Por otra parte las heursticas no dan una certeza absoluta de qu tan buena es una solucin
encontrada, pudiendo sta ser, o no, mejorada.
4

Los problemas de tipo Flow-shop Multiobjetivo no han sido muy estudiados, son pocas las
publicaciones relacionadas con este tema especfico, por lo que se har una recopilacin
bibliogrfica tomando investigaciones similares aunque slo consideren los temas
involucrados individualmente.

El motivo por el cual se implementarn y comparan una Metaheurstica basada en


Simulated Annealing y otra en Algoritmos Genticos, es porque:

Primero, prcticamente no hay publicaciones en las que Simulated Annealing resuelva este
tipo de problemas, y dado que para problemas con un solo objetivo se ha demostrado que es
una muy buena Metaheurstica, vale la pena investigar su comportamiento en problemas
con ms de un objetivo.

Segundo, los Algoritmos Genticos han sido ampliamente investigados y son una muy
buena alternativa para solucionar problemas multiobjetivo y existen muchas publicaciones
al respecto.

Tercero, es interesante la comparacin entre estas dos muy distintas Alternativas de


solucin para problemas multiobjetivo.
5

Captulo 1. TEMAS RELACIONADOS

1.1 Optimizacin

Al tener una serie de alternativas entre las cuales poder elegir, lo natural e intuitivo es
querer elegir la mejor de ellas. El proceso de determinar cul de stas es la mejor,
considerando los criterios que se han establecido, el objetivo que se quiere lograr, las
ventajas y desventajas de cada opcin, y todas las variables que puedan influir en la
decisin, se denomina optimizacin.

En general un problema de optimizacin se define como:

Optimizar f(X)
Sujeto a
gi(X) { , = , } bi; i=1,,m;

Donde X es el vector de variables de decisin con n elementos {x1, x2,, xn}; y las
funciones f(X) y gi(X) son funciones generales.
6

Cuando todos los elementos en el Vector X toman valores discretos, se conoce como un
problema de optimizacin combinatorio (Moraga, 2002).

As, por ejemplo, una persona tiene cierta cantidad de dinero, y est pensando en gastarlo
en varios productos, pero la suma de los precios de estos artculos es mayor que la cantidad
que posee, el modelo sera como sigue:

Maximizar el beneficio que le ofrecen los productos

Sujeto a
Precio producto1 + Precio producto2 + + Precio producto n $ disponible
Con
Precio producto 1 = cant. 1
Precio producto 2 = cant. 2
---
Precio producto n = cant. n

En este sencillo ejemplo se pueden identificar las partes de la formulacin de un modelo del
problema. La decisin que tome esta persona depender de los criterios que haya definido
para elegir, por ejemplo, si piensa que ciertos productos le son ms necesarios, se decidir
por estos, siempre que la suma de los precios no sea mayor a lo que dispone. Pero si piensa
7

que un producto que no necesita tanto, pero est muy barato y es una gran oportunidad el
adquirirlo, entonces si vale menos de lo que posee, se podra decidir por l.

Pero esta es una decisin muy simple. En la industria, las decisiones son muy complejas
(Moraga, 2002), en seguida se presenta un ejemplo:

En un sistema existen n tareas que deben ser procesadas, la idea es hacer la combinacin
para que el tiempo total de procesamiento de estas tareas sea el mnimo.

Se asume que las n tareas estn ya en el sistema para comenzar a ser procesadas en el
tiempo R. Supongamos que se tienen 5 tareas, con sus respectivos tiempos de proceso.

Tarea 1 180
Tarea 2 40
Tarea 3 200
Tarea 4 500
Tarea 5 250
Tarea 6 150
8

a) Aplicando la regla FIFO, se obtendra lo siguiente:

Solucin

Tarea 1 - Tarea 2 - Tarea 3 - Tarea 4 - Tarea 5 - Tarea 6

Con un tiempo total de: 180 + 220 + 420 + 920 + 1170 + 1320 = 4230

b) Aplicando la regla SPT (tiempo de proceso ms corto) se obtendra lo siguiente:

Solucin:

Tarea 2 - Tarea 6 - Tarea 1 - Tarea 3 - Tarea 5 Tarea 4

Con un tiempo total de: 40 + 190 + 370 + 570 + 820 + 1320 = 3310

Aqu podemos ver que usando la regla SPT se logra una mejor solucin que utilizando la
regla FIFO.

Pero el total de combinaciones que se puede conseguir en este problema est dado por
factorial del nmero de trabajos, eso sera 6! = 720 combinaciones posibles. Lo que
9

muestra que analizar todas las posibles secuencias de trabajos puede resultar un trabajo
arduo, y a veces imposible.

A continuacin se presenta una tabla donde se muestren las combinaciones posibles para el
nmero de trabajos que se indica:

Tabla 1.1: Nmero de soluciones posibles para el nmero de trabajos dado.

Nro. Tareas Nro. De combinaciones Posibles


6 720
7 5.040
8 40.320
.
20 2.432.902.008.176.640.000
21 51.090.942.171.709.400.000
22 1.124.000.727.777.610.000.000
23 25.852.016.738.885.000.000.000
24 620.448.401.733.239.000.000.000
25 15.511.210.043.331.000.000.000.000
.
30 265.252.859.812.191.000.000.000.000.000.000
31 8.222.838.654.177.920.000.000.000.000.000.000
32 263.130.836.933.694.000.000.000.000.000.000.000
10

Por lo que se puede ver, an con el computador ms potente, resulta imposible poder
esperar el proceso para la tomar la decisin de cual es la mejor solucin, ya que, por
ejemplo, para computar todas las posibles soluciones para 32 tareas, esto es 32! = 1.6*1035,
suponiendo que una computadora puede examinar mil millones de secuencias por
segundo, tomara 8.4 * 1015 siglos! (Sipper y Bulfin, 1998). Para 16 tareas se calcula
aproximadamente en 8 meses el procesamiento de las combinaciones posibles para
determinar cul ser la ptima (Sipper y Bulfin, 1998).

Como en la industria muy pocos sistemas de planificacin consideran tan pocos trabajos, y
no se puede disponer del tiempo para esperar los resultados de algoritmos exactos, dado la
limitada capacidad de proceso de los computadores, se hace necesario elaborar nuevos
procedimientos que permitan realizar este procesamiento en un tiempo aceptable, as nacen
las heursticas.
11

1.2 Heursticas

Una Heurstica es una tcnica que busca soluciones (ojal cercanas al ptimo) a un costo
computacional razonable, pero no garantiza que la solucin encontrada en realidad est
cerca del ptimo, ni da indicios de qu tan buena es. Es importante mencionar que una
heurstica no considera todas las combinaciones posibles para determinado problema, slo
unas pocos.

En general una heurstica puede ser clasificada como Heurstica de Construccin o


Heurstica de Bsqueda local.

1.2.1 Heursticas de Construccin

Lleva a cabo una secuencia estructurada de iteraciones, en la que se toman en cuenta todos
los aspectos que se considerarn para la toma de la decisin y se termina con una solucin
factible. Se tiene una funcin que evala la calidad de la solucin.

Una heurstica de construccin, o regla, es un procedimiento que sistemticamente asigna


valores a cada xi (i=1,, n) en un nmero finito de pasos.
12

Algunas heursticas de construccin son:

FIFO (primero en llegar, primero en salir)


SPT (Tiempo de proceso ms pequeo)
LPT (Tiempo de proceso ms grande)

1.2.2 Heursticas de Bsqueda Local

Para definir qu es bsqueda local, se requiere especificar un vecindario local. La


bsqueda se realiza desde una solucin inicial que se modifica a travs de operadores.

Dada una solucin X, los elementos del vecindario de X son aquellas soluciones X que
pueden ser obtenidas aplicando sobre X una modificacin elementara conocida como
movida, y no se suele guardar historia del camino recorrido. Una movida, por ejemplo,
puede ser el intercambio o la insercin.

Supongamos que tenemos la siguiente secuencia de tareas:

X = Tarea 1 Tarea 2 Tarea 3 Tarea 4 Tarea 5


13

Un intercambio se refiere a tomar dos tareas de esta secuencia y poner una en la posicin de
la otra y viceversa. As, por ejemplo, las siguientes secuencias seran vecinos de X:

X = Tarea 2 Tarea 1 Tarea 3 Tarea 4 Tarea 5


X = Tarea 1 Tarea 3 Tarea 2 Tarea 4 Tarea 5
X = Tarea 4 Tarea 2 Tarea 3 Tarea 1 Tarea 5
Etc.

Una insercin constara de tomar una tarea de la secuencia y ponerla en cualquier otra
posicin de la lista. Por ejemplo:

X = Tarea 2 Tarea 3 Tarea 4 Tarea 1 Tarea 5


X= Tarea 1 Tarea 5 Tarea 2 Tarea 3 Tarea 4
X = Tarea 5 Tarea 1 Tarea 2 Tarea 3 Tarea 4
Etc.

Pero desafortunadamente, los problemas a los cuales se enfrentan las industrias en sus
lneas de produccin requieren de sistemas que entreguen soluciones mucho ms cercanas
al ptimo que las que puede elaborar una heurstica comn. As entonces, es necesario
considerar el uso de Metaheursticas para la programacin de la produccin.
14

1.3 Metaheursticas

En esta seccin se interiorizar un poco en lo referente a las Metaheursticas, pero no se


especificar ninguna, ya que existir un captulo completo dedicado al anlisis de
Metaheursticas.

Una Metaheurstica es un tcnica de resolucin iterativa que gua a una heurstica


subordinada combinando de forma inteligente diferentes tcnicas de exploracin del
espacio de bsqueda; y utilizando estrategias de aprendizaje para estructurar la informacin
con objeto de encontrar de forma eficiente soluciones cercanas al ptimo (Osman y
Laporte, 1996).

Las Metaheursticas tienen que tener como un objetivo el escapar a ptimos locales que
pueda encontrar, con el fin de recorrer de forma basta todo el espacio de soluciones.

Una Metaheurstica puede presentarse como:

Meta heurstica = Construccin + Bsqueda Local + Estrategias y


mecanismos para evitar ptimos locales.
15

Una Metaheurstica puede usar cualquier heurstica o algoritmo subordinado que entregue
una solucin inicial y factible para la etapa de construccin.

La bsqueda local puede utilizar una heurstica de bsqueda local, esto es mediante
insercin, intercambio u otra, para definir la vecindad de la solucin inicial. Y as evaluar
el primer vecino que se encuentre, el primero que mejore la solucin, un vecino aleatorio,
etc.

Como estrategias para evitar ptimos locales se pueden mencionar las siguientes:

9 Permitir movimientos de empeoramiento de la solucin actual.


9 Modificar la estructura de entornos.
9 Volver a comenzar la bsqueda desde otra solucin inicial.
9 Diversificacin, (alejarse del punto actual).
16

Algunas Metaheursticas bien conocidas son:

1.3.1 Algoritmos Genticos

Esta Metaheurstica tiene su base, y nace, sobre la teora de la evolucin de las especies. La
idea es que en una poblacin de individuos (soluciones iniciales), sta es sometida a
acciones aleatorias, con las que se generan nuevos individuos (soluciones evolucionadas)
de los cuales se seleccionan los ms aptos para que sigan evolucionando.

Construccin Generacin Aleatoria


+
Bsqueda Local Cruzamiento & Mutacin

1.3.2 Simulated Annealing

El nombre de esta Metaheurstica nace del proceso de templado (annealing) de los metales.
Donde se calienta un metal y luego controladamente se va enfriando, si este proceso se
realiza rpidamente, el metal puede presentar imperfecciones, si se hace gradualmente las
propiedades de este metal sern mejores.
17

Esta Metaheurstica utiliza un parmetro que va disminuyendo en cierta cantidad, segn el


cual se realiza una bsqueda local, eligiendo un vecino cada vez que disminuye este
parmetro, mientras menor sea el valor de ste menos posibilidades de elegir un mal vecino
existen, el proceso se realiza hasta que este parmetro llegue a cero.

Construccin Generacin Aleatoria


+
Bsqueda Local Probabilidad de aceptar malas soluciones.

1.3.3 Tab Search

La idea bsica del mtodo, es la de explorar el espacio de bsqueda de todas las soluciones
factibles por una secuencia de movimientos. Un movimiento de una solucin a otra es el
mejor disponible, es decir, de todas las soluciones a las que se puede pasar se escoge la que
mejore ms el o los objetivos deseados. Sin embargo, para escapar de un ptimo local y
para prevenir los ciclos, algunos movimientos, en una iteracin en particular, son
clasificados como prohibidos o tab. Los movimientos en tab estn basados en la historia
de la secuencia de movimientos a corto y largo trmino. Una implementacin simple, por
ejemplo, puede clasificar un movimiento como tab si el movimiento contrario ha sido
hecho recientemente o frecuentemente. Algunas veces, cuando es favorable, un movimiento
tab puede ser realizado a pesar de todo.
18

Construccin Generacin Aleatoria


+
Bsqueda Local Lista Tab LTM, Criterio de aspiracin

1.3.4 Meta-Raps

Meta-RaPS es una Metaheurstica que realiza un proceso de bsqueda de soluciones un


nmero determinado de veces, en cada iteracin construye una solucin factible, a travs de
la utilizacin de reglas de prioridad usadas en forma aleatoria y luego utiliza bsqueda local
y un proceso de mejoramiento. Cada vez que realiza el proceso mantiene la mejor solucin
encontrada hasta ese momento.

Construccin Generacin Aleatoria


+
Bsqueda Local Combinacin aleatoria de reglas.
19

1.4 Multiobjetivo

En la seccin de optimizacin, se explic de manera simple en que consista encontrar la


mejor solucin para un problema. Para un mejor entendimiento slo se mencion que
exista un Objetivo, que estaba en funcin de ciertas variables, cada una con una
ponderacin, en base a la cual se tomaba una decisin, dependiendo de cual combinacin
de variables optimizaba este objetivo, es decir, lo maximizaba o minimizaba segn el caso,
y que esta combinacin fuera factible de elaborar, o sea, que cumpla con las restricciones
del problema.

Pero en muchos casos un problema puede tener varias Funciones Objetivo, como por
ejemplo, se podra querer maximizar la utilidad, o minimizar los tiempos totales de proceso,
minimizar los retardos en las entregas, maximizar la calidad total, etc.

En estos casos, entonces, a parte de todas las variables que intervienen en la toma de
decisiones, tambin se hace preciso considerar que se logren todos los objetivos
presentados para ese problema.

En este estudio se analizan slo Funciones Objetivo que se requiere sean minimizadas, ya
que para procesos industriales, en lo referente a programacin de la produccin
20

generalmente, se desean minimizar Objetivos como los que se mencionan a continuacin


(Pinedo, 1995):

9 Cmax (Makespan)
9 Tardanza Total o Tardiness (Tmax)
9 Mximo Retraso(Lmax)

1.4.1 Cmax (Makespan)

Se representa como Cmax, se define como el mximo entre un conjunto de valores, mx.
(C1,, Cn), donde Ci es el tiempo de trmino de procesar el trabajo i. Cmax se entiende
como el tiempo del ltimo trabajo en salir del sistema.

Supongamos un proceso donde se tiene tres trabajos para ser procesados en una mquina,
con los tiempos de procesamiento que se indican:

Tiempo Tiempo
Trabajo proceso acumulado Ci
1 12 12 12
2 10 22 34
3 5 27 49
21

Supongamos que los trabajos estn listos en el sistema para empezar a ser procesados, y
que el pasar de un trabajo a otro no tiene un tiempo significativo. Entonces, cuando el
trabajo 1 es procesado han pasado 12 unidades de tiempo (u/t), luego al procesar el trabajo
2, este permaneci 12 u/t en el sistema ms las 10 u/t que requiere para ser procesado, por
lo que su tiempo total de permanencia en el sistema es de 22 u/t, con lo que la suma del
trabajo 1 ms el trabajo 2 es de 34 u/t. Para el trabajo tres se hace el mismo clculo, con lo
que el tiempo de permanencia en el sistema es de 27 u/t., y al calcular el Cmax este da un
total de 49 u/t.

Si se busca una mejor programacin de estos trabajos, se podra llegar a lo siguiente, donde
se aprecia que el Cmax es menor:

Tiempo Tiempo
Trabajo proceso acumulado Ci
2 10 10 10
3 5 15 25
1 12 27 42
22

1.4.2 Tardanza Total

Se representa por T. Indica la suma de las tardanzas que podran tener los trabajos que
deben realizarse. Para entenderlo se tomar el ejemplo anterior y se le agregar los tiempos
de entrega de los trabajos.

Tiempo Tiempo Tiempo


Trabajo proceso Entrega acumulado Ci Ti
1 12 17 12 12 -5
2 10 -2 22 34 36
3 5 6 27 49 43
79

La idea siempre es que los trabajos se terminen a tiempo, por lo que se hace imperioso tener
un buen programa que permita que esto se cumpla.

La tardanza se expresa de la siguiente forma:

T = max ( 0 , Ci Ti )
23

Donde Ci indica el tiempo de salida del trabajo i del sistema, y Ti indica en tiempo de
entrega de ese trabajo, por lo que el clculo sera el siguiente:

T = max ( 0 , 12 17 ) + max ( 0 , 34 (-2) ) + max ( 0 , 49 6 )


T = 79

Para el otro programa se tendra lo siguiente:

Tiempo Tiempo
Trabajo proceso Entrega Tiempo acumulado Ci Ti
2 10 -2 10 10 12
3 5 6 15 25 19
1 12 17 27 42 25
56

T = max ( 0 , 10 (-2) ) + max ( 0 , 25 6 ) + max ( 0 , 42 17 )


T = 56

Con estos dos ejemplos se puede ver claramente que el segundo programa de produccin es
mejor que el primero, porque para ambos objetivos este programa es mejor, pero hasta el
momento nada nos indica si se ha llegado al mejor ya que pueden existir mejores
programas.
24

Pero puede darse el caso de encontrar una solucin que slo sea mejor en uno de los
objetivos. En ese caso no se puede decir cul de las soluciones es mejor que la otra, y eso
se llamar solucin no dominadas.

Un problema multiobjetivo, suele tener una funcin objetivo de la siguiente forma:

Max o Min Z = f(x) = (f1(x), f2(x), ..., fn(x)),

Donde cada fi(x) representa un objetivo, diremos entonces que una solucin domina a otra
s:

9 Es mejor en todos los objetivos.


9 Es mejor en al menos un objetivo e igual en los dems.

De esto nace lo que se denomina Curva de Pareto, generada de las soluciones no


dominadas al graficarlas.
25

A continuacin se muestra un grfico de la Curva de Pareto para un problema con objetivos


de Cmax (makespan) y Tardanza Total (tardiness).

Curva de Pareto

150
Tardiness

100

50

0
0 50 100
Makespan

Grfico 1.1. Curva de pareto para objetivos de Cmax y Tardiness.

Las siete soluciones unidas por una lnea dominan a todas las dems, pero ninguna de ellas
puede ser considerada mejor que cualquier otra que se encuentre en la curva.
26

1.4.3 Retardo Mximo

Se define como la sumatoria de las diferencias entre el tiempo de trmino de un trabajo y su


fecha de entrega. Por lo tanto, en el ejemplo que se ha usado, se tiene lo siguiente:

Tiempo Tiempo Tiempo Li


Trabajo proceso Entrega (di) acumulado Ci Ti Ci - di
1 12 17 12 12 -5 -5
2 10 -2 22 34 36 36
3 5 6 27 49 43 43
79

T = max {12 17, 34 (-2), 43 6}


T = 43

Y para el otro programa se tiene:

Tiempo Tiempo Tiempo Li


Trabajo proceso Entrega (di) acumulado Ci Ti Ci - di
2 10 -2 10 10 12 12
3 5 6 15 25 19 19
1 12 17 27 42 25 25
56

Lmax = max {10 (-2), 25 6, 42 17}


27

Lmax = 25

1.5 Flow-Shop

Un aspecto importante dentro de la investigacin, es el que tiene que ver con la


programacin de la produccin para problemas de tipo Flow-Shop.

Generalmente los objetivos que se busca minimizar en estos problemas son el makespan y
la tardanza total.

Un problema de tipo Flow-Shop es bsicamente uno en el cual se presentan n trabajos T1,


T2,, Tn. Cada trabajo consta de cierto nmero de tareas t1, t2,, tn, para ser programados
en m mquinas m1, m2,, mn, los cuales deben pasar por las mquinas en un mismo orden,
cada trabajo posee un tiempo de proceso para cada mquina y una fecha de entrega, por lo
que los trabajos deben programarse de forma que estn listos antes de esta fecha.

Para ejemplificar un problema de programacin de tipo Flow-Shop, se considerar una


lnea de montaje automotriz simplificada, la que dispone de tres procedimientos
principales: armado, pintura y montaje, cada uno de los cuales es realizado por una
mquina.
28

A este proceso pueden llegar varios trabajos que llamaremos rdenes de trabajo, cada una
con una fecha de entrega, y una cantidad de automviles, es decir, que por ejemplo una
orden puede tener 50 automviles asignados y otra orden 20. As entonces, cada automvil
sera una tarea.

El proceso automatizado comienza considerando un patrn guardado en un computador, el


que es modificado segn el trabajo que se quiera realizar, es decir, el diseo del automvil
que se fabricar. Cada mquina recibe las partes esenciales para su labor desde una
mquina suministradora.

La mquina de Armado tiene como funcin la unin de las partes que han sido recibidas,
de acuerdo con su respectiva forma y modelo, o sea, la carrocera, puertas, pisos, cubiertas,
etc. La operacin central es la soldadura autgena y el recubrimiento de uniones para
mejorar la presentacin. Adicionalmente, se realizan actividades de pulimento,
impermeabilizacin y limpieza.

La mquina de Pintura, protege al vehculo de la corrosin y le da un aspecto reluciente. El


vehculo seudo-ensamblado, se desengrasa y luego se laca y se cubre con fosfato para que
absorba mejor la pintura. Despus de varios enjuagues se aplican varias capas de
anticorrosivo. Las ltimas capas de pintura corresponden a acrlico brillante. La aplicacin
29

de estas sustancias se hace en cmaras especiales que pueden operar de diversas formas, de
acuerdo con el nivel tecnolgico de las empresas.

La mquina de Montaje, realiza la parte del proceso en la cual se ensamblan las partes
mecnicas, el motor, los ejes, el sistema de frenos, tapetes y accesorios.

Despus de este proceso los automviles estn listos para ser entregados.

Figura 1.1. Modelo de produccin secuencial de una automvil.

Entonces, el problema de este sistema es el establecer qu trabajo se hace en qu momento,


es decir, realizar el proceso de programacin de la produccin.
30

1.6 Programacin de la Produccin

La programacin de la produccin se refiere a la secuencia en la que los trabajos sern


procesados, de manera de lograr los tiempos que se desea cumplir, y satisfacer todas las
restricciones que se tenga, como pueden ser el uso de las mquinas, los tiempos de entrega,
etc.

En la seccin 2.1 se hizo una pequea introduccin a lo referente a programacin de la


produccin, pero ahora se pasa a explicar de mejor forma.

Un programa se puede representar como una secuencia de nmeros donde cada nmero
indica el orden en que se ejecutar ese trabajo; por ejemplo, la secuencia 1 2 3, indica
que el trabajo 1 es el primero en procesarse, luego el 2, y por ltimo el 3. Por otro lado, la
secuencia 3 2 1 indica que el primer trabajo en procesarse es el 3, despus el 2, y
finalmente el 1.

1.6.1Aspectos importantes
31

Para realizar la programacin hay tres aspectos importantes que deben considerarse: los
trabajos, las mquinas y la medicin.

1.6.1.1 Trabajo

Los trabajos son actividades a realizar (Sipper y Bulfin, 1998). Los trabajos que se
pueden identificar en el ejemplo de la lnea de montaje automotriz, de la seccin anterior,
son las rdenes de automviles que se deben realizar. Si nos imaginamos una papelera, los
trabajos seran las diversas rdenes de papeles y cartones que debe producir, y en una
fbrica de ropa seran los conjuntos de prendas iguales que se deben hacer.

Un trabajo siempre debera tener un tiempo de proceso y una fecha en la que debe estar
terminado. Para el presente anlisis supondremos que un trabajo una vez que comienza a
ser procesado no se detiene hasta que es terminado.

Otras caractersticas que puede poseer un trabajo, segn Sipper y Bulfin (1998), son que:

9 Puede depender de otro trabajo, o sea, que no puede realizarse antes de que termine
otro. Esto es lo que sucede en el procesamiento tipo Flow-Shop, donde las tareas se
ejecutan en un nico orden.
32

9 Puede poseer una fecha de inicio, antes de la cual no puede comenzar el proceso.

1.6.1.2 Mquinas

Las Mquinas procesan los trabajos (Sipper y Bulfin, 1998). Las mquinas en la
industria son literalmente mquinas o robots, pero en una pista de aterrizaje en un
aeropuerto, un bus en una empresa de transporte, una mesa en un casino, tambin pueden
considerarse mquinas.

Las mquinas pueden clasificarse como sigue (Sipper y Bulfin, 1998):

1.6.1.2.1 Una sola mquina

Se tiene una sola mquina para procesar todos los trabajos, esta mquina slo puede
procesar un trabajo a la vez, y una vez que termina uno puede continuar con el siguiente.

1.6.1.2.2 Mquinas paralelas

Son varias mquinas idnticas en el sentido de que pueden realizar los mismos
procesamientos. As entonces, un trabajo se podra realizar en cualquiera de ellas para
33

quedar terminado, y el tiempo de proceso es el mismo indiferente de la mquina en que se


procese.

1.6.1.2.3 Talleres de produccin continua

Es donde se encuentran diferentes mquinas y los trabajos, para ser completados, deben
pasar una vez por cada una y en el mismo orden, es decir, si numeramos las mquinas como
1, 2 y 3, un trabajo no puede pasar a la mquina 2 si no ha pasado por la 1, y no podr pasar
a la 3 si no ha terminado en la 2.

Interesa de sobremanera este forma de produccin, ya que es en este tipo de procesamiento


el nfasis del anlisis que se est realizando, es decir, un procesamiento de tipo Flow-Shop.

1.6.1.2.4 Produccin intermitente

Es similar al de produccin continua, es decir, existen varias mquinas distintas, pero los
trabajos no deben pasar una vez por cada una ni en el mismo orden necesariamente. Es
decir, un trabajo podra pasar por la mquina 1 y luego por la 2, pero nunca por la 3, en
cambio otro solo podra pasar por la 3.
34
35

1.6.1.2.5 Plantas abiertas

Son en los cuales da lo mismo por qu mquina pasan primero los trabajos, en caso de que
deban pasar por ms de una. Un ejemplo es un taller mecnico, donde un automvil que
ingresa, y da lo mismo que reparacin se realice primero.

1.6.1.3 Medicin

La medicin se refiere a cmo evaluamos si nuestro programa de produccin es el ms


adecuado, es decir, cmo podemos determinar si es el mejor programa que podemos tener
o, en su defecto, uno que sea lo suficientemente bueno.

Maximizar utilidad o minimizar costos, son los objetivos que cualquier empresa persigue,
pero desafortunadamente, es difcil estimar los parmetros financieros que relacionen un
programa con costo o ganancia (Sipper y Bulfin, 1998). Por esto, las medidas que se
utilizan son generalmente las mencionadas en la seccin 1.4.
36

A continuacin se presenta formalmente la notacin que se utilizar en la investigacin en


lo que tiene que ver con los elementos de un problema de programacin de la produccin
(Sipper y Bulfin, 1998):

n = nmero de trabajos que sern procesados

m = nmero de mquinas

pik = tiempo de proceso del trabajo i en la mquina k ( pi si m = 1)

ri = tiempo de liberacin de la orden del trabajo i

di = fecha de entrega del trabajo i

wi = ponderacin (importancia o valor) del trabajo i respecto a los otros trabajos

En un programa especfico, se define para cada trabajo i:

Ci = tiempo de terminacin del trabajo i

Fi = Ci ri, tiempo de flujo del trabajo i (Fi > 0)

Li = Ci di, retraso del trabajo i (Li < 0 denota anticipacin)

Ti = max (0, Li), tardanza del trabajo i

Ei = max (0, -Li), adelanto del trabajo i

Cmax = max i = 1,n {Ci}, tiempo mximo de terminacin de todos los


trabajos (makespan)

Lmax= max i = 1,n {Li}, retraso mximo de todos los trabajos

Tmax= max i = 1,n {Ti}, tardanza mxima de todos los trabajos


37

1.6.2 Supuestos

El primero de los supuestos que se debe considerar es el de disponibilidad, que quiere decir
que los trabajos estn listos y dispuestos para ser procesados en la lnea de produccin, es
decir, ri= 0.

Tambin se supone la certidumbre de los datos, es decir, que en ningn problema se podra
argumentar el desconocimiento de los datos exactos.

Otro supuesto que ya se mencion en una seccin anterior, es que un trabajo una vez
comenzado no se detiene hasta que est terminado.

La precedencia entre los trabajos no existe, es decir, son trabajos totalmente


independientes.
38

Captulo 2. METAHEURSTICAS PARA


PROGRAMACIN DE PRODUCCIN EN
PROBLEMAS DE TIPO FLOW-SHOP
MULTIOBJETIVO

No existen algoritmos exactos que puedan resolver problemas reales con ms de un


objetivo en un tiempo razonable (Baesler, et al., 2005). En muchas ocasiones encontrar una
solucin ptima para un solo objetivo es imposible, producto de la complejidad de los
problemas. Es por esto que las Metaheursticas surgen como una buena alternativa para
resolver problemas multiobjetivo.

La mayora de los desarrollos para la solucin de problemas multiobjetivo estn ligados a


Algoritmos Genticos (AG), a diferencia de las implementadas basadas en Simulated
Annealing, por lo que en el presente captulo se presentarn dos metaheursticas, una
basada en cada tema.
39

2.1 Algoritmos Genticos

Algoritmo gentico es una tcnica de bsqueda basada en la teora de la evolucin de


Darwin, es decir, procesos de seleccin natural y evolucin gentica. Esta tcnica se basa
en los mecanismos de seleccin que utiliza la naturaleza, de acuerdo a los cuales los
individuos ms aptos de una poblacin son los que sobreviven, al adaptarse ms fcilmente
a los cambios que se producen en su entorno. Hoy en da se sabe que estos cambios se
efectan en los genes (unidad bsica de codificacin de cada uno de los atributos de un ser
vivo) de un individuo, y que los atributos ms deseables del mismo se transmiten a sus
descendientes, cuando ste se reproduce sexualmente, (REDCIENTIFICA.COM).

2.1.1 Caractersticas principales

Poblacin de individuos: Representan las soluciones del problema a resolver. Cada


solucin es un cromosoma, por ejemplo:

C = [4 2 3 1]

En un problema de tipo Flow Shop, significa que el primer trabajo en procesarse ser el 4
despus el 2, posteriormente el 3 y finalmente el 1.
40

Operadores Genticos: Seleccin Natural, Evolucin Gentica y Cambios Adaptativos,


los que son simulados por la seleccin (mejores individuos o soluciones), cruce o
recombinacin (consiste en producir un nuevo individuo a partir de los genes de dos
padres) y mutacin (consiste en intercambiar el orden de las de los genes en un individuo,
lo que en un problema de Flow Shop, sera cambiar la secuencia de los trabajos en una
solucin), respectivamente.

Funcin de Aptitud (o funcin de fitness): Determina la adaptacin del individuo al medio


(solucin al problema), es decir que tan buena es la solucin.

2.1.2 Algoritmo Gentico Simple

1. Elegir aleatoriamente una poblacin de individuos


2. Evaluar la aptitud (fitness) de cada individuo
3. Repetir hasta alcanzar condicin de terminacin
4. Seleccionar los individuos ms aptos para reproducir
5. Combinar pares de individuos aleatoriamente
6. Aplicar el operador de recombinacin
7. Aplicar el operador de mutacin
8. Evaluar la aptitud (fitness) de cada individuo
9. Fin
41

El Algoritmo se podra mostrar grficamente as:

Figura 2.1. Secuencia de algoritmo gentico.


42

2.1.3 Algunos Algoritmos Genticos Multiobjetivo

La primera implementacin de un AG Multiobjetivo fue desarrollada por Schaffer en 1984,


denominado VEGA (Vector Evaluated Genetic Algorithm). Esta implementacin tiene la
idea de crear sub-poblaciones seleccionando los individuos de acuerdo con cada objetivo.
Suponiendo que se tengan N individuos y se necesita optimizar k objetivos, se generan k
sub-poblaciones con N / k individuos cada una. Luego esas sub-poblaciones son cruzadas y
se le realizan operaciones de mutacin para crear una nueva poblacin (Pappa, 2002).

Posteriormente Goldberg en 1989, incorpora el concepto de dominancia dentro del


proceso de seleccin de individuos en el AG, (Baesler, et al., 2005). Su idea era utilizar el
concepto de dominancia para separar a los individuos en grupos llamados ranking, donde
cada ranking contendr solo soluciones no dominadas. As el primer ranking contendr las
soluciones no dominadas del conjunto de soluciones y se les asignar el valor de fitness
ms elevado, el segundo ranking ser compuesto de las soluciones no dominadas del
conjunto de soluciones, no considerando las soluciones del ranking anterior. El valor de
fitness de este ranking ser menor que el anterior pero superior que el siguiente. El proceso
contina hasta que no existan individuos en la poblacin. Adems, Goldberg introdujo el
concepto de formacin de nichos y la utilizacin de una funcin fitness compartido,
compuesta de dos medidas, la funcin objetivo y el ndice de la densidad de poblacin del
nicho al que ese individuo pertenece. Un nicho es la divisin de la poblacin en especies,
que rene a individuos de caractersticas similares, se usa para reducir la competicin por
recursos y obtener sub-poblaciones estables, cada una de ellas concentrada en un nicho de
bsqueda, (Pappa, 2002).
43

A continuacin se muestran dos Algoritmos Genticos que siguen los conceptos


desarrollados por Schaffer y Goldberg. La principal diferencia entre estos algoritmos
consiste en la forma en que el valor de la funcin de aptitud (fitness) es atribuido a los
individuos de la poblacin.

2.1.3.1 MultiObjective Genetic Algorithm (MOGA)

Fonseca y Fleming fueron los creadores de MOGA en 1993. La idea es asignar una
jerarqua a los individuos, la que es igual al nmero de individuos de la poblacin que lo
dominan ms uno, es decir, los individuos de la frontera de Pareto tienen un valor de
jerarqua igual a 1, ya que no son dominados por ninguna solucin. El valor de la funcin
de aptitud se puede entender como:

Aptitud = 1 / (valor de jerarqua)

Su funcionamiento puede ser resumido en 3 etapas:

Primero, ordenar toda la poblacin de acuerdo a los individuos no dominados. El proceso


continua hasta que todos los individuos de la poblacin han sido clasificados.
44

Luego los individuos pertenecientes a al jerarqua 1 reciben un valor de ranking igual a 1,


los individuos del jerarqua 2 y siguientes reciben un valor de ranking igual al nmero de
soluciones que las dominan ms. Por ejemplo, si la frontera de Pareto posee 3 elementos,
los individuos del jerarqua 2 tendrn un valor de ranking igual a (3 + 1) = 4.

Finalizado el proceso de ordenacin, la funcin de aptitud es atribuida a cada solucin de


acuerdo con su ranking.

2.1.3.2 Multiobjetive Optimization using Non-Dominated Sorting in Genetic


Algorithms (NSGA)

Este algoritmo fue propuesto por Srinivas y Deb (1994). Es similar a MOGA, la principal
diferencia est en la forma en que se atribuye la funcin de aptitud a cada individuo y en el
uso de la estrategia de fitness compartido, (Pappa, 2002). Al igual que MOGA, se basa en
la clasificacin de individuos en varias capas o frentes. El valor de la funcin de fitness
para cada individuo en el primer frente es igual a N, donde N es el nmero de individuos de
la poblacin. Luego se utiliza una estrategia de fitness compartido, a cada individuo se le
atribuye una funcin de fitness compartido dividiendo el valor anteriormente atribuido por
el contador del nicho (nmero de individuos del nicho). Es guardado el valor de fitness
compartido. Despus se identifican los individuos no dominados del segundo frente, y se le
asigna un nuevo valor de funcin de fitness, que es ms pequeo que la funcin de fitness
compartido del primer frente, es decir, el guardado anteriormente menos un valor pequeo,
45

y as hasta que no queden ms individuos. Puesto que los individuos en el primer frente
tienen el valor de fitness mayor, consiguen siempre ms copias que el resto de la poblacin.

2.1.4 Algoritmo Gentico Multiobjetivo a Implementar

El AG a implementar tiene la misma estructura de un AG simple, en que se considera todos


los elementos relacionados con un AG, es decir, creacin de la poblacin inicial, seleccin
natural, mutacin, recombinacin, funcin de aptitud y criterio de trmino. El aspecto ms
importante en esta implementacin, es la forma en la que se asigna el fitness a los
individuos, en la cual se usan los conceptos de dominancia y nicho.

A continuacin se muestran los aspectos ms importantes del AG desarrollado:

2.1.4.1 Representacin

Cada solucin, o individuo, es representado mediante un vector, el cual posee valores entre
1 y en nmero de trabajos que posea el problema, como se muestra a continuacin para un
problema con 7 trabajos:

7 5 1 4 3 2 6
46

El cul indica la secuencia de proceso de los trabajos, por lo que no puede existir un
individuo en el cual se repita algn trabajo, ni con un valor en la secuencia superior al
nmero de trabajos.

2.1.4.2 Poblacin Inicial

La poblacin inicial es generada en forma aleatoria, es decir, considerando el tamao de la


poblacin, se crean individuos diferentes en base a la generacin de nmeros aleatorios,
cumpliendo con la representacin anterior, por lo que cada vez que el algoritmo es
ejecutado, la poblacin inicial es siempre distinta. Por ejemplo, si existiera un problema de
7 trabajos, y una poblacin de 4 individuos, la poblacin podra ser la siguiente:

7 5 1 4 3 2 6

2 3 5 6 7 6 1

6 5 7 3 1 4 2

1 2 7 3 4 6 5

O bien esta otra:

1 5 6 4 7 2 3

3 5 4 6 7 2 1
47

7 1 2 3 5 4 6

5 4 1 2 3 6 7

O cualquier otra combinacin.

2.1.4.3 Seleccin

A cada individuo se le asigna una probabilidad de seleccin de acuerdo con su fitness,


luego mediante una ruleta se seleccionan los individuos para el cruzamiento, y as pasar a la
siguiente generacin. Los individuos seleccionados son la mitad de la poblacin. Tambin
es preciso mencionar una estrategia de elitismo, la cual elije a todos los individuos que se
encuentren en la Frontera de Pareto para que pasen a la siguiente generacin. A
continuacin se presenta un ejemplo:

Supngase que se tienen los siguientes individuos, con el fitness indicado en la tabla:

Tabla 2.1: Fitness de los individuos y probabilidad de seleccin

Probabilidad de Prob.
Individuo Fitness seleccin Acumulada
1 100 100 / 640 0,16 0,16
2 100 100 / 640 0,16 0,32
3 100 100 / 640 0,16 0,48
4 80 80 / 640 0,13 0,61
5 75 75 / 640 0,11 0,72
48

6 60 60 / 640 0,09 0,81


7 50 50 / 640 0,08 0,89
8 40 40 / 640 0,06 0,95
9 20 20 / 640 0,03 0,98
10 15 15 / 640 0,02 1,00
Suma Fitness 640 1,00
.

La probabilidad de que un individuo sea seleccionado para pasar a la siguiente generacin


est dada por su fitness, dividido por la suma de los fitness de cada individuo, as, por
ejemplo, la probabilidad de seleccionar al individuo nmero 1, es : 100 / 640 = 0.16. El
mismo clculo es realizado para cada individuo de la poblacin. As, como podemos ver en
el siguiente grfico, cada individuo posee una probabilidad se seleccin que depende de qu
tan buena solucin es.

3% 2% 16%
6%

8%

9% 16%

11%
16%
13%

Grfico 2.1: Probabilidades de Seleccin y Ruleta


49

As, la seleccin por ruleta se puede visualizar como el proceso de elegir un nmero
aleatorio entre 0 y 1, y elegir al individuo que est en ese rango, para lo cul ayuda el
clculo de la probabilidad acumulada. Por ejemplo, un nmero aleatorio x=0.28, nos indica
que el individuo a seleccionar es el segundo ya que su probabilidad acumulada es 0.32, y
cualquier valor aleatorio entre 0.17 y 0.32, indicara la seleccin de ste.

Ya que es posible que ms de una vez la eleccin de un nmero aleatorio coincida con un
mismo individuo, no hay problema en que ste sea seleccionado ms de una vez. Adems,
como se mencion anteriormente, los individuos de la Frontera de Pareto, pasan
automticamente a la siguiente generacin, lo que en este ejemplo, significara que los
individuos 1, 2 y 3 son seleccionados en primer lugar, y para completar la mitad de la
poblacin que tiene que ser seleccionada, se realiza el proceso de la ruleta.

2.1.4.4 Cruzamiento

El proceso de cruzar los individuos seleccionados en la fase anterior, consiste en elegir


primeramente dos individuos de forma aleatoria, luego una posicin en ellos, y
posteriormente, concatenar cada uno de las partes obtenidas (alelos). Por ejemplo, con los
siguientes padres:

7 5 1 4 3 2 6

2 3 5 6 7 6 1
50

Y aleatoriamente elegir la posicin 4, se obtendran los siguientes hijos:

7 5 1 4 7 6 1

2 3 5 6 3 2 6
Dado que los hijos son soluciones infactibles para el problema puesto que hay trabajos
repetidos y otros que no aparecen, estos individuos deben ser modificados. En el primer
hijo, no aparece el trabajo 2 ni el 3 y est repetido el trabajo 7 y el 1, y en el hijo dos el
nico trabajo no repetido es el 5, faltando por aparecer los trabajos 1, 4 y 7. Para
solucionar esto, aleatoriamente se elijen los trabajos faltantes y se colocan en una posicin
donde haya un trabajo repetido. As se puede llegar a la siguiente configuracin de los
individuos, la que cumple con ser una solucin factible:

7 5 2 4 3 6 1

2 4 5 6 7 3 1

2.1.4.5 Mutacin

La mutacin es un procedimiento simple en el que simplemente se toman aleatoriamente


dos posiciones dentro de la secuencia, y esos valores son intercambiados entre s, lo que se
51

conoce como intercambio de pares. La cantidad de individuos que son objeto de mutacin
depende de una probabilidad de mutacin, que generalmente es un valor pequeo. El
siguiente es un ejemplo:

3 5 4 6 7 2 1

En la secuencia anterior, se han elegido los trabajos 4 y 2 para ser intercambiados y con ello
logar un cambio en los objetivos que se busca mejorar, con lo que el individuo mutado sera
el que se ve a continuacin:

3 5 2 6 7 4 1

2.1.4.6 Fitness (funcin de aptitud)

El fitness indica qu tan buena es una solucin con respecto a las dems. Esta medida se
calcula considerando los valores de cada objetivo a evaluar. La implementacin a realizar
considera los objetivos Cmax y Tardanza.

En primer trmino se divide la poblacin en varios ranking, utilizando los conceptos


incorporados por Goldberg en 1989, donde el primer ranking est constituido por las
soluciones no dominadas del conjunto de soluciones, el segundo ranking ser compuesto de
las soluciones no dominadas, no considerando las soluciones del ranking anterior, y as
52

sucesivamente hasta que todos los individuos hayan sido clasificados. Posteriormente, a
cada ranking le es asignado un fitness inicial, es decir que cada individuo de ese ranking
posee el mismo fitness, dado que desde una perspectiva multiobjetivo, las soluciones no
dominadas entre s, son iguales.

Pero adems, Goldberg introdujo los conceptos de formacin de nichos y la utilizacin de


una funcin fitness compartido, los que tambin son considerados en la asignacin de un
fitness final a cada individuo. La idea es darles un mayor fitness a aquellos individuos que
estn ms alejados de los dems dentro de un mismo ranking y un fitness menor a aquellos
que estn ms cercanos, todo esto ayuda a reducir la competicin por recursos y obtener
sub-poblaciones estables.

2.1.4.6.1 Clculo Fitness Inicial

El procedimiento para calcular el fitness inicial, as como el final, es extrado del Captulo 5
de la Obra de Deb (2001), Multi-Objective Optimization using Evolutionary Algorithms,
donde el fitness inicial se define como sigue:
53

Donde N es el nmero de individuos de la poblacin y (ri) es la cantidad de individuos en


el ranking i.

Para verlo claramente se presenta el siguiente ejemplo (Deb, 2001), que slo posee seis
individuos, cuyos datos se presentan en la siguiente tabla:

Tabla 2.2: Ranking de los individuos

Solucin Cmax Tardanza Ranking


1 0,31 6,10 1
2 0,43 6,79 2
3 0,22 7,09 1
4 0,59 7,85 4
5 0,66 3,65 1
6 0,83 4,23 2

El grfico de estas soluciones muestra cada curva de soluciones, es decir, cada ranking:
54

Grfico 2.2: Ranking de las soluciones

Con estos datos se puede calcular el fitness inicial de la siguiente forma, utilizando la
formula anteriormente vista:

F1 = 6 0 0.5 (3 1) = 5

F2 = 6 3 0.5 (2 1) = 2.5

F4 = 6 3 2 0.5 (1 1) = 1

Lo que indica que para el primer ranking, el fitness es de 5, para el segundo es 2.5, y 1 es
para el ltimo.
55

2.1.4.6.2 Clculo Fitness Final

En esta etapa se modifican los valores iniciales del fitness de cada individuo. Lo que se
intenta, es dar un mejor fitness a aquellos individuos que se encuentran ms aislados y
castigar a aquellos individuos que se encuentren reunidos en un nicho, disminuyendo su
fitness. El clculo es bastante complicado, y para su completo entendimiento, hace falta un
anlisis profundo. Aun as, se explica y se presenta un ejemplo (Deb, 2001).
56

En primer trmino, se debe calcular la distancia entre las soluciones de cada ranking
utilizando la siguiente frmula:

La que indica la distancia entre el individuo j y el individuo i. Donde, fkmax y fkmin son el
mximo y mnimo valor del objetivo k. Luego, el contador del nicho para el individuo i, es
la sumatoria de las distancias de i a cada individuo de ese ranking, aplicando la funcin Sh,
es decir:

Donde (ri) es el nmero de soluciones del ranking ri. Y la funcin Sh se define como
sigue:

Sh (dij) = 1 (dij / share) ; Si dij < share


57

En cualquier otro caso Sh (dij) = 0. La idea es que la funcin entregue un valor entre 0 y 1,
como medida de qu tan cerca estn los individuos, siendo un valor cercano a uno indicador
de que los individuos muy cercanos, y un valor cercano a cero indica que se encuentran
ms distantes.

El valor de share algunos autores lo utilizan como un parmetro el cual se va modificando


para ver los efectos que produce, otros, para un determinado nmero de individuos dan un
valor fijo. Para el caso que se presenta se opt por calcular el valor de share, que depender
de tres valores; n que es el nmero de objetivos que se analizan que este caso es 2; q, que es
un valor fijo que puedo variar entre 5 y 10; y r, que es:

Donde, fkmax y fkmin son el mximo y mnimo valor del objetivo k. As share, que indica qu
valor se considera como lmite para determinar si un individuo pertenece, o no, a un mismo
nicho, se calcula de la siguiente manera:
58

A continuacin, se contina con el ejemplo anterior, al que se le aplicar el proceso para


obtener el fitness final, para la primera curva. Asumiendo un f1max = 1, f1min =0.1, f2max =
10, f2min =1.

d13 = ( (0.31 0.22) / (1 0.1) )2 + ( (6.1 7.09) / (10 1) )2

= 0.0221

= 0.149

d15 = ( (0.31 0.66) / (1 0.1) )2 + ( (6.1 3.65) / (10 1) )2

= 0.2253

= 0.475

d35 = ( (0.22 0.66) / (1 0.1) )2 + ( (7.09 3.65) / (10 1) )2

= 0.3851

= 0.6206

Suponiendo un share = 0.5:

Sh (d13) = 0.702, Sh (d15) = 0.05, Sh (d35) = 0


59

As, el contador de nicho para los individuos del primer ranking, seran los siguientes:

nc1 = 1 + 0.702 + 0.05 = 1.752

nc3 = 1 + 0.702 + 0 = 1.702

nc5 = 1 + 0.05 + 0 = 1.050

Posteriormente se calcula un Fitness Compartido dividiendo el fitness inicial por el


contador de nicho de ese individuo. Adems, se debe calcular un factor del ranking, el cual
es el fitness inicial del los individuos por el nmero de individuos de este ranking, dividido
por la suma de los fitness compartidos, lo que en este caso sera, (5 x 3) / (2.854 + 2.938 +
4.762) = 1.421.
60

Despus de esto, se multiplica el fitness compartido de cada individuo por el factor recin
calculado, y se obtiene el fitness final. Lo que sera:

Individuo 1: 2.854 * 1.421 = 4.056

Individuo 3: 2.938 * 1.421 = 4.176

Individuo 5: 4.762 * 1.421 = 6.768

Esto, muestra cmo, desde un fitness inicial de 5 para cada individuo de este ranking, se
lleg a un fitness final diferenciado, en el que los individuos que se encontraban ms
cercanos, son castigados, y el individuo ms alejado es beneficiado en su fitness.
61

2.2 Simulated Annealing

Simulated Annealing es una Metaheurstica que en la solucin de problemas de un solo


objetivo ha sido probada ampliamente, pero no as en el mbito multiobjetivo.

Como se mencion en un Captulo anterior, Simulated Annealing es una analoga del


proceso de templado de los metales, donde un metal es calentado hasta cuando empieza a
derretirse y se disminuye su temperatura controladamente. En la fase de mayor temperatura
las partculas se mueven aleatoriamente y, a medida que la temperatura disminuye, estas
partculas se mueven en forma ms ordenada. As, el proceso de enfriamiento se puede ver
como la bsqueda de soluciones, donde, en un comienzo, el pasar de una solucin a otra
peor es frecuente, pero a medida que la temperatura disminuye, son menos las soluciones
peores que son aceptadas como nueva solucin obtenida. Si el enfriamiento se realiza en
forma muy rpida se produce fragilidad en los metales, lo que en el algoritmo significara el
obtener un ptimo local.
62

2.2.1 MOSARTS

A continuacin se presenta la metaheurstica denominada MultiObjective Simulated


Annealing with Random Trajectory Search (MOSARTS). Esta tcnica se basa en el
Algoritmo Simulated Annealing, con la diferencia que introduce la utilizacin de memoria
de corto y largo plazo para realizar una bsqueda que permita balancear el esfuerzo entre
todos los objetivos involucrados en el problema, (Baesler, et al., 2005).

La idea en la cual se basa esta metaheurstica es en la aceptacin de soluciones inferiores,


lo que en el mbito Multiobjetivo significa una solucin dominada, utilizando la siguiente
norma:

P (Y, X, T) = Min {1, e maxj { j ( fj (X) fj (Y)) / T}}

Este valor indica la probabilidad de aceptacin de una solucin Y dada una solucin X a
una temperatura T. El parmetro representa el peso de la funcin objetivo j con respecto
a la importancia total.
63

La mayor diferencia entre los enfoques de Simulated Annealing Multiobjetivo est dada por
la forma en que se define la probabilidad de aceptacin de una nueva solucin dominada.

Esta metaheurstica se sita en el argumento de seleccionar un solo objetivo en cada


iteracin, que se llamar Objetivo Referente (OR), y en base a ste continuar con el
proceso de bsqueda en esa iteracin, as no es necesario modificar la estructura de
Simulated Annealing para el caso de un solo objetivo. Se incorporan mecanismos
inteligentes como memoria de corto y largo plazo que permiten elegir una direccin en la
cul centrarse en cada iteracin. La probabilidad de aceptacin de una solucin inferior
sigue siendo definida por la variacin de la funcin objetivo con respecto a la solucin
anterior y por la temperatura actual del sistema (Baesler et al., 2005), donde se tiene una
temperatura diferente para cada objetivo.

La memoria de largo plazo indica como ha evolucionado histricamente cada objetivo en


forma individual. La memoria de corto plazo indica cuanto mejor un objetivo en la ltima
iteracin (Baesler et al., 2005).

Una vez que se ha encontrado una solucin inicial, dgase X0, se evala un vecino de X0,
dgase X1. Esto se realiza comparando cada objetivo de la solucin X1 con respecto a la
solucin anterior X0. Es aqu donde podra darse uno de los siguientes escenarios:

9 Todos los objetivos mejoran


9 Todos los objetivos empeoran
9 Algunos objetivos mejoran y otros empeoran
64

En el caso en que todos los objetivos mejoren, significa que la nueva solucin es mejor que
la anterior, o sea, X1 domina a X0, por lo que X1 es aceptada para continuar la bsqueda en
esa direccin.

Si todos los objetivos empeoran, es decir, si X0 domina a X1, se evala una funcin de
aceptacin para ver si se admite esta nueva solucin para continuar la bsqueda desde ah.
Esta funcin de aceptacin se referir a un solo objetivo, por lo que ser necesario
seleccionar previamente un Objetivo Referente (OR) para guiar el proceso.

En el ltimo caso, donde ninguna solucin domina a la otra, se elige un OR, si est objetivo
mejora en X1 con respecto a X0, X1 es aceptada, en caso contrario, se debe evaluar una
funcin de aceptacin que siempre depende de la temperatura particular de ese objetivo en
el momento actual de la bsqueda.

2.2.2 Obtencin del Objetivo Referente


65

El OR se elige dependiendo de una Funcin de Seleccin (FS). Esta funcin de seleccin


no emplea tan solo el criterio obvio de seleccin aleatoria, sino que incorpora tambin la
mejora o detrimento de cada objetivo, es decir, el desempeo, tanto en la ltima etapa de la
evaluacin (desempeo inmediato o memoria de corto plazo), como en todo el trayecto
recorrido (desempeo histrico o memoria de largo plazo) (Baesler et al., 2005). La FS
utiliza dos parmetros arbitrarios que indican la importancia que el Tomador de Decisiones
le concede a cada uno de los desempeos, o sea, qu tan importante considera la memoria
de largo y corto plazo.

La estructura de la funcin de seleccin ser la siguiente:

FSi = w1 * F1 + w2 * F2

Donde:

W1 = Ponderacin arbitraria de importancia de la memoria de largo plazo.


W2 = Ponderacin arbitraria de importancia de la memoria de corto plazo.

F1 = Ti / Timax
F1 = Funcin de Probabilidad de seleccin de un objetivo dependiendo de su
desempeo histrico (memoria de largo plazo) (Baesler et al., 2005).

Ti = Temperatura actual del sistema para el objetivo i.


Timax = Temperatura de inicio del objetivo i.
66

La funcin F1 tiene por misin dar una mayor probabilidad de seleccin a aquellos
objetivos que no han tenido un buen desempeo, es decir, que en todo el proceso de
construccin de soluciones no han mejorado lo suficiente. Los objetivos que han mejorado
bastante tienen relacionado un Ti mucho menor que Timax, ya que el Ti disminuye cada vez
que el objetivo i mejora. As entonces, la razn Ti / Timax es elevada cuando el objetivo i
no ha sido explorado suficientemente.

F2 = 1 (C%i / C%i)

F2 = Funcin de Probabilidad de seleccin de un objetivo segn el desempeo


reciente (memoria de corto plazo) (Baesler et al., 2005).

C%i = Variacin porcentual del objetivo i.

Lo que la funcin F2 plantea, es asignarle una mayor probabilidad de seleccin como OR a


aquellos objetivos que en la ltima iteracin hayan tenido un mejoramiento significativo.
Los objetivos que ms mejoraron en la ltima iteracin tendrn una razn C%i / C%i
mayor. Esta variacin se mide en porcentaje ya que las escalas de los objetivos son
distintas, y se deben comparar entre s.

As, cada objetivo tendr una funcin de seleccin,


67

FSi = w1 * F1 + w2 * F2

Para seccionar el OR, se calcula la Probabilidad de Seleccin (PS) para cada objetivo,
como sigue:

PSi = FSi / FSi

Se cumple que PSi = 1. As entonces, se genera un nmero aleatorio entre 0 y 1, para


escoger cual ser el OR.
68

2.2.3 Algoritmo MOSARTS, MultiObjective Simulated Annealing with


Random Trajectory Search. (Baesler, et al., 2005).

Los pasos que se pueden visualizar son los siguientes.

1. Definir solucin inicial X0


2. Evaluar objetivos Fi (X0)
3. Definir vecino de X0 como X1
4. Evaluar objetivos Fi(X1)
5. Comparar los objetivos de X0 con los de X1
6. Si X1 domina a X0, hacer X0 = X1 y volver a 3. En caso contrario ir a 7.
7. Obtener funcin de seleccin FS, Probabilidad de Seleccin PS, y Objetivo
Referente OR. Ir a 8.
8. Si OR mejora, hacer X0 = X1, actualizar temperatura particular de Ti. Volver a 3. En
caso contrario ir a 9.
9. Calcular funcin de seleccin particular FAP exp ((C/Ti)) para el OR.
10. Si FAP rechaza la solucin, volver a 3. En caso contrario ir a 11.
11. Hacer X0 = X1, actualizar temperatura particular Ti del OR. Volver a 3.
69

Captulo 3. COMPARACION INDIVIDUAL DE


AMBAS METAHEURISTICAS

Las dos Metaheursticas fueron implementadas en lenguaje C++, para poder realizar
experimentos y hacer las respectivas comparaciones entre ambas.

En primer lugar se realiz un anlisis individual, para determinar cuales son los mejores
parmetros, que se ajustan a cada implementacin para posteriormente, considerando dos
problemas de prueba, compararlas entre ellas, y poder determinar cul tiene un mejor
desempeo.

El anlisis preliminar para determinar los mejores parmetros considerar un problema


Flow-Shop de 49 trabajos que deben ser procesados en 15 mquinas, el cual ser probado
con varias combinaciones de parmetros, y la combinacin de parmetros que entregue los
mejores resultados, ser la que se utilice para comparar con la otra Metaheurstica.
70

Dado que en los problemas multiobjetivo no se genera una solucin individual, sino que
una curva de soluciones, y como las soluciones son no-dominadas, no se puede decir que
una es mejor que otra, y los criterios de comparacin pueden ser variados, pero se
considerarn los siguientes:

El Nmero de soluciones en la Curva de Pareto. Es deseable una Frontera de Pareto de


alta densidad, esto es porque finalmente la decisin de cul solucin es la que se elige
depende de un tomador de decisiones, el que podra preferir soluciones mejores en un
objetivo, en contraste con otro que preferira una solucin mejor en otro objetivo, por
ejemplo si se tiene la siguiente frontera de pareto:

Ejemplo 1: curva con pocas soluciones


Grfico 3.1:
18000 Ejemplo curva
Tardanza

17000
de pareto con
16000
pocas soluciones
15000
14000
3550 3600 3650 3700 3750
Cmax

El nmero de posibilidades de elegir una solucin es reducido, y slo se pueden elegir


extremos, o sea, una buena solucin para la Tardanza pero mala para el Cmax, o viceversa,
por lo que se hace ms deseable una Curva de soluciones como la que sigue, ya que se
pueden elegir soluciones intermedias:
71

Ejemplo 2: curva con varias soluciones

18000

Tardanza
17000
16000
15000
14000
3550 3600 3650 3700 3750
Cmax

Grfico 3.2: Ejemplo curva de pareto con varias soluciones

Otra medida de comparacin ser el Porcentaje de Soluciones en una Nueva Frontera de


Pareto generada por las curvas que se estn comparando. Este mtodo fue propuesto
Hyun, et al. (1998). Su idea era comparar dos Metaheursticas creando una nueva Frontera
de Pareto, que estara compuesta por las soluciones no-dominadas entregadas por cada una,
y ver cuantas de las soluciones de la nueva Frontera pertenecen a una Metaheurstica y
cuantas a la otra, esta nueva curva a lo menos tendr la cantidad de soluciones de la
Metaheurstica con menos soluciones y a lo ms la suma de ambas. Por ejemplo, si la
curva de una Metaheurstica tiene 5 soluciones, y la otra 7, la nueva curva tendr un
mnimo de 5 soluciones y un mximo de 12 (5 + 7) soluciones. En este mismo ejemplo, si
en la nueva curva hay 10 soluciones, y 3 pertenecen a la Metaheurstica 1 y las otras 7 a la
Metaheurstica 2, se entender que la Metaheurstica 2 es mejor que la 1.

Este mismo proceso se utilizar para comparar curvas de una misma Metaheurstica en caso
de que sea difcil decidir cual combinacin de parmetros es la mejor, considerando los
otros criterios de comparacin.
72

El Promedio Valores de los Objetivos de todas las curva de pareto obtenidas en el proceso
de experimentacin, es importante para analizar como se comporta una Metaheurstica.
Otros criterios de comparacin menos concluyentes y menos importantes, pero que sirven
para decidir son: la desviacin estndar en el nmero de soluciones de la Frontera de Pareto
obtenidas en un conjunto de ejecuciones de una Metaheurstica; La cantidad de Curvas
distintas generadas; y El mximo nmero de soluciones.

3.1 Parmetros para Algoritmo Gentico

Los parmetros a probar en el AG son la cantidad de individuos, el nmero de generaciones


y la probabilidad de mutacin. Para ello, se harn combinaciones de parmetros y con cada
una de ella se ejecutar el programa 10 veces, para ver como se comporta. Los parmetros
para las combinaciones sern los siguientes:

Tabla 3.1: Parmetros a combinar

Individuos 100 200 300

Generaciones 100 150 300 500

%Mutacin 1 3 5 10 15
73

Con estos parmetros se realizarn todas las combinaciones posibles y se determinar cual
es la mejor. Es decir, se tendrn 60 combinaciones, cada cual se ejecutar 10 veces, y as se
obtendrn las mejores combinaciones de parmetros.

Despus de ejecutar todos estos experimentos, se extrae la siguiente informacin: Cantidad


Curvas Distintas, Mximo Nmero de Soluciones, Mnimo Nmero de Soluciones,
Promedio del Nmero de Soluciones y Desviacin Estndar, y se ordenarn por el valor
promedio del nmero de soluciones. As se obtuvo la siguiente tabla, que contiene las
mejores combinaciones, en la cul adems, se muestra el promedio de ambos objetivos
considerados:

Tabla 3.2: Resultados experimentos con parmetros para AG

Indivi Genera %Muta Prom. Desviacin Cant. Max. Min. Prom Prom
duos ciones cin Num.Sol Standar Curvas Num.Sol Num.sol. Cmax Tard
300 150 10 7,2 1,8 6 9 4 3685,7 15447
300 500 10 7,1 2 5 9 4 3660,7 14851
100 100 15 6,3 2,3 7 11 4 3692,9 17153
300 150 15 6,2 2,2 7 11 3 3649 15420
300 150 5 6,1 1,7 6 8 3 3700,1 16301

Las dems soluciones posean un Promedio de Nmero de Soluciones inferior a 5.5 y ests
posean los mejores promedios de Cmax y Tardanza, adems los Mximos y Mnimos de
Nmero de Soluciones son superiores a la media, que fueron 6.6 y 2.5 respectivamente.
74

Posterior a este anlisis se tomaron los resultados entregados por las 4 primeras
combinaciones, y con stos se gener una sola curva para realizar el anlisis propuesto por
Hyun et al. (1998). As se obtuvieron 10 grficos como el siguiente:

100-100-15
Ejemplo 300-150-10

19000 300-150-15

18000 300-500-10
Tardanza

17000

16000

15000

14000
3550 3600 3650 3700 3750 3800

Cmax

Grfico 3.3: Ejemplo de combinacin de Curvas de Pareto Obtenidas


75

Con los que se pudo generar la siguiente tabla con los datos que muestra:

Tabla 3.3: Resultados comparativos de mejores combinaciones

100-100-15 300-150-10 300-150-15 300-500-10


1 -- -- -- 1,00
2 -- -- 0,50 0,50
3 -- -- -- 1,00
4 -- 0,58 0,42 --
5 -- 0,69 -- 0,31
6 -- -- 0,43 0,57
7 -- -- -- 1,00
8 -- 0,13 0,38 0,50
9 -- -- -- 1,00
10 -- 0,09 0,64 0,27
Promedio 0 14,92% 23,57% 61,52%

Lo que nos demuestra que la mejor combinacin de parmetros es la de 300 individuos, 500
generaciones y 10 % de mutacin. Por lo que estos sern los parmetros que se utilizarn
para comparar esta Metaheurstica versus MOSARTS.
76

3.2 Parmetros para Simulated Annealing (MOSARTS)

Para el caso de Simulated Annealing los parmetros a determinar son las Memorias de
Largo y Corto Plazo para cada objetivo analizado, es decir, para la Tardanza y el Cmax.
De la misma forma que para el caso del AG, se harn combinaciones de parmetros y con
cada una de estas combinaciones se ejecutar el programa 10 veces, para ver como se
comporta. Las combinaciones de estos parmetros deben sumar 1 para cada objetivo, por
lo que todas las combinaciones a probar son las siguientes:

Tabla 3.4: Combinaciones para parmetros de MOSARTS

Memoria c/p Memoria l/p Memoria c/p Memoria l/p


Cmax Cmax Tardanza Tardanza
0,2 0,8 0,2 0,8
0,2 0,8 0,5 0,5
0,2 0,8 0,8 0,2
0,5 0,5 0,2 0,8
0,5 0,5 0,5 0,5
0,5 0,5 0,8 0,2
0,8 0,2 0,2 0,8
0,8 0,2 0,5 0,5
0,8 0,2 0,8 0,2
77

Cantidad de Curvas Distintas, Mximo Nmero de Soluciones, Mnimo Nmero de


Soluciones, Promedio del Nmero de Soluciones y Desviacin Estndar, son los datos que
se extraen al ejecutar el programa con cada una de las combinaciones. Adems se calcula
el promedio de las curvas generadas por cada combinacin de parmetros.

Tabla 3.5: Resultados experimentos con parmetros para MOSARTS

Prom. Desviacin Cant. Mx. Min. Prom Prom


Combinacin Num. Sol Estndar Curvas Num. Sol. Num Sol. Cmax Tard.
0,2-0,8-0,2-0,8 4,3 1,5 7 6 1 4018 25842
0,2-0,8-0,5-0,5 5,7 2 5 7 1 4026 26196
0,2-0,8-0,8-0,2 5,2 1,2 5 6 4 4032 25446
0,5-0,5-0,2-0,8 3,9 1,4 7 6 2 3976 24734
0,5-0,5-0,5-0,5 2,6 1 5 5 2 3987 24959
0,5-0,5-0,8-0,2 3,3 1,3 6 6 1 3991 24905
0,8-0,2-0,2-0,8 4,2 1,2 6 6 2 3979 24904
0,8-0,2-0,5-0,5 3,9 2 7 7 2 4013 24815
0,8-0,2-0,8-0,2 4,1 1,6 7 7 2 4003 25047
4,1 1,5 6,1 6,2 1,9 4002,7 25205,4

Observando el Promedio del Nmero de Soluciones generadas por la Metaheurstica, se


puede decir que hay dos combinaciones superiores a las dems, las que tienen un promedio
de 5.7 y 5.2. A su vez, existen cuatro combinaciones que tienen un promedio de Cmax y
Tardanza inferior al promedio, las que tambin se puede decir que son buenas
combinaciones. Por este motivo se compararn estas seis combinaciones utilizando el
mtodo de Hyun et al. (1998). El siguiente grfico es un ejemplo de cmo todas las curvas
generan una nueva, la que muestra cules curvas domina la nueva frontera.
78

Ejemplo
30000

28000
Tardanza

26000

24000

22000

20000
3850 3900 3950 4000 4050 4100 4150 4200 4250
Cmax

Grfico 3.4: Ejemplo combinacin de Curvas de Pareto Obtenidas

As, se obtuvieron los siguientes resultados:

Tabla 3.6: Resultados comparativos de mejores combinaciones

0,2-0,8-0,5-0,5 0,2-0,8-0,8-0,2 0,5-0,5-0,2-0,8 0,5-0,5-0,5-0,5 0,5-0,5-0,8-0,2 0,8-0,2-0,2-0,8


1 -- 0,33 -- 0,17 0,33 0,17
2 -- -- 0,17 -- -- 0,83
3 -- -- 0,17 -- -- 0,83
4 -- -- 0,67 -- -- 0,33
5 -- -- 0,14 0,14 0,1-4 0,57
6 -- -- 0,50 -- 0,50 --
7 -- -- -- 0,50 0,25 0,25
8 0,5 -- 0,50 -- -- --
9 -- 0,20 0,20 -- 0,20 0,40
10 -- 0,29 0,43 -- 0,14 0,14
Promedio 5,00% 8,19% 27,71% 8,10% 15,69% 35,31%
79

Los promedios obtenidos indican que la tercera y sexta combinacin son las mejores, es
decir, que para la Tardanza se debe tener una ponderacin de la Memoria de Largo Plazo
alta, en este caso, 0.8 u 80%, y una ponderacin pequea para la Memoria de corto Plazo, o
sea, un 20%. Pero no queda claro cuales son mejores parmetros para el objetivo Cmax.
Por este motivo se realiz una comparacin con el mtodo de Hyun, et al. (1998), entre
estas dos combinaciones solamente, para ver cul de ellas era mejor. Los resultados se
presentan en la siguiente tabla:

Tabla 3.7: Resultados comparativos de las dos mejores combinaciones

0,5-0,5-0,2-0,8 0,8-0,2-0,2-0,8
1 0,25 0,75
2 0,17 0,83
3 0,17 0,83
4 0,67 0,33
5 0,20 0,80
6 1,00 0,00
7 0,25 0,75
8 1,00 0,00
9 0,50 0,50
10 0,83 0,17
Promedio 50,33 49,67

Lo que deja empatadas a ambas combinaciones. Dado esto, se opt por considerar cul de
ellas presenta una mayor densidad de las Curvas de Pareto:
80

Tabla 3.8: Comparacin de las mejores combinaciones para MOSARTS

Prom. Desviacin Cant. Mx. Min. Prom Prom


Combinacin Num. Sol Estndar Curvas Num. Sol. Num Sol. Cmax Tard.
0,5-0,5-0,2-0,8 3,9 1,4 7 6 2 3976 24734
0,8-0,2-0,2-0,8 4,2 1,2 6 6 2 3979 24904

As es como se determin que la combinacin de 80 %, 20 % para las memorias de Largo y


Corto Plazo, respectivamente, en el Objetivo Cmax, sern consideradas para la
comparacin con el Algoritmo Gentico.
81

3.2.1 Comparacin de MOSARTS versus Simulated Annealing Simple

La diferencia entre MOSARTS y una implementacin normal de Simulated Annealing es la


introduccin de una memoria de largo y corto plazo para la eleccin de un Objetivo
Referente que gue la bsqueda, la que para Simulated Annealing realiza observando el
comportamiento de todos los objetivos al mismo tiempo. As, es interesante comparar estas
dos formas de Simulated Annealing para ver en qu medida aporta MOSARTS a la
resolucin de problemas.

Para la comparacin se utilizaron los mismos mtodos vistos anteriormente, y los


resultados obtenidos se muestran a continuacin:

Tabla 3.9: Comparacin entre MOSARTS y Simulated Annealing Simple

Prom. Desv. Cant. Mx. Min. Prom. Prom.


Metaheurstica Num. Sol. Estndar Curvas Num. Sol. Num. Sol. Cmax Tard.
SA Simple 4,3 1,3 7 6 2 4027 26574,2
MOSARTS 3,6 1,1 9 5 1 3987,4 25541,7

Como se puede observar, MOSARTS muestra una ventaja en cuanto a los promedios de los
objetivos, aun cuando, el promedio de nmero de soluciones de las curvas de pareto es
inferior. Adems, utilizando el mtodo de Hyun et al. (1998), se obtuvieron los siguientes
resultados:
82

Tabla 3.10: Resultados comparativos entre MOSARTS y Simulated Annealing simple

Experimento MOSARTS SA SIMPLE


1 0,67 0,33
2 0,33 0,67
3 0,80 0,20
4 0,50 0,50
5 1,00 0,00
6 0,60 0,40
7 0,80 0,20
8 1,00 0,00
9 1,00 0,00
10 0,80 0,20
PROMEDIO 75% 25%

Los resultados expuestos indican que, al generar una Curva de Pareto uniendo las dos
curvas generadas individualmente por ambas Metaheursticas, en promedio, un 75 % de las
soluciones pertenecen a MOSARTS y slo un 25% a Simulated Annealing simple.

Esto nos muestra que MOSARTS es un mejor mtodo que el uso de Simulated Annealing
simple, por lo que es un aporte en el estudio de las Metaheursticas, y resolucin de
problemas combinatorios, y refuerza el inters por compararla con otra tcnica ms
sofisticada como lo es Algoritmos Genticos.
83

Captulo 4. COMPARACION ENTRE MOSARTS


(SIMULATED ANNEALING) Y UN ALGORITMO
GENTICO MULTIOBJETICO

Para la comparacin entre ambas Metaheursticas se utilizarn los mismos criterios a los
que se recurri para la comparacin entre distintos parmetros. As, cada una ser
ejecutada diez veces para ver su comportamiento en comparacin con la otra. Se utilizarn
dos problemas de prueba uno grande, el mismo utilizado anteriormente, de 49 trabajos y 15
mquinas, y otro ms pequeo de 20 trabajos y 10 mquinas.

4.1 Comparacin para Problema Grande

De los datos obtenidos al ejecutar ambas Metaheursticas 10 veces, se extrajo la siguiente


informacin:

Tabla 4.1: Comparacin entre MOSARTS (SA) y Algoritmo Gentico

Meta Prom Desviacin Cant. Max. Min. Prom. Prom.


Heurstica Num. Sol. Estndar Curvas Num. Sol. Num. Sol. Cmax Tard.
AG 5,4 2,5 8 9 2 3658,7 15008,6
84

SA 3,6 1,1 9 5 1 3987,4 25541,7

Como se puede observar, el Algoritmo Gentico, supera ampliamente en lo que respecta al


Promedio del Nmero de Soluciones de las Curvas de Pareto generadas y al Promedio de
los Objetivos que se desean minimizar. Por este motivo, se muestra a continuacin un
grfico en el cual estn todas las curvas obtenidas en el proceso de comparacin, para ver
una visin general del comportamiento de ambas metaheursticas:

Comparacin entre Simulated Annealing Multiobjetivo


(MOSARTS) y un Algoritmo Gentico Multi Objetivo
35000
30000
25000
Tardanza

20000
SA
15000
AG
10000
5000
0
3500 3600 3700 3800 3900 4000 4100 4200
Cmax

Grfico 4.1: Comparacin entre MOSARTS y Algoritmos Genticos

Como se puede observar, todas las soluciones de las Curvas de Pareto generadas por el
Algoritmos Gentico dominan a las generadas por MOSARTS en ambos objetivos.
85

4.2 Comparacin para Problema Pequeo

Para el caso del problema mas pequeo MOSART no presenta muchas mejoras, aunque en
un primer anlisis se ve una mayor densidad en las curvas generadas por esta
Metaheurstica:

Tabla 4.2: Comparacin entre MOSARTS (SA) y Algoritmo Gentico

Meta Prom Desviacin Cant. Max. Min. Num. Prom. Prom.


Heurstica Num. Sol. Estndar Curvas Num. Sol. Sol. Cmax Tard.
AG 3,5 1,3 10 6 2 392,8 637,2
SA 5,1 2,3 9 11 2 401,9 800,7

Pero el promedio de los objetivos sigue siendo peor. Adems de las 10 iteraciones en que
fue comparado, slo en una se logr superar al AG, obteniendo el 57% de la curva generada
por la combinacin de las curvas de ambas Metaheursticas, en el resto de las iteraciones el
AG siempre fue superior. Esto se puede apreciar en el siguiente grfico donde se muestran
las soluciones de todas las curvas generadas durante la comparacin:
86

Comparacin entre Simulated Annealing Multiobjetivo


(MOSARTS) y un Algoritmo Gentico Multi Objetivo

1200
1000
Tardanza

800 SA
600 AG
400
200
0
370 380 390 400 410 420 430
Cmax

Grfico 4.2: Comparacin entre MOSARTS y Algoritmo Gentico para problema pequeo

4.3 Comentarios de la Comparacin

Por lo visto en anlisis comparativo, el Algoritmo Gentico supera ampliamente a la


implementacin de MOSARTS, sobretodo en el problema ms grande. Pero uno de los
aspectos no mencionados, es el tiempo de ejecucin de los programas. Mientras que para el
problema grande AG tiene un promedio de ejecucin de 45 segundos, MOSARTS slo
ocupa 0.75 segundos en promedio. Esto da una clara oportunidad a MOSARTS, para
modificaciones futuras que puedan incorporar nuevos mecanismos tendientes a explorar
mejor el espacio de soluciones, sin llegar a acercarse siquiera al tiempo que toma el AG en
ejecutarse.
87

Otro punto importante de mencionar es que el tiempo de ejecucin de MOSARTS depende


de la Temperatura y de cmo sta va disminuyendo. Como resultado de la comparacin se
ve una gran diferencia en el objetivo de la Tardanza, lo que hace pensar en cmo mejorar
este objetivo. As, se puede intentar que la temperatura vaya disminuyendo ms lentamente
para este objetivo, y de esta forma aumentar el nmero de soluciones analizadas.
Realizando este nuevo experimento, que aproximadamente iguala los tiempos de ambas
Metaheursticas, los resultados tampoco son muy alentadores para MOSARTS, ya que
aunque los promedios de los ambos objetivos disminuyeron de 3987,4 y 25541,7 a 3952,2
23439,4, las diferencias siguen siendo notorias, como se puede observar en el siguiente
grfico:

Comparacin entre Simulated Annealing Multiobjetivo


(MOSARTS) y un Algoritmo Gentico Multi Objetivo
30000
25000
Tardanza

20000
SA
15000
AG
10000
5000
0
3500 3600 3700 3800 3900 4000 4100 4200
Cmax

Grfico 4.3: Comparacin entre MOSARTS y Algoritmo Gentico


88

En este punto, no parece prudente volver a probar el algoritmo usando un valor de


disminucin de la temperatura inferior, ya que aumentara el tiempo de proceso por sobre el
AG, y no se ven grandes mejoras.
89

Captulo 5. CONCLUSIONES Y COMENTARIOS

Generalmente las decisiones de cmo proceder en la elaboracin de la secuencia que


seguirn los trabajos en el momento de procesarse, se toman en base a ms de objetivo que
se desea optimizar, lo que hace que los problemas de programacin de la produccin
aumenten su complejidad, y pasan a llamarse Problemas de Optimizacin Multiobjetivo.
Estos problemas combinatorios, que se presentan en la industria, requieren un gran esfuerzo
de planificacin.

Un Problema de Optimizacin Multiobjetivo es de tipo Flow-Shop si los trabajos que se


deben realizar deben seguir el mismo orden de paso por cada mquina que interviene en el
proceso. Los problemas Flow-Shop se ven claramente en Celulosas, Papeleras, Madereras,
Armadura de Automviles, entre otras empresas.

Dada la complejidad exponencial de los problemas combinatorios, los algoritmos exactos


no pueden entregar una solucin ptima en un tiempo aceptable, debido a la limitada
capacidad de proceso de los computadores. Y, aunque esta capacidad de proceso fuera
mucho mayor, tampoco podran.
90

Las heursticas nacen para intentar encontrar buenas soluciones en un tiempo aceptable,
pero no indican qu tan cerca de la solucin ptima se encuentran. Por esto, aparecen las
Metaheursticas, que se pueden entender como heursticas, pero con mecanismos para
evitar caer en ptimos locales.

Metaheursticas basadas en Simulated Annealing y Algoritmos Genticos, en el mbito de


un solo objetivo, han sido ampliamente probadas, y han entregado resultados muy buenos,
lo que haca presumir que, aplicadas a problemas con ms de un objetivo, se conseguirn
resultados superiores. Lo que fue conseguido por el Algoritmo Gentico en un mayor
grado que MOSARTS.

Las Metaheursticas estn sujetas al ingreso de parmetros, de los cuales depende en


muchas ocasiones el buen o mal desempeo de stas, por lo que se debe experimentar el
ingreso de distintas combinaciones de estos parmetros para determinar cul combinacin
es la que ms ayuda a obtener las mejores soluciones. Por esto, es interesante la inclusin
de mecanismos de ajuste automtico de parmetros, para ambas Metaheursticas, que
permitan obtener la mejor combinacin de stos, y as entregar mejores soluciones.

La creacin de una Curva de Pareto formada por la unin de dos de ellas, para luego
cuantificar el nmero de soluciones aportadas desde cada Metaheurstica, mtodo
91

introducido por Hyun, et al. (1998), es una muy buena medida para la comparacin, ya que
indica claramente si existe superioridad de alguna Metaheurstica en relacin con otra.

En la literatura existente, por lo general el parmetro porcentaje de mutacin siempre est


asociado a un valor pequeo de aproximadamente un 5% o menor, sin embargo, las
mejores combinaciones en la etapa de experimentacin incluan valores como 10% o 15%.

De todos los datos extrados al ejecutar las Metaheursticas, el que mejor indica la calidad
de las soluciones entregadas, es el promedio de los valores de los objetivos analizados, esto
se ve en el anlisis de parmetros y en la comparacin de las Metaheursticas, ya que
siempre fue mejor uno de los tems con buenos promedios en estas columnas.

Si bien MOSARTS entrega mejores soluciones que Simulated Annealing simple, esto no es
suficiente para igualarse, o superar, a las soluciones entregadas por el Algoritmo Gentico,
que siempre fue superior, por lo que se hace preciso alguna modificacin a MOSARTS
para poder competir con algoritmos ms sofisticados.

MOSARTS posee un tiempo de ejecucin mucho menor que el Algoritmo Gentico, por lo
que se ve como una oportunidad para realizar mejoras al algoritmo y que seguir siendo
mejor que otras Metaheursticas en el uso del tiempo. A su vez, una posible mejora para el
Algoritmo Gentico, claro que con un menoscabo en el tiempo de ejecucin, y el hecho de
92

perder su esencia, sera convertirlo en un algoritmo hbrido mediante la incorporacin de


heursticas de bsqueda local.
93

Captulo 6. BIBLIOGRAFA

BAESLER, F., MORAGA, R. and CORNEJO, O. 2005. The use of memory elements in
simulated annealing to solve multiobjective parallel machine scheduling problems.
Aceptada en: Fifth Alio/Euro Conference On Combinatorial Optimization, Pars, Francia.
2005.

BAGCHI, T. P. 1999. Multiobjetive scheduling by genetic algorithms. Massachusetts,


USA, Prentice-Hall, 1999.

COELLO, C., C. 2005. Introduccin a los Algoritmos Genticos. [En lnea]


http://www.redcientifica.com/imprimir/doc199904260011.html [consulta: 15 diciembre
2005].

Deb, K. 2001. Multi-Objective Optimization using Evolutionary


Algorithms, John Wiley & Sons, Chichester, UK, 2001, ISBN 0-471-87339-X.

DEPUY, G. W., MORAGA, R. J. and WHITEHOUSE, E. G. 2004. Meta-RaPS: A simple


and effective approach for solving the traveling salesman problems. En: European Journal
of Operational Research, February, 2004.
94

HANAFI, S. and FREVILLE, A. 1997. An efficient tabu search approach for the 0-1
multidimensional knapsack problem. En: European Journal of Operational Research,
vol.106, April, 1997.

HYUN, C. J., KIM, Y. and KIN, Y. K. 1998. A genetic algorithm for multiple objective
sequencing problems in mixed model assembly. En: Computers and Operations Research
1998.

LEE, Y., H. and PINEDO, M. 1995. Theory and methodology: scheduling jobs on parallel
machines whit sequence-dependent setup times. En: European Journal of Operational
Research, vol.100, November, 1995.

MORAGA, R., J. 2002. Meta-RaPS: An effective solution approach for combinatorial


problems. University of Central Florida, USA, 2002.

OSMAN, I.H. and LAPORTE, G. 1996. Metaheuristics: A bibliography. En: Annals of


Operations Research, vol.63, 1996.

PAPADIMITRIOU, C., H. and STEIGLITZ, K. 1998. Combinatorial optimization, New


York, USA: Dover Publications, inc., 1998. pp. 1 - 15.

PAPPA, L. G. 2002. Seleo de atributos utilizando algoritmos genticos multiobjetivo,


Pontificia Universidad Catlica de Paran. Curitiba, Brasil, 2002.
95

PHILIPPI, B. 1998. Introduccin a la optimizacin de sistemas, 2 ed. Santiago, Chile.


Ediciones Universidad Catlica de Chile, 1988. pp. 17-29.

PINEDO, M. 1995. Scheduling: Theory, algorithms and system, New Jersey, USA:
Prentice-Hall, 1995.

PRAIS, M. and RIBEIRO, C. 2000. An application to a matrix decomposition problem in


TDMA traffic assignment. En: Journal on Computing, vol.12, summer 2000.

SIPPER, D. y BULFIN, JR., R. L. 1998. Planeacin y control de la produccin, Mxico:


McGraw-Hill, 1998. pp.398 - 474.

S-ar putea să vă placă și