Está en la página 1de 55

Universidad de Castilla-La Mancha

Inteligencia Artificial e Ingeniera del Conocimiento


Tema3: Mtodos de bsqueda de
soluciones (Bsqueda meta-heurstica)
Profesores:
Luis Jimnez Linares.
Luis Enrique Snchez Crespo.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

2 de 110
Datos de la Asignatura
Temaro
1er Cuatrimestre
Introduccin a la IA. (Cap. 1)
Introduccin a los Agentes Inteligentes (Cap. 2)
Mtodos de bsqueda de soluciones (Cap. 3-4)
Simple sin informacin.
Con informacin (Heurstica).
Meta-heursticos:
Temple Simulado - Utilizando el azar.
Bsqueda tab - Metamodelos.
Bsqueda por referencias.

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

3 de 110
Datos de la Asignatura
Temaro
2 Cuatrimestre
Sistemas basados en el conocimiento (Cap. 8-12)
Mediante lgica de predicados.
Mediante Sistemas de produccin.
Tratamiento de la incertidumbre (Cap. 13-15)
Redes Bayesianas.
Razonamiento aproximado (lgica difusa).

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

4 de 110
Bsqueda informada
Algoritmos de bsqueda local y
problemas de optimizacin
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

5 de 110
Bsqueda informada (heurstica)

Problemas de optimizacin puros:
Objetivo: encontrar el mejor estado segn una funcin objetivo.

Paisaje del espacio de estados:
Posicin: definida por el estado.
Elevacin: definida por el valor de la funcin de coste heurstica o funcin
objetivo.
Mnimo global: cuando la elevacin corresponde al coste, el objetivo es
encontrar el valle ms bajo.
Mximo global: Si la elevacin corresponde a una funcin objetivo => el
objetivo es encontrar el pico ms alto.

Algoritmo de bsqueda local completo => Siempre encuentra el
objetivo si existe.

Algoritmo ptimo => Siempre encuentra un mnimo/mximo global.

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

6 de 110
Bsqueda informada (heurstica)

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

7 de 110
Bsqueda informada
Algoritmos de bsqueda local y
problemas de optimizacin

Bsqueda de ascensin de colinas.
Bsqueda de temple simulado.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

8 de 110
Bsqueda informada (heurstica)

Algoritmo de bsqueda de ascensin de colinas:
Bucle que continuamente se mueve en direccin del valor creciente (hacia
arriba).
Termina cuando alcanza "un pico" donde ningn vecino tiene un valor ms
alto.

Caractersticas:
Es un algoritmo voraz, que no mantiene un rbol de bsqueda, sino slo la
representacin del estado actual y el valor de su funcin objetivo.
Mantiene una estructura de datos del nodo actual que necesita slo el
registro del estado y su valor de funcin objetivo.
No se mira ms all de los vecinos inmediatos del estado actual.
Escoge el vecino que tiene un mejor valor de la funcin objetivo.
Finaliza cuando alcanza un extremo (mximo o mnimo, depende del
planteamiento)

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

9 de 110
Bsqueda informada (heurstica)

Obviamente no garantizan encontrar la solucin ptima, la
bsqueda se puede quedar atascada:
en un mximo local: Es un pico que es ms alto que cada uno de
sus estados vecinos, pero ms abajo que el mximo global.
mnimo local
en una meseta: rea del paisaje del espacio de estados donde la
funcin de evaluacin es plana.
en una terraza
en una cresta.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

10 de 110
Bsqueda informada (heurstica)
Mtodo de Escalada

Mtodo de Mejora I terativa Determinista

1.- Partimos de la solucin actual
2.- Buscamos un vecino con mejor calidad
3.- Si existe un vecino que mejore la solucin actual
entonces
se sustituye la solucin actual por la vecina
volvemos al paso 2
sino parar

Devuelve un ptimo local con respecto al vecindario utilizado (poco
probable que sea ptimo global)
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

11 de 110
Bsqueda informada (heurstica)

8-reinas con bsqueda por escalada:
Cada estado tiene las 8 reinas en el tablero
La funcin sucesor devuelve todos los estados posibles moviendo una reina a otra
posicin de la misma columna (| N(H)| =8*7= 56)
La funcin objetivo es el numero de pares de reinas que se atacan, directa o
indirectamente.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

12 de 110
Bsqueda informada (heurstica)

Ventajas e I nconvenientes

Ventajas:
Mejora del valor objetivo en un entorno

Inconvenientes:
Explora una pequea porcin del espacio de bsqueda

Para evitar quedarse atrapado en un ptimo local hay variantes del
algoritmo de escalada bsico:
Escalada estocstica
Escalada de primera opcin
Escalada con reinicio aleatorio
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

13 de 110
Bsqueda informada (heurstica)

Variantes del mtodo de escalada

Escalada estocstica
Escoge aleatoriamente entre los sucesores con mejor valoracin que el
estado actual.

Escalada de primera opcin
generan aleatoriamente sucesores, escogiendo el primero con mejor
valoracin que el estado actual

Escalada con reinicio aleatorio
Se repite varias veces la bsqueda, partiendo cada vez de un estado inicial
distinto, generado aleatoriamente
si no te sale a la primera, intntalo otra vez
Si la probabilidad de xito de una bsqueda individual es p, entonces el
nmero esperado de reinicios es 1/p
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

14 de 110
Bsqueda informada (heurstica)
Mtodo de Escalada

Mtodo del Mximo Gradiente
(Steepest Descent Strategy)

1.- Partimos de la solucin actual
2.- Buscamos de todos los vecinos el de mejor calidad
3.- Si existe un vecino mejor
entonces
se sustituye la solucin actual por la vecina
volvemos al paso 2
sino parar

Devuelve un ptimo local con respecto al vecindario utilizado (ms costoso
que el mtodo de escalada).
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

15 de 110
Bsqueda informada (heurstica)
Bsqueda Ascenso de Colinas

Bsqueda Tab (TS)

Fred Glover 1989:
Metaheurstico que usa bsqueda agresiva del ptimo del problema

Memoria +Aprendizaje = Bsqueda inteligente.

Es mejor una mala decisin basada en informacin que una buena
decisin al azar, ya que, en un sistema que emplea memoria, una
mala eleccin basada en una estrategia proporcionar claves
tiles para continuar la bsqueda. Una buena eleccin fruto del
azar no proporcionar ninguna informacin para posteriores
acciones."
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

16 de 110
Bsqueda informada (heurstica)
Bsqueda Temple Simulado

Simulated Annealing
Origen: Procesos heursticos que intentan simular el comportamiento
de un grupo de tomos expuestos a enfriamiento (Recocido de slidos)
Enfriamiento rpido: estado de alta energa (inestable)
Enfriamiento lento (recocido/temple): estado ordenado (de baja
energa)

Temple: proceso para endurecer metales, calentndolos a un
temperatura alta y luego dejndolos enfriar gradualmente
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

17 de 110
Bsqueda informada (heurstica)
Bsqueda Temple Simulado


La idea es movernos de los extremos locales mediante sacudidas
(simulan la temperatura) que irn decreciendo en intensidad. Se
selecciona aleatoriamente un sucesor del estado actual y se pasa a l de
forma condicional
Si su valoracin es mejor, se pasa a ese nuevo estado
Si la valoracin del sucesor no es mejor, pasamos con probabilidad
eE/T
E es el gradiente de la valoracin
T es una metfora de la temperatura en un proceso de templado
metalrgico

Si T disminuye bastante despacio, el algoritmo encontrar un ptimo
global con probabilidad cerca de uno.

Utilizada en problemas de distribucin VLSI y de optimizacin a gran
escala.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

18 de 110
Bsqueda informada (heurstica)
Bsqueda Temple Simulado

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

19 de 110
Bsqueda informada (heurstica)
Bsqueda Temple Simulado

Algoritmo de Metrpolis

Estrategia bsica: Iteracin del Algoritmo de Metrpolis
Algoritmo de Metrpolis:
Dado un estado i con energa Ei
Se genera un nuevo estado j mediante una perturbacin
(pequea distorsin en i)
Se calcula la energa de j, Ej
Si Ej - Ei 0 entonces se acepta el estado j
si no se acepta el estado j con probabilidad
exp[(Ei-Ej)/KBT]
(KB es la constante de Boltzman y T la temperatura)
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

20 de 110
Bsqueda informada (heurstica)
Bsqueda Temple Simulado

Probabilidad de aceptacin: ( cR+ es el parmetro de control, c= KBT)





Inicialmente valores grandes de c aceptan cualquier estado. Al
tender c a 0, se dejan de aceptar estados

Bsqueda de equilibrio trmico en cada temperatura
Varias transiciones en cada temperatura
Caracterizado por la distribucin de Boltzman
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

21 de 110
Bsqueda informada (heurstica)
Bsqueda Temple Simulado (Mtodo)

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

22 de 110
Bsqueda Meta-Heurstica
Bsqueda Meta-Heurstica
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

23 de 110
Bsqueda Meta-Heurstica
Bsqueda Tab


=> Bsqueda tab - Metamodelos.
Temple Simulado - Utilizando el azar.
Bsqueda por referencias.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

24 de 110
Bsqueda Meta-Heurstica
Introduccin:
Los orgenes de esta tcnica son de los 70, su forma actual fue presentada
por Glover en 1986, y los primeros modelos tericos son de 1992.
No se conoce ninguna prueba clara de la convergencia pero la tcnica ha
mostrado una eficacia notable en muchos problemas.
Existen refinamientos de esta tcnica para aplicaciones especficas.

Ideas bsicas:
Para mejorar la eficiencia del proceso de exploracin, es necesario
registrar no slo informacin local (como el valor actual de la funcin)
sino que adems informacin relacionada al proceso de exploracin.
Lleva un registro del itinerario recientemente realizado, de forma de
restringir los posibles vecinos sobre los que voy a avanzar.
La estructura de vecindad es dinmica
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

25 de 110
Bsqueda Meta-Heurstica
Meta-heurstica:
Dado que TS incluye en sus propias reglas algunas tcnicas heursticas,
decimos que es una meta-heurstica.
Su papel es dirigir y orientar la bsqueda de otro procedimiento (ms
local) de bsqueda.

Clasificacin:
Es determinstica (vs. aleatoria)
Es basada en un individuo (vs. poblaciones)
Es de trayectoria (vs. constructiva)
Es un mtodo iterativo.
Hay que definir la vecindad utilizada.
Utiliza memoria.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

26 de 110
Bsqueda Meta-Heurstica
La Bsqueda Tab combina la bsqueda local con una heurstica
para evitar parar en mnimos locales y evitar entrar en ciclos.
Puede verse como una meta-heurstica que se superpone a una tcnica de bsqueda
y que se encarga de evitar que dicha tcnica caiga en ptimos locales prohibiendo o
penalizando ciertos movimientos.

Bsqueda Tab = Bsqueda Local + Mecanismo Memoria a Corto
plazo (MCP).
MCP: Es una forma de exploracin agresiva que intenta realizar el mejor
movimiento posible sujeto a las restricciones del problema.

Elementos claves:
Restricciones Tab: restringir la bsqueda al clasificar ciertos movimientos como
prohibidos (tab), para evitar caer en soluciones recientemente generadas.
Criterio de aspiracin: Liberar la bsqueda por medio de una funcin de memoria
a corto plazo (estrategia de olvido).
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

27 de 110
Bsqueda Meta-Heurstica
Algoritmos Tab
Reformulacin de la bsqueda local:
Algoritmo
1. Elegir una solucin inicial i en S
2. Generar un subconjunto V* de N(i)
3. Elegir el mejor j en V* (es decir tales que f(j)<=f(k) para cualquier k en V *)
4. Si f(j) >= f(i) entonces terminar. Si no, establecer i=j e ir al paso 2
Para V* = N(i) tenemos el caso de la bsqueda local.
El problema de este algoritmo es que nos quedamos atrapados en mnimos
locales.
Tenemos que agregar la posibilidad de avanzar segn pasos que no
mejoren la solucin
Con esto, el riesgo de repetir soluciones aumenta, la solucin es utilizar
memoria para descartar los ya visitados.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

28 de 110
Bsqueda Meta-Heurstica
Algoritmos Tab
Otra aproximacin:
Algoritmo
1. Elegir una solucin inicial i en S. Establecer i*=i.
2. Agregar i a la lista tab.
3. Elegir el mejor j en V* = N(i) \ ListaTabu.
4. Si f(i) < f(i*) asignar i*=i.
5. Si se cumple alguna condicin de fin, terminar. Si no asignar i=j e ir al paso
2.
El caso de bsqueda local es el caso particular en que la condicin de
parada es f(i)>=f(i*)
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

29 de 110
Bsqueda Meta-Heurstica
Memoria a Corto Plazo
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

30 de 110
Bsqueda Meta-Heurstica
Determinar el mejor movimiento
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

31 de 110
Bsqueda Meta-Heurstica
Niveles de Aspiracin
Los criterios de aspiracin permiten movimientos aunque sean tab =>
Aquellos movimientos que producen una mejor solucin que la mejor
solucin actual.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

32 de 110
Bsqueda Meta-Heurstica
Condiciones de parada:
Cantidad de iteraciones.
Tiempo mximo de CPU.
Alcanzar una solucin i que sea mejor que un cierto valor fijado al inicio.
No obtener una nueva mejor solucin i* luego de una cierta cantidad de
iteraciones.
Todos los vecinos del paso actual estn incluidos en la lista tab.

Largo de la lista Tab:
Una lista tab de largo N, nos garantiza que no se van a crear ciclos de
largo inferior a N.
La cantidad de casos a agregar a la lista puede ser muy grande.
Al modelar el problema se decide el largo de la lista Tab.

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

33 de 110
Bsqueda Meta-Heurstica
Informacin a guardar en la lista Tab:
Por razones de eficiencia, slo guardo una parte de la informacin que
describe a las soluciones recorridas.
El problema de guardar slo una parte de la solucin, es que puede haber
otras soluciones an no visitadas que en esa parte de la informacin sea
igual.
Lo que se hace es definir un criterio de aspiracin para aceptar soluciones
por ms que estn en la lista tab.
El criterio de aspiracin ms comn es habilitar las mejores soluciones,
an cuando ellas hayan sido visitadas recientemente.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

34 de 110
Bsqueda Meta-Heurstica
Varias Listas Tab:
Por motivos de eficiencia se pueden utilizar varias listas Tr al mismo
tiempo.
Cada lista Tr guarda un componente de la solucin.
Los componentes que agrego a las listas son componentes que reciben el
status tab, es decir componentes no permitidos para futuras soluciones.

Algoritmo Tabu Search:
s <- GenerarSolucionInicial
InicializarListasTabu(TL
1
TL
n
)
While no condicion_fin do
- V* <- {z de N(s) tal que z no pertenece a la lista o bien z cumple las condiciones
de aspiracin)
- s <- mejorSolucin(s, V*)
- Actualizo listas tab y condiciones de aspiracin
End While
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

35 de 110
Bsqueda Meta-Heurstica
Eficiencia del mtodo:
La eficiencia depende principalmente de cmo est modelado el problema.
Importante: definir correctamente la estructura de vecindad y funcin
objetivo.
Secundario: ajustar parmetros.
Un modelo es bueno cuando al aplicar la tcnica, sta no es muy sensible a
la eleccin de parmetros.

Modelado efectivo:
Elegir un punto inicial i tal que existe un camino desde i al ptimo i*.
Si no hay, entonces no tengo forma de llegar
Puede ser difcil lograr que se cumpla esta condicin: lo que se hace es trabajar
sobre un espacio de soluciones factibles extendido
Elegir una topologa que no tenga muchos valles o llanuras.
Se puede modificar la funcin objetivo en tiempo de ejecucin, de forma
de remplazar los valles ya visitados por altas montaas.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

36 de 110
Bsqueda Meta-Heurstica
Implementacin efectiva:
En cada paso puede ser necesario evaluar muchas condiciones y es
importante realizar este cmputo en una manera eficiente.
Frecuentemente, es posible y ms rpido calcular cunto vara la funcin
objetivo al desplazarme al vecino, que evaluar a nuevo la funcin objetivo
A veces se recurre a otras heursticas para calcular la variacin al desplazarme
al vecino
Usar la memoria de forma efectiva:
Elegir un tamao adecuado para las listas tab
Si son muy chicas, se producen ciclos
Si son muy grandes, se vuelven muy restrictivas
Una manera eficaz para evitar esta dificultad es utilizar una lista del tab
con tamao variable.
Cada elemento de la lista pertenece a ella para un nmero de iteraciones
(limitado por valores mximos y mnimos dados)
El uso de la memoria puede ayudar a intensificar la bsqueda en "buenas
regiones o a diversificar la bsqueda hacia regiones inexploradas.
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

37 de 110
Bsqueda Meta-Heurstica
Aplicaciones de Ejemplo:
Problemas de las N-Reinas.
The Graph Coloring Problem
Tengo que colorear pases en un mapa utilizando una cantidad mnima de
colores distintos
The Maximum Independent Set Problem
Tengo que buscar en un grafo, un subconjunto vrtices de tamao mximo,
tales esos vrtices no comparten aristas
The Course Scheduling Problems
Planificar horarios de clases
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

38 de 110
Bsqueda Meta-Heurstica
Las N-Reinas
Ejemplo de instancia del problema de las 4-reinas:





Estructura usada para almacenar los atributos correspondientes a los
intercambios de 2 reinas:
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

39 de 110
Bsqueda Meta-Heurstica
Las N-Reinas
Iteracin 0 de la bsqueda tab en el problema de las 7 reinas:






Iteracin 1 de la bsqueda tab en el problema de las 7 reinas:
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

40 de 110
Bsqueda Meta-Heurstica
Las N-Reinas
Iteracin 2 de la bsqueda tab en el problema de las 7 reinas:






Iteracin 3 de la bsqueda tab en el problema de las 7 reinas:
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

41 de 110
Bsqueda Meta-Heurstica
Las N-Reinas
Iteracin 4 de la bsqueda tab en el problema de las 7 reinas:






Iteracin 5 de la bsqueda tab en el problema de las 7 reinas:
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

42 de 110
Bsqueda Meta-Heurstica
Las N-Reinas
Con el valor (1,3) se aplica el criterio de aspiracin => Se determina
que este intercambio producir una solucin mejor que la actual y por
tanto se ignora la prohibicin.

Iteracin 6 de la bsqueda tab en el problema de las 7 reinas:






Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

43 de 110
Bsqueda Meta-Heurstica
Las N-Reinas
Las aplicacin de la bsqueda tab al problema de las N-reinas
satisface los siguientes criterios:
Simple: Se basa en estructuras de memoria.
Precisa: Los pasos son concretos.
Algunas soluciones son tabs por un tiempo especificado.
En algunos casos predeterminados se viola la restriccin tab.
Coherente: Sus principios fundamentales son coherentes con las
estructuras computaciones que se requieren para su implementacin.
Eficaz: Se han encontrado soluciones optimas.
Eficiente: El tiempo de ejecucin es razonable.
General: El algoritmo de bsqueda tab es general, pero su
implementacin en un programa es ad-hoc para el problema.
Adaptable: Se adapta a gran cantidad de problemas.
Robusta: Partiendo de una lista tab, se pueden aadir mdulos para
utilizar memoria de largo plazo y otros criterios de aspiracin.
I nteractiva:
Mltiple: Puede producir varias soluciones optimas para analizarlas.
Autnoma:

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

44 de 110
Bsqueda Meta-Heurstica
The Graph Coloring Problem:
Grafo: Un pas es un vrtice, una frontera es una arista
Consiste en particionar el grafo en k conjuntos, un conjunto para cada
color
Para relajar el problema, se asume que el valor k es dado al algoritmo
Solucin inicial: pintar de colores arbitrarios
Vecindad: en cada paso busco una arista que una dos vrtices de mismo
color, y cambio el color de uno de los vrtices
Funcin objetivo: se cuenta la cantidad de pases que comparten colores,
se intenta minimizar ese valor
Aqu es ms fcil evaluar cmo cambia la funcin objetivo al desplazarme al
vecino, que evaluar nuevamente
La lista tab registra los pares (vrtice, color) indicando que no puedo
volver a pintar el mismo vrtice del mismo color durante N pasos (N es el
largo de la lista tab)
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

45 de 110
Bsqueda Meta-Heurstica
The Maximum Independent Set Problem:
Para relajar el problema, se busca un conjunto que sea de un tamao k
dado
Solucin inicial: elijo k vrtices arbitrarios
Vecindad: intercambio un vrtice de la solucin actual con un vrtice de
afuera de ese conjunto
Funcin objetivo: cuento la cantidad de aristas que unen los vrtices de la
solucin actual, esa cantidad tiene que llegar a cero
Tres listas tab
Lista con las soluciones visitadas recientemente
Lista con vrtices introducidos recientemente
Lista con vrtices quitados recientemente
k=3
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

46 de 110
Bsqueda Meta-Heurstica
The Course Scheduling Problems:
Es un problema similar al de los pases de colores
Cada clase a dictar es un vrtice
Cada perodo es un color
Una arista entre dos vrtices, implica que las dos clases no se pueden dictar al
mismo tiempo
En la vida real las escuelas tienen restricciones adicionales con las que es
difcil trabajar (disponibilidad salones grandes, uso de proyectores u otros
recursos, clases con duracin distinta, lograr que los horarios sean
compactos, restricciones geogrficas y de precedencia)
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

47 de 110
Bsqueda Meta-Heurstica
Conclusiones:
Los ejemplos anteriores muestran el rango de aplicaciones para los cuales
se utiliza bsqueda Tab.
Si bien parece necesario tener que ajustar varios parmetros, existen
estudios tericos que indican un alto grado de libertad para elegir estos
parmetros.
Por el momento, esta tcnica aparenta ser un enfoque complejo para
grandes problemas de optimizacin, en vez de ser un mtodo elegante y
simple.
Un problema que se presenta al utilizar esta tcnica es que a la
complejidad del problema a resolver se le agrega complejidad inherente a
la propia tcnica.

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

48 de 110
Bsqueda Meta-Heurstica
Bsqueda Tab aplicada a VPR:
TABUROUTE es una nueva heurstica para el problema de ruteo de
vehculos con restricciones de capacidad y largo de ruta.
Las soluciones vecinas se obtienen quitando un vrtice de su ruta actual e
insertndolo en otra ruta
El problema est relajado de forma de aceptar soluciones vecinas que no
cumplen las restricciones
TABUROUTE es la heurstica de mejor desempeo para un cierto
conjunto de problemas benchmark, y produce frecuentemente la mejor
solucin conocida.

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

49 de 110
Bsqueda Meta-Heurstica
Vehicle Routing Problem:
Tenemos un grafo G = (V, A), donde el vrtice v
0
es el depsito desde el
cual construyo las rutas, y los dems vrtices son ciudades
En el depsito hay m vehculos idnticos
Cada arco tiene asociada una distancia no negativa
Para simplificar: costo = tiempo = distancia
El objetivo es construir un conjunto de costo mnimo de rutas tales que
(a) Todas las rutas comienzan y terminan en el depsito
(b) Cada ciudad es visitada exactamente una vez por exactamente un vehculo
(c) Se cumplen ciertas restricciones auxiliares
(d) Cada ciudad tiene asociada una demanda q
i
. La demanda total asociada a un
vehculo no puede exceder la capacidad Q del vehculo.
(e) Cada ciudad requiere ser atendida en un tiempo mximo Di, y el tiempo
total de cada ruta (incluyendo los servicios) no puede superar un cierto valor L

Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

50 de 110
Bsqueda Meta-Heurstica
Vehicle Routing Problem - Ejemplo:

Depsito
3
2
4 5
3
3
3
3 4
2
3
3
4
5
3
Constantes:
m = 5 (cantidad de vehculos)
Q = 11.5 (capacidad de un
vehculo)
L = 25 (duracin mxima de
una ruta)
(8.3, 10)
(1.6, 14)
(0.0, -)
(1.6, 9)
(6.1, 4)
(2.7, 3)
(2.6, 11)
(3.7, 9)
(0.4, 3)
(1.4, 3)
(0.0, -)
(demanda, tiempo)
2
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

51 de 110
Bsqueda Meta-Heurstica
TABUROUTE Estructura de Sols:
Una solucin es un conjunto de rutas (R
1
, ..., R
m
) donde m [1, m], y R
r
=
(v
0
, v
r1
, v
r2
, ... v
0
)
Las rutas R
1
...R
m
pueden ser factibles o no segn las restricciones (esto es
para relajar la estructura de vecindad)
Una solucin vecina es una solucin obtenida luego de quitar un vrtice de
su ruta actual y colocarlo en otra ruta. Esto se realiza utilizando las
heursticas GENI y US.
Funcin objetivo:
Para las soluciones factibles S, asociamos la funcin objetivo (suma de los
costos)


Adems, para cualquier solucin S asociamos un objetivo F2(S)
La funcin F2 es igual a F1, pero penaliza las soluciones que no sean factibles
El algoritmo se desplaza utilizando F2 como criterio

r R v v
ij
r j i
c S F
) , (
1
) (
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

52 de 110
Bsqueda Meta-Heurstica
TABOROUTE - Resultados:
Problema n CW MJ AG DV GM CMT1 FJ CMT2 OSA PF OTS T TR TR
Standard Best
1 50 585 575 556 586 532 547 524 534 528 536 524,61 524,61 524,61 524,61
2 75 900 910 885 885 874 883 857 871 838,62 842 844 835,32 835,77 835,32
3 100 886 882 860 889 851 851 833 851 829,18 851 835 828,98 829,45 826,14
4 150 1204 1259 1085 1133 1079 1093 1014 1064 1058 1081 1044,35 1029,64 1036,16 1031,07
5 199 1540 1545 1351 1424 1389 1418 1420 1386 1378 - 1334,55 1300,89 1322,65 1311,35
6 50 619 599 577 593 560 565 560 560 555,43 560 555,43 555,43 555,43 555,43
7 75 976 969 939 963 933 969 916 924 909,68 929 911 909,68 913,23 909,68
8 100 973 999 913 914 888 915 885 885 866,75 887 866,75 865,94 865,94 865,94
9 150 1426 1289 1210 1292 1230 1245 1230 1217 1164,1 1227 1184 1164,24 1177,76 1162,89
10 199 1800 1770 1464 1559 1518 1508 1518 1509 1417,9 - 1417,85 1403,21 1418,51 1404,75
11 120 1079 1100 1047 1058 1266 1066 - 1092 1042,1 1049 1042,11 1073,05 1073,47 1042,11
12 100 831 879 834 828 937 827 825 816 819,59 826 819,59 819,56 819,56 819,56
13 120 1634 1590 1551 1562 1770 1612 - 1608 1550,2 1631 1547 1550,15 1573,81 1545,93
14 100 877 883 874 882 949 876 848 878 866,37 866 866,37 886,37 866,37 866,37
PF, OTS, y T son otras variantes de Tabu Search
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

53 de 110
Bsqueda Meta-Heurstica
Conclusiones:
TABUROUTE tiene mejor desempeo que las dems heursticas
existentes
TABUROUTE produce frecuentemente las best known solutions
Hay que implementar dos mecanismos:
El hecho de permitir soluciones no factibles, penalizndolas en la funcin
objetivo.
Aplicar l algoritmo GENI para ejecutar las inserciones
Es posible utilizar una solucin inicial no factible
Otras conclusiones
Puede utilizarse en contextos en que la cantidad de vehculos sea variable o
acotada, o con distintas caractersticas
Se pueden agregar fcilmente restricciones adicionales, como que ciertas
ciudades requieren ciertos vehculos
Existen variantes con varios depsitos, y rutas primarias y secundarias
Luis Enrique
Snchez Crespo
UCLM-ESI
I
n
t
e
l
i
g
e
n
c
i
a

A
r
t
i
f
i
c
i
a
l

e

I
n
g
e
n
i
e
r
i
a

d
e
l

C
o
n
o
c
i
m
i
e
n
t
o

54 de 110
Bsqueda informada
Resumen
Universidad de Castilla-La Mancha

Luis Jimnez Linares
Luis.jimenez@uclm.es
Luis Enrique Snchez Crespo
LuisEnrique@SanchezCrespo.org