tabu search - sci2s.ugr.es filebusqueda´ tabu´ fred glover leeds school of business university of...

20

Click here to load reader

Upload: lequynh

Post on 08-May-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. No.19 (2003),pp. 29-48 ISSN: 1137-3601. © AEPIA (http://www.aepia.org/revista).

Tabu Search

Fred Glover (1), Belén Melián (2)

(1) Leeds School of Business University of Colorado

Boulder, CO 80309-0419, USA

(2) Departamento de Estadística, I.O. y Computación Centro Superior de Informática

Universidad de La Laguna Avda. Astrofísico Francisco Sánchez s/n 38271 Santa Cruz de Tenerife, Spain

e-mail: [email protected], [email protected]

The Tabu Search (TS) is a metaheuristic approach whose distinguishing feature is its use of adaptive memory and special associated problem-solving strategies. The philosophy of tabu search is to derive and exploit a collection of intelligent problem solving strategies, based on implicit and explicit learning procedures to exploit an adaptive memory framework. From the standpoint of tabu search, adaptive memory embodies the dual functions of creating and exploiting structures for taking advantage of the history of the problem-solving process. The memory structures of tabu search operate by reference to four principal dimensions, consisting of recency, frequency, quality, and influence.

Page 2: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Busqueda Tabu

Fred GloverLeeds School of Business

University of Colorado at BoulderU.S.A.

[email protected]

Belen Melian *

DEIOCUniversidad de La Laguna

[email protected]

Resumen

La Busqueda Tabu (Tabu Search - TS) es un procedimiento metaheurıstico cuya caracterıstica distintivaes el uso de memoria adaptativa y de estrategias especiales de resolucion de problemas. Su filosofıa sebasa en la explotacion de diversas estrategias inteligentes para la resolucion de problemas, basadas enprocedimientos de aprendizaje. El marco de memoria adaptativa de TS explota la historia del proceso deresolucion del problema haciendo referencia a cuatro dimensiones principales, consistentes en la propiedadde ser reciente, en frecuencia, en calidad, y en influencia.

1. Introduccion

La Busqueda Tabu (Tabu Search - TS) tienesus antecedentes en metodos disenados paracruzar cotas de factibilidad u optimalidad lo-cal tratadas como barreras en procedimientosclasicos, e imponer y eliminar cotas sistematica-mente para permitir la exploracion de regionesno consideradas en otro caso [4]. El nombrey la terminologıa de busqueda tabu vienen de[5]. Una caracterıstica distintiva de este pro-cedimiento es el uso de memoria adaptativa yde estrategias especiales de resolucion de pro-blemas. TS es el origen del enfoque basado enmemoria y estrategia intensiva en la literaturade las metaheurısticas, en contraposicion conlos metodos que no tienen memoria o que solousan una debil memoria basada en herencia. TSes tambien responsable de enfatizar el uso delos disenos estructurados para explotar los pa-trones historicos de la busqueda, de forma op-uesta a los procesos que confıan casi exclusiva-mente en la aleatorizacion.

Los principios fundamentales de la busqueda*Proyecto

tabu fueron elaborados en una serie de artıcu-los a finales de los anos 80 y principios de los90, y han sido unificados en el libro “TabuSearch”[8]. El destacable exito de la busquedatabu para resolver problemas de optimizacionduros (especialmente aquellos que surgen enaplicaciones del mundo real) ha causado unaexplosion de nuevas aplicaciones TS durante losultimos anos.

La filosofıa de la busqueda tabu es derivar y ex-plotar una coleccion de estrategias inteligentespara la resolucion de problemas, basadas enprocedimientos implıcitos y explıcitos de apren-dizaje. El marco de memoria adaptativa de TSno solo explota la historia del proceso de res-olucion del problema, sino que tambien exige lacreacion de estructuras para hacer posible talexplotacion. La historia de resolucion del prob-lema se extiende a la experiencia ganada tras re-solver multiples instancias de una clase de prob-lema uniendo TS con un enfoque de aprendizajeasociado llamado Analisis de Objetivo (TargetAnalysis) (ver capıtulo 9 en [8]).

Las estructuras de memoria de la busque-da tabu funcionan mediante referencia a cua-

1

Page 3: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

tro dimensiones principales, consistentes en lapropiedad de ser reciente, en frecuencia, en cal-idad, y en influencia. Estas dimensiones se fijancontra unos antecedentes de conectividad y es-tructuras logicas. El papel de estos elementos alcrear procesos eficaces de resolucion de proble-mas se discuten en nuestro siguiente desarrollo.

2. La estructura de laBusqueda Tabu

Para aportar bases para la comprension dealgunos de los elementos fundamentales dela busqueda tabu, ilustramos sus operacionesbasicas con un ejemplo extraıdo de [6].

2.1. Un ejemplo ilustrativo

Los problemas de permutaciones son una claseimportante de problemas en optimizacion, yofrecen un modo muy util para demostrar al-gunas de las consideraciones que deben sertratadas en el dominio combinatorio. Las in-stancias clasicas de problemas de permuta-ciones incluyen los problemas del viajante decomercio, asignacion cuadratica, secuenciacionde la produccion, y una variedad de problemasde diseno. Como base para la ilustracion, con-sideremos el problema de diseno de un materialformado por un numero de capas aislantes. Elorden segun el cual se planifican estas capasdetermina el valor de aislamiento total del ma-terial resultante, como se muestra en la Figura1.

³³³³³³³³³³

³³ ³³ ³³³³ ³³ ³³³³ ³³ ³³

³³³³³ ¡¡ª

material

¾ capas

Figura 1: Capas de un material aislante

El problema consiste en encontrar el orden delas capas que maximiza el valor de aislamien-to total del material compuesto. Supongamosque se consideran 7 capas para un material par-ticular, y que evaluar el valor de aislamientototal de una ordenacion particular es un pro-cedimiento computacionalmente costoso. De-

seamos un metodo capaz de encontrar una solu-cion optima o cercana a la optima explorandosolo un pequeno subconjunto de todas las per-mutaciones posibles.

Capas

¡¡ª @@R2 5 7 3 4 6 1

Figura 2: Permutacion inicial

Nos centramos en el problema de aislamien-to para introducir e ilustrar los componentesbasicos de la busqueda tabu. Primero asumimosque puede construirse una solucion inicial paraeste problema de alguna manera inteligente, esdecir, sacando ventaja de la estructura especıfi-ca del problema. Supongamos que la solucioninicial de nuestro problema es la que apareceen la Figura 2.

¡¡ª @@R2 6 7 3 4 5 1

Figura 3: Intercambio de las capas 5 y 6

La ordenacion en la Figura 2 especifica que lacapa 2 se situa en la primera posicion, segui-da por la capa 5, etc. El material resultantetiene un valor de aislamiento de 10 unidades.Los metodos TS operan bajo el supuesto deque se puede construir un entorno para iden-tificar “soluciones adyacentes”que puedan seralcanzadas desde la solucion actual. Los inter-cambios por pares son frecuentemente usadospara definir entornos en problemas de permuta-ciones, identificando movimientos que conducenuna solucion a la siguiente. En nuestro proble-ma, un intercambio cambia la posicion de doscapas como se ilustra en la Figura 3. Por tanto,el entorno completo de una solucion esta consti-tuido por 21 soluciones adyacentes que puedenser obtenidas a partir de estos intercambios.

Asociado a cada intercambio hay un valor demovimiento, que representa el cambio sobreun valor de la funcion objetivo como resul-tado del intercambio propuesto. Los valoresde los movimientos generalmente proporcionanuna base fundamental para evaluar la cali-dad de los mismos, aunque tambien pueden

Page 4: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

2 3 4 5 6 71

23

45

6

¡¡

¡¡µ

Perıodotabu restantepara el par decapas (2, 5)

Figura 4: Estructura de Datos Tabu

ser importantes otros criterios. Un mecanis-mo principal para explotar la memoria en labusqueda tabu es clasificar un subconjunto demovimientos en un entorno como prohibidos(o tabu). La clasificacion depende de la histo-ria de la busqueda, determinada mediante loreciente o frecuente que ciertos movimientoso componentes de soluciones, llamados atribu-tos, han participado en la generacion de solu-ciones pasadas. Por ejemplo, un atributo de unmovimiento es la identidad del par de elementosque cambian posiciones (en este caso, las dos ca-pas intercambiadas). Como base para evitar labusqueda desde combinaciones de intercambiorepetidas usadas en el pasado reciente, invir-tiendo potencialmente los efectos de movimien-tos anteriores por intercambios que podrıan de-volver a posiciones previas, clasificaremos co-mo tabu todos los intercambios compuestos porcualquiera de los pares de capas mas recientes;en este caso, para propositos ilustrativos, lastres mas recientes. Esto significa que un par decapas sera tabu por una duracion (perıodo) de3 iteraciones. Dado que intercambiar las capas2 y 5 es lo mismo que intercambiar las capas5 y 2, ambos pueden ser representados por elpar (2, 5). Por lo tanto, se puede usar una es-tructura de datos como la usada en la Figura4.

Cada celda de la estructura de la Figura 4 con-tiene el numero de iteraciones restantes hastaque las capas correspondientes puedan nueva-mente intercambiar posiciones. Por tanto, si lacelda (3, 5) tiene un valor de cero, entonces lascapas 3 y 5 son libres para intercambiar posi-ciones. Por otro lado, si la celda (2, 4) tiene unvalor de 2, entonces las capas 2 y 4 no puedenintercambiar posiciones durante las dos itera-ciones siguientes (es decir, un intercambio quecambia estas capas es clasificado como tabu).

Para implementar restricciones tabu, debe ten-erse en cuenta una excepcion importante: lasrestricciones tabu no son inviolables bajo to-das las circunstancias. Cuando un movimien-to tabu resultara en una solucion mejor quecualquiera visitada hasta ahora, su clasificaciontabu puede ser reemplazada. Una condicion quepermite que ocurra tal reemplazo se llama cri-terio de aspiracion. A continuacion se mues-tran 4 iteraciones del procedimiento de busque-da tabu basico, que usa la restriccion tabu decapas emparejadas y el criterio de aspiracion dela mejor solucion.

Solucionactual

2573461

Valor deaislamiento = 10

Estructuratabu

2 3 4 5 6 71

23

45

6

Primeros 5candidatos

Valor deintercambio

∗5, 4 67, 4 43, 6 22, 3 04, 1 −1

Figura 5: Iteracion 0

La solucion de partida de la Figura 5 tieneun valor de aislamiento de 10, y la es-tructura de los datos tabu esta inicialmentevacıa, es decir, esta llena de ceros, indicandoque ningun movimiento esta clasificado comotabu al comienzo de la busqueda. Despues deevaluar los movimientos de intercambio can-didatos, se muestran en la tabla para la it-eracion 0 los cinco primeros movimientos (enterminos de valores de movimiento). Para max-imizar localmente el valor de aislamiento delmaterial, intercambiamos las posiciones de lascapas 5 y 4, como se indica a traves del aster-isco en la Figura 5. El aumento total de estemovimiento es igual a 6 unidades.

La nueva solucion actual tiene un valor de ais-lamiento de 16 (es decir, el valor de aislamientoanterior mas el valor del movimiento selecciona-do). La estructura tabu de la Figura 6 ahoramuestra que el intercambio de las posiciones delas capas 4 y 5 se prohıbe durante 3 iteraciones.El movimiento que proporciona la mayor mejo-ra en este paso es el intercambio de las capas 3y 1 con una ganancia de 3.

Page 5: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Soluciontabu

2473561

Valor deaislamiento = 16

Estructuratabu

3

2 3 4 5 6 71

23

45

6

Primeros 5candidatos

Valor deintercambio

∗3, 1 22, 3 13, 6 −17, 1 −26, 1 −4

Figura 6: Iteracion 1

Solucionactual

2471563

Valor deaislamiento = 18

Estructuratabu

2

32 3 4 5 6 7

12

34

56

Primeros 5candidatos

Valor delintercambio

T1, 3 −2∗2, 4 −4

7, 6 −6T4, 5 −7

5, 3 −9

Figura 7: Iteracion 2

La nueva solucion actual se convierte en lamejor solucion encontrada hasta ahora con unvalor de aislamiento de 18. En esta iteracion seclasifican como tabu dos intercambios como seindica mediante las entradas distintas de ceroen la estructura tabu de la Figura 7.

Note que la entrada (4,5) ha disminuido de 3 a2, indicando que su perıodo tabu original de 3ahora tiene 2 iteraciones restantes. En este mo-mento ninguno de los candidatos tiene un valorde movimiento positivo. Por lo tanto, se real-iza un movimiento de no mejora. El movimien-to de no mejora mas atractivo es el inverso delmovimiento ejecutado en la iteracion anterior,pero dado que esta clasificado como tabu, estemovimiento no se selecciona. Entonces se eligeel intercambio de las capas 2 y 4, como se indicaen la Figura 7.

La nueva solucion actual (Figura 8) tiene unvalor de aislamiento inferior a los dos valoresobtenidos previamente, como resultado de eje-cutar un movimiento con un valor de movimien-to negativo. La estructura de datos tabu (en

Solucionactual

4271563

Valor deaislamiento = 14

Estructuratabu

1

23

2 3 4 5 6 71

23

45

6

Primeros 5candidatos

Valor delintercambio

T∗4, 5 65, 3 27, 1 0

T1, 3 −32, 6 −6

Figura 8: Iteracion 3

la Figura 8) ahora indica que 3 movimientosestan clasificados tabu, con diferentes perıodostabu restantes. En la parte superior de la listade candidatos encontramos el intercambio delas capas 4 y 5, el cual, en efecto, represen-ta el inverso del primer movimiento ejecutado,y se clasifica como tabu. Sin embargo, la eje-cucion de este movimiento produce una solu-cion con un valor de funcion objetivo que es su-perior a cualquier valor de aislamiento previo.Por lo tanto, hacemos uso del criterio de as-piracion para invalidar la clasificacion tabu deeste movimiento y seleccionarlo como mejor enesta iteracion.

Solucionactual

5271463

Valor deaislamiento = 20

Estructuratabu

12

3

2 3 4 5 6 71

23

45

6

Primeros 5candidatos

Valor delintercambio

∗7, 1 04, 3 −36, 3 −55, 4 −62, 6 −8

Figura 9: Iteracion 4

La solucion actual se convierte en la mejor solu-cion y el proceso continua. Note que la eleccionde la restriccion tabu y el perıodo tabu de 3 re-sulta en prohibir solo 3 de 21 intercambios posi-bles, dado que el par de capas con un perıodoresidual de 1 siempre cae a un perıodo resid-ual de 0 cada vez que se introduce un nuevopar con perıodo 3. (Almacenando la iteracioncuando un par de capas se convierte en tabu,y comparando esto con la iteracion actual para

Page 6: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

determinar el perıodo tabu restante, no es nece-sario cambiar estas entradas en cada paso comohacemos aquı).

En algunas situaciones, puede ser deseableincrementar el porcentaje de movimientosdisponibles que reciben una clasificacion tabu.Ademas, a pesar del tipo de restriccion selec-cionado, a menudo se obtienen mejores resul-tados por los plazos tabu que varıan dinamica-mente, como se describe en la seccion 2.5.

Estructuras de Memoria Tabu Complemen-tarias. El complemento de “memoria basadaen lo reciente” a la “memoria basada en fre-cuencia” anade una componente que tıpica-mente opera sobre un horizonte mas largo.Para ilustrar una de las aplicaciones utiles delargo perıodo de memoria basada en frecuen-cia, suponemos que han sido ejecutadas 25iteraciones TS, y que el numero de veces que ca-da par de capas ha sido intercambiado se guar-da en una estructura de datos tabu expandida(Figura 10). La diagonal inferior de esta estruc-tura ahora contiene los contadores de frecuen-cia.

Solucionactual

1362754

Valor deaislamiento = 12 (Frecuente)

Estructuratabu

(Reciente)

3

21

31 5

4 41 2

2 3

1 2 3 4 5 6 71234567

Primeros 5candidatos

Valor

ValorPenalizado

T1, 4 3 32, 4−1−6

∗3, 7−3−31, 6−5−56, 5−4−6

Figura 10: Iteracion 26

En la iteracion actual (iteracion 26), la memo-ria basada en lo reciente indica que los ulti-mos tres pares de capas intercambiados fueron(4, 1), (6, 3), y (4, 7). Los contadores de frecuen-cia muestran la distribucion de movimientos atraves de las 25 primeras iteraciones. Usamosestos contadores para diversificar la busque-da, conduciendola a nuevas regiones. Esta in-fluencia de diversificacion se restringe a ope-rar solo sobre ocasiones particulares. En este

caso, seleccionamos aquellas ocasiones dondeno existen movimientos de mejora admisibles.Nuestro uso de informacion de frecuencia pe-nalizara movimientos de no mejora mediante laasignacion de una penalizacion mayor a inter-cambios de pares de capas con mayores conta-dores de frecuencia. (Tıpicamente, estos conta-dores serıan normalizados, por ejemplo medi-ante la division por el numero total de itera-ciones o su maximo valor). Esto se ilustra en elejemplo presente simplemente restando un val-or de frecuencia del valor del movimiento aso-ciado.

La lista de candidatos superiores para laiteracion 26 muestra que el movimiento demaxima mejora es el intercambio (1, 4), perodado que este par tiene un perıodo tabu resi-dual, es clasificado tabu. El movimiento (2, 4)tiene un valor de -1, y pudiera ser en otro ca-so el siguiente preferido, excepto si sus capasasociadas hayan sido intercambiadas frecuente-mente durante la historia de la busqueda (dehecho, mas frecuentemente que cualquier otropar de capas). Por lo tanto, el movimiento espenalizado fuertemente y pierde su atractivo.El intercambio de las capas 3 y 7 es, por tan-to, seleccionado como el mejor movimiento enla iteracion actual.

La estrategia de imponer penalizaciones solobajo condiciones particulares se usa parapreservar la agresividad de la busqueda. Lasfunciones de penalizacion en general se disenanpara justificar no solo frecuencias sino tambienvalores de movimientos y ciertas medidas de in-fluencia.

Ademas, las frecuencias definidas sobre dife-rentes subconjuntos de soluciones anteriores,particularmente subconjuntos de solucioneselite formados por optimos locales de alta ca-lidad, dan lugar a estrategias complementariasllamadas estrategias de intensificacion. Las es-trategias de intensificacion y diversificacion in-teractuan para proporcionar puntos de apoyofundamentales de memoria de largo perıodo enbusqueda tabu. El modo en el que tales ele-mentos son capaces de crear metodos realzadosde la busqueda, extendiendo el enfoque simpli-ficado del ejemplo precedente, se elabora en lassiguientes secciones.

Page 7: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

2.2. Busqueda por entorno

TS puede ser convenientemente caracterizadomediante referencia a la busqueda en el entorno,aunque incidimos en que la busqueda en el en-torno tiene un significado mas amplio en TS queen algunas otras partes de la literatura de lasmetaheurısticas. Por ejemplo, TS incluye pro-cedimientos constructivos y destructivos entrelos procesos que dirige por memoria adapta-tiva, mientras que tales procedimientos y suscombinaciones son a menudo excluidos de ladefinicion de busqueda en el entorno en otrosenfoques.

Una representacion conveniente de busqueda enel entorno identifica, para cada solucion x ∈ X,un conjunto asociado de vecinos, N(x) ⊂ X,llamado entorno de x. En busqueda tabu, losentornos normalmente se asumen simetricos, esdecir, x′ es un vecino de x si y solo si x es unvecino de x′. Los pasos en la busqueda en elentorno se muestran en la Figura 11.

Metodo de Busqueda en el Entorno:

Paso 1 (Inicializacion).

(A) Seleccionar una solucion de arranquexActual ∈ X.

(B) Almacenar la mejor solucion actu-al conocida haciendo xMejor =xActual y definiendo MejorCoste =c(xMejor).

Paso 2 (Eleccion y finalizacion).

Elegir una solucion xSiguiente ∈N(xActual). Si los criterios de elec-cion empleados no pueden ser satisfechospor ningun miembro de N(xActual), osi se aplican otros criterios de parada,entonces el metodo para.

Paso 3 (Actualizacion).

Rehacer xActual = xSiguiente, y sic(xActual) < MejorCoste, ejecutar el pa-so 1(B). Volver al paso 2.

Figura 11: Metodo de Busqueda en el Entorno.

El metodo de la Figura 11 puede represen-tar un metodo constructivo mediante la estip-ulacion de que X se expande para incluir vec-tores x cuyas componentes toman valores nulos

(no asignados), y mediante la estipulacion deque un vecino x′ de x puede ser obtenido reem-plazando una componente nula de x con unacomponente no nula. Un metodo constructivotıpico no proporciona entornos simetricos, dadoque no se permite que las componentes nulas seconviertan otra vez en nulas (por tanto, el meto-do termina cuando no hay mas componentesnulas). Sin embargo, la busqueda tabu reinsta-la la relacion simetrica permitiendo que coexis-tan movimientos constructivos y destructivos,como un ejemplo especial del enfoque llamadooscilacion estrategica (ver seccion 3).

El metodo de busqueda en el entorno puedeser alterado facilmente anadiendo provisionesespeciales para generar una variedad de pro-cedimientos clasicos. Citamos los MetodosDescendentes y los Metodos de Monte Car-lo. Los metodos descendentes solo permitenmovimientos a soluciones vecinas que mejoranel valor actual, y finalizan cuando no puedenser encontradas soluciones mejores. El xActualfinal obtenido por un metodo descendente sellama optimo local, dado que es al menos tanbueno o mejor que todas las soluciones de su en-torno. La deficiencia evidente de un metodo de-scendente es que tal optimo local en la mayorıade los casos no sera un optimo global, es de-cir, usualmente no minimizara c(x) sobre todox ∈ X. Algunos procedimientos aleatorios talescomo los metodos de Monte Carlo, los cualesincluyen recocido simulado, se pueden repre-sentar analogamente anadiendo una simple pro-vision al paso 2. Los metodos de Monte Carlocontinuan muestreando el espacio de busque-da hasta terminar finalmente mediante algunaforma de limitacion de iteracion. Normalmenteusan una funcion exponencial para definir pro-babilidades, inferida de la practica establecidaen ingenierıa y ciencia fısica.

Otro enfoque aleatorio para superar la li-mitacion de los metodos descendentes essimplemente comenzar el metodo con dife-rentes soluciones iniciales seleccionadas aleato-riamente, y ejecutar el metodo multiples veces.Este enfoque de multiarranque aleatorio puedeser contrastado con un enfoque de perturbacionaleatoria, que simplemente elige movimientosaleatoriamente despues de alcanzar cada opti-mo local, y luego reasume una trayectoriadescendente.

Page 8: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

2.3. Caracterısticas de la Busque-da Tabu

La busqueda tabu, en contraste con los meto-dos precedentes, emplea una filosofıa diferentepara ir mas alla del criterio de finalizar enun optimo local. Se reduce enfasis a la aleato-rizacion, y generalmente se usa en un mo-do altamente restringido, con el supuesto deque la busqueda inteligente deberıa estar basa-da en formas mas sistematicas de direccion.Por consiguiente, muchas implementaciones debusqueda tabu son en gran parte determi-nistas. Una excepcion ocurre con la variantellamada busqueda tabu determinıstica, la cualselecciona movimientos segun probabilidadesbasadas en el estado y en las evaluacionesasignadas a estos movimientos por los princi-pios basicos de la busqueda tabu.

2.3.1. Usos de Memoria TS especiales:Modificaciones de Estructuras deEntorno

La idea de explotar ciertas formas de memo-ria adaptativa para controlar el proceso de labusqueda es el tema central subyacente en labusqueda tabu. El efecto de tal memoria puedeser previsto estipulando que TS mantiene unahistoria selectiva H de los estados encontradosdurante la busqueda, y reemplaza N(xActual)por un entorno modificado que puede ser de-notado N(H, xActual). La historia determina,por tanto, que soluciones pueden ser alcanzadaspor un movimiento desde la solucion actual, se-leccionando xSiguiente de N(H, xActual).

En las estrategias TS basadas en consi-deraciones de perıodo corto, N(H, xActual)caracterısticamente es un subconjunto deN(xActual), y la clasificacion tabu sirve paraidentificar elementos de N(xActual) exclui-dos de N(H, xActual). En las estrategias deperıodo intermedio y largo, N(H, xActual)puede contener soluciones que no esten enN(xActual), generalmente soluciones elite se-leccionadas (optimos locales de alta calidad)encontradas en varios momentos en el proce-so de solucion. Estas soluciones elite se identifi-can tıpicamente como elementos de un gruporegional en estrategias de intensificacion deperıodo intermedio, y como elementos de di-ferentes grupos en estrategias de diversificacion

de perıodo largo. Ademas, las componentes delas soluciones elite, en contraste con las solu-ciones en sı mismas, se incluyen entre los ele-mentos que pueden ser conservados e integra-dos para proporcionar entradas al proceso debusqueda.

TS tambien usa historia para crear una eva-luacion modificada de las soluciones accesiblesactualmente. Esto puede ser expresado formal-mente diciendo que TS reemplaza la funcion ob-jetivo c(x) por una funcion c(H, x), que tieneel proposito de evaluar la calidad relativa delas soluciones accesibles actualmente. Esta fun-cion modificada es relevante porque TS usacriterios de decision agresivos que buscan unmejor xSiguiente, es decir, que proporcionanun mejor valor de c(H, xSiguiente), sobre unconjunto candidato trazado de N(H, xAhora).Ademas, las evaluaciones modificadas estan enocasiones acompanadas de la alteracion sis-tematica de N(H,xActual), para incluir solu-ciones vecinas que no satisfacen las condicionesde factibilidad. La referencia a c(x) y a lafactibilidad se mantiene para determinar si unmovimiento es de mejora o conduce a una nuevamejor solucion.

Para problemas grandes, donde N(H, xActual)puede tener muchos elementos, o para proble-mas donde estos elementos pueden ser costososde examinar, la orientacion de eleccion agresi-va de TS hace altamente importante aislar unsubconjunto candidato del entorno, y examinareste subconjunto en vez del entorno comple-to. Esto puede realizarse en etapas, permitien-do que el subconjunto candidato se extienda sino se encuentran alternativas que satisfagan losniveles de aspiracion. Debido a la importanciadel papel del subconjunto candidato, nos refe-rimos a este subconjunto explıcitamente por lanotacion Candidato N(xActual). Entonces, elprocedimiento de busqueda tabu puede ser ex-presado como se muestra en la Figura 12.

Formalmente, el metodo de busqueda tabu esbastante directo de establecer. La esenciadel metodo depende de como se definey utiliza la historia almacenada H, y decomo se determinan el entorno candidatoCandidato N(xActual) y la funcion evaluacionc(H, x). En los casos mas simples podemosimaginar que Candidato N(xActual) consti-tuye todo N(H,xActual), y tomar c(H, x) =c(x), ignorando enfoques de investigacion de en-

Page 9: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Metodo de Busqueda Tabu:

Paso 1 (Inicializacion).Comenzar con la misma inicializacionusada para la Busqueda por Entorno, yempezar con el expediente de la historiaH vacıo.

Paso 2 (Eleccion y finalizacion).

Determinar Candidato N(xActual) comoun subconjunto de N(H,xActual).Seleccionar xSiguiente deCandidato N(xActual) para minimizarc(H,x) sobre este conjunto (xSiguiente esllamado elemento de evaluacion mayor deCandidato N(xActual) ). Terminar me-diante un criterio de parada seleccionado.

Paso 3 (Actualizacion).

Ejecutar la actualizacion por el Metodo deBusqueda en el Entorno, y actualizar el ex-pediente de la historia H.

Figura 12: Metodo de Busqueda Tabu.

torno y consideraciones de perıodo largo que in-troducen soluciones elite en la determinacion delos movimientos. Sin embargo, las estrategiasde lista de candidatos que reducen el espaciode movimientos considerados son enormementeimportantes para la implementacion efectiva[8].

2.4. Memoria de la BusquedaTabu

2.4.1. Memoria Basada en Atributo

Un atributo de un movimiento de xActual axSiguiente, o de un movimiento ensayo dexActual a una solucion tentativa xEnsayo,puede abarcar cualquier aspecto que cambiecomo resultado del movimiento. Algunos tiposnaturales de atributos aparecen en la Figura 13.

Un movimiento simple evidentemente puededar lugar a atributos multiples. Por ejemplo, unmovimiento que cambia los valores de dos vari-ables simultaneamente puede dar lugar a cadauno de los tres atributos (A1), (A2), y (A3),ademas de otros atributos de la forma indica-

Atributos de Movimiento Ilustrativos

para un Movimiento xActual a xEnsayo:

(A1) Cambio de una variable seleccionada xj

de 0 a 1.

(A2) Cambio de una variable seleccionada xk

de 1 a 0.

(A3) El cambio combinado de (A1) y (A2)tomados juntos.

(A4) Cambio de una funcion g(xActual) ag(xEnsayo) (donde g puede representaruna funcion que ocurre naturalmente enla formulacion del problema o una funcionque es creada estrategicamente).

Figura 13: Atributos de Movimiento Ilustra-tivos.

da.

Cuando nos referimos a asignar valores alterna-tivos a una variable seleccionada xj de x, y par-ticularmente a asignar valores 0 y 1 a una va-riable binaria, entenderemos por nuestras con-venciones anteriores que esto puede referirse auna variedad de operaciones tales como anadiro eliminar aristas de un grafo, asignar o eliminarun servicio de una localizacion particular, cam-biar la posicion de procesamiento de un trabajosobre una maquina, y ası sucesivamente. Estasconvenciones de codigo pueden extenderse paraincluir la creacion de variables suplementariasque representan estados de procesos subordina-dos. Por ejemplo, xj = 0 o 1 puede indicar queuna variable asociada es no basica o basica enun procedimiento de solucion de punto extremo,como en el metodo simplex y sus variantes paraprogramacion lineal y no lineal.

2.4.2. Usos de Atributos de Movimiento

Los atributos de movimientos almacenados sona menudo usados en busqueda tabu para im-poner restricciones, que evitan que sean elegi-dos movimientos que invertirıan los cambiosrepresentados por estos atributos. Mas precisa-mente, cuando se ejecuta un movimiento dexActual a xSiguiente que contiene un atrib-uto e, se mantiene un registro para el atributo

Page 10: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

inverso que denotamos por e, para prevenir queocurra un movimiento que contenga algun sub-conjunto de tales atributos inversos. En la Figu-ra 14 se muestran algunos tipos de restriccionestabu empleadas frecuentemente.

Restricciones Tabu Ilustrativas.

Un movimiento es tabu si:

(R1) xj cambia de 1 a 0 (donde xj cambio pre-viamente de 0 a 1).

(R2) xk cambia de 0 a 1 (donde xk cambio pre-viamente de 1 a 0).

(R3) Ocurre al menos una de las restricciones(R1) y (R2). (Esta condicion es mas re-strictiva que (R1) o (R2) separadamente,es decir, hace mas movimientos tabu).

(R4) Ocurren (R1) y (R2). (Esta condicion esmenos restrictiva que (R1) o (R2) por sep-arado, es decir, hace menos movimientostabu).

Figura 14: Restricciones Tabu Ilustrativas.

2.4.3. El papel de Estado Tabu

Una restriccion tabu se activa tıpicamente soloen el caso en el que sus atributos hayan ocurri-do dentro de un numero limitado de iteracionesanteriores a la iteracion presente (creando unarestriccion basada en lo reciente) o hayan ocu-rrido con una cierta frecuencia sobre un perıodode iteraciones mas largo (creando una restric-cion basada en la frecuencia). Mas precisa-mente, se cumple una restriccion tabu solocuando los atributos subyacentes a su defini-cion satisfacen ciertos umbrales de lo reciente ode lo frecuente. Para explotar esta nocion, defi-nimos un atributo como tabu-activo cuando suatributo inverso asociado ha ocurrido dentro deun intervalo estipulado de lo reciente o de lofrecuente en movimientos pasados. Un atributoque no es tabu-activo se llama tabu-inactivo.

La condicion de ser tabu-activo o tabu-inactivose llama el estado tabu de un atributo. En al-gunas ocasiones un atributo se llama tabu o notabu para indicar que es tabu-activo o tabu-inactivo. Es importante tener en mente en esoscasos que un “atributo tabu” no corresponde a

un movimiento tabu. Como muestran los ejem-plos anteriores, un movimiento puede conteneratributos tabu-activos, pero aun no ser tabu siestos atributos no son del numero o clases co-rrectas para activar una restriccion tabu.

Las restricciones tabu mas comunes, cuyosatributos son los inversos de aquellos quedefinen las restricciones, caracterısticamentetienen el objetivo de prevenir el ciclado y de in-ducir vigor en la busqueda. Debe precisarse queel evitar ciclos no es la meta final del procesode busqueda. En algunas instancias, un buencamino de busqueda resultara en volver a visi-tar una solucion encontrada antes. El objetivomas general es continuar estimulando el des-cubrimiento de nuevas soluciones de alta cal-idad. En general, un tipo comun de restric-cion opera seleccionando algun subconjunto deatributos y declarando un movimiento tabu siun cierto numero mınimo es tabu-activo.

2.5. Funciones de MemoriaTabu Basadas en lo Reciente

Para mantener el estado de los atributos delmovimiento que componen restricciones tabu,y para determinar cuando son aplicables estasrestricciones, han resultado utiles varias clasesbasicas de funciones de memoria. Dos ejemploscomunes de funciones de memoria basadas enlo reciente se especifican mediante los vectoresComienzoTabu(e) y FinTabu(e), donde e varıasobre atributos relevantes a una aplicacion par-ticular. Estos vectores identifican, respectiva-mente, las iteraciones de comienzo y finalizaciondel perıodo tabu para el atributo e, acotandoası el perıodo durante el cual e es tabu-activo.

La regla para identificar valores apropiadospara ComienzoTabu(e) y FinTabu(e) resultade mantener los atributos en cada iteracionque son componentes del movimiento actual.En particular, en la iteracion i, si e es unatributo del movimiento actual, se define unestado tabu para evitar inversiones. EntoncesComienzoTabu(e) = i + 1, indicando que elatributo inverso e comienza su estado tabu-activo al comienzo de la siguiente iteracion. Elatributo e mantendra este estado a lo largo desu perıodo tabu, que denotamos por t. Esto pro-duce FinTabu(e) = i+t, tal que el perıodo parae se extiende sobre las t iteraciones de i + 1 a

Page 11: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

i + t.

Como resultado, es facil comprobar si un atrib-uto arbitrario es activo, simplemente controlan-do si FinTabu(e) ≥ IteracionActual. Inicial-izando FinTabu(e) = 0 para todos los atrib-utos nos aseguramos de que FinTabu(e) <IteracionActual, y por lo tanto que el atrib-uto e es tabu-inactivo, hasta que se realicela actualizacion especificada previamente. Es-to sugiere que necesitamos mantener solo ununico vector FinTabu(e) para proporcionar in-formacion sobre el estado tabu. Sin embargo,veremos que surgen situaciones en las que esvalioso mantener ComienzoTabu(e), e inferirFinTabu(e) anadiendo un valor apropiado det (computado actualmente, o preferiblementeextraıdo de una secuencia pre-almacenada), omantener FinTabu(e) como un vector separa-do.

La memoria a menudo puede ser mas especıfi-ca cuando los atributos representan alternati-vas binarias, tales como cambiar de xj = 0 axj = 1. Entonces, en vez de almacenar un val-or ComienzoTabu(e) separado para cada unode estos atributos, es suficiente con registrarun unico valor ComienzoTabu(j). Automatica-mente sabemos si ComienzoTabu(j) se refierea cambiar de xj = 0 a xj = 1 o lo contrario,teniendo en cuenta el valor de xj en la iteracionactual. Si actualmente xj = 1, por ejemplo, elcambio mas reciente fue de xj = 0 a xj = 1. En-tonces, el atributo inverso, derivado de cambiarxj de 1 a 0, es aquel cuyo perıodo esta repre-sentado por el valor de ComienzoTabu(j).

A pesar de la estructura de datos usada, lacuestion clave para crear el estado tabu usan-do memoria basada en lo reciente es determinarun “buen valor”de t. Las reglas para determi-nar t se clasifican como estaticas o dinamicas.Las reglas estaticas eligen un valor para t quese mantiene fijado a lo largo de la busqueda.Las reglas dinamicas permiten que el valor de tvarıe.

Los valores indicados, tales como 7 y√

n, sonsolo para propositos ilustrativos, y representanparametros cuyos valores preferidos deberıanser establecidos por experimentacion para unaclase particular de problemas. En ocasiones esapropiado permitir diferentes tipos de atributosdefiniendo una restriccion tabu con diferentesvalores para el perıodo t. Por ejemplo, algunos

Reglas Ilustrativas para Crear Perıodo

Tabu (Basado en lo Reciente)

Reglas Estaticas Elegir t como una con-stante tal que t = 7 o t =

√n, donde n

es una medida de la dimension del proble-ma.

Reglas Dinamicas

Dinamico Simple: Elegir t para variar(aleatoriamente o mediante un pa-tron sistematico) entre cotas tmin ytmax, tal que tmin = 5 y tmax = 7 otmin = ,9

√n y tmax = 1,1

√n.

Dinamico Atributo Dependiente:Elegir t como en la regla dinamicasimple, pero determinar tmin ytmax para ser mayores para aquellosatributos que son mas atractivos; porejemplo, basados en consideracionesde calidad o de influencia.

Figura 15: Reglas Ilustrativas para CrearPerıodo Tabu.

atributos pueden contribuir mas fuertemente auna restriccion tabu que otros, y deberıa asig-narse un perıodo tabu mas abreviado para im-pedir hacer la restriccion demasiado severa.

La experiencia practica indica que las reglasdinamicas son tıpicamente mas robustas que lasreglas estaticas. Los buenos valores de parame-tros para reglas dinamicas normalmente abar-can un intervalo amplio, y producen resultadoscomparables o superiores a las salidas produci-das por reglas estaticas. Las reglas dinamicasque dependen del tipo y la calidad del atrib-uto, donde se asignan perıodos mayores paraevitar reversiones de atributos que participanen movimientos de alta calidad, se han proba-do bastante efectivos para problemas difıcilesrelacionados con planificacion y conduccion.

2.6. Criterios de Aspiracion

Los criterios de aspiracion se introducen en labusqueda tabu para determinar cuando puedenser reemplazadas las restricciones tabu, eli-minando ası una clasificacion tabu aplicada aun movimiento en otro caso. El uso apropia-

Page 12: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

do de estos criterios puede ser muy importantepara permitir a un metodo TS proporcionar susmejores niveles de ejecucion.

Las primeras aplicaciones empleaban solo untipo simple de criterio de aspiracion, consistien-do en eliminar una clasificacion tabu de unmovimiento de ensayo cuando el movimientoconduce a una solucion mejor que la mejorobtenida hasta ahora. Este criterio se sigueusando ampliamente. Sin embargo, puede haberotros criterios de aspiracion efectivos paramejorar la busqueda.

Una base para uno de estos criterios surge intro-duciendo el concepto de influencia, que mide elgrado de cambio inducido en la estructura de lasolucion o factibilidad. (La influencia a menudose asocia a la idea de distancias de movimiento,es decir, donde se concibe que un movimientode mayor distancia tiene mayor influencia). Es-ta nocion puede ser ilustrada para el problemade distribuir objetos desigualmente pesados en-tre cajas, donde el objetivo es dar a cada caja,tan aproximadamente como sea posible, el mis-mo peso. Un movimiento de alta influencia, quecambia significativamente la estructura de lasolucion actual, se ejemplifica por un movimien-to que transfiere un objeto muy pesado de unacaja a otra, o que intercambia objetos de pe-sos similares entre dos cajas. Tal movimientopuede no mejorar la solucion actual, aunque esmenos probable conducir a una mejora cuan-do la solucion actual es relativamente buena.De cualquier manera, los movimientos de altainfluencia son importantes, especialmente du-rante intervalos de separacion de optimalidadlocal, porque con una serie de movimientosque se limita solamente a hacer pequenos cam-bios estructurales es poco probable obtener unaoportunidad para la mejora significativa.

Los movimientos de menor influencia normal-mente pueden ser tolerados hasta que lasoportunidades para el aumento a partir deellos parezcan ser insignificantes. En tal pun-to, y en ausencia de movimientos de mejora,los criterios de aspiracion cambian para dara los movimientos influyentes un rango ma-yor. Ademas, una vez que se ha realizado unmovimiento influyente, deberıan ser eliminadaso “debilitadas” las restricciones tabu estable-cidas previamente para movimientos menos in-fluyentes. Estas consideraciones de influencia demovimiento interactuan con las consideraciones

de region y direccion de busqueda, como se in-dica a continuacion.

Las aspiraciones son de dos tipos: aspiracionesde movimiento y aspiraciones de atributo. Unaaspiracion de movimiento, cuando se satisface,revoca la clasificacion tabu del movimiento.Una aspiracion de atributo, cuando se satisface,revoca el estado tabu-activo del atributo. En elultimo caso el movimiento principal puede nocambiar su clasificacion tabu, dependiendo de sila restriccion tabu puede ser activada por masde un atributo.

Los siguientes criterios determinan la admisi-bilidad de una solucion ensayo, xEnsayo, comoun candidato a ser considerado, donde xEnsayoes generado por un movimiento que ordinaria-mente serıa clasificado tabu.

Criterios de Aspiracion Ilustrativos

Aspiracion por Defecto: Si todos losmovimientos disponibles estan clasi-ficados tabu, y no se han hecho admi-sibles mediante algunos otros cirteriosde aspiracion, entonces se seleccionael movimiento “menos tabu”. (Porejemplo, seleccionamos un movimien-to que pierda su clasificacion tabu porel menor incremento en el valor deIteracionActual, o por una aproxi-macion a esta condicion).

Aspiracion por objetivo:

Forma Global: Se satisface una as-piracion de movimiento, per-mitiendo que xEnsayo sea uncandidato para la seleccion, sic(xEnsayo) < MejorCoste.

Forma Regional: Subdividimos elespacio de busqueda en regionesR ⊆ X, identificadas mediantecotas sobre los valores de fun-ciones g(x) (o por intervalos detiempo de busqueda). Denotemospor MejorCoste(R) el mınimoc(x) encontrado en R. Entoncespara xEnsayo ∈ R, se satisfaceuna aspiracion de movimiento(para moverse hacia xEnsayo) sic(xEnsayo) < MejorCoste(R).

Page 13: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Aspiracion por Direccion de Busqueda:Sea direccion(e) = mejora si elmovimiento mas reciente conteniendoa e fue un movimiento de mejora, ydireccion(e) = nomejora, en otrocaso. (direccion(e) y FinTabu(e)se fijan a sus valores actuales enla misma iteracion). Se satisfaceuna aspiracion de atributo parae (haciendo a e tabu-inactivo)si direccion(e) = mejora y elmovimiento ensayo actual es unmovimiento de mejora, es decir, sic(xEnsayo) < c(xActual).

Aspiracion por Influencia: Seainfuencia(e) = 0 o 1 segun siel movimiento que establece elvalor de ComienzoTabu(e) es unmovimiento de baja influencia oun movimiento de alta influencia.(influencia(e) se fija a la vez queComienzoTabu(e)). Ademas, seaUltima(L), para L = 0 o 1, iguala la iteracion mas reciente en laque fue realizado un movimientode nivel de influencia L. Entoncesuna aspiracion de atributo para ese satisface si influencia(e) = 0 yComienzoTabu(e) < Ultima(1).Para multiples niveles de in-fluencia L = 0, 1, 2, ..., la as-piracion para e se satisface si hayun L > influencia(e) tal queComienzoTabu(e) < Ultima(L).

Los criterios de aspiracion precedentes in-cluyen varias estrategias utiles para la busque-da tabu que aun no se han examinado am-pliamente y que garantizan una investigacionmas completa. Por ejemplo, un caso espe-cial de la Aspiracion Regional por Objetivoocurre definiendo R = {x : g(x) = r},donde g(x) es una funcion de dispersion crea-da para distinguir entre diferentes vectoresx segun el valor asignado a g(x). Entonces,MejorCoste(R) es convenientemente guarda-da como MejorCoste(r), identificando el mıni-mo c(x) encontrado cuando g(x) = r. La “re-gionalidad” definida por R en este caso propor-ciona una base para integrar los elementos dela aspiracion y diferenciacion. (Una funcion dedispersion g(x) tambien puede ser tratada co-mo una function atributo, e incorporada en lasrestricciones tabu como se ha descrito anterior-

mente. O por el contrario, una funcion de dis-persion puede ser definida sobre atributos, conenfasis particular en aquellos que califican comoinfluyentes).

La Aspiracion por Direccion de la Busqueda yla Aspiracion por Influencia proporcionan as-piraciones de atributos en vez de aspiracionesde movimientos. En la mayorıa de los casos,las aspiraciones de atributos y movimientos sonequivalentes. Sin embargo, se emplean diversosmedios para probar estas dos clases de aspira-ciones.

2.7. Memoria Basada en Frecuen-cia

La memoria basada en frecuencia proporcionaun tipo de informacion que complementa la in-formacion proporcionada por la memoria basa-da en lo reciente, ampliando la base para se-leccionar movimientos preferidos. Como lo re-ciente, la frecuencia a menudo esta ponderadao descompuesta en subclases teniendo en cuen-ta las dimensiones de calidad de la solucion einfluencia del movimiento.

Para nuestros propositos presentes, concebi-mos medidas de frecuencia como proporciones,cuyos numeradores representan cuentas delnumero de ocurrencias de un evento particu-lar (por ejemplo, el numero de veces que unatributo particular pertenece a una solucion omovimiento) y cuyos denominadores general-mente representan uno de cuatro tipos de can-tidades: (1) el numero total de ocurrencias detodos los eventos representados por los numer-adores (tal como el numero de iteraciones aso-ciadas), (2) la suma de los numeradores, (3) elmaximo valor del numerador, y (4) la media delvalor del numerador. Los denominadores (3) y(4) dan lugar a lo que se puede llamar frecuen-cias relativas. En los casos en los que los nu-meradores representan cuentas ponderadas, al-gunas de las cuales pueden ser negativas, losdenominadores (3) y (4) se expresan como va-lores absolutos y el denominador (2) se expresacomo una suma de valores absolutos.

En el ejemplo de intercambiar objetos entrecajas, los atributos DesdeAtributos estan aso-ciados con mover un objeto fuera de una delas dos cajas y los atributos HaciaAtributos

Page 14: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

estan asociados con mover un objeto den-tro de una de estas cajas. Denotemos porx(1), x(2), ..., x(IteracionActual) la secuenciade soluciones generadas en el momento pre-sente del proceso de busqueda, y denotemos porS una subsecuencia de esta secuencia de solu-ciones. Tomamos la libertad de tratar S comoun conjunto ademas de como una secuencia or-denada. Los elementos de S no son necesaria-mente elementos consecutivos de la secuenciade solucion completa.

A modo de notacion, denotemos por S(xj =p) el conjunto de soluciones en S para lascuales xj = p, y denotemos por #S(xj = p)la cardinalidad de este conjunto (el numerode veces que xj recibe el valor p sobre x ∈S). Analogamente, denotemos por S(xj = pa xj = q) el conjunto de soluciones en Sque resultan por un movimiento que cambiaxj = p a xj = q. Finalmente, denotemospor S(de xj = p) y S(a xj = q) los conjun-tos de soluciones en S que contienen respec-tivamente xj = p como un DesdeAtributo oxj = q como un HaciaAtributo. En general, siAtributoSolucion representa cualquier atribu-to de una solucion que puede tomar el papel deun DesdeAtributo o un HaciaAtributo para unmovimiento, y si MovimientoAtributo repre-senta un atributo de movimiento arbitrario de-notado por (DesdeAtributo,HaciaAtributo),entonces

S(SolucionAtributo) = {x ∈ S: x contieneAtributoSolucion}.

S(MovimientoAtributo) = {x ∈ S: xresulta de un movimiento que contieneMovimientoAtributo}.

S(DesdeAtributo) = {x ∈ S: x inicia unmovimiento a DesdeAtributo}.

S(HaciaAtributo) = {x ∈ S: x resulta de unmovimiento que contiene a HaciaAtributo}.

La cantidad #S(xj = p) constituye una medidade residencia, dado que identifica el numero deveces que el atributo xj = p reside en las solu-ciones de S. Correspondientemente, llamamosla frecuencia que resulta de dividir tal medi-da por uno de los denominadores de (1) a (4)una frecuencia de residencia. Para el nume-rador #S(xj = p), los denominadores (1) y(2) corresponden ambos a #S, mientras que los

denominadores (3) y (4) son dados respectiva-mente por Max(#S(xk = q) : todo k, q) y porMedia(#S(xk = q) : ∀ k, q).

Las cantidades #S(xj = p a xj = q), #S(dexj = p) y #S(a xj = q) constituyen medidasde transicion, dado que identifican el numerode veces que xj cambia de y/o a valores es-pecificados. Asımismo, las frecuencias basadasen tales medidas son llamadas frecuencias detransicion. Los denominadores para crear talesfrecuencias de las medidas precedentes incluyen#S, el numero total de veces que los cambiosindicados ocurren sobre S para diferentes val-ores j, p y/o q, y cantidades Max y Mediaasociadas.

Distinciones entre tipos de Frecuencia. Las fre-cuencias de residencia y transicion en ocasionestransmiten informacion relacionada, pero engeneral llevan diferentes aplicaciones. Algunasveces estan confusas en la literatura. Una dis-tincion significativa es que las medidas de resi-dencia, en contraste con las medidas de transi-cion, no se refieren a si un atributo de solucionparticular de un elemento x(i) en la secuencia Ses un DesdeAtributo o un HaciaAtributo, o in-cluso si es un atributo que cambia en movimien-to de x(i) a x(i + l) o de x(i − l) a x(i).Solo es relevante que el atributo puede ser unDesdeAtributo o un HaciaAtributo en algunmovimiento futuro. Tales medidas pueden con-ducir a diferentes tipos de implicaciones depen-diendo de la eleccion de la subsecuencia de S.

Una alta frecuencia de residencia, por ejemp-lo, puede indicar que un atributo es altamenteatractivo si S es una subsecuencia de solucionesde alta calidad, o puede indicar lo contrario si Ses una subsecuencia de soluciones de baja cal-idad. Por otro lado, una frecuencia de residen-cia que es alta (baja) cuando S contiene tantosoluciones de alta como de baja calidad puedeapuntar a atributo fortalecido (o excluido) querestringe al espacio de busqueda, y que necesi-ta ser desechado (o incorporado) para permitirdiversidad.

Desde el punto de vista de la simplificacion delcomputo, cuando S esta formado por todas lassoluciones generadas despues de una iteracionespecificada, entonces puede mantenerse unamedida de residencia actual y actualizada porreferencia a valores del vector ComienzoTabu,sin la necesidad de incrementar un conjunto de

Page 15: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

contadores en cada iteracion. Para un conjun-to S cuyas soluciones no vienen de iteracionessecuenciales, sin embargo, las medidas de res-idencia se calculan simplemente poniendo unaetiqueta sobre los elementos de S.

Las medidas de transicion son generalmentebastante faciles de mantener ejecutando actu-alizaciones durante el proceso de generacion desoluciones (asumiendo que las condiciones quedefinen S, y los atributos cuyas medidas detransicion son buscadas, se especifican con ante-rioridad). Esto resulta del hecho de que tıpica-mente solo se consideran relevantes unos pocostipos de cambios de atributos para detectarcuando una solucion se reemplaza por la sigu-iente, y estos pueden aislarse y registrados facil-mente. Las frecuencias del ejemplo de la seccion2.1 constituyen una instancia de frecuencias detransicion que fueron mantenidas en esta man-era simple. Su uso en este ejemplo, sin embar-go, alentaba la diversidad aproximando el tipode papel que las frecuencias de residencia sonusualmente mejor satisfechas para ser tomadas.

Como una distincion final, una frecuencia detransicion alta, en contraste con una frecuenciade residencia alta, puede indicar que un atribu-to asociado es un “llenador excelente”, que cam-bia dentro y fuera de la solucion para ejecutaruna funcion de buen ajuste. Tal atributo puedeser interpretado como el opuesto de un atributoinfluyente, como se considero anteriormente enla discusion de Aspiracion de Influencia. En estecontexto, una frecuencia de transicion puede serinterpretada como una medida de volatilidad.

Ejemplos de Usos de Medidas de Frecuencia. Acontinuacion se muestran ilustraciones de fre-cuencias de residencia y de transicion. (Solose indican los numeradores, entendiendo quelos denominadores son proporcionados por lascondiciones (1) a (4)).

La medida (F5) puede ser interpretada como elvalor medio c(x) sobre S cuando xj = p. Es-ta cantidad puede ser directamente comparadacon otras medias o puede ser pasada a una me-dida de frecuencia usando denominadores talescomo la suma o el maximo de estas medias.

Los atributos que tienen mayores medidas defrecuencia, como aquellos que tienen mayoresmedidas de lo reciente (es decir, que ocurrieronen soluciones o movimientos mas cercanos al

Ejemplos de Medidas de Frecuencia

(Numeradores)

(F1) #S(xj = p)

(F2) #S(xj = p para algun xj)

(F3) #S(a xj = p)

(F4) #S(xj cambia), es decir, #S(xj 6= pa xj = p)

(F5)∑

x∈S(xj=p) c(x)/#S(xj = p)

(F6) Reemplazar S(xj = p) en (F5) conS(xj 6= p a xj = p)

(F7) Reemplazar c(x) en (F6) con una me-dida de la influencia S(xj 6= p a xj =p)

presente), pueden iniciar un estado tabu-activosi S esta formado por soluciones consecutivasque finalizan con la solucion actual. Sin em-bargo, la memoria basada en frecuencia tıpica-mente encuentra su uso mas productivo comoparte de una estrategia de perıodo mas largo,la cual emplea incentivos ademas de restric-ciones para determinar que movimientos son se-leccionados. En tal estrategia, las restriccionesse convierten en penalizaciones de evaluacion,y los incentivos se convierten en mejoras de laevaluacion, para alterar la base para calificarmovimientos como atractivos o no atractivos.

Para ilustrarlo, a un atributo tal como xj = pcon una frecuencia de residencia alta le puedeser asignado un incentivo fuerte (“beneficio”)para servir como un DesdeAtributo, resultan-do por tanto en la eleccion de un movimien-to que produce xj 6= p. Tal incentivo esparticularmente relevante en el caso dondeComienzoTabu(xj 6= p) es pequeno, dado queeste valor identifica la ultima iteracion en quexj 6= p sirvio como un DesdeAtributo, y portanto descubre que xj = p ha sido un atributode cada solucion desde entonces.

La memoria basada en frecuencia por tantoes usualmente aplicada introduciendo estadostabu graduados, como un fundamento paradefinir valores de penalizacion e incentivos paramodificar la evaluacion de los movimientos.Existe una conexion natural entre este enfoquey el enfoque de memoria basada en lo reciente

Page 16: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

que crea estados tabu como una condicion todo-o-ninguno. Si el perıodo de un atributo enmemoria basada en lo reciente esta concebidacomo un umbral condicional para aplicar unapenalizacion muy grande, entonces las clasifica-ciones tabu producidas por tal memoria puedenser interpretadas como el resultado de unaevaluacion que se convierte fuertemente inferi-or cuando las penalizaciones estan activadas.Es razonable anticipar que los umbrales condi-cionales deberıan tambien ser relevantes paradeterminar los valores de penalizaciones y losincentivos en estrategias de perıodo largo. Lamayorıa de las aplicaciones en el presente, sinembargo, usan un multiplo lineal simple de unamedida de frecuencia para crear un termino depenalizacion o de incentivo.

2.8. Memoria Basada en Frecuen-cia en Procesos de Intensifi-cacion y Diversificacion Sim-ples

Las funciones de intensificacion y diversificacionen la busqueda tabu ya estan implıcitas enmuchas de las prescripciones anteriores, pero seconvierten especialmente relevantes en proce-sos de busqueda de perıodo largo. Las estrate-gias de intensificacion crean soluciones agresi-vamente estimulando la incorporacion de “atri-butos buenos”. En el perıodo corto esto con-siste en incorporar atributos que han recibidolas mayores evaluaciones por los enfoques y cri-terios descritos anteriormente, mientras que enel intermedio a largo perıodo consiste en incor-porar atributos de soluciones de subconjuntoselite seleccionados. Por otro lado, las estrategiasde diversificacion generan soluciones que incor-poran composiciones de atributos significativa-mente diferentes a los encontrados previamentedurante la busqueda. Estos dos tipos de estrate-gias se contrapesan y refuerzan mutuamente devarias formas.

Examinamos formas simples de enfoques de in-tensificacion y diversificacion que hacen uso dememoria basada en frecuencia. Estos enfoquesseran ilustrados por referencia a medidas defrecuencia de residencia, pero algunas observa-ciones similares se aplican al uso de medidasde transicion, teniendo en cuenta caracterısti-cas contrastantes notadas previamente.

Para una estrategia de diversificacion elegimosS como un subconjunto significativo de la se-cuencia de solucion completa; por ejemplo, lasecuencia entera empezando con el primer opti-mo local, o la subsecuencia formada por to-dos los optimos locales. (Para ciertas estrategiasbasadas en medidas de transicion, S puede estarformado por la subsecuencia que contiene ca-da sucesion intacta maxima de movimientos deno-mejora que inmediatamente siguen un opti-mo local, concentrandose en S(HaciaAtributo)para estos movimientos).

Para una estrategia de intensificacion elegimosS como un subconjunto pequeno de solucioneselite (optimos locales de alta calidad) que com-parten un gran numero de atributos comunes,y en segundo lugar cuyos miembros puedenalcanzarse uno de otro mediante numeros demovimientos relativamente pequenos, indepen-dientes de si estas soluciones caen cerca la unade la otra en la secuencia de la solucion. Porejemplo, las colecciones de tales subconjuntosS pueden ser generadas por procedimientos deagrupamiento, seguido del uso de un enfoquede procesamiento paralelo para tratar cada Sseleccionado por separado.

Para propositos ilustrativos, supongamos queun movimiento actualmente bajo consideracionincluye dos atributos de movimiento, denota-dos por e y f , los cuales pueden ser expre-sados como e = (eDesde, eHacia) y f =(fDesde, fHacia). Proporcionamos reglas paragenerar una funcion de penalizacion o incenti-vo, PI, basada en medidas de frecuencia de losatributos e y f , las cuales se aplican igualmentea estrategias de intensificacion y diversificacion.Sin embargo, la funcion PI crea una penal-izacion para una estrategia (intensificacion odiversificacion) si y solo si crea un incentivopara la otra. Para describir esta funcion, de-notemos por f(eDesde) y f(eHacia), etc., lamedida de frecuencia para los DesdeAtributosy HaciaAtributos indicados, y denotemos porT1, T2, ..., T6 umbrales positivos seleccionados,cuyos valores dependen del caso considerado.

Las condiciones precedentes para definir PIestan relacionadas con las ilustradas previa-mente para identificar condiciones en las cualeslos atributos se convierten en tabu-activos. Porejemplo, especificando que (1) debe ser positivopara hacer PI positivo corresponde a introduciruna penalizacion tabu (o un incentivo) cuando

Page 17: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Funciones PI Ilustrativas de Penalizacion

e Incentivo para HaciaAtributos

Elegir PI como una funcion monotona no de-creciente de una de las siguientes canti-dades, donde PI es positiva cuando la can-tidad es positiva, y es 0 en otro caso. (PIproporciona una penalizacion en una es-trategia de diversificacion y un incentivoen una estrategia de intensificacion).

(1) Min{f(eHacia), f(fHacia)} − T1

(2) Max{f(eHacia), f(fHacia)} − T2

(3) Media{f(eHacia), f(fHacia)} − T3

Funciones PI Ilustrativas de Penalizacion

e Incentivo para DesdeAtributos

Elegir PI como una funcion monotona no de-creciente de una de las siguientes canti-dades, donde PI es positiva cuando la can-tidad es positiva, y es 0 en otro caso. (PIproporciona un incentivo en una estrate-gia de diversificacion y una penalizacion enuna estrategia de intensificacion).

(1) Min{f(eDesde), f(fDesde)} − T4

(2) Max{f(eDesde), f(fDesde)} − T5

(3) Media{f(eDesde), f(fDesde)} − T6

ambas medidas exceden sus umbrales comunes.Si una medida es expresada como la duraciondesde que un atributo fue el mas recientementehecho tabu-activo, y si el umbral representa unlımite comun para el perıodo tabu, entonces (1)puede expresar una restriccion basada en lo re-ciente para determinar una clasificacion tabu.La asignacion de diferentes umbrales a atribu-tos diferentes en (1) corresponde a establecerperıodos tabu atributo-dependientes. Analoga-mente, los restantes valores de (2) a (6) puedenser interpretados como analogos a los valoresque definen medidas basadas en lo reciente paraestablecer una clasificacion tabu, implementadaen este caso a traves de una penalizacion.

De estas observaciones se concluye que la me-dida de frecuencia F puede extenderse para

representar medidas combinadas de lo re-ciente y de lo frecuente. Note que la memo-ria basada en lo reciente, almacenando datosde ComienzoTabu, puede tambien referirse acambios que han ocurrido mas lejos en elpasado ademas de aquellos que han ocurri-do mas recientemente. Aunque estas medidasestan ya implıcitamente combinadas cuando seunen las penalizaciones y los incentivos basa-dos en medidas de frecuencia con clasificacionestabu basadas en medidas de lo reciente, comoun fundamento para seleccionar movimientosactuales, es posible que otras formas de com-binacion sean superiores.

3. Aspectos mas amplios deIntensificacion y Diversi-ficacion

Los metodos de intensificacion y diversificacionque utilizan penalizaciones e incentivos repre-sentan solo una clase de tales estrategias. Unacoleccion mayor surge de la consideracion di-recta de los objetivos de intensificacion y diver-sificacion. Examinamos diversos metodos quese han demostrado utiles en aplicaciones pre-vias, e indicamos metodos que consideramosprometedores en aplicaciones futuras. Para em-pezar hacemos una distincion importante entrediversificacion y aleatorizacion.

Diversificacion frente a aleatorizacion. Cuan-do TS busca una coleccion de soluciones di-versas, es muy diferente que cuando buscauna coleccion de soluciones aleatorizadas. Engeneral, estamos interesados no solo en colec-ciones diversas sino en secuencias diversas, dadoque frecuentemente el orden en que se exami-nan los elementos es importante en TS. Estoocurre, por ejemplo cuando buscamos identi-ficar una secuencia de nuevas soluciones (no vis-tas antes) de forma que cada solucion sucesivasea maximalmente diversa en relacion a todaslas soluciones previamente generadas. Esto in-cluye posibles referencias a un conjunto base desoluciones, tales como x ∈ S, que da prioridadal objetivo de diversificacion (es decir, dondeel primer objetivo es establecer diversificacioncon respecto a S, y despues con respecto a otrassoluciones generadas).

Page 18: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

Refuerzo por restriccion. Uno de los primerostipos de estrategias de intensificacion, ca-racterizada en terminos de explotar variablesfuertemente determinadas y consistentes en [4],comienza seleccionando un conjunto S como in-dicado para determinar una penalizacion y unafuncion de incentivo, es decir, una consistenteen soluciones elite agrupadas a traves de unamedida de clasificacion. En vez de (o ademasde) crear penalizaciones e incentivos, con el ob-jetivo de incorporar atributos a la solucion ac-tual que tenga altas medidas de frecuencia so-bre S, el metodo de refuerzo por restriccionopera estrechando el rango de posibilidades per-mitidas anadiendo y quitando tales atributos.

La consideracion inicial sugiere que este meto-do de restriccion no ofrece nada mas alla delas opciones disponibles por penalizaciones eincentivos. No obstante, el metodo puede con-seguir mas que esto por dos motivos. Primero,las restricciones explıcitas pueden acelerarsubstancialmente la ejecucion de los pasos deeleccion reduciendo el numero de alternati-vas examinadas. Segundo, y mas significativa-mente, muchos problemas se simplifican y co-lapsan una vez que se introduce un numero derestricciones explıcitas, permitiendo que las im-plicaciones estructurales salgan a la superficie,permitiendo que estos problemas se resuelvanmas facilmente.

Reencadenamiento de camino. El reencade-namiento de camino (PR, path relinking) se ini-cia seleccionando dos soluciones x′ y x′′ de unacoleccion de soluciones elite producidas durantelas fases de busqueda. Se genera un camino des-de x′ a x′′, produciendo una secuencia de solu-ciones x′ = x′(1), x′(2), ..., x′(r) = x′′ dondex′(i + 1) se crea a partir de x′(i) en cada pa-so eligiendo el movimiento que deja el menornumero de movimientos restantes hasta alcan-zar x′′. Finalmente, una vez que el caminoeste completo, una o mas de las soluciones x′(z)se seleccionan como soluciones para iniciar unanueva fase de busqueda

Este metodo proporciona un medio fundamen-tal para perseguir el objetivo de intensificaciony diversificacion cuando sus pasos se implemen-tan para explotar variantes estrategicas de re-glas de eleccion. Un numero de movimientosalternativos tıpicamente calificaran para pro-ducir la siguiente solucion a partir de x′(i) porel critero del “menor numero de movimientos

restantes”, perimitiendo consecuentemente unavariedad de caminos posibles de x′ a x′′. Se-leccionar movimientos no atractivos relativosa c(x) en cada paso tendera a producir unaserie final de movimientos de fuerte mejora,mientras que seleccionar movimientos atrac-tivos tendera a producir movimientos de menorcalidad al final. (El ultimo movimiento, no ob-stante, mejorara, o dejara c(x) sin cambiar, yaque x′′ es un mınimo local.) Por tanto, elegirel mejor, peor o movimiento medio, usando uncriterio de aspiracion para anular las eleccionesen los dos ultimos casos si esta disponible unasolucion suficientemente atractiva, proporcionaopciones que producen efectos contrastantes enla generacion de la secuencia indicada. (Exis-ten argumentos a favor de seleccionar el mejormovimiento en cada paso, y entonces repetir elproceso intercambiando x′ y x′′.)

Procedimientos de Listas de Candidatos. La sec-cion 2.3.1 destaca la importancia de los proced-imientos para aislar un conjunto de movimien-tos candidatos de un entorno grande, para evi-tar el gasto computacional de evaluar todo elentorno. Procedimientos de este tipo han si-do utilizados en metodos de optimizacion des-de que el tema de la reduccion de los esfuerzoscomputacionales se ha tomado en serio (desdeal menos los 50 y probablemente antes). Algunade las formas mas estrategicas de estos proble-mas vienen del campo de la optimizacion de re-des [10]. En tales metodos, el subconjunto demovimientos se referencia mediante una listaque identifca sus elementos definitorios (talescomo ındices de variables, nodos y arcos), y portanto estos metodos han adquirido el nombre deestrategias de listas de candidatos.

Las estrategias de listas de candidatos im-plıcitamente tienen una influencia diversificantemotivando que diferentes partes del espacio deentorno se examinen en diferentes iteraciones.Esto sugiere que debe beneficiarse de coordinartales estrategias con otras estrategias de diver-sificacion, un area que permanece abierta a lainvestigacion. Las estrategias de listas de can-didatos tambien son muy naturales para pro-cesos de paralelizacion, donde se examinan enparalelo formas de descomposicion de entornosa examinar de forma secuencial. Los movimien-tos pueden seleccionarse eligiendo el mejor can-didato por varios procesos, o en su lugar cadaproceso puede ejecutar sus propios movimientospreferidos, generando trayectorias de soluciones

Page 19: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

paralelas que son periodicamente coordinadas aun nivel superior. Estos ultimos procedimientosse mantienen considerablemente prometedores.

Entornos compuestos. La identificacion de unentorno efectivo para definir los movimientosdesde una solucion a otra puede ser extremada-mente importante. Por ejemplo, un intento deresolver un problema de programacion linealeligiendo los movimientos que incrementan odecrementan variables del problema, frente aelegir movimientos que usan procesos de pi-votaje o direcciones de busqueda, obviamentepuede provocar una diferencia sustancial en lacalidad de la solucion final obtenida. Las in-novaciones que han hecho a la programacionlineal una potente herramienta de optimizaciondependen significativamente del descubrimientode entornos efectivos para hacer los movimien-tos.

Para aplicaciones combinatorias donde las posi-bilidades para crear entornos estan amplia-mente confinadas a varios procesos construc-tivos o destructivos, o a intercambios, mejoranfrecuentemente los resultados combinando en-tornos para crear movimientos. Por ejemplo,en aplicaciones de secuenciacion generalmentees preferible combinar entornos consistentesen movimientos de insercion y movimientosde intercambio, permitiendo considerar ambostipos de movimientos en cada paso. Otra for-ma de combinar entornos es generar movimien-tos combinatorios, donde una secuencia demovimientos simples es tratada como un solomovimiento mas complejo.

Un tipo especial de metodo para crearmovimientos compuestos resulta de una suce-sion de pasos en los que un elemento es asignadoa un nuevo estado, con la consecuencia de ex-pulsion de algun otro elemento de su estado ac-tual. El elemento expulsado se asigna a su vez aun nuevo estado, expulsando a otro elemento, yası sucesivamente, creando una cadena de talesoperaciones. Por ejemplo, tales procesos ocur-ren en un problema de secuenciacion de tareasal mover una tarea a una nueva posicion ocupa-da por otra tarea, expulsando esta tarea de suposicion. La segunda tarea entonces se mueve auna nueva posicion expulsando aun otra tarea,y ası sucesivamente. Finalmente se acaba porinsertar la ultima tarea entre dos tareas que sonactualmente adyacentes. Este tipo de metodollamado, estrategia de expulsiones en cadena,

incluye la expulsion de enlaces entre elementos(tales como tareas) mas que expulsar los ele-mentos en sı, y tambien se aplica a elementosagregados y a enlaces. Las estrategias de expul-siones en cadena tienen utiles aplicaciones enproblemas de muchos tipos, particularmente enconexion con planificacion, rutas, clasificacion yparticion [1], [7]. Un metodo tabu que incorporaexpulsiones en cadena se ha probado altamenteexitoso en problemas de asignacion multinivelgeneralizados [9], sugiriendo la relevancia de es-tas estrategias para crear entornos compuestosen otras aplicaciones de la busqueda Tabu.

Oscilacion Estrategica. El metodo de oscilacionestrategica esta estrechamente relacionado conlos orıgenes de la busqueda tabu, y propor-ciona una tecnica efectiva entre intensificaciony diversificacion para medio a largo plazo.La oscilacion estrategica opera moviendo has-ta chocar con una frontera, representada por lafactibilidad o una etapa de construccion, quenormalmente representarıa un punto donde elmetodo se pararıa. En vez de parar, sin embar-go, la definicion de entorno se extiende, o el cri-terio de evaluacion para seleccionar movimien-tos se modifica, para permitir que la fronterase cruce. El metodo entonces continua por unaprofundidad especificada mas alla de la fron-tera, y se vuelve. En este punto se vuelve aaproximar a la frontera y se cruza, esta vezen direccion opuesta, procediendo a un nuevopunto de giro. El proceso de acercarse repeti-damente y cruzar la frontera desde diferentesdirecciones crea una forma de oscilacion queda al metodo su nombre. El control sobre estaoscilacion se establece generando evaluacionesmodificadas y reglas de movimiento, dependi-endo de la region en la que se esta actual-mente navegando y de la direccion de busque-da. La posibilidad de recorrer de nuevo unatrayectoria anterior se evita con los mecanismostabu estandares.

Un ejemplo de este metodo ocurre para el prob-lema de la mochila multidimensional, donde losvalores de las variables 0-1 se cambian de 0 a1 hasta que se alcanza la frontera de factibil-idad. El metodo entonces continua dentro dela region no factible usando el mismo tipo decambios, pero con un evaluador modificado.Despues de un numero seleccionado de pasos,la direccion se invierte cambiando variables de1 a 0. El criterio de evaluacion conduce hacia lamejor variacion (o la de menor empeoramien-

Page 20: Tabu Search - sci2s.ugr.es fileBusqueda´ Tabu´ Fred Glover Leeds School of Business University of Colorado at Boulder U.S.A. Fred.Glover@Colorado.edu Bel´en Meli´an * DEIOC Universidad

to) de acuerdo a si el movimiento es de mas amenos o de menos a mas factible (o no factible),y se acompana por las restricciones asociadassobre los cambios admisibles de valores en lasvariables. Una implementacion de tal metodode [2], [3] ha generado soluciones particularesde alta calidad para el problema de la mochilamultidimensional.

El uso de oscilacion estrategica en apli-caciones que alternan procesos construc-tivos y destructivos puede acompanarse demovimientos de intercambio que mantienenla construccion a un determinado nivel.Un principio de optimalidad aproximada,que establece aproximadamente que buenasconstrucciones a un nivel son mas probables deestar cerca de buenas construcciones a otro niv-el, motiva una estrategia de aplicar intercam-bios a distintos niveles, a cada lado de una es-tructura blanco o diana tal como el arbol gen-erador, para obtener construcciones refinadasantes de pasar a niveles adyacentes.

Finalmente, remarcamos que la frontera incor-porada en la oscilacion estrategica no necesi-ta definirse en terminos de factibilidad o es-tructura, sino que puede definirse en terminosde una region donde la busqueda parece gravi-tar. La oscilacion entonces consiste en obligar ala busqueda a salir de esta region y permitirlevolver.

Referencias

[1] Dorndorf, U. y Pesch, E. (1994) “FastClustering Algorithms”, ORSA Journal onComputing. 6:2, 141-153.

[2] Freville, A. y Plateau, G. (1986) “Heuristicsand Reduction Methods for Multiple Con-straint 0-1 Linear Programming Problems”,European Journal of Operational Research,24, 206-215.

[3] Freville, A. y Plateau, G. (1990) “Hard 0-1multiknapsack test problems for size reduc-tion methods”, Invesstigacion Operativa, 1,251-270.

[4] Glover, F. (1977) “Heuristics for Inte-ger Programming Using Surrogate Con-straints”, Decision Science. 8, 156- 166.

[5] Glover, F. (1986) “Future Paths for Inte-ger Programming and Links to Artificial In-telligence”, Computers and Operations Re-search. 5. 533-549.

[6] Glover, F. y Laguna, M. (1993). TabuSearch. Modern Heuristic Techniques forCombinatorial Problems, C. Reeves, ed.,Blackwell Scientific Publishing, pp. 71-140.

[7] Glover, F. (1996) “Ejection Chains, Refer-ence Structures and Alternating Path Meth-ods for Traveling Salesman Problems”, Dis-crete Applied Mathematics, 65, 223-253.

[8] Glover, F. y Laguna, M. (1997). TabuSearch, Kluwer Academic Publishers.

[9] Laguna, M., Kelly, J. P., Gonzalez-Velarde,J. L., y Glover, F. (1995)“Tabu Searchfor the Multilevel Generalized AssignmentProblem”, European Journal of OperationalResearch 82, 176-189.

[10] Mulvey, J. (1978) “Pivot strategies for pri-mal simplex network codes”, Journal of theAssociation for Computing Machinery, 25,266-270.