25
Integer and Combinatorial Optimization: Options in Branch and Bound John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA March 2019 Mitchell Options in Branch and Bound 1 / 20

Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Integer and Combinatorial Optimization:Options in Branch and Bound

John E. Mitchell

Department of Mathematical SciencesRPI, Troy, NY 12180 USA

March 2019

Mitchell Options in Branch and Bound 1 / 20

Page 2: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Our problem

We consider the problem

minx∈Rn cT xsubject to Ax = b

x ≥ 0xj binary, j=1,. . . ,p

where 1 ≤ p ≤ n.

We have an incumbent feasible solution xu providing an upper boundzu on the optimal value.

(It’s possible, with an abuse of notation, that xu = ∅ and zu = +∞.)

Mitchell Options in Branch and Bound 2 / 20

Page 3: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Which variable to branch on?

We have a solution xa to the LP relaxation of the current node a of thebranch and bound tree, with xa violating the integrality requirementsand with za := cT xa < zu.

We let F a0 ⊆ {1, . . . ,p} denote the variables fixed to 0 at node a and

F a1 ⊆ {1, . . . ,p} denote the variables fixed to 1 at node a.

We have decided to branch on this node.

Which variable do we branch on?

Mitchell Options in Branch and Bound 3 / 20

Page 4: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Looking just at xa

The branch and bound algorithm terminates once the upper and lowerbounds agree.

We can focus on trying to improve one of these bounds. In particular, ifwe branch on a variable with xa

j fractional but close to either 0 or 1,then we can perhaps construct a good feasible solution in just a fewnodes.

Alternatively, if we branch on a variable with xaj close to 0.5, then

perhaps the lower bound za on this node will increase most quickly.

The reasoning is that this forces the greatest change in the solution onboth branches, so it forces the solution away from xa.

In practice, it seems this rule doesn’t do much better than randomlypicking a branching variable.

Mitchell Options in Branch and Bound 4 / 20

Page 5: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Strong branching

We have a candidate set of branching variablesJ ⊆ {1, . . . ,p} \

(F a

0 ∪ F a1

).

We can test out branching on each of these variables before making adecision.

Mitchell Options in Branch and Bound 5 / 20

Page 6: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

2 LPs for each possible branching variable xj

zaj0 := minx∈Rn cT x

subject to Ax = bx ≥ 0xi = 0 i ∈ F a

0xi = 1 i ∈ F a

1xj = 0

zaj1 := minx∈Rn cT x

subject to Ax = bx ≥ 0xi = 0 i ∈ F a

0xi = 1 i ∈ F a

1xj = 1

Mitchell Options in Branch and Bound 6 / 20

Page 7: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Choosing the branching variable

We then calculate the product of the improvements:

∆aj := (za

j0 − za) (zaj1 − za).

We branch on the variable j with the largest value of ∆aj .

Mitchell Options in Branch and Bound 7 / 20

Page 8: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Pseudocosts

Strong branching is expensive, requiring the solution of manyadditional LP subproblems.

An alternative is to try to estimate the values zaj0 and za

j1.

Every time we branch, we get information.

Say we branched on variable xk at node b with value zb, and solvedthe subproblems, obtaining values zb

k0 and zbk1.

We can create an estimate for the change in the objective functionvalue per unit change in the variable:

Qk0 =

zbk0−zb

xbk

Qk1 =

zbk1−zb

1−xbk

The larger these pseudocost values, the more useful it is to branch onvariable xk .

Mitchell Options in Branch and Bound 8 / 20

Page 9: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Branching variable selection

Averaging

We can get a more sophisticated estimate by averaging these valuesover all previous times we’ve branched on xk .

We can also include in the average all the times we consideredbranching on xk when doing strong branching.

A typical way to implement the branching decision in moderncommercial codes is to use strong branching in the first few levels ofthe tree and then switch to branching based on pseudocosts.

See for example Achterberg et al. [1].

Mitchell Options in Branch and Bound 9 / 20

Page 10: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Node selection

Node selection

There are several alternative available for choosing the next node.

Depth first searchIn depth first search, we immediately solve a child node after solvingits parent.

One aim is to try to quickly find a good feasible solution. One benefit isthat it should be quick to reoptimize the child node, using the solutionto the parent as a warm start.

Best boundWe choose the active node a with the smallest value of za. This nodecannot be pruned by bounds, so it will have to be solved at some point.

Mitchell Options in Branch and Bound 10 / 20

Page 11: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Node selection

Best estimate

The best estimate rule is based on the pseudocosts.

For each active node a, we calculate an estimate of the optimal valueof the best integer feasible solution for that node:

Ea = za +

p∑j=1

min{

Qj0xa

j , Qj1(1− xa

j )}

This is the value za of the node plus the estimated change in valuefrom forcing each of the binary variables to take an integer value.

The rule then selects the active node a with the smallest value of Ea.

Mitchell Options in Branch and Bound 11 / 20

Page 12: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

GUB branching

GUB branching

We don’t have to branch on variable disjunctions, (xj = 0) ∨ (xj = 1).

We can branch on any inequality (πT x ≤ π0) ∨ (πT x ≥ π0 + 1), whereπ and π0 are integral, and where the current solution xa satisfies

π0 < πT xa < π0 + 1.

Mitchell Options in Branch and Bound 12 / 20

Page 13: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

GUB branching

Unbalanced tree

For example, if we have a constraint∑k∈K

xk ≤ 1

for some subset K of the binary variables, a variable disjunction resultsin an unbalanced tree:

the branch with xj = 1 forces all other xk = 0,whereas the branch with xj = 0 is far less restrictive.

Mitchell Options in Branch and Bound 13 / 20

Page 14: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

GUB branching

Try to get a more balanced tree

Thus, we look for a subset K1 ⊆ K with the cardinality of K1approximately half that of K , and also with∑

k∈K1

xk ≈∑

k∈K\K1

xk .

We then branch on the disjunction∑k∈K1

xk = 0 ∨∑

k∈K\K1

xk = 0.

This leads to far more balanced trees and is known as GUB(Generalized Upper Bound) branching.

SOS (Special Ordered Sets) branching is similar.

Mitchell Options in Branch and Bound 14 / 20

Page 15: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

Restarting the search

Restarting the search can be used to try to improve the earlybranching decisions, exploiting preliminary computations in theconstruction of branching rules.

Recent work on restarting a B&B search for an integer programmingproblem includes Kılınç-Karzan et al. [5] and Fischetti andMonaci [3, 4].

These references all run truncated B&B searches and then use theinformation gathered in these runs to set up branching rules to make afinal complete run.

Mitchell Options in Branch and Bound 15 / 20

Page 16: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

Running for a while and then restarting

Kılınç-Karzan et al. [5] makes one initial incomplete branch and boundrun until 200 nodes are fathomed.

Sparse fathomed ancestors of these nodes are found by solving mixedinteger programs.

Branch-and-bound is then restarted, with branching guided by the setof sparse ancestors:given a particular node in the tree, the process is more likely to branchon a variable that appears in many of the sparse ancestors, with thecorresponding constraints violated by the solution to the LP relaxation.

The choice of branching node is determined by CPLEX in [5].

Mitchell Options in Branch and Bound 16 / 20

Page 17: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

Try out a few preliminary runs

Fischetti and Monaci [4] make five runs of B&B, with each runexploring at most five nodes.

These runs all solve the initial LP relaxation, and then branch startingfrom different optimal solutions to the relaxation.

One of these preliminary runs is then run to completion.

Mitchell Options in Branch and Bound 17 / 20

Page 18: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

A backdoor

Fischetti and Monaci [3] try to identify a small set of importantbranching variables (a “backdoor”),where knowing the values of these variables would force many othervariables to take particular values.

The set of important variables is found by looking at good fractionalsolutions and ensuring that at least one of the fractional componentsappears in the backdoor.

The branch-and-bound search is then restarted with branching prioritygiven to the backdoor.

Mitchell Options in Branch and Bound 18 / 20

Page 19: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

Use machine learning

There has also been recent work on using machine learningtechniques to determine branching rules, for example to derive abranching rule that can replicate strong branching at lowercomputational cost by Alvarez et al. [2].

Machine learning and related approaches to branching are surveyedby Lodi and Zarpellon [6].

Mitchell Options in Branch and Bound 19 / 20

Page 20: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

References

T. Achterberg, T. Koch, and A. Martin.Branching rules revisited.Operations Research Letters, 33(1):42–54, 2005.

A. M. Alvarez, Q. Louveaux, and L. Wehenkel.A machine learning-based approximation of strong branching.INFORMS Journal on Computing, 29(1):185–195, 2017.

M. Fischetti and M. Monaci.Backdoor branching.INFORMS Journal on Computing, 25(4):693–700, 2013.

M. Fischetti and M. Monaci.Exploiting erraticism in search.Operations Research, 62(1):114–122, 2014.

F. Kılınç-Karzan, G. L. Nemhauser, and M. W. P. Savelsbergh.Information-based branching schemes for binary linear mixed integer problems.Mathematical Programming Computation, 1(4):249–293, 2009.

A. Lodi and G. Zarpellon.On learning and branching: a survey.TOP, 25(2):207–236, 2017.

Mitchell Options in Branch and Bound 20 / 20

Page 21: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

References

T. Achterberg, T. Koch, and A. Martin.Branching rules revisited.Operations Research Letters, 33(1):42–54, 2005.

A. M. Alvarez, Q. Louveaux, and L. Wehenkel.A machine learning-based approximation of strong branching.INFORMS Journal on Computing, 29(1):185–195, 2017.

M. Fischetti and M. Monaci.Backdoor branching.INFORMS Journal on Computing, 25(4):693–700, 2013.

M. Fischetti and M. Monaci.Exploiting erraticism in search.Operations Research, 62(1):114–122, 2014.

F. Kılınç-Karzan, G. L. Nemhauser, and M. W. P. Savelsbergh.Information-based branching schemes for binary linear mixed integer problems.Mathematical Programming Computation, 1(4):249–293, 2009.

A. Lodi and G. Zarpellon.On learning and branching: a survey.TOP, 25(2):207–236, 2017.

Mitchell Options in Branch and Bound 20 / 20

Page 22: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

References

T. Achterberg, T. Koch, and A. Martin.Branching rules revisited.Operations Research Letters, 33(1):42–54, 2005.

A. M. Alvarez, Q. Louveaux, and L. Wehenkel.A machine learning-based approximation of strong branching.INFORMS Journal on Computing, 29(1):185–195, 2017.

M. Fischetti and M. Monaci.Backdoor branching.INFORMS Journal on Computing, 25(4):693–700, 2013.

M. Fischetti and M. Monaci.Exploiting erraticism in search.Operations Research, 62(1):114–122, 2014.

F. Kılınç-Karzan, G. L. Nemhauser, and M. W. P. Savelsbergh.Information-based branching schemes for binary linear mixed integer problems.Mathematical Programming Computation, 1(4):249–293, 2009.

A. Lodi and G. Zarpellon.On learning and branching: a survey.TOP, 25(2):207–236, 2017.

Mitchell Options in Branch and Bound 20 / 20

Page 23: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

References

T. Achterberg, T. Koch, and A. Martin.Branching rules revisited.Operations Research Letters, 33(1):42–54, 2005.

A. M. Alvarez, Q. Louveaux, and L. Wehenkel.A machine learning-based approximation of strong branching.INFORMS Journal on Computing, 29(1):185–195, 2017.

M. Fischetti and M. Monaci.Backdoor branching.INFORMS Journal on Computing, 25(4):693–700, 2013.

M. Fischetti and M. Monaci.Exploiting erraticism in search.Operations Research, 62(1):114–122, 2014.

F. Kılınç-Karzan, G. L. Nemhauser, and M. W. P. Savelsbergh.Information-based branching schemes for binary linear mixed integer problems.Mathematical Programming Computation, 1(4):249–293, 2009.

A. Lodi and G. Zarpellon.On learning and branching: a survey.TOP, 25(2):207–236, 2017.

Mitchell Options in Branch and Bound 20 / 20

Page 24: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

References

T. Achterberg, T. Koch, and A. Martin.Branching rules revisited.Operations Research Letters, 33(1):42–54, 2005.

A. M. Alvarez, Q. Louveaux, and L. Wehenkel.A machine learning-based approximation of strong branching.INFORMS Journal on Computing, 29(1):185–195, 2017.

M. Fischetti and M. Monaci.Backdoor branching.INFORMS Journal on Computing, 25(4):693–700, 2013.

M. Fischetti and M. Monaci.Exploiting erraticism in search.Operations Research, 62(1):114–122, 2014.

F. Kılınç-Karzan, G. L. Nemhauser, and M. W. P. Savelsbergh.Information-based branching schemes for binary linear mixed integer problems.Mathematical Programming Computation, 1(4):249–293, 2009.

A. Lodi and G. Zarpellon.On learning and branching: a survey.TOP, 25(2):207–236, 2017.

Mitchell Options in Branch and Bound 20 / 20

Page 25: Integer and Combinatorial Optimization: Options in Branch ...eaton.math.rpi.edu/faculty/Mitchell/courses/matp6620/notesMATP6620/lecture17/17A_bb...Kılınç-Karzan et al. [5] makes

Learning branching rules

References

T. Achterberg, T. Koch, and A. Martin.Branching rules revisited.Operations Research Letters, 33(1):42–54, 2005.

A. M. Alvarez, Q. Louveaux, and L. Wehenkel.A machine learning-based approximation of strong branching.INFORMS Journal on Computing, 29(1):185–195, 2017.

M. Fischetti and M. Monaci.Backdoor branching.INFORMS Journal on Computing, 25(4):693–700, 2013.

M. Fischetti and M. Monaci.Exploiting erraticism in search.Operations Research, 62(1):114–122, 2014.

F. Kılınç-Karzan, G. L. Nemhauser, and M. W. P. Savelsbergh.Information-based branching schemes for binary linear mixed integer problems.Mathematical Programming Computation, 1(4):249–293, 2009.

A. Lodi and G. Zarpellon.On learning and branching: a survey.TOP, 25(2):207–236, 2017.

Mitchell Options in Branch and Bound 20 / 20