33
Capítulo 14 Búsqueda por entornos variables: desarrollo y aplicaciones en localización Dionisio Pérez Brito, José Andrés Moreno Pérez Dpto. Estadística, Investigación Operativa y Computación Universidad de La Laguna [email protected], [email protected] Carlos Gustavo García González Dpto. Economía de las Instituciones. Estadística Económica Universidad de La Laguna [email protected] 14.1 Introduction A lo largo de las dos últimas décadas, se han ido desarrollando diversos procedimientos de búsqueda de soluciones que partían con un objetivo común: resolver un determinado problema para el que era muy costoso obtener su solución exacta mediante los métodos de optimización tradi- cionales. Esa obsesión 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 rápida y económica, va- lorando de forma positiva una comprensión del procedimiento utiliza- do. De esta manera, han ido proliferando las heurísticas, hasta constituir hoy en día materia de estudio en la mayoría de las facultades de cien- cias e ingenierías. Haciendo recuento de las principales metaheurísticas que han cen- trado la atención de los investigadores durante este periodo de desa- rrollo, no podrían dejarse de citar: Recocido Simulado [34, 13], GRASP [56, 57], Algoritmos Genéticos [55, 22], Búsqueda Tabú [20, 21], Redes Neu- 357

Búsqueda por entornos variables: desarrollo y aplicaciones en localización

Embed Size (px)

Citation preview

Capítulo 14

Búsqueda por entornos variables:desarrollo y aplicaciones en localización

Dionisio Pérez Brito, José Andrés Moreno PérezDpto. Estadística, Investigación Operativa y ComputaciónUniversidad de La [email protected], [email protected]

Carlos Gustavo García GonzálezDpto. Economía de las Instituciones. Estadística EconómicaUniversidad de La [email protected]

14.1 Introduction

A lo largo de las dos últimas décadas, se han ido desarrollando diversosprocedimientos de búsqueda de soluciones que partían con un objetivocomún: resolver un determinado problema para el que era muy costosoobtener su solución exacta mediante los métodos de optimización tradi-cionales. Esa obsesión por resolver de manera exacta los problemas haido desapareciendo, incluso en los ámbitos empresarial y de servicios,en los que los responsables se conforman con obtener soluciones queles permitan resolver sus problemas de forma rápida y económica, va-lorando de forma positiva una comprensión del procedimiento utiliza-do. De esta manera, han ido proliferando las heurísticas, hasta constituirhoy en día materia de estudio en la mayoría de las facultades de cien-cias e ingenierías.

Haciendo recuento de las principales metaheurísticas que han cen-trado la atención de los investigadores durante este periodo de desa-rrollo, no podrían dejarse de citar: Recocido Simulado [34, 13], GRASP[56, 57], Algoritmos Genéticos [55, 22], Búsqueda Tabú [20, 21], Redes Neu-

357

358 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

ronales [38, 73], métodos basados en Colonias de Hormigas [11, 12] o inclusoalgunas técnicas más recientes como son: Búsqueda por Entornos Varia-bles [26, 28] y Búsquedas Dispersas [36, 43]. La Búsqueda Local [1, 54, 74, 39]y las técnicas de arranque múltiple o Multistart [44, 42] se pueden con-siderar propiamente como metaheurísticas o como elementos de lasmetaheurísticas en general.

Algunas referencias importantes sobre las diferentes metaheurísti-cas son la visión global ofrecida en [52], el texto de excelente carácterpedagógico 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 propósito de estudiar y analizar uno de losprocedimientos heurísticos que ha tenido más difusión y aplicación enlos últimos años, como es la Búsqueda por Entornos Variables o VNS, que,desde que fue propuesta por N. Mladenovic en 1995 [47] hasta la ac-tualidad, ha demostrado ser una técnica bastante eficiente y de fácilaplicación a gran cantidad de problemas.

La primera sección sirve como introducción a los métodos heurísti-cos, explicando en qué consisten, su clasificación, y las ventajas e in-convenientes de su aplicación sobre un determinado problema de opti-mización.

Puesto que el presente trabajo se centra en la Búsqueda por EntornosVariables, en la segunda sección se lleva a cabo una exposición de lametaheurística VNS, en la que se analizan las principales variantes quese han aplicado en la práctica y se comentan los aspectos más impor-tantes que hay que tener en cuenta a la hora de su diseño.

Una vez conocida la técnica, parece lógico continuar haciendo un pe-queño estudio de las aplicaciones en Localización que se le han dado ala misma en la literatura.

14.2 Heurísticas

Un problema de optimización podría formularse de la siguiente manera:

mın {f(x) | x ∈ X, X ⊆ S}

siendo S el espacio de soluciones, X la región factible, x una solución factibley f una función real. Así pues, si S es finito, estaremos ante un pro-blema de optimización combinatoria, mientras que si S = IRn será deoptimización continua. En adelante representamos un problema de opti-mización por el par (S, f) donde S representa su espacio de solucionesy f la función objetivo.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 359

Existen muchos problemas de optimización que son muy difíciles deresolver de manera exacta. Algunos son NP-duros, que se caracterizanporque no se conoce ningún algoritmo que pueda resolverlos exacta-mente y tenga complejidad polinomial (es decir, cuyo tiempo de resolu-ción crezca polinomialmente con el tamaño del problema). En estos ca-sos, se plantean algoritmos que permitan obtener soluciones cercanas alvalor óptimo de la función objetivo, invirtiendo un tiempo razonable.Este tipo de algoritmos se denominan heurísticos, siendo útiles en lassiguientes situaciones:

No se conoce un procedimiento exacto de resolución del proble-ma, o bien éste requiere mucho esfuerzo computacional.

No es necesario obtener la solución óptima global del problema,conformándonos con conocer una solución cercana a dicho ópti-mo.

Se prefiere resolver de forma aproximada un modelo ajustado ala realidad que resolver de forma exacta un modelo aproximadode la realidad, aunque se emplee un tiempo similar.

No se dispone del suficiente conocimiento específico acerca delproblema como para diseñar un método exacto de resolución.

Las principales ventajas e inconvenientes que presentan las heurísti-cas quedan reflejadas en la tabla siguiente:

Ventajas- Permiten una mayor flexibilidad en el manejo de las características del proble-ma.- Generalmente, ofrecen más de una solución, permitiendo una mayor capaci-dad de elección.- Suele ser más fácil de entender la fundamentación de las heurísticas que loscomplejos métodos matemáticos que utilizan las técnicas exactas.Inconvenientes- No siempre es posible conocer la calidad de la solución obtenida, recomendán-dose realizar acotaciones usando relajaciones, o bien generar varias soluciones ycompararlas con la obtenida.- Dependencia de la estructura del problema considerado y falta de habilidadpara adaptarse a nuevas situaciones o modificaciones del problema de partida.

Para solucionar el segundo de los inconvenientes planteados, se re-comienda disponer de procedimientos heurísticos generales que pue-dan usarse para resolver una amplia variedad de problemas, adap-tando convenientemente los elementos que los definen. Estos procedi-mientos heurísticos generales se denominan metaheurísticas.

360 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

Dichas metaheurísticas deben cumplir una serie de propiedades paragarantizar su interés tanto teórico como práctico, las cuales se enume-ran a continuación:

1. Simplicidad: La metaheurística debe basarse en un principio sim-ple y claro, siendo fácil de entender y de implementar.

2. Coherencia: Las heurísticas diseñadas para problemas particularesdeben obtenerse de manera natural a partir de la metaheurísticade la que procede.

3. Eficiencia: Las heurísticas deben obtener soluciones óptimas o cer-canas al óptimo para la mayoría o todos los problemas reales quepretende resolver.

4. Efectividad: El tiempo computacional que empleen las heurísticasen obtener las soluciones óptimas o cercanas al óptimos debe sermoderado.

5. Robustez: El rendimiento de una heurística debe ser consistentepara una gran variedad de problemas; no debe estar ajustada sólopara resolver un pequeño conjunto de ellos.

6. Facilidad de uso: Las heurísticas deben estar expresadas de mane-ra clara y con el menor número de parámetros posible, y siendofáciles de entender y de usar.

7. Innovación: Las metaheurísticas, o bien las heurísticas basadas enellas, deben aplicarse en nuevos tipos de situaciones.

14.2.1 Estructura de entorno

En el campo de la optimización real continua, se define el óptimo local de lafunción a optimizar a cualquier punto x∗ para el que existe un entornoN (x∗) tal que x∗ es óptimo en ese entorno. Así pues, el óptimo globalpodrá obtenerse examinando todos los óptimos locales que presenta lafunción y quedándonos con el que presente un mejor valor objetivo.

A partir de estas ideas, podemos definir el entorno de una determina-da solución.

Definición 1. Dado el problema (S, f), una estructura de entorno es unafunción N : S −→ 2S = {X /X ⊆ S } que asocia a cada solución x ∈ S unconjuntoN (x) ⊂ S de soluciones cercanas a x. El conjuntoN (x) se denominaentorno de x, mientras que cada y ∈ N (x) será una solución vecina de x.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 361

La anterior definición es bastante general, ya que es el investigadorel que debe decidir cuándo considera que dos soluciones son cercanas.En la figura 14.1 se puede encontrar una representación gráfica de unposible entorno N (x) de una solución cualquiera x perteneciente a unespacio de soluciones S (que se ha considerado bidimensional para sim-plificar).

Figura 14.1. Entorno de una solución x ∈ S.

Si bien existen diversas estructuras de entorno que se han utilizadoa la hora de resolver problemas combinatorios, las más utilizadas enproblemas combinatorios y continuos son las inducidas a partir de unamétrica o distancia, definida sobre el espacio de soluciones S .

Consideremos una métrica ρ definida sobre S, ρ : S × S −→ IR;ésta nos permitirá evaluar la distancia existente entre dos solucionescualesquiera de S. A partir de ella, podemos construir una serie de en-tornos de una solución dada x, simplemente considerando el conjuntode soluciones x′ ∈ S que están a una cierta distancia de x. De esta ma-nera, se pueden obtener los siguientes entornos inducidos a partir de ρ,para una solución cualquiera x ∈ S:

Nk(x) = {x′ ∈ S | ρ(x, x′) = k}, k = 1, 2, . . . }

Una de las estructuras de entorno más importante es la del k-inter-cambio, que consiste en sustituir k elementos presentes en una soluciónpor otros k que no lo están. Es decir, estaría formada por aquellos en-tornos inducidos a partir de la métrica ρ(x, x′) = número de elementos ocomponentes en que difieren x y x′.

362 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

14.3 Búsqueda por Entornos Variables

Uno de los primeros procedimientos que se utilizó a la hora de resolverlos problemas de optimización combinatoria fue la búsqueda local, quese caracteriza por ir realizando una serie de movimientos en el espaciode soluciones, mejorando, en cada uno de ellos, el valor de la funciónobjetivo. En el algoritmo 1 se muestra el esquema básico de la búsquedalocal.

Algorithm 1 Búsqueda local.

Inicialización. Seleccionar la estructura de entorno N a utilizar en labúsqueda y encontrar una solución inicial x.

Repetir los siguientes pasos hasta verificarse el criterio de parada (porejemplo, encontrar un óptimo local):

(a) Encontrar la mejor solución vecina x′ de x (x′ ∈ N (x)).

(b) Si x′ no es mejor que x, parar. En otro caso, hacer x = x′ yvolver al paso (a).

Sin embargo, el principal problema que presenta esta heurística esque, cada vez que alcanza un óptimo local, ya no puede salir de él ycontinuar la búsqueda.

La primera mejora que se puede hacer a esta heurística consiste enrepetir el procedimiento de búsqueda local considerado, partiendo dediferentes soluciones iniciales generadas aleatoriamente, almacenan-do la mejor solución obtenida. Este procedimiento es conocido comoBúsqueda Local con Arranque Múltiple o Multistart, y resulta adecuado enaquellos casos en que los óptimos locales se distribuyen al azar en elespacio de soluciones. Sin embargo, esto no siempre ocurrirá, ya que enmuchos casos se observa que los óptimos locales tienden a concentrarseen pequeñas regiones del espacio de soluciones, lo que dificulta su ob-tención. En el ejemplo de la figura 14.2, podemos comprobar lo compli-cado que resultaría obtener el óptimo global utilizando una BúsquedaLocal con Arranque Múltiple, ya que presumiblemente habría que gene-rar gran cantidad de soluciones aleatorias para alcanzarlo en alguna delas iteraciones de la búsqueda local.

En los últimos años, se han propuesto diversas metaheurísticas con elobjetivo de mejorar el esquema de la búsqueda local, evitando que dichoprocedimiento se quede atrapado en un óptimo local, siendo las másconocidas el Recocido Simulado y la Búsqueda Tabú.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 363

Figura 14.2. Ejemplo de la aplicación de una búsqueda local con arranque múltiple.

Como metaheurística alternativa se presenta a continuación la Bús-queda por Entornos Variables o VNS (Variable Neighborhood Search), quese trata de una técnica que intenta escapar de los óptimos locales cam-biando de manera sistemática la estructura de entorno a lo largo de labúsqueda (lo que supone una evolución notable frente a la única es-tructura de entorno que utiliza la búsqueda local). Esta metaheurística seclasifica dentro del grupo de los métodos de búsqueda por entornos.

La ventaja de utilizar varias estructuras de entornos se basa en elhecho de que un óptimo local para un determinado entorno, no tienepor qué serlo para otro, por lo que la búsqueda podrá continuar hastaobtener una solución que sea óptimo local para todas las estructuras deentorno consideradas.

14.3.1 Esquemas básicos de la VNS

Comenzaremos denotando por Nk, k = 1, ..., kmax al conjunto de es-tructuras de entorno preseleccionadas, de manera que Nk(x) represen-ta el conjunto de soluciones (vecinas de x) del k-ésimo entorno de x.Dichos entornos Nk pueden ser inducidos a partir de una o más métri-cas introducidas en el espacio de soluciones considerado, tal y como secomentó en la sección 14.3.

La Búsqueda por Entornos Variables o VNS se basa en tres principios:

1. Un mínimo local con respecto a una estructura de entorno no tieneque serlo necesariamente para otra diferente.

364 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

2. Un mínimo global es un mínimo local respecto de todas las estruc-turas de entorno.

3. En muchos problemas, los mínimos locales respecto de una o variasestructuras de entorno están relativamente cerca unos de otros.

Estos tres principios se tienen en cuenta a la hora de resolver un pro-blema de optimización utilizando varias estructuras de entorno, pudiendoproceder de tres formas diferentes, según la manera en que se realicenlos cambios de entorno. Las tres posibilidades son:

(i) Determinista

(ii) Estocástica

(iii) Determinista y estocástica

Para cada una de estas situaciones se obtiene un procedimiento dife-rente, cada uno de los cuales se muestran a continuación:(i) Descenso por Entornos Variables: El método de Descenso por En-tornos Variables o VND (Variable Neighborhood Descent) se obtiene cuan-do el cambio de entorno se realiza de manera determinista, explorán-dose previamente todas las soluciones del entorno de la solución dada.Como precursora de la metaheurística VND se pueden considerar lostrabajos de Lin y Kernighan [33, 37].

El esquema de la VND se presenta en el algoritmo 2.

Algorithm 2 VND.

Inicialización. Seleccionar el conjunto de estructuras de entorno N ′k,

k = 1, ..., k′max que se usarán en la búsqueda y encontrar una solu-ción inicial x.

Repetir los siguientes pasos hasta que no sea posible mejorar:

1. Hacer k = 1.

2. Repetir los siguientes pasos hasta que k = k′max:

(a) Exploración del entorno: Encontrar la mejor solución veci-na x′ de x (x′ ∈ N ′

k(x)).(b) Moverse o no: Si la solución obtenida x′ es mejor que x,

hacer x = x′ y k = 1. En otro caso, hacer k = k + 1.

Cabe señalar que la solución final obtenida por la VND será un mí-nimo local respecto de las k′max estructuras de entorno consideradas, lo

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 365

que permite obtener una solución más cercana al mínimo global que enel caso de la búsqueda local, en la que sólo se utiliza una única estructurade entorno (coincide con la VND con k′max = 1).

Una variante de la VND anterior se obtiene sustituyendo la orde-nación secuencial de las estructuras de entorno por una estrategia anida-da. Considerando que k′max = 3, una posible estrategia anidada podríaconsistir en aplicar la VND del algoritmo 2 con los dos primeros en-tornos en cada solución x′ del tercero (x′ ∈ N ′

3(x)). Podemos encontrarprocedimientos de este tipo en [5, 45, 4].

(ii) Búsqueda por Entornos Variables Reducida: El método de bús-queda por entornos variables reducida o RVNS (Reduced Variable Neigh-borhood Search) se caracteriza porque se seleccionan las soluciones veci-nas x′ de una dada x (x′ ∈ Nk(x)) de manera aleatoria, comparándoseposteriormente con la mejor obtenida hasta ese momento. Los pasos dela RVNS se presentan en el algoritmo 3.

Algorithm 3 RVNS.

Inicialización. Seleccionar el conjunto de estructuras de entorno N ′k,

k = 1, ..., kmax que se usarán en la búsqueda y encontrar una solu-ción inicial x. Elegir, también, el criterio de parada a emplear.

Repetir los siguientes pasos hasta verificarse el criterio de parada:

1. Hacer k = 1.

2. Repetir los siguientes pasos hasta que k = kmax:

(a) Agitación: Generar al azar una solución x′ del k-ésimoentorno de x (x′ ∈ Nk(x)).

(b) Moverse o no: Si la solución x′ mejora la mejor obtenida,hacer x = x′ y continuar la búsqueda con N1 (k = 1). Enotro caso, hacer k = k + 1.

La heurística RVNS resulta útil a la hora de resolver problemas gran-des, para los que la búsqueda local es costosa. En la práctica, se ha de-terminado que el mejor valor para el parámetro kmax es 2, y el crite-rio de parada más utilizado es el máximo número de iteraciones entre dosmejoras del valor objetivo. Algunas aplicaciones las podemos encontraren [29, 51].

(iii) Búsqueda por Entornos Variables básica: El método básico de búsque-da por entornos variables o VNS (Variable Neighborhood Search), prop-uesto inicialmente en [48], combina cambios de entorno realizados de

366 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

manera determinista y estocástica. El esquema de la VNS se muestra enel algoritmo 4.

Algorithm 4 VNS.

Inicialización. Seleccionar el conjunto de estructuras de entorno Nk,k = 1, ..., kmax que se usarán en la búsqueda y encontrar una solu-ción inicial x. Elegir, también, el criterio de parada a emplear.

Repetir los siguientes pasos hasta verificarse el criterio de parada:

1. Hacer k = 1.

2. Repetir los siguientes pasos hasta que k = kmax:

(a) Agitación: Generar al azar una solución x′ del k-ésimoentorno de x (x′ ∈ Nk(x)).

(b) Búsqueda Local: Aplicar algún procedimiento de búsque-da local partiendo de x′ como solución inicial. Denotarpor x′′ el óptimo local obtenido.

(c) Moverse o no: Si la solución x′′ mejora la mejor obtenida,hacer x = x′′ y continuar la búsqueda conN1 (k = 1). Enotro caso, hacer k = k + 1.

En la figura 14.3 encontramos un ejemplo en el que se observa cómoprocede la VNS básica. Inicialmente, partiremos de una solución inicialx generada aleatoriamente. A continuación, se genera la solución agita-da x′, elegida de forma aleatoria de entre todas las del entorno N1(x).A partir de x′ y mediante un procedimiento de búsqueda local, alcan-zaremos un óptimo local x′′. Para poder escapar de este óptimo local,es necesario incrementar el parámetro k hasta que alcance el valor 4, yaque es en este momento cuando se puede obtener una solución agitadaque permita alcanzar un nuevo óptimo local. Procediendo de análogaforma para este nuevo óptimo local, podremos generar una soluciónagitada del entorno N4 de dicho óptimo local, que permita escapar delmismo y llegar así al óptimo global tras la aplicación de la correspondi-ente búsqueda local.

Como criterio de parada se pueden considerar varios, como por ejem-plo: el máximo tiempo de CPU permitido, un máximo número de iteraciones,o el máximo número de iteraciones entre dos mejoras del valor objetivo.

Resulta interesante comentar que en la fase de agitación, correspon-diente al paso 2(a) del esquema de la VNS, se selecciona la soluciónx′ ∈ Nk(x) de manera aleatoria para evitar que el procedimiento sea

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 367

Figura 14.3. Ejemplo de la aplicación de la VNS básica.

cíclico, cosa que podría ocurrir si se hubiese empleado alguna regla de-terminista.

Una variante de la VNS se obtiene sustituyendo la búsqueda local porla heurística VND, dando lugar a la VNS/VND, que se ha aplicado re-cientemente con éxito a diversos problemas [2, 5, 6, 7, 8, 45, 59, 60].

14.3.2 Extensiones de la VNS

La VNS básica es una metaheurística que resulta bastante útil a la horade resolver muchos problemas de optimización de tamaño pequeño omediano; sin embargo, no suele ocurrir lo mismo con problemas detamaño grande, donde puede presentar dificultades a la hora de obte-ner buenas soluciones en un periodo de tiempo razonable. En este caso,se recomienda utilizar alguna de las siguientes variantes de la VNS:

(i) Búsqueda con Descomposición por Entornos Variables: El procedi-miento heurístico de búsqueda con descomposición por entornos vari-ables o VNDS (Variable Neighborhood Decomposition Search), desar-rollado en [29], se basa en la descomposición del problema consideradoen diversos subproblemas. Sus etapas se pueden encontrar en el algo-ritmo 5.

Al observar el esquema de la VNDS se comprueba que es similaral correspondiente de la VNS (ver algoritmo 4), diferenciándose úni-camente en el paso 2(b). En lugar de aplicar algún procedimiento de

368 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

Algorithm 5 VNDS.

Inicialización. Seleccionar el conjunto de estructuras de entorno Nk,k = 1, ..., kmax que se usarán en la búsqueda y encontrar una solu-ción inicial x. Elegir, también, el criterio de parada a emplear.

Repetir los siguientes pasos hasta verificarse el criterio de parada:

1. Hacer k = 1.

2. Repetir los siguientes pasos hasta que k = kmax:

(a) Agitación: Generar al azar una solución x′ del k-ésimoentorno de x (x′ ∈ Nk(x)).

(b) Búsqueda Local: Considerar un conjunto de k compo-nentes presentes en x′ y que no lo estén en x (y = x′ \ x).Obtener un óptimo local y′ en el espacio de y medianteinspección o la aplicación de alguna heurística. Denotarmediante x′′ la solución que le corresponde en el espaciode soluciones S (x′′ = (x′ \ y) ∪ y′), es decir, una vez aña-didas las restantes componentes que habían sido prefi-jadas anteriormente.

(c) Moverse o no: Si la solución x′′ mejora la mejor obtenida,hacer x = x′′ y continuar la búsqueda conN1 (k = 1). Enotro caso, hacer k = k + 1.

búsqueda local en el espacio de soluciones S, partiendo de x′ ∈ Nk(x), en laVNDS se procede de manera diferente. En cada iteración 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 variaren x sólo k componentes que se modifican para obtener x′. Así pues, laVNDS resuelve el problema descomponiendo el espacio de búsquedaen subespacios de Nk(x), donde de cada solución sólo hay que deter-minar k componentes, estando las demás prefijadas.

Una variante de este esquema podría obtenerse sustituyendo la Bús-queda Local del apartado 2(b) por una VNS, obteniendo así una heurís-tica denominada VNDS/VNS, que puede considerarse como una alter-nativa a tener en cuenta a la hora de resolver determinados problemas.

(ii) Búsqueda por Entornos Variables Sesgada: La búsqueda por en-tornos variables sesgada o SVNS (Skewed Variable Neighborhood Search)es un método, desarrollado en [23], que pretende un objetivo claro: ex-plorar los valles que puedan encontrarse lejos de la mejor solución al-

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 369

macenada en cada momento. Esta técnica resulta útil ya que, una vezque se encuentra la mejor solución de una región amplia, generalmente,conviene alejarse bastante de dicha región para obtener una soluciónque la mejore. Si quisiéramos obtener soluciones bastante alejadas de lamejor almacenada utilizando una VNS básica, haría falta considerar unnúmero elevado de estructuras de entorno (un valor grande de kmax),en cuyo caso degeneraría en una Multistart VNS que, en muchos proble-mas, resulta ineficiente. Para corregir este esquema, la heurística debeser más tolerante a la hora de aceptar un óptimo local x′′ que esté ale-jado de x como solución de partida para una posterior exploración. Deesta manera, surge la SNVS, cuyo esquema para resolver un problema deminimización queda reflejado en el algoritmo 6.

Algorithm 6 SVNS.

Inicialización. Seleccionar el conjunto de estructuras de entorno Nk,k = 1, ..., kmax que se usarán en la búsqueda. Encontrar una solu-ción inicial x, así como su correspondiente valor objetivo f(x).Hacer xopt = x y fopt = f(x). Elegir, también, el criterio de paradaa emplear y un valor para el parámetro α.

Repetir los siguientes pasos hasta verificarse el criterio de parada:

1. Hacer k = 1.

2. Repetir los siguientes pasos hasta que k = kmax:

(a) Agitación: Generar al azar una solución x′ del k-ésimoentorno de x (x′ ∈ Nk(x)).

(b) Búsqueda Local: Aplicar algún procedimiento de búsque-da local partiendo de x′ como solución inicial. Denotarpor 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 búsqueda 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 unafunción ρ(x, x′′) que permite medir la distancia existente entre la mejorsolución almacenada x y el óptimo local encontrado, x′′. Como alterna-tiva para dicha función puede utilizarse la misma que se utilizó paradefinir los entornos Nk, que estarían formados por aquellas soluciones

370 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

que están a una distancia k de una considerada. Además, el parámetroα debe seleccionarse de manera que se permita explorar valles aleja-dos de x cuando f(x′′) sea mayor que f(x), pero sin hacerlo de maneraexcesiva, ya que se correría el riesgo de abandonar siempre x. Por tan-to, para evitar que se realicen movimientos frecuentes desde x a unasolución cercana, se suele considerar un valor grande para α cuandoρ(x, x′′) sea pequeño.

(iii) Búsqueda por Entornos Variables Paralela: La búsqueda por en-tornos variables paralela o PVNS (Parallel Variable Neighborhood Search)es una última extensión se obtiene paralelizando la VNS, pudiendo re-alizarse de varias maneras, tal como se recoge en [10, 17]:

Paralelizando la fase de búsqueda local.

Aumentando el número de soluciones generadas en cada entorno,para luego realizar la búsqueda local en paralelo partiendo de ca-da una de ellas.

Procediendo como en el caso anterior, pero actualizando la infor-mación sobre la mejor solución encontrada.

Asignando diferentes entornos a cada procesador e interrumpirsu trabajo tan pronto como se obtenga una solución que mejore laalmacenada.

14.3.3 Características del diseño de una VNS

La Búsqueda por Entornos Variables o VNS se caracteriza por realizar uncambio sistemático de la estructura de entorno en la búsqueda, de ahíque necesite varias estructuras de entorno diferentes. Sin embargo, elesquema básico de la VNS es bastante general, quedando por el mo-mento sin respuesta algunas preguntas, como son:

¿Qué estructuras de entorno debemos utilizar?

¿Cuál es número óptimo de estructuras de entorno que debemosemplear?

¿En qué orden se deben utilizar los entornos utilizados?

¿Cómo se llevará a cabo el cambio de entorno?

Las respuestas a estas preguntas deberá darlas el investigador cuan-do aplique alguna variante de la metaheurística VNS a un problemadeterminado, dependiendo así de las características del problema que

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 371

se pretenda resolver. Sin embargo, en [8] se dan algunas recomenda-ciones generales que pueden ser bastante útiles a la hora de respondera las cuestiones anteriores, las cuales se recogen a continuación.

1.- Selección de las estructuras de entorno. En general, las estructurasde entorno pueden ser obtenidas utilizando diferentes métricas o dis-tancias introducidas en el espacio de soluciones S . Sin embargo, sepueden obtener de una manera más sencilla, siguiendo alguna de lassiguientes estrategias de selección:

(a) Selección de heurísticas existentes. Para la mayoría de los problemascombinatorios, existen varias heurísticas de búsqueda local que sehan aplicado con anterioridad, y que, probablemente, difieren ú-nicamente en la estructura de entornos considerada en dicha bús-queda. Una posible manera de proceder consistiría en seleccionarrazonablemente algunas de las estructuras de entornos (de las u-sadas con anterioridad en la búsqueda local) y utilizarlas, una trasotra, en la búsqueda, dando lugar así a una heurística VND.

(b) Cambio de parámetros de métodos existentes. Algunas heurísticas ba-sadas en la búsqueda local se caracterizan por utilizar entornos contamaño dependiente de una serie de parámetros, cuyos valoresson estimados y asignados antes de ejecutar el código. En lugarde fijarlos, podríamos ir variando sistemáticamente sus valores,dentro de unos límites razonables, obteniendo así un conjunto deestructuras de entorno que podrán usarse en un esquema de laVNS. Dicho esquema se ha utilizado para resolver el problema delviajante de comercio (o TSP) en [48], basándose en la búsqueda localGENIUS, que puede encontrarse en [18].

(c) Uso del k-intercambio. La manera más sencilla y natural de obtenerlos entornos es realizando movimientos de k-intercambio. De es-ta manera, se obtendrían el conjunto de soluciones que formanel entorno de una dada, cambiando k elementos o componentesde dicha solución por otros k que no estén presentes en ella. Al-gunos movimientos conocidos que pertenecen a esta clase son losde k-optimalidad, k-reasignación, k-relocalizaión, k-sustitución, etc. Di-versos entornos obtenidos de esta manera han sido utilizados a lahora de resolver el TSP ([25]), el problema de la p-mediana ([24]),el Weighted Maximum Satisfiability (WMAXSAT) ([23]), el BilinearProgramming ([25]), el Multi-source Weber ([5]) o el Minimum Sum-of-squares clustering ([27, 45]).

(d) División de los entornos. Otra posibilidad consiste en dividir undeterminado entorno en varios subentornos más pequeños, con

372 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

el objetivo de encontrar soluciones que mejoren la almacenadamás rápidamente. De esta manera, se examinarían uno o variossubentornos en lugar de todo el entorno. Por ejemplo, al usar losmovimientos de 2-optimalidad en el TSP, las aristas consideradasque podrían entrar en la solución, podrían limitarse al 20 %, luegoal 40 %, y así en adelante.

2.- Ordenación de los entornos. A continuación se comentan algunasconsideraciones a seguir para varios esquemas básicos de la VNS:

Si se considera una heurística VND, una ordenación natural delos entornos se obtiene considerándolos desde el que contengamenos soluciones vecinas al que contenga un mayor número deellas; es decir, verificando que

|N ′1(x)| ≤ |N ′

2(x)| ≤ · · · ≤ |N ′k′max

(x)|.De esta forma se consigue uno de los mayores atractivos de laVND, ya que se puede acceder a los entornos con más solucionesaprovechando las estructuras de los entornos con menos solu-ciones que los contienen. Esto conlleva encontrar rápidamentesoluciones que mejoran la almacenada.

Para una VNS, una ordenación natural se obtendría aumentandola distancia existente entre la solución actual x y las solucionesy ∈ Nk(x), k = 1, . . . , kmax. Cuando se construyen los entornosutilizando los movimientos de k-intercambio, se verifica la siguien-te propiedad: |N1(x)| ≤ |N2(x)| ≤ · · · ≤ |Nkmax(x)|, siempre quekmax sea mucho más pequeño que n, siendo n el número de com-ponentes de x.

3.- Selección dentro del entorno. En general, no suelen ser muy efec-tivos los algoritmos en los que se visitan todas las soluciones de va-rios entornos grandes, de ahí que sea aconsejable seleccionar algunasde ellas. Una posibilidad consiste en seleccionar un conjunto de solu-ciones del entorno de forma aleatoria Vk(x) ⊆ Nk(x), pudiendo consi-derar como parámetro de la VNS el número de soluciones seleccionadassk = |Vk(x)|. Se puede obtener la VNS básica como caso particular alconsiderar sk = 1, k = 1, . . . , kmax. Sin embargo, existen otros criteriosde selección que se pueden utilizar para definir Vk(x), como puede serel que considera en cada caso los 5 mejores movimientos y escoge unode ellos al azar. Esta última estrategia se puede encontrar en [23] y ob-tuvo mejores resultados al considerarla en la SVNS que al hacerlo enla VNS básica, a la hora de resolver el problema del Weighted MaximumSatisfiability.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 373

4.- Estrategias de búsqueda y de cambio de entornos. A continuación,se van a citar diversas estrategias que se pueden incorporar a la VNS,dotándola de una mayor flexibilidad para adaptarse a la mayoría de losproblemas de optimización.

- “Búsqueda greedy´´ y “Búsqueda ansiosa´´. Dada una solución de-terminada en la búsqueda local se debe obtener, una solución vecina de laanterior, es decir, perteneciente al entorno de la misma. Sin embargo, es-ta selección se suele realizar según dos estrategias diferentes: la búsque-da greedy o búsqueda del mejor (best improvement) y la búsqueda ansiosa obúsqueda del primer mejor (first improvement). En el caso de la búsqueda delmejor, se realiza una búsqueda exhaustiva a lo largo de todas las solu-ciones del entorno de la solución actual, determinando cuál es la queprovoca una mejora mayor del valor objetivo actual. Por otro lado, labúsqueda del primer mejor se caracteriza por recorrer todas las solucionesdel entorno hasta que se encuentre la primera que mejore a la soluciónactual.

El problema de elegir cuál de estas dos estrategias se va a utilizar,se presenta también en la VNS, y además en dos fases importantes;primero, a la hora de producirse el cambio de entorno, y segundo, cuan-do se visitan diferentes soluciones de un mismo entorno. Por tanto,combinando las distintas estrategias posibles, se obtendrían cuatro po-sibilidades que podrían usarse en la práctica. Como ejemplos podemoscitar que la VNS básica considera en el primer nivel de decisión la es-trategia de la búsqueda de primer mejor, mientras que la VND se basa enuna búsqueda del mejor en el segundo nivel de decisión.

Otra estrategia que puede emplearse puede ser la búsqueda aleatoria,en la que se selecciona una solución del entorno de manera aleatoria.Un ejemplo en el que se usa esta estrategia podría ser la RVNS, que lautiliza, concretamente, a la hora de decidir las soluciones que se visitanen un entorno (segundo nivel de decisión).

- VNS descendente y ascendente-descendente. Cuando no se produceuna mejora de la solución actual, debemos plantearnos si aceptamos ono realizar un movimiento ascendente, es decir, si nos movemos o noa una solución peor que la actual. Si se permite realizar movimientosque empeoren la solución actual, hablaremos de estrategia descendente-ascendente, mientras que si no son permitidos, estaremos ante una es-trategia descendente. Este planteamiento podemos considerarlo en losesquemas de la VNS a dos niveles diferentes: a la hora de cambiar deentorno y cuando se están recorriendo las soluciones de un mismo en-torno. De esta manera, se podrían dar cuatro posibilidades en nuestro

374 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

esquema de la VNS, que serían (descendente, descendente), (descendente,descendenteascendente), (descendenteascendente, descendente) y (descenden-teascendente, descendenteascendente). La primera opción corresponde a laVNS básica, mientras que la tercera es la base de la SVNS.

- VNS hacia adelante y hacia atrás. Cuando se ha seleccionado la es-trategia de búsqueda del primer mejor, el orden en el que se utilizan las es-tructuras de entornoNk juega un papel importantísimo en la calidad dela solución final obtenida. Una primera posibilidad consiste en recorrerlos 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), hacerk = k + 1, volviendo a k = 1 en caso de encontrar una solución mejor.En este caso, estaríamos ante una VNS hacia adelante o forward VNS.Otra posibilidad consistiría en ir recorriendo los diferentes entornos amedida que se va disminuyendo el valor de k. En este caso, se comen-zaría con k = kmax y se va disminuyendo su valor (k = k − 1) en casode que no se encuentre una solución mejor en Nk(x); recomenzandocon k = kmax cada vez que se encuentre una que mejore la actual. Estavariante recibe el nombre de VNS hacia atrás o backward VNS. Luego elVNS hacia atrás equivale al VNS hacia adelante con la ordenación en elsentido inverso de los entornos.

Tanto la forward VNS como la backward VNS se pueden obtener comocasos particulares de la siguiente variante extendida, que se basa enlos parámetros kmin y kstep para controlar el cambio de estructura deentorno. El proceso comenzaría con k = kmin y se continúa de maneraque, cuando no se pueda encontrar una solución que mejore la anterior,se hace k = k + kstep, permitiendo volver a k = kmin en caso de que semejore la solución. Así pues, si kstep < 0, se obtiene la backward VNS,mientras que si kstep > 0, estaríamos ante la forward VNS. Como ejem-plo concreto citaremos a la VNS básica, que es el resultado de considerarkmin = kstep = 1.

- Intensificación y Diversificación. Cuando se consideran heurísti-cas de búsqueda local para resolver un determinado problema, existendos objetivos que se tienen muy en cuenta. El primero consiste en in-tensificar la búsqueda en aquellas regiones atractivas donde se esperanencontrar buenas soluciones, es lo que se conoce como intensificación.Además, el otro objetivo deseable es que la búsqueda sea capaz de ex-plorar gran cantidad de zonas, evitando que dicha búsqueda se con-centre en una determinada región del espacio de búsqueda. A esta ca-racterística se le conoce como diversificación. En el caso de la VNS, seconsigue que la búsqueda posea estas dos características, variando los

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 375

valores de algunos de sus parámetros, como kmax, kmin, kstep o sk, o bienseleccionando diferentes estrategias de búsqueda de entre las anterior-mente citadas. Si consideramos como ejemplo la VNS básica (ver algo-ritmo 4), comprobamos que la intensificación de la búsqueda se produceen el paso 2(b), en el que se realiza la búsqueda local. En cuanto a la di-versificación, también se ha tenido en cuenta en dicho esquema, y quedareflejada en la fase de agitación (paso 2(a)), ya que con ella se pretendealejarnos de los posibles óptimos locales (de manera que, cuanto mayorsea el valor de k, más nos alejaremos).

14.4 Aplicaciones de la VNS en localización

14.4.1 El problema de la p-mediana

Para modelizar este problema de manera matemática se considera elconjunto L = {v1, v2, ..., vm} de posibles localizaciones de puntos deservicio y el conjunto de m usuarios U = {u1, u2, ..., un}, de maneraque cada cliente ui puede tener asociado un valor numérico wi, deno-minado peso, representando la cantidad que demanda el usuario ui. ElProblema de la p-mediana (PM) consiste en determinar simultáneamentelas posiciones de L en las que localizar los p servicios, de manera quese minimice el coste total del trasporte necesario para satisfacer las de-mandas de los usuarios, suponiendo que dicho coste es proporcionala la cantidad de demanda y a la distancia recorrida. Para ello, cadausuario será atendido por la planta o servicio más cercano. En el ca-so estándar, la cantidad de demandada por los usuarios es la misma yse toma wi = 1, para cada i = 1, 2, ..., n.

El Problema de la p-mediana y sus extensiones resultan útiles a la horade resolver diversas situaciones reales, como puede ser la localizaciónde plantas industriales, almacenes o depósitos, edificios públicos, etc.Además, también puede utilizarse en el Análisis Cluster, sustituyendolas localizaciones de los usuarios por puntos de un espacio k-dimensio-nal, que corresponden a las observaciones a agrupar. Sin embargo, elPM puede definirse en términos matemáticos, tal y como se muestra acontinuación. Partiremos de una matriz de distancias Dm×n, en la quedij = d(ui, vj) representa la distancia de transporte para satisfacer lademanda del usuario posicionado en ui desde el servicio localizado envj , para cualquier ui ∈ U y vj ∈ L. El objetivo consistirá en minimizar lasuma de los costes de transporte (o distancias, si los pesos son iguales),

376 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

es decir,

mın

ui∈U

wi mınvj∈X

d(ui, vj) : X ⊆ L, |X| = p

.

El Problema de la p-mediana es de un problema NP-duro [32], parael que se han propuesto bastantes procedimientos de resolución, in-cluyendo métodos exactos basados en programación lineal [9, 62, 15,3, 30, 45, 66, 68, 67], algoritmos constructivos [35, 9, 72, 58] algoritmosbasados en técnicas duales [14, 15, 53] y procedimientos de búsquedaslocales [41, 70, 31, 72, 69]. Recientemente han aparecido metaheurís-ticas capaces de obtener soluciones muy próximas de las óptimas. Elprocedimiento de búsqueda tabú, ha sido aplicado por Voss [71] y Rol-land et al. [65]. Este último método fué comparado por Rosing et al.[64] con la heurística de concentración [63], la cual comparativamenteobtuvo resultado mejores. Hansen y Mladenovic [48] propusieron unaVNS para el problema, más tarde fué paralelizada por García-López etal. [17]. Una variación de este método VNDS (variable neighborhooddecomposition search), fué sugerido por Hansen et al. [29].

En [24], encontramos una primera heurística VNS diseñada para re-solver el PM. En este caso, se ha considerado como optimizador local elMétodo del Intercambio Rápido (FI), que proporciona una mejora de cali-dad de las soluciones obtenidas por la VNS. Además, se ha empleadocomo conjunto de estructuras de entorno, las inducidas a partir de lamétrica siguiente:

ρ(x, x′) = |x\x′| = |x′\x|, ∀ x, x′ ∈ S.

Así, dos soluciones x, x′ ∈ S estarían a una distancia k, según lamétrica anterior, si difieren en k localizaciones de las plantas o servi-cios. Por tanto, los entornos de una solución x inducidos por ρ seránNk(x), k = 1, ..., kmax (kmax ≤ p), cuya cardinalidad será:

|Nk(x)| =(

pk

)(n− p

k

).

Esta VNS se ha comparado, también en [24], con una estrategia vo-raz Greedy) con el intercambio rápido (G+FI), y las dos variantes de laBúsqueda Tabú comentadas anteriormente, y que denotaremos por TS-1 (TS en la que se utiliza el Método de eliminación inversa) y TS-2 (TSque emplea el movimiento de sustitución en cadena). De la experiencia re-alizada se concluye que las heurísticas VNS, TS-1 y TS-2 mejoran losresultados obtenidos por G+FI, presentando la VNS un porcentaje de

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 377

error total muy inferior al obtenido por las dos búsqueda tabú. Con losproblemas de la TSP-LIB de 1400 y 3038 nodos la VNS obtiene mejoressoluciones que las demás heurísticas analizadas lo que sugiere que laVNS es un buen procedimiento a la hora de resolver problemas mayo-res.

En [29], se han considerado dos conocidas variantes de la VNS, co-mo son la RVNS y la VNDS, cuyo esquema básico ya se ha comentadoen la sección 2. En ambas heurísticas, se ha empleado el conjunto deestructuras de entornos construida para la VNS anterior (inducida porla métrica ρ). Estos dos procedimientos, junto con el método FI, se hanejecutado, al igual que la VNS anterior, sobre los 40 problemas del OR-LIB y una selección de problemas de TSP-LIB de mayor tamaño. Delos resultados obtenidos se concluye que la RVNS da soluciones de lamisma calidad que el FI aunque empleando un tiempo computacionalmedio menor. La VNDS logró obtener mejores soluciones que las dosheurísticas anteriores pero empleando un tiempo computacional mediobastante superior al de las anteriores. Estos resultados muestran a laRVNS como una buena heurística que permite obtener soluciones debuena calidad para problemas pequeños empleando un tiempo com-putacional razonable, no siendo necesaria la descomposición en estecaso.

Por otro lado, para analizar el comportamiento de las heurísticasfrente problemas de tamaño mayor se usaron los problemas de 1400y 3038 nodos. Se observó la obtención de soluciones de calidad similara la RVNS y el FI. Sin embargo, el tiempo computacional empleado porla RVNS es mucho menor que el correspondiente del FI. Finalmente, laVNDS, fue la única heurística que logró mejorar los valores objetivosobtenidos por la VNS y en un tiempo computacional medio inferioral del FI y la VNS, aunque superior al de la RVNS. Este hecho se ve re-compensado en la calidad de las soluciones que obtiene dicha heurísticaVNDS, tanto en problemas pequeños como en los de tamaño grande.

Otro procedimiento heurístico basado en el esquema de la VNS quese ha aplicado sobre la p-mediana es el presentado en [16], en el quese emplea como optimizador local una búsqueda local basada en unaestructura de entornos del 2-intercambio. Dicho procedimiento, aunquepermite obtener buenas soluciones para los problemas, implica un ele-vado coste computacional, en comparación, por ejemplo, con la VNSdiseñada en [24].

Para acabar con el repaso de las heurísticas diseñadas para este pro-blema, comentaremos que se ha paralelizado el esquema de la VNS devarias maneras, tal y como podemos encontrar en [10] y [17]. En estos

378 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

trabajos se comprueba que asignar diferentes entornos a cada proce-sador o thread (hilo de ejecución), sin interrumpir su trabajo hasta quese produzca una mejora del valor objetivo, es una buena alternativa.

En [10] han propuesto cuatro estrategias diferentes de paralelizacióndel esquema de la VNS, las cuales se indican a continuación:

1. Multidirección: La estrategia de multidirección consiste en ejecu-tar la heurística VNS en cada procesador o thread, partiendo de lamisma solución inicial, empleando en cada uno diferentes estruc-turas de entorno. Una vez terminada la ejecución de la VNS enun procesador o thread, se comprueba si el óptimo local alcanza-do mejora a la mejor solución obtenida hasta el momento. En casoafirmativo, se actualiza la misma, comenzando a continuación unnuevo proceso que parte de la mejor solución almacenada o biende una nueva solución aleatoria.

2. Entornos en paralelo: En este caso, se realiza un procedimiento debúsqueda local en cada procesador o thread, para la que se se-lecciona aleatoriamente la estructura de entorno que se va a uti-lizar. Una vez que finalizan todas las búsquedas, la mejor soluciónobtenida se emplea como solución inicial en la nueva ronda.

3. Entornos en paralelo con interrupción: Esta estrategia es similar a laanterior excepto en que las búsquedas paralelas se interrumpencada vez que un procedimiento de búsqueda encuentra una solu-ción que mejora la almacenada. En ese punto, se actualiza la solu-ción almacenada y se inician de nuevo las búsquedas partiendode la misma.

4. Entornos en paralelo cooperativos: Esta estrategia, al igual que la an-terior, es similar a la de entornos en paralelo, salvo en una seriede consideraciones. En este caso, se va a permitir que los proce-sadores o threads finalicen los procedimientos de búsqueda quetienen asignados. Además, la mejor solución global obtenida seva a ir actualizando continuamente. Así pues, cuando un threadfinaliza su búsqueda, compara la mejor solución que obtiene conla almacenada y si la mejora, vuelve a comenzar la búsqueda des-de la solución obtenida pero utilizando la primera estructura deentorno. En caso de no mejorar la almacenada, el thread continúael procedimiento de búsqueda desde la solución obtenida, em-pleando en ella la siguiente estructura de entorno que no ha sidoasignada.

En [10], se observa que al aumentar el número de procesadores em-pleados, el tiempo computacional invertido disminuye considerable-

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 379

mente; sin embargo, esto no supone que la calidad de la solución tengaque aumentar necesariamente al considerar más procesadores. El com-portamiento a aumentar el tamaño de los problemas es similar al co-mentado.

Por otra parte, en [17] se plantean tres estrategias de paralelizacióndiferentes para el algoritmo de la VNS; una de ellas (la primera quese cita) con el propósito de reducir el tiempo de ejecución del proce-dimiento de búsqueda local empleado, y las otras dos con la intenciónde incrementar la exploración del espacio de soluciones. Los proce-dimientos referidos son los que se indican a continuación:

1. VNS Paralela Sincronizada (SPVNS): Se trata de un algoritmo sin-cronizado que se encarga de realizar en paralelo los procedimien-tos de búsqueda local, ya que son estos los que más tiempo com-putacional consumen en las iteraciones secuenciales de la VNS.En este caso, cada procesador o thread tiene asignado un subcon-junto de soluciones del entorno (que previamente ha sido divi-dido), que emplea para obtener un óptimo local. Todos los pro-cedimientos de búsqueda parten de la misma solución agitada y,una vez que finalizan su trabajo todos los procesadores o threads,almacenan la mejor solución global obtenida, que servirá de solu-ción de partida para una nueva ronda de ejecución paralela, conla primera estructura de entorno, en caso de que mejore la alma-cenada. En caso contrario, se inicia una nueva ronda paralela conla siguiente estructura de entorno.

2. VNS Paralela Replicada (RPVNS): Este algoritmo engloba un pro-cedimiento multistart en el que cada búsqueda local es reempla-zada por una VNS. Por tanto, cada procesador o thread ejecutará,de forma independiente, un procedimiento VNS completo queparte de una solución inicial aleatoria generada por cada uno deellos. Una vez finalizado el trabajo de los mismos, se almacena lamejor solución alcanzada.

3. VNS con Agitación Replicada (RSVNS): Este procedimiento se ca-racteriza porque cada procesador o thread, partiendo de una mis-ma solución inicial aleatoria, lleva a cabo una agitación de la solu-ción seguida de una búsqueda local con la primera estructura deentorno. Una vez finalizada esta iteración en cada procesador othread, se comparan las mejores soluciones obtenidas, almacenan-do la mejor. Así, en las sucesivas rondas, cada vez que finalice labúsqueda local con un determinado entorno, se comparan de nue-vo las soluciones y se actualiza, pasando a la siguiente estructura

380 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

de entorno (en caso de que no se mejore la solución almacenada)o volviendo a la primera (si se mejora).

La experiencia computacional llevada a cabo en [17] consistió en eje-cutar cada uno de los tres procedimientos paralelos sobre un conjuntode 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 valorobjetivo obtenido por las paralelizaciones de la heurística VNS con elmejor valor en [29] como referencia, así como los mejores valores ob-jetivos alcanzados por la VNS secuencial. Se comprueba que los algo-ritmos RPVNS y RSVNS permiten ampliar el conjunto de solucionesanalizadas durante la búsqueda, superando en este aspecto al proce-dimiento secuencial de la VNS. Este hecho muestra que estos dos pro-cedimientos paralelos son capaces de obtener mejores soluciones quela VNS. Además el algoritmo RSVNS emplea un menor número de i-teraciones que el RPVNS, lo que es debido a que en la RPVNS, las solu-ciones obtenidas por un procesador cualquiera no son compartidas conlos demás.

Se concluye que la RSVNS permite incrementar la diversificaciónde la búsqueda, manteniendo la intensificación realizada en la VNS,mientras que la SPVNS permite disminuir el tiempo computacional in-vertido haciendo uso de varios procesadores. Por tanto, los resultadosobtenidos inducen a proponer un procedimiento que combine tanto laRSVNS como la SPVNS.

14.4.2 Problema del p-centro

El Problema del p-centro (PC) es un problema de localización discreta quees NP-duro. Básicamente, consiste en localizar p servicios y asignar unaserie de clientes a ellos, de manera que se minimice la distancia máximaexistente entre un cliente y el servicio al que está asignado, que será elmás cercano de los p localizados. Este problema se utiliza, por ejemplo,a la hora de localizar servicios de bomberos o de ambulancias, para losque se debe verificar que la distancia desde los puntos de localizaciónde los mismos al usuario más alejado, debe ser mínima.

Como en el caso de la p-mediana, para modelizar este problema demanera matemática se considera el conjunto de posibles localizacionesde los puntos de servicio L = {v1, v2, ..., vm} y el conjunto de m usuariosU = {u1, u2, ..., un}, de manera que cada cliente ui puede tener asocia-do un valor numérico wi, denominado peso. La distancia existente entrecada par (ui, vj) se denotará mediante dij = d(ui, vj). A partir de estainformación, el Problema del p-centro consistirá en encontrar un subcon-

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 381

junto X ⊆ L con |X| ≤ p, de manera que se minimice la siguienteexpresión:

f(X) = maxui∈U

{ wi · mınvj∈X

d(ui, vj) }Al valor óptimo de este problema se le denomina radio. Sin pérdida

de generalidad, se puede considerar este problema sin pesos, para ello,bastará con utilizar d′ij = wi · dij . Bajo esta consideración la función aminimizar sería:

f(X) = maxui∈U

{ wi · mınvj∈X

d(ui, vj) } = maxui∈U

{ mınvj∈X

d′ij }

Esta última función se puede utilizar siempre que los métodos consi-derados no requieran que d′ verifique la propiedad de la desigualdadtriangular.

Las tres primeras heurísticas clásicas que se han aplicado al PM pue-den fácilmente adaptarse para resolver el PC, tal y como se planteaen [49]. Es el caso de las búsquedas locales voraz, alternante y del in-tercambio. El procedimiento voraz, en este caso, partirá localizando unprimer servicio de manera que se minimice el coste máximo, para loque hará falta resolver un problema del 1-centro. Los restantes serviciosse irán añadiendo uno a uno hasta alcanzar un total de p, eligiendo, ca-da vez, el punto de localización que produce una mayor reducción delcoste total. La segunda heurística citada es la alternante, que coincidecon el Método de Maranzana propuesto para la PM [41]. Este método, ensu primera iteración, localiza los servicios en p posiciones elegidas deL, y, posteriormente, asigna los usuarios al punto de servicio más cer-cano, resolviendo un problema del 1-centro para el conjunto de usua-rios asignados a cada servicio. A continuación, el proceso es iteradocon las nuevas localizaciones de los servicios hasta que no se produz-can más cambios de asignación. Por tanto, esta heurística se caracterizapor combinar, alternativamente, una etapa de localización de los servi-cios y otra de asignación de los usuarios a los mismos, de ahí que se leconozca como alternante (A). En la versión con arranque múltiple de estaheurística, denotada M-A, el procedimiento se repite un número deter-minado de veces partiendo de diferentes localizaciones de los p servi-cios, manteniendo la mejor solución obtenida. Finalmente, citaremos elprocedimiento del intercambio rápido (FI), que coincide también conal empleado para el PM. Como posible mejora de este método tambiénse podría realizar un intercambio rápido con arranque múltiple o multistart(M+FI), partiendo de diferentes soluciones iniciales y almacenando elmejor valor objetivo obtenido.

Estas heurísticas comentadas anteriormente (junto con algunos híbri-dos formados por la ejecución secuencial de dos de ellas) se han com-

382 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

parado sobre los 40 problemas del OR-LIB, de cuyos resultados se con-cluye que, en general, ninguna de las heurísticas clásicas consideradasobtiene resultados satisfactorios, ya que se obtienen valores altos de losporcentajes medios de desviación respecto a los mejores valores obje-tivos encontrados. En [49], se plantean dos heurísticas alternativas alas citadas anteriormente para resolver el PC, como son una BúsquedaTabú (TS) y una Búsqueda por Entornos Variables (VNS), muy similares alas empleadas para el PM. La Búsqueda Tabú diseñada en [49] emplealos movimientos de sustitución en cadena, que aparecían en [50]. Por otrolado, la VNS diseñada para el PC, sigue el esquema básico de la VNSclásica, empleando como conjunto de estructuras de entorno las induci-das por la métrica ρ ya utilizada en el caso del PM. En este caso, la VNSusa como optimizador local el método del intercambio (I).

Estas heurísticas alternativas se han comparado ejecutándolas sobrevarios conjuntos de problemas de distinto tamaño. Concretamente, sehan considerado la M-I, la VNS y dos variantes de la TS comentada,que se diferencian en el número de listas tabú que emplean, 1 para laTS-1, y 2 en el caso de la TS-2. Se obtuvieron soluciones de mejor ca-lidad con la VNS y la TS-2, que presentaron unos porcentajes mediosde desviación muy bajos y claramente inferiores a los de la M-I y laTS-1. En cuanto al tiempo computacional medio, comprobamos que laTS-2 invirtió significativamente menos tiempos que la VNS. Por tanto,a tenor de lo expuesto, la TS-2 se muestra como la mejor heurística a lahora de obtener soluciones de calidad para problemas pequeños.

A continuación, se comprueba que el comportamiento de dichas heu-rísticas cambia ante problemas de tamaño mayor. Se realizaron las com-paraciones sobre conjuntos de problemas de tamaños 1060 y 3038 ex-traídos de TSP-LIB. En los resultados se observa que la VNS y la TS-1obtienen porcentajes medios de desviación bastante bajos, empleandotiempos medios computacionales parecidos, aunque la VNS se mostróligeramente superior a las dos variantes de la TS.

Este hecho se acentúa mucho más a la hora de considerar proble-mas de tamaño aún mayor, como los empleados en la comparación ex-puesta en [49]. Se observa que la VNS obtiene soluciones de calidadsensiblemente superior, en media, a las obtenidas por la TS-1 y TS-2, lo que se refleja en los valores del porcentaje medio de desviación.Además, esto lo lleva a cabo la VNS empleando bastante menos tiempocomputacional medio que las dos variantes de la TS. Se concluye quepara problemas pequeños, la TS-2 se muestra como la mejor alterna-tiva, mientras que el caso de estar ante problemas grandes la VNS esnotablemente mejor que las dos variantes de la TS (que, en este caso, secomportan de forma parecida).

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 383

14.5 Conclusiones

La Búsqueda por Entornos Variables (VNS) es una metaheurística que,aunque reciente, cuenta con una extensa literatura que ya ha proba-do su alto interés tanto teórico como práctico, con variadas áreas deaplicación destacando especialmente el campo de la Localización. LaVNS se muestra como una metaheurística sencilla que tiene como prin-cipal característica el cambio sistemático en la estructura de entornospero que además se ajusta a una amplia mayoría de las propiedadesdeseables que, según los autores más relevantes, deben tener las meta-heurísticas.

Existen en la literatura gran cantidad de trabajos que denotan el am-plio espectro de aplicaciones de la búsqueda por entornos variables aproblemas de localización, con éxitos importantes en las comparativascon otras metaheurísticas e incluso frecuentemente con un rendimien-to mejor o comparable a heurísticas específicas y algunos algoritmosexactos propuestos. Este éxito es más palpable en los problemas másrelevantes de la teoría de la localización como son el problema de lap-mediana y el problema del p-centro. Además, la VNS cuenta con di-versas variantes y extensiones que, junto a su claro interés teórico, sehan mostrado especialmente eficientes en problemas relevantes de lo-calización o en modelos derivados de ellos.

Las líneas futuras de investigación previsibles sobre esta metaheurís-tica giran en torno a la ampliación de su campo de actuación a áreasnovedosas, la consolidación de su efectividad en aquellas en las que yaha alcanzado algún éxito, el diseño de herramientas de análisis que per-mitan profundizar en los aspectos más interesantes del comportamien-to de esta metaheurística y las extensiones mediante hibridación conotras metaheurísticas. Esta última línea contribuirá a potenciar su apli-cabilidad práctica junto con la incorporación de técnicas computacio-nales específicas que aumenten su rendimiento, como son la paraleliza-ción, el uso de estructuras de datos eficientes u otras herramientas com-putacionales como las funciones de dispersión (hash). Finalmente, laincorporación de técnicas de Inteligencia Artificial como los sistemasdifusos (fuzzy systems), las técnicas de aprendizaje o los sistemas deadaptativos permitirán incrementar la incopración efectiva a sistemasde ayuda a la decisión aplicables en contextos reales.

384 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

Agradecimientos

El trabajo del segundo autor ha sido parcialmente subvencionadopor el Ministerio de Ciencia y Tecnología a través del proyecto TIC2002-04242-C03-01 (el 70 % proveniente de fondos FEDER).

Bibliografía

[1] Aarts, E.H.L., Lenstra, J.K. Local Search in Combinatorial Optimiza-tion. 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, EuropeanJournal of Operational Research, 21:270-273, 1985.

[4] Belacel, N., Mladenovic, N., and Hansen P. Fuzzy J-Means: A newHeuristic for Fuzzy Clustering. Pattern Recognition, 35(10):2193-2200, 2002.

[5] Brimberg, J., Hansen P., Mladenovic, N., and Taillard, E. Improve-ments and Comparison of Heuristics for solving the MultisourceWeber Problem. Operations Research, 48(3):444-460, 2000.

[6] Canuto, S., Resende, M., and Ribeiro, C. Local Search with Per-turbations for the Prize-collecting Steiner Tree Problem in Graphs.Networks, 38:50-58, 2001.

[7] Caporossi, G., Cetkovic, D., Gutman, I., and Hansen P. VariableNeighborhood Search for Extremal Graphs. 2. Finding Graphswith Extremal Energy. Journal of Chem. Inf. Comut. Sci., 39:984-996,1999.

[8] Caporossi, G., and Hansen, P. Variable Neighborhood Search forExtremal Graphs. 1. The AutoGraphiX System. Discrete Mathemat-ics, 212:29-44, 2000.

[9] Cornuejols, G., Fisher, M.L., and Nemhauser, G.L. Location ofbank accounts to optimize float: An analytical study of exact andapproximate algorithms, Management Science, 23:789-810, 1977.

[10] Crainic, T., Gendreau, M., Hansen, P., Hoeb, N., and Mladen-ovic, N. Parallel Variable Neighborhood Search for the p-median.MIC’2001, Oporto, 595-599, 2001.

[11] Dorigo, M., and Stützle, T. The ant colony optimization meta-heuristic: Algorithms applications, and advances. In Glover, F.,and Kochenberger, G., editors, Handbook on MetaHeuristics. 2003.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 385

[12] Dorigo, M., and Stützle, T. Ant Colony Optimization. MIT Press,2004.

[13] Dowsland, K., and Díaz, B.A. Diseño de heurísticas y fundamentosdel recocido simulado. Inteligencia Artificial. Revista Iberoamericanade Inteligencia Artificial, 19:93-102, 2003.

[14] Erlenkotter, D. A dual-based procedure for uncapacitated facilitylocation, Operations Research, 26:992-1009, 1978.

[15] Galvão, R.D. A dual-bounded algorithm for the p-median prob-lem, Operations Research, 28:1112-1121, 1980.

[16] García-González, C. and Pérez-Brito, D. Two Metaheuristics forthe p-median on Networks. Actas del 12th Meeting of the EUROWorking Group On Locational Analysis, 14, Barcelona, 2000.

[17] García López, F., Melián Batista, B., Moreno Pérez, J.A., andMoreno-Vega, J.M. The Parallel Variable Neighborhood Search forthe p-median Problem. Journal of Heuristics, 8:377-390, 2002.

[18] Gendreau, M., Hertz, A., and Laporte, G. New Insertion andPostoptimization Procedures for the Traveling Salesman Problem.Operations Research, 40:1086-1094, 1992.

[19] Glover, F., and Kochenberger, G., editors, Handbook of Metaheuris-tics. Academic Publishers, 2003.

[20] Glover, F., and Laguna, M. Tabu Search. Kluwer, 1997.[21] Glover, F., and Melián, B. Búsqueda tabú. Inteligencia Artificial. Re-

vista Iberoamericana de Inteligencia Artificial, 19:29-48, 2003.[22] Goldberg, D.E. Genetic Algorithms in Search, Optimization and Ma-

chine Learning. Addison Wesley, 1989.[23] Hansen, P., Jaumard, B., Mladenovic, N., and Parreira, A. Variable

Neighborhood Search Weighted Maximum Satisfiability Problem.Les Cahiers du GERAD G-2000-62, Montreal, Canada, 2000.

[24] Hansen, P., and Mladenovic, N. Variable Neighborhood Search forthe p-median. Location Science, 5:207-226, 1997.

[25] Hansen, P. and Mladenovic, N. An Introduction to Variable Neigh-borhood Search. In Voss S., et al., editors, Metaheuristics, Advancesand Trends in Local Search Paradigms for Optimization, pages 433-458,Kluwer, Dordrech, 1999.

[26] Hansen, P., and Mladenovic, N. Variable neighborhood search:Principles and applications. European Journal of Operational Re-search, 130:449-467, 2001.

[27] Hansen, P., and Mladenovic, N. J-Means: A new Local SearchHeuristic for Minimum Sum-of-squares Clustering. Pattern Recog-nition, 34:405-413, 2001.

386 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

[28] Hansen, P., Mladenovic, N., and Moreno, J.A. Búsqueda de en-torno variable. Inteligencia Artificial. Revista Iberoamericana de In-teligencia Artificial, 19:77-92, 2003.

[29] Hansen, P., Mladenovic, N., and Pérez-Brito, D. Variable Neigh-borhood Decomposition Search. Journal of Heuristics, 7(4):335-350,2001.

[30] Hanjoul, P., Peeters, D. A comparison of two dual-based proce-dures for solving the p-median problem, European Journal of Oper-ational Research, 20:387-396, 1985.

[31] Hodgson, M.J. Toward more realistic allocation in location-allocation models: An interaction approach, Environment and Plan-ning, 10:1273-1285, 1978.

[32] Kariv, O., and Hakimi, S.L. An algorithmic approach to networklocation problems, part 2. The p-medians, SIAM Journal on AppliedMathematics, 37:539-560, 1969.

[33] Kernighan, B.W., and Lin, S. An efficient heuristic procedure forpartitioning graphs. Bell System Technical Journal, 49:221-226, 1970.

[34] Kirkpatrick, S., Gelatt, C.D., and Vecchi, M.P. Optimization by sim-ulated annealing. Science, 220:671-680, 1983.

[35] Kuehn, A.A., and Hamburger, M.J. A Heuristic Program for Locat-ing Warehouses. Management Science, 9(4):643-666, 1963.

[36] Laguna, M., and Martí, R. Scatter Search. Methodology and Implemen-tations in C, Operations Research/Computer Science Interfaces 24.Kluwer Academic Publishers, 2002.

[37] Lin, S., and Kernighan, B.W. An effective heuristic algorithm forthe travelling salesman problem, Operations Research, 21(2):498-516, 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 forCapacitated p-Median Problems, Networks and Spatial Economics,3:407-419, 2003.

[40] Lorena, L.A.N., and Senne, E.L.F. A Column Generation Approachto Capacitated p-Median Problems, Computers and Operations Re-search, 31(6):863-876, 2004.

[41] Maranzana, F.E. On the Location of Supply Points to MinimizeTransportation Costs. Operations Research Quarterly, 12:138-139,1964.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 387

[42] Martí, R., and Moreno-Vega, J.M. Métodos multi-arranque. In-teligencia Artificial. Revista Iberoamericana de Inteligencia Artificial,19:49-60, 2003.

[43] Martí, R., and Laguna, M. Scatter search: Diseño básico y estrate-gias avanzadas. Inteligencia Artificial. Revista Iberoamericana de In-teligencia Artificial, 19:123-130, 2003.

[44] Martí, R. Multistart methods, in Glover F., and Kochenberger,G.A., editors, Handbook of Metaheuristics, pages 355-368. KluwerAcademic, 2003.

[45] Merle, O. du, Hansen, P., Jaumard, B., and Mladenovic, N. An In-terior Point Algorithm for Minimum sum-of-squares clustering.SIAM Journal of Scientific 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 Meta-heuristic for Combinatorial Optimization. Abstracts of papers pre-sented 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-centerProblem by Tabu Search and Variable Neighborhood Search. Net-works, 42(1):48-64, 2003.

[50] Mladenovic, N., Moreno, J.A., and Moreno-Vega, J.M. A Chain-Interchange Heuristic Method. Yugoslav Journal of Operations Re-search, 6(1):41-54, 1996.

[51] Mladenovic, N, Petrovic, J., Kovacevic-Vujcica, V., and Cangalovic,M. Solving Spread Spectrum Radar Polyphase Code Design Prob-lem by Tabu Search and Variable Neighborhood Search. EuropeanJournal of Operational Research, 151(2):389-399, 2003.

[52] Moreno, J.A., Melián, B., and Moreno-Vega, J.M. Metaheurísticas:Una visión global. Inteligencia Artificial. Revista Iberoamericana de In-teligencia Artificial, 19:7-28, 2003.

[53] Nauss, R.M., and Markland, R.E. Theory and application of an op-timizing procedure for lock box location analysis, Management Sci-ence, 27:855-865, 1981.

[54] Pirlot, M. General local search methods. European Journal of Opera-tional Research, 92(3):493-511, 1996.

[55] Reeves, C.R., and Rowe, J.E., editors, Genetic Algorithms - Principlesand Perspectives. A Guide to GA Theory, Interfaces in Computer Sci-

388 D. Pérez Brito, J. A. Moreno Pérez y C. G. García González

ence and Operations Research 20. Kluwer Academic Publishers,2002.

[56] Resende, M.G.C., and González-Velarde, J.L. GRASP: Proced-imientos de búsqueda miopes aleatorizados and adaptativos. In-teligencia Artificial. Revista Iberoamericana de Inteligencia Artificial,19:61-76, 2003.

[57] Resende, M.G.C., and Ribeiro, C.C. Greedy randomized adaptivesearch procedures. In Glover, F., and Kochenberger, G.G., editors,Handbook of Metaheuristics. Kluwer Academic Publishers, 2003.

[58] Resende, M.G.C., and Werneck, R.F. A Hybrid Heuristic for the p-Median Problem, Journal of Heuristics, 10(1):59-88, 2004.

[59] Ribeiro, C., and Souza, C. Variable Neighborhood Descent forthe Degree-constrained Minimum Spanning Tree Problem. DiscreteApplied Mathematics, 118(1-2):43-54, 2002.

[60] Ribeiro, C., Uchoa, E. and Werneck, R. A Hybrid GRASP with Per-turbations for the Steiner Problem in Graphs. INFORMS Journal onComputing 14:228-246, 2002.

[61] Rosing, K.E. An empirical investigation of the effectiveness of avertex substitution heuristic, Environment and Planning B, 24:59-67,1997.

[62] Rosing, K.E., ReVelle, C.S. and Rosing-Vogelaar, H. The p-medianand its linear programming relaxation: An approach to large prob-lems, Journal of the Operational Research Society, 30(9):815-823, 1979.

[63] Rosing, K.E., and ReVelle, C.S. Heuristic concentration: Two stagesolution construction, European Journal of Operational Research,97:75-86, 1997.

[64] Rosing, K.E., and Hodgson, M.J. Heuristic concentration for the p-median: an example demonstrating why it works, Computers andOperations Research 29(10):1317-1330, 2002.

[65] Rolland, E., Schilling, D.A., and Current, J.R. An efficient tabusearch procedure for the p-median problem, European Journal of Op-erational Research, 96:329-342, 1996.

[66] Senne, E.L.F., and Lorena, L.A.N. Langrangean/surrogate heuris-tics for p-median problems. In Laguna, M., and González-Velarde,J.L., editors, Computing Tools for Modeling Optimization and Simula-tion: Interfaces in Computer Science and Operations Research (Kluwer),pages 115-130, 2000.

[67] Senne, E.L.F., Lorena, L.A.N., and Pereira, M.A. A Branch-and-Price Approach to p-Median Location Problems, Computers andOperations Research, to appear 2004.

Búsqueda por entornos variables: desarrollo y aplicaciones en localización 389

[68] Senne, E.L.F., and Lorena, L.A.N. Stabilizing column genera-tion using Lagrangean/surrogate relaxation: an application to p-median location problems, European Journal of Operational Research,to appear 2004.

[69] Taillard, E.D. Heuristic methods for large centroid clustering prob-lems. Journal of Heuristics, 9(1):51-74, 2003.

[70] Teitz, M.B., and Bart, P. Heuristic Methods for Estimating the Gen-eralized Vertex Median of a Weighted Graph. Operations Research,16(5):955-961, 1968.

[71] Voss, S. A Reverse Elimination Approach for the p-median Prob-lem. Studies in Locational Analysis, 8:49-58, 1996.

[72] Whitaker, R. A fast algorithm for the greedy interchange of large-scale 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 au-tomata network for performing combinatorial optimization. Neu-rocomputing, 47, 59-83, 2002.

[74] Yagiura, M., and Ibaraki, T. Local search: In Pardalos, P.M., andResende, G.C., editors, Handbook of Applied Optimization, OxfordUniversity Press, pages 104-123. 2002.