Tabu Search Tutorial

Tabu Search Tutorial Tabu Search Tutorial

yalma.fime.uanl.mx
from yalma.fime.uanl.mx More from this publisher

<strong>Tabu</strong> <strong>Search</strong>Manuel LagunaUniversity of Colorado, USARafael MartíUniversidad de Valencia, España


Orígenes• Glover (1977),• Heuristics for integer programming using surrogateconstraints• Glover (1986)• Future paths for integer programming and links toartificial intelligence• Aplicar estrategias basadas en procedimientos deaprendizaje (Inteligencia Artificial)• Uso de memoriaM. Laguna y R. Martí. 2


Principios GeneralesThis looks familiar!Memoria selectivaRecordar únicamente lascaracterísticasimportantes del caminoExploración inteligenteBasada en la informaciónrecogida durante labúsquedaAprendizaje: Almacenar información y utilizarla para tomar decisiones“Una mala selección estratégica proporciona más información que unabuena selección aleatoria”M. Laguna y R. Martí. 3


AntecedentesBúsqueda LocalChoose x ∈ X.do {improve ← 0.Find x’ ∈ N(x) such that f(x’) is minimized.if ( f(x’) < f(x) ) {x ← x’.improve ← 1.}} while ( improve )4 6 1 3 5 2EjemploMovimiento de inserción4 1 3 6 5 2M. Laguna y R. Martí. 4


Memoria:DefiniciónCalidadInfluenciaESTRUCTURASRecienteFrecuenteM. Laguna y R. Martí. 5


Memoria:Características• Evaluación• Calidad. Identificar elementos que son comunes abuenas soluciones• Influencia. Medir el impacto de elecciones realizadasdurante la búsqueda• Tipo• Reciente. Almacenar las últimas ocurrencias• Frecuente. Almacenar la frecuencia de las ocurrencias• Almacenamiento• Explícita. Guardar toda la solución• Atributos. Guardar sólo algunas característicasM. Laguna y R. Martí. 6


Memoria:Ejemplo con permutaciones• Definir un atributo• Definir la estructura: reciente / frecuente• Definir la evaluación: calidad / influencia4 6 1 3 5 24 1 3 6 5 2M. Laguna y R. Martí. 7


EjemploSecuenciación de Trabajos• Tenemos n trabajos (j=1, ..., n)• p j = tiempo de proceso del trabajo j• d j = fecha de terminación (entrega)• C j = tiempo de terminación.n( ) j − j∑ max C d , 0j=1Ejemplo (n=6)p=(6,4,8,2,10,3)d=(9,12,15,8,20,22)Solución: (1,2,3,4,5,6)Evaluación: 0+0+3+12+10+11=36M. Laguna y R. Martí. 8


Movimientos de intercambiomove absi j T value (d i - d j )1 2 37 1 31 3 42 6 61 4 32 -4 11 5 57 21 111 6 40 4 132 3 39 3 32 4 30 -6 42 5 56 20 82 6 43 7 103 4 30 -6 73 5 40 4 53 6 30 -6 74 5 44 8 124 6 39 3 145 6 29 -7 2Entorno Reducido:Considerar sólo losmovimientos con d iy d jcercanos.M. Laguna y R. Martí. 9


Memoria• Dos tipos de memoria• A corto plazo• A más largo plazo• N(x) entorno de una solución x• N*(x) entorno modificado de x• Resultado de mantener una historia selectiva de losestados encontrados durante la búsqueda.• Clasificación <strong>Tabu</strong> para identificar los elementosexcluidos (forma simple de memoria).• N*(x) = N(x) - T• TS = Método de Entorno DinámicoM. Laguna y R. Martí. 10


Memoria a corto plazoEtiquetamos como tabú determinadas soluciones (o algunos atributos) yno permitimos que se visiten durante un número de iteraciones.(1, 3, 2, 4)(3, 2, 1, 4)(1, 2, 4, 3) (1, 2, 3, 4) (1, 4, 3, 2)(2, 1, 3, 4)(4, 2, 3, 1)M. Laguna y R. Martí. 11


MemoriaBasada en atributos• Es el tipo mas utilizado en el modelo corto dememoria.• Está basado en atributos.• Se etiquetan como tabu los atributos aparecidos enlas soluciones visitadas recientemente.• Prohíbe visitar soluciones que contienen atributos nodeseados.• Previene el cicladoM. Laguna y R. Martí. 12


Esquema TS básicoChoose x ∈ X;x* ← x;do {iter ← iter + 1;Find x’ ∈ N(x) \ T(x) such that f(x’) is minimized;x ← x’;Update T(x);if ( f(x) < f(x*) ) {x* ← x;iter_to_best ← iter;}} while ( stopping criterion not satisfied );M. Laguna y R. Martí. 13


AtributosSecuenciación de trabajosNumber Attributes <strong>Tabu</strong> activation rule(1) { i, j, π(i), π(j) } Prevent any move that will result in a schedule where job i occupiesposition π(i) and job j occupies position π(j).(2) { i, j, π(i), π(j) } Prevent any move that will result in a schedule where either job ioccupies position π(i) or job j occupies position π(j).(3) {i, π(i) } Prevent job i from returning to position π(i).(4) { i, π(i) } Prevent job i from moving to position k, where k ≤ π(i).(5) i Prevent job i from moving to position k, where k ≤ π(j), i.e., keep ifrom moving any earlier than the position that occupies after theswap.(6) i Prevent job i from moving at all.(7) { i, j } Prevent jobs i and j from exchanging positions.(8) { i, j } Prevent jobs i and j from moving at all.M. Laguna y R. Martí. 14


EjemploMinimum Weighted k-Cardinality Tree22636523121172018 169161 4 6 9 1125 1516 248 6 16 9 97 8 1017 9M. Laguna y R. Martí. 15


Construción “greedy”Step Candidates Selection Total Weight1 (1, 2) (1, 2) 12 (1, 4), (2, 3) (1, 4) 263 (2, 3), (3, 4), (4, 6), (4, 7) (4, 7) 344 (2, 3), (3, 4), (4, 6), (6, 7), (7, 8) (6, 7) 40M. Laguna y R. Martí. 16


Solución inicial22636523121172018 169161 4 6 9 1125 15 16 248 6 16 9 97 8 1017 9M. Laguna y R. Martí. 17


Memoria basada en “lo reciente”Movimiento: Reemplazar una arista del árbol por otra que no esté, demodo que el resultado siga siendo un árbol (salvo que consideremosinfactibilidad).Las aristas eliminadas son tabú durante 2 iteraciones.Las aristas añadidas son tabú durante 1 iteración.Iteration <strong>Tabu</strong>-active edges Delete Add Weight1 - (4, 7) (4, 6) 472 (4, 6), (4, 7) (6, 7) (6, 8) 573 (6, 8), (4, 7), (6, 7) (1, 2) (8, 9) 65M. Laguna y R. Martí. 18


Ejemplo de Status <strong>Tabu</strong>2Total weight: 402Total weight: 49TABU1 4691 469782Total weight: 57781 4692Total weight: 47782Total weight: 651 4691 4697878M. Laguna y R. Martí. 19


Permanencia <strong>Tabu</strong>• Duración (tenure) de un atributo con status tabú• Implementación sencilla: asignar al atributomodificado el número de la iteración.• Tipo• Simétrica• Asimétrica• Longitud• Estática• Dinámica: Aleatoria / Sistemática• El Criterio de Aspiración permite ignorar el statustabu en determinadas circunstancias.M. Laguna y R. Martí. 20


Estrategias de búsquedaIntensificarExplorar en más profundidad elentorno de soluciones éliteDiversificarExplorar regiones noexaminadas anteriormenteAparecen en diseños avanzados al implementar la memoria a largo plazoM. Laguna y R. Martí. 21


IntensificaciónVolver a regiones atractivas a explorarlas a fondoModificar la reglas de selección para inducir características identificadascomo buenas.Apply TS short term memory.Apply an elite selection strategy.do {Choose one of the elite solutions.Resume short term memory TS from chosen solution.Add new solutions to elite list when applicable.} while (iterations < limit and list not empty)M. Laguna y R. Martí. 22


Diversificación• Modificar las reglas de selecciónMoveValue’ = MoveValue + d * FreqMeasure• Re-inicio• Aleatorio• Construcción con frecuenciasPenalizar atributos frecuentesAttractiveness’ = Attractiveness + d * FreqMeasureM. Laguna y R. Martí. 23


Estrategias Avanzadas• Movimientos de Influencia• Listas de candidatos• Memoria basada en frecuencias• Oscilación estratégica• <strong>Tabu</strong> <strong>Search</strong> probabilístico• Funciones HashM. Laguna y R. Martí. 24


Influencia23 512Grado de cambioen la estructura(asociado a la ideade distancia)11254 68 69117810Low InfluenceHigh Influence(Incluye un nodo nuevo)23 5 1223 512112548156 9 11 1254 68 61691178107810M. Laguna y R. Martí. 25


InfluenciaEjemplo de secuenciación1 4 2 3 6 5 Total Tardiness = 19Characteristics Swap (1, 4) Swap (4, 5)Move value 0 36Move distance 1 4Due date difference 1 12Influence Low HighM. Laguna y R. Martí. 26


Listas de Candidatos• En ocasiones el entorno N(x) es muy grande• Acelerar la evaluación del entorno• Estrategias de listas de candidatos• Aspiration Plus• Elite candidate list• Bounded change candidate listsM. Laguna y R. Martí. 27


Aspiration Plus• Se examinan movimientos hasta que uno satisface un umbral, despuésse examinan un número Plus más de movimientos.• Se selecciona el mejor examinado.• Plus=0 equivale a “First improving”• En una fase de mejora el umbral estará alto, en una de diversificarestará bajo.PlusSolution qualityAspiration1 2 3 Min MaxNumber of movesM. Laguna y R. Martí. 28


Elite Candidate List• Se construye una lista (Master) con los k mejores movimientos.Se realiza uno de ellos pero en las siguientes iteraciones no serecalcula la lista.• Se supone que un “buen Movimiento” lo seguirá siendo.Master ListRebuildSolution qualityThreshold1 2 3IterationsM. Laguna y R. Martí. 29


Bounded Change Candidate List• Se restringe el dominio de elecciones demodo que ninguna componente de lasolución cambie más de un grado limitado.i j kdM. Laguna y R. Martí. 30


Memoria basada en Frecuencias• La memoria basada en frecuenciascomplementa a la basada en lo reciente• Frecuencia = nº ocurrencias / nº total• Tipos• Permanencia: Nº de veces que un atributopermanece en una solución o conjunto.• Transición: Nº de veces que un atributocambiaM. Laguna y R. Martí. 31


EjemplosProblem Residence Measure Transition MeasureSequencingMWKTNumber of times job j has occupiedposition π(j).Sum of tardiness of job j when thisjob occupies position π(j).Number of times edge (i, j) has beenpart of the current solution.Sum of total solution weight whenedge (i, j) is part of the solution.Number of times job i hasexchanged positions with job j.Number of times job j has beenmoved to an earlier position in thesequence.Number of times edge (i, j) hasbeen deleted from the currentsolution when edge (k, l) has beenadded.Number of times edge (i, j) hasbeen added during improvingmoves.M. Laguna y R. Martí. 32


Oscilación Estratégica• Se identifica una barrera donde el método habitualmente sedetiene: factible / infactible• Modificar el entorno temporalmente• Procedimientos constructivos / destructivosLevel or Functional ValueOscillation BoundaryDepth01 2 3IterationsM. Laguna y R. Martí. 33


<strong>Tabu</strong> <strong>Search</strong> Probabilístico• Lista de mejores candidatos• Basada en el cardinal• Basada en umbrales• Selección probabilística• Distribución uniforme• Distribución empíricaM. Laguna y R. Martí. 34


EjemploSwap Abs. Value Cum. Value Probability Cum. Prob.(5, 6) 7 7 0.241 0.241(2, 4) 6 13 0.207 0.448(3, 4) 6 19 0.207 0.665(3, 6) 6 25 0.207 0.862(1, 4) 4 29 0.138 1.000M. Laguna y R. Martí. 35


Funciones Hash• Reemplazar la solución xpor un valor h(x)• h(x) ha de ser biunívoco yfácil de calcular:x 1VectoressoluciónLista Hashh0=n∑i = 1z x i2ix 2h(x 1 )h(x 2 )h(x 3 )x 3M. Laguna y R. Martí. 36


Referencias• Glover, F. and M. Laguna (1997) <strong>Tabu</strong><strong>Search</strong>, Kluwer Academic Publishers, Boston.• Glover, F., M. Laguna and R. Martí (2005)Practical <strong>Tabu</strong> <strong>Search</strong>, Kluwer AcademicPublishers, Boston. En realizaciónM. Laguna y R. Martí. 37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!