branch-and-cut valid inequality: an inequality satisfied by all feasible solutions cut: a valid...

61
Branch-and-Cut • Valid inequality: an inequality satisfied by all feasible solutions • Cut: a valid inequality that is not part of the current formulation • Violated cut: a cut that is not satisfied by the solution to the current LP relaxation

Upload: ashlynn-daniel

Post on 17-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Cut

• Valid inequality: an inequality satisfied by all feasible solutions

• Cut: a valid inequality that is not part of the current formulation

• Violated cut: a cut that is not satisfied by the solution to the current LP relaxation

Page 2: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Cut

Branch-and-cut is a generalization of branch-and-bound where, after solving the LP relaxation, and having not been successful in pruning the node on the basis of the LP solution, we try to find a violated cut. If one or more violated cuts are found, they are added to the formulation and the LP is solved again. If none are found, we branch.

Page 3: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Cut

Given a solution to the LP relaxation of a MIP that does not satisfy all the integrality constraints, the separation problem is to find a violated cut.

Page 4: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Classification

• General purpose

• Relaxation

• Problem specific

Page 5: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Classification

• General purpose: a fractional extreme point can always be separated– Gomory cuts– 0-1 disjunctive cuts

Page 6: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Classification

• Relaxation cuts:– 0-1 knapsack set– Continuous 0-1 knapsack set– Node packing

Page 7: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Classification

• Problem specific: generally facets, derived from problem structure– blossom inequalities for matching– comb inequalities for TSP

Page 8: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lift-and-Project cuts

• A Mixed 0-1 Program

min

, , , ,

cx

Ax b

x

x i pi

0

0 1 1

• its LP Relaxationmin~ ~

~ ~

cx

Ax b

Ax b

where includes all bounds

• with optimal solution x

Page 9: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lift-and-Project cuts

• Generate cutting planes for any mixed 0-1 program:

– Disjunction ~ ~ ~ ~Ax b

x

Ax b

xx

i ii

0 1 {0,1}

– Description of

P convAx b

x

Ax b

xi

i i

~ ~ ~ ~

0 1

– Choose a set of inequalities valid for Pi that cut off x

Page 10: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

The LP relaxation

Page 11: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

The optimal “fractional” solution

x

Page 12: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

One side of thedisjunction

0ixx

Page 13: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

1ix

The other side ofthe disjunction

x

Page 14: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

The union of the disjunctive sets

x

Page 15: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

The convex-hull of theunion of the disjunctive sets

x

Page 16: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

One facet of the convex-hullbut it is also a cut!

x

Page 17: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

x

The new “feasible” solution!

Page 18: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

How do we get disjunctive cuts in practice?

• A cut x > is valid for Pi if and only if (, satisfies

u A v e

u b v

i1 1

1 10

~

~

u A v e

u b v

i2 2

2 2

~

~

u u1 2 0,

• Hence, we have a linear description of the inequalities valid for Pi.

Page 19: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Approach

Generate a cutting plane by:

i) Requiring that inequality be valid, i.e. (, Pi;ii) Requiring that it cuts-off the current fractional point

max x

u A v e

u b v

i1 1

1 10

~

~

u A v e

u b v

i2 2

2 2

~

~

u u1 2 0,

Page 20: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Relaxation Cuts

• A valid inequality for a relaxation of a problem is also a valid inequality for the problem itself

• Idea: Derive valid inequalities for common relaxations

Page 21: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cover Inequalities

• 0-1 integer set

• Cover C

• Minimal cover C

• Cover inequality

Page 22: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Separation

• Given a point find a cover C such thatx

Page 23: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Separation

• Let zj = 1 if element j is in the cover

zj = 0 if element j is not in the cover

• If v < 1, then we identified a violated cover

Page 24: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lifting

• Find valid inequality

• Case 1: xk = 0

Valid for all k

• Case 2: xk = 1

Page 25: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lifting

• Define

Page 26: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lifting

• Let k N\C. Find k such that

is valid for

Page 27: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lifting

• verified if

• where

Page 28: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Lifting

• Proposition: Let k N\C, then

• is valid for

Page 29: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Sequential Lifting

• We can repeat the same procedure to lift the other variables in N\C

• Different lifting sequence can lead to a different lifted cover inequality!

Page 30: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Continuous 0-1 Knapsack

• Mixed integer set

• We can apply similar ideas and results concerning lifting to generate valid inequalities for MIPs

Page 31: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Node Packing Relaxation

• Problem

• Implications

Page 32: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Node Packing Relaxation

• Conflict graph

• Clique inequality

Page 33: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut generation

• Clique inequalities

• Odd-cycle inequalities

Page 34: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Management

• Cut generation takes time (even if we are not successful)

• Cuts increase the size of the formulation (and thus increases the time it takes to solve the LP relaxation)

• Only useful if it leads to reduced overall solution times !

Page 35: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Management

• When and how many violated cuts to add the current formulation ?

• When and which cuts to delete from the current formulation ?

Page 36: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Management

• Do not generate cuts at every node of the search tree

• Limit the rounds of cut generation per node

• Limit the number of cuts generated per round of cut generation

• Delete inactive cuts

Page 37: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Management

Do not generate cuts at every node of the search tree

1. Only at the root node (cut-and-branch)

2. Only at the top k levels of the search tree

3. Only at the first k evaluated nodes (best-first search)

4. Every kth evaluated node (skip factor)

Page 38: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Management

Delete inactive cuts

If the dual variable associated with a cut has been 0 for k consecutive iterations, then delete the cut and move it to the cut pool

Page 39: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Cut Management

Cut generator

Active formulation

Cut pool

Page 40: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation
Page 41: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation
Page 42: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation
Page 43: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation
Page 44: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation
Page 45: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Price

• Branch-and-price is a generalization of LP based branch-and-bound specifically designed to handle integer programs that contain a huge number of variables

Page 46: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Price

• Columns are left out of the LP relaxation because there are too many to handle efficiently and most of them will have their associated variable equal to zero in an optimal solution anyway

• To check the optimality of an LP solution, a pricing problem is solved to try to identify columns with profitable reduced cost

Page 47: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Price

• If profitable reduced cost columns are found, they are added and the LP relaxation is resolved

• If no profitable columns are found, the LP solution is optimal

• Branching occurs when the optimal LP solution does not satisfy the integrality conditions

Page 48: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branch-and-Price

• Branch-and-price applies column generation at every node of the branch-and-bound tree

Page 49: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Why use formulations with a huge number of variables ?

• Compact formulation may have a weak LP relaxation

• Compact formulation may have a symmetric structure

• Provides a decomposition in master and pricing problem

• Only choice

Page 50: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Complications

• Conventional branching on variables may not be effective because fixing variables destroys the structure of the pricing problem

• Column generation often converges slowly and solving LPs to optimality may be computationally prohibitive

Page 51: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Generalized Assignment Problem

• In the GAP the objective is to find a maximum profit assignment of m tasks to n machines such that each task is assigned to precisely one machine subject to capacity restrictions on the machines

Page 52: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

GAP

Page 53: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Natural Formulation

Page 54: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Column Generation Formulation

Page 55: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Column Generation Formulation

Each

satisfies

Page 56: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Advantage

• The LP relaxation of the master problem is tighter then the LP relaxation of the natural formulation because certain fractional solutions are eliminated. Specifically, all fractional solution solutions that are not convex combinations of 0-1 solutions to the knapsack constraints

Page 57: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Solving LP Relaxation

• Restricted master problem

• Pricing problem

Page 58: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Pricing Problem

Page 59: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Pricing Problem

Page 60: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branching

• Standard branching on the variables creates problem on the branch where it is set to zero

Page 61: Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation

Branching

• Solution: Branch on original variables:

• Branch xij = 0:

– No columns for machine j with a 1 in row i

• Branch xij = 1:

– All columns for machine j have a 1 in row i– All columns for machine kj have a 0 in row i

jKk

jk

jikij yx

,...,1