branch and price
TRANSCRIPT
-
8/10/2019 Branch and Price
1/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
An Introduction to Branch-and-PricePart I: Theory
Adam N. Letchford
Department of Management ScienceLancaster University
September 2011
http://find/http://goback/ -
8/10/2019 Branch and Price
2/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
Outline
1 The basic idea
2 Dantzig-Wolfe decomposition3 The resulting lower bound
4 Exploiting block-angular structure
5 The case of identical blocks
http://find/ -
8/10/2019 Branch and Price
3/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
The basic idea
Lets recall how branch-and-cut works:
We formulate a COP as an ILP.
We derive a stronger formulation with a huge number of constraints.
We cant include all of the constraints in the LP...
... so we start with a few and generate others as needed.
To generate constraints we need separation algorithms.
After adding new constraints, we re-optimise with dual simplex.
When we cant find any more constraints, we branch.
http://find/ -
8/10/2019 Branch and Price
4/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
The basic idea (cont.)
Branch-and-price is a dual version of branch-and-cut:
We formulate a COP as an ILP.
We derive a stronger formulation with a huge number ofvariables.
We cant include all of the variablesin the LP...
... so we start with a few and generate others as needed.
To generate variables we need pricingalgorithms.
After adding new variables, we re-optimise with primalsimplex.
When we cant find any more variables, we branch.
I B i D i W lf L b d Bl k l Id i l bl k S
http://find/ -
8/10/2019 Branch and Price
5/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
The basic idea (cont.)
Question: How can we strengthen an ILP formulation byincreasing the number of variables?!
Answer: We use the decomposition technique of Dantzig& Wolfe (1960).
(For simplicity, Ill concentrate on 0-1 LPs.)
I t B i D t i W lf L b d Bl k l t t Id ti l bl k S
http://find/ -
8/10/2019 Branch and Price
6/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
Dantzig-Wolfe decomposition
Suppose we have a 0-1 LP of the form:
min {cx : Ax b, Cxd, x {0, 1}n} .
Suppose also that the constraints Axb are nice, whereas theconstraints Cxd are nasty.
That is, we could solve the 0-1 LP quickly (somehow) if theconstraints Cxd were not present.
Intro Basics Dantzig Wolfe Lower bound Block angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
7/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
Dantzig-Wolfe decomposition (cont.)
One way to handle 0-1 LPs of this type is to remove the nastyconstraints from the problem, but modify the objective function.
This is Lagrangian relaxation, which you have already seen.
An alternative (which usually works just as well or even better) isto use Dantzig-Wolfe decomposition.
Intro Basics Dantzig Wolfe Lower bound Block angular structure Identical blocks Summary
http://find/http://goback/ -
8/10/2019 Branch and Price
8/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
Dantzig-Wolfe decomposition (cont.)
We define the two polyhedra:
P1 ={x[0, 1]n :Axb}
P2 ={x[0, 1]n :Cxd} .
The 0-1 LP can now be written as:
min
cx:x P1
P2
, x {0, 1}
n.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
9/23
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
Dantzig-Wolfe decomposition (cont.)
Now consider the integral hull ofP1:
P1I =conv {x {0, 1}n :Ax b} .
By definition, P1I is the convex hull of a finite number of vertices.
Let v1, . . . , vt {0, 1}n be these vertices.
Note: the number of vertices can be huge (exponential).
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
10/23
Intro Basics Dantzig Wolfe Lower bound Block angular structure Identical blocks Summary
Dantzig-Wolfe decomposition (cont.)
Any point in P1Ican be written as a convex combination(weightedaverage) of the vertices v1, . . . , vt.
More formally, ifx P1I, then there exist non-negative multipliers1, . . . , t, summing to one, such that:
x =t
k=1
kvk.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/http://goback/ -
8/10/2019 Branch and Price
11/23
g g y
Dantzig-Wolfe decomposition (cont.)
This leads to the following 0-1 LP formulation of our problem:
min cx
s.t. Cxd
x=t
k=1vk
ktk=1k = 1 ()
{0, 1}t
x {0, 1}n.
This 0-1 LP, called the masterproblem, can have a huge numberof variables (one for each vertex ofP1I).
The constraint (*) is called a convexity constraint.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/http://goback/ -
8/10/2019 Branch and Price
12/23
g g y
Dantzig-Wolfe decomposition (cont.)
It is usual practice to eliminate the x variables, so that the masterproblem takes the form:
min c
s.t. Cdt
k=1k = 1 ()
{0, 1}t.
Here, ck denotes the cost of vertex vk and Ckj denotes thecontribution of vertex vk to the jth constraint in the systemCxd.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
13/23
The resulting lower bound
So thats how we convert a 0-1 LP into a different 0-1 LPwith a huge number of variables.
Ill explain how to actually solvethe master problem in thenext session.
For now, lets try to understand why the master problem is astronger formulation than the original problem.
To do that, we look at the lower bounds that we get when wesolve the LP relaxations of the two problems.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
14/23
The resulting lower bound (cont.)
The LP relaxation of the original problem is:
min
cx : xP1 P2
.
Geoffrion (1974) showed that solving the LP relaxation of themaster problem is equivalent to solving:
min
cx : xP1I P2
.
So, ifP1I =P1, the LP relaxation of the master problem will give a
better bound than that of the original problem.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
15/23
The resulting lower bound (cont.)
Geoffrion (1974) also showed that solving the LP relaxation of themaster problem gives the best possiblelower bound that could be
obtained with Lagrangian relaxation.
That is, if we used the best possiblemultipliers in a Lagrangianrelaxation, we would get the same bound.
This is what makes Dantzig-Wolfe decomposition attractive.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
16/23
Block-angular structure
Dantzig-Wolfe decomposition is particularly effective when applied
to ILPs that have a block-angularconstraint matrix.This means that, if the nasty constraints Cx d are deleted, theresulting constraint system Axb decomposes into a number ofmuch smaller systems (blocks).
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
17/23
Block-angular structure (cont.)
}
Nice system
Ax b
Nasty system
Cx d
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
18/23
Block-angular structure (cont.)
In this situation, we can substantially reduce the number ofvariables in the master problem.
Instead of one integral hull P1I, we have one integral hull for
each block.
Since each integral hull involves a much smaller number ofvariables, it is likely to have a much smaller number ofvertices.
In the master problem, we have one set of variables perblock and one convexity constraint per block.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
19/23
Block-angular structure (cont.)
This is the resulting master:
min s
j=1cj j
s.t.
sj=1 Cjj dtj
k=1jk = 1 (j = 1, . . . , s)
j {0, 1}tj (j = 1, . . . , s).
Here, s is the number of blocks, tj is the number of vertices of thejth integral hull and vjk is the kth vertex of the jth integral hull.
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
20/23
Block-angular structure (cont.)
Lots of block-angular ILPs arise in Combinatorial Optimisation!
For example:one block for each facility / depot / factory
one block for each worker / machine / vehicle
one block for each product type / commodity
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
21/23
The case of identical blocks
Moreover, in Combinatorial Optimisation it often happensthat the blocks are identical.
E.g., the machines/vehicles may all be of the same type.In this case, all of the integral hulls are the same.
So, we need only one set of variables.
This dramaticallyreduces the number of variables (though it
can still grow exponentially).
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
22/23
The case of identical blocks (cont.)
This is the resulting master:
min c
s.t.
Cdtj=1j =s ()
{0, 1}t.
It looks just like the master for the general case (not
block-angular), except that the convexity constraint now has aright-hand side ofs (the number of blocks).
Intro Basics Dantzig-Wolfe Lower bound Block-angular structure Identical blocks Summary
http://find/ -
8/10/2019 Branch and Price
23/23
SUMMARY
Dantzig-Wolfe decomposition is a well-known technique forreformulating ILPs.
It is best used when the ILP has block-angular structure...
... especially if all of the blocks are identical.
Such ILPs arise frequently in Combinatorial Optimisation.
In the next session, I will explain how to solve the masterproblem using the branch-and-pricemethod.
Ill also give some examples of COPs that can be solvedquickly using branch-and-brice.
http://find/