Relajacion lagrangiana
-
Upload
alberto-lagos-razeto -
Category
Business
-
view
4.269 -
download
5
description
Transcript of Relajacion lagrangiana
Relajación Lagrangiana
• LaGrange lo inventó en el año 1797.
• Desde su creación este método ha sido la técnica de acotación preferida, hasta los años 1990 donde apareció la técnica de Branch and Price.
Historia
Descripción del Método
• Consiste en relajar un problema de optimización.
• Busca remover la restricción mala y colocarla en la función objetivo para resolver más fácil el problema.
• Se coloca una restricción en la función objetivo como penalización. Se le asigna un peso a esa penalización con el multiplicador de Lagrange.
• Se usa principalmente en problemas de optimización discreta y en particular en problemas de redes
Descripción del Método
Gráficamente
Z*(x*)
L(λ) | x=x₁ L(λ) | x=x₂
L(λ) | x=x₃
L(λ) | x=x₄
λ
L(λ)
λ*
Min L(λ)•L(λ) esta restringido por los valores que pueden tomar las variables xⁿ.
•Para un x fijo se trazan las recta con λ variable que limitan la función L(λ).
•Se busca el mínimo de la función.
¿Cómo encontramos el lambda que nos ubica en el mínimo?
Método del Subgradiente
Z*(x*)
λ
L(λ)
λ*
Min L(λ)
λⁿ⁺¹=[λⁿ+Ѳⁿ (b-Axⁿ)]⁺
⁺ :representa la parte positiva, será 0 si es que es negativo.
UB: Es un valor factible de Z(x)
b-Axⁿ: Restricción relajada.
µ=Tamaño de salto de la iteración.
µ Grandeµ Chico
Ventajas
• Se aplica a cada descomposición de un modelo y llega a una muy aproximada solución por resolver problemas mas bien generales que de solución única.
• Resuelve núcleos de sub-problemas como modelos independientes.
• La solución Lagrangiana aproximada puede tomar las ventajas de varios algoritmos conocidos.
• Permite desarrollar límites sobre el valor de la función objetivo óptima de manera rápida.
• Idear métodos en base a una heurística efectiva para resolver problemas de optimización combinatorial compleja y programación entera.
Restricciones del Método
• El problema relajado sea más sencillo de resolver que el problema original puesto que podría ser necesario resolverlo muchas veces.
• El otro factor consiste en que la relajación debe ser buena en el sentido de que el valor de la solución del problema relajado debe ser suficientemente cercano al del problema original.
• Un problema min{g(y) : y Ŷ R} es una relajación del ∈ ⊆problema min{f(y) : y Y R} si y sólo si Y Ŷ y f(y) ≤ g(y) ∈ ⊆ ⊆para todo y Y∈
Aplicaciones Clásicas
Tópico Integración de Estructura de Red
Redes con lados limitantes Flujo de costo mínimo Camino más corto
Problema del Vendedor Viajero Asignación de problema Flujo de costo mínimo
Ruta Vehicular Asignación del problema Una variante mínima de árbol
de expansión
Diseño de Redes Camino más corto
Two-duty operator scheduling Camino más corto Flujo de costo mínimo
Árbol de expansión de grado limitado
Árbol de expansión mínimo
Plan de Producción multi-item Camino más corto Flujo de costo mínimo Programas dinámicos
Discución calidad del método
• Es muy barato y tiene un corto tiempo de resolución, ya que no pretende conseguir la optimalidad, sino que busca cotas o soluciones infactibles que se acerquen al óptimo.
• A pesar de esto en gran número de casos se encuentra el óptimo a un bajo costo.
• Permite usar la cotas encontradas para comparar los GAP de distintas heurísticas de manera más exacta que la relajación lineal.
Aplicación en instancia de prueba
• Se tiene el siguiente grafo con las distancias en los arcos y la demanda en el nodo.
• El objetivo es maximizar la demanda cubierta localizando solamente 2 centros de distribución, tomando como consideración que cada centro tiene un radio de cobertura de 20 km.
• Como se muestra a continuación…
Aplicación en instancia de prueba
Aplicación en instancia de prueba
Parámetro Variables
Ai,j= 1 si es que el nodo i cubre al j, 0 en otro caso.
Dj=Demanda centro j. N=número de centros a localizar.
Xj=1 si es que se localiza en j, 0 en otro caso.
Yj=1 si el nodo j es atendido, 0 en otro caso.
Suma la demanda de los nodos atendidos
Un centro es atendido solo si ese centro o alguno a menos de 20 km es atendido
No puede localizarse más de N centros.Restricción a relajar !
Aplicación en instancia de prueba
Lagrangeano:
a b c d e f g h i
a 1 1 0 0 0 0 0 1 0
b 1 1 0 0 0 0 0 0 1
c 0 0 1 1 0 0 0 0 0
d 0 0 1 1 1 0 0 0 1
e 0 0 0 1 1 0 0 0 0
f 0 0 0 0 0 1 1 0 1
g 0 0 0 0 0 1 1 1 0
h 1 0 0 0 0 0 1 1 1
i 0 1 0 1 0 1 0 1 1
Aplicación en instancia de prueba
Ahora para el caso puntual de nuestro problema, se hace la matriz con los valores de Ai,j para un radio de cobertura de 20 km. Luego para la resolución se utiliza solver de Excel para los distintos valores de µ.Ai,j:
11
17
21
31
15
14
2112
11 26
182516
19
34 19
C
D
EFG
H I
1215 23
40
28
18 32
1720
A B
Nodo i es el que más atiende, por tanto es un claro candidato y es bueno incluirlo en la solución inicial. (Heurística Greedy para sol. inicial)
Aplicación en instancia de prueba
Restricción Relajada:Para nuestro caso:
µ
d,e,h,i d,h,i
d,i
30 50
i
Penaliza a la funciónCalza el min. de L(µ) con max. Z(x) ya que la penalización desaparece.
Z*(x*)
205 -
L(µ)
Multiplicador tan grande que conviene que la resta sea positiva localizando menos centros
Aplicación en instancia de prueba
Resumen de resultados:
Lamda Min L Localizaciones Cobertura
0 205 d,e,h,i todos
10 190 d,e,h,i todos
15 190 d,h,i todos
30 175 d,h,i todos
32 173 d,h,i todos
34 172 d,ib,c,d,e,f,h,
i
40 172 d,ib,c,d,e,f,h,
i
50 172 d,ib,c,d,e,f,h,
i
70 190 i b,d,f,h,i
Aplicación en instancia de prueba
Para los valores de lamda entre 32 y 50 se logra el mínimo. La solución de el min L(µ) es la misma que la del máx Z(X), ya que consideran los mismos valores optímales de x, valores donde la penalización es 0, puesto que (N-Xj)=0. La penalización se mantiene así desde el 32 hasta el 50, manteniendo el mínimo.
Conclusiones
• El método de Relajación Lagrangiana, es de gran utilidad para resolver problemas de forma rápida con bajos recursos.
• Consigue óptimos en algunos casos, o cotas mejores que la de la relajación lineal, permitiendo la comparación de heurísticas.
• Se adapta al problema del usuario, pues nosotros elegimos que restricción relajar.
FIN
Sus aplicaciones son infinitas ! Solo basta relajar
¿Preguntas?