Polyhedral Optimization Lecture 3 – Part 3 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online http://cvn.ecp.fr/personnel/pawan/ Solving Linear Programs maxx cTx Optimization s.t. A x ≤ b Feasibility asks if there exists an x such that cTx ≥ K For a given K Ax≤b Feasible solution Optimization via binary search on K Feasibility via Ellipsoid Method Feasible region of LP Feasibility via Ellipsoid Method Ellipsoid containing feasible region of LP Feasibility via Ellipsoid Method Centroid of ellipsoid Feasibility via Ellipsoid Method Separating hyperplane for centroid Feasibility via Ellipsoid Method Smallest ellipsoid containing “truncated” ellipsoid Feasibility via Ellipsoid Method Centroid of ellipsoid Feasibility via Ellipsoid Method Separating hyperplane for centroid Feasibility via Ellipsoid Method Smallest ellipsoid containing “truncated” ellipsoid Feasibility via Ellipsoid Method Centroid of ellipsoid Feasibility via Ellipsoid Method Terminate when feasible solution is found Ellipsoid Method • Separating hyperplane in polynomial time – Check each of the ‘m’ LP constraints in O(n) time • New ellipsoid in polynomial time – Shor (1971), Nemirovsky and Yudin (1972) • Polynomial iterations (Khachiyan 1979, 1980) – Volume of ellipsoid reduces exponentially • Only requires a separation oracle – Constraint matrix A can be very large Optimization vs. Separation • Separation implies easy optimization • What about the reverse? • Matroid polytopes admit greedy optimization • Do they allow easy separation? • Why are we even interested in this? Outline • Polar Polyhedron • Using Optimization for Separation • Poly-Time Equivalence Polar Polyhedron Polyhedron P = {x: Ax ≤ b} Polar Polyhedron P* = {y: for all x∈P, xTy ≤ 1} Assume 0 is in the interior of P b>0 No “loss of generality” as P can be translated (P*)* = P Proof? P is a subset of (P*)* If x ∈P, then for all y ∈ P* we have xTy ≤ 1 (P*)* = {z: for all y∈P*, zTy ≤ 1} Therefore, x ∈ (P*)* (P*)* is a subset of P Let there be an x ∉ P There must exist a separating hyperplane cTx > d cTz ≤ d, for all z ∈ P Since 0 ∈ interior of P, d > 0 Without loss of generality, d = 1 (P*)* is a subset of P Let there be an x ∉ P There must exist a separating hyperplane cTx > 1 cTz ≤ 1, for all z ∈ P c ∈ P* Why? x ∉ (P*)* Why? Hence proved Outline • Polar Polyhedron • Using Optimization for Separation • Poly-Time Equivalence Optimization Problem over P Polyhedron P = {x: Ax ≤ b} max cTx x∈P Separation Problem over P* Polar Polyhedron P* = {y: for all x∈P, xTy ≤ 1} Given y, return ‘YES’ if y ∈P* Otherwise, return separating hyperplane Using Optimization for Separation Set c = y Optimal solution x* C* = max cTx x∈P If C* ≤ 1, then return ‘YES’ If C* > 1, then return x* Outline • Polar Polyhedron • Using Optimization for Separation • Poly-Time Equivalence Poly-Time Equivalence Optimization on P Polarity Ellipsoid method Separation on (P*)* = P Separation on P* Ellipsoid method Polarity Optimization on P*