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

Slides:



Advertisements
Similar presentations
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Advertisements

Solving LP Models Improving Search Special Form of Improving Search
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,
1 Matching Polytope x1 x2 x3 Lecture 12: Feb 22 x1 x2 x3.
1 Cutting Plane Technique for Solving Integer Programs.
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
The 2 Period Travelling Salesman Problem Applied to Milk Collection in Ireland By Professor H P Williams,London School of Economics Dr Martin Butler, University.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
Introduction to Linear and Integer Programming
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
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:
Branch and Bound Searching Strategies
6 - 1 § 6 The Searching Strategies e.g. satisfiability problem x1x1 x2x2 x3x3 FFF FFT FTF FTT TFF TFT TTF TTT.
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems Ruslan SADYKOV Ecole Polytechnique, Laboratoire d’Informatique.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
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.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
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.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
LINEAR PROGRAMMING SIMPLEX METHOD.
Decision Procedures An Algorithmic Point of View
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
MILP algorithms: branch-and-bound and branch-and-cut
Integer programming, MA Operational Research1 Integer Programming Operational Research -Level 4 Prepared by T.M.J.A.Cooray Department of Mathematics.
Chap 10. Integer Prog. Formulations
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Integer Programming (정수계획법)
D Nagesh Kumar, IIScOptimization Methods: M7L2 1 Integer Programming Mixed Integer Linear Programming.
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
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
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Sebastian Ceria Graduate School of Business and
The CPLEX Library: Mixed Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
EMIS 8373: Integer Programming
Chapter 5. Optimal Matchings
MILP algorithms: branch-and-bound and branch-and-cut
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
2. Generating All Valid Inequalities
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Part II General Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Presentation transcript:

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

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.

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.

Cut Classification General purpose Relaxation Problem specific

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

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

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

Lift-and-Project cuts A Mixed 0-1 Program its LP Relaxation with optimal solution

Lift-and-Project cuts Generate cutting planes for any mixed 0-1 program: –Disjunction –Description of –Choose a set of inequalities valid for P i that cut off

The LP relaxation

The optimal “fractional” solution

One side of the disjunction

The other side of the disjunction

The union of the disjunctive sets

The convex-hull of the union of the disjunctive sets

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

x The new “feasible” solution!

How do we get disjunctive cuts in practice? A cut  x >  is valid for P i if and only if ( ,  satisfies Hence, we have a linear description of the inequalities valid for P i.

Approach Generate a cutting plane by: i) Requiring that inequality be valid, i.e. ( ,  P i ; ii) Requiring that it cuts-off the current fractional point

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

Cover Inequalities 0-1 integer set Cover C Minimal cover C Cover inequality

Separation Given a point find a cover C such that

Separation Let z j = 1 if element j is in the cover z j = 0 if element j is not in the cover If v < 1, then we identified a violated cover

Lifting Find valid inequality Case 1: x k = 0 Valid for all  k Case 2: x k = 1

Lifting Define

Lifting Let k  N\C. Find  k such that is valid for

Lifting verified if where

Lifting Proposition: Let k  N\C, then is valid for

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!

Continuous 0-1 Knapsack Mixed integer set We can apply similar ideas and results concerning lifting to generate valid inequalities for MIPs

Node Packing Relaxation Problem Implications

Node Packing Relaxation Conflict graph Clique inequality

Cut generation Clique inequalities Odd-cycle inequalities

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 !

Cut Management When and how many violated cuts to add the current formulation ? When and which cuts to delete from 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

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 k th evaluated node (skip factor)

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

Cut Management Cut generator Active formulation Cut pool

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

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

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

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

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

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

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

GAP

Natural Formulation

Column Generation Formulation

Each satisfies

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

Solving LP Relaxation Restricted master problem Pricing problem

Pricing Problem

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

Branching Solution: Branch on original variables: Branch x ij = 0: –No columns for machine j with a 1 in row i Branch x ij = 1: –All columns for machine j have a 1 in row i –All columns for machine k  j have a 0 in row i