2. Generating All Valid Inequalities

Slides:



Advertisements
Similar presentations
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
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,
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.
2. Valid Inequalities for the 0-1 Knapsack Polytope Integer Programming
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Gaussian Elimination and Simplex.
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Approximation Algorithms
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
Simplex method (algebraic interpretation)
Linear Programming System of Linear Inequalities  The solution set of LP is described by Ax  b. Gauss showed how to solve a system of linear.
Pareto Linear Programming The Problem: P-opt Cx s.t Ax ≤ b x ≥ 0 where C is a kxn matrix so that Cx = (c (1) x, c (2) x,..., c (k) x) where c.
Integer programming, MA Operational Research1 Integer Programming Operational Research -Level 4 Prepared by T.M.J.A.Cooray Department of Mathematics.
3.3 Implementation (1) naive implementation (2) revised simplex method
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
I.4 Polyhedral Theory 1. Integer Programming  Objective of Study: want to know how to describe the convex hull of the solution set to the IP problem.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
D Nagesh Kumar, IIScOptimization Methods: M7L2 1 Integer Programming Mixed Integer Linear Programming.
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.
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
1.2 Guidelines for strong formulations  Running time for LP usually depends on m and n ( number of iterations O(m), O(log n)). Not critically depend on.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
OR  Now, we look for other basic feasible solutions which gives better objective values than the current solution. Such solutions can be examined.
Linear Programming Chap 2. The Geometry of LP  In the text, polyhedron is defined as P = { x  R n : Ax  b }. So some of our earlier results should.
Approximation Algorithms based on linear programming.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Lap Chi Lau we will only use slides 4 to 19
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
Topics in Algorithms Lap Chi Lau.
Perturbation method, lexicographic method
6.5 Stochastic Prog. and Benders’ decomposition
Proving that a Valid Inequality is Facet-defining
Gomory Cuts Updated 25 March 2009.
Chap 9. General LP problems: Duality and Infeasibility
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
Chapter 6. Large Scale Optimization
Chapter 5. Sensitivity Analysis
Chap 3. The simplex method
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
3.5 Minimum Cuts in Undirected Graphs
Chapter 4. Duality Theory
I.5. Computational Complexity
Gomory’s cutting plane algorithm for integer programming
Chapter 6. Large Scale Optimization
Chapter 8. General LP Problems
Chapter 5. The Duality Theorem
System of Linear Inequalities
Affine Spaces Def: Suppose
I.4 Polyhedral Theory (NW)
Flow Feasibility Problems
Back to Cone Motivation: From the proof of Affine Minkowski, we can see that if we know generators of a polyhedral cone, they can be used to describe.
I.4 Polyhedral Theory.
Proving that a Valid Inequality is Facet-defining
Chapter 8. General LP Problems
Part II General Integer Programming
(Convex) Cones Def: closed under nonnegative linear combinations, i.e.
6.5 Stochastic Prog. and Benders’ decomposition
Chapter 2. Simplex method
Simplex method (algebraic interpretation)
Chapter 8. General LP Problems
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Chapter 6. Large Scale Optimization
Chapter 2. Simplex method
1.2 Guidelines for strong formulations
Presentation transcript:

2. Generating All Valid Inequalities Let 𝑆={𝑥∈ 𝑍 + 𝑛 :𝐴𝑥≤𝑏} 𝑃={𝑥∈ 𝑅 + 𝑛 :𝐴𝑥≤𝑏} 𝑆=𝑃∩ 𝑍 𝑛 Valid inequalities for 𝑆 (conv(𝑆)) can be generated using 𝐶−𝐺 procedure. Also as 𝐷−inequalities. All valid inequalities for 𝑆 can be generated using these procedures. 0-1 problems: 𝑃={𝑥∈ 𝑅 + 𝑛 : 𝐴𝑥≤𝑏, 𝑥≤1}, 𝑆=𝑃∩ 𝑍 𝑛 All valid inequalities are 𝐷−inequalities. We say that any valid inequality for 𝑆 dominated by a 𝐶−𝐺 inequality (𝐷−inequality) is also a 𝐶−𝐺 inequality (𝐷−inequality). Integer Programming 2015

𝑃 𝑡 =𝑐𝑜𝑛𝑣[ 𝑃 𝑡+1 ∩ 𝑥: 𝑥 𝑡+1 =0 ∪ 𝑃 𝑡+1 ∩ 𝑥: 𝑥 𝑡+1 =1 ], 𝑡=𝑛−1, …, 0 Let 𝑃 𝑛 =𝑃. 𝑃 𝑡 =𝑐𝑜𝑛𝑣[ 𝑃 𝑡+1 ∩ 𝑥: 𝑥 𝑡+1 =0 ∪ 𝑃 𝑡+1 ∩ 𝑥: 𝑥 𝑡+1 =1 ], 𝑡=𝑛−1, …, 0 Since 𝑃 0 contains all of the integral points in P, 𝑐𝑜𝑛𝑣(𝑆)⊆ 𝑃 0 . Show that all valid inequalities for S (conv(S)) are D-inequalities by showing that all valid inequalities for S are D-inequalities for 𝑃 0 . (which yields that 𝑃 0 ⊆𝑐𝑜𝑛𝑣(𝑆), hence 𝑃 0 =𝑐𝑜𝑛𝑣 𝑆 .) Thm 2.3: Every valid inequality for 𝑆=𝑃∩ 𝑍 𝑛 with 𝑃={𝑥∈ 𝑅 + 𝑛 : 𝐴𝑥≤𝑏, 𝑥≤1} is a 𝐷−inequality Thm 2.4: 𝑃 0 =conv 𝑆 . To get conv(𝑆), we only need to integralize one variable at a time. Integer Programming 2015

For 0-1 problems, all valid inequalities are 𝐶−𝐺 inequalities. Thm 2.8: Let 𝜋𝑥≤ 𝜋 0 with (𝜋, 𝜋 0 )∈ 𝑍 𝑛+1 be a valid inequality for 𝑆=𝑃∩ 𝑍 𝑛 with 𝑃={𝑥∈ 𝑅 + 𝑛 : 𝐴𝑥≤𝑏, 𝑥≤1}. Then 𝜋𝑥≤ 𝜋 0 is a 𝐶−𝐺 inequality for 𝑆. Thm 2.15: Let 𝜋𝑥≤ 𝜋 0 with (𝜋, 𝜋 0 )∈ 𝑍 𝑛+1 be a valid inequality for 𝑆=𝑃∩ 𝑍 𝑛 with 𝑃={𝑥∈ 𝑅 + 𝑛 : 𝐴𝑥≤𝑏, 𝑥≤ 𝑑 }. Then 𝜋𝑥≤ 𝜋 0 is a 𝐶−𝐺 inequality for 𝑆. Thm 2.16: Let 𝜋𝑥≤ 𝜋 0 with (𝜋, 𝜋 0 )∈ 𝑍 𝑛+1 be a valid inequality for 𝑆={𝑥∈ 𝑍 + 𝑛 : 𝐴𝑥≤𝑏}≠∅. Then 𝜋𝑥≤ 𝜋 0 is a 𝐶−𝐺 inequality for 𝑆. Integer Programming 2015

Rank of C-G Inequality NW p.225. 𝐶−𝐺 procedure is used recursively Def: elementary closure of P (first Chvatal closure): 𝑒 𝑃 ={ 𝜋, 𝜋 0 : 𝜋 𝑗 = 𝑢 𝑎 𝑗 for 𝑗∈𝑁, 𝜋 0 = 𝑢𝑏 for some 𝑢∈ 𝑅 + 𝑚 }, 𝑒(𝑃) contains all of the nondominated 𝐶−𝐺 inequalities that can be obtained by one application of the procedure. Prop 2.17: If 𝜋, 𝜋 0 ∈𝑒(𝑃), then 𝜋 0 ≥ 𝜋 0 𝐿𝑃 . ( : integer vector) Pf) Since 𝜋, 𝜋 0 ∈𝑒(𝑃), there exists 𝑢∈ 𝑅 + 𝑚 such that 𝑢 𝑎 𝑗 = 𝜋 𝑗 for 𝑗∈𝑁 and 𝑢𝑏 = 𝜋 0 . Such 𝑢 is a feasible solution to the dual of max{𝜋𝑥:𝑥∈𝑃}. Thus 𝑢𝑏≥ 𝜋 0 𝐿𝑃 and 𝜋 0 = 𝑢𝑏 ≥ 𝜋 0 𝐿𝑃 .  (If 𝜋 0 < 𝜋 0 𝐿𝑃 , 𝜋, 𝜋 0 is not in 𝑒(𝑃).) Integer Programming 2015

rank of 𝑃 : 𝜌(𝑃) = max{r(𝜋, 𝜋 0 ): (𝜋, 𝜋 0 ) is valid for 𝑆=𝑃∩ 𝑍 𝑛 } Def: (𝜋, 𝜋 0 ) is of rank 𝑘 with respect to 𝑃 if (𝜋, 𝜋 0 ) is not equivalent to or dominated by any nonnegative linear combination of 𝐶−𝐺 inequalities, each of which can be determined by no more than 𝑘−1 applications of the 𝐶−𝐺 procedure, but is equivalent to or dominated by a nonnegative linear combination of some 𝐶−𝐺 inequalities that require no more than 𝑘 applications of the procedure. (The smallest number of the 𝐶−𝐺 procedure to get a given valid inequality for 𝑆) rank of (𝜋, 𝜋 0 ) : r 𝜋, 𝜋 0 =𝑘 rank of 𝑃 : 𝜌(𝑃) = max{r(𝜋, 𝜋 0 ): (𝜋, 𝜋 0 ) is valid for 𝑆=𝑃∩ 𝑍 𝑛 } For matching problem, 𝜌 𝑃 =1. But, for most IP problems, the rank of the polyhedron increases without bound as a function of the dimension of the polyhedron. Even when dimension is fixed, there are examples such that the rank increases without bound as a function of the magnitude of the coefficients in the linear inequality description of 𝑃. Integer Programming 2015

Suppose a family of polyhedra F has bounded rank (𝜌 𝑃 ≤𝑘 ∀𝑃∈𝐹) ⟹ Validity for conv(𝑆) can be in 𝑁𝑃. (only need original constraints for 𝑃 and 1+𝑛+ …+ 𝑛 𝑘−1 ≤ 𝑛 𝑘 weight vectors to show that 𝜋𝑥≤ 𝜋 0 is valid for conv(𝑆)) Certificate of optimality for IP problem: If a family of polyhedra F has bounded rank, we have short proof of optimality of 𝑥 0 to max{𝑐𝑥:𝑥∈𝑆}. Only need to show that 𝑐𝑥≤ 𝑧 0 is a valid inequality, where 𝑐 𝑥 0 = 𝑧 0 , 𝑥 0 ∈𝑆 Using original constraints and 𝑛 𝑘 weight vectors (provided that the weight vectors are polynomial in the description of 𝑃.), we have short proof that 𝑐𝑥≤ 𝑧 0 is valid. Hence validity is in 𝑁𝑃. If lower bound feasibility (complement of validity) is 𝑁𝑃−complete, we have 𝑁𝑃𝐶∩𝐶𝑜𝑁𝑃≠∅, which implies 𝑁𝑃=𝐶𝑜𝑁𝑃. Therefore it is unlikely that if a class of IP problem is 𝑁𝑃−hard, the polyhedra over which it is defined has bounded rank. Integer Programming 2015

3. Gomory’s Fractional Cuts and Rounding Why called Chvatal-Gomory procedure? 𝐶−𝐺 procedure was implicitly used in the earlier work of Gomory’s finite cutting plane algorithm. S={𝑥∈ 𝑍 + 𝑛 : 𝐴𝑥≤𝑏}, (𝐴,𝑏) is integral 𝑚×(𝑛+1) 𝑆 𝑒 ={𝑥∈ 𝑍 + 𝑛+𝑚 : 𝐴, 𝐼 𝑥=𝑏} Let 𝜆∈ 𝑅 + 𝑚 , 𝑎 𝑗 = 𝑎 𝑗 , 𝑗∈𝑁, 𝑏 =𝜆𝑏 ⟹ 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 + 𝑖∈𝑀 𝜆 𝑖 𝑥 𝑛+𝑖 = 𝑏 (3.1) Assume that this represents a row of the optimal simplex tableau for LP relaxation. (Technically, 𝑥 0 =𝑐𝑥 is included in the constraints and max 𝑥 0 is solved.  is a row of 𝐵 −1 ) Let 𝑓 𝑗 = 𝑎 𝑗 − 𝑎 𝑗 , 𝑓 0 = 𝑏 − 𝑏 , 𝑢 𝑖 = 𝜆 𝑖 − 𝜆 𝑖 From modular arithmetic, ⟹ 𝑗∈𝑁 𝑓 𝑗 𝑥 𝑗 + 𝑖∈𝑀 𝑢 𝑖 𝑥 𝑛+𝑖 ≥ 𝑓 0 (Gomory cutting plane) (3.2) Integer Programming 2015

We can get Gomory cut using C-G with weights 𝑢 𝑖 = 𝜆 𝑖 − 𝜆 𝑖 ≥0. Thm 3.1: Let S={𝑥∈ 𝑍 + 𝑛 : 𝐴𝑥≤𝑏}. The fractional cut (3.2) derived from (3.1) is a C-G inequality for S obtained with weights 𝑢 𝑖 = 𝜆 𝑖 − 𝜆 𝑖 for 𝑖∈𝑀. Pf) Let 𝜆 =( 𝜆 1 , …, 𝜆 𝑚 ) and 𝑢=𝜆− 𝜆 ≥0. Then 𝑢𝐴𝑥=𝜆𝐴𝑥− 𝜆 𝐴𝑥≤𝜆𝑏− 𝜆 𝑏=𝑢𝑏. or 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 − 𝑗∈𝑁 𝑖∈𝑀 𝜆 𝑖 𝑎 𝑖𝑗 𝑥 𝑗 ≤ 𝑏 − 𝑖∈𝑀 𝜆 𝑖 𝑏 𝑖 Round down ⟹ 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 + 𝑖∈𝑀 𝜆 𝑖 ( 𝑏 𝑖 − 𝑗∈𝑁 𝑎 𝑖𝑗 𝑥 𝑗 )≤ 𝑏 (−1)× 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 + 𝑖∈𝑀 𝜆 𝑖 𝑥 𝑛+𝑖 ≤ 𝑏 + 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 + 𝑖∈𝑀 𝜆 𝑖 𝑥 𝑛+𝑖 = 𝑏 ------------------------------------------------------ 𝑗∈𝑁 ( 𝑎 𝑗 − 𝑎 𝑗 )𝑥 𝑗 + 𝑖∈𝑀 ( 𝜆 𝑖 − 𝜆 𝑖 ) 𝑥 𝑛+𝑖 ≥ 𝑏 − 𝑏 Integer Programming 2015

⟹  nonbasic (fractional term)  𝑏 − 𝑏 >0 Coefficient of a basic variable =1 in the optimal tableau of LP and all other basic variables have coefficient 0. ⟹  nonbasic (fractional term)  𝑏 − 𝑏 >0 Note that the current optimal LP solution violates this valid inequality since the values of nonbasic variables are all 0. Gomory showed that this cutting plane algorithm converges in a finite number of steps if the cuts are chosen with some rule. Integer Programming 2015