métodos de mejoría o de busca local gladys maquera i copios lima, 03 al 05 de noviembre de 2009

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

Upload: carlitos-cardoso

Post on 11-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

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

Métodos de Mejoría o de Busca Local

Gladys Maquera

I COPIOS Lima, 03 al 05 de noviembre de 2009

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

Métodos de Busca Local

Problema de la Mochila

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

H. Constructiva en el problema de la mochila

Sea una mochila de capacidad b = 23

Representación de una solución: s = (s1,s2,...,s5), donde sj {0,1}

Movimiento m = cambia en el valor de un bit.Construyamos una solución para ese problema usando la siguiente idea: adicionemos a la mochila a cada paso, el objeto mas valioso por unidad de peso y que no ultrapase la capacidad de la mochila. Reordenando los objetos de acuerdo con la relación 𝑝𝑗/𝑤𝑗, obtenemos:

Objeto (j) 5 1 4 3 2 Peso (𝑤𝑗) 6 4 9 7 5 Beneficio (𝑝𝑗) 4 2 4 3 2 𝑝𝑗/𝑤𝑗 0,67 0,50 0,44 0,43 0,40

Representamos una solución s por un vector binario de n posiciones.

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

H. Constructiva en el problema de la mochila

Paso 1: Adicionemos, primeramente, el objeto 5, que tiene mayor relación 𝑝𝑗/𝑤𝑗, S = (00001)𝑡 f(s) = 4 Peso actual de la mochila = 6 < b = 23 Paso 2: Adicionemos, ahora, el objeto 1, que tiene la segunda mayor relación 𝑝𝑗/𝑤𝑗, S = (10001)𝑡 f(s) = 6 Peso actual de la mochila = 10 < b = 23

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

H. Constructiva en el problema de la mochila

Paso 3: Adicionemos, ahora, el objeto 4, que tiene la tercera mayor relación 𝑝𝑗/𝑤𝑗, S = (10011)𝑡 f(s) = 10 Peso actual de la mochila = 19 < b = 23 Paso 4: El objeto a ser colocado en la mochila sería el tercero. Sin embargo, esto haría superar la capacidad de la mochila. En este caso, debemos intentar alocar el próximo objeto con la mayor relación 𝑝𝑗/𝑤𝑗, que es el objeto 1. Como también colocar este objeto haría superar la capacidad de la mochila y no existen más candidatos, concluimos que la solución anterior es la solución final, esto es S* = (10011)𝑡 con f(S*)=10

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

Busca local en el problema de la mochila

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

Busca local en el problema de la mochila

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

Métodos Mejoría o de Busca Local

Problema del Agente Viajero

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

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).

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

Heurística de mejoría en el PAVProcedimiento 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

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

Heurística de mejoría en el PAV

Procedimiento de 2 - opt

0

j+1 j

i i+1

Route between 2 nodes Removed arc Inserted arc

j+1 j

i i+1

0

Existe una única manera de conectar los caminos formando un tour.

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

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.

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

Heurística de mejoría o Busca Local en el TSP: Procedimento de 3 -

opt

a

b

cd

e

f

a

b

cd

e

f

a

b

cd

e

f

a

b

cd

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.

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

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 = {x1, …, xr}, Y = {y1,…,yr};

Sustituyendo X por Y en el tour obtenemos otro tour; Los conjuntos son construidos paso a paso;

Repita hasta <criterio>.

Variantes sobre el schema son posibles.

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

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.

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

Heurística de mejoría o busca local en el PAV: (2-opt, 2-opt,

inserción)

1 2 3 4 5 6 7 8 9 10 11 12

1 2 3 4 5 6 7 8 9 10 11 12

1 2 3 4 5 6 7 8 9 10 11 12

1 2 3 4 5 6 7 8 9 10 11 12

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ónInserir el 9 entre 1 y 4

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

Busca Local en el TSPComparación de los Métodos

Heurístico Desviacióndel Óptimo

T. Ejecución(pr2392)

2-óptimo 8.3 % 0.253-óptimo 3.8 % 85.1Lin y Kernighan 1 1.9 % 27.7Lin y Kernighan 2 1.5 % 74.3

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

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

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

Vecindad

Operador

Vecindad de un punto en el espacio de busca

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

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

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

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.

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

Espacio de busca

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

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

Ó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.

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

Mínimo Global

Mínimo Local

Óptimos Locales y Óptimos Globales

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

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.

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

Métodos de Busca Local

Procedimiento de Busca Locals = GenerarSoluciónInicial()

repeat

s = Mejorar(s, vecindad(s))until no existe mejoria posible

)( 3σN

)( 2σN

)( 1σN

)( 0σN

Solución inicial4σ

)( 4σN

Óptimo local

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

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.

x x x xm m m0 1 2 3

1 2 3

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

Ejemplo: Vecindades em el Espacio de las Permutaciones

Solución =(1,…,i -1,i,i +1,…,j,…,n)

N1()={(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)}

N2()={(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)}

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

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

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

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”).

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

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.

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

Métodos de Busca Local

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

Métodos de Busca Local

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

Métodos de Busca Local

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

Métodos de Busca Local

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

Métodos de Busca Local

Problema: Queda atrapado en el primer óptimo local

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

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(s0) s s0; 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 send mejoría-Iterativa

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

Algoritmos de Busca Local:Descenso mas rápido

A cada iteración, seleccionar la mejor solución promisoria en la vecindad

procedure Descenso-Mas-Rápido(s0) s s0; mejoría .true. while mejoría do mejoría .false.; fmin + for-all s’ N(s) do if ( f(s’) < fmin ) then smin s’; fmin f(s’) end-if end-for-all if ( fmin < f(s) ) then s smin ; mejoría .true. end-if end-while return send Descenso-Mas-Rápido

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

Ejemplo de descenso mas rápido para el PAVcon Vecindad 2-opt: O(n2)

5

4 3

2

1

3

5

3

5 1 L=17

L=19 (+)

25

4 3

1

25

4 3

1

L=14 (-)

5

4 3

2

1

L=17 (=)

5

4 3

2

1

L=16 (-)

5

4 3

2

1L=21 (+)

(*)

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

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

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

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

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

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

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

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.

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

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!

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

Dificultades en los algoritmos de Busca Local

El mejor vecino puede ser peor!

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

Dificultades en los algoritmos de Busca Local

Problema: Ciclaje

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

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) = N1(s) N2(s) … Np(s).

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

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)