Anda di halaman 1dari 10

15.

053
Bsqueda

Jueves, 9 de mayo

Dos tipos de complejidad

heurstica: mtodos para resolver problemas de optimizacin difciles

1. Problemas con objetivos complejos y conflictivos sujetos a numerosas restricciones.


z

en la prctica, la mayora de los problemas

Entregas: material de clase Ver la introduccin al trabajo sobre Very Large Scale Neighborhood Search. (Est en la pgina web).
1

2. Problemas cuya comprensin tal vez sea fcil pero que tienen tantas soluciones posibles que no se puede ubicar la mejor.
z z

juegos (ajedrez, go) Las PE del tipo del viajante de comercio.

Ejemplo: ubicacin de estacin de bomberos


Piense

Ejemplo del problema de la estacin de bomberos


1 2 3

en la posibilidad de ubicar estaciones de bomberos en distritos diferentes. utilizar el menor nmero de estaciones posible de modo tal que cada distrito tenga una en l o en un distrito adyacente.

Objetivo:

5 4 11 10 14 8

6 7 9 12 15 13 16
4

Motivos para utilizar la heurstica.

Una forma heurstica de construccin para el TSP


principio elegir una ciudad inicial para el tour; mientras haya ciudades sin visitar, la siguiente ciudad del tour es la ciudad sin visitar ms cercana; fin Heurstica de construccin: lleva a cabo una secuencia estructurada de iteraciones que termina con una solucin factible. Se puede entender como la creacin de un tour, pero los pasos intermedios no siempre son caminos.

Suele ser mucho ms rpida que la optimizacin, como el mtodo branch & bound Si est bien desarrollada, puede obtener soluciones excelentes para muchos problemas en la prctica Algunos casos especiales de heurstica
z z

Mtodos de construccin Mtodos de mejora

Ilustracin para el TSP

Ilustracin para el TSP

Una heurstica de construccin ms efectiva pero ms lenta


La

Comience con una ruta de 3 ciudades

heurstica anterior siempre aada la ciudad siguiente al final de la ruta actual. aada la siguiente heurstica en cualquier parte de la ruta actual.

Idea:

Mejor

an: mantenga un ciclo en cada iteracin e inserte la ciudad siguiente de modo ptimo en el ciclo. una heurstica basada en la insercin.

Es

10

Inserte la 4 ciudad

Inserte la 5 ciudad

11

12

Inserte la 6 ciudad

Inserte la 7 ciudad

13

14

Inserte la 8 ciudad

Inserte la 9 ciudad

15

16

Inserte la 10 ciudad

Inserte la 11 ciudad

17

18

Inserte la 12 ciudad

Inserte la 13 ciudad

19

20

Inserte la 14 ciudad

Inserte la 15 ciudad

21

22

Inserte la 16 ciudad

Inserte la 17 ciudad

23

24

Inserte la 18 ciudad

Inserte la 19 ciudad

25

26

Inserte la lima ciudad

Comentarios sobre la heurstica de insercin


Ms Ms La

lenta que el vecino ms prximo

efectiva que el vecino ms prximo

eleccin de qu ciudad insertar marca la diferencia


z insertar

la ciudad ms lejana de la ruta actual es ms efectivo

27

28

Cierre convexo + heurstica de insercin

Cmo podemos hacer una heurstica de construccin para el problema de la estacin?


1 2 3

etc.
5 6 7 4 11 10 14
29

TSP

8 12

9 13 16
30

15

Comentarios sobre heurstica


Es

Mtodos de mejora
Estas

fcil escribir heursticas de construccin satisfactorias difcil dar con las buenas veces lo ms sencillo es lo mejor

Es A

tcnicas comienzan con una solucin, y buscan mtodos simples para mejorar la solucin. sea T un tour. un tour mejorado para que |T - T| = 2.

Ejemplo: Buscar

31

32

Ilustracin de la heurstica 2-opt

Elimine dos ejes y aada dos.

33

34

Heurstica de mejora local Elimine dos ejes y aada dos.

Para una ruta cualquiera T, decimos que T es un 2-vecino de T si T se puede obtener a partir de T aadiendo dos ejes y borrando dos ejes. Decimos que T es 2-ptimo si la longitud de T es menor o igual que la longitud de cada uno de sus 2-vecinos. iniciar con una ruta factible T mientras T no sea 2-optimo sustituir T por un 2-vecino de T que tenga una longitud menor.

Algoritmo 2-opt

35

36

Comentarios sobre la bsqueda 2-opt


2-opt

Ms sobre bsqueda local

suele producir buenas soluciones, pero no est garantizado elimina los ejes cruzados estar dentro del 7% de optimalidad

El principio bsico: definir un vecino de cada solucin posible. Dada una solucin x, reemplazar x por un vecino de x con menor coste, si uno existe. El vecino es a menudo especfico del tipo de problema presente y suele haber muchas soluciones posibles. Otros posibles vecinos para el TSP
z z

Siempre Suele

3-opt insercin

37

38

Vecino por insercin: eliminar un nodo e insertarlo luego en otra parte

Vecino por insercin: eliminar un nodo e insertarlo luego en otra parte

39

40

Vecino por insercin: eliminar un nodo e insertarlo luego en otra parte

Optimalidad local
Se

dice que una solucin y es ptima local (con respecto a un vecino dado) si no existe un vecino de y cuyo valor objetivo sea mejor que el valor de y. 2-Opt halla una solucin localmente

Ejemplo.

ptima.

41

42

Los mtodos de mejora suelen hallar soluciones localmente ptimas


Una

Qu es una vecindad para el problema de la estacin de bomberos?


1 2 3

solucin y se dice que es globalmente ptima si no hay otra con un valor objetivo mejor La optimalidad local depende de la ndole de la vecindad, es decir, qu modificaciones son permisibles en la solucin
z p.ej. z p.ej.,

Comentario.

5 4 11 8

6 7 9 12 15 13 16
44

2-intercambios 3-intercambios
TSP
10 14
43

La heurstica no suele traer consigo garantas de rendimiento

Implementacin de la heurstica
Ayuda Se

Puede ser impredecible.


z

2-opt para el TSP suele moverse en un porcentaje cercano a la optimidad; pero, es posible que se pase en un 100% o ms. Una heurstica muy simple podr a veces rendir mejor que otra mucho ms avanzada (incluso una ruta seleccionada al azar podra ser ptima). No se puede predecir cuntas iteraciones necesitar una heurstica de mejora local. Desarrollar una buena heurstica requiere ingeniera de algoritmos
45

a apreciar verdaderamente la implementacin y el diseo de un algoritmo pueden implementar un 2-intercambio y y un 3-intercambio para el TSP de un modo tremendamente rpido.
z Se

z z

han resuelto problemas con miliones de ciudades, asumiendo que las distancias son euclideanas.

46

Aleatorizacin
Una

Heurstica de insercin con aleatorizacin


Elegir tres ciudades al azar y obtener una ruta T de las ciudades Para k = 4 a n, elegir una ciudad que no est en T e insertarla ptimamente en T.
Nota:

de las ideas ms importantes en heurstica y algoritmos es la aleatorizacin.

En

heurstica: nos permite realizar esencialmente la misma heurstica muchas veces y obtener respuestas diferentes. (Entonces, se puede elegir la mejor)

podemos desarrollarlo 1.000 veces, y obtendramos diferentes respuestas, as se aumenta la probabilidad de obtener una mejor

47

48

Una manera simple de usar la aleatorizacin: elegir ejes al azar, uno cada vez.

Incluso estos mtodos pueden tener su valor


Ruta

aleatoria seguida de 2-opt.

z Construya

una ruta visitando ciudades de forma aleatoria, y luego desarrolle 2-opt. Repetir 1000 veces.

En

la prctica funciona mucho mejor que desarrollando 2-opt una vez. (En la prctica: partir de una ruta aleatoria es ms lento que partir de una buena ruta, por lo que esta tcnica no se utiliza mucho)
50

49

Recocido simulado: un mtodo ingenioso para utilizar la aleatorizacin

Recocido simulado: un mtodo ingenioso para utilizar la aleatorizacin


Basado

La heurstica de mejora local se detiene en una solucin localmente ptima Existe un modo de explorar un espacio ms amplio. Que pasa si una solucin ptima local es mala? El recocido simulado es una tcnica que permite usar la aleatorizacin para, en ocasiones, hacer movimientos en la direccin incorrecta.
z z

en el recocido, el enfriamiento de un material a un "estado fundamental", un estado de mnima energa.

Imagine

tomar un material muy caliente y enfriarlo lentamente para que el material se solidifique despacio en el estado de mnima energa si se enfra un material demasiado deprisa, se endurecer en alguna configuracin subptima.
52

basado en una analoga fsica converge en la solucin ptima bajo las condiciones adecuadas
51

Hecho:

Cuasi traduccin del recocido a las tcnicas de bsqueda de vecindad


1. T indica una temperatura 2. x indica una solucin actual 3. Hallar un vecino y de x Si y es mejor que x, entonces se acepta y como la nueva solucin. Si y es peor que x por una cantidad , entonces sustituya x por y con probabilidad e- /T.

Convergencia ptima para el recocido simulado


La As As El

probabilidad de hacer un movimiento en la direccin equivocada es e- /T. T , Prob(direcc. equivocada) 1. T 0, Prob(direcc. equivocada) 0.

recocido simulado decrece T lentamente de a 0. teora, converge en la solucin ptima.

En

53

54

Ilustracin del recocido simulado


A D C B

Ilustracin del recocido simulado


A D C B Supongamos que la longitud del vecino es mayor por = 7

El recocido simulado seleccionar un vecino de T seleccionando al azar dos ejes que abandonarn el recorrido.

La probabilidad de aceptar el movimiento es e-7/T . El recocido simulado seleccionar un vecino de T seleccionando al azar dos ejes que abandonarn el recorrido.

55

56

El recocido simulado en la prctica

Ilustracin del recocido simulado


A D C B Supongamos que la longitud del vecino es mayor por = 7 La probabilidad de aceptar el movimiento es e-7/T . Si T est cerca de cero 0, se rechazar el movimiento. Si T es muy grande, se aceptar el movimiento.
Si

se disminuye la temperatura lo bastante despacio, la solucin converge al ptimo con mucha probabilidad (pero se necesita disminuir la temperatura de un modo terriblemente lento). la prctica, se disminuye la temperatura ms o menos lentamente. muchos problemas, el recocido simulado es excelente.
58

En

Para

57

El objetivo medio en RS en funcin del nmero de iteraciones

Resumen
Mtodos Mtodos

de construccin de mejora simulado

valor objetivo

Aleatorizacin Recocido

nmero de iteraciones ( siendo T 0)

59

60