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

1/14/2013

OA4201 Nonlinear Programming

Lecture Notes 2

Overview

• Last time:
– Min/max decomposition algorithm;
Min/max decomposition algorithm;
counterinsurgency example
• Now:
– Further details on min/max decomposition
– Benders decomposition
• Upcoming: 
– Lab this Wednesday in GL‐203

1
1/14/2013

Min/Max Decomposition Algorithm
1. “Guess” an initial solution y.
2. Solve the Subproblem using this y.
– Accumulate another extreme point.
Accumulate another extreme point
– Update upper bound if possible. If the upper bound is updated, 
set y*=y (i.e., save the current y as a possible optimal solution).
– If upper bound = lower bound, stop. 
Return y* as the optimal solution.
3. Solve the Master Problem using all accumulated extreme points.
– Update lower bound.
Update lower bound
– If upper bound = lower bound, stop. 
Return y* as the optimal solution.
4. Return to Step 2. Solve the Subproblem using the optimal y from Step 3.

Subproblem
max (1  y )u1  (1  2 y )u2
u1 ,u2

s.t. u1  u2  1
u1 , u2  0
• We put ourselves in the adversary’s shoes to evaluate a 
possible plan y.
• We learn how the adversary will respond to our plan.
• Objective value is an upper bound on the objective 
value of the original min/max problem.
– We restrict ourselves to a single plan while allowing 
the adversary to choose any plan.

2
1/14/2013

Master Problem
min z
0  y  2; z

s.t. z  (1  y )u11  (1  2 y )u12


z  (1  y )u12  (1  2 y )u22

z  (1  y )u1k  (1  2 y )u2k
• Find the best plan y for the adversary’s plans we’ve 
observed so far
observed so far.
• Objective value is a lower bound on the objective 
value of the original min/max problem.
– We take into account only a subset of the possible 
plans the adversary may choose.

Graphical Interpretation

1 2 y

3
1/14/2013

Another example
min max (1  y1 )u1  (3  2 y2 )u2  (5  3 y3 )u3
yY u

s.t. u1  2u2  4u3  4


u1 , u2 , u3  {0,1}
{0 1}

where
Y  { y  {0,1}3 | y1  y2  y3  1}

4
1/14/2013

Can Adversary Plans Repeat?
• Each time we solve the subproblem, we obtain a plan 
for the adversary.
• Each plan gives us a cut
Each plan gives us a cut in our master problem.
in our master problem
• If we keep generating new cuts, we will eventually 
obtain the optimal solution to the original min/max 
problem.
• Question: will we always generate new cuts, or can we 
become “stuck”
become  stuck  generating the same cuts (plans) over 
generating the same cuts (plans) over
and over?

5
1/14/2013

Extension: Benders Decomposition
• Benders decomposition is used for problems in which 
variables can be separated into a vector x of “easy” 
variables and a vector y of 
variables and a vector y of “hard”
hard  variables.
variables.
– Given values of the “hard” variables y, it is easy to 
optimize with respect to the “easy” variables x.
• Consider the problem
z*  min f ( y )  c ' x
x, y

s.t. Ax  By  b
x0
y Y

Benders Decomposition
• For a fixed y, the “easy” subproblem is:
h( y )  f ( y )  min cx
x

s.t. Ax  b  By
x0

• For fixed y, this is simply a linear program. Therefore, it 
has a dual with the same optimal objective value:
h( y )  f ( y )  max(b  By )u
u

s.t. Au  c

6
1/14/2013

Benders Decomposition
• The feasible region of the dual subproblem has a set of 
E  {u1 , u 2 ,..., u |E| }
extreme points                                .
• From LP theory, we know that at least one extreme 
From LP theory we know that at least one extreme
point is optimal. Therefore, 

h( y )  f ( y )  max(b  By )u
u

s.t. A ' u  c

 f ( y )  max (b  By )u l
l 1,2,...,| E |

Benders Decomposition
• Based on this insight, we can transform our original 
problem as follows:
i f ( y )  cx
z*  min
x, y

s.t. Ax  By  b
x0
y Y

7
1/14/2013

Вам также может понравиться