Decision Procedures An Algorithmic Point of View

Similar documents
Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

SOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?

23. Cutting planes and branch & bound

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

Introduction to Integer Linear Programming

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Integer Programming. Wolfram Wiesemann. December 6, 2007

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

where X is the feasible region, i.e., the set of the feasible solutions.

The CPLEX Library: Mixed Integer Programming

3.10 Column generation method

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Integer Linear Programming (ILP)

Chapter 1 Linear Programming. Paragraph 5 Duality

3.7 Cutting plane methods

IE418 Integer Programming

3.10 Column generation method

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Travelling Salesman Problem

CS Algorithms and Complexity

Algorithmic Game Theory and Applications. Lecture 7: The LP Duality Theorem

1 Column Generation and the Cutting Stock Problem

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Introduction column generation

If the above problem is hard to solve, we might try to break it into smaller problems which are easier to solve.

Lift-and-Project Inequalities

INTEGER PROGRAMMING. In many problems the decision variables must have integer values.

Algorithmic Game Theory and Applications. Lecture 5: Introduction to Linear Programming

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano

Operations Research Lecture 6: Integer Programming

Integer Programming Part II

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm

Lecture slides by Kevin Wayne

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Integer Programming. The focus of this chapter is on solution techniques for integer programming models.

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming

Linear and Integer Programming - ideas

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Advanced linear programming

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

3.10 Lagrangian relaxation

Integer Programming Methods LNMB

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

1.5 Non-linear Real Arithmetic

Algorithms. Outline! Approximation Algorithms. The class APX. The intelligence behind the hardware. ! Based on

Introduction to optimization and operations research

arxiv: v1 [cs.cc] 5 Dec 2018

Lecture 8: Column Generation

Math Models of OR: Branch-and-Bound

of a bimatrix game David Avis McGill University Gabriel Rosenberg Yale University Rahul Savani University of Warwick

Ann-Brith Strömberg. Lecture 4 Linear and Integer Optimization with Applications 1/10

Section #2: Linear and Integer Programming

BBM402-Lecture 20: LP Duality

Introduction to Integer Programming

PART 4 INTEGER PROGRAMMING

Integer programming: an introduction. Alessandro Astolfi

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

A strongly polynomial algorithm for linear systems having a binary solution

Linear Programming. Scheduling problems

3.3 Easy ILP problems and totally unimodular matrices

Introduction to integer programming II

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Integrating Simplex with DPLL(T )

Notes taken by Graham Taylor. January 22, 2005

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

CS320 The knapsack problem

with Binary Decision Diagrams Integer Programming J. N. Hooker Tarik Hadzic IT University of Copenhagen Carnegie Mellon University ICS 2007, January

Lecture 8: Column Generation

MIR Closures of Polyhedral Sets

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Integer Linear Programs

Decision Diagram Relaxations for Integer Programming

Computational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs

3. Duality: What is duality? Why does it matter? Sensitivity through duality.

Integer Programming Duality

15-780: LinearProgramming

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Cutting Plane Methods II

Integer Programming ISE 418. Lecture 13. Dr. Ted Ralphs

Variants of Simplex Method

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse

DM545 Linear and Integer Programming. Lecture 13 Branch and Bound. Marco Chiarandini

Hands-on Tutorial on Optimization F. Eberle, R. Hoeksma, and N. Megow September 26, Branch & Bound

Column Basis Reduction, Decomposable Knapsack. and Cascade Problems. Gábor Pataki. joint work with Bala Krishnamoorthy. What is basis reduction?

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

1 The linear algebra of linear programs (March 15 and 22, 2015)

Simplex Algorithm Using Canonical Tableaus

Optimization (168) Lecture 7-8-9

On the knapsack closure of 0-1 Integer Linear Programs. Matteo Fischetti University of Padova, Italy

Transcription:

An Algorithmic Point of View ILP References: Integer Programming / Laurence Wolsey Deciding ILPs with Branch & Bound Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer Strichman

We will see n 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. n Solving a linear (discrete) system Branch and Bound for integer linear inequalities. The Omega-Test method for integer linear inequalities.

Integer Linear Programming n Problem formulation max cx Ax 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.

Feasibility of a linear system n The decision problem associated with ILP is NP-hard. n But once again we are not actually interested in ILP: we do not have an objective n All we want to know is whether a given system is feasible. Ax b n Still, NP-hard x 0 and integer

How different can it be from LP? n Rounding cannot help! LP Solution Objective line x 2 Feasible region x 1 Integer Solution

How different can it be from LP? n The LP problem can be feasible, whereas its ILP version is not. x 2 Feasible region x 1

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

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

Branch and Bound n 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. n More details to come

Splitting on non-integral LP solutions. n Solve LP Relaxation to get fractional solutions n Create two sub-branches by adding constraints Feasible real solution x 2 x 2 x 2 2 x 1 x 2 1 x 1

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

Splitting on non-integral LP solutions. n The linear relaxation can also be infeasible n which prunes the search for an integral solution. Feasible real solution This branch is not feasible x 2 x 2 x 2 3 x 2 2 x 1 x 1

The branch and bound tree (1,0.7,2.5,3) A x 2 0 x 2 1 (1,-1.5,1.5,4.1) A 2 A 1 x 3 0 (1,3,0.5,2) x 3 1 Pruned due to infeasibility (1,3,0.5,2) A 12 A 11 (1,3,4,1) x n Sub trees can be pruned away before reaching a leaf n Each leaf is a feasible solution.

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

Preprocessing (LP) n Constraints can be removed n Example: x 1 + x 2 2, x 1 1, x 2 1 First constraint is redundant. n In general, for a set: is redundant if

Preprocessing (LP) n and bounds can be tightened n Example: 2x 1 + x 2 2, x 2 4, x 1 3 From 1 st and 2 nd constraints: x 1-1 n In general, if a 0 > 0 n And, if a 0 < 0

Preprocessing (ILP) n Clearly n Consider a 0-1 ILP constraint:5x 1 3 x 2 4 x 1 = 1 implies x 2 = 1 Hence, we can add x 1 x 2 n (Again, a 0-1 ILP problem) Combine pairs: from x 1 + x 2 1 and x 2 1 conclude x 1 = 0; n More simplifications and preprocessing is possible n The rule is: preprocess as long as it is cost-effective.

Improvement - Cutting Planes n Eliminate non-integer solutions by adding constraints to LP (i.e. improve tightness of relaxation). x 2 x 1 n n All feasible integer solutions remain feasible Current LP solution is not feasible Added Cut

Cutting planes n n 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 2x 11 we can conclude x 5