Group: sci.op-research
From: saneman
Date: Friday, February 22, 2008 1:58 PM
Subject: Lagrangian multipliers

I am trying to understand how to find the optimal Lagrangian multipliers
for a Lagrangian relaxation of an integer program.

I am reading an example with the below integer program:

(IP)
z = max 7x1 + 2x2
s.t -x1 + 2x2 <= 4
5x1 + x2 <= 20
-2x1 - 2x2 <= -7
-x1 <= -2
x2 <= 4
x1,x2 integer

The optimal solution for (IP) is: (x1,x2) = (4,0) with the value z* = 28.



A Lagrangian relaxation of the first constraint for u >= 0 leads to the
following model (which is an upper bound for (IP)):

(IP(u))
z(u) = max (7+u)x1 + (2-2u)x2 + 4u
s.t 5x1 + x2 <= 20
-2x1 - 2x2 <= -7
-x1 <= -2
x2 <= 4
x1,x2 integer


Where the objective function is rewritten from:

7x1 + 2x2 - u(-x1 + 2x2 - 4)


I would now like to find the best (smallest) upper bound. This means to
find the optimal Lagrangian multipliers 'u'.

In the example they find that u = 1/9 gives the tightest bound for
(x1,x2)=(3,4) with a value 28.88.

But what method is used to find u = 1/9 and why are the solution
(x1,x2)=(3,4) used?


I have read (Wolsey: Integer Programming) that to find the optimal
values for 'u' one must solve the Lagrangian dual problem:

(LD)

w_LD = min{z(u) : u >=0}

But I don't see how that is applied to the above example.