Branch and Price

Embed Size (px)

Citation preview

  • 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/