Decision Procedures An Algorithmic Point of View

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,
EE 553 Integer Programming
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
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
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}
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
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.
Computational Geometry
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
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.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
CS4234 Optimiz(s)ation Algorithms L2 – Linear Programming.
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
Solver & Optimization Problems
The minimum cost flow problem
Lecture 11: Tree Search © J. Christopher Beck 2008.
The CPLEX Library: Mixed Integer Programming
Introduction to Operations Research
EMIS 8373: Integer Programming
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
3.4 Push-Relabel(Preflow-Push) Maximum Flow Alg.
2. Generating All Valid Inequalities
Chapter 8. General LP Problems
1.3 Modeling with exponentially many constr.
Chapter 5. The Duality Theorem
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:

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 Strichman

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. Fourier-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 cx Ax · b x 2 Z Where A is an m £ n coefficients matrix x an n - dimensional column vector of variables. b an m - dimensional column vector 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. Ax · b x 2 Z Still, NP-hard… Decision Procedures - An algorithmic point of view

How different can it be from LP ? Rounding cannot help! LP Solution Objective line x2 Feasible region Integer Solution x1 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. x2 Feasible region x1 Decision Procedures - An algorithmic point of view

A naïve solution strategy 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 x1=0 x2=0 x2=2 x2=1 x1=1 x1=2 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

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. Solve LP Relaxation to get fractional solutions Create two sub-branches by adding constraints Feasible real solution x1 x2 x1 x2 x2≤1 x2≥2 Decision Procedures - An algorithmic point of view

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

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

The branch and bound tree (1,0 .7,2.5,3) x2 · 0 x2 ¸ 1 A2 A1 (1,-1.5,1.5,4.1) (1,3,0.5,2) x3 · 0 x3 ¸ 1 A12 A11 x (1,3,0.5,2) (1,3,4,1) Pruned due to infeasibility Sub trees can be pruned away before reaching a leaf… Each leaf is a feasible solution. 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

Decision Procedures - An algorithmic point of view Termination Does B & B guaranteed to terminate ? No. Well, not in the way we presented it, anyway. Consider a constraint like y + 0.1 · x · y + 0.2 x y Decision Procedures - An algorithmic point of view

Decision Procedures - An algorithmic point of view Termination The constraint y + 0.1 · x · y + 0.2 has no integral solution, but an unbounded real solution space. We need a way to bound the search space. Decision Procedures - An algorithmic point of view

Decision Procedures - An algorithmic point of view Bounds Let S be the input integer linear system with coefficient matrix A of size M £ N and constants vector b. If there is a solution, there is a solution x0 bounded as follows: where µ is the maximal element in the coefficient matrix A or the vector b. Decision Procedures - An algorithmic point of view

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

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

Decision Procedures - An algorithmic point of view Preprocessing (ILP) Clearly Consider a 0-1 ILP constraint:5x1 – 3x2 · 4 x1 = 1 implies x2 = 1 Hence, we can add x1 · x2 (Again, a 0-1 ILP problem) Combine pairs: from x1 + x2 · 1 and x2 ¸ 1 conclude x1 = 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). x1 x2 All feasible integer solutions remain feasible Current LP solution is not feasible Added Cut Decision Procedures - An algorithmic point of view

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