Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’

Slides:



Advertisements
Similar presentations
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Advertisements

Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Pure, Mixed-Integer, Zero-One Models
EE 553 Integer Programming
Lecture 10: Integer Programming & Branch-and-Bound
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Gaussian Elimination and Simplex.
1 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved:
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Computational Methods for Management and Economics Carla Gomes
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Branch and Bound Algorithm for Solving Integer Linear Programming
D Nagesh Kumar, IIScOptimization Methods: M7L1 1 Integer Programming All Integer Linear Programming.
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
LP formulation of Economic Dispatch
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Simplex method (algebraic interpretation)
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
MILP algorithms: branch-and-bound and branch-and-cut
1 Chapter 4: Integer and Mixed-Integer Linear Programming Problems 4.1 Introduction to Integer and Mixed-Integer Linear Programming 4.2 Solving Integer.
WOOD 492 MODELLING FOR DECISION SUPPORT
1 Max 8X 1 + 5X 2 (Weekly profit) subject to 2X 1 + 1X 2  1000 (Plastic) 3X 1 + 4X 2  2400 (Production Time) X 1 + X 2  700 (Total production) X 1.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Integer Programming Li Xiaolei. Introduction to Integer Programming An IP in which all variables are required to be integers is called a pure integer.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
1 1 Slide Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an.
CS4234 Optimiz(s)ation Algorithms L2 – Linear Programming.
Water Resources Development and Management Optimization (Integer and Mixed Integer Programming) CVEN 5393 Mar 28, 2011.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chap 10. Sensitivity Analysis
The minimum cost flow problem
The CPLEX Library: Mixed Integer Programming
Introduction to Operations Research
EMIS 8373: Integer Programming
MILP algorithms: branch-and-bound and branch-and-cut
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chap 9. General LP problems: Duality and Infeasibility
Chapter 6. Large Scale Optimization
Chap 3. The simplex method
Integer Linear Programming
Chapter 6. Large Scale Optimization
2. Generating All Valid Inequalities
Chapter 8. General LP Problems
Flow Feasibility Problems
Chapter 8. General LP Problems
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
Chapter 8. General LP Problems
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Chapter 2. Simplex method
1.2 Guidelines for strong formulations
Discrete Optimization
Presentation transcript:

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 We will see… Solving a linear (continues) system  Good old Gaussian Elimination for linear equations.  Feasibility test a-la Simplex for linear inequalities.  Fourir-Motzkin for linear inequalities. Solving a linear (discrete) system  Branch and Bound for integer linear inequalities.  The Omega-Test method for integer linear inequalities.

Decision Procedures An algorithmic point of view Integer Linear Programming Problem formulation max c x A x · b x ¸ 0 and integer Where A is an m £ n coefficients matrix c is an n -dimensional row vector b an m - dimensional column vector x an n - dimensional column vector of variables.

Decision Procedures An algorithmic point of view Feasibility of a linear system The decision problem associated with ILP is NP-hard. But once again… we are not actually interested in ILP: we do not have an objective… All we want to know is whether a given system is feasible. A x · b x ¸ 0 and integer Still, NP-hard…

Decision Procedures An algorithmic point of view How different can it be from LP ? x1x1 x2x2 LP Solution Integer Solution Objective line Feasible region Rounding cannot help!

Decision Procedures An algorithmic point of view How different can it be from LP ? The LP problem can be feasible, whereas its ILP version is not. x1x1 x2x2 Feasible region

Decision Procedures An algorithmic point of view From hereon we will assume that all variables are finite. Enumerate all solutions with a tree Guaranteed to find a feasible solution if it exists But, exponential growth in the size of the tree / computation time A naïve solution strategy x 1 =0 x 2 =0x 2 =2x 2 =1 x 1 =1 x 1 =2 x 2 =0x 2 =2x 2 =1x 2 =0x 2 =2x 2 =1

Decision Procedures An algorithmic point of view A family of algorithms: Branch & Bound Probably the most popular method for solving Integer Linear Programming (ILP) problems (First presented in 1960) is B & B. That is, the optimization problem. Recall, however, that we are interested in deciding feasibility of a linear system. In practice that’s a little easier. The algorithm is quite similar.

Decision Procedures An algorithmic point of view Branch and Bound The main idea:  Solve the ‘relaxed’ problem, i.e. no integrality constraints.  If the relaxed problem is infeasible – backtrack (there is no integer solution in this branch)  If the solution is integral – terminate (‘feasible’).  Otherwise split on a variable for which the assignment is non-integral, and repeat for each case. More details to come…

Decision Procedures An algorithmic point of view Splitting on non-integral LP solutions. x1x1 x2x2 x1x1 x2x2 x 2 ≤1 Solve LP Relaxation to get fractional solutions Create two sub-branches by adding constraints x2≥2x2≥2 Feasible real solution

Decision Procedures An algorithmic point of view Example Suppose our system A has variables x 1… x 4, and that the LP solver returned a solution (1, 0.7, 2.5, 3). Choose one of x 2, x 3. Suppose we choose x 2. Solve two new problems:  A 1 = A [ { x 2 · 0}  A 2 = A [ { x 2 ¸ 1} Clearly A 1 or A 2 are satisfiable iff A is.

Decision Procedures An algorithmic point of view x 2 ≤2 Splitting on non-integral LP solutions. x1x1 x2x2 x1x1 x2x2 The linear relaxation can also be infeasible… …which prunes the search for an integral solution. x2≥3x2≥3 Feasible real solution This branch is not feasible

Decision Procedures An algorithmic point of view The branch and bound tree A A2A2 A1A1 A 12 A 11 (1,0.7,2.5,3) (1,-1.5,1.5,4.1) x 2 · 0 x 2 ¸ 1 x 3 ¸ 1 (1,3,0.5,2) x 3 · 0 (1,3,4,1) x Sub trees can be pruned away before reaching a leaf… Each leaf is a feasible solution. Pruned due to infeasibility

Decision Procedures An algorithmic point of view Aside: B & B for optimality More reasons to prune the search. In a maximality problem:  Prune a branch if an over-approximation of the largest solution under this branch is still smaller than an under- approximation of the solution in another branch.  If the solution at the node is integral, update lower bound on the optimal solution, and backtrack.

Decision Procedures An algorithmic point of view Preprocessing (LP)… Constraints can be removed… Example:  x 1 + x 2 · 2, x 1 · 1, x 2 · 1  First constraint is redundant. In general, for a set: is redundant if

Decision Procedures An algorithmic point of view Preprocessing (LP)… …and bounds can be tightened… Example:  2 x 1 + x 2 · 2, x 2 ¸ 4, x 1 · 3  From 1 st and 2 nd constraints: x 1 · -1 In general, if a 0 > 0 And, if a 0 < 0

Decision Procedures An algorithmic point of view Preprocessing (ILP) Clearly Consider a 0-1 ILP constraint:5 x 1 – 3 x 2 · 4  x 1 = 1 implies x 2 = 1  Hence, we can add x 1 · x 2 (Again, a 0-1 ILP problem) Combine pairs: from x 1 + x 2 · 1 and x 2 ¸ 1 conclude x 1 = 0; More simplifications and preprocessing is possible… The rule is: preprocess as long as it is cost-effective.

Decision Procedures An algorithmic point of view Improvement - Cutting Planes Eliminate non-integer solutions by adding constraints to LP (i.e. improve tightness of relaxation). All feasible integer solutions remain feasible Current LP solution is not feasible x1x1 x2x2 Added Cut

Decision Procedures An algorithmic point of view Cutting planes Adding valid inequalities Examples: 1. x 1, x 2, x 3, x 4 2 B From x 1 – x 2 + x 3 – x 4 · -1 … we can conclude x 2 + x 4 ¸ 1 2. x 2 Z From 2 x · 11 …we can conclude x · 5