You are on page 1of 33

Captulo 14 Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

Dionisio Prez Brito, Jos Andrs Moreno Prez


Dpto. Estadstica, Investigacin Operativa y Computacin Universidad de La Laguna
dperez@ull.es, jamoreno@ull.es

Carlos Gustavo Garca Gonzlez


Dpto. Economa de las Instituciones. Estadstica Econmica Universidad de La Laguna
cggarcia@ull.es

14.1

Introduction

A lo largo de las dos ltimas dcadas, se han ido desarrollando diversos procedimientos de bsqueda de soluciones que partan con un objetivo comn: resolver un determinado problema para el que era muy costoso obtener su solucin exacta mediante los mtodos de optimizacin tradicionales. Esa obsesin por resolver de manera exacta los problemas ha ido desapareciendo, incluso en los mbitos empresarial y de servicios, en los que los responsables se conforman con obtener soluciones que les permitan resolver sus problemas de forma rpida y econmica, valorando de forma positiva una comprensin del procedimiento utilizado. De esta manera, han ido proliferando las heursticas, hasta constituir hoy en da materia de estudio en la mayora de las facultades de ciencias e ingenieras. Haciendo recuento de las principales metaheursticas que han centrado la atencin de los investigadores durante este periodo de desarrollo, no podran dejarse de citar: Recocido Simulado [34, 13], GRASP [56, 57], Algoritmos Genticos [55, 22], Bsqueda Tab [20, 21], Redes Neu-

357

358

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

ronales [38, 73], mtodos basados en Colonias de Hormigas [11, 12] o incluso algunas tcnicas ms recientes como son: Bsqueda por Entornos Variables [26, 28] y Bsquedas Dispersas [36, 43]. La Bsqueda Local [1, 54, 74, 39] y las tcnicas de arranque mltiple o Multistart [44, 42] se pueden considerar propiamente como metaheursticas o como elementos de las metaheursticas en general. Algunas referencias importantes sobre las diferentes metaheursticas son la visin global ofrecida en [52], el texto de excelente carcter pedaggico de Michalewicz y Fogel How to Solve It: Modern Heuristics [46] y el reciente texto de Glover y Kochenberger [19]. Este trabajo parte con el propsito de estudiar y analizar uno de los procedimientos heursticos que ha tenido ms difusin y aplicacin en los ltimos aos, como es la Bsqueda por Entornos Variables o VNS, que, desde que fue propuesta por N. Mladenovic en 1995 [47] hasta la actualidad, ha demostrado ser una tcnica bastante eciente y de fcil aplicacin a gran cantidad de problemas. La primera seccin sirve como introduccin a los mtodos heursticos, explicando en qu consisten, su clasicacin, y las ventajas e inconvenientes de su aplicacin sobre un determinado problema de optimizacin. Puesto que el presente trabajo se centra en la Bsqueda por Entornos Variables, en la segunda seccin se lleva a cabo una exposicin de la metaheurstica VNS, en la que se analizan las principales variantes que se han aplicado en la prctica y se comentan los aspectos ms importantes que hay que tener en cuenta a la hora de su diseo. Una vez conocida la tcnica, parece lgico continuar haciendo un pequeo estudio de las aplicaciones en Localizacin que se le han dado a la misma en la literatura.

14.2

Heursticas
m n {f (x) | x X, X S}

Un problema de optimizacin podra formularse de la siguiente manera:

siendo S el espacio de soluciones, X la regin factible, x una solucin factible y f una funcin real. As pues, si S es nito, estaremos ante un problema de optimizacin combinatoria, mientras que si S = IRn ser de optimizacin continua. En adelante representamos un problema de optimizacin por el par (S, f ) donde S representa su espacio de soluciones y f la funcin objetivo.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

359

Existen muchos problemas de optimizacin que son muy difciles de resolver de manera exacta. Algunos son NP-duros, que se caracterizan porque no se conoce ningn algoritmo que pueda resolverlos exactamente y tenga complejidad polinomial (es decir, cuyo tiempo de resolucin crezca polinomialmente con el tamao del problema). En estos casos, se plantean algoritmos que permitan obtener soluciones cercanas al valor ptimo de la funcin objetivo, invirtiendo un tiempo razonable. Este tipo de algoritmos se denominan heursticos, siendo tiles en las siguientes situaciones: No se conoce un procedimiento exacto de resolucin del problema, o bien ste requiere mucho esfuerzo computacional. No es necesario obtener la solucin ptima global del problema, conformndonos con conocer una solucin cercana a dicho ptimo. Se preere resolver de forma aproximada un modelo ajustado a la realidad que resolver de forma exacta un modelo aproximado de la realidad, aunque se emplee un tiempo similar. No se dispone del suciente conocimiento especco acerca del problema como para disear un mtodo exacto de resolucin. Las principales ventajas e inconvenientes que presentan las heursticas quedan reejadas en la tabla siguiente:
Ventajas - Permiten una mayor exibilidad en el manejo de las caractersticas del problema. - Generalmente, ofrecen ms de una solucin, permitiendo una mayor capacidad de eleccin. - Suele ser ms fcil de entender la fundamentacin de las heursticas que los complejos mtodos matemticos que utilizan las tcnicas exactas. Inconvenientes - No siempre es posible conocer la calidad de la solucin obtenida, recomendndose realizar acotaciones usando relajaciones, o bien generar varias soluciones y compararlas con la obtenida. - Dependencia de la estructura del problema considerado y falta de habilidad para adaptarse a nuevas situaciones o modicaciones del problema de partida.

Para solucionar el segundo de los inconvenientes planteados, se recomienda disponer de procedimientos heursticos generales que puedan usarse para resolver una amplia variedad de problemas, adaptando convenientemente los elementos que los denen. Estos procedimientos heursticos generales se denominan metaheursticas.

360

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

Dichas metaheursticas deben cumplir una serie de propiedades para garantizar su inters tanto terico como prctico, las cuales se enumeran a continuacin: 1. Simplicidad: La metaheurstica debe basarse en un principio simple y claro, siendo fcil de entender y de implementar. 2. Coherencia: Las heursticas diseadas para problemas particulares deben obtenerse de manera natural a partir de la metaheurstica de la que procede. 3. Eciencia: Las heursticas deben obtener soluciones ptimas o cercanas al ptimo para la mayora o todos los problemas reales que pretende resolver. 4. Efectividad: El tiempo computacional que empleen las heursticas en obtener las soluciones ptimas o cercanas al ptimos debe ser moderado. 5. Robustez: El rendimiento de una heurstica debe ser consistente para una gran variedad de problemas; no debe estar ajustada slo para resolver un pequeo conjunto de ellos. 6. Facilidad de uso: Las heursticas deben estar expresadas de manera clara y con el menor nmero de parmetros posible, y siendo fciles de entender y de usar. 7. Innovacin: Las metaheursticas, o bien las heursticas basadas en ellas, deben aplicarse en nuevos tipos de situaciones.

14.2.1

Estructura de entorno

En el campo de la optimizacin real continua, se dene el ptimo local de la funcin a optimizar a cualquier punto x para el que existe un entorno N (x ) tal que x es ptimo en ese entorno. As pues, el ptimo global podr obtenerse examinando todos los ptimos locales que presenta la funcin y quedndonos con el que presente un mejor valor objetivo. A partir de estas ideas, podemos denir el entorno de una determinada solucin. Denicin 1. Dado el problema (S , f ), una estructura de entorno es una funcin N : S 2S = { X / X S } que asocia a cada solucin x S un conjunto N (x) S de soluciones cercanas a x. El conjunto N (x) se denomina entorno de x, mientras que cada y N (x) ser una solucin vecina de x.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

361

La anterior denicin es bastante general, ya que es el investigador el que debe decidir cundo considera que dos soluciones son cercanas. En la gura 14.1 se puede encontrar una representacin grca de un posible entorno N (x) de una solucin cualquiera x perteneciente a un espacio de soluciones S (que se ha considerado bidimensional para simplicar).

Figura 14.1.

Entorno de una solucin x S .

Si bien existen diversas estructuras de entorno que se han utilizado a la hora de resolver problemas combinatorios, las ms utilizadas en problemas combinatorios y continuos son las inducidas a partir de una mtrica o distancia, denida sobre el espacio de soluciones S . Consideremos una mtrica denida sobre S , : S S IR; sta nos permitir evaluar la distancia existente entre dos soluciones cualesquiera de S . A partir de ella, podemos construir una serie de entornos de una solucin dada x, simplemente considerando el conjunto de soluciones x S que estn a una cierta distancia de x. De esta manera, se pueden obtener los siguientes entornos inducidos a partir de , para una solucin cualquiera x S : Nk (x) = {x S | (x, x ) = k }, k = 1, 2, . . . } Una de las estructuras de entorno ms importante es la del k-intercambio, que consiste en sustituir k elementos presentes en una solucin por otros k que no lo estn. Es decir, estara formada por aquellos entornos inducidos a partir de la mtrica (x, x ) = nmero de elementos o componentes en que dieren x y x .

362

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

14.3

Bsqueda por Entornos Variables

Uno de los primeros procedimientos que se utiliz a la hora de resolver los problemas de optimizacin combinatoria fue la bsqueda local, que se caracteriza por ir realizando una serie de movimientos en el espacio de soluciones, mejorando, en cada uno de ellos, el valor de la funcin objetivo. En el algoritmo 1 se muestra el esquema bsico de la bsqueda local. Algorithm 1 Bsqueda local. Inicializacin. Seleccionar la estructura de entorno N a utilizar en la bsqueda y encontrar una solucin inicial x. Repetir los siguientes pasos hasta vericarse el criterio de parada (por ejemplo, encontrar un ptimo local): (a) Encontrar la mejor solucin vecina x de x (x N (x)). (b) Si x no es mejor que x, parar. En otro caso, hacer x = x y volver al paso (a).

Sin embargo, el principal problema que presenta esta heurstica es que, cada vez que alcanza un ptimo local, ya no puede salir de l y continuar la bsqueda. La primera mejora que se puede hacer a esta heurstica consiste en repetir el procedimiento de bsqueda local considerado, partiendo de diferentes soluciones iniciales generadas aleatoriamente, almacenando la mejor solucin obtenida. Este procedimiento es conocido como Bsqueda Local con Arranque Mltiple o Multistart, y resulta adecuado en aquellos casos en que los ptimos locales se distribuyen al azar en el espacio de soluciones. Sin embargo, esto no siempre ocurrir, ya que en muchos casos se observa que los ptimos locales tienden a concentrarse en pequeas regiones del espacio de soluciones, lo que diculta su obtencin. En el ejemplo de la gura 14.2, podemos comprobar lo complicado que resultara obtener el ptimo global utilizando una Bsqueda Local con Arranque Mltiple, ya que presumiblemente habra que generar gran cantidad de soluciones aleatorias para alcanzarlo en alguna de las iteraciones de la bsqueda local. En los ltimos aos, se han propuesto diversas metaheursticas con el objetivo de mejorar el esquema de la bsqueda local, evitando que dicho procedimiento se quede atrapado en un ptimo local, siendo las ms conocidas el Recocido Simulado y la Bsqueda Tab.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

363

Figura 14.2.

Ejemplo de la aplicacin de una bsqueda local con arranque mltiple.

Como metaheurstica alternativa se presenta a continuacin la Bsqueda por Entornos Variables o VNS (Variable Neighborhood Search), que se trata de una tcnica que intenta escapar de los ptimos locales cambiando de manera sistemtica la estructura de entorno a lo largo de la bsqueda (lo que supone una evolucin notable frente a la nica estructura de entorno que utiliza la bsqueda local). Esta metaheurstica se clasica dentro del grupo de los mtodos de bsqueda por entornos. La ventaja de utilizar varias estructuras de entornos se basa en el hecho de que un ptimo local para un determinado entorno, no tiene por qu serlo para otro, por lo que la bsqueda podr continuar hasta obtener una solucin que sea ptimo local para todas las estructuras de entorno consideradas.

14.3.1

Esquemas bsicos de la VNS

Comenzaremos denotando por Nk , k = 1, ..., kmax al conjunto de estructuras de entorno preseleccionadas, de manera que Nk (x) representa el conjunto de soluciones (vecinas de x) del k -simo entorno de x. Dichos entornos Nk pueden ser inducidos a partir de una o ms mtricas introducidas en el espacio de soluciones considerado, tal y como se coment en la seccin 14.3. La Bsqueda por Entornos Variables o VNS se basa en tres principios: 1. Un mnimo local con respecto a una estructura de entorno no tiene que serlo necesariamente para otra diferente.

364

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

2. Un mnimo global es un mnimo local respecto de todas las estructuras de entorno. 3. En muchos problemas, los mnimos locales respecto de una o varias estructuras de entorno estn relativamente cerca unos de otros. Estos tres principios se tienen en cuenta a la hora de resolver un problema de optimizacin utilizando varias estructuras de entorno, pudiendo proceder de tres formas diferentes, segn la manera en que se realicen los cambios de entorno. Las tres posibilidades son: (i) Determinista (ii) Estocstica (iii) Determinista y estocstica Para cada una de estas situaciones se obtiene un procedimiento diferente, cada uno de los cuales se muestran a continuacin: (i) Descenso por Entornos Variables: El mtodo de Descenso por Entornos Variables o VND (Variable Neighborhood Descent) se obtiene cuando el cambio de entorno se realiza de manera determinista, explorndose previamente todas las soluciones del entorno de la solucin dada. Como precursora de la metaheurstica VND se pueden considerar los trabajos de Lin y Kernighan [33, 37]. El esquema de la VND se presenta en el algoritmo 2. Algorithm 2 VND. Inicializacin. Seleccionar el conjunto de estructuras de entorno Nk , k = 1, ..., kmax que se usarn en la bsqueda y encontrar una solucin inicial x. Repetir los siguientes pasos hasta que no sea posible mejorar: 1. Hacer k = 1. 2. Repetir los siguientes pasos hasta que k = kmax : (a) Exploracin del entorno: Encontrar la mejor solucin vecina x de x (x Nk (x)). (b) Moverse o no: Si la solucin obtenida x es mejor que x, hacer x = x y k = 1. En otro caso, hacer k = k + 1.

Cabe sealar que la solucin nal obtenida por la VND ser un mnimo local respecto de las kmax estructuras de entorno consideradas, lo

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

365

que permite obtener una solucin ms cercana al mnimo global que en el caso de la bsqueda local, en la que slo se utiliza una nica estructura de entorno (coincide con la VND con kmax = 1). Una variante de la VND anterior se obtiene sustituyendo la ordenacin secuencial de las estructuras de entorno por una estrategia anidada. Considerando que kmax = 3, una posible estrategia anidada podra consistir en aplicar la VND del algoritmo 2 con los dos primeros entornos en cada solucin x del tercero (x N3 (x)). Podemos encontrar procedimientos de este tipo en [5, 45, 4]. (ii) Bsqueda por Entornos Variables Reducida: El mtodo de bsqueda por entornos variables reducida o RVNS (Reduced Variable Neighborhood Search) se caracteriza porque se seleccionan las soluciones vecinas x de una dada x (x Nk (x)) de manera aleatoria, comparndose posteriormente con la mejor obtenida hasta ese momento. Los pasos de la RVNS se presentan en el algoritmo 3. Algorithm 3 RVNS. Inicializacin. Seleccionar el conjunto de estructuras de entorno Nk , k = 1, ..., kmax que se usarn en la bsqueda y encontrar una solucin inicial x. Elegir, tambin, el criterio de parada a emplear. Repetir los siguientes pasos hasta vericarse el criterio de parada: 1. Hacer k = 1. 2. Repetir los siguientes pasos hasta que k = kmax : (a) Agitacin: Generar al azar una solucin x del k -simo entorno de x (x Nk (x)). (b) Moverse o no: Si la solucin x mejora la mejor obtenida, hacer x = x y continuar la bsqueda con N1 (k = 1). En otro caso, hacer k = k + 1.

La heurstica RVNS resulta til a la hora de resolver problemas grandes, para los que la bsqueda local es costosa. En la prctica, se ha determinado que el mejor valor para el parmetro kmax es 2, y el criterio de parada ms utilizado es el mximo nmero de iteraciones entre dos mejoras del valor objetivo. Algunas aplicaciones las podemos encontrar en [29, 51]. (iii) Bsqueda por Entornos Variables bsica: El mtodo bsico de bsqueda por entornos variables o VNS (Variable Neighborhood Search), propuesto inicialmente en [48], combina cambios de entorno realizados de

366

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

manera determinista y estocstica. El esquema de la VNS se muestra en el algoritmo 4. Algorithm 4 VNS. Inicializacin. Seleccionar el conjunto de estructuras de entorno Nk , k = 1, ..., kmax que se usarn en la bsqueda y encontrar una solucin inicial x. Elegir, tambin, el criterio de parada a emplear. Repetir los siguientes pasos hasta vericarse el criterio de parada: 1. Hacer k = 1. 2. Repetir los siguientes pasos hasta que k = kmax : (a) Agitacin: Generar al azar una solucin x del k -simo entorno de x (x Nk (x)). (b) Bsqueda Local: Aplicar algn procedimiento de bsqueda local partiendo de x como solucin inicial. Denotar por x el ptimo local obtenido. (c) Moverse o no: Si la solucin x mejora la mejor obtenida, hacer x = x y continuar la bsqueda con N1 (k = 1). En otro caso, hacer k = k + 1.

En la gura 14.3 encontramos un ejemplo en el que se observa cmo procede la VNS bsica. Inicialmente, partiremos de una solucin inicial x generada aleatoriamente. A continuacin, se genera la solucin agitada x , elegida de forma aleatoria de entre todas las del entorno N1 (x). A partir de x y mediante un procedimiento de bsqueda local, alcanzaremos un ptimo local x . Para poder escapar de este ptimo local, es necesario incrementar el parmetro k hasta que alcance el valor 4, ya que es en este momento cuando se puede obtener una solucin agitada que permita alcanzar un nuevo ptimo local. Procediendo de anloga forma para este nuevo ptimo local, podremos generar una solucin agitada del entorno N4 de dicho ptimo local, que permita escapar del mismo y llegar as al ptimo global tras la aplicacin de la correspondiente bsqueda local. Como criterio de parada se pueden considerar varios, como por ejemplo: el mximo tiempo de CPU permitido, un mximo nmero de iteraciones, o el mximo nmero de iteraciones entre dos mejoras del valor objetivo. Resulta interesante comentar que en la fase de agitacin, correspondiente al paso 2(a) del esquema de la VNS, se selecciona la solucin x Nk (x) de manera aleatoria para evitar que el procedimiento sea

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

367

Figura 14.3.

Ejemplo de la aplicacin de la VNS bsica.

cclico, cosa que podra ocurrir si se hubiese empleado alguna regla determinista. Una variante de la VNS se obtiene sustituyendo la bsqueda local por la heurstica VND, dando lugar a la VNS/VND, que se ha aplicado recientemente con xito a diversos problemas [2, 5, 6, 7, 8, 45, 59, 60].

14.3.2

Extensiones de la VNS

La VNS bsica es una metaheurstica que resulta bastante til a la hora de resolver muchos problemas de optimizacin de tamao pequeo o mediano; sin embargo, no suele ocurrir lo mismo con problemas de tamao grande, donde puede presentar dicultades a la hora de obtener buenas soluciones en un periodo de tiempo razonable. En este caso, se recomienda utilizar alguna de las siguientes variantes de la VNS: (i) Bsqueda con Descomposicin por Entornos Variables: El procedimiento heurstico de bsqueda con descomposicin por entornos variables o VNDS (Variable Neighborhood Decomposition Search), desarrollado en [29], se basa en la descomposicin del problema considerado en diversos subproblemas. Sus etapas se pueden encontrar en el algoritmo 5. Al observar el esquema de la VNDS se comprueba que es similar al correspondiente de la VNS (ver algoritmo 4), diferencindose nicamente en el paso 2(b). En lugar de aplicar algn procedimiento de

368
Algorithm 5 VNDS.

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

Inicializacin. Seleccionar el conjunto de estructuras de entorno Nk , k = 1, ..., kmax que se usarn en la bsqueda y encontrar una solucin inicial x. Elegir, tambin, el criterio de parada a emplear. Repetir los siguientes pasos hasta vericarse el criterio de parada: 1. Hacer k = 1. 2. Repetir los siguientes pasos hasta que k = kmax : (a) Agitacin: Generar al azar una solucin x del k -simo entorno de x (x Nk (x)). (b) Bsqueda Local: Considerar un conjunto de k componentes presentes en x y que no lo estn en x (y = x \ x). Obtener un ptimo local y en el espacio de y mediante inspeccin o la aplicacin de alguna heurstica. Denotar mediante x la solucin que le corresponde en el espacio de soluciones S (x = (x \ y ) y ), es decir, una vez aadidas las restantes componentes que haban sido prejadas anteriormente. (c) Moverse o no: Si la solucin x mejora la mejor obtenida, hacer x = x y continuar la bsqueda con N1 (k = 1). En otro caso, hacer k = k + 1.

bsqueda local en el espacio de soluciones S , partiendo de x Nk (x), en la VNDS se procede de manera diferente. En cada iteracin del paso 2(b) de la VNDS se resuelve un subproblema en un subespacio Vk Nk (x) determinado a partir de x Nk (x). Este subespacio consiste en variar en x slo k componentes que se modican para obtener x . As pues, la VNDS resuelve el problema descomponiendo el espacio de bsqueda en subespacios de Nk (x), donde de cada solucin slo hay que determinar k componentes, estando las dems prejadas. Una variante de este esquema podra obtenerse sustituyendo la Bsqueda Local del apartado 2(b) por una VNS, obteniendo as una heurstica denominada VNDS/VNS, que puede considerarse como una alternativa a tener en cuenta a la hora de resolver determinados problemas. (ii) Bsqueda por Entornos Variables Sesgada: La bsqueda por entornos variables sesgada o SVNS (Skewed Variable Neighborhood Search) es un mtodo, desarrollado en [23], que pretende un objetivo claro: explorar los valles que puedan encontrarse lejos de la mejor solucin al-

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

369

macenada en cada momento. Esta tcnica resulta til ya que, una vez que se encuentra la mejor solucin de una regin amplia, generalmente, conviene alejarse bastante de dicha regin para obtener una solucin que la mejore. Si quisiramos obtener soluciones bastante alejadas de la mejor almacenada utilizando una VNS bsica, hara falta considerar un nmero elevado de estructuras de entorno (un valor grande de kmax ), en cuyo caso degenerara en una Multistart VNS que, en muchos problemas, resulta ineciente. Para corregir este esquema, la heurstica debe ser ms tolerante a la hora de aceptar un ptimo local x que est alejado de x como solucin de partida para una posterior exploracin. De esta manera, surge la SNVS, cuyo esquema para resolver un problema de minimizacin queda reejado en el algoritmo 6. Algorithm 6 SVNS. Inicializacin. Seleccionar el conjunto de estructuras de entorno Nk , k = 1, ..., kmax que se usarn en la bsqueda. Encontrar una solucin inicial x, as como su correspondiente valor objetivo f (x). Hacer xopt = x y fopt = f (x). Elegir, tambin, el criterio de parada a emplear y un valor para el parmetro . Repetir los siguientes pasos hasta vericarse el criterio de parada: 1. Hacer k = 1. 2. Repetir los siguientes pasos hasta que k = kmax : (a) Agitacin: Generar al azar una solucin x del k -simo entorno de x (x Nk (x)). (b) Bsqueda Local: Aplicar algn procedimiento de bsqueda local partiendo de x como solucin inicial. Denotar por x el ptimo local obtenido. (c) Mejora o no: Si f (x ) < fopt , hacer fopt = f (x ) y xopt = x . (d) Moverse o no: Si f (x ) (x, x ) < f (x), hacer x = x y continuar la bsqueda con N1 (k = 1). En otro caso, hacer k = k + 1.

En el algoritmo 6 se observa que en el paso 2(d) se hace uso de una funcin (x, x ) que permite medir la distancia existente entre la mejor solucin almacenada x y el ptimo local encontrado, x . Como alternativa para dicha funcin puede utilizarse la misma que se utiliz para denir los entornos Nk , que estaran formados por aquellas soluciones

370

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

que estn a una distancia k de una considerada. Adems, el parmetro debe seleccionarse de manera que se permita explorar valles alejados de x cuando f (x ) sea mayor que f (x), pero sin hacerlo de manera excesiva, ya que se correra el riesgo de abandonar siempre x. Por tanto, para evitar que se realicen movimientos frecuentes desde x a una solucin cercana, se suele considerar un valor grande para cuando (x, x ) sea pequeo. (iii) Bsqueda por Entornos Variables Paralela: La bsqueda por entornos variables paralela o PVNS (Parallel Variable Neighborhood Search) es una ltima extensin se obtiene paralelizando la VNS, pudiendo realizarse de varias maneras, tal como se recoge en [10, 17]: Paralelizando la fase de bsqueda local. Aumentando el nmero de soluciones generadas en cada entorno, para luego realizar la bsqueda local en paralelo partiendo de cada una de ellas. Procediendo como en el caso anterior, pero actualizando la informacin sobre la mejor solucin encontrada. Asignando diferentes entornos a cada procesador e interrumpir su trabajo tan pronto como se obtenga una solucin que mejore la almacenada.

14.3.3

Caractersticas del diseo de una VNS

La Bsqueda por Entornos Variables o VNS se caracteriza por realizar un cambio sistemtico de la estructura de entorno en la bsqueda, de ah que necesite varias estructuras de entorno diferentes. Sin embargo, el esquema bsico de la VNS es bastante general, quedando por el momento sin respuesta algunas preguntas, como son: Qu estructuras de entorno debemos utilizar? Cul es nmero ptimo de estructuras de entorno que debemos emplear? En qu orden se deben utilizar los entornos utilizados? Cmo se llevar a cabo el cambio de entorno? Las respuestas a estas preguntas deber darlas el investigador cuando aplique alguna variante de la metaheurstica VNS a un problema determinado, dependiendo as de las caractersticas del problema que

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

371

se pretenda resolver. Sin embargo, en [8] se dan algunas recomendaciones generales que pueden ser bastante tiles a la hora de responder a las cuestiones anteriores, las cuales se recogen a continuacin. 1.- Seleccin de las estructuras de entorno. En general, las estructuras de entorno pueden ser obtenidas utilizando diferentes mtricas o distancias introducidas en el espacio de soluciones S . Sin embargo, se pueden obtener de una manera ms sencilla, siguiendo alguna de las siguientes estrategias de seleccin: (a) Seleccin de heursticas existentes. Para la mayora de los problemas combinatorios, existen varias heursticas de bsqueda local que se han aplicado con anterioridad, y que, probablemente, dieren nicamente en la estructura de entornos considerada en dicha bsqueda. Una posible manera de proceder consistira en seleccionar razonablemente algunas de las estructuras de entornos (de las usadas con anterioridad en la bsqueda local) y utilizarlas, una tras otra, en la bsqueda, dando lugar as a una heurstica VND. (b) Cambio de parmetros de mtodos existentes. Algunas heursticas basadas en la bsqueda local se caracterizan por utilizar entornos con tamao dependiente de una serie de parmetros, cuyos valores son estimados y asignados antes de ejecutar el cdigo. En lugar de jarlos, podramos ir variando sistemticamente sus valores, dentro de unos lmites razonables, obteniendo as un conjunto de estructuras de entorno que podrn usarse en un esquema de la VNS. Dicho esquema se ha utilizado para resolver el problema del viajante de comercio (o TSP) en [48], basndose en la bsqueda local GENIUS, que puede encontrarse en [18]. (c) Uso del k-intercambio. La manera ms sencilla y natural de obtener los entornos es realizando movimientos de k-intercambio. De esta manera, se obtendran el conjunto de soluciones que forman el entorno de una dada, cambiando k elementos o componentes de dicha solucin por otros k que no estn presentes en ella. Algunos movimientos conocidos que pertenecen a esta clase son los de k-optimalidad, k-reasignacin, k-relocalizain, k-sustitucin, etc. Diversos entornos obtenidos de esta manera han sido utilizados a la hora de resolver el TSP ([25]), el problema de la p-mediana ([24]), el Weighted Maximum Satisability (WMAXSAT) ([23]), el Bilinear Programming ([25]), el Multi-source Weber ([5]) o el Minimum Sumof-squares clustering ([27, 45]). (d) Divisin de los entornos. Otra posibilidad consiste en dividir un determinado entorno en varios subentornos ms pequeos, con

372

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

el objetivo de encontrar soluciones que mejoren la almacenada ms rpidamente. De esta manera, se examinaran uno o varios subentornos en lugar de todo el entorno. Por ejemplo, al usar los movimientos de 2-optimalidad en el TSP, las aristas consideradas que podran entrar en la solucin, podran limitarse al 20 %, luego al 40 %, y as en adelante. 2.- Ordenacin de los entornos. A continuacin se comentan algunas consideraciones a seguir para varios esquemas bsicos de la VNS: Si se considera una heurstica VND, una ordenacin natural de los entornos se obtiene considerndolos desde el que contenga menos soluciones vecinas al que contenga un mayor nmero de ellas; es decir, vericando que |N1 (x)| |N2 (x)| |Nkmax (x)|. De esta forma se consigue uno de los mayores atractivos de la VND, ya que se puede acceder a los entornos con ms soluciones aprovechando las estructuras de los entornos con menos soluciones que los contienen. Esto conlleva encontrar rpidamente soluciones que mejoran la almacenada. Para una VNS, una ordenacin natural se obtendra aumentando la distancia existente entre la solucin actual x y las soluciones y Nk (x), k = 1, . . . , kmax . Cuando se construyen los entornos utilizando los movimientos de k-intercambio, se verica la siguiente propiedad: |N1 (x)| |N2 (x)| |Nkmax (x)|, siempre que kmax sea mucho ms pequeo que n, siendo n el nmero de componentes de x. 3.- Seleccin dentro del entorno. En general, no suelen ser muy efectivos los algoritmos en los que se visitan todas las soluciones de varios entornos grandes, de ah que sea aconsejable seleccionar algunas de ellas. Una posibilidad consiste en seleccionar un conjunto de soluciones del entorno de forma aleatoria Vk (x) Nk (x), pudiendo considerar como parmetro de la VNS el nmero de soluciones seleccionadas sk = |Vk (x)|. Se puede obtener la VNS bsica como caso particular al considerar sk = 1, k = 1, . . . , kmax . Sin embargo, existen otros criterios de seleccin que se pueden utilizar para denir Vk (x), como puede ser el que considera en cada caso los 5 mejores movimientos y escoge uno de ellos al azar. Esta ltima estrategia se puede encontrar en [23] y obtuvo mejores resultados al considerarla en la SVNS que al hacerlo en la VNS bsica, a la hora de resolver el problema del Weighted Maximum Satisability.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

373

4.- Estrategias de bsqueda y de cambio de entornos. A continuacin, se van a citar diversas estrategias que se pueden incorporar a la VNS, dotndola de una mayor exibilidad para adaptarse a la mayora de los problemas de optimizacin. - Bsqueda greedy y Bsqueda ansiosa. Dada una solucin determinada en la bsqueda local se debe obtener, una solucin vecina de la anterior, es decir, perteneciente al entorno de la misma. Sin embargo, esta seleccin se suele realizar segn dos estrategias diferentes: la bsqueda greedy o bsqueda del mejor (best improvement) y la bsqueda ansiosa o bsqueda del primer mejor (rst improvement). En el caso de la bsqueda del mejor, se realiza una bsqueda exhaustiva a lo largo de todas las soluciones del entorno de la solucin actual, determinando cul es la que provoca una mejora mayor del valor objetivo actual. Por otro lado, la bsqueda del primer mejor se caracteriza por recorrer todas las soluciones del entorno hasta que se encuentre la primera que mejore a la solucin actual. El problema de elegir cul de estas dos estrategias se va a utilizar, se presenta tambin en la VNS, y adems en dos fases importantes; primero, a la hora de producirse el cambio de entorno, y segundo, cuando se visitan diferentes soluciones de un mismo entorno. Por tanto, combinando las distintas estrategias posibles, se obtendran cuatro posibilidades que podran usarse en la prctica. Como ejemplos podemos citar que la VNS bsica considera en el primer nivel de decisin la estrategia de la bsqueda de primer mejor, mientras que la VND se basa en una bsqueda del mejor en el segundo nivel de decisin. Otra estrategia que puede emplearse puede ser la bsqueda aleatoria, en la que se selecciona una solucin del entorno de manera aleatoria. Un ejemplo en el que se usa esta estrategia podra ser la RVNS, que la utiliza, concretamente, a la hora de decidir las soluciones que se visitan en un entorno (segundo nivel de decisin). - VNS descendente y ascendente-descendente. Cuando no se produce una mejora de la solucin actual, debemos plantearnos si aceptamos o no realizar un movimiento ascendente, es decir, si nos movemos o no a una solucin peor que la actual. Si se permite realizar movimientos que empeoren la solucin actual, hablaremos de estrategia descendenteascendente, mientras que si no son permitidos, estaremos ante una estrategia descendente. Este planteamiento podemos considerarlo en los esquemas de la VNS a dos niveles diferentes: a la hora de cambiar de entorno y cuando se estn recorriendo las soluciones de un mismo entorno. De esta manera, se podran dar cuatro posibilidades en nuestro

374

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

esquema de la VNS, que seran (descendente, descendente), (descendente, descendenteascendente), (descendenteascendente, descendente) y (descendenteascendente, descendenteascendente). La primera opcin corresponde a la VNS bsica, mientras que la tercera es la base de la SVNS. - VNS hacia adelante y hacia atrs. Cuando se ha seleccionado la estrategia de bsqueda del primer mejor, el orden en el que se utilizan las estructuras de entorno Nk juega un papel importantsimo en la calidad de la solucin nal obtenida. Una primera posibilidad consiste en recorrer los entornos a medida que se va incrementando el valor de k ; es decir, comenzar con k = 1 y cuando no se pueda mejorar en Nk (x), hacer k = k + 1, volviendo a k = 1 en caso de encontrar una solucin mejor. En este caso, estaramos ante una VNS hacia adelante o forward VNS. Otra posibilidad consistira en ir recorriendo los diferentes entornos a medida que se va disminuyendo el valor de k . En este caso, se comenzara con k = kmax y se va disminuyendo su valor (k = k 1) en caso de que no se encuentre una solucin mejor en Nk (x); recomenzando con k = kmax cada vez que se encuentre una que mejore la actual. Esta variante recibe el nombre de VNS hacia atrs o backward VNS. Luego el VNS hacia atrs equivale al VNS hacia adelante con la ordenacin en el sentido inverso de los entornos. Tanto la forward VNS como la backward VNS se pueden obtener como casos particulares de la siguiente variante extendida, que se basa en los parmetros kmin y kstep para controlar el cambio de estructura de entorno. El proceso comenzara con k = kmin y se contina de manera que, cuando no se pueda encontrar una solucin que mejore la anterior, se hace k = k + kstep , permitiendo volver a k = kmin en caso de que se mejore la solucin. As pues, si kstep < 0, se obtiene la backward VNS, mientras que si kstep > 0, estaramos ante la forward VNS. Como ejemplo concreto citaremos a la VNS bsica, que es el resultado de considerar kmin = kstep = 1. - Intensicacin y Diversicacin. Cuando se consideran heursticas de bsqueda local para resolver un determinado problema, existen dos objetivos que se tienen muy en cuenta. El primero consiste en intensicar la bsqueda en aquellas regiones atractivas donde se esperan encontrar buenas soluciones, es lo que se conoce como intensicacin. Adems, el otro objetivo deseable es que la bsqueda sea capaz de explorar gran cantidad de zonas, evitando que dicha bsqueda se concentre en una determinada regin del espacio de bsqueda. A esta caracterstica se le conoce como diversicacin. En el caso de la VNS, se consigue que la bsqueda posea estas dos caractersticas, variando los

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

375

valores de algunos de sus parmetros, como kmax , kmin , kstep o sk , o bien seleccionando diferentes estrategias de bsqueda de entre las anteriormente citadas. Si consideramos como ejemplo la VNS bsica (ver algoritmo 4), comprobamos que la intensicacin de la bsqueda se produce en el paso 2(b), en el que se realiza la bsqueda local. En cuanto a la diversicacin, tambin se ha tenido en cuenta en dicho esquema, y queda reejada en la fase de agitacin (paso 2(a)), ya que con ella se pretende alejarnos de los posibles ptimos locales (de manera que, cuanto mayor sea el valor de k , ms nos alejaremos).

14.4
14.4.1

Aplicaciones de la VNS en localizacin


El problema de la p-mediana

Para modelizar este problema de manera matemtica se considera el conjunto L = {v1 , v2 , ..., vm } de posibles localizaciones de puntos de servicio y el conjunto de m usuarios U = {u1 , u2 , ..., un }, de manera que cada cliente ui puede tener asociado un valor numrico wi , denominado peso, representando la cantidad que demanda el usuario ui . El Problema de la p-mediana (PM) consiste en determinar simultneamente las posiciones de L en las que localizar los p servicios, de manera que se minimice el coste total del trasporte necesario para satisfacer las demandas de los usuarios, suponiendo que dicho coste es proporcional a la cantidad de demanda y a la distancia recorrida. Para ello, cada usuario ser atendido por la planta o servicio ms cercano. En el caso estndar, la cantidad de demandada por los usuarios es la misma y se toma wi = 1, para cada i = 1, 2, ..., n. El Problema de la p-mediana y sus extensiones resultan tiles a la hora de resolver diversas situaciones reales, como puede ser la localizacin de plantas industriales, almacenes o depsitos, edicios pblicos, etc. Adems, tambin puede utilizarse en el Anlisis Cluster, sustituyendo las localizaciones de los usuarios por puntos de un espacio k -dimensional, que corresponden a las observaciones a agrupar. Sin embargo, el PM puede denirse en trminos matemticos, tal y como se muestra a continuacin. Partiremos de una matriz de distancias Dmn , en la que dij = d(ui , vj ) representa la distancia de transporte para satisfacer la demanda del usuario posicionado en ui desde el servicio localizado en vj , para cualquier ui U y vj L. El objetivo consistir en minimizar la suma de los costes de transporte (o distancias, si los pesos son iguales),

376
es decir, m n

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez


ui U

wi m n d(ui , vj ) : X L, |X | = p . vj X

El Problema de la p-mediana es de un problema NP-duro [32], para el que se han propuesto bastantes procedimientos de resolucin, incluyendo mtodos exactos basados en programacin lineal [9, 62, 15, 3, 30, 45, 66, 68, 67], algoritmos constructivos [35, 9, 72, 58] algoritmos basados en tcnicas duales [14, 15, 53] y procedimientos de bsquedas locales [41, 70, 31, 72, 69]. Recientemente han aparecido metaheursticas capaces de obtener soluciones muy prximas de las ptimas. El procedimiento de bsqueda tab, ha sido aplicado por Voss [71] y Rolland et al. [65]. Este ltimo mtodo fu comparado por Rosing et al. [64] con la heurstica de concentracin [63], la cual comparativamente obtuvo resultado mejores. Hansen y Mladenovic [48] propusieron una VNS para el problema, ms tarde fu paralelizada por Garca-Lpez et al. [17]. Una variacin de este mtodo VNDS (variable neighborhood decomposition search), fu sugerido por Hansen et al. [29]. En [24], encontramos una primera heurstica VNS diseada para resolver el PM. En este caso, se ha considerado como optimizador local el Mtodo del Intercambio Rpido (FI), que proporciona una mejora de calidad de las soluciones obtenidas por la VNS. Adems, se ha empleado como conjunto de estructuras de entorno, las inducidas a partir de la mtrica siguiente: (x, x ) = |x\x | = |x \x|, x, x S . As, dos soluciones x, x S estaran a una distancia k , segn la mtrica anterior, si dieren en k localizaciones de las plantas o servicios. Por tanto, los entornos de una solucin x inducidos por sern Nk (x), k = 1, ..., kmax (kmax p), cuya cardinalidad ser: |Nk (x)| = p k np k .

Esta VNS se ha comparado, tambin en [24], con una estrategia voraz Greedy) con el intercambio rpido (G+FI), y las dos variantes de la Bsqueda Tab comentadas anteriormente, y que denotaremos por TS1 (TS en la que se utiliza el Mtodo de eliminacin inversa) y TS-2 (TS que emplea el movimiento de sustitucin en cadena). De la experiencia realizada se concluye que las heursticas VNS, TS-1 y TS-2 mejoran los resultados obtenidos por G+FI, presentando la VNS un porcentaje de

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

377

error total muy inferior al obtenido por las dos bsqueda tab. Con los problemas de la TSP-LIB de 1400 y 3038 nodos la VNS obtiene mejores soluciones que las dems heursticas analizadas lo que sugiere que la VNS es un buen procedimiento a la hora de resolver problemas mayores. En [29], se han considerado dos conocidas variantes de la VNS, como son la RVNS y la VNDS, cuyo esquema bsico ya se ha comentado en la seccin 2. En ambas heursticas, se ha empleado el conjunto de estructuras de entornos construida para la VNS anterior (inducida por la mtrica ). Estos dos procedimientos, junto con el mtodo FI, se han ejecutado, al igual que la VNS anterior, sobre los 40 problemas del ORLIB y una seleccin de problemas de TSP-LIB de mayor tamao. De los resultados obtenidos se concluye que la RVNS da soluciones de la misma calidad que el FI aunque empleando un tiempo computacional medio menor. La VNDS logr obtener mejores soluciones que las dos heursticas anteriores pero empleando un tiempo computacional medio bastante superior al de las anteriores. Estos resultados muestran a la RVNS como una buena heurstica que permite obtener soluciones de buena calidad para problemas pequeos empleando un tiempo computacional razonable, no siendo necesaria la descomposicin en este caso. Por otro lado, para analizar el comportamiento de las heursticas frente problemas de tamao mayor se usaron los problemas de 1400 y 3038 nodos. Se observ la obtencin de soluciones de calidad similar a la RVNS y el FI. Sin embargo, el tiempo computacional empleado por la RVNS es mucho menor que el correspondiente del FI. Finalmente, la VNDS, fue la nica heurstica que logr mejorar los valores objetivos obtenidos por la VNS y en un tiempo computacional medio inferior al del FI y la VNS, aunque superior al de la RVNS. Este hecho se ve recompensado en la calidad de las soluciones que obtiene dicha heurstica VNDS, tanto en problemas pequeos como en los de tamao grande. Otro procedimiento heurstico basado en el esquema de la VNS que se ha aplicado sobre la p-mediana es el presentado en [16], en el que se emplea como optimizador local una bsqueda local basada en una estructura de entornos del 2-intercambio. Dicho procedimiento, aunque permite obtener buenas soluciones para los problemas, implica un elevado coste computacional, en comparacin, por ejemplo, con la VNS diseada en [24]. Para acabar con el repaso de las heursticas diseadas para este problema, comentaremos que se ha paralelizado el esquema de la VNS de varias maneras, tal y como podemos encontrar en [10] y [17]. En estos

378

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

trabajos se comprueba que asignar diferentes entornos a cada procesador o thread (hilo de ejecucin), sin interrumpir su trabajo hasta que se produzca una mejora del valor objetivo, es una buena alternativa. En [10] han propuesto cuatro estrategias diferentes de paralelizacin del esquema de la VNS, las cuales se indican a continuacin: 1. Multidireccin: La estrategia de multidireccin consiste en ejecutar la heurstica VNS en cada procesador o thread, partiendo de la misma solucin inicial, empleando en cada uno diferentes estructuras de entorno. Una vez terminada la ejecucin de la VNS en un procesador o thread, se comprueba si el ptimo local alcanzado mejora a la mejor solucin obtenida hasta el momento. En caso armativo, se actualiza la misma, comenzando a continuacin un nuevo proceso que parte de la mejor solucin almacenada o bien de una nueva solucin aleatoria. 2. Entornos en paralelo: En este caso, se realiza un procedimiento de bsqueda local en cada procesador o thread, para la que se selecciona aleatoriamente la estructura de entorno que se va a utilizar. Una vez que nalizan todas las bsquedas, la mejor solucin obtenida se emplea como solucin inicial en la nueva ronda. 3. Entornos en paralelo con interrupcin: Esta estrategia es similar a la anterior excepto en que las bsquedas paralelas se interrumpen cada vez que un procedimiento de bsqueda encuentra una solucin que mejora la almacenada. En ese punto, se actualiza la solucin almacenada y se inician de nuevo las bsquedas partiendo de la misma. 4. Entornos en paralelo cooperativos: Esta estrategia, al igual que la anterior, es similar a la de entornos en paralelo, salvo en una serie de consideraciones. En este caso, se va a permitir que los procesadores o threads nalicen los procedimientos de bsqueda que tienen asignados. Adems, la mejor solucin global obtenida se va a ir actualizando continuamente. As pues, cuando un thread naliza su bsqueda, compara la mejor solucin que obtiene con la almacenada y si la mejora, vuelve a comenzar la bsqueda desde la solucin obtenida pero utilizando la primera estructura de entorno. En caso de no mejorar la almacenada, el thread contina el procedimiento de bsqueda desde la solucin obtenida, empleando en ella la siguiente estructura de entorno que no ha sido asignada. En [10], se observa que al aumentar el nmero de procesadores empleados, el tiempo computacional invertido disminuye considerable-

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

379

mente; sin embargo, esto no supone que la calidad de la solucin tenga que aumentar necesariamente al considerar ms procesadores. El comportamiento a aumentar el tamao de los problemas es similar al comentado. Por otra parte, en [17] se plantean tres estrategias de paralelizacin diferentes para el algoritmo de la VNS; una de ellas (la primera que se cita) con el propsito de reducir el tiempo de ejecucin del procedimiento de bsqueda local empleado, y las otras dos con la intencin de incrementar la exploracin del espacio de soluciones. Los procedimientos referidos son los que se indican a continuacin: 1. VNS Paralela Sincronizada (SPVNS): Se trata de un algoritmo sincronizado que se encarga de realizar en paralelo los procedimientos de bsqueda local, ya que son estos los que ms tiempo computacional consumen en las iteraciones secuenciales de la VNS. En este caso, cada procesador o thread tiene asignado un subconjunto de soluciones del entorno (que previamente ha sido dividido), que emplea para obtener un ptimo local. Todos los procedimientos de bsqueda parten de la misma solucin agitada y, una vez que nalizan su trabajo todos los procesadores o threads, almacenan la mejor solucin global obtenida, que servir de solucin de partida para una nueva ronda de ejecucin paralela, con la primera estructura de entorno, en caso de que mejore la almacenada. En caso contrario, se inicia una nueva ronda paralela con la siguiente estructura de entorno. 2. VNS Paralela Replicada (RPVNS): Este algoritmo engloba un procedimiento multistart en el que cada bsqueda local es reemplazada por una VNS. Por tanto, cada procesador o thread ejecutar, de forma independiente, un procedimiento VNS completo que parte de una solucin inicial aleatoria generada por cada uno de ellos. Una vez nalizado el trabajo de los mismos, se almacena la mejor solucin alcanzada. 3. VNS con Agitacin Replicada (RSVNS): Este procedimiento se caracteriza porque cada procesador o thread, partiendo de una misma solucin inicial aleatoria, lleva a cabo una agitacin de la solucin seguida de una bsqueda local con la primera estructura de entorno. Una vez nalizada esta iteracin en cada procesador o thread, se comparan las mejores soluciones obtenidas, almacenando la mejor. As, en las sucesivas rondas, cada vez que nalice la bsqueda local con un determinado entorno, se comparan de nuevo las soluciones y se actualiza, pasando a la siguiente estructura

380

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

de entorno (en caso de que no se mejore la solucin almacenada) o volviendo a la primera (si se mejora). La experiencia computacional llevada a cabo en [17] consisti en ejecutar cada uno de los tres procedimientos paralelos sobre un conjunto de 9 problemas obtenidos a partir del problema FL1400 de TSP-LIB, variando el valor de p entre 20 y 100. En [17] se compara el valor objetivo obtenido por las paralelizaciones de la heurstica VNS con el mejor valor en [29] como referencia, as como los mejores valores objetivos alcanzados por la VNS secuencial. Se comprueba que los algoritmos RPVNS y RSVNS permiten ampliar el conjunto de soluciones analizadas durante la bsqueda, superando en este aspecto al procedimiento secuencial de la VNS. Este hecho muestra que estos dos procedimientos paralelos son capaces de obtener mejores soluciones que la VNS. Adems el algoritmo RSVNS emplea un menor nmero de iteraciones que el RPVNS, lo que es debido a que en la RPVNS, las soluciones obtenidas por un procesador cualquiera no son compartidas con los dems. Se concluye que la RSVNS permite incrementar la diversicacin de la bsqueda, manteniendo la intensicacin realizada en la VNS, mientras que la SPVNS permite disminuir el tiempo computacional invertido haciendo uso de varios procesadores. Por tanto, los resultados obtenidos inducen a proponer un procedimiento que combine tanto la RSVNS como la SPVNS.

14.4.2

Problema del p-centro

El Problema del p-centro (PC) es un problema de localizacin discreta que es NP-duro. Bsicamente, consiste en localizar p servicios y asignar una serie de clientes a ellos, de manera que se minimice la distancia mxima existente entre un cliente y el servicio al que est asignado, que ser el ms cercano de los p localizados. Este problema se utiliza, por ejemplo, a la hora de localizar servicios de bomberos o de ambulancias, para los que se debe vericar que la distancia desde los puntos de localizacin de los mismos al usuario ms alejado, debe ser mnima. Como en el caso de la p-mediana, para modelizar este problema de manera matemtica se considera el conjunto de posibles localizaciones de los puntos de servicio L = {v1 , v2 , ..., vm } y el conjunto de m usuarios U = {u1 , u2 , ..., un }, de manera que cada cliente ui puede tener asociado un valor numrico wi , denominado peso. La distancia existente entre cada par (ui , vj ) se denotar mediante dij = d(ui , vj ). A partir de esta informacin, el Problema del p-centro consistir en encontrar un subcon-

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

381

junto X L con |X | p, de manera que se minimice la siguiente expresin: n d(ui , vj ) } f (X ) = m ax { wi m


ui U vj X

Al valor ptimo de este problema se le denomina radio. Sin prdida de generalidad, se puede considerar este problema sin pesos, para ello, bastar con utilizar dij = wi dij . Bajo esta consideracin la funcin a minimizar sera: f (X ) = m ax { wi m n d(ui , vj ) } = m ax { m n dij }
ui U vj X ui U vj X

Esta ltima funcin se puede utilizar siempre que los mtodos considerados no requieran que d verique la propiedad de la desigualdad triangular. Las tres primeras heursticas clsicas que se han aplicado al PM pueden fcilmente adaptarse para resolver el PC, tal y como se plantea en [49]. Es el caso de las bsquedas locales voraz, alternante y del intercambio. El procedimiento voraz, en este caso, partir localizando un primer servicio de manera que se minimice el coste mximo, para lo que har falta resolver un problema del 1-centro. Los restantes servicios se irn aadiendo uno a uno hasta alcanzar un total de p, eligiendo, cada vez, el punto de localizacin que produce una mayor reduccin del coste total. La segunda heurstica citada es la alternante, que coincide con el Mtodo de Maranzana propuesto para la PM [41]. Este mtodo, en su primera iteracin, localiza los servicios en p posiciones elegidas de L, y, posteriormente, asigna los usuarios al punto de servicio ms cercano, resolviendo un problema del 1-centro para el conjunto de usuarios asignados a cada servicio. A continuacin, el proceso es iterado con las nuevas localizaciones de los servicios hasta que no se produzcan ms cambios de asignacin. Por tanto, esta heurstica se caracteriza por combinar, alternativamente, una etapa de localizacin de los servicios y otra de asignacin de los usuarios a los mismos, de ah que se le conozca como alternante (A). En la versin con arranque mltiple de esta heurstica, denotada M-A, el procedimiento se repite un nmero determinado de veces partiendo de diferentes localizaciones de los p servicios, manteniendo la mejor solucin obtenida. Finalmente, citaremos el procedimiento del intercambio rpido (FI), que coincide tambin con al empleado para el PM. Como posible mejora de este mtodo tambin se podra realizar un intercambio rpido con arranque mltiple o multistart (M+FI), partiendo de diferentes soluciones iniciales y almacenando el mejor valor objetivo obtenido. Estas heursticas comentadas anteriormente (junto con algunos hbridos formados por la ejecucin secuencial de dos de ellas) se han com-

382

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

parado sobre los 40 problemas del OR-LIB, de cuyos resultados se concluye que, en general, ninguna de las heursticas clsicas consideradas obtiene resultados satisfactorios, ya que se obtienen valores altos de los porcentajes medios de desviacin respecto a los mejores valores objetivos encontrados. En [49], se plantean dos heursticas alternativas a las citadas anteriormente para resolver el PC, como son una Bsqueda Tab (TS) y una Bsqueda por Entornos Variables (VNS), muy similares a las empleadas para el PM. La Bsqueda Tab diseada en [49] emplea los movimientos de sustitucin en cadena, que aparecan en [50]. Por otro lado, la VNS diseada para el PC, sigue el esquema bsico de la VNS clsica, empleando como conjunto de estructuras de entorno las inducidas por la mtrica ya utilizada en el caso del PM. En este caso, la VNS usa como optimizador local el mtodo del intercambio (I). Estas heursticas alternativas se han comparado ejecutndolas sobre varios conjuntos de problemas de distinto tamao. Concretamente, se han considerado la M-I, la VNS y dos variantes de la TS comentada, que se diferencian en el nmero de listas tab que emplean, 1 para la TS-1, y 2 en el caso de la TS-2. Se obtuvieron soluciones de mejor calidad con la VNS y la TS-2, que presentaron unos porcentajes medios de desviacin muy bajos y claramente inferiores a los de la M-I y la TS-1. En cuanto al tiempo computacional medio, comprobamos que la TS-2 invirti signicativamente menos tiempos que la VNS. Por tanto, a tenor de lo expuesto, la TS-2 se muestra como la mejor heurstica a la hora de obtener soluciones de calidad para problemas pequeos. A continuacin, se comprueba que el comportamiento de dichas heursticas cambia ante problemas de tamao mayor. Se realizaron las comparaciones sobre conjuntos de problemas de tamaos 1060 y 3038 extrados de TSP-LIB. En los resultados se observa que la VNS y la TS-1 obtienen porcentajes medios de desviacin bastante bajos, empleando tiempos medios computacionales parecidos, aunque la VNS se mostr ligeramente superior a las dos variantes de la TS. Este hecho se acenta mucho ms a la hora de considerar problemas de tamao an mayor, como los empleados en la comparacin expuesta en [49]. Se observa que la VNS obtiene soluciones de calidad sensiblemente superior, en media, a las obtenidas por la TS-1 y TS2, lo que se reeja en los valores del porcentaje medio de desviacin. Adems, esto lo lleva a cabo la VNS empleando bastante menos tiempo computacional medio que las dos variantes de la TS. Se concluye que para problemas pequeos, la TS-2 se muestra como la mejor alternativa, mientras que el caso de estar ante problemas grandes la VNS es notablemente mejor que las dos variantes de la TS (que, en este caso, se comportan de forma parecida).

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

383

14.5

Conclusiones

La Bsqueda por Entornos Variables (VNS) es una metaheurstica que, aunque reciente, cuenta con una extensa literatura que ya ha probado su alto inters tanto terico como prctico, con variadas reas de aplicacin destacando especialmente el campo de la Localizacin. La VNS se muestra como una metaheurstica sencilla que tiene como principal caracterstica el cambio sistemtico en la estructura de entornos pero que adems se ajusta a una amplia mayora de las propiedades deseables que, segn los autores ms relevantes, deben tener las metaheursticas. Existen en la literatura gran cantidad de trabajos que denotan el amplio espectro de aplicaciones de la bsqueda por entornos variables a problemas de localizacin, con xitos importantes en las comparativas con otras metaheursticas e incluso frecuentemente con un rendimiento mejor o comparable a heursticas especcas y algunos algoritmos exactos propuestos. Este xito es ms palpable en los problemas ms relevantes de la teora de la localizacin como son el problema de la p-mediana y el problema del p-centro. Adems, la VNS cuenta con diversas variantes y extensiones que, junto a su claro inters terico, se han mostrado especialmente ecientes en problemas relevantes de localizacin o en modelos derivados de ellos. Las lneas futuras de investigacin previsibles sobre esta metaheurstica giran en torno a la ampliacin de su campo de actuacin a reas novedosas, la consolidacin de su efectividad en aquellas en las que ya ha alcanzado algn xito, el diseo de herramientas de anlisis que permitan profundizar en los aspectos ms interesantes del comportamiento de esta metaheurstica y las extensiones mediante hibridacin con otras metaheursticas. Esta ltima lnea contribuir a potenciar su aplicabilidad prctica junto con la incorporacin de tcnicas computacionales especcas que aumenten su rendimiento, como son la paralelizacin, el uso de estructuras de datos ecientes u otras herramientas computacionales como las funciones de dispersin (hash). Finalmente, la incorporacin de tcnicas de Inteligencia Articial como los sistemas difusos (fuzzy systems), las tcnicas de aprendizaje o los sistemas de adaptativos permitirn incrementar la incopracin efectiva a sistemas de ayuda a la decisin aplicables en contextos reales.

384

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

Agradecimientos
El trabajo del segundo autor ha sido parcialmente subvencionado por el Ministerio de Ciencia y Tecnologa a travs del proyecto TIC200204242-C03-01 (el 70 % proveniente de fondos FEDER).

Bibliografa
[1] Aarts, E.H.L., Lenstra, J.K. Local Search in Combinatorial Optimization. Wiley, 1996. [2] Andreatta, A., Ribeiro, C. Heuristics for the Phylogeny Problem. Journal of Heuristics, 8:429-447, 2002. [3] Beasley, J.E. A note on solving large p-median problems, European Journal of Operational Research, 21:270-273, 1985. [4] Belacel, N., Mladenovic, N., and Hansen P. Fuzzy J-Means: A new Heuristic for Fuzzy Clustering. Pattern Recognition, 35(10):21932200, 2002. [5] Brimberg, J., Hansen P., Mladenovic, N., and Taillard, E. Improvements and Comparison of Heuristics for solving the Multisource Weber Problem. Operations Research, 48(3):444-460, 2000. [6] Canuto, S., Resende, M., and Ribeiro, C. Local Search with Perturbations for the Prize-collecting Steiner Tree Problem in Graphs. Networks, 38:50-58, 2001. [7] Caporossi, G., Cetkovic, D., Gutman, I., and Hansen P. Variable Neighborhood Search for Extremal Graphs. 2. Finding Graphs with Extremal Energy. Journal of Chem. Inf. Comut. Sci., 39:984-996, 1999. [8] Caporossi, G., and Hansen, P. Variable Neighborhood Search for Extremal Graphs. 1. The AutoGraphiX System. Discrete Mathematics, 212:29-44, 2000. [9] Cornuejols, G., Fisher, M.L., and Nemhauser, G.L. Location of bank accounts to optimize oat: An analytical study of exact and approximate algorithms, Management Science, 23:789-810, 1977. [10] Crainic, T., Gendreau, M., Hansen, P., Hoeb, N., and Mladenovic, N. Parallel Variable Neighborhood Search for the p-median. MIC2001, Oporto, 595-599, 2001. [11] Dorigo, M., and Sttzle, T. The ant colony optimization metaheuristic: Algorithms applications, and advances. In Glover, F., and Kochenberger, G., editors, Handbook on MetaHeuristics. 2003.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

385

[12] Dorigo, M., and Sttzle, T. Ant Colony Optimization. MIT Press, 2004. [13] Dowsland, K., and Daz, B.A. Diseo de heursticas y fundamentos del recocido simulado. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:93-102, 2003. [14] Erlenkotter, D. A dual-based procedure for uncapacitated facility location, Operations Research, 26:992-1009, 1978. [15] Galvo, R.D. A dual-bounded algorithm for the p-median problem, Operations Research, 28:1112-1121, 1980. [16] Garca-Gonzlez, C. and Prez-Brito, D. Two Metaheuristics for the p-median on Networks. Actas del 12th Meeting of the EURO Working Group On Locational Analysis, 14, Barcelona, 2000. [17] Garca Lpez, F., Melin Batista, B., Moreno Prez, J.A., and Moreno-Vega, J.M. The Parallel Variable Neighborhood Search for the p-median Problem. Journal of Heuristics, 8:377-390, 2002. [18] Gendreau, M., Hertz, A., and Laporte, G. New Insertion and Postoptimization Procedures for the Traveling Salesman Problem. Operations Research, 40:1086-1094, 1992. [19] Glover, F., and Kochenberger, G., editors, Handbook of Metaheuristics. Academic Publishers, 2003. [20] Glover, F., and Laguna, M. Tabu Search. Kluwer, 1997. [21] Glover, F., and Melin, B. Bsqueda tab. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:29-48, 2003. [22] Goldberg, D.E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989. [23] Hansen, P., Jaumard, B., Mladenovic, N., and Parreira, A. Variable Neighborhood Search Weighted Maximum Satisability Problem. Les Cahiers du GERAD G-2000-62, Montreal, Canada, 2000. [24] Hansen, P., and Mladenovic, N. Variable Neighborhood Search for the p-median. Location Science, 5:207-226, 1997. [25] Hansen, P. and Mladenovic, N. An Introduction to Variable Neighborhood Search. In Voss S., et al., editors, Metaheuristics, Advances and Trends in Local Search Paradigms for Optimization, pages 433-458, Kluwer, Dordrech, 1999. [26] Hansen, P., and Mladenovi c, N. Variable neighborhood search: Principles and applications. European Journal of Operational Research, 130:449-467, 2001. [27] Hansen, P., and Mladenovic, N. J-Means: A new Local Search Heuristic for Minimum Sum-of-squares Clustering. Pattern Recognition, 34:405-413, 2001.

386

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

[28] Hansen, P., Mladenovi c, N., and Moreno, J.A. Bsqueda de entorno variable. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:77-92, 2003. [29] Hansen, P., Mladenovic, N., and Prez-Brito, D. Variable Neighborhood Decomposition Search. Journal of Heuristics, 7(4):335-350, 2001. [30] Hanjoul, P., Peeters, D. A comparison of two dual-based procedures for solving the p-median problem, European Journal of Operational Research, 20:387-396, 1985. [31] Hodgson, M.J. Toward more realistic allocation in locationallocation models: An interaction approach, Environment and Planning, 10:1273-1285, 1978. [32] Kariv, O., and Hakimi, S.L. An algorithmic approach to network location problems, part 2. The p-medians, SIAM Journal on Applied Mathematics, 37:539-560, 1969. [33] Kernighan, B.W., and Lin, S. An efcient heuristic procedure for partitioning graphs. Bell System Technical Journal, 49:221-226, 1970. [34] Kirkpatrick, S., Gelatt, C.D., and Vecchi, M.P. Optimization by simulated annealing. Science, 220:671-680, 1983. [35] Kuehn, A.A., and Hamburger, M.J. A Heuristic Program for Locating Warehouses. Management Science, 9(4):643-666, 1963. [36] Laguna, M., and Mart, R. Scatter Search. Methodology and Implementations in C, Operations Research/Computer Science Interfaces 24. Kluwer Academic Publishers, 2002. [37] Lin, S., and Kernighan, B.W. An effective heuristic algorithm for the travelling salesman problem, Operations Research, 21(2):498516, 1973. [38] Looi, C.K. Neural network method in combinatorial optimization. Computers and Operations Research, 19:191-208, 1992. [39] Lorena, L.A.N., and Senne, E.L.F. Local Search Heuristics for Capacitated p-Median Problems, Networks and Spatial Economics, 3:407-419, 2003. [40] Lorena, L.A.N., and Senne, E.L.F. A Column Generation Approach to Capacitated p-Median Problems, Computers and Operations Research, 31(6):863-876, 2004. [41] Maranzana, F.E. On the Location of Supply Points to Minimize Transportation Costs. Operations Research Quarterly, 12:138-139, 1964.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

387

[42] Mart, R., and Moreno-Vega, J.M. Mtodos multi-arranque. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:49-60, 2003. [43] Mart, R., and Laguna, M. Scatter search: Diseo bsico y estrategias avanzadas. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:123-130, 2003. [44] Mart, R. Multistart methods, in Glover F., and Kochenberger, G.A., editors, Handbook of Metaheuristics, pages 355-368. Kluwer Academic, 2003. [45] Merle, O. du, Hansen, P., Jaumard, B., and Mladenovic, N. An Interior Point Algorithm for Minimum sum-of-squares clustering. SIAM Journal of Scientic Computing, 21:1485-1505, 2000. [46] Michalewicz, Z., and Fogel, D.B. How to Solve It: Modern Heuristics. Springer Verlag, 2000. [47] Mladenovic, N. Variable Neighborhood Algorithm: A New Metaheuristic for Combinatorial Optimization. Abstracts of papers presented at Optimization Days, 112, Montreal, 1995. [48] Mladenovic, N, and Hansen, P. Variable Neighborhood Search. Computers and Operations Research, 24:1097-1100, 1997. [49] Mladenovic, N., Labb, M., and Hansen, P. Solving the p-center Problem by Tabu Search and Variable Neighborhood Search. Networks, 42(1):48-64, 2003. [50] Mladenovic, N., Moreno, J.A., and Moreno-Vega, J.M. A ChainInterchange Heuristic Method. Yugoslav Journal of Operations Research, 6(1):41-54, 1996. [51] Mladenovic, N, Petrovic, J., Kovacevic-Vujcica, V., and Cangalovic, M. Solving Spread Spectrum Radar Polyphase Code Design Problem by Tabu Search and Variable Neighborhood Search. European Journal of Operational Research, 151(2):389-399, 2003. [52] Moreno, J.A., Melin, B., and Moreno-Vega, J.M. Metaheursticas: Una visin global. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:7-28, 2003. [53] Nauss, R.M., and Markland, R.E. Theory and application of an optimizing procedure for lock box location analysis, Management Science, 27:855-865, 1981. [54] Pirlot, M. General local search methods. European Journal of Operational Research, 92(3):493-511, 1996. [55] Reeves, C.R., and Rowe, J.E., editors, Genetic Algorithms - Principles and Perspectives. A Guide to GA Theory, Interfaces in Computer Sci-

388

D. Prez Brito, J. A. Moreno Prez y C. G. Garca Gonzlez

[56]

[57]

[58] [59]

[60]

[61]

[62]

[63]

[64]

[65]

[66]

[67]

ence and Operations Research 20. Kluwer Academic Publishers, 2002. Resende, M.G.C., and Gonzlez-Velarde, J.L. GRASP: Procedimientos de bsqueda miopes aleatorizados and adaptativos. Inteligencia Articial. Revista Iberoamericana de Inteligencia Articial, 19:61-76, 2003. Resende, M.G.C., and Ribeiro, C.C. Greedy randomized adaptive search procedures. In Glover, F., and Kochenberger, G.G., editors, Handbook of Metaheuristics. Kluwer Academic Publishers, 2003. Resende, M.G.C., and Werneck, R.F. A Hybrid Heuristic for the pMedian Problem, Journal of Heuristics, 10(1):59-88, 2004. Ribeiro, C., and Souza, C. Variable Neighborhood Descent for the Degree-constrained Minimum Spanning Tree Problem. Discrete Applied Mathematics, 118(1-2):43-54, 2002. Ribeiro, C., Uchoa, E. and Werneck, R. A Hybrid GRASP with Perturbations for the Steiner Problem in Graphs. INFORMS Journal on Computing 14:228-246, 2002. Rosing, K.E. An empirical investigation of the effectiveness of a vertex substitution heuristic, Environment and Planning B, 24:59-67, 1997. Rosing, K.E., ReVelle, C.S. and Rosing-Vogelaar, H. The p-median and its linear programming relaxation: An approach to large problems, Journal of the Operational Research Society, 30(9):815-823, 1979. Rosing, K.E., and ReVelle, C.S. Heuristic concentration: Two stage solution construction, European Journal of Operational Research, 97:75-86, 1997. Rosing, K.E., and Hodgson, M.J. Heuristic concentration for the pmedian: an example demonstrating why it works, Computers and Operations Research 29(10):1317-1330, 2002. Rolland, E., Schilling, D.A., and Current, J.R. An efcient tabu search procedure for the p-median problem, European Journal of Operational Research, 96:329-342, 1996. Senne, E.L.F., and Lorena, L.A.N. Langrangean/surrogate heuristics for p-median problems. In Laguna, M., and Gonzlez-Velarde, J.L., editors, Computing Tools for Modeling Optimization and Simulation: Interfaces in Computer Science and Operations Research (Kluwer), pages 115-130, 2000. Senne, E.L.F., Lorena, L.A.N., and Pereira, M.A. A Branch-andPrice Approach to p-Median Location Problems, Computers and Operations Research, to appear 2004.

Bsqueda por entornos variables: desarrollo y aplicaciones en localizacin

389

[68] Senne, E.L.F., and Lorena, L.A.N. Stabilizing column generation using Lagrangean/surrogate relaxation: an application to pmedian location problems, European Journal of Operational Research, to appear 2004. [69] Taillard, E.D. Heuristic methods for large centroid clustering problems. Journal of Heuristics, 9(1):51-74, 2003. [70] Teitz, M.B., and Bart, P. Heuristic Methods for Estimating the Generalized Vertex Median of a Weighted Graph. Operations Research, 16(5):955-961, 1968. [71] Voss, S. A Reverse Elimination Approach for the p-median Problem. Studies in Locational Analysis, 8:49-58, 1996. [72] Whitaker, R. A fast algorithm for the greedy interchange of largescale clustering and median location prolems, INFOR 21:95-108, 1983. [73] Xu, Z.B., Jin, H.D., Leung, K.S., Leung, Y., and Wong, C.K. An automata network for performing combinatorial optimization. Neurocomputing, 47, 59-83, 2002. [74] Yagiura, M., and Ibaraki, T. Local search: In Pardalos, P.M., and Resende, G.C., editors, Handbook of Applied Optimization, Oxford University Press, pages 104-123. 2002.

You might also like