La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009."— Transcripción de la presentación:

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

2 Algoritmos Heurísticos Métodos Constructivos Métodos de Busca Local Métodos Combinados Métodos de Resolución

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

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

5 Métodos Constructivos Problema de la Mochila

6 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

7 Problema de la Mochila Cada persona i tiene un peso p i, Cada persona i proporciona un beneficio b i 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.

8 Problema de la Mochila personaPeso (Kg)Beneficio persona X1400 recién graduado601 Atlético1003 Profesor de Ingeniería804 Morena “ojos verdes”753 Rubia602 Pelé9010 Capacidad del barco: 250 Kg. Capacidad del barco: 250 Kg. Solución 1: Pelé + L+ A (250 Kg) Beneficio = 15 Solución 1: Pelé + L+ A (250 Kg) Beneficio = 15

9 Problema de la Mochila personaPeso (Kg)Beneficio Persona X1400 recién graduado601 ATLETICO1003 Profesor de Ingeniería804 Morena “ojos verdes”753 Rubia602 Pelé9010 Capacidad del barco: 250 Kg. Capacidad del barco: 250 Kg. Solución 1: Pelé + L + A (250 Kg) Beneficio = 15 Solución 1: Pelé + L + A (250 Kg) Beneficio = 15 Solución 2: Pelé + MOV + PE (245 Kg) Beneficio = 17 Solución 2: Pelé + MOV + PE (245 Kg) Beneficio = 17

10 Complejidad del Problema de la mochila Para n personas existen 2 n combinaciones posibles, Ejemplo: Para n = 50 existen 10 15 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.

11 Un método heurístico (constructivo) para el Problema de la Mochila personaPeso (Kg)Beneficio Beneficio/ Peso persona X14000 recién graduado6010,017 ATLETICO10030,030 profesor de ingeniería8040,050 morena “ojos verdes”7530,040 rubia6020,030 Pelé90100,111 1º Paso: Calcular la relación beneficio/peso

12 Un método heurístico (constructivo) para el Problema de la Mochila personaPeso (Kg)Beneficio Beneficio/ Peso Pelé90100,111 profesor de ingeniería8040,050 morena “ojos verdes”7530,040 rubia6020,030 ATLETICO10030,030 recién graduado6010,017 persona X14000 2º Paso: Ordenar los elementos

13 Un método heurístico (constructivo) para el Problema de la Mochila personaPeso (Kg)Beneficio Beneficio/ Peso Pelé90100,111 profesor de ingeniería8040,050 Morena “ojos verdes”7530,040 rubia6020,030 ATLETICO10030,030 recién graduado6010,017 persona X14000 3º Paso: Elegir el elemento que producirá la mayor relación beneficio/peso, y que respete la capacidad del barco

14 Un método heurístico (constructivo) para el Problema de la Mochila personaPeso (Kg)Beneficio Beneficio/ Peso Pelé90100,111 profesor de ingeniería8040,050 morena “ojos verdes”7530,040 rubia6020,030 ATLETICO10030,030 recién graduado6010,017 persona X14000 4º Paso: Repetir el paso anterior hasta que ningún elemento pueda ser insertado en el barco sin ultrapasar la capacidad del mismo.

15 Un método heurístico (constructivo) para el Problema de la Mochila personaPeso (Kg)Beneficio Beneficio/ Peso Pelé90100,111 profesor de ingeniería8040,050 Morena “ojos verdes”7530,040 rubia6020,030 ATLETICO10030,030 recién graduado6010,017 persona X14000 4º Paso: Repetir el paso anterior hasta que ningún elemento pueda ser insertado en el barco sin ultrapasar la capacidad del mismo.

16 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

17 Otras heurísticas constructivas Problema de la Mochila n=?, C=? w=[ ?, ?] p=[ ?, ?]

18 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=7 w=[ 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)

19 Heurística #2 Mochila 0-1 Ser goloso en la ganancia del valor (profit): orden decresciente del valor Seleccionar los items en orden decresciente del valor ! n=3, C=7 w=[ 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! No provee la mejor selección! (items 2 y 3, valor 14)

20 Heurística #3 Mochila 0-1 p i /w i Ser goloso en la densidad del valor: razón p i /w i orden decresciente de densidad de valor Seleccionar los items en orden decresciente de densidad de valor ! n=2, C=7 w=[ 1, 7 ] p=[ 10, 21 ] Apenas el item 1 es seleccionado, con valor (profit) 10. No provee la mejor solución! No provee la mejor solución! (item 2, valor 21)

21 Heurística #3: golosa en la densidad de valor p i / w i 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 ! ( x 2 = 6/7 ) (x1=1)(x1=1)(x1=1)(x1=1)

22 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?

23 Algoritmo de construcción golosa

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

25 Mochila 0-1: Programación Dinámica Relaciones de Recurrencia Sean dados: Capacidad de la mochila: C Valor y peso de cada item i : (p i,w i ) 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]

26 Mochila 0-1: Programación Dinámica Relaciones de recursividad: principio de la optimalidad 0, si i=0 o c=0 ƒ [ i-1,c ], si w i >c Max { p i + ƒ [ i-1,c-w i ], ƒ [ i-1,c] }, si i>0 y c≥w i 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-w i ) mas el item i. ƒ[i,c] =

27 Mochila 0-1: Programación Dinámica Relaciones de Recurrencia: interpretación ƒ[i,c] = 0, se i=0 ou c=0 ƒ [ i-1,c ], se w i >c Max { p i + ƒ [ i-1,c-w i ], ƒ [ i-1,c] }, se i>0 e c≥w i 2.w i ≤ 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.w i >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;

28 Mochila 0-1: Programación Dinámica Algoritmo y complejidad for c  0 to C ƒ[ 0,c] = 0 for i  1 to n ƒ[ i,0] = 0 for c  1 to C if (w i <= c) // item i puede hacer parte de la solución if (p i + ƒ[ i-1,c-w i ] > ƒ[ i-1,c ] ƒ[ i,c ] = pi + ƒ[ i-1,c- w i ] // item i participa de la solución else ƒ[ i,c ] = ƒ[ i-1,c ] // item i no participa de la solución ƒ[ i,c ] = ƒ[ i-1,c ] // item i no participa de la solución else ƒ[ i,c] = ƒ[ i-1,c ] // w i > c : item I no puede hacer parte de la solución Complejidad: O(nC)  pseudo-polinomial (depende de C)

29 Métodos Constructivos Problema del Agente Viajero

30 17! (3.5568734e14) soluciones posibles Solución óptima: Coste=226.64

31 Problema del Agente Viajero Iteración: 0 Costo: 403.7 Solución óptima: 226.64

32 Problema del Agente Viajero 532! soluciones posibles Coste solución óptima = 27.686 millas

33 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

34 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) Complejidad: O(n 2 ) Influencia del nodo inicial Aplicar a partir de cada nodo: O(n 3 )

35 Agente viajero Heurística Constructiva #1: Vecino mas Próximo 5 43 2 1 1 3 2 5 7 ℓ =18

36 Agente viajero Heurística Constructiva #1: Vecino mas Próximo Posibilidad de no encontrar una solución viable: 4 3 2 1 22 33 1

37 Agente viajero Heurística Constructiva #1: Vecino mas Próximo Posibilidad de obtener soluciones arbitrariamente “ruins”: 5 43 2 1 2 1 1 1 1 22 22 M

38 AV- Heurística Constructiva #2: Heurística de inserción Idea: 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 s ij = c ik + c kj - c ij  Terminar cuando todas las ciudades fueren visitadas

39 AV- Heurística Constructiva #2: Heurística de inserción Ciudad12345 1012798 2 01176 37 01213 4971208 5861380 Sub-Ruta inicial: 1->3->2->1 Costo: 30

40 AV- Heurística Constructiva #2: Heurística de inserción 2 4 3 5 1 12 7 11

41 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

42 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

43 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 12 9

44 AV- Heurística Constructiva #2: Heurística de inserción Sub ruta: 1->3->2->5->1 Costo parcial = 32 ijks ij 1249 + 7 - 12 = 4 1349 + 12 – 7 = 14 23412 + 7 – 11 = 8 1258 + 6 – 12 = 2 1358 + 10 – 7 = 11 23510 + 6 – 11= 5

45 AV- Heurística Constructiva #2: Heurística de inserción Ruta final: 1->3->4->2->5->1 Costo: 37 ijks ij 1349 + 9 – 7 = 11 5149 + 8 – 8 = 9 3249 + 7 – 11 = 5 2548 + 7 – 6 = 9

46 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

47 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 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Árbol Generador Acoplamiento Perfecto

48 48. R. Martí. Universidad de Valencia. Heurísticos basados en Árboles Generadores Paso 1 Árbol generador de mínimo peso 2 3 4 5 1 8 6 7 9 10 25 16 25 19 14 15 17 9 2 3 4 5 1 8 6 7 9 10 2 3 4 5 1 8 6 7 9 25 16 19 14 17 9 68 45 Paso 2 Duplicación de Aristas Paso 3 Obtención del Tour

49 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 8 6 7 9 10 25 16 19 14 15 17 9 21 19 48

50 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

51 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) Porcentaje de desviación del óptimo :

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


Descargar ppt "Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009."

Presentaciones similares


Anuncios Google