2010 2011
ALGORTMICA
TEMA 4. Algoritmos de Bsqueda
Tab
1. INTRODUCCIN
2. LA ESTRUCTURA DE LA BSQUEDA TAB
3. ALGUNOS DATOS DE LA WEB SOBRE SU USO
4. EJEMPLO: VIAJANTE DE COMERCIO
5. APLICACIONES
A. Daz y otros. Optim izacin Heurstica y Redes N euronales. P araninfo, 1996
F. Glover, B. M elin. Bsqueda Tab. I nteligencia Artificial VI I :2 (2003) 29-47.
F. Glover, M. Laguna. Tabu Search. Kluwer Academic, 1997.
2
1. INTRODUCCIN
Problemas de la Bsqueda Local (Tema 2)
Un mal diseo de la funcin objetivo puede guiar mal la bsqueda y dar
lugar a que se obtengan soluciones de baja calidad
SOLUCIONES: 3 opciones para salir de los ptimos locales
1. INTRODUCCIN
La Bsqueda Tab es un procedimiento de bsqueda por entornos
cuya caracterstica distintiva es el uso de memoria adaptativa y
estrategias especiales de resolucin de problemas
La memoria adaptativa permite:
Glover, F. "Tabu Search Part I", ORSA Journal on Computing 1989 1: 3, 190-206.
Glover, F. "Tabu Search Part II", ORSA Journal on Computing 1990 2: 1, 4-32.
4
1. INTRODUCCIN
MEMORIA ADAPTATIVA:
ENTORNOS TABU RESTRINGIDOS
MEMORIA ADAPTATIVA.
ESTRATEGIA ESPECIAL DE INTENSIFICACIN
SOBRE SOLUCIONES YA VISITADAS Las mejores, distantes,
11
EJEMPLO:
Lista tab de soluciones:
LT = { (1,3,2,4), (3,1,2,4), (3,2,1,4) }
Operador de vecino: 2-opt
Sact = (1,2,3,4)
Vecindario reducido de Sact:
E*(Sact) = {(2,1,3,4), (3,2,1,4), (4,2,3,1), (1,3,2,4), (1,4,3,2), (1,2,4,3) }
(1,3,2,4)
(1,2,4,3)
(3,2,1,4)
(1,2,3,4)
(2,1,3,4)
(1,4,3,2)
(4,2,3,1)
12
EJEMPLO:
Lista tab de movimientos:
LT = { (1,3), (2,4) }
Operador de vecino: 2-opt
Sact = (1,2,3,4)
Vecindario reducido de Sact:
E*(Sact) = {(2,1,3,4), (3,2,1,4), (4,2,3,1), (1,3,2,4), (1,4,3,2), (1,2,4,3) }
(1,4,3,2)
(1,2,4,3)
(3,2,1,4)
(1,2,3,4)
(2,1,3,4)
(1,3,2,4)
(4,2,3,1)
13
TENENCIA TAB
NIVELES DE ASPIRACIN
16
Prueba Tab
S no es tab
Evaluar S
Cvecino C(S)
Prueba de Fin
Se han generado
suficientes vecinos?
Prueba de Aspiracin
Satisface S un nivel
de aspiracin?
NO
NO
S es tab
Sact Smejor-vecino
Cact Cmejor-vecino
S
Introducir el nuevo elemento tab
de Smejor-vecino en la lista tab
Eliminar de ella aquellos elementos
cuya tenencia tab haya expirado
17
18
20
Movimiento - Permutacin
21
Iteracin 0
22
Iteracin 2
24
Iteracin 3
25
Iteracin 4
26
Estrategias de Intensificacin
Estrategias de Diversificacin
29
OSCILACIN ESTRATGICA
31
3.
http://www.google.es
Bsqueda: tabu search
35
3.
http://scholar.google.es
Resultados:
46.000 de "tabu
search".
Tabu Search--Part I
F Glover - INFORMS Journal on Computing, 1989 - joc.journal.informs.org
... Tabu SearchPart I. Fred Glover ... This paper presents the fundamental principles
underlying tabu search as a strategy for combinatorial optimization problems. ...
Citado por 3229 - Bsqueda en la web
36
37
(1 2 4 3 8 5 7 6)
(1 2 5 3 8 4 7 6)
L = L {movimento ms antiguo} + {(4,5,6,3)}
Para decidir si un movimiento es tab activo, hay que tener en
cuenta que (i,j,Pos(i),Pos(j)) = (j,i,Pos(j),Pos(i))
38
39
Memoria a largo plazo: Se usa una matriz simtrica frec que almacena el
nmero de veces que cada par de ciudades han estado consecutivas en
alguna de las soluciones aceptadas durante la bsqueda
Para reinicializar provocando diversidad, se aplica el algoritmo greedy sobre
una matriz de distancias modificada de forma que valores altos de frecuencia
entre un par de ciudades supongan un valor alto de distancia entre ellas:
frec(i, j )
frecmax
siendo dmax y dmin la mayor y menor distancia existente entre dos ciudades, y
frecmax la frecuencia ms alta existente en la matriz de memoria a largo
plazo. El parmetro dicta el grado de alteracin de la distancia (p.e., =0,3)
41
5. APLICACIONES: SI
Esquema de representacin:
S=
Instancia no seleccionada
Instancia 6
Instancia seleccionada
tasa_clas + (1 - ) porc_red
43
5. APLICACIONES: SI (II)
5. Lista tab: Cada vez que se acepta una solucin, se
almacena en la lista tab el movimiento que provoc dicha
solucin. Tenencia tab inicial: 50
Para ello, se almacena la instancia cuyo estado va a ser
cambiado
Ejemplo:
(0 1 1 0 0 1 1 0)
(0 1 0 0 0 1 1 0)
L = L {instancia ms antigua} + {3}
44
5. APLICACIONES: SI (III)
6. Estrategia de seleccin de vecino: Examinar 30 vecinos y
escoger el mejor de acuerdo a los criterios tab
7. Criterio de aspiracin: Tener mayor coste que la mejor
solucin obtenida hasta el momento
8. Estrategias de reinicializacin:
5. APLICACIONES: SI (IV)
frec j
S , si u < 1
num_soluciones
Instancia j
frec j
S , si u 1
num_soluciones
donde u es un valor aleatorio uniforme en [0,1]
46
5. APLICACIONES: SI (V)
ALGORTMICA
2010 - 2011