120 likes | 311 Vues
This document explores the fundamentals of Linear Programming (LP) and Integer Linear Programming (ILP), focusing on their mathematical formulations, constraints, and applications in optimization problems such as the Maximum Independent Set (MIS) and Minimum Vertex Cover (MVCP). The study underscores the significance of feasible solutions, objective functions, and the concept of integrality gaps in ILP. Through examples, it illustrates the role of LP and ILP in graph theory and optimization, providing insights into their practical utility across various fields.
E N D
Vector Form Maximize: cx Subject to : Ax b c = (c1, c2, …, cn) x = b = A = Summation Form Maximize: cixi Subject to: a1ixi b1 a2ixi b2 . . amixi bm Linear Programming (LP) x1 . . xn b1 . . bn a11 … a1n …… …… an1 … amn
n = 2; m = 4 x1 + x2 max x1 0 (-1)x1 + 0x2 0 x2 0 0x1 + (-1)x2 0 x1 5 (-1)x1 + 0x2 5 x2 6 0x1 + 1x2 6 c = (1, 1) b = A = Optimal solution is the unique point of intersection of the objective with the hyperplane feasible polytope. x2 optimal solution x1 = 5 ; x2 = 6 objective: x1 + x2 = 11 x1 Example LP 0 0 5 6 Feasible solution region -1 0 0 -1 1 0 0 1
Vector Form Maximize: cx Subject to : Ax b and x {0,1} c = (c1, c2, …, cn) x = b = A = Summation Form Maximize: cixi Subject to: a1ixi b1 a2ixi b2 . . amixi bm and x {0,1} Integer Linear Programming (ILP) x1 . . xn b1 . . bn a11 … a1n …… …… an1 … amn
ILP for MIS • Maximum Independent Set (MIS) - Find the maximum subset of nodes in graph G = (V, E) which are pairwise non-adjacent • ILP - For any v V make a variable xv {0, 1} xv = 0 v MIS which means 0 is not chosen xv = 1 v MIS which means 1 is chosen - Maximize vV xv Subject to: e = (u, v) V, xu + xv 1
Max: x1 + x2 + x3 + x4 + x5 + x6 subject to: x1 + x6 1 x1 + x2 1x2 + x3 1x3 + x6 1x3 + x5 1x6 + x5 1x3 + x4 1x4 + x5 1and x1, x2,…, x6 {0,1} Graph Example ILP of MIS 2 1 3 6 4 5
ILP - xi max - Subject to: xi + xj 1 (i, j) E ILP for MaxClique • MaxClique • - Given G = (V, E) • - Find • X V x, x’ X • (x, x’) E • |X| max
Matching - Given G = (V, E) - Find X E e, e’ X e and e’ don’t share endpoint. |X| max ILP - for any e E xe {0, 1} + 0 is not in matching + 1 is in matching - eE xe max - Subject to: e incident to V xe 1 v V e2 xe1 +xe2 +xe3 1 only one edge from e1 e3 matching can be incident to v ILP for Matching v
MISP xi max, i V xi + xj 1, for each edge (xi,xj) E xi {0, 1} LPR xi max, i V xi + xj 1, for each edge (xi,xj) E 0 xi 1 LP relaxation (LPR) vs. ILPLP relaxation (LPR) for MAX independent set problem (MISP) gives larger value than the maximum size of independent set.
xi max x1 +x6 1 x1 +x2 1 x5 +x6 1 x5 +x2 1 x5 +x4 1 x4 +x3 1 x4 +x2 1 x2 +x3 1 ILP x1 = x3 = x5 = 1 xi = 3 LPR xi = ½ xi = 3 Example 1 of ILP vs. LPR 3 4 2 1 5 6
x1 +x2 + x3 max x1 +x2 1 x1 +x3 1 x2 +x3 1 0 x1 1 0 x2 1 0 x3 1 LPR () 3/2 Implies LPR () = 3/2 So x1 = x2 = x3 = ½ LPR () 3/2 ILP () = 1 Integrality Gap (IG) = LPR / ILP = 3/2 What is the integrality gap for (MISP) For a complete graph ILP (Kn) = 1 LPR (Kn) = n/2 Integrality Gap (IG) = LPR / ILP Integrality gap may be as large as n/2 MISP Integrality Gap 2 3 1
MVCP xi min, i V xi + xj 1, for each e= (xi,xj) E xi {0, 1} LPR xi min , i V xi + xj 1, for each e= (xi,xj) E 0 xi 1 LPR vs. ILP LP relaxation (LPR) for Minimum Vertex Cover problem (MVCP) gives smaller value than the minimum size of vertex cover
x1 +x2 + x3 min x1 +x2 1 x1 +x3 1 x2 +x3 1 0 x1 1 0 x2 1 0 x3 1 LPR () 3/2 Implies LPR () = 3/2 So x1 = x2 = x3 = ½ LPR () 3/2 ILP () = 2 Integrality Gap (IG) = ILP / LPR = 4/3 What is the integrality gap for (MVCP) For a complete graph ILP (Kn) = n - 1 LPR (Kn) = n/2 Integrality Gap (IG) = ILP / LPR Integrality gap may be as large as 2 – (2 / n) For more information: http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html MVCP Integrality Gap 2 1 3