Está en la página 1de 17

Revista EIA, ISSN 1794-1237 Nmero 8, p. 99-115.

Diciembre 2007 Escuela de Ingeniera de Antioquia, Medelln (Colombia)

METAHEURSTICOS: UNA ALTERNATIVA PARA LA SOLUCIN DE PROBLEMAS COMBINATORIOS EN ADMINISTRACIN DE OPERACIONES


Mario Csar Vlez* Jos aleJandro Montoya**
RESUMEN
La escasa difusin que se les ha dado a las nuevas tcnicas de solucin de problemas complejos en las reas de administracin de operaciones por parte de universidades y publicaciones no acadmicas tiene como consecuencia directa que las empresas pierdan oportunidades para operar con ms eficiencia y a menores costos. Este artculo pretende divulgar las ideas fundamentales detrs de una de las tcnicas de solucin de problemas combinatorios de ms desarrollo en los ltimos aos: los metaheursticos. Para ilustrar estas ideas se presenta un ejemplo de un problema combinatorio clsico en el rea del secuenciamiento de operaciones y se propone un algoritmo de solucin que hace uso de algunas de estas tcnicas. PALABRAS CLAVE: metaheursticos; optimizacin; administracin de operaciones.

ABSTRACT
The scarce diffusion given to the newest techniques for solving complex operations management problems has as a direct consequence that companies lose opportunities to operate at lower costs and higher efficiency. The objective of this article is to introduce and explain the fundamental ideas behind metaheuristics, a solution technique for combinatorial problems that has received the most attention from the academic community in the last few years. In order to illustrate these ideas, an example of a classical combinatorial

Ingeniero de Produccin, Universidad EAFIT; Master en Ingeniera Industrial, Universidad de los Andes Master in Industrial and Systems Engineering, Georgia Institute of Technology; Profesor Asistente, Universidad EAFIT. marvelez@ eafit.edu.co

** Estudiante de Ingeniera de Produccin, Universidad EAFIT. jmonto36@eafit.edu.co Artculo recibido 24-VII-2007. Aprobado 18-XI-2007 Discusin abierta hasta junio de 2008

Metaheursticos: una alternativa para la solucin de probleMas coMbinatorios en adMinistracin de operaciones

problem in the sequencing of operations area is presented, and a solution algorithm making use of some of these techniques is proposed. KEY WORDS: Metaheuristics; optimization; operations management.

INTRODUCCIN
Resolver un problema de optimizacin es encontrar la mejor solucin posible a un problema formulado en lenguaje matemtico, donde el criterio que evala la calidad de una solucin es cuantitativo, generalmente asociado a un costo y denominado funcin objetivo. En un problema combinatorio de optimizacin se desea encontrar un orden especfico sobre un conjunto de elementos discretos (Aarts y Lenstra, 2003; Sait y Youssef, 1999). Para ilustrar esta definicin puede considerarse el problema de encontrar la ruta que debe seguir un viajero para visitar un nmero determinado de ciudades, de manera que la distancia recorrida sea mnima. En este problema una solucin es una posible ruta (orden), y la solucin ptima es la ruta que minimiza distancia recorrida (un orden especfico). La definicin formal del problema general de optimizacin combinatoria puede verse en Blum y Roli (2003) y en Sait y Youssef (1999). Problemas que se ajustan a esta definicin aparecen en campos tan diversos como en el diseo de nuevas molculas, de redes de telecomunicaciones y de nuevas aleaciones, en el posicionamiento de satlites, en la planeacin de redes de transmisin de energa y en el desarrollo de circuitos impresos (Grtschel y Lovasz, 1995; Hoffman, 2000). La administracin de operaciones no es la excepcin, presentndose a diario problemas de este tipo. A continuacin se enumeran los ms representativos, segn Kolen y Lenstra (1995):
El problema del agente viajero o TSP.1 Consiste en

recorrida sea mnima. Encontrar el recorrido ms corto en el que un taladro automtico puede hacer un nmero determinado de perforaciones o determinar la ruta ms corta en la que un operario de un almacn debe recorrer las estanteras y recoger un pedido de mltiples productos son algunos ejemplos. Una recopilacin de problemas con esta estructura puede examinarse en Hoffman y Padberg (2000).
Diseo de rutas o VRP.2 Consiste en determinar

el menor nmero de vehculos necesarios para atender un conjunto de clientes en una zona geogrfica y la ruta que debe seguir cada uno para visitar a todos los clientes en un intervalo de tiempo y al menor costo. Este problema aparece en empresas de mensajera o envo de paquetes, donde se deben distribuir los paquetes recibidos; o en empresas que atienden directamente a sus clientes con una flota de vehculos propios.
Diseo de redes. Otro problema comn en admi-

nistracin de operaciones consiste en determinar la ubicacin ptima de uno o varios centros de distribucin, o el sitio donde se debe localizar una planta de manera que se minimice el costo de operacin.
Secuenciamiento. Para Pinedo (2001), el problema

encontrar la secuencia en que un viajero debe visitar n ciudades, de manera que la distancia
Del ingls Traveling Salesman Problem. Del ingls Vehicle Routing Problem.

consiste en asignar recursos limitados a tareas en el tiempo. Aunque en esta definicin las tareas son el objeto del secuenciamiento, es comn encontrar que en la literatura se hable del secuenciamiento de trabajos en mquinas, donde el trmino trabajo se refiere a un conjunto de tareas que deben ejecutarse en un orden determinado, y el

1 2

100

Revista EIA

trmino mquina se refiere al recurso limitado. En el problema del secuenciamiento hay que encontrar los tiempos en que se deben iniciar cada una de las tareas de manera que se cumpla con cierto criterio de optimizacin, el ms comn de los cuales consiste en encontrar el menor tiempo total de fabricacin. Dentro del gran nmero de publicaciones en este campo, Pinedo (2001) es tal vez la mejor fuente de referencia. Grtschel (1991) y Kolen y Lenstra (1995) presentan una amplia coleccin de ejemplos reales de problemas combinatorios en administracin de operaciones.

solucin ptima en unos cuantos segundos o minutos o si, por el contrario, son necesarios aos o incluso siglos para hacerlo. En el ltimo caso surge la necesidad de desarrollar estrategias para encontrar soluciones buenas a un costo computacional razonable. Ahuja, Magnati y Orlin (1993), Bertsimas y Tsitsiklis (1997), Tkindt y Billaut (2005) y Tovey (2002) presentan un tratamiento detallado sobre el tema. De otro lado, mientras los problemas se clasifican en fciles o difciles, los algoritmos se clasifican en exactos o completos y de aproximacin o heursticos. Los algoritmos exactos son aquellos en los que existe la garanta de que encontrarn la solucin ptima; mientras que para los algoritmos de aproximacin slo se puede afirmar que encontrarn una solucin aceptable, no necesariamente ptima (Blum y Roli, 2003; Sait y Youssef, 1999). Como los algoritmos exactos ms eficientes conocidos hoy para resolver problemas combinatorios requieren un nmero exponencial de operaciones (Aarts y Lenstra, 2003), podemos afirmar que estos Aarts problemas son difciles. Estos algoritmos, entre los que se encuentran la programacin dinmica y el algoritmo de ramificacin y acotamiento, implican un costo computacional en ocasiones tan elevado que hace que deban descartarse como alternativa de solucin.

1.

PROBLEMAS FCILES Y PROBLEMAS DIFCILES

Ante un problema de optimizacin, la primera pregunta que se debe responder es si es fcil o difcil de resolver. Aunque parece una pregunta simple, slo a partir de la dcada de los setenta los investigadores abordaron este tema, introduciendo un nuevo campo de investigacin: la complejidad computacional, la cual, entre otros usos, determina si un problema es fcil o no de acuerdo con los algoritmos conocidos para resolverlo. Un algoritmo es un conjunto ordenado y finito de operaciones que permiten solucionar un problema. Para la teora de la complejidad computacional, la capacidad de un algoritmo para resolver un problema la determina el nmero de operaciones aritmticas necesarias para su ejecucin. Un problema es fcil si existe un algoritmo que lo resuelve en tiempo polinomial; es decir, si el nmero de operaciones necesarias para que el algoritmo resuelva el problema es una funcin polinomial del tamao del problema. Si esta funcin no es polinomial, se dice que el algoritmo es no polinomial y el problema se considera difcil. Aunque esta clasificacin parezca slo de inters terico, en la prctica resulta de gran importancia. Saber si un problema se puede resolver en tiempo polinomial equivale a saber si es posible encontrar la
Escuela de Ingeniera de Antioquia

2.

LOS METAHEURSTICOS Y LA OPTIMIZACIN COMBINATORIA

Debido a que la mayora de los problemas de optimizacin combinatoria se clasifican como difciles (Aarts y Lenstra, 2003), la investigacin se ha concentrado en desarrollar algoritmos de aproximacin (Blum y Roli, 2003; Mart, 2003). Dentro de este rea, el trmino metaheurstico lo introdujo Glover (1986) al definir una clase de algoritmos de aproximacin que combinan heursticos tradicionales con estrategias eficientes de exploracin del espacio de bsqueda (Blum y Roli, 2003). Osman y Kelly (1996) proponen la siguiente definicin:

101

Metaheursticos: una alternativa para la solucin de probleMas coMbinatorios en adMinistracin de operaciones

Los metaheursticos son mtodos aproximados diseados para resolver problemas de optimizacin combinatoria, en los que los heursticos clsicos no son efectivos. Los metaheursticos proporcionan un marco general para crear nuevos algoritmos hbridos, combinando diferentes conceptos derivados de la inteligencia artificial, la evolucin biolgica y los mecanismos estadsticos.

La mayor ventaja de los metaheursticos frente a otros mtodos est en su gran flexibilidad, lo que permite usarlos para abordar una amplia gama de problemas (Vo y Woodruff, 2006). Esta caracterstica ha hecho que en los ltimos aos hayan cobrado una relevancia que se ve reflejada en el surgimiento de revistas especializadas como el Journal of Heuristics y el INFORMS Journal on Computing, y en la publicacin de un importante nmero de libros, entre los que se destacan los de Aarts y Lenstra, 2003; Blum y Roli, 2003; Glover y Kochenberger, 2003; Mart, 2003; Melin, Moreno y Vega, 2003; Osman y Kelly, 1996, y Sait y Youssef, 1999.

Entre los metaheursticos ms exitosos se encuentran el recocido simulado (simulated annealing), la bsqueda tab (tabu search), los algoritmos genticos (genetic algorithms) y las redes neuronales artificiales (artificial neural networks). Otras ideas recientes incluyen la optimizacin por colonias de hormigas (ant collony optimization), la bsqueda local iterativa (iterated local search) y la computacin evolutiva (evolutionary computing), entre otras. Para revisar las ideas ms importantes, as como una clasificacin de los tipos de metaheursticos y una descripcin de las caractersticas deseables en ellos, se puede recurrir a Hoffman (2000); una recopilacin completa y reciente sobre los ms importantes metaheursticos la exponen Glover y Kochenberger (2003). En el presente trabajo se exponen y se ilustran con un ejemplo las ideas que dieron origen a los tres metaheurstcos ms utilizados en investigacin de operaciones (Sait y Youssef, 1999): el recocido simulado, los algoritmos genticos y la bsqueda tab.

A continuacin se indica la notacin comn usada en los algoritmos: Sea el espacio de bsqueda o conjunto de todas las posibles soluciones Sea xi un elemento del conjunto de posibles soluciones Sea N(xi) el conjunto de soluciones vecinas de xi. ecinas Sea f: la funcin objetivo Sea x0 una solucin inicial arbitraria solucin abitaia Con relacin a la definicin de N(x), se dice que dos soluciones son vecinas si son cercanas entre s (Aarts y Lenstra, 2003), donde el criterio de cercana est restringido a la forma como se representen las soluciones del problema; y aun para un mismo problema puede existir una variedad de posibles vecindarios.

3.

ALGORITMO DE RECOCIDO SIMULADO

El recocido simulado es uno de los metaheursticos ms utilizados en optimizacin combinatoria (Sait y Youssef, 1999) y uno de los que presenta resultados ms prometedores en los campos donde ha sido usado (Aarts y Lenstra, 2003).

102

Revista EIA

esfuerzos en la cual los tomos adopten una configuracin con mnima energa remanente (Sverdlin y Ness, 1997). Desde la ptica de la optimizacin, el estado final del metal constituye la solucin ptima al objetivo de minimizar la energa remanente. De la ltima observacin surge latratamiento trmico de loga(1983), recocido y la bsqueda de lala analoga En la teora sobre propuesta de Kirkpatrick entre el que se fundamenta en solucin
metales, el recocido consiste en someter un metal a entre el recocido y la bsqueda de la solucinptima enen un problema de optimizacin. ptima un problema de optimizacin. alta temperatura por un periodo largo, para luego En la idea bsica se parte de una solucin enfriarlo lenta y uniformemente (Callister, 2005), con inicial y se selecciona al azar una solucin vecina. el fin de producir una estructura con bajo nivel de En la idea bsica se parte de una solucinSiinicial y se selecciona alse adopta como la la solucin vecina es mejor, azar una solucin esfuerzos en la cual los tomos adopten una confinueva no lo es, se acepta guracin con mnima energa remanentemejor, se adopta solucin. Sinueva solucin.como la nueva se vecina. Si la solucin vecina es (Sverdlin como la Si no lo es, solucin con una probabilidad que decrece a mediy Ness, 1997). Desde la ptica de la optimizacin, el acepta como la nueva solucin con ptima da que el que decrece a medida de aceptar con estado final del metal constituye la solucin una probabilidad algoritmo avanza. La idea que el algoritmo cierta probabilidad soluciones de menor calidad le al objetivo de minimizar la energa remanente. De la avanza. La idea de aceptar con cierta probabilidad soluciones salir menor calidad le como de de ptimos locales, permite permite al algoritmo ltima observacin surge la propuesta de Kirkpatrick, al algoritmo salir de se fundamenta en la ana- se ilustra en la figura Gelatt y Vecchi (1983), que ptimos locales, como se ilustra en la figura 1. 1.

f(x)

N ( x0 )

x0

x1

Figura 1. ptimo local y ptimo global

Figura 1. ptimo local y ptimo global

La figura 1 ilustra un problema en el que se desea encontrar el valor de x que minimiza la funcin f(x), donde N(x) representa la vecindario de x. Si durante la bsqueda, el mtodo de desea encontrar el valor de x que minimiza el funde enfriamiento. Siguiendo con la analoga entre
cin f(x), donde N(x) representa el vecindario de x. el proceso fsico optimizacin llega a x0 y el mtodo no acepta soluciones de recocido ycalidad en N(x0), el de inferior el metaheurstico, Si durante la bsqueda, el mtodo de optimizacin la probabilidad con la cual se aceptan soluciones 0 llega a x0 y queda atrapado en soluciones de in- x de menor calidad parason las que metaheurstico el mtodo no acepta el ptimo local . Estas situaciones permitirle al metaheursticos mtodo ferior calidad en N(x0), el mtodo queda atrapado escapar de posibles ptimos locales es funcin de como el recocido simulado tratan de evitar temperatura. As como en el recocido, donde a al aceptar, eventualmente y por diversos en el ptimo local x0. Estas situaciones son las que la metaheursticos como el recocido simulado tratan de medida que la la probabilidad de llegar a x1 mecanismos, soluciones de menor calidad, para mejorartemperatura desciende es ms difcil, el evitar al aceptar, eventualmente y por diversos mecaque un tomo se mueva a una posicin de menor nismos, soluciones de menor calidad, para mejorar energa, en el recocido simulado la probabilidad de la probabilidad de llegar a x1, el ptimo global. Se aceptar soluciones de menor calidad desciende a encuentran definiciones rigurosas de ptimo local, medida que el algoritmo avanza. El algoritmo es el ptimo global y vecindario en Aarts y Lenstra (2003) siguiente: y en Sait y Youssef (1999). La figura 1 ilustra un problema en el que se El ltimo aspecto importante es el esquema

Escuela de Ingeniera de Antioquia

103

Metaheursticos: una alternativa para la solucin de probleMas coMbinatorios en adMinistracin de operaciones

4.

ALGORITMOS GENTICOS

Los algoritmos genticos presentan una propuesta eficaz motivada en la observacin de que la evolucin natural ha sido extraordinariamente exitosa en desarrollar especies complejas y bien adaptadas por medio de un mecanismo simple (Metaxiotis y Psarras, 2004). La tcnica emula la evolucin natural para explorar con eficiencia el espacio de bsqueda con el supuesto de que unos individuos con ciertas caractersticas son aptos para sobrevivir y transmiten estas caractersticas a su descendencia (Sait y Youssef, 1999).

Los algoritmos genticos operan sobre una poblacin o conjunto de soluciones representadas como cadenas binarias o cromosomas. Durante la ejecucin, el algoritmo cruza los individuos de mayor aptitud para renovar la poblacin y elimina los de menor aptitud. Al final, el cromosoma de mayor aptitud es la solucin al problema (Metaxiotis y Psarras, 2004). Algunos conceptos bsicos son (Davis, 1991):
Cromosoma. Cadena binaria que representa un

individuo o solucin, donde cada elemento en la cadena se conoce como gen (figura 2a).

104

Revista EIA

aptitud. Al final, el cromosoma de mayor aptitud es la solucin al problema (Metaxiotis y Psarras, 2004). Algunos conceptos bsicos son (Davis, 1991): Cromosoma. Cadena binaria que representa un individuo o solucin, donde cada
Poblacin. Conjunto finito de cromosomas (figura Cruce. Operacin por medio de la cual se produelemento en la cadena se conoce como gen (figura 2a).

Poblacin. Conjunto evala la calidad de un finito de cromosomas Aptitud. Criterio que


y mayor la probabilidad de que sobreviva y transmita sus mayor la a su descendencia. solucin ycaractersticas probabilidad de que Las operaciones ms usadas en este proceso descendencia. de bsqueda son (Davis, 1991):

2b).

cen nuevos descendientes a partir de dos cromosomas padre (figura 2b). seleccionados al azar (figura 3a). azar y se cambian uno o ms genes en el cro(figura 3b).

cromosoma. A mayor aptitud, mejor Aptitud. Criterio que evala la la solucinde Mutacin. En esta A mayorse seleccionan al la calidad un cromosoma. operacin aptitud, mejor

sobreviva yocurre con probabilidades muy bajas a su mosoma; transmita sus caractersticas

Poblacin Cromosoma

Las operaciones ms usadas en este proceso de bsqueda son (Davis, 1991): Cruce. Operacin por medio de la cual se producen nuevos descendientes a partir de dos cromosomas padre seleccionados al azar (figura 3a).
(a) Gen

Mutacin. En esta operacin se seleccionan al azar y se cambian uno o ms genes en el


Figura 2. cromosoma; ocurre con Representacin de la poblacin en (figura 3b). probabilidades muy bajas un algoritmo gentico

(b)

Figura 2. Representacin de la poblacin en un algoritmo gentico

Cromosoma sin mutar Padres


Mutacin Punto de cruce

Hijos (a) Cruce

Cromosoma mutado (b) Mutacin

Figura 3. Operaciones bsicas en algoritmos genticos en algoritmos genticos Figura 3. Operaciones bsicas

La idea bsica de un algoritmo gentico, tomada de Sait y Youssef (1999), es:


Sea P = x , x ,... la poblacin
1 2

Escuela de Ingeniera de Antioquia

105

Mientras no se cumpla el criterio de parada:

Metaheursticos: una alternativa para la solucin de probleMas coMbinatorios en adMinistracin de operaciones

La idea bsica de un algoritmo gentico, tomada de Sait y Youssef (1999), es:

Luego de la aparicin de los algoritmos genticos en trabajos como el de Bremerman (Bremerman, Rogson y Salaff, 1966) y el de Holland (1975) han surgido iniciativas que continan explorando la idea de imitar el proceso de evolucin natural. Estas propuestas reciben el nombre de algoritmos evolutivos y constituyen un campo de investigacin ms amplio. Unas explicaciones ms detalladas sobre el tema, as como posibles implementaciones de los algoritmos genticos, se pueden apreciar en Aarts y Lenstra (2003) y en Davis (1991). Por su parte, en Chaudhry y Luo (2005) y en Aytug, Khouja y Vergara (2003) pueden encontrarse recopilaciones sobre el uso de algoritmos genticos en problemas de administracin de operaciones.

solucin encontrada, la bsqueda tab mantiene informacin almacenada sobre las ltimas soluciones visitadas con el fin de usarla para guiar la bsqueda y evitar que el algoritmo se mueva a soluciones visitadas recientemente, por lo que se dice que la bsqueda tab tiene memoria (Aarts y Lenstra, 2003). En este sentido se dice que hay cierto aprendizaje y que la bsqueda es inteligente (Mart, 2003). En cada iteracin, el algoritmo explora el vecindario de la mejor solucin encontrada. Se adopta como mejor solucin la mejor solucin en el vecindario, aun si sta no es mejor que la solucin actual. Para que el algoritmo no se quede atrapado en un ciclo, se almacena la informacin relativa a las soluciones recientemente visitadas en una lista llamada lista tab (Sait y Youssef, 1999). La lista tab no es una enumeracin de soluciones, ya que almacenar soluciones completas, aun en pequeas cantidades, y comparar cada solucin con las que hay en la lista es muy costoso computacionalmente. Para acopiar informacin sobre el pasado reciente, la bsqueda tab Revista EIA

5.

BSQUEDA TAB

La bsqueda tab, introducida por Glover (1986), es el ms reciente de los tres metaheursticos descritos en este trabajo, y su contribucin ms importante consiste en que mientras los otros metaheursticos guardan informacin sobre la mejor

106

por medio de la cual se alcanza una solucin vecina a partir de la solucin actual. Por ejemplo, si una solucin se puede representar con un vector, como se ilustra en la figura 4,
almacena los ltimos movimientos, un movimiento puede consistir donde un mo- posicin de dosde dos elementos en Ntese que en intercambiar la posicin elementos en el vector. el vector. vimiento es una operacin por medio de la cual se para almacenar el movimiento slo es necesario alcanza que para almacenar el movimiento slo es necesario valores (Ahuja, Magnati y Orlin, Ntese una solucin vecina a partir de la solucin almacenar dos almacenar dos valores (Ahuja, actual. Por ejemplo, si una solucin se puede repre1993; Aytug, Khouja y Vergara, 2003) y que esta Magnati yun vector, comoAytug, Khouja y Vergara, 2003) ypor s esta no representa una solucin Orlin, 1993; se ilustra en la figura 4, informacin que sola informacin por s sola sentar con un movimiento puede consistir en intercambiar la (figura 4a). no representa una solucin (figura 4a).

Posicin 2 Solucin inicial

Posicin 4 Movimiento

Movimientos recientes. Elementos en la lista tab

b
Movimiento 2-4 Movimientos anteriores que ya no pertenecen a la lista tab.

Solucin vecina

Avance del algoritmo

(a) Movimiento

(b) Lista tab

Figura 4. Estructuras bsicas en la bsqueda tab

Figura 4. Estructuras bsicas en la bsqueda tab

La lista tab es una lista en la cual se almacenan los movimientos recientes por un lapso denominado tiempo de permanencia, como selamuestra penalizando las que seEl algoritmo nan los movimientos recientes por un lapso denomia actual y en la figura 4b. alejen de ella.
Se dice que la intensificacin es un mecanismo de memoria de mediano plazo porque normalmente el que se ejecute un movimiento en la lista; aunque esta prohibicin puede anularse eventualmente si se proceso se da por terminado si durante un criterio cumple una condicin, denominada nmero prohibicin puede anularse eventualmente si se cumfijo de iteraciones no se logra mejorar la funcin objede aspiracin, que suele consiste en admitir un movimiento en la el proceso de intensificacin ple una condicin, denominada criterio de aspiracin, tivo. Una vez terminado lista tab si la solucin que suele es la mejor hasta movimiento en la resultanteconsistir en admitir unel momento. Otros puede resultar aspiracin explorar regiones nuevas criterios de conveniente pueden estudiarse en lista tab si la solucin resultante es la mejor hasta en el espacio de bsqueda. El mecanismo de memoSait y Youssef (1999). de aspiracin pueden ria de largo plazo cumple con este objetivo de diversiel momento. Otros criterios estudiarse en Sait y Youssef (1999). ficacin por favorecer soluciones con caractersticas diferentes a la solucin actual. Ambos procesos, la Adems de la lista tab, que determina la meAdems corto plazo, tab, que determina la memoria de cortoy plazo, se consideran otros dos intensificacin la diversificacin, se incorporan en moria de de la lista se consideran otros dos tipos la funcin objetivo con pesos o ponderaciones que de memoria conocidas como memorias de mediano tipos de memoria conocidas como memorias de mediano durante elplazo. El del algoritmo, de y largo desarrollo mecanismo de se modifican y largo plazo. El mecanismo de memoria de mediano memoria de en favorecer la bsqueda en regiones manera que ambas fasesregiones donde se bsplazo consiste mediano plazo consiste en favorecer la bsqueda en se alternen durante la han queda (Aarts y Lenstra, 2003). La idea bsica tomada donde se han encontrado buenas encontrado buenas soluciones. soluciones. Este se de (Sait ycomo de intensificacin y se lleva a Este proceso conoce Youssef, 1999) es la siguiente: proceso se conoce como de intensificacin y se lleva La lista tab es una lista en la cual se almacea cabo dndoles alta prioridad a soluciones similares

previene El algoritmo previene los ciclos al prohibir los ciclos al prohibir que se ejecute un movimiento en la lista; aunque esta figura 4b.

nado tiempo de permanencia, como se muestra en la

cabo dndoles alta prioridad a soluciones similares a la solucin actual y penalizando las soluciones que se alejen de ella. Se dice que la intensificacin es un mecanismo de memoria de mediano plazo porque normalmente el proceso se da por terminado si durante
Escuela de Ingeniera de Antioquia

107

Ambos procesos, la intensificacin y la diversificacin, se incorporan en la funcin objetivo con pesos o ponderaciones que se modifican durante el desarrollo del algoritmo, de manera que ambas fases alternativa para la solucin de probleMas coMbinatoriosLenstra, 2003). La idea bsica Metaheursticos: una se alternen durante la bsqueda (Aarts y en adMinistracin de operaciones tomada de (Sait y Youssef, 1999) es la siguiente:
Sea

x * la mejor solucin encontrada

Sea NA el nivel de aspiracin


Hacer x* x 0 Mientras no se cumpla el criterio de parada: Sea x ' V la mejor solucin en V Seleccionar al azar el conjunto V N x

( ) de vecinos de x
*

Si el movimiento que gener x ' no est en la lista Tab Aceptar el movimiento haciendo x * x' Actualizar la lista Tab incorporando a la lista el movimiento que gener x ' Actualizar NA Sino Si se cumple el criterio de aspiracin Aceptar el movimiento haciendo x* x' Actualizar la lista Tab incorporando a la lista el movimiento que gener x' Fin Fin Fin

6. SECUENCIAMIENTO DE OPERACIONES terrumpirse una vez iniciada. Pinedo (2001) y Askin

6.

SECUENCIAMIENTO DE OPERACIONES

trabajo a la vez y que ninguna operacin puede iny Standridge (1993) ofrecen una revisin detallada

Esta seccin describe un problema de de optimizacin combinatoria en administracin de del FSSP. Esta seccin describe un problema optimizacin combinatoria en administracin de tareas en operaciones: el secuenciamiento de operacio- un sistema de produccines un problema difcil3) Debido a que el FSSP flow-shop (FSSP

con el fin de usarlo para ilustrar algunos de los metaheursticos de ms amplio desarrollo. produccin flow-shop (FSSP3) con el fin de usarlo (Garey, Johnson y Sethi, 1976), ha recibido gran
para ilustrar algunos de los metaheursticos de ms amplio desarrollo. Un sistema de produccin de flujo en lnea o flow-shop consiste en un grupo de mquinas en 3 Del en las Flow-Shop Scheduling Problem. serie inglscuales es necesario procesar un conjunto de trabajos, donde las operaciones que componen cada trabajo se ejecutan en el mismo orden (Pinedo, 2001). En este contexto, el FSSP est definido por [pij]nxm, que representa el tiempo de procesamiento correspondiente al trabajo i en la mquina j. Se supone que las mquinas slo pueden procesar un
3

nes: el secuenciamiento de tareas en un sistema de

si el nmero de mquinas es mayor o igual a tres

atencin desde la dcada de los cincuenta cuando Johnson (1954) public el primer estudio sobre el tema. En la mayora de los trabajos publicados se propone como objetivo minimizar el tiempo total necesario para la terminacin de los trabajos o makespan (Ruiz, Maroto y Alcaraz, 2005), aunque es tan amplia la literatura que existe sobre este problema que es posible encontrar textos para prcticamente todas las medidas de desempeo conocidas. Pinedo (2001) y Tkindt y Billaut (2005) ofrecen una revisin detallada de problemas de secuenciamiento.

Del ingls Flow-Shop Scheduling Problem.

108

Revista EIA

3 4 5 6 7 8

10 2 6 4 10 8

6 7 8 10 10 1

9 9 7 5 7 8

8 9 2 6 7 2

2 10 2 7 1 6

2 10 6 9 4

5 6 7 2 6

5 1 6 6 9

7 2 2 2 10

10 5 8 3 1

7. BSQUEDA6DE SECUENCIAS 9 9 5 4 DE PERMUTACIN 8EN 7 EL 10 7 3 FSSP

10 4 3 6 5 Por ltimo, para describir las aplicaciones 9 8 8 2 1 3 de cada metaheuristico en la solucin del ejemplo 1 1 1 7 7 6 anterior son necesarias algunas definiciones.

Tabla 1. Tiempos de procesamiento Representacin. El primer paso en el diseo de

un metaheurstico es determinar la representacin La complejidad del FSSP es la razn por la cual de las soluciones. Para la bsqueda de secuencias gran parte de la investigacin se ha concentrado de cada metaheuristico en la solucin del en la bsquedadescribir las aplicaciones de permutacin en el FSSP, una posible representade secuencias de permutacin o Por ltimo, para cin consiste en definir un vector de n posiciones, secuencias en las que todos los trabajos se ejecuejemplo anterior son necesariasmquina (Hejazi y donde la i-sima posicin representa el ndice del tan en el mismo orden en cada algunas definiciones. trabajo que se va a procesar en el i-simo turno de Saghafian, 2005). Esta restriccin adicional impuesta la secuencia. As, en un problema de cuatro trabajos, al problema permite reducir de forma sustancial el una posible secuencia sera [2, 1, 4, 3], donde el 4 espacio de bsqueda. A continuacin se presenta un Representacin.permitir demostrar como los metaheu- en la tercera posicin indica que eles determinar la El primer paso en el diseo de un metaheurstico trabajo 4 es el ejemplo que risticos descritos representacin de pueden encontrar la secuencia de tercero en sersecuencias de permutacin en el las soluciones. Para la bsqueda de procesado. permutacin de menor tiempo de fabricacin en el Vecindario. Sea N(S) el vecindario de la FSSP, FSSP. Para el ejemplo se resolver unconsiste en definir un vectorFSSP n posiciones, donde la iuna posible representacin problema en secuencia S. Para el de se va a usar un vecindario el que deben procesarse 10 trabajos en un sistema de intercambios simples (Aarts y Lenstra, 2003). Por sima flow-shop con 10 mquinas. Los tiempos detrabajo que se va ase consideranen el i-simo turno de la posicin representa el ndice del proce- facilidad slo procesar dos tipos de vecindarios samiento del trabajo i en la mquina j estn dados de intercambio simple: el vecindario de traslado secuencia. tabla 1.en un problema de cuatro trabajos, una posible secuencia sera [2, y el 4, 3], 1, en la As, de intercambio. En Aarts y Lenstra (2003) se pueden consultar es el tercero en ser procesado. donde el 4 en la tercera posicin indica que el trabajo 4 vecindarios ms complejos. La figura 5a ilustra una operacin de traslado, y la figura 5b, un Tabla 1. Tiempos de procesamiento secuencia Vecindario. Sea N S el vecindario de la intercambio. S . Para el FSSP se va a usar un

( )
3 4 1 9 9 7

vecindario de intercambios simples (Aarts programados en2003). 7.0 y ejecutados en una se y Lenstra, Matlab Por facilidad slo
1 1 1 2 3 6 4 5 2 5 4 6 9 7 5 8 2 9 1 10 7 2 1 2 3 4 5 6 7 8 9

Trabajo

Mquina

Los algoritmos descritos en esta seccin fueron

mquina con procesador Intel consideran dos tipos de vecindarios de intercambio GB de memoria RAM. Core Duo 1.86 GHz el de simple: el vecindario de traslado y de 2
10 2 6 4 8 6 7 6 7 8 8 9 2 2 10 2 7 2 10 6 9 5 6 7 5 1 6 7 2 2 10 5 8 3

10

10

10

intercambio. En Aarts y Lenstra (2003) se pueden consultarde recocido simulado para el FSSP. El La Algoritmo vecindarios ms complejos.
10 10 1 9 3 7 7 1 4 6 9 10 6 1 7 1 8 5 8 2 4 7 6 9 1 10 8 1 4 8 1 3 2 7 5 3 6

10

figura 5a ilustra una operacin de traslado, y la figura 5b del presentado por Pinedo (2001). simplificada un intercambio.
10

algoritmo que se describe en seguida es una versin

Tabla 1. Tiempos de procesamiento

Por ltimo, para describir las aplicaciones de cada metaheuristico en la solucin del ejemplo anterior son necesarias algunas definiciones. Representacin. El primer paso en el diseo de un metaheurstico es determinar la representacin de las soluciones. Para la bsqueda de secuencias de permutacin en el FSSP, una posible representacin consiste en definir un vector de n posiciones, donde la isima posicin representa el ndice del trabajo que se va a procesar en el i-simo turno de la

(a) Traslado

(b) Intercambio

secuencia. As, en un problema de cuatro trabajos, una posible secuencia sera [2, 1, 4, 3], donde el 4 en la tercera posicin indica que el trabajo 4 es el tercero en ser procesado. Figura 5. Vecindarios de traslado Vecindario. Sea N (S ) el vecindario de la secuencia S . Para el FSSP se va a usar un
vecindario de intercambios simples (Aarts y Lenstra, 2003). Por facilidad slo se

Figura 5. Vecindarios de traslado yy de intercambio de intercambio

consideran dos tipos de vecindarios de intercambio simple: el vecindario de traslado y el de Escuela de Ingeniera de Antioquia intercambio. En Aarts y Lenstra (2003) se pueden consultar vecindarios ms complejos. La figura 5a ilustra una operacin de traslado, y la figura 5b un intercambio.

109

una mquina con procesador Intel Core Duo 1.86GHz de 2 GB de memoria RAM.
Algoritmo de recocido simuladola solucin FSSP. El algoritmo queadMinistracin de operaciones es Metaheursticos: una alternativa para para el de probleMas coMbinatorios en se describe en seguida

una versin simplificada del presentado por Pinedo (2001).


Hacer Ti = 1 , T f = 0.01 , n = 200 , = 0.95 Generar x 0 , una solucin (permutacin) inicial generada al azar Hacer h0 = f ( x 0 ) Hacer T = T0 Mientras T > T f

k =1
Mientras k n Generar

q ~ U (0,1)

Si q 0.5 Generar x ,una solucin en el vecindario de intercambio de x 0 Si no Generar x , una solucin en el vecindario de traslado de x 0 Fin Calcular h = f (x) Si h < h0 Hacer x0 x Si no Generar r ~ U (0,1) Si

r <T
Hacer x0 x

Fin Fin

k = k +1
Fin

T = T
Fin Imprimir h0 y f (h0 ) , la mejor solucin encontrada y el makespan correspondiente
Al implementar este algoritmo se obtuvo un makespan de 117 unidades de tiempo correspondiente a la secuencia S = [8, 5, 4, 2, 9, 7, 10, 1, 6, 3]. Algoritmo gentico para el FSSP. Este algoritmo es una versin simplificada del propuesto por Colin R. Reeves (1995). Antes de describirlo se presentan algunos elementos necesarios para su mejor comprensin.
Probabilidad de seleccin. La probabilidad con

la que se seleccionan los padres es proporcional Revista EIA

110

a su calidad. Para el FSSP esta probabilidad crece a medida que el makespan es menor, de manera que si se ordenan las M secuencias de la poblacin de forma descendente, de acuerdo con el makespan, la probabilidad de seleccionar la k-sima secuencia est dada por p(k) = 2k[M(M+1)]1.
Cruce. El cruce de los padres P1 y P2 para crear

los hijos H1 y H2 se lleva a cabo de la siguiente forma: se seleccionan al azar dos posiciones en la secuencia para formar un segmento de cruce y se intercambian estos segmentos entre los padres, como se ilustra en la figura 6a. Despus del

intercambio, si las nuevas secuencias contiene valores repetidos, como en el ejemplo de la figura 6b, se eliminan los valores repetidos que se encuentran por fuera del segmento de cruce y en su lugar se asignan los valores as: los valores eliminados en H1 se reemplazan con los valores correspondientes al segmento de cruce de P1 y los valores eliminados en H2 se reemplazan con los valores correspondientes al segmento de cruce de P2, en el mismo orden (figura 6c). Mutacin. La mutacin de una secuencia consiste en cambiarla por una secuencia vecina, utilizando el vecindario de intercambio descrito.

Segmento de cruce

(a) Intercambio de segmentos de cruce

(b) Eliminacin de valores repetidos

(c) Reemplazo de valores repetidos

Figura 6. Operacin de cruce Figura 6. Operacinde cruce

El algoritmo es el siguiente:

El algoritmo es el siguiente: Inicializacin Inicializacin


Sea = { }, M = 600 y Q(0) = 0 Para k = 1 hasta M Generar al azar Pk , el k-simo individuo de la poblacin Hacer {Pk } Calcular q (k ) = 2k[ M ( M + 1)] 1 , la funcin de masa de probabilidad para la seleccin de padres Calcular Q( k ) = Q (k 1) + q ( k ) , la funcin de distribucin acumulada correspondiente a q (k ) Fin
Escuela de Ingeniera de Antioquia

Sea = 0.5 la probabilidad inicial de mutacin, y sea = 0.1 la tasa de decrecimiento de

Algoritmo Gentico

111

Para w = 1 hasta 100 Ordenar los individuos en de manera que f ( P1 ) f ( P2 ) f ( PM )

Metaheursticos: una alternativa para la solucin de probleMas coMbinatorios en adMinistracin de operaciones

Algoritmo gentico

112

Revista EIA

Como resultado de la aplicacin de este algoritmo se obtuvo un makespan de 121 unidades de

tiempo correspondiente a la secuencia S = [1, 5, 8, 2, 10, 4, 3, 7, 6, 9].

Bsqueda Tab para el FSSP. El algoritmo est basado en el propuesto por Pinedo (2001).

Despus de su implementacin el algoritmo arroj un makespan de 114 unidades de tiempo correspondiente a la secuencia S = [1, 2, 8, 4, 10, 5, 3, 7, 6, 9].

8.

CONCLUSIONES

Los problemas reales que enfrentan a diario los profesionales encargados de las reas de admiEscuela de Ingeniera de Antioquia

nistracin de operaciones y logstica son por lo general de una gran complejidad, ante todo debido a que la cantidad de soluciones posibles o el espacio de bsqueda es muy grande, y explorarlo exhaustivamente para encontrar la solucin ptima suele ser imposible con la tecnologa actual. Este hecho ha impulsado el desarrollo de tcnicas no convencionales de optimizacin que, como los metaheursticos, permiten encontrar soluciones

113

Metaheursticos: una alternativa para la solucin de probleMas coMbinatorios en adMinistracin de operaciones

aceptables en un tiempo de cmputo razonable con la incorporacin de ideas innovadoras, de ordinario copiadas de la naturaleza. Los metaheursticos, ms que algoritmos rgidos, constituyen ideas generales que permiten un margen de maniobra muy amplio a la hora de ser programados. Es esta gran versatilidad la que los hace muy atractivos, ya que es posible adaptarlos a casi cualquier problema de optimizacin combinatoria. Los metaheursticos combinan de forma diferente dos conceptos clave para el desarrollo de un buen algoritmo de bsqueda: la intensificacin y la diversificacin. La intensificacin consiste en explorar a fondo una regin del espacio de bsqueda donde se han encontrado buenas soluciones. Esta intensificacin se lleva a cabo, por lo general, perturbando la mejor solucin encontrada hasta el momento para construir soluciones vecinas o cercanas en el espacio de bsqueda. La diversificacin, por el contrario, consiste en probar en zonas inexploradas del espacio de bsqueda para evitar que el algoritmo quede atrapado en ptimos locales. La idea de aceptar eventualmente soluciones de inferior calidad en el recocido simulado o la idea de las mutaciones en los algoritmos genticos son ejemplos de diversificacin. Del equilibrio entre estas dos estrategias depende en buena medida la calidad del algoritmo final. Adems de definir la representacin de las soluciones, en cada metaheurstico es necesario tomar un nmero importante de decisiones que determinan su desempeo. El esquema de enfriamiento en el recocido simulado, el tamao de la poblacin y la forma como se efectan los cruces y las mutaciones en los algoritmos genticos, la representacin de los movimientos o el criterio de aspiracin en la bsqueda tab son algunos ejemplos. Es tarea del programador seleccionar con cuidado estos criterios, ya que de su seleccin depende la calidad de las soluciones que se encuentren.

De los resultados obtenidos al programar los metaheursticos expuestos para resolver un ejemplo del FSSP no debe concluirse, en ninguna circunstancia, que uno de los metaheursticos sea mejor que otro. Dada la naturaleza estocstica de estos algoritmos, es necesario un anlisis estadstico detallado para concluir al respecto.

BIBLIOGRAFA
Aarts, E. and Lenstra, J. K. (2003). Local search in combinatorial optimization. Eindhoven y Atlanta: Princeton University Press, p. 1-137. Ahuja, R. K.; Magnati, T. L. and Orlin, J. B. (1993). Network flows. Englewood Cliffs, NJ: Prentice Hall. Askin, R. G. and Standridge, C. R. (1993). Modeling and analysis of manufacturing systems. New York: John Wiley and Sons. Aytug, H.; Khouja, M. and Vergara, F. E. (2003). Use of genetic algorithms to solve production and operations management problems: A review. International Journal of Production Research, vol. 41, No. 17, p. 3955-4009. Bertsimas, D. and Tsitsiklis, J. N. (1997). Introduction to linear optimization. Belmont, Massachusetts: Athenea Scientific, p. 359-392. Blum, C. and Roli A. (2003). Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys, vol. 35, No. 3, p. 268-308. Bremerman, H. J.; Rogson, M. and Salaff, S. (1966). Evolution and optimization, natural automata and useful simulations. Washington, D. C: Spartan Books, p. 3-41. Callister, W. (2005). Fundamentals of materials science and engineering: An integrated approach, 2 ed. New York: John Wiley and Sons. Chaudhry, S. S. and Luo, W. (2005). Application of genetic algorithms in production and operations management: A review. International Journal of Production Research, vol. 43, No. 19, p. 4083-4101. Davis, L. (1991). Handbook of genetic algorithms. New York: Van Nostrand Reinhold. Garey, M.; Johnson, D. S. and Sethi, R. (1976). The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, vol. 1, No. 2, p. 117-129.

114

Revista EIA

Glover, F. (1986). Future paths for integer programming and links to artificial intelligence. Computers and Operations Research, vol. 13, No. 5, p. 533-349. Glover, F. and Kochenberger, G. A. (2003). Handbook of metaheuristics. Berlin: Springer. Grtschel, M. (1991). Discrete mathematics in manufacturing. Proceedings of the Second International Conference on Industrial and Applied Mathematics. Washington: Society for Industrial and Applied Mathematics, p.119-145. Grtschel, M. and Lovasz, L. (1995). Handbook of combinatorics, vol. II, cap. 28. Cambridge, Massachusetts: The MIT Press y North-Holland, p. 1541-1598. Hejazi, S. R. and Saghafian S. (2005). Flowshop scheduling problems with makespan criterion: A review. International Journal of Production Research, vol. 43, No. 14/15, p. 2895-2929. Holland, J. H. (1975). Adaptation in natural and artificial systems. Ann Arbor: The University of Michigan Press. Hoffman, K. L. (2000). Combinatorial optimization: Current successes and directions for the future. Journal of Computational and Applied Mathematics, vol. 124, No. 1-2, p. 341-360. Hoffman, K. and Padberg M. (2000). Traveling salesman problem. [on line] http://iris.gmu.edu/~khoffman/papers/trav_salesman.html (Diciembre de 2006). Johnson, S. M. (1954). Optimal two and three-stage production schedules with setup times included. Naval Research Logistics Quarterly, vol. 1, No 61, p. 61-68. Kirkpatrick, S.; Gelatt, C. D. and Vecchi, M. P. (1983). Optimization by simulated annealing. Science, vol. 220, No. 4598, p. 671-680. Kolen, A. W. J. and Lenstra K. (1995). Handbook of combinatorics, vol. II, cap. 35. Amsterdam: The MIT Press y North-Holland, p. 1875-1910.

Mart, R. (2003). Procedimientos metaheursticos en optimizacin combinatoria. Matematiques, vol. 1, No 1, p. 3-62. Melin, B.; Moreno, J. A. and Vega, J. M. (2003). Metaheuristics: A global view. Revista Iberoamericana de Inteligencia Artificial, vol. 2, No. 19, p. 7-28. Metaxiotis, K. and Psarras J. (2004). The contribution of neural networks and genetic algorithms to business decision support: Academic myth or practical solution? Management Decision, vol. 42, No. 1/2, p. 229-242. Osman, I. H. and Kelly J. P. (eds.). (1996). Meta-Heuristics: theory and applications. Boston: Kluwer Academic, p. 1-21. Pinedo, M. (2001). Scheduling theory, algorithms and systems, 2 ed. Englewood Cliffs, NJ: Prentice Hall. Reeves, C. R. (1995). A genetic algorithm for flowshop sequencing. Computers and Operations Research, vol. 22, No. 1, p. 5-13. Ruiz, R.; Maroto, C. and Alcaraz, J. (2005). Solving the flowshop scheduling problem with sequence dependent setup times using advanced metaheuristics, European Journal of Operational Research, vol. 165, No. 1, p. 34-54. Sait, S. M. and Youssef H. (1999). Iterative computer algorithms with applications in engineering: Solving combinatorial optimization problems. Piscataway: IEEE Computer Society Press, p. 1-248. Sverdlin, A. V. and Ness A. R. (1997). Fundamental concepts in steel heat treatment. Steel Heat Treatment Handbook. New York: Marcel Dekker, p. 1-44. Tkindt, V. and Billaut J. C. (2005). Multicriteria scheduling: Theory, models and algorithms, 2 ed. Berlin: Springer. Tovey, C. A. (2002). Tutorial on computational complexity. Interfaces, vol. 32, No. 3, p. 30-61. Vo, S. and Woodruff, D. L. (2006). Introduction to computational optimization models for production planning in a supply chain, 2 ed. Berlin: Springer.

Escuela de Ingeniera de Antioquia

115

También podría gustarte