Вы находитесь на странице: 1из 26

Relajaci´on de Lagrange

Considere el siguiente programa entero: (P:)

z = max

cx

s.a :

Ax

b

Dx

e

x

0, entero

Suponga que 2 es un conjunto de restricciones que complica el problema.

Sea:

u =

u

u

u

.

1

2

3

.

u

.

m

un vector de m multiplicadores no-negativos

(uno por cada restricci´on en 2).

(1)

(2)

(3)

(4)

u

 un vector de m multiplicadores no-negativos (uno por cada restricci´on en 2). (1) (2) (3)

Relajaci´on de Lagrange

Considere b Ax

0 y u 0.

u(b Ax) 0 se cumple cuando 2 se satisface.

Como 2 complican el problema, se remueven del conjunto de restricciones y se a˜naden al objetivo. 1 se vuelve: z = m´ax cx + u(b Ax )

y el problema es:

 

z

=

max cx + u(b Ax)

s.a :

Dx

e

x

0, entero

el problema es:   z = max cx + u ( b − Ax ) s

Relajaci´on de Lagrange

(L:)

 

z

=

max cx + u(b Ax)

(5)

s.a :

Dx

e

(6)

x

0, entero

(7)

Beneficios:

1. El conjunto de restricciones 6 es m´as f´acil de tratar

2. Si 2 se satisfacen, se premia el objetivo. De lo contrario, se penaliza.

La penalizaci´on por no satisfacer 2 est´a dada por u u n se puede ajustar de acuerdo con el grado de dificultad de la restricci´on n

La soluci´on de (L) es una cota superior a la soluci´on de (P)

con el grado de dificultad de la restricci´on n La soluci´on de (L) es una cota

Relajaci´on de Lagrange

Si u es demasiado grande, Ax b estar´a sub-satisfecho y no generar´a una buena soluci´on de (P).

Si u es demasiado peque˜no, Ax b puede no satisfacerse en absoluto u debe ser tal que:

m´ın m´ax {cx + u(b Ax)}

u

x

s.a :

Dx

e

x

0, entero

Aplicamos un m´etodo iterativo para encontrar valores de u que inducen x tal que se satisfacen las restricciones relajadas y se alcanza un buen valor objetivo del problema original.

inducen x tal que se satisfacen las restricciones relajadas y se alcanza un buen valor objetivo

Relajaci´on de Lagrange

Problemas:

¿Qu´e restricciones relajar?

¿Cu´al debe ser la penalizaci´on u?

(L) debe producir una buena soluci´on factible de (P). Se trata de encontrar el mejor conjunto de us, no de a˜nadir variables de penalizaci´on.

factible de (P). Se trata de encontrar el mejor conjunto de us , no de a˜nadir

Ejemplo, Relajaci´on de Lagrange

z = max 16x 1 + 10x 2 + 4x 4

 

(8)

s.a :

8x 1 + 2x 2 + x 3 + 4x 4

10

(9)

x 1 + x 2

1

(10)

x 3 + x 4

1

(11)

x i binario i

(12)

”Dualizando”9:

z D (u) = max 16x 1 + 10x 2 + 4x 4 + u(10 8x 1 2x 2 x 3 4x 4 )

s.a : x 1 + x 2 x 3 + x 4 u ≥ 0
s.a
:
x 1 + x 2
x 3 + x 4
u ≥ 0
1
1
x i binario ∀i,

Coeficientes

Z

16

10

0

4

r1

1

1

0

0

r2

0

0

1

1

r3

8

2

1

4

 

u

x 1

x 2

x 3

x 4

z D (u)

z

 

r1

r2

r3

0.00

1

0

0

1

20.00

--

NF

1

<=1

1

<=1

12

<=10

6.00

0

0

0

0

60.00

0

F

0

<=1

0

<=1

0

<=10

3.00

0

1

0

0

34.00

10

F

1

<=1

0

<=1

2

<=10

2.00

0

1

0

0

26.00

10

F

1

<=1

0

<=1

2

<=10

1.00

1

0

0

0

18.00

16

F

1

<=1

0

<=1

8

<=10

1.00

1

0

0

1

18.00

--

NF

1

<=1

1

<=1

12

<=10

1.00

0

1

0

0

18.00

10

F

1

<=1

0

<=1

2

<=10

1.00

0

1

0

1

18.00

14

F

1

<=1

1

<=1

6

<=10

0.50

1

0

0

1

19.00

--

NF

1

<=1

1

<=1

12

<=10

0.75

1

0

0

1

18.50

--

NF

1

<=1

1

<=1

12

<=10

Mejor solución entera (LB=16) Mejor cota ( UB = 18)

u z D (u) x 1 x 2 x 3 x 4 z r1 r2
u
z D (u)
x 1
x 2
x 3
x 4
z
r1
r2
r3
0.00
1
0
0
1
20.00
--
NF
1
<=1
1
<=1
12
<=10
6.00
0
0
0
0
60.00
0
F
0
<=1
0
<=1
0
<=10
3.00
0
1
0
0
34.00
10
F
1
<=1
0
<=1
2
<=10
2.00
0
1
0
0
26.00
10
F
1
<=1
0
<=1
2
<=10
1.00
1
0
0
0
18.00
16
F
1
<=1
0
<=1
8
<=10
1.00
1
0
0
1
18.00
--
NF
1
<=1
1
<=1
12
<=10
1.00
0
1
0
0
18.00
10
F
1
<=1
0
<=1
2
<=10
1.00
0
1
0
1
18.00
14
F
1
<=1
1
<=1
6
<=10
0.50
1
0
0
1
19.00
--
NF
1
<=1
1
<=1
12
<=10
0.75
1
0
0
1
18.50
--
NF
1
<=1
1
<=1
12
<=10

Relajaci´on de Lagrange

 

max cx

s.a :

Ax b

Lagrangiano:

L

u 0 porque queremos m´aximo beneficio positivo si la restricci´on se satisface

= max cx + u(b Ax)

L u ≥ 0 porque queremos m´aximo beneficio positivo si la restricci´on se satisface = max

Relajaci´on de Lagrange

 

min cx

s.a :

Ax b

Lagrangiano:

L = min

(b Ax) 0, satisface.

cx + u(b Ax)

u 0 premian el objetivo si la restricci´on se

= min ( b − Ax ) ≥ 0 , satisface. cx + u ( b

Relajaci´on de Lagrange

Lagrangiano:

min (o

s.a :

max) cx

Ax = b

L = min (o max) cx + u(b Ax) u sin restricciones de signo.

min ( o s . a : max ) cx Ax = b L = min

Problema: presupuesto de inversiones

Minimizar el costo de inversi´on Satisfacer rentabilidad m´ınima

minimizar 40x 1 + 60x 2 + 70x 3 + 160x 4 sujeto a : 16x 1 + 35x 2 + 45x 3 + 85x 4 81 x 1 , x 2 , x 3 , x 4 E +

La relajaci´on Lagrangiana es:

minimizar

(40 16u)x 1 + (60 35u)x 2 + (70 45u)x 3 + (160 85u)x 4 + 81u

x 1 , x 2 , x 3 , x 4 E + , u 0

sujeto a :

x 3 + (160 − 85 u ) x 4 + 81 u x 1 ,

u

x1

x2

x3

x4

 

ci-u*ai

 

min(ci - u*ai, 0)

 

sum(ci-u*ai)

Lo

0,00

0

0

0

0

40,00

60,00

70,00

160,00

0,00

0,00

0,00

0,00

0,00

0,00

0,10

0

0

0

0

38,40

56,50

65,50

151,50

0,00

0,00

0,00

0,00

0,00

8,10

0,20

0

0

0

0

36,80

53,00

61,00

143,00

0,00

0,00

0,00

0,00

0,00

16,20

0,30

0

0

0

0

35,20

49,50

56,50

134,50

0,00

0,00

0,00

0,00

0,00

24,30

0,40

0

0

0

0

33,60

46,00

52,00

126,00

0,00

0,00

0,00

0,00

0,00

32,40

0,50

0

0

0

0

32,00

42,50

47,50

117,50

0,00

0,00

0,00

0,00

0,00

40,50

0,60

0

0

0

0

30,40

39,00

43,00

109,00

0,00

0,00

0,00

0,00

0,00

48,60

0,70

0

0

0

0

28,80

35,50

38,50

100,50

0,00

0,00

0,00

0,00

0,00

56,70

0,80

0

0

0

0

27,20

32,00

34,00

92,00

0,00

0,00

0,00

0,00

0,00

64,80

0,90

0

0

0

0

25,60

28,50

29,50

83,50

0,00

0,00

0,00

0,00

0,00

72,90

1,00

0

0

0

0

24,00

25,00

25,00

75,00

0,00

0,00

0,00

0,00

0,00

81,00

1,10

0

0

0

0

22,40

21,50

20,50

66,50

0,00

0,00

0,00

0,00

0,00

89,10

1,20

0

0

0

0

20,80

18,00

16,00

58,00

0,00

0,00

0,00

0,00

0,00

97,20

1,30

0

0

0

0

19,20

14,50

11,50

49,50

0,00

0,00

0,00

0,00

0,00

105,30

1,40

0

0

0

0

17,60

11,00

7,00

41,00

0,00

0,00

0,00

0,00

0,00

113,40

1,50

0

0

0

0

16,00

7,50

2,50

32,50

0,00

0,00

0,00

0,00

0,00

121,50

1,60

0

0

1

0

14,40

4,00

-2,00

24,00

0,00

0,00

-2,00

0,00

-2,00

127,60

1,70

0

0

1

0

12,80

0,50

-6,50

15,50

0,00

0,00

-6,50

0,00

-6,50

131,20

1,80

0

1

1

0

11,20

-3,00

-11,00

7,00

0,00

-3,00

-11,00

0,00

-14,00

131,80

1,90

0

1

1

1

9,60

-6,50

-15,50

-1,50

0,00 -6,50 -15,50 -1,50 0,00 -10,00 -20,00 -10,00 0,00 -13,50 -24,50 -18,50 0,00 -17,00 -29,00 -27,00 0,00 -20,50 -33,50 -35,50 0,00 -24,00 -38,00 -44,00 0,00 -27,50 -42,50 -52,50 -1,60 -31,00 -47,00 -61,00 -3,20 -34,50 -51,50 -69,50 -4,80 -38,00 -56,00 -78,00 -6,40 -41,50 -60,50 -86,50 -8,00 -45,00 -65,00 -95,00

-23,50

130,40

2,00

0

1

1

1

8,00

-10,00

-20,00

-10,00

-40,00

122,00

2,10

0

1

1

1

6,40

-13,50

-24,50

-18,50

-56,50

113,60

2,20

0

1

1

1

4,80

-17,00

-29,00

-27,00

-73,00

105,20

2,30

0

1

1

1

3,20

-20,50

-33,50

-35,50

-89,50

96,80

2,40

0

1

1

1

1,60

-24,00

-38,00

-44,00

-106,00

88,40

2,50

1

1

1

1

0,00

-27,50

-42,50

-52,50

-122,50

80,00

2,60

1

1

1

1

-1,60

-31,00

-47,00

-61,00

-140,60

70,00

2,70

1

1

1

1

-3,20

-34,50

-51,50

-69,50

-158,70

60,00

2,80

1

1

1

1

-4,80

-38,00

-56,00

-78,00

-176,80

50,00

2,90

1

1

1

1

-6,40

-41,50

-60,50

-86,50

-194,90

40,00

3,00

1

1

1

1

-8,00

-45,00

-65,00

-95,00

-213,00

30,00

140

120

100

80

60

40

20

0

1.80, 131.80 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
1.80, 131.80
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5

u

x1

x2

x3

x4

Relajación lineal

Lo

x

0.00

0.00

1.80

0.00

 

minimizar

126.00

z

   

c

40

60

70

160

sujeto a

81.00

>=

81

cx

0

0

126

0

126.00

Restricción problema mochila

 

Problema de presupuesto

 

A

16

35

45

85

min cx s.a Ax >= b

minimizar el costo de inversión

Ax

0

0

81

0

81

b

81

garantizar retorno mínimo

M´etodo para encontrar los multiplicadores de Lagrange (Subgradiente)

Encontrar u

(P)

 

z = min

cx

s.a :

Ax

b

 

Dx

e

x

0, entero

 

L(u)

L(u) = m´ın

{cx + u(Ax b)|x

Dx e,

x 0,

x entero}

x

Buscamos u que genera x

L(u)| x=x = cx + u(Ax b)

L(u) = Ax b

que genera x ∗ L ( u ) | x = x ∗ = cx ∗

M´etodo para encontrar los multiplicadores de Lagrange (Subgradiente)

Actualizar los multiplicadores como:

u

x k+1

←−

u + direccion paso = u + θ(Ax b)

←−

x k

¿Qu´e valor tiene θ?

θ muy peque˜no: convergencia lenta

θ muy grande: supera la soluci´on ´optima, oscila

θ debe conducir a la soluci´on ´optima del Lagrangiano

L(u k+1 ) = cx k + u k+1 (Ax k b) = L

Tomar las xs actuales, x k y usar el nuevo valor de u, u k+1 para dirigir la soluci´on ´optima.

L ∗ Tomar las x s actuales, x k y usar el nuevo valor de u

M´etodo para encontrar los multiplicadores de Lagrange

Sea (1):

L(u k+1 ) = cx k + u k+1 (Ax k b) = L

Si encontramos u k+1 que conduce a L , habremos encontrado θ ´optimo pues u es una funci´on de θ, u(θ, x).

¡Pero tampoco conocemos L !

Llamemos (2) a:

u k+1 = u k + θ k (Ax k b)

x k es la mejor aproximaci´on de x que tenemos.

a: u k + 1 = u k + θ k ( Ax k − b

M´etodo para encontrar los multiplicadores de Lagrange

Para encontrar θ, substituimos (2) en (1):

L(u k+1 ) = cx k + [u k + θ k (Ax k b)](Ax k b) = L

L cx k

b) + θ k (Ax k b) 2 = L cx k

u k (Ax k b)

u k (Ax k b) + θ k (Ax k b)(Ax k b)

u k (Ax k

θ k (Ax k b) 2 = L cx k

=

θ k = L cx k u k (Ax k b)

(Ax k b) 2

θ k =

k L ∗ − L b) 2 = L ∗ − L k (Ax k
k
L ∗ − L b) 2 =
L ∗ − L k
(Ax k −
||Ax k − b|| 2
||y || = ( y
2 ) 1/2
j
j

M´etodo para encontrar los multiplicadores de Lagrange

θ k

||y ||

=

=

L L k ||Ax k b|| 2

( y

j

2 ) 1/2

j

Aproximando L con la mejor soluci´on entera, UB (min).

θ k

=

θ k

=

λ k [0, 2]

UB (cx k u k (Ax k b))

||Ax k b|| 2 UB L(u k )

||Ax k b|| 2

· λ k

− u k ( Ax k − b )) || Ax k − b || 2

Problema: asignaci´on generalizada

Minimizar el costo de asignar tareas i a servidores j Tal que cada tarea se asigna a un servidor unicamente´ Tal que se cumplen las restricciones de recursos

sujeto a :

n

i=1

minimizar

m

j=1

x ij = 1

n m

i=1 j=1

i = 1,

c ij x ij

, n

a ij x ij b j j = 1,

, m

x ij ∈ {0, 1}

Relajar las restricciones de recursos Relajar las restricciones de asignaci´on

j = 1 , , m x i j ∈ { 0 , 1 } Relajar

ampl:

displayx;

x

:=

121

311

;

ampl:

displaymult;

mult

[*]

:=

1

9.68995

2

3.75

LB

18 16 14 12 10 8 6 4 2 0 0 10 20 30 40
18
16
14
12
10
8
6
4
2
0
0
10
20
30
40
50
60
70
80
90
10
Escala
Paso
LB
Escala, paso

13

12

11

10

9

8

7

6

Relajaci´on Lagrangiana

El dual de un P.L genera un conjunto de multiplicadores para las restricciones, los cuales son una cota ajustada para el valor ´optimo del objetivo del P.L Por lo general, en programas enteros, no existe un conjunto de multiplicadores de las restricciones que tambi´en sea una cota ajustada

En P.E, cualquier conjunto de multiplicadores del signo adecuado es una cota al ´optimo del P.E. Al aplicar el conjunto de multiplicadores a algunas de las restricciones de un PE o PEM y agregarlos, obtenemos una cota El problema se simplifica al relajar las restricciones complicadas

de un PE o PEM y agregarlos, obtenemos una cota El problema se simplifica al relajar

Relajaci´on Lagrangiana

1. En un problema entero de minimizaci´on, la cota inferior de la relajaci´on lagrangiana es al menos tan ajustada como la obtenida con la relajaci´on lineal

2. Si el subproblema Lagrangiano del problema de optimizaci´on (P):

 

min cx

s.a.

Ax b

x 0

Satisface la propiedad de integralidad, Z LP = L . La cota ´optima obtenida con el Lagrangiano es exactamente igual al valor del objetivo obtenido con la relajaci´on lineal.

Si el Lagrangiano es totalmente unimodular y obtenemos integralidad por nada, entonces la cota ser´a muy d´ebil

M´etodos para encontrar los multiplicadores de Lagrange

El ´exito de su aplicaci´on radica en su ajuste a la estructura del problema espec´ıfico.

1. Optimizaci´on del subgradiente

B´usqueda no lineal del ´optimo (no restringido) de la funci´on dual Lagrangiana Aplicado con ´exito al problema simple de ubicaci´on de plantas y a la determinaci´on del tama˜no ´optimo de lotes en problemas con varios productos, varios periodos.

2. Generaci´on de columnas

3. Ascenso dual

4. M´etodos heur´ısticos

con varios productos, varios periodos. 2. Generaci´on de columnas 3. Ascenso dual 4. M´etodos heur´ısticos

Criterios de terminaci´on

Terminar si existen x¯ Γ, µ¯ tales que se satisfacen las condiciones de holgura complementaria y x¯ minimiza L(x, µ¯) sobre Γ y Ax¯ est´a lo suficientemente cerca de b. Γ es el conjunto del problema relajado, el cual contiene el conjunto definido por las restricciones del problema original.

Terminar cuando la diferencia entre la cota superior y la inferior est´a dentro de una tolerancia aceptable

original. Terminar cuando la diferencia entre la cota superior y la inferior est´a dentro de una