métodos constructivos gladys maquera i copios 03 al 05 de noviembre de 2009

52
Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Upload: raimundo-seta

Post on 27-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Métodos Constructivos

Gladys Maquera

I COPIOS 03 al 05 de noviembre de 2009

Page 2: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Algoritmos Heurísticos

Métodos Constructivos

Métodos de Busca Local

Métodos Combinados

Métodos de Resolución

Page 3: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Métodos construtivos

Los métodos constructivos son procedimientos iterativos que, en cada paso aumentan un elemento hasta completar una solución. Usualmente son métodos determinísticos y están basados en seleccionar, en cada iteración el elemento con mejor evaluación.

Page 4: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Métodos Constructivos

Seleccionar secuencialmente el elemento que minimiza el incremento en el costo parcial;

Eventualmente descartando algunos ya seleccionados;

De tal forma que al final se obtenga una solución viable ( F);

El aumento en el costo de la solución es llamado de función gulosa;

algoritmo míope, pues “ve” solamente lo que está mas próximo.

Page 5: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Métodos Constructivos

Problema de la Mochila

Page 6: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema de la Mochila Imagine que los alumnos del curso sean premiados con un

viaje en um cruzero marítimo después de finalizar sus estudios, patrocinado por la universidad.

En alta mar el navío comienza a hundirse...

Solo existe um barco salvavidas, que, solamente puede llevar c kilos

Page 7: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema de la Mochila

Cada persona i tiene un peso pi ,

Cada persona i proporciona un beneficio bi caso sea rescatada por el barco salvavidas,

El problema consiste en escoger las personas que aportaran con el mayor beneficio posible sin ultrapasar la capacidad del barco.

Page 8: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema de la Mochilapersona Peso (Kg) Beneficio

persona X 140 0

recién graduado 60 1

Atlético 100 3

Profesor de Ingeniería 80 4

Morena “ojos verdes” 75 3

Rubia 60 2

Pelé 90 10

Capacidad del barco: 250 Kg. Solución 1: Pelé + L+ A (250 Kg) Beneficio = 15

Page 9: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema de la Mochilapersona Peso (Kg) Beneficio

Persona X 140 0

recién graduado 60 1

ATLETICO 100 3

Profesor de Ingeniería 80 4

Morena “ojos verdes” 75 3

Rubia 60 2

Pelé 90 10

Capacidad del barco: 250 Kg. Solución 1: Pelé + L + A (250 Kg) Beneficio = 15

Solución 2: Pelé + MOV + PE (245 Kg) Beneficio = 17

Page 10: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Complejidad del Problema de la mochila

Para n personas existen 2n combinaciones posibles,

Ejemplo: Para n = 50 existen 1015 soluciones a ser evaluadas,

Una computadora que realiza una evaluación en10-8 segundos utilizaría aproximadamente 130 dias para encontrar la melhor solución!,

Conclusión: El barco se hundiría antes que la decisión sea elegida y se elija las personas que serán las escogidas.

Page 11: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Un método heurístico (constructivo) para el Problema de la Mochila

persona Peso (Kg) BeneficioBeneficio/Peso

persona X 140 0 0

recién graduado 60 1 0,017

ATLETICO 100 3 0,030

profesor de ingeniería 80 4 0,050

morena “ojos verdes” 75 3 0,040

rubia 60 2 0,030

Pelé 90 10 0,111

1º Paso: Calcular la relación beneficio/peso

Page 12: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Un método heurístico (constructivo) para el Problema de la Mochila

persona Peso (Kg) BeneficioBeneficio/Peso

Pelé 90 10 0,111

profesor de ingeniería 80 4 0,050

morena “ojos verdes” 75 3 0,040

rubia 60 2 0,030

ATLETICO 100 3 0,030

recién graduado 60 1 0,017

persona X 140 0 0

2º Paso: Ordenar los elementos

Page 13: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Un método heurístico (constructivo) para el Problema de la Mochila

persona Peso (Kg) BeneficioBeneficio/Peso

Pelé 90 10 0,111

profesor de ingeniería 80 4 0,050

Morena “ojos verdes” 75 3 0,040

rubia 60 2 0,030

ATLETICO 100 3 0,030

recién graduado 60 1 0,017

persona X 140 0 0

3º Paso: Elegir el elemento que producirá la mayor relación beneficio/peso, y que respete la capacidad del barco

Page 14: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Un método heurístico (constructivo) para el Problema de la Mochila

persona Peso (Kg) BeneficioBeneficio/Peso

Pelé 90 10 0,111

profesor de ingeniería 80 4 0,050

morena “ojos verdes” 75 3 0,040

rubia 60 2 0,030

ATLETICO 100 3 0,030

recién graduado 60 1 0,017

persona X 140 0 0

4º Paso: Repetir el paso anterior hasta que ningún elemento pueda ser insertado en el barco sin ultrapasar la capacidad del mismo.

Page 15: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Un método heurístico (constructivo) para el Problema de la Mochila

persona Peso (Kg) BeneficioBeneficio/Peso

Pelé 90 10 0,111

profesor de ingeniería 80 4 0,050

Morena “ojos verdes” 75 3 0,040

rubia 60 2 0,030

ATLETICO 100 3 0,030

recién graduado 60 1 0,017

persona X 140 0 0

4º Paso: Repetir el paso anterior hasta que ningún elemento pueda ser insertado en el barco sin ultrapasar la capacidad del mismo.

Page 16: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Un método heurístico (constructivo) para el Problema de la Mochila

Pelé (90, 10) Prof. de ingeniería (80, 4) Morena (75, 3)

Capacidad del barco: 250 Capacidad utilizada : 245 Beneficio: 17

Page 17: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Otras heurísticas constructivas

Problema de la Mochila

n=?, C=?w=[ ?, ?]p=[ ?, ?]

Page 18: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurística #1 Mochila 0-1

Ser goloso en la utilización de la capacidad: Seleccionar los items en orden cresciente del peso !

n=2, C=7w=[ 3 , 6 ]p=[ 2 , 10 ]

Apenas el item 1 es selecionado;

Valor (profit) de la selección es 2.

No provee la mejor solución! (item 2, valor 10)

Page 19: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurística #2 Mochila 0-1

Ser goloso en la ganancia del valor (profit): Seleccionar los items en orden decresciente del valor !

n=3, C=7w=[ 7, 3,2 ]p=[ 10, 8,6 ]

Valor (profit) de la selección es 10;

Apenas el item 1 es selecionado.

No provee la mejor selección! (items 2 y 3, valor 14)

Page 20: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurística #3 Mochila 0-1

Ser goloso en la densidad del valor: razón pi/wi

Seleccionar los items en orden decresciente de densidad de valor !

n=2, C=7w=[ 1 , 7 ]

p=[ 10 , 21 ]

Apenas el item 1 es seleccionado, con valor (profit) 10.

No provee la mejor solución! (item 2, valor 21)

Page 21: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurística #3: golosa en la densidad de valor pi/wi

Funciona para el Problema de la Mochila Fraccionária

n=2 , C=7

w=[ 1 , 7 ] p=[ 10 , 21 ]

Fase 1: El ítem 1 es seleccionado, con valor (profit) 10;

Fase 2: se selecciona 6/7 del ítem 2, agregando valor 18.

Solución óptima de valor 28 !

(x2=6/7)

(x1=1)

Page 22: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Algoritmo Goloso

Precepto: hacer una elección localmente ótima (miope), con la esperanza de que esta elección lleve a una solución óptima global.

La elección hecha en cada paso debe ser:

Viable: satisfacer las restricciones del problema;

Localmente óptima: la mejor elección local entre todas las elecciones viables;

Irrevocable: una vez hecha, la elección no puede ser alterada en los pasos subsecuentes (invariancia).

Los algoritmos golosos siempre generan soluciones óptimas?

Page 23: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Algoritmo de construcción golosa

Page 24: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Programación Dinámica Metodología

1. Caracterizar la estructura de una solución óptima;

2. Definir recursivamente el valor de una solución óptima;

3. Computar el valor de una solución óptima de manera bottom-up:

Primero encontrar soluciones óptimas para los subproblemas;

Después escoger cual utilizar en la solución óptima para el problema.

Page 25: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Mochila 0-1: Programación Dinámica

Relaciones de RecurrenciaSean dados:

Capacidad de la mochila: C Valor y peso de cada item i: (pi,wi)

Defina:ƒ[i,c] = valor de la solución óptima para:

una mochila de capacidad disponible c; items disponibles (candidatos a entrar) {1,...,i }.

Entonces:

Idea: •discretizar la capacidad c de 1 hasta C •aumentar i y c gradualmente hasta... •alcanzar la solución ƒ[n,C]

Page 26: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Mochila 0-1: Programación DinámicaRelaciones de recursividad: principio de la

optimalidad

0 , si i=0 o c=0ƒ [ i-1,c ] , si wi>cMax { pi + ƒ [ i-1,c-wi ] , ƒ [ i-1,c] } , si i>0 y

c≥wi

Principio de optimalidad para las relaciones de recursividad de la Mochila 0-1:

El mejor subconjunto de {1,..,i} que posee peso c es:

el mejor subconjunto de {1,..,i-1} que posee peso c ,

el mejor subconjunto de {1,..,i-1} que posee peso (c-wi ) mas el item i .

ƒ[i,c] =

Page 27: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Mochila 0-1: Programación DinámicaRelaciones de Recurrencia: interpretación

ƒ[i,c] =

0 , se i=0 ou c=0ƒ [ i-1,c ] , se wi>cMax { pi + ƒ [ i-1,c-wi ] , ƒ [ i-1,c] } , se i>0 e

c≥wi

2. wi ≤ c. En este caso el item i puede hacer parte de la solución, y escogemos el que proporciona mayor valor:

2.2 La solución óptima local incluye el item i: nuevo valor: pi + ƒ[ i-1,c-wi ]

2.1 La solución óptima local noo incluye el item i: mismo valor anterior de ƒ

1. wi>c. En este caso el item i no puede hacer parte de la solución, porque se estuviese el peso sería>c, contrariando el principio de la optimalidad;

Page 28: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Mochila 0-1: Programación DinámicaAlgoritmo y complejidad

for c 0 to Cƒ[ 0,c] = 0

for i 1 to nƒ[ i,0] = 0for c 1 to C

if (wi <= c) // item i puede hacer parte de la solución

if (pi + ƒ[ i-1,c-wi ] > ƒ[ i-1,c ]ƒ[ i,c ] = pi + ƒ[ i-1,c- wi ] // item i participa de

la solución

else ƒ[ i,c ] = ƒ[ i-1,c ] // item i no participa de la

soluciónelse ƒ[ i,c] = ƒ[ i-1,c ] // wi > c : item I no puede hacer parte de

la solución

Complejidad: O(nC) pseudo-polinomial (depende de C)

Page 29: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Métodos Constructivos

Problema del Agente Viajero

Page 30: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema del Agente Viajero

17! (3.5568734e14)soluciones posibles

Solución óptima:Coste=226.64

Page 31: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema del Agente Viajero

Iteración: 0 Costo: 403.7 Solución óptima: 226.64

Page 32: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Problema del Agente Viajero

532! soluciones posibles

Coste solución óptima =27.686 millas

Page 33: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Métodos constructivos para o PAV

Los mas destacados para el PAV son: Heurísticas del vecino mas Próximo Heurísticas de Inserción Heurísticas basadas en Árboles Generadoras Heurísticas basadas en Economías

Page 34: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurística del “Vecino más Próximo”

Añade en cada paso el vértice más cercano al actual. Debido a Rosenkrantz, Stearns y Lewis (1977)

InicializaciónSeleccionar un vértice j al azar.Hacer t = j y W = V \ {j}.

M ientras (W )Tomar j de W / c tj = min {c ti / i en W}Conectar t a jHacer W = W \ {j} y t =j.

Complejidad: O(n2) Influencia del nodo

inicial Aplicar a partir de cada

nodo: O(n3)

Page 35: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Agente viajeroHeurística Constructiva #1: Vecino mas Próximo

5

4 3

2

1

1

3

2

5

7 ℓ =18

Page 36: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Agente viajeroHeurística Constructiva #1: Vecino mas Próximo

Posibilidad de no encontrar una solución viable:

4

3

2

1

2 2

3 3

1

Page 37: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Agente viajeroHeurística Constructiva #1: Vecino

mas Próximo

Posibilidad de obtener soluciones arbitrariamente “ruins”:

5

4 3

2

1

2

1

1

1

1

22

22

M

Page 38: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

Idea: Iniciar con una sub ruta que considere

tres ciudades (las cuales pueden ser obtenidas por la heurística del vecino mas próximo)

Adicionar la ciudad k (entre las ciudades i y j) que producirá la inserción mas barata sij = cik + ckj - cij

Terminar cuando todas las ciudades fueren visitadas

Page 39: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

Ciudad 1 2 3 4 5

1 0 12 7 9 8

2 12 0 11 7 6

3 7 11 0 12 13

4 9 7 12 0 8

5 8 6 13 8 0

Sub-Ruta inicial: 1->3->2->1 Costo: 30

Page 40: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

2

4

3

5

1

12

7

11

Page 41: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

2

4

3

5

1

12

7

11

7

9

Costo de la inserción = 9 + 7 – 12 = 4

Page 42: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

2

4

3

5

1

12

7

11

Costo de la inserción = 12 + 7 – 11 = 8

12

7

Page 43: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

2

4

3

5

1

12

7

11

Costo de la inserción = 9 + 12 - 7 = 14

129

Page 44: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

Sub ruta: 1->3->2->5->1 Costo parcial = 32

i j k sij

1 2 4 9 + 7 - 12 = 4

1 3 4 9 + 12 – 7 = 14

2 3 4 12 + 7 – 11 = 8

1 2 5 8 + 6 – 12 = 2

1 3 5 8 + 10 – 7 = 11

2 3 5 10 + 6 – 11= 5

Page 45: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

Ruta final: 1->3->4->2->5->1 Costo: 37

i j k sij

1 3 4 9 + 9 – 7 = 11

5 1 4 9 + 8 – 8 = 9

3 2 4 9 + 7 – 11 = 5

2 5 4 8 + 7 – 6 = 9

Page 46: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

AV- Heurística Constructiva #2: Heurística de inserción

Extender ciclos que pasan por unos cuantos vértices (subtours), insertando un vértice nuevo en cada paso.

Mas Barato

Mas Distante

Mas Próximo

Aleatorio

Page 47: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurísticas basadas en Árboles Generadores: árboles y

Acoplamientos Un grafo es conexo si todo par de vértices esta unido por un

camino. Un árbol es un grafo conexo que no contiene ciclos. Un árbol generador es un árbol sobre todos los vértices. Un acoplamiento es un subconjunto M del conjunto de aristas tal

que cada vértice del grafo es incidente con una arista de M. Un acoplamiento es perfecto si es de cardinalidad máxima e igual

a |V|/ 2.

1

23

4

5

6

7

8

1

23

4

5

6

7

8

ÁrbolGenerador

AcoplamientoPerfecto

Page 48: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

48. R. Martí. Universidad de Valencia.

Heurísticos basados enÁrboles Generadores

Paso 1Árbol generador demínimo peso

2

3 4

5

1

86

7

9

10

25

16

25 19

19

1415

179

2

3 4

5

1

86

7

910

2

3 4

5

1

86

7

9

10

25

16

19

14

179

68

45

Paso 2Duplicación de Aristas

Paso 3Obtención del Tour

Page 49: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Algoritmo de Christofides

Paso 2: En lugar de duplicar las aristas del árbol se añaden las aristas de un acoplamiento perfecto de mínimo peso sobre los vértices de grado impar del árbol generador.

2

3 4

5

1

86

7

9

10

25

16

25 19

19

1415

179

21

19

2

3 4

5

1

86

7

9

10

25

16

19

1415

179

21

1948

Page 50: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Heurísticos basados en Ahorros

Combinar sucesivamente subtours hasta obtener un tour. (Clarke y Wright, 1964)

Los subtours tienen un vértice común llamado base (z)

z

i

j z

i

j

Page 51: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Comparación dos Métodos

La librería de dominio público TSPLIB contiene un conjunto de ejemplos con la solución óptima del TSP. (Reinelt , 1991)

c c

ch opt

opt

100Porcentaje de desviación del óptimo :

Heurístico Desviacióndel Óptimo

T. Ejecución(pr2392)

Vecino más Próximo 18.6% 0.3Inserción más Alejada 9.9% 35.4Christofides 19.5% 0.7Ahorros 9.6% 5.07

Page 52: Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009

Conclusiones

Los Métodos Constructivos son heurísticas que proporcionan rápidamente una solución relativamente buena.

Al diseñar un Método Heurístico tenemos que estudiar Calidad: Estudio Teórico o Empírico.

Eficiencia: Detalles de implementación, Agilizar los cálculos.