CSC Linear Programming and Combinatorial Optimization Lecture 8: Ellipsoid Algorithm

Similar documents
LINEAR PROGRAMMING III

15.083J/6.859J Integer Optimization. Lecture 10: Solving Relaxations

Complexity of linear programming: outline

1 Computational Problems

Notes for Lecture Notes 2

CSC Linear Programming and Combinatorial Optimization Lecture 12: The Lift and Project Method

15.081J/6.251J Introduction to Mathematical Programming. Lecture 18: The Ellipsoid method

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

7. Lecture notes on the ellipsoid algorithm

CS 6820 Fall 2014 Lectures, October 3-20, 2014

A strongly polynomial algorithm for linear systems having a binary solution

Notes taken by Graham Taylor. January 22, 2005

The Ellipsoid Algorithm

Lecture 15: October 15

The Ellipsoid (Kachiyan) Method

CSC Linear Programming and Combinatorial Optimization Lecture 10: Semidefinite Programming

Lecture notes on the ellipsoid algorithm

47-831: Advanced Integer Programming Lecturer: Amitabh Basu Lecture 2 Date: 03/18/2010

CS6901: review of Theory of Computation and Algorithms

CS3719 Theory of Computation and Algorithms

Polynomiality of Linear Programming

Approximating a Convex Body by An Ellipsoid

Preliminaries and Complexity Theory

Nondeterministic Turing Machines

Combinatorial Optimization Spring Term 2015 Rico Zenklusen. 2 a = ( 3 2 ) 1 E(a, A) = E(( 3 2 ), ( 4 0

Lecture 13: Linear programming I

CSC 2414 Lattices in Computer Science September 27, Lecture 4. An Efficient Algorithm for Integer Programming in constant dimensions

Massachusetts Institute of Technology 6.854J/18.415J: Advanced Algorithms Friday, March 18, 2016 Ankur Moitra. Problem Set 6

Topics in Theoretical Computer Science: An Algorithmist's Toolkit Fall 2007

15-850: Advanced Algorithms CMU, Spring 2017 Lecture #17: The Ellipsoid Algorithm March 3, 2017

IE 5531: Engineering Optimization I

Algorithmic Convex Geometry

Spring 2017 CO 250 Course Notes TABLE OF CONTENTS. richardwu.ca. CO 250 Course Notes. Introduction to Optimization

Introduction to integer programming II

Lectures 6, 7 and part of 8

Lecture 5: Computational Complexity

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

16.1 Min-Cut as an LP

Lecture 21: Algebraic Computation Models

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

A Polynomial Column-wise Rescaling von Neumann Algorithm

CS6999 Probabilistic Methods in Integer Programming Randomized Rounding Andrew D. Smith April 2003

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

U.C. Berkeley CS294: Spectral Methods and Expanders Handout 11 Luca Trevisan February 29, 2016

CS261: A Second Course in Algorithms Lecture #12: Applications of Multiplicative Weights to Games and Linear Programs

A combinatorial algorithm minimizing submodular functions in strongly polynomial time

Matrix Arithmetic. j=1

Polynomial-time Computation of Exact Correlated Equilibrium in Compact Games

1 Reals are Uncountable

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

from notes written mostly by Dr. Matt Stallmann: All Rights Reserved

Lecture 22: Counting

Computational Game Theory Spring Semester, 2005/6. Lecturer: Yishay Mansour Scribe: Ilan Cohen, Natan Rubin, Ophir Bleiberg*

Lecture 14 Ellipsoid method

1 From previous lectures

Model Counting for Logical Theories

Linear Programming. Scheduling problems

Assignment 1: From the Definition of Convexity to Helley Theorem

Travelling Salesman Problem

A Strongly Polynomial Simplex Method for Totally Unimodular LP

The Complexity of Optimization Problems

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility

Linear Systems of n equations for n unknowns

Lecture Notes 4. Issued 8 March 2018

Deciding Emptiness of the Gomory-Chvátal Closure is NP-Complete, Even for a Rational Polyhedron Containing No Integer Point

1: Introduction to Lattices

6.896 Quantum Complexity Theory November 11, Lecture 20

LATTICE POINT COVERINGS

Direct Methods for Solving Linear Systems. Simon Fraser University Surrey Campus MACM 316 Spring 2005 Instructor: Ha Le

10. Ellipsoid method

SMT 2013 Power Round Solutions February 2, 2013

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity

3.3 Easy ILP problems and totally unimodular matrices

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Lecture 12. Applications to Algorithmic Game Theory & Computational Social Choice. CSC Allan Borodin & Nisarg Shah 1

Advanced topic: Space complexity

1 The linear algebra of linear programs (March 15 and 22, 2015)

A TOUR OF LINEAR ALGEBRA FOR JDEP 384H

This means that we can assume each list ) is

Computing with lights. Thierry Monteil CNRS LIPN Université Paris 13

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Gershgorin s Circle Theorem for Estimating the Eigenvalues of a Matrix with Known Error Bounds

Two Lectures on the Ellipsoid Method for Solving Linear Programs

CHAPTER 11. A Revision. 1. The Computers and Numbers therein

Duality of LPs and Applications

Solving Zero-Sum Security Games in Discretized Spatio-Temporal Domains

DRAFT. Algebraic computation models. Chapter 14

CS 573: Algorithmic Game Theory Lecture date: January 23rd, 2008

Math 324 Summer 2012 Elementary Number Theory Notes on Mathematical Induction

Multicommodity Flows and Column Generation

CS6902 Theory of Computation and Algorithms

Lecture 9 Tuesday, 4/20/10. Linear Programming

Sparse analysis Lecture II: Hardness results for sparse approximation problems

Rescaling Algorithms for Linear Programming Part I: Conic feasibility

1 Overview. 2 Learning from Experts. 2.1 Defining a meaningful benchmark. AM 221: Advanced Optimization Spring 2016

A Geometric Approach to Graph Isomorphism

The Simplex Algorithm

Math Introduction to Numerical Analysis - Class Notes. Fernando Guevara Vasquez. Version Date: January 17, 2012.

Transcription:

CSC2411 - Linear Programming and Combinatorial Optimization Lecture 8: Ellipsoid Algorithm Notes taken by Shizhong Li March 15, 2005 Summary: In the spring of 1979, the Soviet mathematician L.G.Khachian discovered a polynomial algorithm for LP called Ellipsoid Algorithm. This discovery classifies the linear programming problem in class P for the first time. After the high level introduction of the algorithm in the last class, we turn to discuss it in details in this lecture. Ellipsoid Algorithm. 1 Sketch of the Ellipsoid Algorithm 1.1 Pseudocode of Ellipsoid Algorithm Algorithm 1.1 (Ellipsoid Algorithm). input: A, b output: x P or P is empty where P = {x R n Ax < b} init: k = 0 /* iteration counter */ R = L /* initial radius to look at */ N = 16n(n + 1)L /* maximum number of iterations needs to perform */ E 0 = B(0, R) /* initial search space */ if k = N then announce P is empty if c k =center(e k ) satisfies Ac k < b then output x else find inequality (a i, x) < b i that is violated by c k, so (a i, c k ) b i while for (a i, x) < b i, x P find E k+1 with the following properties (i) E k+1 E k {x (a i, x) < b} (ii) Vol(E k+1 ) e 1 2(n+1) Vol(Ek ) endif Lecture Notes for a course given by Avner Magen, Dept. of Computer Sciecne, University of Toronto. 1

1.2 Proof of the correctness Proof. if the alogrithm the stops and finds a feasible solution, this is clearly fine. If the algorithm stops and does not find a feasible solution, we have to show that P =. Notice that in the algorithm, Vol(E k+1 ) e 1 2(n+1) Vol(Ek ), we have Vol(E N ) e N 2(n+1) Vol(E0 ) Assume P is not empty after N iterations. We know from last class, Vol(P ) 2 O(nL) and now Vol(E 0 ) (2R) n = (2n) n 2 nl. Thus Vol(E N ) Vol(E 0 ) e N 2(n+1) (2n)n 2 nl e N 2(n+1). For a large enough constant k, N = kn 2 L, Vol(E N ) e +n+nl k L 2(n+1) e O(nL) = Vol(P ). However, P E N, it is a contradiction. 2 How to find the next Ellipsoid Definition 2.1. Ellipsoid is the image under an offine map of a unit ball B(0, 1) in R n. E = T (B) = {T (x) x B} = {Ax + c x 1} = {y A 1 (y c) 1} = {y (y c) t (A 1 ) t A 1 (y c) 1} = {y (y c) t Q 1 (y c) 1} where Q = AA t Q is n n symmetric matrix which is Positive Definite, that is: x R n and x 0, x t Qx > 0 For example, B(0, 1) is the ellipsoid with Q = I, B(0, r) is with Q = r 2 I. Theorem 2.2. For an ellipsoid B and E where E = T (B), T is an affine transformation, then Vol(E) = Vol(T (B)) = det(q) Vol(B). Theorem 2.3. (Löwner John): Let K R n be convex, then there is a (unique) ellipsoid E containing K and of minimal volume, further 1 n E K E. See Figure[??],K is called LJ ellipsoid. In our case, K is half-ellipsoid, and we will show how to find the LJ ellipsoid of K. We use linear transformation to transform the ellipsoids in Figure[??] to Figure[??]. Notice that we transform the original ellipsoid E to a unit ball B(0, 1), 1 2E is tranformed to the northern halfball G, and the minimal volume ellipsoid E is transformed to F. First we need to prove we do not change the ratio of the volume between E and E by the transformation, that is Vol(F ) = Vol(E ). Vol(B) Vol(E) Proof. Let T be the mapping, that is E = T (B) and 1 2 E = T (G), thus B = T 1 (E), G = T 1 ( 1 2E), and the half space of the intersect is {x 0}. Suppose F is the 2

Figure 1: K R n is a convex, E is the ellipsoid containing K with the minimal volume. ellipsoid we found, then F = T 1 (E ). By Theorem??, we have Vol(F ) = Vol(E ) det(t 1 ) and Vol(B) = Vol(E) det(t 1 ), then we have Vol(F ) = Vol(E ) det(t 1 ) = Vol(B) Vol(E) det(t 1 ) Vol(E ). Vol(E) How to find the new ellipsoid E in Figure[??]? Recall Definition [??], we have E = { (x c) t Q 1 (x c) 1}, where c = (0, 0,..., 0, t) is the center of E. We transform E from the unit ball B(0, 1), thus by Theorem??, we have Vol(E) = det(q) Vol(B(0, 1)). We require 1 2B to be contained in E. We notice that we can get E by shrinking the unit ball B(0, 1) in vertical direction and shift it upward, stretching B(0, 1) symmetrically orthogonal to the vertical direction. We also notice that E is symmetic in all directions, that means Q is a diagonal matrix. Thus we can write Q as: Q = where last row corresponds to the vertical direction. α... Now we can set our goals in formula: Goal: find α, β, c so that 1 2B E and Vol(E) must be minimized, that is det(q) is minimized (by Theorem??). We have the following equations: min(α n 1 β) (by min(det(q)), since Vol(E) = det(q) Vol(B(0, 1))) (1 t) 2 β 1 = 1 (for x = (0, 0,.., 0, 1), (x c) t Q 1 (x c) = 1) α 1 x 1 2 + β 1 c 2 = 1 (for x = ( x 1, 0) and x 1 2 = 1, (x c) t Q 1 (x c) = 1) From (1 t) 2 β 1 = 1, we can get β = (1 t) 2. From α 1 x 1 2 + β 1 c 2 = 1 α β 3

Figure 2: Original ellipsoid E, we need a new ellipsoid E to contain 1 2E with minimal volume. Figure 3: We use linear transformation to transform E to a unit ball B, now 1 2E is the northern half-ball G, F is transformed from E. 4

Figure 4: We need to find an ellipsoid E to contain 1 2B which is the northern half ball. E has the minimal volume, and c is the center of E. and x 1 2 = 1, we get 1 α + t2 β = 1. Then we substitute β = (1 t)2, we can get α = (1 t)2 1 2t. We denote F = α n 1 β, substitute α, β, then F = ( (1 t)2 1 2t )n 1 (1 t) 2. To get min(f ), we force df df dt = 0. dt = 2n(1 t) 2n 1 ( 1)(1 2t) 1 n + (1 t) 2 n(1 n)(1 2t) n ( 2) = 0 = t(n + 1) 1 = 0 = t = 1 n+1. We substitute back α = (1 t)2 1 2t = n 2 1 and β = (1 t)2 = (n+1). 2 Thus we optimized min(α n 1 β) when α = n 2 1,β = (n+1) and t = 1 2 n+1. det(q) = α n 1 β = (1 + 1 n 2 1 )n 1 (1 2n+1 (n+1) ) 2 (e 1 n 2 1 ) n 1 e 2 n+1 (for x > 0, 1 + x e x Hence the x ) = e 1 n+1 factor of shrinkage in the volume is det(q) = e 1 2(n+1). Above we restrict B as a ball, but we can relax B to any ellipsoid. In general, if E k = E(Q k, c k ), then E k+1 = E(Q k+1, c k+1 ), where Q k+1 = n 2 1 (Q k 2 n+1 vvt ) where vv t is the matrix a ij = v i v j c k+1 = c k 1 n+1 v v = Q ka i where a i is the vector defining the violated constant. a t i Q k a i 5

3 Implementation issues 3.1 Rounding The fact that not all a t i Q ka i are rational numbers and the fact that the numbers defining the ellipsoid can grow too fast, leads to a modification of the above, namely rounding all the numbers. We round the entries of Q and all other numbers in the transformation while: 1. Q must be positive definite 2. the rounded ellipsoid must still contain 1 2 E k 3. the volume of the rounded ellipsoid is not much bigger than the original one For this rounding process, we have the following parameters: P : for the accuracy needed, the number of digits we round after. ɛ: the scaling factor of the ellipsoid after rounding. For example, if we select N = 50n 2 L, P = 8N, ɛ = 1 + 1 4n 2, it will give a satisfactory result. 3.2 Ellipsoid Algorithm is not a strongly polynomial algorithm Definition 3.1. elementary arithmetic operations: We count addition, subtraction, multiplication, division, comparison as one step rather than the number of moves of a head on Turing machine. We call it arithmetic model. Definition 3.2. strongly polynomial time: We say that an algorithm runs in strongly polynomial time if the algorithm is a polynomial space algorithm and performs a number of elementary arithmetic operations which is bounded by a polynomial in the number of input numbers. Thus a strongly polynomial algorithm is a polynomial space algorithm (in standard Turing machine model) and a polynomial time algorithm in the arithmetic model. We say Ellipsoid Algorithm runs in polynomial time at most N = 16n(n + 1)L iterations, each iteration is polynomial time. However, L = log( P ) where P is the nonzero coefficients in A, b, c. It means the running time is not only depends on the number of input numbers m n, but also depends on P which is the value of the input numbers. By the definition of strongly polynomial time, a strongly polynomial algorithm must perform a number of elementary arithmetic operations bounded by a polynomial in the number of input numbers. Obviously, Ellipsoid Algorithm performs arithmetic operations bounded also by the value of the input numbers. Thus, Ellipsoid Algorithm is not a strongly polynomial algorithm. 6

3.3 Abstraction for the algorithm oracle Definition 3.3. oracle: we can imagine an oracle as a device that can solve problem for us. We make no assumption on how a solution is found by the oracle. Definition 3.4. oracle algorithm: is an algorithm which can ask questions from an oracle and can use the answers supplied. Definition 3.5. polynomial transformation: suppose we have two decision problems Π and Π, a polynomial transformation is an algorithm which given an encoded instance σ of Π, produces in polynomial time an encoded instance σ of Π such that the following holds: For every instance σ of Π, the answer is yes if and only if the answer to σ is yes. Clearly, if there is a polynomial algorithm to solve Π then by polynomially transforming any instance of Π to an instance of Π there is also a polynomial algorithm to solve Π. Optimization problems are not decision problems. But in minimization(maximization) problems, we can ask Is there a feasible solution whose value is at least(most) Q?. If we can solve this yes/no question in polynomial time(i.e Ellipsoid Algorithm), we can continue asking Is there a feasible solution whose value is at least(most) Q 2?... Is there a feasible solution whose value is at least(most) Q 2 n?. Thus we are using binary search to find the optimal solution. The number of iterations is n = log(q), it is the length of input Q. Obviously we run polynomial times of iterations, each iteration is also polynomial. Thus we can solve an optimization problem in polynomial time through a polynomial oracle. For Ellipsoid Algorithm to work, we need answers to the following queries: 1. Is x P?, we call it Membership Oracle 2. If NOT, a plane separating x from P, we call it Separation Oracle So Ellipsoid Algorithm really tells us that given those oracles to a problem and guarantees of not too large initial search space and not too small possible volume for P, we get a polynomial solution. 4 Tutorial 4.1 Yao s min-max principle From last week s lecture, we know Yao s min-max principle: min A A E[C(I p, A)] max I I E[C(I, A q )] where A is a set of algorithms, I is a set of inputs, C(I, A) is the running time of algorithm A with input I. 7

Figure 5: A decision tree for sorting problem. For n input numbers, we have n! permutations. Hence, there are n! leaves in the tree. The expected runnning time of the best deterministic algorithm on some input distribution is a lower bound for the expected running time of the best randomized algorithm on an arbitrary input. We have the following theorem: Theorem 4.1. The worst-case expected time of any randomized sorting algorithm is Ω(nlog(n)). Proof. See Figure[??], it is a sorting problem with a random permutation of n numbers. Since there are n! possible permutations of the n input numbers, the decision tree must have n! leaves. Different permutation goes to the different branch of the decision tree. Since n! 2 > 2αnlog(n) for some 0 < α < 1, there are at least 1 2 of the leaves are at the distance Ω(nlog(n)) from the root. Thus the expected running time of any deterministic algorithm on this random input is Ω(nlog(n)). 4.2 Example of Ellipsoid Algorithm We show an example to run Ellipsoid Algorithm: Ax b 1. x 1 + 0.2x 2 8 8

2. x 1 + x 2 4 3. 0.3x 1 x 2 9 Step 1: ( ) 13 Set n = 2, c 0 = (0, 0) t 2 0, Q 0 = 0 13 2. Check whether c 0 = (0, 0) t satisifies the inequalities above. We find (1) is not satisfied. Thus let a = ( 1, 0.2) t, we get c 1 = c 0 Q 1 = v = Q 0a at Q 0 a = ( 12.7475, 2.5495)t. v n + 1 = (0, ( 12.7475, 0)t 2.5495)t 2 + 1 n 2 1 (Q 0 2 n + 1 vvt ) = = (4.2492, 0.8498) t. ( 80.8889 28.8889 28.8889 219.5556 ). Step 2: We check whether c 1 = (4.2492, 0.8498) t satisfies the inequalities. We find (1) is not satisfied. Thus let a = ( 1, 0.2) t, we get v = Q 1a at Q 1 a = ( 8.4984, 1.6997)t. c 2 = c 1 v n + 1 = (4.2492, ( 8.4984, 0.8498)t 1.6997)t = (7.0820, 1.4164) t. 2 + 1 Q 2 = n 2 1 (Q 1 2 ( ) 43.6543 51.3580 n + 1 vvt ) = 51.3580 290.1728... Step 8: We find c 8 = (7.4929, 6.4397) t. This is a solution satisfies the inequalities. So we are done. References [1] Martin Grötschel, László Lovász,Alexander Schrijver. Geometric Algorithms and Combinatorial Optimization, 2nd Corrected Edition. Springer-Verlag, pages 26-33 1993. 9