1 Cutting Plane Technique for Solving Integer Programs.

Slides:



Advertisements
Similar presentations
1 LP, extended maxflow, TRW OR: How to understand Vladimirs most recent work Ramin Zabih Cornell University.
Advertisements

WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 16 Integer Programming.
Branch-and-Bound Technique for Solving Integer Programs
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,
Branch-and-Bound In this handout,  Summary of branch-and-bound for integer programs Updating the lower and upper bounds for OPT(IP) Summary of fathoming.
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
EE 553 Integer Programming
Progress in Linear Programming Based Branch-and-Bound Algorithms
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 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:
Instructor Neelima Gupta Table of Contents Lp –rounding Dual Fitting LP-Duality.
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Mathematical Modeling and Optimization: Summary of “Big Ideas”
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Cutting Planes II. The Knapsack Problem Recall the knapsack problem: n items to be packed in a knapsack (can take multiple copies of the same item). The.
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’
(Not in text).  An LP with additional constraints requiring that all the variables be integers is called an all-integer linear program (IP).  The LP.
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
Chapter 12 Discrete Optimization Methods
Mathematical Modeling and Optimization: Summary of “Big Ideas”
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Workforce scheduling – Days off scheduling 1. n is the max weekend demand n = max(n 1,n 7 ) Surplus number of employees in day j is u j = W – n j for.
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
Logical Topology Design
WOOD 492 MODELLING FOR DECISION SUPPORT
Chap 10. Integer Prog. Formulations
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.
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.
Integer Programming (정수계획법)
Integer LP In-class Prob
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
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.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Lecture.6. Table of Contents Lp –rounding Dual Fitting LP-Duality.
Integer Programming, Branch & Bound Method
Approximation Algorithms Duality My T. UF.
Chapter 6 Optimization Models with Integer Variables.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Sebastian Ceria Graduate School of Business and
The CPLEX Library: Mixed Integer Programming
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Gomory Cuts Updated 25 March 2009.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
2. Generating All Valid Inequalities
Integer Programming (정수계획법)
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Branch-and-Bound Technique for Solving Integer Programs
Discrete Optimization
Presentation transcript:

1 Cutting Plane Technique for Solving Integer Programs

2 Motivating Example for Cutting Planes Recall the bad-case example for the LP-rounding algorithm: Integer ProgramLP relaxation max x 1 + 5x 2 s.t.x 1 +10x 2  20 x 1  2x 1  2 x 1, x 2 ≥ 0 integer x 1, x 2 ≥ 0 Solution to LP-relaxation: (2, 1.8) Rounded IP solution: (2, 1) with value 7 IP optimal solution: (0, 2) with value 10 Conclusion: Rounded solution too far from optimal solution x 1 +10x 2 = 20 x 1 = 2 Z=11

3 How can we improve the performance of the LP-rounding? Add the following new constraint to the problem: x 1 + 2x 2  4. New Integer ProgramNew LP relaxation max x 1 + 5x 2 s.t.x 1 +10x 2  20 x 1  2x 1  2 x 1 + 2x 2  4 x 1 + 2x 2  4 x 1, x 2 ≥ 0 integer x 1, x 2 ≥ 0 The set of feasible integer points is the same for the old and new IPs But the feasible region of the new LP-relaxation is different: some of the fractional points are cut off As a result, the optimal solution of the new LP-relaxation, (0,2) is also the optimal IP solution. x 1 +10x 2 = 20 x 1 = 2 Z=10 x 1 + 2x 2 = 4 (0, 2)

4 General Idea of Cutting Plane Technique  Add new constraints (cutting planes) to the problem such that (i) the set of feasible integer solutions remains the same, i.e., we still have the same integer program. (ii) the new constraints cut off some of the fractional solutions making the feasible region of the LP-relaxation smaller.  Smaller feasible region might result in a better LP value (i.e., closer to the IP value), thus making the search for the optimal IP solution more efficient.  Each integer program might have many different formulations. Important modeling skill: Give as tight formulation as possible. How? Find cutting planes that make the formulation of the original IP tighter.

5 Example of making a formulation tighter: Bin Packing Problem  Given: n items with sizes s[1], s[2], …, s[n] ; bins with size W (where W ≥ s[i], any i=1,…,n ).  Goal: Pack the items into the bins using as few bins as possible. Example: n=13 items with sizes 20, 20, 20, 20, 20, 81, 81, 81, 81, 82, 91, 49, 51 ; Bin size is W=100. Minimum number of bins needed is 8.

6 Example of making a formulation tighter: Bin Packing Problem  Want an IP formulation for this problem. Let M be an upper bound on the number of bins needed. (M=n is a safe upper bound; but should try for smaller values) Define the following variables. For j=1,…,M, let For each i=1,…,n and j=1,…,M, let

7 Example of making a formulation tighter: Bin Packing Problem  Our objective is to minimize the number of used bins: Minimize sum{j in 1..M}open[j]  We need the following functional constraints. Each item should be packed in exactly one bin: (C1) sum{j in 1..M}assign[i,j] = 1, for each i=1,…,n Each bin can contain items of total size at most W: (C2)sum{i in 1..n}s[i]*assign[i,j]  W, for each j=1,…,M Items can be packed only in open bins: (C3)assign[i,j]  open[j], for each i=1,…,n and j=1,…,M  Set constraints: All variables are binary.

8 Example of making a formulation tighter: Bin Packing Problem  The optimal solution to the LP relaxation: open[j] = 1/M, assign[i,j] = 1/M, for each i=1,…,n and j=1,…,M with optimal value M * 1/M = 1.  Let’s check that it really satisfies the constraints: (C1) sum{j in 1..M}assign[i,j] = 1, for each i=1,…,n For this solution, M * 1/M = 1. (C2)sum{i in 1..n}s[i]*assign[i,j]  W, for each j=1,…,M For this solution, sum{i in 1..n} s[i] / M  W. (C3)assign[i,j]  open[j], for each i=1,…,n and j=1,…,M For this solution, 1/M  1/M.

9 Example of making a formulation tighter: Bin Packing Problem  The optimal solution with value 1 might be too far from the optimal IP solution. E.g., recall that we needed 8 bins for our example with 13 items. Thus, the bound given by the LP-relaxation is too loose.  How to make the IP formulation tighter? Replace constraints (C2) with the following constraints: (C2’) sum{i in 1..n}s[i]*assign[i,j]  W*open[j], for each j=1,…,M Note that these constraints are valid for the integer program (i.e., no feasible integer point is cut off). But it cuts off some of the fractional points, particularly the optimal solution of the old LP-relaxation. The optimal solution of the new LP-relaxation has value 6.97 for our example. This is a much tighter lower bound for the optimal IP value 8.

10 Methods of getting Cutting Planes 1)Exploit the special structure of the problem to get cutting planes  Often can be hard to get  Topic of intensive research 2)More general methods are also available  Can be used automatically for many problems 3)Often so-called branch-and-cut algorithms (some combination of branch-and-bound and cutting planes) are used to solve integer programs. More examples in the next handout