CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

Similar documents
Lecture 2 - Introduction to Polytopes

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

Integer Programming Theory

Mathematical and Algorithmic Foundations Linear Programming and Matchings

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

Linear Programming Duality and Algorithms

CS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets. Instructor: Shaddin Dughmi

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

1 Linear programming relaxation

Linear programming and duality theory

Math 5593 Linear Programming Lecture Notes

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Ellipsoid II: Grötschel-Lovász-Schrijver theorems

Week 5. Convex Optimization

Solving LP in polynomial time

Linear Programming in Small Dimensions

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 4: Convex Sets. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

CS 435, 2018 Lecture 2, Date: 1 March 2018 Instructor: Nisheeth Vishnoi. Convex Programming and Efficiency

Simplex Algorithm in 1 Slide

Lecture 4: Convexity

Lecture 6: Faces, Facets

Mathematical Programming and Research Methods (Part II)

Convexity: an introduction

EC 521 MATHEMATICAL METHODS FOR ECONOMICS. Lecture 2: Convex Sets

Lecture 5: Properties of convex sets

CS522: Advanced Algorithms

Convex Optimization Lecture 2

1. Lecture notes on bipartite matching February 4th,

Lecture 5: Duality Theory

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Polytopes Course Notes

Convex Geometry arising in Optimization

MATH 890 HOMEWORK 2 DAVID MEREDITH

Lecture 2 September 3

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

Lecture 16 October 23, 2014

6. Lecture notes on matroid intersection

Some Advanced Topics in Linear Programming

12.1 Formulation of General Perfect Matching

Convex Sets (cont.) Convex Functions

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Approximation Algorithms

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

Chapter 4 Concepts from Geometry

maximize c, x subject to Ax b,

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

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

Approximation Algorithms

11 Linear Programming

Lecture The Ellipsoid Algorithm

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

4 Integer Linear Programming (ILP)

The Simplex Algorithm

Convex Optimization CMU-10725

CMPSCI611: The Simplex Algorithm Lecture 24

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

2. Convex sets. affine and convex sets. some important examples. operations that preserve convexity. generalized inequalities

Numerical Optimization

2. Convex sets. x 1. x 2. affine set: contains the line through any two distinct points in the set

Polar Duality and Farkas Lemma

Lecture 2: August 29, 2018

Convex Optimization. Convex Sets. ENSAE: Optimisation 1/24

Approximation Algorithms: The Primal-Dual Method. My T. Thai

3 No-Wait Job Shops with Variable Processing Times

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Lecture 2: August 29, 2018

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

Introduction to Modern Control Systems

Combinatorial Optimization

Linear Programming. Larry Blume. Cornell University & The Santa Fe Institute & IHS

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

Linear Programming and its Applications

THEORY OF LINEAR AND INTEGER PROGRAMMING

15. Cutting plane and ellipsoid methods

Linear Programming and Integer Linear Programming

Combinatorial Geometry & Topology arising in Game Theory and Optimization

AMS : Combinatorial Optimization Homework Problems - Week V

Probabilistic Graphical Models

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

1 Bipartite maximum matching

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

1 Unweighted Set Cover

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

5.3 Cutting plane methods and Gomory fractional cuts

EE/ACM Applications of Convex Optimization in Signal Processing and Communications Lecture 6

16.410/413 Principles of Autonomy and Decision Making

Lecture 2: August 31

Approximation Algorithms

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006

6 Randomized rounding of semidefinite programs

Algorithms for Integer Programming

Transcription:

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm Instructor: Shaddin Dughmi

Outline 1 Recapping the Ellipsoid Method 2 Complexity of Convex Optimization 3 Complexity of Linear Programming 4 Equivalence of Separation and Optimization

Recall: Feasibility Problem The ellipsoid method solves the following problem. Convex Feasibility Problem Given as input the following A description of a compact convex set K R n An ellipsoid E(c, Q) (typically a ball) containing K A rational number R > 0 satisfying vol(e) R. A rational number r > 0 such that if K is nonempty, then vol(k) r. Find a point x K or declare that K is empty. Equivalent variant: drop the requirement on volume vol(k), and either find a point x K or an ellipsoid E K with vol(e) < r. Recapping the Ellipsoid Method 1/27

All the ellipsoid method needed was the following subroutine Recapping the Ellipsoid Method 2/27 Separation oracle An algorithm that takes as input x R n, and either certifies x K or outputs a hyperplane separting x from K. i.e. a vector h R n with h x h y for all y K. Equivalently, K is contained in the halfspace with x at its boundary. H(h, x) = {y : h y h x}

All the ellipsoid method needed was the following subroutine Recapping the Ellipsoid Method 2/27 Separation oracle An algorithm that takes as input x R n, and either certifies x K or outputs a hyperplane separting x from K. i.e. a vector h R n with h x h y for all y K. Equivalently, K is contained in the halfspace with x at its boundary. Examples: H(h, x) = {y : h y h x}

All the ellipsoid method needed was the following subroutine Recapping the Ellipsoid Method 2/27 Separation oracle An algorithm that takes as input x R n, and either certifies x K or outputs a hyperplane separting x from K. i.e. a vector h R n with h x h y for all y K. Equivalently, K is contained in the halfspace with x at its boundary. H(h, x) = {y : h y h x} Examples: Explicitly written polytope Ay b: take h = a i to the row of A corresponding to a constraint violated by x.

All the ellipsoid method needed was the following subroutine Recapping the Ellipsoid Method 2/27 Separation oracle An algorithm that takes as input x R n, and either certifies x K or outputs a hyperplane separting x from K. i.e. a vector h R n with h x h y for all y K. Equivalently, K is contained in the halfspace with x at its boundary. H(h, x) = {y : h y h x} Examples: Explicitly written polytope Ay b: take h = a i to the row of A corresponding to a constraint violated by x. Convex set given by a family of convex inequalities f i (y) 0: Let h = f i (x) for some violated constraint.

All the ellipsoid method needed was the following subroutine Examples: Explicitly written polytope Ay b: take h = a i to the row of A corresponding to a constraint violated by x. Convex set given by a family of convex inequalities f i (y) 0: Let h = f i (x) for some violated constraint. The positive semi-definite cone S + n : Let H be the outer product vv of an eigenvector v of X corresponding to a negative eigenvalue. Recapping the Ellipsoid Method 2/27 Separation oracle An algorithm that takes as input x R n, and either certifies x K or outputs a hyperplane separting x from K. i.e. a vector h R n with h x h y for all y K. Equivalently, K is contained in the halfspace with x at its boundary. H(h, x) = {y : h y h x}

Recapping the Ellipsoid Method 3/27 Ellipsoid Method 1 Start with initial ellipsoid E = E(c, Q) K 2 Using the separation oracle, check if the center c K. If so, terminate and output c. Otherwise, we get a separating hyperplane h such that K is contained in the half-ellipsoid E {y : h y h c} 3 Let E = E(c, Q ) be the minimum volume ellipsoid containing the half ellipsoid above. 4 If vol(e ) r then set E = E and repeat (step 2), otherwise stop and return empty.

Recapping the Ellipsoid Method 3/27 Ellipsoid Method 1 Start with initial ellipsoid E = E(c, Q) K 2 Using the separation oracle, check if the center c K. If so, terminate and output c. Otherwise, we get a separating hyperplane h such that K is contained in the half-ellipsoid E {y : h y h c} 3 Let E = E(c, Q ) be the minimum volume ellipsoid containing the half ellipsoid above. 4 If vol(e ) r then set E = E and repeat (step 2), otherwise stop and return empty.

Recapping the Ellipsoid Method 3/27 Ellipsoid Method 1 Start with initial ellipsoid E = E(c, Q) K 2 Using the separation oracle, check if the center c K. If so, terminate and output c. Otherwise, we get a separating hyperplane h such that K is contained in the half-ellipsoid E {y : h y h c} 3 Let E = E(c, Q ) be the minimum volume ellipsoid containing the half ellipsoid above. 4 If vol(e ) r then set E = E and repeat (step 2), otherwise stop and return empty.

Recapping the Ellipsoid Method 3/27 Ellipsoid Method 1 Start with initial ellipsoid E = E(c, Q) K 2 Using the separation oracle, check if the center c K. If so, terminate and output c. Otherwise, we get a separating hyperplane h such that K is contained in the half-ellipsoid E {y : h y h c} 3 Let E = E(c, Q ) be the minimum volume ellipsoid containing the half ellipsoid above. 4 If vol(e ) r then set E = E and repeat (step 2), otherwise stop and return empty.

Properties Recapping the Ellipsoid Method 4/27 Using T to denote the runtime of the separation oracle Theorem The ellipsoid algorithm terminates in time polynomial n, ln R r, and T, and either outputes x K or correctly declares that K is empty. We proved most of this (modulo the ellipsoid updating Lemma which we cited and briefly discussed).

Properties Using T to denote the runtime of the separation oracle Theorem The ellipsoid algorithm terminates in time polynomial n, ln R r, and T, and either outputes x K or correctly declares that K is empty. We proved most of this (modulo the ellipsoid updating Lemma which we cited and briefly discussed). Note For runtime polynomial in input size we need T polynomial in input size R r exponential in input size Recapping the Ellipsoid Method 4/27

Outline 1 Recapping the Ellipsoid Method 2 Complexity of Convex Optimization 3 Complexity of Linear Programming 4 Equivalence of Separation and Optimization

Complexity of Convex Optimization 5/27 Recall: Convex Optimization Problem A problem of minimizing a convex function (or maximizing a concave function) over a convex set. minimize subject to f(x) x X Where X R n is convex and closed, and f : R n R is convex

Complexity of Convex Optimization 5/27 Recall: Convex Optimization Problem A problem of minimizing a convex function (or maximizing a concave function) over a convex set. minimize subject to f(x) x X Where X R n is convex and closed, and f : R n R is convex Recall: A problem Π is a family of instances I = (f, X ) When represented explicitly, often given in standard form minimize f(x) subject to g i (x) 0, for i C 1. a i x = b i, for i C 2. The functions f,{g i } i are given in some parametric form allowing evaluation of each function and its derivatives.

Complexity of Convex Optimization 5/27 Recall: Convex Optimization Problem A problem of minimizing a convex function (or maximizing a concave function) over a convex set. minimize subject to f(x) x X Where X R n is convex and closed, and f : R n R is convex We will abstract away details of how instances of a problem are represented, but denote the length of the description by I Require polynomial time (in I and n) implementation of separation oracle, and other subroutines.

Complexity of Convex Optimization 6/27 Solvability of Convex Optimization There are many subtly different solvability statements. This one is the most useful, yet simple to describe, IMO. Requirements We say an algorithm weakly solves a convex optimization problem in polynomial time if it: Takes an approximation parameter ɛ > 0 Terminates in time poly( I, n, log( 1 ɛ )) Returns an ɛ-optimal x X : f(x) min y X f(y) + ɛ[max f(y) min f(y)] y X y X

Solvability of Convex Optimization Complexity of Convex Optimization 6/27 Theorem (Polynomial Solvability of CP) Consider a family Π of convex optimization problems I = (f, X ) admitting the following operations in polynomial time (in I and n): A separation oracle for the feasible set X R n A first order oracle for f: evaluates f(x) and f(x). An algorithm which computes a starting ellipsoid E X with = O(exp( I, n)). vol(e) vol(x ) Then there is a polynomial time algorithm which weakly solves Π.

Solvability of Convex Optimization Complexity of Convex Optimization 6/27 Theorem (Polynomial Solvability of CP) Consider a family Π of convex optimization problems I = (f, X ) admitting the following operations in polynomial time (in I and n): A separation oracle for the feasible set X R n A first order oracle for f: evaluates f(x) and f(x). An algorithm which computes a starting ellipsoid E X with = O(exp( I, n)). vol(e) vol(x ) Then there is a polynomial time algorithm which weakly solves Π. Let s now prove this, by reducing to the ellipsoid method

Proof (Simplified) Complexity of Convex Optimization 7/27 Simplifying Assumption Assume we are given min y X f(y) and max y X f(y). Without loss of generality assume they are [0, 1].

Proof (Simplified) Complexity of Convex Optimization 7/27 Simplifying Assumption Assume we are given min y X f(y) and max y X f(y). Without loss of generality assume they are [0, 1]. Our task reduces to the following convex feasibility problem: find subject to x x X f(x) ɛ

Proof (Simplified) Complexity of Convex Optimization 7/27 Simplifying Assumption Assume we are given min y X f(y) and max y X f(y). Without loss of generality assume they are [0, 1]. Our task reduces to the following convex feasibility problem: find x subject to x X f(x) ɛ We can feed this into the Ellipsoid method! Needed Ingredients 1 Separation oracle for new feasible set K: 2 Ellipsoid E containing K: 3 Guarantee that vol(e) vol(k) exp(n, I, log 1 ɛ ):

Proof (Simplified) Complexity of Convex Optimization 7/27 Simplifying Assumption Assume we are given min y X f(y) and max y X f(y). Without loss of generality assume they are [0, 1]. Our task reduces to the following convex feasibility problem: find x subject to x X f(x) ɛ We can feed this into the Ellipsoid method! Needed Ingredients 1 Separation oracle for new feasible set K: Use the separation oracle for X and first order oracle for f 2 Ellipsoid E containing K: 3 Guarantee that vol(e) vol(k) exp(n, I, log 1 ɛ ):

Proof (Simplified) Complexity of Convex Optimization 7/27 Simplifying Assumption Assume we are given min y X f(y) and max y X f(y). Without loss of generality assume they are [0, 1]. Our task reduces to the following convex feasibility problem: find x subject to x X f(x) ɛ We can feed this into the Ellipsoid method! Needed Ingredients 1 Separation oracle for new feasible set K: Use the separation oracle for X and first order oracle for f 2 Ellipsoid E containing K: Use the ellipsoid containing X 3 Guarantee that vol(e) vol(k) exp(n, I, log 1 ɛ ):

Proof (Simplified) Complexity of Convex Optimization 7/27 Simplifying Assumption Assume we are given min y X f(y) and max y X f(y). Without loss of generality assume they are [0, 1]. Our task reduces to the following convex feasibility problem: find x subject to x X f(x) ɛ We can feed this into the Ellipsoid method! Needed Ingredients 1 Separation oracle for new feasible set K: Use the separation oracle for X and first order oracle for f 2 Ellipsoid E containing K: Use the ellipsoid containing X 3 Guarantee that vol(e) vol(k) exp(n, I, log 1 ɛ ): Not obvious, but true!

Proof (Simplified) K = {x X : f(x) ɛ} Lemma vol(k) ɛ n vol(x). This shows that vol(k) is only exponentially smaller (in n and log 1 ɛ ) than vol(x ), and therefore also vol(e), so it suffices. Complexity of Convex Optimization 8/27

Proof (Simplified) K = {x X : f(x) ɛ} Lemma vol(k) ɛ n vol(x). This shows that vol(k) is only exponentially smaller (in n and log 1 ɛ ) than vol(x ), and therefore also vol(e), so it suffices. Assume wlog 0 X and f(0) = min x X f(x) = 0. Complexity of Convex Optimization 8/27

Proof (Simplified) K = {x X : f(x) ɛ} Lemma vol(k) ɛ n vol(x). This shows that vol(k) is only exponentially smaller (in n and log 1 ɛ ) than vol(x ), and therefore also vol(e), so it suffices. Assume wlog 0 X and f(0) = min x X f(x) = 0. Consider scaling X by ɛ to get ɛx. vol(ɛx ) = ɛ n vol(x). Complexity of Convex Optimization 8/27

Proof (Simplified) K = {x X : f(x) ɛ} Lemma vol(k) ɛ n vol(x). This shows that vol(k) is only exponentially smaller (in n and log 1 ɛ ) than vol(x ), and therefore also vol(e), so it suffices. Assume wlog 0 X and f(0) = min x X f(x) = 0. Consider scaling X by ɛ to get ɛx. vol(ɛx ) = ɛ n vol(x). We show that ɛx K by showing f(y) ɛ for all y ɛx. Complexity of Convex Optimization 8/27

Proof (Simplified) K = {x X : f(x) ɛ} Lemma vol(k) ɛ n vol(x). This shows that vol(k) is only exponentially smaller (in n and log 1 ɛ ) than vol(x ), and therefore also vol(e), so it suffices. Assume wlog 0 X and f(0) = min x X f(x) = 0. Consider scaling X by ɛ to get ɛx. vol(ɛx ) = ɛ n vol(x). We show that ɛx K by showing f(y) ɛ for all y ɛx. Let y = ɛx for x X, and invoke Jensen s inequality f(y) = f(ɛx + (1 ɛ)0) ɛf(x) + (1 ɛ)f(0) ɛ Complexity of Convex Optimization 8/27

Complexity of Convex Optimization 9/27 Proof (General) Denote L = min y X f(y) and H = max y X f(y) If we knew the target T = L + ɛ[h L], we can reduce to solving the feasibility problem over K = {x X : f(x) T }.

Complexity of Convex Optimization 9/27 Proof (General) Denote L = min y X f(y) and H = max y X f(y) If we knew the target T = L + ɛ[h L], we can reduce to solving the feasibility problem over K = {x X : f(x) T }. If we knew it lied in a sufficiently narrow range, we could binary search for T

Complexity of Convex Optimization 9/27 Proof (General) Denote L = min y X f(y) and H = max y X f(y) If we knew the target T = L + ɛ[h L], we can reduce to solving the feasibility problem over K = {x X : f(x) T }. If we knew it lied in a sufficiently narrow range, we could binary search for T We don t need to know anything about T! Key Observation We don t really need to know T, H, or L to simulate the same execution of the ellipsoid method on K!!

Proof (General) Complexity of Convex Optimization 10/27 find subject to x x X f(x) T = L + ɛ[h L] Simulate the execution of the ellipsoid method on K Polynomial number of iterations, terminating with point in K

Proof (General) Complexity of Convex Optimization 10/27 find subject to x x X f(x) T = L + ɛ[h L] Simulate the execution of the ellipsoid method on K Polynomial number of iterations, terminating with point in K Require separation oracle for K to use f only as a last resort This is allowed. Tries to get feasibility whenever possible.

Proof (General) Complexity of Convex Optimization 10/27 find subject to x x X f(x) T = L + ɛ[h L] Simulate the execution of the ellipsoid method on K Polynomial number of iterations, terminating with point in K Require separation oracle for K to use f only as a last resort This is allowed. Tries to get feasibility whenever possible. Action of algorithm in each iteration other than the last can be described independently of T If ellipsoid center c / X, use separating hyperplane with X. Else use f(c)

Proof (General) Complexity of Convex Optimization 10/27 find subject to x x X f(x) T = L + ɛ[h L] Simulate the execution of the ellipsoid method on K Polynomial number of iterations, terminating with point in K Require separation oracle for K to use f only as a last resort This is allowed. Tries to get feasibility whenever possible. Action of algorithm in each iteration other than the last can be described independently of T If ellipsoid center c / X, use separating hyperplane with X. Else use f(c) Run this simulation until enough iterations have passed, and take the best feasible point encountered. This must be in K.

Outline 1 Recapping the Ellipsoid Method 2 Complexity of Convex Optimization 3 Complexity of Linear Programming 4 Equivalence of Separation and Optimization

Recall: Linear Programming Complexity of Linear Programming 11/27 Recall: Linear Programming Problem A problem of maximizing a linear function over a polyhedron. maximize subject to c x Ax b

Recall: Linear Programming Complexity of Linear Programming 11/27 Recall: Linear Programming Problem A problem of maximizing a linear function over a polyhedron. maximize subject to c x Ax b When stated in standard form, optimal solution occurs at a vertex.

Recall: Linear Programming Complexity of Linear Programming 11/27 Recall: Linear Programming Problem A problem of maximizing a linear function over a polyhedron. maximize subject to c x Ax b When stated in standard form, optimal solution occurs at a vertex. We will consider both explicitly and implicit LPs Explicit: given by A, b and c Implicit: Given by c and a separation oracle for Ax b.

Recall: Linear Programming Complexity of Linear Programming 11/27 Recall: Linear Programming Problem A problem of maximizing a linear function over a polyhedron. maximize subject to c x Ax b When stated in standard form, optimal solution occurs at a vertex. We will consider both explicitly and implicit LPs Explicit: given by A, b and c Implicit: Given by c and a separation oracle for Ax b. In both cases, we require all numbers to be rational

Recall: Linear Programming Complexity of Linear Programming 11/27 Recall: Linear Programming Problem A problem of maximizing a linear function over a polyhedron. maximize subject to c x Ax b When stated in standard form, optimal solution occurs at a vertex. We will consider both explicitly and implicit LPs Explicit: given by A, b and c Implicit: Given by c and a separation oracle for Ax b. In both cases, we require all numbers to be rational In the explicit case, we require polynomial time in A, b, and c, the number of bits used to represent the parameters of the LP.

Recall: Linear Programming Complexity of Linear Programming 11/27 Recall: Linear Programming Problem A problem of maximizing a linear function over a polyhedron. maximize subject to c x Ax b When stated in standard form, optimal solution occurs at a vertex. We will consider both explicitly and implicit LPs Explicit: given by A, b and c Implicit: Given by c and a separation oracle for Ax b. In both cases, we require all numbers to be rational In the explicit case, we require polynomial time in A, b, and c, the number of bits used to represent the parameters of the LP. In the implicit case, we require polynomial time in the bit complexity of individual entries of A, b, c.

Complexity of Linear Programming 12/27 Theorem (Polynomial Solvability of Explicit LP) There is a polynomial time algorithm for linear programming, when the linear program is represented explicitly. Proof Sketch (Informal) Using result for weakly solving convex programs, we need 4 things: A separation oracle for Ax b: trivial when explicitly represented A first order oracle for c x: also trivial A bounding ellipsoid of volume at most an exponential times the volume of the feasible polyhedron: tricky A way of rounding an ɛ-optimal solution to an optimal vertex solution: tricky

Complexity of Linear Programming 12/27 Theorem (Polynomial Solvability of Explicit LP) There is a polynomial time algorithm for linear programming, when the linear program is represented explicitly. Proof Sketch (Informal) Using result for weakly solving convex programs, we need 4 things: A separation oracle for Ax b: trivial when explicitly represented A first order oracle for c x: also trivial A bounding ellipsoid of volume at most an exponential times the volume of the feasible polyhedron: tricky A way of rounding an ɛ-optimal solution to an optimal vertex solution: tricky Solution to both issues involves tedious accounting of numerical issues

Ellipsoid and Volume Bound (Informal) Key to tackling both difficulties is the following observation: Lemma Let v be vertex of the polyhedron Ax b. It is the case that v has polynomial bit complexity, i.e. v M, where M = O(poly( A, b )). Specifically, the solution of a system of linear equations has bit complexity polynomially related to that of the equations. Complexity of Linear Programming 13/27

Ellipsoid and Volume Bound (Informal) Key to tackling both difficulties is the following observation: Lemma Let v be vertex of the polyhedron Ax b. It is the case that v has polynomial bit complexity, i.e. v M, where M = O(poly( A, b )). Specifically, the solution of a system of linear equations has bit complexity polynomially related to that of the equations. Bounding ellipsoid: all vertices contained in the box 2 M x 2 M, which in turn is contained in an ellipsoid of volume exponential in M and n. Complexity of Linear Programming 13/27

Ellipsoid and Volume Bound (Informal) Key to tackling both difficulties is the following observation: Lemma Let v be vertex of the polyhedron Ax b. It is the case that v has polynomial bit complexity, i.e. v M, where M = O(poly( A, b )). Specifically, the solution of a system of linear equations has bit complexity polynomially related to that of the equations. To guarantee volume lowerbound, need to instead solve a relaxed problem. Specifically, relaxing to Ax b + ɛ, for sufficiently small ɛ with ɛ = poly(m). Gives volume exponentially small in M, but no smaller. Still close enough to original polyhedron so solution to relaxed problem can be rounded to solution of the original problem. Complexity of Linear Programming 13/27

Ellipsoid and Volume Bound (Informal) Key to tackling both difficulties is the following observation: Lemma Let v be vertex of the polyhedron Ax b. It is the case that v has polynomial bit complexity, i.e. v M, where M = O(poly( A, b )). Specifically, the solution of a system of linear equations has bit complexity polynomially related to that of the equations. Rounding to a vertex: If a point y is ɛ-optimal for the ɛ-relaxed problem, for sufficiently small ɛ chosen carefully to polynomial in description of input, then rounding to the nearest x with M bits recovers the vertex. Complexity of Linear Programming 13/27

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). Informal Proof Sketch (Primal)

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). Informal Proof Sketch (Primal) Separation oracle and first order oracle are given

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). Informal Proof Sketch (Primal) Separation oracle and first order oracle are given Rounding to a vertex exactly as in the explicit case. Every vertex v still has polynomial bit complexity M

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). Informal Proof Sketch (Primal) Separation oracle and first order oracle are given Rounding to a vertex exactly as in the explicit case. Every vertex v still has polynomial bit complexity M Bounding ellipsoid: Still true that we get a bounding ellipsoid of volume exponential in I and n

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). Informal Proof Sketch (Primal) Separation oracle and first order oracle are given Rounding to a vertex exactly as in the explicit case. Every vertex v still has polynomial bit complexity M Bounding ellipsoid: Still true that we get a bounding ellipsoid of volume exponential in I and n However, no lowerbound on the volume of Ax b, and can t relax to Ax b + ɛ as in the explicit case. (In fact, volume may be zero!)

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). Informal Proof Sketch (Primal) Separation oracle and first order oracle are given Rounding to a vertex exactly as in the explicit case. Every vertex v still has polynomial bit complexity M Bounding ellipsoid: Still true that we get a bounding ellipsoid of volume exponential in I and n However, no lowerbound on the volume of Ax b, and can t relax to Ax b + ɛ as in the explicit case. (In fact, volume may be zero!) It turns out this is still OK, but takes a lot of work.

Complexity of Linear Programming 14/27 Theorem (Polynomial Solvability of Implicit LP) Consider a family Π of linear programming problems I = (A, b, c) admitting the following operations in polynomial time (in I and n): A separation oracle for the polyhedron Ax b Explicit access to c Moreover, assume that every a ij, b i, c j are at most poly( I, n). Then there is a polynomial time algorithm for Π (both primal and dual*). For the dual, we need equivalence of separation and optimization. Also, we necessarily get a solution to a normalized version of the dual. (HW)

Outline 1 Recapping the Ellipsoid Method 2 Complexity of Convex Optimization 3 Complexity of Linear Programming 4 Equivalence of Separation and Optimization

Equivalence of Separation and Optimization 15/27 Separation and Optimization One interpretation of the previous theorem is that optimization of linear functions over a polytope of polynomial bit complexity reduces to implementing a separation oracle As it turns out, the two tasks are polynomial-time equivalent.

Separation and Optimization One interpretation of the previous theorem is that optimization of linear functions over a polytope of polynomial bit complexity reduces to implementing a separation oracle As it turns out, the two tasks are polynomial-time equivalent. Lets formalize the two questions, parametrized by a polytope P. Linear Optimization Problem Input: Linear objective c R n. Output: argmax x P c x. Separation Problem Input: y R n Output: Decide that y P, or else find h R n s.t. h x < h y for all x P. Equivalence of Separation and Optimization 15/27

Recall: Minimum Cost Spanning Tree Equivalence of Separation and Optimization 16/27 Given a connected undirected graph G = (V, E), and costs c e on edges e, find a minimum cost spanning tree of G.

Recall: Minimum Cost Spanning Tree Equivalence of Separation and Optimization 16/27 Given a connected undirected graph G = (V, E), and costs c e on edges e, find a minimum cost spanning tree of G. Spanning Tree Polytope x e X 1, for X V. e X x e = n 1 e E x e 0, for e E.

Recall: Minimum Cost Spanning Tree Equivalence of Separation and Optimization 16/27 Given a connected undirected graph G = (V, E), and costs c e on edges e, find a minimum cost spanning tree of G. Spanning Tree Polytope x e X 1, for X V. e X x e = n 1 e E x e 0, for e E. Optimization: Find the minimum/maximum weight spanning tree Separation: Find X V with e X x e > X 1, if one exists i.e. When edge weights are x, find a dense subgraph

Equivalence of Separation and Optimization 17/27 Theorem (Equivalence of Separation and Optimization for Polytopes) Consider a family P of polytopes P = {x : Ax b} described implicitly using P bits, and satisfying a ij, b i poly( P, n). Then the separation problem is solvable in poly( P, n, y ) time for P P if and only if the linear optimization problem is solvable in poly( P, n, c ) time. Colloquially, we say such polytope families are solvable.

Equivalence of Separation and Optimization 17/27 Theorem (Equivalence of Separation and Optimization for Polytopes) Consider a family P of polytopes P = {x : Ax b} described implicitly using P bits, and satisfying a ij, b i poly( P, n). Then the separation problem is solvable in poly( P, n, y ) time for P P if and only if the linear optimization problem is solvable in poly( P, n, c ) time. Colloquially, we say such polytope families are solvable. E.g. Spanning tree polytopes, represented by graphs, are solvable.

Equivalence of Separation and Optimization 17/27 Theorem (Equivalence of Separation and Optimization for Polytopes) Consider a family P of polytopes P = {x : Ax b} described implicitly using P bits, and satisfying a ij, b i poly( P, n). Then the separation problem is solvable in poly( P, n, y ) time for P P if and only if the linear optimization problem is solvable in poly( P, n, c ) time. Colloquially, we say such polytope families are solvable. E.g. Spanning tree polytopes, represented by graphs, are solvable. We already sketched the proof of the forward direction Separation optimization

Equivalence of Separation and Optimization 17/27 Theorem (Equivalence of Separation and Optimization for Polytopes) Consider a family P of polytopes P = {x : Ax b} described implicitly using P bits, and satisfying a ij, b i poly( P, n). Then the separation problem is solvable in poly( P, n, y ) time for P P if and only if the linear optimization problem is solvable in poly( P, n, c ) time. Colloquially, we say such polytope families are solvable. E.g. Spanning tree polytopes, represented by graphs, are solvable. We already sketched the proof of the forward direction Separation optimization For the other direction, we need polars

Recall: Polar Duality of Convex Sets One way of representing the all halfspaces containing a convex set. Polar Let S R n be a closed convex set containing the origin. The polar of S is defined as follows: S = {y : x y 1 for all x S} Note Every halfspace a x b with b 0 can be written as a normalized inequality y x 1, by dividing by b. S can be thought of as the normalized representations of halfspaces containing S. Equivalence of Separation and Optimization 18/27

Equivalence of Separation and Optimization 19/27 Properties of the Polar 1 If S is bounded and 0 interior(s), then the same holds for S. 2 S = S S = {x : y x 1 for all y S } S = {y : x y 1 for all x S}

Equivalence of Separation and Optimization 20/27 Polarity of Polytopes Polytopes Given a polytope P represented as Ax 1, the polar P is the convex hull of the rows of A. Facets of P correspond to vertices of P. Dually, vertices of P correspond to facets of P.

Proof Outline: Optimization Separation Equivalence of Separation and Optimization 21/27

Proof Outline: Optimization Separation Equivalence of Separation and Optimization 21/27

Proof Outline: Optimization Separation Equivalence of Separation and Optimization 21/27

S = {x : y x 1 for all y S } S = {y : x y 1 for all x S} Equivalence of Separation and Optimization 22/27

S = {x : y x 1 for all y S } S = {y : x y 1 for all x S} Lemma Separation over S reduces in constant time to optimization over S, and vice versa since S = S. Equivalence of Separation and Optimization 22/27

S = {x : y x 1 for all y S } S = {y : x y 1 for all x S} Lemma Separation over S reduces in constant time to optimization over S, and vice versa since S = S. Proof We are given vector x, and must check whether x S, and if not output separating hyperplane. Equivalence of Separation and Optimization 22/27

S = {x : y x 1 for all y S } S = {y : x y 1 for all x S} Lemma Separation over S reduces in constant time to optimization over S, and vice versa since S = S. Proof We are given vector x, and must check whether x S, and if not output separating hyperplane. x S iff y x 1 for all y S Equivalence of Separation and Optimization 22/27

S = {x : y x 1 for all y S } S = {y : x y 1 for all x S} Lemma Separation over S reduces in constant time to optimization over S, and vice versa since S = S. Proof We are given vector x, and must check whether x S, and if not output separating hyperplane. x S iff y x 1 for all y S equivalently, iff max y S y x 1. Equivalence of Separation and Optimization 22/27

S = {x : y x 1 for all y S } S = {y : x y 1 for all x S} Lemma Separation over S reduces in constant time to optimization over S, and vice versa since S = S. Proof We are given vector x, and must check whether x S, and if not output separating hyperplane. x S iff y x 1 for all y S equivalently, iff max y S y x 1. If we find y S s.t. y x > 1, then y is the separating hyperplane y z 1 < y x for every z S. Equivalence of Separation and Optimization 22/27

Optimization Separation Equivalence of Separation and Optimization 23/27

Beyond Polytopes Equivalence of Separation and Optimization 24/27 Essentially everything we proved about equivalence of separation and optimization for polytopes extends (approximately) to arbitrary convex sets.

Beyond Polytopes Essentially everything we proved about equivalence of separation and optimization for polytopes extends (approximately) to arbitrary convex sets. Problems parametrized by P, a closed convex set. Weak Optimization Problem Input: Linear objective c R n. Output: x P +ɛ, and c x max x P c x ɛ Weak Separation Problem Input: y R n Output: Decide that y P ɛ, or else find h R n with h = 1 s.t. h x < h y + ɛ for all x P. Equivalence of Separation and Optimization 24/27

Beyond Polytopes Essentially everything we proved about equivalence of separation and optimization for polytopes extends (approximately) to arbitrary convex sets. Problems parametrized by P, a closed convex set. Weak Optimization Problem Input: Linear objective c R n. Output: x P +ɛ, and c x max x P c x ɛ Weak Separation Problem Input: y R n Output: Decide that y P ɛ, or else find h R n with h = 1 s.t. h x < h y + ɛ for all x P. I could have equivalently stated the weak optimization problem for convex functions instead of linear. Equivalence of Separation and Optimization 24/27

Equivalence of Separation and Optimization 25/27 Theorem (Equivalence of Separation and Optimization for Convex Sets) Consider a family P of convex sets described implicitly using P bits. Then the weak separation problem is solvable in poly( P, n, y, log(1/ɛ)) time for P P if and only if the weak optimization problem is also solvable in poly( P, n, c, log(1/ɛ)) time.

Equivalence of Separation and Optimization 25/27 Theorem (Equivalence of Separation and Optimization for Convex Sets) Consider a family P of convex sets described implicitly using P bits. Then the weak separation problem is solvable in poly( P, n, y, log(1/ɛ)) time for P P if and only if the weak optimization problem is also solvable in poly( P, n, c, log(1/ɛ)) time. The approximation in this statement is necessary, since we can t solve convex optimization problems exactly. Weak separation suffices for ellipsoid, which is only approximately optimal anyways By polarity, weak optimization is equivalent to weak separation

Equivalence of Separation and Optimization 25/27 Theorem (Equivalence of Separation and Optimization for Convex Sets) Consider a family P of convex sets described implicitly using P bits. Then the weak separation problem is solvable in poly( P, n, y, log(1/ɛ)) time for P P if and only if the weak optimization problem is also solvable in poly( P, n, c, log(1/ɛ)) time. The approximation in this statement is necessary, since we can t solve convex optimization problems exactly. Weak separation suffices for ellipsoid, which is only approximately optimal anyways By polarity, weak optimization is equivalent to weak separation For proof / details, see the GLS book.

Implication: Operations preserving solvability Assume you can efficiently optimize over two convex sets P and Q Question What about P Q and P Q? Equivalence of Separation and Optimization 26/27

Implication: Operations preserving solvability Assume you can efficiently optimize over two convex sets P and Q Question What about P Q and P Q? P Q Yes! Simply optimize over each separately, and take the better of the two outcomes. Equivalent to optimizing over the convex hull of P Q. Implication of Separation/optimization equivalence: there is a separation oracle for convexhull(p Q). Equivalence of Separation and Optimization 26/27

Implication: Operations preserving solvability Assume you can efficiently optimize over two convex sets P and Q Question What about P Q and P Q? P Q Yes! Follows from equivalence of separation and optimization. Specifically, can separate over P and Q individually, therefore can separate over P Q, and then can optimize over P Q. Applications: colorful spanning tree, cardinality-constrained matching,... Equivalence of Separation and Optimization 26/27

Implication: Constructive Caratheodory Problem Given a point x P, where P R n is a solvable polytope, write x as a convex combination of n + 1 vertices of P, and do so in polynomial time. Existence: Caratheodory s theorem. E.g. Birkhoff Von-Neumann, fractional spanning trees, fractional matchings,... Follows from equivalence of separation and optimization. See HW. Equivalence of Separation and Optimization 27/27