Daniel Kroening and Ofer Strichman
Decision Procedures
An Algorithmic Point of View
Deciding ILPs with Branch & Bound
ILP References: ‘Integer Programming’ / Laurence Wolsey ‘Intro. To mathematical programming’ / Hillier, Lieberman
Decision Procedures An Algorithmic Point of View Deciding ILPs with - - PowerPoint PPT Presentation
Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: Integer Programming / Laurence Wolsey Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer
Daniel Kroening and Ofer Strichman
ILP References: ‘Integer Programming’ / Laurence Wolsey ‘Intro. To mathematical programming’ / Hillier, Lieberman
Decision Procedures An algorithmic point of view
¨ Good old Gaussian Elimination for linear equations. ¨ Feasibility test a-la Simplex for linear inequalities. ¨ Fourir-Motzkin for linear inequalities.
¨ Branch and Bound for integer linear inequalities. ¨ The Omega-Test method for integer linear inequalities.
Decision Procedures An algorithmic point of view
Decision Procedures An algorithmic point of view
Decision Procedures An algorithmic point of view
x1 x2 LP Solution Integer Solution Objective line Feasible region
Decision Procedures An algorithmic point of view
x1 x2 Feasible region
Decision Procedures An algorithmic point of view
x1=0 x2=0 x2=2 x2=1 x1=1 x1=2 x2=0 x2=2 x2=1 x2=0 x2=2 x2=1
Decision Procedures An algorithmic point of view
Decision Procedures An algorithmic point of view
¨ Solve the ‘relaxed’ problem, i.e. no integrality constraints. ¨ If the relaxed problem is infeasible – backtrack (there is no
¨ If the solution is integral – terminate (‘feasible’). ¨ Otherwise split on a variable for which the assignment is
Decision Procedures An algorithmic point of view
x1 x2 x1 x2 x2≤1
x2≥2 Feasible real solution
Decision Procedures An algorithmic point of view
¨ A1 = A [ {x2 · 0} ¨ A2 = A [ {x2 ¸ 1}
Decision Procedures An algorithmic point of view
x2≤2
x1 x2 x1 x2
x2≥3 Feasible real solution This branch is not feasible
Decision Procedures An algorithmic point of view
A A2 A1 A12 A11 (1,0 .7,2.5,3) (1,-1.5,1.5,4.1) x2 · 0 x2 ¸ 1 x3 ¸ 1 (1,3,0.5,2) (1,3,0.5,2) x3 · 0 (1,3,4,1) x
Pruned due to infeasibility
Decision Procedures An algorithmic point of view
¨ Prune a branch if an over-approximation of the largest
¨ If the solution at the node is integral, update lower bound
Decision Procedures An algorithmic point of view
¨ x1 + x2 · 2, x1 · 1, x2 · 1 ¨ First constraint is redundant.
Decision Procedures An algorithmic point of view
¨ 2x1 + x2 · 2, x2 ¸ 4, x1 · 3 ¨ From 1st and 2nd constraints: x1 · -1
Decision Procedures An algorithmic point of view
¨ x1 = 1 implies x2 = 1 ¨ Hence, we can add x1 · x2
Decision Procedures An algorithmic point of view
n All feasible integer
n Current LP solution is
x1 x2 Added Cut
Decision Procedures An algorithmic point of view