Part II General Integer Programming

Slides:



Advertisements
Similar presentations
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Advertisements

1 Matching Polytope x1 x2 x3 Lecture 12: Feb 22 x1 x2 x3.
Dragan Jovicic Harvinder Singh
Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Applied Discrete Mathematics Week 9: Relations
Decision Procedures An Algorithmic Point of View
Linear Programming - Standard Form
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.
The Chvátal Dual of a Pure Integer Programme H.P.Williams London School of Economics.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Linear Programming (Convex) Cones  Def: closed under nonnegative linear combinations, i.e. K is a cone provided a 1, …, a p  K  R n, 1, …, p.
Chinese Remainder Theorem Dec 29 Picture from ………………………
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.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
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.
Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.
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.
2.5 The Fundamental Theorem of Game Theory For any 2-person zero-sum game there exists a pair (x*,y*) in S  T such that min {x*V. j : j=1,...,n} =
CMSC Discrete Structures
An Introduction to Linear Programming
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
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
Chapter 1. Introduction Ex : Diet Problem
Topics in Algorithms Lap Chi Lau.
Lecture 3.
6.5 Stochastic Prog. and Benders’ decomposition
Proving that a Valid Inequality is Facet-defining
Chapter 1. Introduction Mathematical Programming (Optimization) Problem: min/max
Chapter 5. Optimal Matchings
1.3 Modeling with exponentially many constr.
Chap 9. General LP problems: Duality and Infeasibility
3.3 Applications of Maximum Flow and Minimum Cut
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
Integer Programming (정수계획법)
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
2. Generating All Valid Inequalities
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Chapter 5. The Duality Theorem
CMSC Discrete Structures
Integer Programming (정수계획법)
I.4 Polyhedral Theory (NW)
5.4 T-joins and Postman 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
CMSC Discrete Structures
(Convex) Cones Def: closed under nonnegative linear combinations, i.e.
Recurrence Relations Discrete Structures.
6.5 Stochastic Prog. and Benders’ decomposition
Chapter 2. Simplex method
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
Simplex method (algebraic interpretation)
Chapter 1. Formulations.
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:

Part II General Integer Programming II.1 The Theory of Valid Inequalities

Let 𝑆={𝑥∈ 𝑍 + 𝑛 :𝐴𝑥≤𝑏} 𝑃={𝑥∈ 𝑅 + 𝑛 :𝐴𝑥≤𝑏} 𝑆=𝑃∩ 𝑍 𝑛 Have max 𝑐𝑥:𝑥∈𝑆 = max{𝑐𝑥:𝑥∈conv 𝑆 }. How can we construct inequalities describing conv(𝑆)? Use integrality and valid inequalities for 𝑃 to construct valid inequalities for 𝑆. Def: Valid inequalities 𝜋𝑥≤ 𝜋 0 and 𝛾𝑥≤ 𝛾 0 are said to be equivalent if 𝛾, 𝛾 0 =𝜆(𝜋, 𝜋 0 ) for some 𝜆>0. 𝛾𝑥≤ 𝛾 0 dominates or is stronger than 𝜋𝑥≤ 𝜋 0 if they are not equivalent and there exists 𝜇>0 such that 𝛾≥𝜇𝜋 and 𝛾 0 ≤𝜇 𝜋 0 . A maximal valid inequality is one that is not dominated by any other inequality. A maximal inequality for 𝑆 defines a nonempty face of conv(𝑆), but not conversely. Integer Programming 2017

Want valid inequalities for conv(𝑆), but start with 𝑃. Valid inequality for 𝑃={𝑥∈ 𝑅 + 𝑛 :𝐴𝑥≤𝑏} (not conv(𝑆)) For all 𝑢∈ 𝑅 + 𝑚 , 𝑣∈ 𝑅 + 𝑛 , and 𝛼∈ 𝑅 + 1 , 𝑢𝐴−𝑣 𝑥≤𝑢𝑏+𝛼 is valid for 𝑃 𝑢𝐴𝑥≤𝑢𝑏 is valid ⟹ 𝑢𝐴𝑥≤𝑢𝑏+𝛼 is valid −𝑥≤0 is valid ⟹ −𝑣𝑥≤0 is valid (weakening) ⟹ 𝑢𝐴−𝑣 𝑥≤𝑢𝑏+𝛼 is valid Prop 1.1: (𝜋, 𝜋 0 ) valid for 𝑃={𝑥∈ 𝑅 + 𝑛 :𝐴𝑥≤𝑏}. Then 𝜋𝑥≤ 𝜋 0 equivalent to or dominated by 𝑢𝐴𝑥≤𝑢𝑏, 𝑢∈ 𝑅 + 𝑚 , if any of the following conditions hold: 𝑃≠∅ (In this case, no more than min(𝑚,𝑛) components of 𝑢 need be positive) {𝑢∈ 𝑅 + 𝑚 :𝑢𝐴≥𝜋}≠∅ 𝐴= 𝐴′ 𝐼 Integer Programming 2017

⟹ Dual has optimal solution. Dual is min{𝑢𝑏:𝑢𝐴≥𝜋, 𝑢≥0} Pf) a) max{𝜋𝑥:𝑥∈𝑃}≤ 𝜋 0 ⟹ Dual has optimal solution. Dual is min{𝑢𝑏:𝑢𝐴≥𝜋, 𝑢≥0} Take basic dual optimal solution ⟹ 𝑢 0 𝐴≥𝜋, 𝑢 0 ≥0, 𝑢 0 𝑏≤ 𝜋 0 ⟹ min(𝑚, 𝑛) of components of 𝑢 0 is positive. {𝑢∈ 𝑅 + 𝑚 :𝑢𝐴≥𝜋}≠∅. Dual feasible. If 𝑃≠∅, case a) If 𝑃=∅, assume 𝑢 𝐴≥𝜋. If 𝑢 𝑏≤ 𝜋 0 , done Otherwise 𝑃=∅ ⟹ ∃ 𝑢 ∈ 𝑅 + 𝑚 such that 𝑢 𝐴≥0, 𝑢 𝑏<0. ⟹ for some 𝛽>0, ( 𝑢 +𝛽 𝑢 )𝐴≥𝜋, ( 𝑢 +𝛽 𝑢 )𝑏≤ 𝜋 0 . c) 𝐴= 𝐴′ 𝐼 . Clear that ∃ 𝑢∈ 𝑅 + 𝑚 such that 𝑢𝐴≥𝜋. Reduces to case b) Frequently assume 𝐴= 𝐴′ 𝐼 to avoid trouble when 𝑃=∅, 𝐷=∅. (see ex. 1.2 for the case with trouble) Integer Programming 2017

Integer Rounding Ex: Matching problem on 𝐺=(𝑉,𝐸) Constraints: (1.2) 𝑒∈𝛿(𝑖) 𝑥 𝑒 ≤1 for all 𝑖∈𝑉 (1.3) 𝑥∈ 𝑍 + |𝐸| , Can add constraints (1.4) 𝑒∈𝐸(𝑈) 𝑥 𝑒 ≤𝑘 , if 𝑈 =2𝑘+1, 𝑘≥1. Constraints (1.4) cannot be obtained by taking nonnegative linear combination of (1.2) Integer Programming 2017

½  ( 𝑒∈𝛿(𝑖) 𝑥 𝑒 ≤1 ), 𝑖∈𝑈, and add up How to generate (1.4)? ½  ( 𝑒∈𝛿(𝑖) 𝑥 𝑒 ≤1 ), 𝑖∈𝑈, and add up ⟹ 𝑒∈𝐸(𝑈) 𝑥 𝑒 + 1 2 𝑒∈𝛿(𝑈) 𝑥 𝑒 ≤ 1 2 𝑈 − 1 2 𝑥 𝑒 ≤0 for all 𝑒∈𝛿(𝑈) Add up (weakening in this step) 𝑒∈𝐸(𝑈) 𝑥 𝑒 ≤ 1 2 𝑈 Since 𝑥 𝑒 ∈{0, 1}, left-hand side is integral. Therefore, we can replace the right-hand side by  . If 𝑈 is odd, 𝑒∈𝐸(𝑈) 𝑥 𝑒 ≤ 1 2 𝑈 is a valid inequality for 𝑆. (strengthening) Integer Programming 2017

Chvatal-Gomory (C-G) Rounding Method For the set 𝑆={𝑥∈ 𝑍 + 𝑛 : 𝐴𝑥≤𝑏}, 𝐴=( 𝑎 1 , …, 𝑎 𝑛 ) 1. 𝑗∈𝑁 (𝑢 𝑎 𝑗 )𝑥 𝑗 ≤𝑢𝑏 for all 𝑢≥0; 2. 𝑗∈𝑁 ( 𝑢 𝑎 𝑗 ) 𝑥 𝑗 ≤𝑢𝑏 , since 𝑥≥0 implies − 𝑗∈𝑁 𝑢 𝑎 𝑗 − 𝑢 𝑎 𝑗 𝑥 𝑗 ≤0 3. 𝑗∈𝑁 ( 𝑢 𝑎 𝑗 ) 𝑥 𝑗 ≤ 𝑢𝑏 , since 𝑥∈ 𝑍 𝑛 implies 𝑗∈𝑁 ( 𝑢 𝑎 𝑗 ) 𝑥 𝑗 is an integer. Step 2 is weakening and step 3 is strengthening The procedure can be used recursively Need at most 𝑛 inequalities in the procedure (Prop 1.1) Can generate all valid inequalities for 𝑆 using C-G procedure Integer Programming 2017

Optimizing over the First Chvátal closure Ref: B&W, p187 𝑃={𝑥∈ R+n: 𝐴𝑥≤𝑏} 𝑃 1 ={𝑥∈ R+n: 𝐴𝑥≤𝑏, 𝑗=1 𝑛 ( 𝑢′ 𝐴 𝑗 ) 𝑥 𝑗 ≤ 𝑢 ′ 𝑏 , ∀ 𝑢∈ 𝑅 + 𝑚 } Separation problem for 𝑃 1 : Given an 𝑥 ∗ ∈𝑃, we want to find a 𝑢∈ 𝑅 + 𝑚 such that 𝛼′ 𝑥 ∗ > 𝛼 0 , where 𝛼= 𝑢 ′ 𝐴 and 𝛼 0 = 𝑢 ′ 𝑏 , or prove that no such u exists. (Formulation as a mixed integer program) We can assume that 𝑢 𝑖 <1 when 𝑎 𝑖 ∈ 𝑍 𝑛 , 𝑏 𝑖 ∈𝑍. Given 𝑥 ∗ , let 𝐽 𝑥 ∗ ={𝑗:𝑥j* > 0}. maximize 𝑗∈𝐽(𝑥∗) 𝛼 𝑗 𝑥 j*− 𝛼 0 subject to 0≤ 𝑢 ′ 𝐴 𝑗 − 𝛼 𝑗 <1, 𝑗∈𝐽 𝑥 ∗ , 0≤ 𝑢 ′ 𝑏− 𝛼 0 <1, 0≤ 𝑢 𝑖 <1, 𝑖=1, …, 𝑚, 𝛼 𝑗 ∈𝑍, 𝑗∈𝐽 𝑥 ∗ ∪{0} Integer Programming 2017

maximize 𝑗∈𝐽(𝑥∗) 𝛼 𝑗 𝑥 j*− 𝛼 0 −𝑤 𝑖=1 𝑚 𝑢 𝑖 Practically, we replace the strict inequalities, e.g. 𝑢 𝑖 <1, with the inequality 𝑢 𝑖 ≤1−𝛿 for a small 𝛿>0. Also using small number of positive 𝑢 𝑖 ’s usually finds much more effective cuts. Hence we introduce the term −𝑤 𝑖=1 𝑚 𝑢 𝑖 for a small 𝑤>0 in the objective function. maximize 𝑗∈𝐽(𝑥∗) 𝛼 𝑗 𝑥 j*− 𝛼 0 −𝑤 𝑖=1 𝑚 𝑢 𝑖 subject to 0≤ 𝑢 ′ 𝐴 𝑗 − 𝛼 𝑗 ≤1−𝛿, 𝑗∈𝐽 𝑥 ∗ , 0≤ 𝑢 ′ 𝑏− 𝛼 0 ≤1−𝛿, 0≤ 𝑢 𝑖 ≤1−𝛿, 𝑖=1, …, 𝑚, 𝛼 𝑗 ∈𝑍, 𝑗∈𝐽 𝑥 ∗ ∪{0} Integer Programming 2017

If we find good but not necessarily optimal solutions to the MIP, we find very effective valid inequalities. Also heuristic methods to find good feasible solutions to the MIP are helpful. MIP model may not be intended as computational tools to solve real problems. But we can examine the strength of rank-1 C-G inequalities to describe the convex hull of S for various problems. For some structured problems, e.g. knapsack problem, the separation problem for the first Chvatal closure may have some structure which enables us to handle the problem more effectively. Integer Programming 2017

Modular Arithmetic Valid inequality for the solutions of one linear equation. S = {𝑥∈ 𝑍 + 𝑛 : 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 = 𝑎 0 }, 𝑎 𝑗 ∈ 𝑅 1 for all j. Sd = {𝑥∈ 𝑍 + 𝑛 : 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 = 𝑎 0 +𝑘𝑑 for some 𝑘∈ 𝑍 1 }, 𝑑 is positive integer. Valid inequality for Sd ⟹ valid for S. Let 𝑎 𝑗 = 𝑏 𝑗 + 𝛼 𝑗 𝑑, 0≤ 𝑏 𝑗 <𝑑, 𝛼 𝑗 is integer ( 𝑏 𝑗 = remainder of 𝑎 𝑗 /𝑑) Sd = {𝑥∈ 𝑍 + 𝑛 : 𝑗∈𝑁 𝑏 𝑗 𝑥 𝑗 = 𝑏 0 +𝑘𝑑 for some 𝑘∈ 𝑍 1 }, ( 𝑗∈𝑁 𝑏 𝑗 𝑥 𝑗  0, 𝑏 0 <𝑑,  𝑘≥0) ⟹ 𝑗∈𝑁 𝑏 𝑗 𝑥 𝑗  𝑏 0 Ex: 37 𝑥 1 −68 𝑥 2 +78 𝑥 3 + 𝑥 4 =141, 𝑥∈ 𝑍 + 4 d = 12 ⟹ 𝑥 1 +4 𝑥 2 +6 𝑥 3 + 𝑥 4  9, 𝑑=1 ⟹ 𝑗∈𝑁 𝑎 𝑗 − 𝑎 𝑗 𝑥 𝑗 ≥ 𝑎 0 − 𝑎 0 : Gomory cutting plane ex) 𝑥 0 =3 3 4 − 1 2 𝑥 1 + 7 4 𝑥 2 − 11 4 𝑥 3 , 𝑥 𝑖 ∈ 𝑍 + 1 for all i. 1 2 𝑥 1 + 1 4 𝑥 2 + 3 4 𝑥 3 ≥ 3 4 Integer Programming 2017

Disjunctive Constraints Prop 1.3: If 𝑗∈𝑁 𝜋 𝑗 1 𝑥 𝑗 ≤ 𝜋 0 1 valid for 𝑆 1 ⊂ 𝑅 + 𝑛 , 𝑗∈𝑁 𝜋 𝑗 2 𝑥 𝑗 ≤ 𝜋 0 2 valid for 𝑆 2 ⊂ 𝑅 + 𝑛 , then, 𝑗∈𝑁 min⁡( 𝜋 𝑗 1 , 𝜋 𝑗 2 ) 𝑥 𝑗 ≤ max( 𝜋 0 1 , 𝜋 0 2 ) is valid for 𝑆 1 ⋃ 𝑆 2 . Disjunctive procedure: 𝑆={𝑥∈ 𝑍 + 𝑛 :𝐴𝑥≤𝑏} (1) 𝑗∈𝑁 (𝑢 𝑎 𝑗 ) 𝑥 𝑗 ≤𝑢𝑏 , 𝑢≥0 (2) Given 𝛿∈ 𝑍 + 1 , if a) 𝑗∈𝑁 𝜋 j 𝑥 𝑗 −(𝑥k  )≤𝜋0 is valid for S for some   0, and b) 𝑗∈𝑁 𝜋 j 𝑥 𝑗 +(𝑥k  1)≤𝜋0 is valid for S for some   0, then c) 𝑗∈𝑁 𝜋 j 𝑥 𝑗 ≤𝜋0 is valid for S. Integer Programming 2017

a) 𝑗∈𝑁 𝜋 j 𝑥 𝑗 −(𝑥k  )≤𝜋0 is valid for S 𝛼×( 𝑥 𝑘 ≤𝛿 ) 𝛼×( 𝑥 𝑘 ≤𝛿 ) ⟹ 𝑗∈𝑁 𝜋 j 𝑥 𝑗 ≤𝜋0 is valid for 𝑆 1 =𝑆⋂{𝑥∈ 𝑍 + 𝑛 : 𝑥 𝑘 ≤𝛿} b) 𝑗∈𝑁 𝜋 j 𝑥 𝑗 +(𝑥k  1)≤𝜋0 is valid for S 𝛽×( − 𝑥 𝑘 ≤− 𝛿+1 ) ⟹ 𝑗∈𝑁 𝜋 j 𝑥 𝑗 ≤𝜋0 is valid for 𝑆 2 =𝑆⋂{𝑥∈ 𝑍 + 𝑛 : 𝑥 𝑘 ≥𝛿+1} From Proposition 1.3, 𝑗∈𝑁 𝜋 j 𝑥 𝑗 ≤𝜋0 is valid for 𝑆 1 ⋃ 𝑆 2 . ⟹ 𝐷−inequalities Ex: Figure 1.5 P = {𝑥∈ 𝑅 + 2 : − 𝑥 1 + 𝑥 2 ≤ 1 2 , 1 2 𝑥 1 + 𝑥 2 ≤ 5 4 , 𝑥 1 ≤2} 1st ineq ⟹ − 1 4 𝑥 1 + 𝑥 2 − 3 4 𝑥 1 ≤ 1 2 2nd ineq ⟹ − 1 4 𝑥 1 + 𝑥 2 − 3 4 (1−𝑥 1 )≤ 1 2 Using the disjunction 𝑥 1 ≤0 or 𝑥 1 ≥1 leads to valid inequality − 1 4 𝑥 1 + 𝑥 2 ≤ 1 2 for 𝑆=𝑃⋂ 𝑍 2 . Integer Programming 2017

Prop 1.4: 𝑃={𝑥∈ 𝑅 + 𝑛 : 𝐴𝑥≤𝑏}, suppose 𝐴= 𝐴′ 𝐼 . Every valid inequality for disjunction on a single variable ⟹ 𝐷−inequality Prop 1.4: 𝑃={𝑥∈ 𝑅 + 𝑛 : 𝐴𝑥≤𝑏}, suppose 𝐴= 𝐴′ 𝐼 . 𝜋𝑥≤ 𝜋 0 valid for P’ = (𝑃∩ 𝑥: 𝑥 𝑘 ≤𝛿 )∪(𝑃∩ 𝑥: 𝑥 𝑘 ≥𝛿+1 ) ⟹ ∃ 𝛼,𝛽≥0 such that 𝑗∈𝑁 𝜋 j 𝑥 𝑗 −( 𝑥 𝑘 −𝛿)≤𝜋0, 𝑗∈𝑁 𝜋 j 𝑥 𝑗 +(𝑥k  1)≤𝜋0 valid for P. Pf) 𝜋𝑥≤ 𝜋 0 valid for 𝑃’ ⟹ 𝜋𝑥≤ 𝜋 0 valid for 𝑃∩{𝑥: 𝑥 𝑘 ≤𝛿} and 𝑃∩{𝑥: 𝑥 𝑘 ≥𝛿+1}. ⟹ By Prop 1.1, ∃ 𝑢 1 , 𝛼 ,( 𝑢 2 ,𝛽)≥0 such that 𝑢 1 𝐴+𝛼 𝑒 𝑘 ≥𝜋, 𝑢 1 𝑏+𝛼𝛿≤ 𝜋 0 ( 𝑢 1 𝐴≥𝜋−𝛼 𝑒 𝑘 , 𝑢 1 𝑏≤ 𝜋 0 −𝛼𝛿) 𝑢 2 𝐴−𝛽 𝑒 𝑘 ≥𝜋, 𝑢 2 𝑏−𝛽(𝛿+1)≤ 𝜋 0 ( 𝑢 2 𝐴≥𝜋+𝛽 𝑒 𝑘 , 𝑢 2 𝑏≤ 𝜋 0 +𝛽(𝛿+1)) 𝑢 𝑖 𝐴𝑥≤ 𝑢 𝑖 𝑏 are valid for 𝑃 and are equal to or dominate 𝜋𝑥−𝛼( 𝑥 𝑘 −𝛿)≤ 𝜋 0 and 𝜋𝑥−𝛽(𝛿+1− 𝑥 𝑘 )≤ 𝜋 0 . Hence these are valid for P.  Separation problem? Integer Programming 2017

Boolean Implications 𝑆={𝑥∈ 𝐵 𝑛 : 𝑗∈𝑁 𝑎 𝑗 𝑥 𝑗 ≤𝑏} , 𝑎 𝑗 ′ 𝑠, 𝑏 are positive integers. S is the feasible set for a 0-1 knapsack problem. Let 𝐶⊂𝑁 be such that 𝑗∈𝐶 𝑎 𝑗 >𝑏 ⟹ 𝑗∈𝐶 𝑥 𝑗 ≤ 𝐶 −1 is valid for S. (important result) 𝑇={𝑥∈ 𝐵 1 ,𝑦∈ 𝑅 + 𝑛 : 𝑗∈𝑁 𝑦 𝑗 ≤𝑛𝑥, 𝑦 𝑗 ≤1, ∀𝑗∈𝑁} ⟹ 𝑦 𝑗 ≤𝑥, 𝑗∈𝑁 is valid for T. Integer Programming 2017

Geometric or Combinatorial Implication Node packing: 𝑥 𝑖 + 𝑥 𝑗 ≤1, ∀ 𝑖, 𝑗 ∈𝐸, 𝑥∈ 𝐵 |𝑉| 1 ⟹ 𝑥 4 + 𝑥 5 + 𝑥 6 + 𝑥 7 ≤1 (clique constraint) 𝑥 1 + 𝑥 2 + 𝑥 3 + 𝑥 4 + 𝑥 5 ≤2 (odd hole constraint) 2 5 6 7 3 4 Using C-G to obtain odd hole constraint: 𝑥 1 + 𝑥 2 ≤1 𝑥 2 + 𝑥 3 ≤1 𝑥 3 + 𝑥 4 ≤1 𝑥 4 + 𝑥 5 ≤1 𝑥 1 + 𝑥 5 ≤1 Multiply ½ on both sides and add ⟹ 𝑥 1 + 𝑥 2 + 𝑥 3 + 𝑥 4 + 𝑥 5 ≤ 5 2 =2 Integer Programming 2017