La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.

Presentaciones similares


Presentación del tema: "Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009."— Transcripción de la presentación:

1 Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009

2 Métodos de Busca Local Problema de la Mochila

3 H. Constructiva en el problema de la mochila Sea una mochila de capacidad b = 23 Representación de una solución: s = (s 1,s 2,...,s 5 ), donde s j  {0,1} Movimiento m = cambia en el valor de un bit.

4 H. Constructiva en el problema de la mochila

5

6 Busca local en el problema de la mochila

7

8 Métodos Mejoría o de Busca Local Problema del Agente Viajero

9 Heurística de mejoría en el PAV Definición del movimiento 2 – opt 3 - opt k intercambio Lin y Kernighan Estrategia de Selección. Gulosa Para aumentar la eficiencia se utiliza la estrategia Gulosa sobre un subconjunto de candidatos (Subgrafo Candidato).

10 Heurística de mejoría en el PAV Procedimiento de 2 - opt Elija dos aristas (v,w) y (x,y) y las sustituya por (v,x) y (w,y) O (v,y) y (w,x) de modo a obtener un tour. v w x y v w x y Un movimiento 2-opt consiste en eliminar dos aristas y conectar los dos caminos resultantes, de una manera diferente, para obtener un nuevo ciclo

11 Heurística de mejoría en el PAV Procedimiento de 2 - opt zExiste una única manera de conectar los caminos formando un tour.

12 Heurística de mejoría o Busca Local en el PAV: mejorías En una implementación eficiente se considera una lista de vértices candidatos a ser examinados. Cada vez que se examina un vértice i, este se coloca en el final de la lista y los vértices involucrados en el movimiento son inseridos en primer lugar. Para reducir el tiempo de computación, podemos: Exigir que al menos una de las dos aristas adicionadas en cada movimiento, para formar la nueva solución, pertenezca al subgrafo candidato. Interrumpir antes de finalizar, dado que en las primeras iteraciones la función objetivo decrece substancialmente, mientras que en las últimas simplemente se modifica.

13 Heurística de mejoría o Busca Local en el TSP: Procedimento de 3 - opt a b c d e f a b c d e f a b c d e f a b c d e f Al eliminar 3 aristas existen 8 maneras de conectar los 3 caminos resultantes. La diferencia de los 2-opt, reconstruir el ciclo es muy costoso. Examinar todas las posibilidades representa un esfuerzo computacional enorme. Aplicar una busca restringida: Subgrafo Candidato.

14 Heurística de mejoría o busca local en el PAV: Lin-Kernighan Idea: modificaciones en soluciones que son malas en el momento pueden llevar a soluciones buenas en el futuro. Un paso de la BL Lin-Kernighan: Haga conjuntos de aristas X = {x 1, …, x r }, Y = {y 1,…,y r }; Sustituyendo X por Y en el tour obtenemos otro tour; Los conjuntos son construidos paso a paso; Repita hasta. Variantes sobre el schema son posibles.

15 Heurística de mejoría o busca local en el PAV: Lin-Kernighan Realiza un movimiento compuesto. Cada uno de los movimientos simples puede mejorar o empeorar el valor de la función objetivo. El movimiento global es de mejoría, por lo que no se pierde el control sobre el proceso de busca. Utilizar diferentes movimientos altera la estructura de la solución haciendo que la convergencia al óptimo local sea lenta e introduce una componente de diversificación.

16 Heurística de mejoría o busca local en el PAV: (2-opt, 2-opt, inserción) 123456789101112 123456789101112 123456789101112 123456789101112 Ciclo Inicial 2-opt cambio (12,1), (5,6) por (12,5), (1,6) 2-opt cambio (1,6), (3,4) por (6,3), (1,4) Inserción Inserir el 9 entre 1 y 4

17 Busca Local en el TSP Comparación de los Métodos

18 Métodos de Busca Local Técnicas de busca local Basadas en la noción de vecindad o entornos. Sea S el espacio de busca de un problema de optimización y f la función objetivo a ser optimizada (minimizar o maximizar) Sea s una solución cualquiera del problema, o sea, s  S

19 Vecindad Operador Vecindad de un punto en el espacio de busca

20 Vecindad Sea N una función que asocia a cada solución x  X, su vecindad N(x)  X N depende del problema tratado Cada solución x’  N(x) es denominado de vecino de x Se denomina movimiento a una modificación m que transforma una solución x en otra, x’, que este en su vecindad s’  s  m

21 Espacio de busca El espacio de busca puede ser visto como un grafo donde los vértices son las soluciones y existen aristas entre pares de vértices asociados a las soluciones vecinas. Este espacio puede ser visto como una superficie con valles y cumbres definidos por el valor y por la proximidad (vecindad) de sus soluciones.

22 Espacio de busca Un camino en el espacio de busca consiste en una secuencia de soluciones, donde dos soluciones consecutivas son vecinas.

23 Óptimos Locales y Óptimos Globales La noción de proximidad induce el concepto de distancia entre soluciones, que define un espacio topológico. Óptimo local: solución buena o mejor de que cualquier otra vecina. Para un problema de minimización: s + es un óptimo local  f(s + )  f(s),  s  N(s + ). Óptimo global o solución óptima s*: f(s*)  f(s),  s  S.

24 Mínimo Global Mínimo Local Óptimos Locales y Óptimos Globales

25 Métodos de Busca Local Partir de una solución inicial (cualquiera). Caminar, a cada iteración, de vecino para vecino de acuerdo a la definición de vecindad adoptada, intentando mejorar la solución construida.

26 Métodos de Busca Local Procedimiento de Busca Local s = GenerarSoluciónInicial() repeat s = Mejorar(s, vecindad(s)) until no existe mejoria posible Solución inicial Óptimo local

27 Métodos de Busca Local Definición: Cada solución x posee un conjunto de soluciones asociadas N(x), que se denomina vecindad de x. Definición: Dada una solución x, cada solución x’ de la vecindad N(x) se puede obtener directamente a partir de x mediante una operación llamada movimiento. El método es basado en explorar la vecindad de una solución y seleccionar una nueva solución en ella (realizar el movimiento asociado). Desde la nueva solución se explora el entorno y se repite el proceso.

28 Ejemplo: Vecindades em el Espacio de las Permutaciones Solución  =(  1,…,  i -1,  i,  i +1,…,  j,…,  n ) N 1 (  )={(  1,…,  i+1,  i,…,  n ), i=1,…, n-1 } Vecinos de (1,2,3,4) = {(2,1,3,4),(1,3,2,4), (1,2,4,3)} N 2 (  )={(  1,…,  j,...,  i,…,  n ), i=1,…,n-1; j=i+1,…,n } Vecinos de (1,2,3,4)= {(2,1,3,4),(1,3,2,4), (1,2,4,3),(3,2,1,4),(1,4,3,2),(4,2,3,1)}

29 Busca Local Busca local: mejorar la soluciones construidas Elección de la vecindad Estructuras de datos eficientes para acelerar la busca local Buenas soluciones iniciales permiten acelerar a busca local

30 Algoritmos de Busca Local Algoritmos de busca local son construidos como una forma de exploración del espacio de busca. Partida: solución inicial obtenida a través de un método constructivo. Iteración: mejoría sucesiva de la solución actual a través de una busca en su vecindad. Parada: primer óptimo local encontrado (no existe solución vecina “aprimorante”).

31 Aspectos fundamentais nos algoritmos de Busca Local Definición de vecindad; Estrategia de busca en la vecindad; Complejidad de cada iteración: Proporcional al tamaño de la vecindad; Eficiencia: depende de l forma como es calculada la variación de la función objetivo para cada solución vecina: Algoritmos eficientes ↔ capaces de re calcular las variaciones de modo a actualizarlas apenas cuando la solución actual se modifica, evitando cálculos repetitivos y desnecesarios de la función objetivo.

32 Métodos de Busca Local

33

34

35

36 Problema: Queda atrapado en el primer óptimo local

37 Algoritmos de Busca Local: Mejoría Iterativa A cada iteración, seleccionar cualquier (eventualmente la primera) solución “promisoria” en la vecindad procedure mejoría-Iterativa(s 0 ) s  s 0 ; mejoría .true. while mejoría do mejoría .false. for-all s’  N(s).and. mejoría ==.false. do if ( f(s’) < f(s) ) then s  s’; mejoría .true. end-if end-for-all end-while return s end mejoría-Iterativa

38 Algoritmos de Busca Local: Descenso mas rápido l A cada iteración, seleccionar la mejor solución promisoria en la vecindad procedure Descenso-Mas-Rápido(s 0 ) s  s 0 ; mejoría .true. while mejoría do mejoría .false.; f min  +  for-all s’  N(s) do if ( f(s’) < f min ) then s min  s’; f min  f(s’) end-if end-for-all if ( f min < f(s) ) then s  s min ; mejoría .true. end-if end-while return s end Descenso-Mas-Rápido

39 Ejemplo de descenso mas rápido para el PAV con Vecindad 2-opt: O(n 2 ) 5 43 2 1 3 5 3 51 L=17 L=19 (+) 25 43 1 25 43 1 L=14 (-) 5 43 2 1 L=17 (=) 5 43 2 1 L=16 (-) 5 43 2 1 L=21 (+) (*)

40 Método Aleatório de Descenso/Subida (Random Descent/Uphill Method)

41 Criterio de Selección del movimiento: best choice Gulosa (greedy): Seleciona la solución con mejor evaluación de la función objetivo, siempre que sea mejor que la actual. El algoritmo termina cuando la solución no puede ser mejorada. A la solución encontrada se le denominada como óptimo local en relación a la vecindad definida. Miopía del Método

42 Critério de Seleción do movimento: first choice Ansiosa (Anxious) Evita realizar la busca exhaustiva por el mejor vecino. Interrumpe la exploración de la vecindad cuando el primer mejor vecino es encontrado. De esta forma, apenas en el peor caso, toda la vecindad es explorada. El método, también, termina cuando un óptimo local es encontrado

43 Aspectos del Espacio de Busca que Influyen en el desempeño de los Algoritmos de Busca Local Conexidad: debe existir un camino entre cualquier par de soluciones en el espacio de busca; Distancia entre dos soluciones: número de soluciones visitadas a lo largo de un camino mas corto entre ellas; Diametro: distancia entre dos de las soluciones mas alejadas (diametros reducidos); Bacia de atracción de un óptimo local: conjunto de soluciones iniciales a partir de las cuales el algoritmo de descenso mas rápido lleva a este óptimo local.

44 Dificultades en los algoritmos de Busca Local  Término prematuro en el primer óptimo local encontrado;  Sensible a la solución de partida;  Sensible a la vecindad escogida;  Sensible a la estrategia de busca;  Puede exigir un número exponencial de iteraciones!

45 Dificultades en los algoritmos de Busca Local El mejor vecino puede ser peor!

46 Dificultades en los algoritmos de Busca Local Problema: Ciclaje

47 Aspectos a considerar en la Busca Local Reducción de la vecindad: investigar un subconjunto de la vecindad de la solución actual (e.g. por “aleatoriedad”); Multi-partida: repetir la busca local a partir de diferentes soluciones de partida; Multi-vecindad considera mas de una vecindad. Al alcanzar un óptimo local con relación a una vecindad, inicia otra busca local empleando otra vecindad. El algoritmo termina cuando la solución actual es un óptimo local en relación a todas las vecindades empleadas; Segmentación de la vecindad: utilizada para aumentar la eficiencia cuando vecindades muy grandes son utilizadas. Puede ser vista como una estrategia multi-vecindad: N(s) = N 1 (s)  N 2 (s)  …  N p (s).

48 Conclusiones Los Problemas Combinatorios pueden ser resueltos por: Métodos Exactos: Proporcionan el óptimo pero en lo general el costo es muy caro. Métodos Heurísticos : Son rápidos pero no garantizan el óptimo Los Métodos Constructivos son heurísticos que proporcionan rápidamente una solución relativamente buena. Los Métodos de Busca Local son heurísticas que mejoran una solución dada. Ambos métodos pueden Combinarse y mejorar las elecciones aleatoriamente. Al diseñar un Método Heurístico tenemos que estudiar: Calidad: Estudio Teórico (Christofides) o Empírico (TSPLIB) Eficiencia: Detalles de la implementación, Agilizar los cálculos (Subgrafo candidato)


Descargar ppt "Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009."

Presentaciones similares


Anuncios Google