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

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

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

AM 121: Intro to Optimization Models and Methods Fall 2018

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

3.7 Cutting plane methods

Cutting Plane Methods I

AM 121: Intro to Optimization

AM 121: Intro to Optimization Models and Methods

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.

Integer Programming: Cutting Planes

Optimization Methods in Management Science

Cutting Plane Separators in SCIP

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Lesson 27 Linear Programming; The Simplex Method

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

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

On the knapsack closure of 0-1 Integer Linear Programs

Cutting Planes in SCIP

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

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

A Review of Linear Programming

arxiv: v1 [cs.cc] 5 Dec 2018

Lecture 5. x 1,x 2,x 3 0 (1)

Foundations of Operations Research

Linear and Integer Programming - ideas

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

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

Introduction to Integer Programming

On the Chvatál-Complexity of Binary Knapsack Problems. Gergely Kovács 1 Béla Vizvári College for Modern Business Studies, Hungary

Summary of the simplex method

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

Linear Programming, Lecture 4

Introduction to Integer Linear Programming

Lift-and-Project Inequalities

Lecture 8: Column Generation

Operations Research Lecture 6: Integer Programming

Prelude to the Simplex Algorithm. The Algebraic Approach The search for extreme point solutions.

Structured Problems and Algorithms

Integer Programming Methods LNMB

AM 121: Intro to Optimization Models and Methods Fall 2018

Dr. Maddah ENMG 500 Engineering Management I 10/21/07

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

The Simplex Method. Standard form (max) z c T x = 0 such that Ax = b.

IE 400: Principles of Engineering Management. Simplex Method Continued

Review Solutions, Exam 2, Operations Research

Integer Programming Chapter 15

The Simplex Algorithm

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

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

Linear programs Optimization Geoff Gordon Ryan Tibshirani

MATH2070 Optimisation

LP Relaxations of Mixed Integer Programs

MATH 445/545 Homework 2: Due March 3rd, 2016

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

Simplex Algorithm Using Canonical Tableaus

Cutting Planes for First Level RLT Relaxations of Mixed 0-1 Programs

Generating Gomory's Cuts for linear integer programming problems: the HOW and WHY

The Strength of Multi-row Aggregation Cuts for Sign-pattern Integer Programs

Linear Programming Inverse Projection Theory Chapter 3

Asteroide Santana, Santanu S. Dey. December 4, School of Industrial and Systems Engineering, Georgia Institute of Technology

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

Systems Analysis in Construction

4. The Dual Simplex Method

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

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

AM 121 Introduction to Optimization: Models and Methods Example Questions for Midterm 1

LINEAR PROGRAMMING. Relation to the Text (cont.) Relation to Material in Text. Relation to the Text. Relation to the Text (cont.

Polynomiality of Linear Programming

4. Duality and Sensitivity

Lecture 8: Column Generation

Part 1. The Review of Linear Programming

MATHEMATICAL PROGRAMMING I

The Simplex Method. Lecture 5 Standard and Canonical Forms and Setting up the Tableau. Lecture 5 Slide 1. FOMGT 353 Introduction to Management Science

On Counting Lattice Points and Chvátal-Gomory Cutting Planes

An introductory example

March 2002, December Introduction. We investigate the facial structure of the convex hull of the mixed integer knapsack set

Lecture 9: Dantzig-Wolfe Decomposition

CO 250 Final Exam Guide

The Simplex Algorithm and Goal Programming

Math 273a: Optimization The Simplex method

Integer programming: an introduction. Alessandro Astolfi

Operations Research Lecture 2: Linear Programming Simplex Method

Part 1. The Review of Linear Programming

IP Duality. Menal Guzelsoy. Seminar Series, /21-07/28-08/04-08/11. Department of Industrial and Systems Engineering Lehigh University

Linear programs, convex polyhedra, extreme points

Math Models of OR: Some Definitions

PART 4 INTEGER PROGRAMMING

Simplex tableau CE 377K. April 2, 2015

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

Spring 2017 CO 250 Course Notes TABLE OF CONTENTS. richardwu.ca. CO 250 Course Notes. Introduction to Optimization

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method

TIM 206 Lecture 3: The Simplex Method

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

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

Minimal Valid Inequalities for Integer Constraints

MATH 271 Summer 2016 Practice problem solutions Week 1

Small (Explicit) Extended Formulation for Knapsack Cover Inequalities from Monotone Circuits

Course Notes for MS4315 Operations Research 2

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

Transcription:

AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 15: Cutting plane methods Yiling Chen SEAS Lesson Plan Cut generation and the separation problem Cutting plane methods Chvatal-Gomory cuts Gomory s cutting plane algorithm Textbook Reading: 8.4 1

Convex Hull Definition. Given set X Z n, the convex hull of X={x 1,,x t } t is conv(x)={x: x= k=1 λ k x k, t k=1 λ k =1, λ k 0 for all k} Prop. conv(x) is a polyhedron. Not CH Prop. Extreme points of conv(x) all lie in X. Prop. Can solve IP via solving LP on conv(x). Challenge: May need expon. number of inequalities to describe conv(x). members of set X denoted CH Not CH Cut Generation Q: What else can we do to improve the strength of formulations? A: Automatically generate new inequalities ( cuts ) that approximate the convex hull. Why this might be useful: improve branch-and-bound (stronger formulation, and thus improved bounds) provides a completely new way to solve IPs 2

Definition. An inequality a T x b is a valid inequality for set X Z n if a T x b for all x 2X. keeps all integer solutions members of set X valid not valid Defn. Given fractional solution x*, the separation problem is is x* 2conv(X)? If NO, find a valid inequality that is violated by x*. Defn. A cut is a valid inequality that separates the current fractional solution x *. members of set X valid not valid 3

Definition. An inequality a T x b is a valid inequality for set X R n if a T x b for all x 2X. Defn. A cut is a valid inequality that separates the current fractional solution x *. fractional solution members of set X valid, a cut not valid valid, not a cut Cut strength Definition. Cut c is stronger than cut c if z LP < z LP, where LP includes c and LP includes c. fractional solution stronger cuts isoprofit 4

The Cutting-Plane Method Step 1: Solve LPR. Get x *. Step 2: If x * integral, stop. Else, find a valid inequality that excludes x * (a cut ) Step 3: Go to Step 1. è keep strengthening the formulation until the IP is solved Questions How to generate strong cuts, and quickly? Will a cutting-plane algorithm always terminate with the optimal IP solution? For warm-up, let s look at examples of valid inequalities. 5

Example 1 X = {x 2{0,1} 5 : 3x 1 4x 2 +2x 3 3x 4 +x 5-2} First: If x 2 =x 4 =0, the LHS 0, and the solution is infeasible. By integrality, a valid inequality is x 2 +x 4 1. Does not remove any x 2X, so valid. Also: removes fractional solns eg., x=(0,1/3, 0, 1/3, 0). Second: If x 2 =0 but x 1 =1, the LHS 0, and the solution is infeasible. By integrality, a valid inequality is x 1 x 2. Does not remove any x 2X, so valid. Also: removes fractional solns e.g., x=(2/6,1/6, 0, 1, 0). Example 2 X = {(x,y) : x 9999y, 0 x 5, x 2 Z, y 2 {0,1} } X = {(0,0),(0,1),(1,1),(2,1),(3,1),(4,1),(5,1)} A valid inequality is x 5y. Does not remove any solutions in X, so valid. Also: removes fractional solutions such as (1,0.1). 6

Example 3 X = {(x,y) : x 10y, 0 x 14, y 2Z 0 } x 6+4y is valid. Doesn t remove any solns in X y 3 x 14 x 6+4y 2 x 10y 1 14 x Example 4 (Chvatal-Gomory inequality) \ Consider X = P Z 2, where P is given by 7x 1-2x 2 14 x 2 3 2x 1-2x 2 3 x 0 Valid to form a non-neg, linear combination of inequalities. Eg., multipliers u=(2/7, 37/63, 0). Obtain: 2x 1 + 1/63x 2 121/21 Since x 0, valid to round coeffs on LHS down: 2x 1 + 0x 2 121/21 Because LHS is integral for all x X, valid to round RHS down to nearest integer. Obtain: 2x 1 + 0x 2 5 Notes: (a) Important that X is non-negative integers (b) Applies to inequalities (c) The result of steps (1) and (2) is implied by P and is weaker. But the integrality on the LHS allows step 3 to tighten 2 7

x 1 2.5 x 2 (20/7,3) 2x 1 + 1/63x 2 121/21 3 x 2 3 2 7x 1-2x 2 14 2x 1-2x 2 3 1 0 0 1 2 3 x 1 objective General Approach to CG Inequality X = P \ Z n, P={x 2R n 0 :Ax b}, some u 2 Rm 0 Three steps: (i) Combine rows of A with nonnegative weights u. This is valid for X. Obtain an inequality. (ii) Take the floor of coefficients on LHS. This is a valid inequality for X because x 0. (iii) LHS has integer value => valid to take the floor of the RHS. [The LHS has integer values because coeffs and x are integer.] 8

Theorem. Given any fractional, extreme point x* of P, there exists multipliers u 0 s.t. the CG inequality is a cut (for x*). => CG cuts are complete for IP In principle we can solve IPs by repeated CG cuts. But: How many CG cuts do we need to generate? How do we generate the cuts? Answer: Use Gomory s algorithm CG inequalities are valid for any integer program with and non-neg, integer decision variables. Gomory s algorithm uses CG inequalities in a particular way. It can only be applied to an integer program with integer coeffs and integer RHS s. (WLOG for rational problem: achieve by rescaling) It generates CG cuts, and provably converges to the optimal IP solution. Uses the simplex tableau, generates a cut from any row with a fractional RHS value. No fractional rows left => an integer solution 9

Gomory's cutting plane algorithm Outline of an algorithm for Integer solutions to linear programs, R.E.Gomory, Bulletin of the American Mathematical Society 64, 275-278 (1958) An algorithm for Integer solutions to Linear programs, R.E.Gomory, in R. Graves and P. Wolfe, eds., Recent advances in Mathematical Programming McGraw-Hill, 269-302 (1964) Edmonds polytopes and a hierarchy of combinatorial problems, V. Chvatal, Discr. Math. 4, 305 337 (1973) Example (Gomory s algorithm) For an IP with A 2 Z mn and b 2 Z m. For example: z = max 4x 1 x 2 s.t. 7x 1 2x 2 14 x 2 3 2x 1 2x 2 3 x 1, x 2 0, integer (Need integer coefficients, RHS. WLOG for rational problem: achieve by rescaling.) Introduce slack variables x 3, x 4 and x 5. A and b integer: therefore, we can insist that slack variables are non-negative, integer. 10

x 2 (20/7,3) 3 x 2 3 2 7x 1-2x 2 14 2x 1-2x 2 3 1 0 0 1 2 3 x 1 objective Generating a CG cut Optimal tableau: z +4/7 x 3 + 1/7 x 4 = 59/7 x 1 +1/7 x 3 + 2/7 x 4 = 20/7 x 2 + x 4 = 3-2/7 x 3 + 10/7x 4 + x 5 = 23/7 B={1, 2, 5} and x * =(20/7, 3, 0, 0, 23/7) Form a CG-cut from any row with a fractional RHS. u vector puts 1 on this row, 0 on other rows. apply CG procedure to the inequality implied by the equality (CG is defined for inequalities). Suppose we choose x 1 row. The CG cut is: x 1 + 0x 3 + 0x 4 2 11

Optimal tableau: z +4/7 x 3 + 1/7 x 4 = 59/7 x 1 +1/7 x 3 + 2/7 x 4 = 20/7 (1) x 2 + x 4 = 3-2/7 x 3 + 10/7x 4 + x 5 = 23/7 Add CG cut from x 1 row (convenient to negate): -x 1-2 (a) Will want to isolate current basis. (1) + (a): 1/7x 3 + 2/7x 4 6/7 (b) Add non-neg, integer excess var x 6 0: 1/7x 3 + 2/7x 4 - x 6 = 6/7 (c) Note: x 6 integer because LHS-RHS in (a) is integer, also true for (b) since (1) is an equality. x 2 x 1 2 (20/7,3) 3 x 2 3 2 7x 1-2x 2 14 2x 1-2x 2 3 1 0 (2,1/2) 0 1 2 3 x 1 objective 12

Add (c) and re-optimize. New optimal tableau: z +½x 5 +3x 6 = 15/2 x 1 +x 6 = 2 x 2 ½x 5 +x 6 = ½ x 3 x 5 5x 6 = 1 x 4 +½x 5 + 6x 6 = 5/2 B={1,2,3,4} and x * =(2, 1/2, 1, 5/2, 0, 0) Add another CG cut. Use a general rule to go from fractional tableau to a new cut. General Rule for Deriving a Cut For row i with fractional RHS, the CG cut is j B (a ij - a ij ) x j b i - b i 2 Example 1: z + 4/7 x 3 + 1/7 x 4 = 59/7 x 1 + 1/7x 3 + 2/7 x 4 = 20/7 x 2 + x 4 = 3-2/7 x 3 + 10/7x 4 + x 5 = 23/7 B={1, 2, 5} Cut 1/7x 3 + 2/7x 4 6/7 13

General Rule for Deriving a Cut For row i with fractional RHS, the CG cut is j B (a ij - a ij ) x j b i - b i 2 Example 2: z +½x 5 +3x 6 = 15/2 x 1 +x 6 = 2 x 2 ½x 5 +x 6 = ½ x 3 x 5 5x 6 = 1 x 4 +½x 5 + 6x 6 = 5/2 B={1, 2, 3, 4} Cut ½x 5 ½ (½ = -½-( -½ )=-½ - (-1)=½) Add (c) and re-optimize. New optimal tableau: z +½x 5 +3x 6 = 15/2 x 1 +x 6 = 2 x 2 ½x 5 +x 6 = ½ x 3 x 5 5x 6 = 1 x 4 +½x 5 + 6x 6 = 5/2 B={1,2,3,4} and x * =(2, 1/2, 1, 5/2, 0, 0) Add CG cut ½x 5 ½ Bring in integer, non-neg excess var x 7. ½x 5 x 7 = ½ (d) 14

Add (d) and re-optimize. New tableau: z +3x 6 + x 7 = 7 x 1 +x 6 = 2 x 2 +x 6 x 7 = 1 x 3 5x 6 2x 7 = 2 x 4 +6x 6 + x 7 = 2 x 5 2x 7 = 1 x * =(2, 1, 2, 2, 1, 0, 0) Integral (x 1, x 2 )=(2,1) solves the original IP. What happened? Visualizing. Map the cuts back to the (x 1,x 2 ) space First cut: x 1 2 Second cut: ½x 5 ½. Substituting for x 5 =3 2x 1 +2x 2, rearrange and obtain x 1 x 2 1. 15

x 2 x 1 2 (20/7,3) 3 x 2 3 2 7x 1-2x 2 14 2x 1-2x 2 3 1 (2,1) 0 (2,1/2) 0 x 1 -x 2 1 1 2 3 x 1 objective Summary: Gomory s algorithm Repeat: Solve LP. If integral, STOP. Else, generate a CG-cut from any row with fractional RHS. Thm. Gomory s algorithm will solve an IP with integer coefficients and integer RHS values. 16

Example (Gomory s algorithm) Consider the IP z = max 4x 1 x 2 7x 1-2x 2 14 x 2 3 2x 1-2x 2 3 x 1, x 2 0, integer Initial optimal tableau: z + 4/7 x 3 + 1/7 x 4 = 59/7 x 1 + 1/7x 3 + 2/7 x 4 = 20/7 x 2 + x 4 = 3-2/7 x 3 + 10/7x 4 + x 5 = 23/7 B={1, 2, 5} Add cut 1/7x 3 + 2/7x 4 6/7 (Bring in integer excess variable x 6 ) 17

New optimal tableau: z +½x 5 +3x 6 = 15/2 x 1 +x 6 = 2 x 2 ½x 5 +x 6 = ½ x 3 x 5 5x 6 = 1 x 4 +½x 5 + 6x 6 = 5/2 B={1,2,3,4} and x * =(2,1/2,1, 5/2, 0, 0) Add cut ½x 5 ½ (Bring in integer excess variable x 7 ) Final optimal tableau: z +3x 6 + x 7 = 7 x 1 +x 6 = 2 x 2 +x 6 x 7 = 1 x 3 5x 6 2x 7 = 2 x 4 +6x 6 + x 7 = 2 x 5 x 7 = 1 x * =(2, 1, 2, 2, 1, 0, 0) 18

Gomory s algorithm Not of practical interest, but transformative method Can solve IPs without branch and bound, and inspired effort into identifying families of strong cuts. With some work, can extend to solve mixed IPs Summary: Cutting plane method Cuts are valid inequalities that separate the current optimal, fractional solution The cutting-plane method Chvatal-Gomory cuts for IPs (they are complete) Gomory s cutting plane method Solves IPs without branch and bound Works on IPs with integer coefficients and integer RHS. 19