Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos...

55
Universidad de Castilla-La Mancha Inteligencia Artificial e Ingeniería del Conocimiento Tema3: Métodos de búsqueda de soluciones (Búsqueda meta-heurística) Profesores: Luis Jiménez Linares. Luis Enrique Sánchez Crespo.

Transcript of Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos...

Page 1: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Universidad de Castilla-La Mancha Inteligencia Artificial e Ingeniería del Conocimiento

Tema3: Métodos de búsqueda de

soluciones (Búsqueda meta-heurística)

Profesores:

Luis Jiménez Linares.

Luis Enrique Sánchez Crespo.

Page 2: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

2 de 110

Datos de la Asignatura Temarío

1er Cuatrimestre

Introducción a la IA. (Cap. 1)

Introducción a los Agentes Inteligentes (Cap. 2)

Métodos de búsqueda de soluciones (Cap. 3-4)

– Simple sin información.

– Con información (Heurística).

– Meta-heurísticos:

• Temple Simulado - Utilizando el azar.

• Búsqueda tabú - Metamodelos.

• Búsqueda por referencias.

Page 3: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

3 de 110

Datos de la Asignatura Temarío

2º Cuatrimestre

Sistemas basados en el conocimiento (Cap. 8-12)

– Mediante lógica de predicados.

– Mediante Sistemas de producción.

Tratamiento de la incertidumbre (Cap. 13-15)

– Redes Bayesianas.

– Razonamiento aproximado (lógica difusa).

Page 4: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

4 de 110

Búsqueda informada

Algoritmos de búsqueda local y

problemas de optimización

Page 5: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

5 de 110

Búsqueda informada (heurística)

Problemas de optimización puros:

– Objetivo: encontrar el mejor estado según una función objetivo.

Paisaje del espacio de estados:

– Posición: definida por el estado.

– Elevación: definida por el valor de la función de coste heurística o función objetivo.

– Mínimo global: cuando la elevación corresponde al coste, el objetivo es encontrar el valle más bajo.

– Máximo global: Si la elevación corresponde a una función objetivo => el objetivo es encontrar el pico más alto.

Algoritmo de búsqueda local completo => Siempre encuentra el objetivo si existe.

Algoritmo óptimo => Siempre encuentra un mínimo/máximo global.

Page 7: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

7 de 110

Búsqueda informada

Algoritmos de búsqueda local y

problemas de optimización

Búsqueda de ascensión de colinas.

Búsqueda de temple simulado.

Page 8: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

8 de 110

Búsqueda informada (heurística)

Algoritmo de búsqueda de ascensión de colinas:

– Bucle que continuamente se mueve en dirección del valor creciente (hacia

arriba).

– Termina cuando alcanza "un pico" donde ningún vecino tiene un valor más

alto.

Características:

– Es un algoritmo voraz, que no mantiene un árbol de búsqueda, sino sólo la

representación del estado actual y el valor de su función objetivo.

– Mantiene una estructura de datos del nodo actual que necesita sólo el

registro del estado y su valor de función objetivo.

– No se mira más allá de los vecinos inmediatos del estado actual.

– Escoge el vecino que tiene un mejor valor de la función objetivo.

– Finaliza cuando alcanza un “extremo” (máximo o mínimo, depende del

planteamiento)

Page 9: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

9 de 110

Búsqueda informada (heurística)

Obviamente no garantizan encontrar la solución óptima, la

búsqueda se puede quedar atascada:

– en un máximo local: Es un pico que es más alto que cada uno de

sus estados vecinos, pero más abajo que el máximo global.

– mínimo local

– en una meseta: Área del paisaje del espacio de estados donde la

función de evaluación es plana.

– en una terraza

– en una cresta.

Page 10: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

10 de 110

Búsqueda informada (heurística) Método de Escalada

Método de Mejora Iterativa Determinista

1.- Partimos de la solución actual

2.- Buscamos un vecino con mejor calidad

3.- Si existe un vecino que mejore la solución actual

entonces

se sustituye la solución 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)

Page 11: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

11 de 110

Búsqueda informada (heurística)

8-reinas con búsqueda por escalada:

– Cada estado tiene las 8 reinas en el tablero

– La función sucesor devuelve todos los estados posibles moviendo una reina a otra

posición de la misma columna (| N(H)| =8*7= 56)

– La función objetivo es el numero de pares de reinas que se atacan, directa o

indirectamente.

Page 12: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

12 de 110

Búsqueda informada (heurística)

Ventajas e Inconvenientes

Ventajas:

– Mejora del valor objetivo en un entorno

Inconvenientes:

– Explora una pequeña porción del espacio de búsqueda

Para evitar quedarse “atrapado” en un óptimo local hay variantes del algoritmo de escalada básico:

– Escalada estocástica

– Escalada de primera opción

– Escalada con reinicio aleatorio

Page 13: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

13 de 110

Búsqueda informada (heurística)

Variantes del método de escalada

Escalada estocástica – Escoge aleatoriamente entre los sucesores con mejor valoración que el

estado actual.

Escalada de primera opción – generan aleatoriamente sucesores, escogiendo el primero con mejor

valoración que el estado actual

Escalada con reinicio aleatorio – Se repite varias veces la búsqueda, partiendo cada vez de un estado inicial

distinto, generado aleatoriamente

– “si no te sale a la primera, inténtalo otra vez”

– Si la probabilidad de éxito de una búsqueda individual es p, entonces el número esperado de reinicios es 1/p

Page 14: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

14 de 110

Búsqueda informada (heurística) Método de Escalada

Método del Máximo Gradiente

(Steepest Descent Strategy)

1.- Partimos de la solución actual

2.- Buscamos de todos los vecinos el de mejor calidad

3.- Si existe un vecino mejor

entonces

se sustituye la solución actual por la vecina

volvemos al paso 2

sino parar

Devuelve un óptimo local con respecto al vecindario utilizado (más costoso

que el método de escalada).

Page 15: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

15 de 110

Búsqueda informada (heurística) Búsqueda Ascenso de Colinas

Búsqueda Tabú (TS)

Fred Glover 1989:

– Metaheurístico que usa búsqueda agresiva del óptimo del problema

Memoria +Aprendizaje = Búsqueda inteligente.

Es mejor una mala decisión basada en información que una buena

decisión al azar, ya que, en un sistema que emplea memoria, una

mala elección basada en una estrategia proporcionará claves

útiles para continuar la búsqueda. Una buena elección fruto del

azar no proporcionará ninguna información para posteriores

acciones."

Page 16: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

16 de 110

Búsqueda informada (heurística) Búsqueda Temple Simulado

Simulated Annealing

Origen: Procesos heurísticos que intentan simular el comportamiento

de un grupo de átomos expuestos a enfriamiento (Recocido de sólidos)

– Enfriamiento rápido: estado de alta energía (inestable)

– Enfriamiento lento (recocido/temple): estado ordenado (de baja

energía)

Temple: proceso para endurecer metales, calentándolos a un

temperatura alta y luego dejándolos enfriar gradualmente

Page 17: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

17 de 110

Búsqueda informada (heurística) Búsqueda Temple Simulado

La idea es movernos de los extremos locales mediante sacudidas (simulan la temperatura) que irán decreciendo en intensidad. Se selecciona aleatoriamente un sucesor del estado actual y se pasa a él de forma condicional

– Si su valoración es mejor, se pasa a ese nuevo estado

– Si la valoración del sucesor no es mejor, pasamos con probabilidad e∆E/T

• ∆ E es el gradiente de la valoración

• T es una metáfora de la temperatura en un proceso de templado metalúrgico

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

Utilizada en problemas de distribución VLSI y de optimización a gran escala.

Page 18: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

18 de 110

Búsqueda informada (heurística) Búsqueda Temple Simulado

Page 19: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

19 de 110

Búsqueda informada (heurística) Búsqueda Temple Simulado

Algoritmo de Metrópolis

Estrategia básica: Iteración del Algoritmo de Metrópolis

Algoritmo de Metrópolis:

Dado un estado i con energía Ei

Se genera un nuevo estado j mediante una perturbación

(pequeña distorsión en i)

Se calcula la energía 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)

Page 20: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

20 de 110

Búsqueda informada (heurística) Búsqueda Temple Simulado

Probabilidad de aceptación: ( c∈R+ es el parámetro de control, c= KBT)

Inicialmente valores grandes de c aceptan cualquier estado. Al

tender c a 0, se dejan de aceptar estados

Búsqueda de equilibrio térmico en cada temperatura

– Varias transiciones en cada temperatura

– Caracterizado por la distribución de Boltzman

Page 21: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

21 de 110

Búsqueda informada (heurística) Búsqueda Temple Simulado (Método)

Page 22: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

22 de 110

Búsqueda Meta-Heurística

Búsqueda Meta-Heurística

Page 23: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

23 de 110

Búsqueda Meta-Heurística

Búsqueda Tabú

=> Búsqueda tabú - Metamodelos.

Temple Simulado - Utilizando el azar.

Búsqueda por referencias.

Page 24: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

24 de 110

Búsqueda Meta-Heurística

Introducción:

– Los orígenes de esta técnica son de los ’70, su forma actual fue presentada

por Glover en 1986, y los primeros modelos teóricos son de 1992.

– No se conoce ninguna prueba clara de la convergencia pero la técnica ha

mostrado una eficacia notable en muchos problemas.

– Existen refinamientos de esta técnica para aplicaciones específicas.

Ideas básicas:

– Para mejorar la eficiencia del proceso de exploración, es necesario

registrar no sólo información local (como el valor actual de la función)

sino que además información relacionada al proceso de exploración.

– 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 dinámica

Page 25: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

25 de 110

Búsqueda Meta-Heurística

Meta-heurística:

– Dado que TS incluye en sus propias reglas algunas técnicas heurísticas,

decimos que es una meta-heurística.

– Su papel es dirigir y orientar la búsqueda de otro procedimiento (más

local) de búsqueda.

Clasificación:

– Es determinística (vs. aleatoria)

– Es basada en un individuo (vs. poblaciones)

– Es de trayectoria (vs. constructiva)

• Es un método iterativo.

• Hay que definir la vecindad utilizada.

– Utiliza memoria.

Page 26: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

26 de 110

Búsqueda Meta-Heurística

La Búsqueda Tabú combina la búsqueda local con una heurística

para evitar parar en mínimos locales y evitar entrar en ciclos.

– Puede verse como una meta-heurística que se superpone a una técnica de búsqueda

y que se encarga de evitar que dicha técnica caiga en óptimos locales prohibiendo o

penalizando ciertos movimientos.

Búsqueda Tabú = Búsqueda Local + Mecanismo Memoria a Corto

plazo (MCP).

– MCP: Es una forma de exploración agresiva que intenta realizar el mejor

movimiento posible sujeto a las restricciones del problema.

Elementos claves:

– Restricciones Tabú: restringir la búsqueda al clasificar ciertos movimientos como

prohibidos (tabú), para evitar caer en soluciones recientemente generadas.

– Criterio de aspiración: Liberar la búsqueda por medio de una función de memoria

a corto plazo (estrategia de olvido).

Page 27: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

27 de 110

Búsqueda Meta-Heurística Algoritmos Tabú

Reformulación de la búsqueda local:

– Algoritmo

• 1. Elegir una solución 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 búsqueda local.

– El problema de este algoritmo es que nos quedamos atrapados en mínimos

locales.

– Tenemos que agregar la posibilidad de avanzar según pasos que no

mejoren la solución

• Con esto, el riesgo de repetir soluciones aumenta, la solución es utilizar

memoria para descartar los ya visitados.

Page 28: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

28 de 110

Búsqueda Meta-Heurística Algoritmos Tabú

Otra aproximación:

– Algoritmo

• 1. Elegir una solución 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 condición de fin, terminar. Si no asignar i=j e ir al paso

2.

– El caso de búsqueda local es el caso particular en que la condición de

parada es f(i)>=f(i*)

Page 29: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

29 de 110

Búsqueda Meta-Heurística Memoria a Corto Plazo

Page 30: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

30 de 110

Búsqueda Meta-Heurística Determinar el mejor movimiento

Page 31: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

31 de 110

Búsqueda Meta-Heurística Niveles de Aspiración

Los criterios de aspiración permiten movimientos aunque sean tabú =>

Aquellos movimientos que producen una mejor solución que la mejor

solución actual.

Page 32: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

32 de 110

Búsqueda Meta-Heurística

Condiciones de parada:

– Cantidad de iteraciones.

– Tiempo máximo de CPU.

– Alcanzar una solución i que sea mejor que un cierto valor fijado al inicio.

– No obtener una nueva mejor solución i* luego de una cierta cantidad de

iteraciones.

– Todos los vecinos del paso actual están 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ú.

Page 33: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

33 de 110

Búsqueda Meta-Heurística

Información a guardar en la lista Tabú:

– Por razones de eficiencia, sólo guardo una parte de la información que

describe a las soluciones recorridas.

– El problema de guardar sólo una parte de la solución, es que puede haber

otras soluciones aún no visitadas que en esa parte de la información sea

igual.

– Lo que se hace es definir un criterio de aspiración para aceptar soluciones

por más que estén en la lista tabú.

– El criterio de aspiración más común es habilitar las mejores soluciones,

aún cuando ellas hayan sido visitadas recientemente.

Page 34: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

34 de 110

Búsqueda Meta-Heurística

Varias Listas Tabú:

– Por motivos de eficiencia se pueden utilizar varias listas Tr al mismo

tiempo.

– Cada lista Tr guarda un componente de la solución.

– 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(TL1… TLn)

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 aspiración)

- s <- mejorSolución(s, V*)

- Actualizo listas tabú y condiciones de aspiración

End While

Page 35: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

35 de 110

Búsqueda Meta-Heurística

Eficiencia del método:

– La eficiencia depende principalmente de cómo esté modelado el problema.

– Importante: definir correctamente la estructura de vecindad y función

objetivo.

– Secundario: ajustar parámetros.

– Un modelo es bueno cuando al aplicar la técnica, ésta no es muy sensible a

la elección de parámetros.

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 difícil lograr que se cumpla esta condición: lo que se hace es trabajar

sobre un espacio de soluciones factibles extendido

– Elegir una topología que no tenga muchos “valles” o “llanuras”.

– Se puede modificar la función objetivo en tiempo de ejecución, de forma

de remplazar los valles ya visitados por altas montañas.

Page 36: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

36 de 110

Búsqueda Meta-Heurística

Implementación efectiva:

– En cada paso puede ser necesario evaluar muchas condiciones y es importante realizar este cómputo en una manera eficiente.

– Frecuentemente, es posible y más rápido calcular cuánto varía la función objetivo al desplazarme al vecino, que evaluar a nuevo la función objetivo

• A veces se recurre a otras heurísticas para calcular la variación al desplazarme al vecino

Usar la memoria de forma efectiva:

– Elegir un tamaño 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 tamaño variable.

• Cada elemento de la lista pertenece a ella para un número de iteraciones (limitado por valores máximos y mínimos dados)

– El uso de la memoria puede ayudar a intensificar la búsqueda en "buenas“ regiones o a diversificar la búsqueda hacia regiones inexploradas.

Page 37: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

37 de 110

Búsqueda Meta-Heurística

Aplicaciones de Ejemplo:

– Problemas de las N-Reinas.

– The Graph Coloring Problem

• Tengo que colorear países en un mapa utilizando una cantidad mínima de

colores distintos

– The Maximum Independent Set Problem

• Tengo que buscar en un grafo, un subconjunto vértices de tamaño máximo,

tales esos vértices no comparten aristas

– The Course Scheduling Problems

• Planificar horarios de clases

Page 38: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

38 de 110

Búsqueda Meta-Heurística 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:

Page 39: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

39 de 110

Búsqueda Meta-Heurística Las N-Reinas

Iteración 0 de la búsqueda tabú en el problema de las 7 reinas:

Iteración 1 de la búsqueda tabú en el problema de las 7 reinas:

Page 40: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

40 de 110

Búsqueda Meta-Heurística Las N-Reinas

Iteración 2 de la búsqueda tabú en el problema de las 7 reinas:

Iteración 3 de la búsqueda tabú en el problema de las 7 reinas:

Page 41: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

41 de 110

Búsqueda Meta-Heurística Las N-Reinas

Iteración 4 de la búsqueda tabú en el problema de las 7 reinas:

Iteración 5 de la búsqueda tabú en el problema de las 7 reinas:

Page 42: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

42 de 110

Búsqueda Meta-Heurística Las N-Reinas

Con el valor (1,3) se aplica el criterio de aspiración => Se determina

que este intercambio producirá una solución mejor que la actual y por

tanto se ignora la prohibición.

Iteración 6 de la búsqueda tabú en el problema de las 7 reinas:

Page 43: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

43 de 110

Búsqueda Meta-Heurística Las N-Reinas

Las aplicación de la búsqueda 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 tabús por un tiempo especificado.

• En algunos casos predeterminados se viola la restricción tabú.

– Coherente: Sus principios fundamentales son coherentes con las estructuras computaciones que se requieren para su implementación.

– Eficaz: Se han encontrado soluciones optimas.

– Eficiente: El tiempo de ejecución es razonable.

– General: El algoritmo de búsqueda tabú es general, pero su implementación 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 añadir módulos para utilizar memoria de largo plazo y otros criterios de aspiración.

– Interactiva:

– Múltiple: Puede producir varias soluciones optimas para analizarlas.

– Autónoma:

Page 44: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

44 de 110

Búsqueda Meta-Heurística

The Graph Coloring Problem:

– Grafo: Un país es un vértice, 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

– Solución inicial: pintar de colores arbitrarios

– Vecindad: en cada paso busco una arista que una dos vértices de mismo

color, y cambio el color de uno de los vértices

– Función objetivo: se cuenta la cantidad de países que comparten colores,

se intenta minimizar ese valor

• Aquí es más fácil evaluar cómo cambia la función objetivo al desplazarme al

vecino, que evaluar nuevamente

– La lista tabú registra los pares (vértice, color) indicando que no puedo

volver a pintar el mismo vértice del mismo color durante N pasos (N es el

largo de la lista tabú)

Page 45: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

45 de 110

Búsqueda Meta-Heurística

The Maximum Independent Set Problem:

– Para relajar el problema, se busca un conjunto que sea de un tamaño k

dado

– Solución inicial: elijo k vértices arbitrarios

– Vecindad: intercambio un vértice de la solución actual con un vértice de

afuera de ese conjunto

– Función objetivo: cuento la cantidad de aristas que unen los vértices de la

solución actual, esa cantidad tiene que llegar a cero

– Tres listas tabú

• Lista con las soluciones visitadas recientemente

• Lista con vértices introducidos recientemente

• Lista con vértices quitados recientemente

k=3

Page 46: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

46 de 110

Búsqueda Meta-Heurística

The Course Scheduling Problems:

– Es un problema similar al de los países de colores

• Cada clase a dictar es un vértice

• Cada período es un color

• Una arista entre dos vértices, 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

difícil trabajar (disponibilidad salones grandes, uso de proyectores u otros

recursos, clases con duración distinta, lograr que los horarios sean

compactos, restricciones geográficas y de precedencia)

Page 47: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

47 de 110

Búsqueda Meta-Heurística

Conclusiones:

– Los ejemplos anteriores muestran el rango de aplicaciones para los cuales

se utiliza búsqueda Tabú.

– Si bien parece necesario tener que ajustar varios parámetros, existen

estudios teóricos que indican un alto grado de libertad para elegir estos

parámetros.

– Por el momento, esta técnica aparenta ser un enfoque complejo para

grandes problemas de optimización, en vez de ser un método elegante y

simple.

– Un problema que se presenta al utilizar esta técnica es que a la

complejidad del problema a resolver se le agrega complejidad inherente a

la propia técnica.

Page 48: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

48 de 110

Búsqueda Meta-Heurística

Búsqueda Tabú aplicada a VPR:

– TABUROUTE es una nueva heurística para el problema de ruteo de

vehículos con restricciones de capacidad y largo de ruta.

– Las soluciones vecinas se obtienen quitando un vértice de su ruta actual e

insertándolo en otra ruta

– El problema está relajado de forma de aceptar soluciones vecinas que no

cumplen las restricciones

– TABUROUTE es la heurística de mejor desempeño para un cierto

conjunto de problemas benchmark, y produce frecuentemente la mejor

solución conocida.

Page 49: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

49 de 110

Búsqueda Meta-Heurística

Vehicle Routing Problem:

– Tenemos un grafo G = (V, A), donde el vértice v0 es el “depósito” desde el

cual construyo las rutas, y los demás vértices son “ciudades”

– En el depósito hay m vehículos idénticos

– Cada arco tiene asociada una distancia no negativa

– Para simplificar: “costo” = “tiempo” = “distancia”

– El objetivo es construir un conjunto de costo mínimo de rutas tales que

• (a) Todas las rutas comienzan y terminan en el depósito

• (b) Cada ciudad es visitada exactamente una vez por exactamente un vehículo

• (c) Se cumplen ciertas restricciones auxiliares

• (d) Cada ciudad tiene asociada una demanda qi. La demanda total asociada a un

vehículo no puede exceder la capacidad Q del vehículo.

• (e) Cada ciudad requiere ser atendida en un tiempo máximo Di, y el tiempo

total de cada ruta (incluyendo los servicios) no puede superar un cierto valor L

Page 50: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

50 de 110

Búsqueda Meta-Heurística

Vehicle Routing Problem - Ejemplo:

Depósito

3 2

4 5 3

3

3

3 4

2

3

3

4

5 3

Constantes:

m = 5 (cantidad de vehículos)

Q = 11.5 (capacidad de un

vehículo)

L = 25 (duración máxima 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

Page 51: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

51 de 110

Búsqueda Meta-Heurística

TABUROUTE – Estructura de Sols:

– Una solución es un conjunto de rutas (R1, ..., Rm) donde m [1, m], y Rr =

(v0, vr1, vr2, ... v0)

– Las rutas R1...Rm pueden ser factibles o no según las restricciones (esto es

para relajar la estructura de vecindad)

– Una solución vecina es una solución obtenida luego de quitar un vértice de

su ruta actual y colocarlo en otra ruta. Esto se realiza utilizando las

heurísticas GENI y US.

Función objetivo:

– Para las soluciones factibles S, asociamos la función objetivo (suma de los

costos)

– Además, para cualquier solución S asociamos un objetivo F2(S)

• La función F2 es igual a F1, pero penaliza las soluciones que no sean factibles

– El algoritmo se desplaza utilizando F2 como criterio

r Rvv

ij

rji

cSF),(

1 )(

Page 52: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

52 de 110

Búsqueda Meta-Heurística

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

Page 53: Universidad de Castilla-La Mancha - Tema 3C - Busquedas v1.1.… · Búsqueda informada Algoritmos de búsqueda local y problemas de optimización Búsqueda de ascensión de colinas.

Luis Enrique

Sánchez Crespo

UCLM-ESI Inte

lig

en

cia

Art

ific

ial

e In

gen

ieri

a d

el C

on

ocim

ien

to

53 de 110

Búsqueda Meta-Heurística

Conclusiones:

– TABUROUTE tiene mejor desempeño que las demás heurísticas

existentes

– TABUROUTE produce frecuentemente las best known solutions

– Hay que implementar dos mecanismos:

• El hecho de permitir soluciones no factibles, penalizándolas en la función

objetivo.

• Aplicar él algoritmo GENI para ejecutar las inserciones

– Es posible utilizar una solución inicial no factible

– Otras conclusiones

• Puede utilizarse en contextos en que la cantidad de vehículos sea variable o

acotada, o con distintas características

• Se pueden agregar fácilmente restricciones adicionales, como que ciertas

ciudades requieren ciertos vehículos

• Existen variantes con varios depósitos, y rutas primarias y secundarias