Transcript sm2011 9669
A polynomial relaxation-type algorithm for linear programming Sergei Chubanov University of Siegen, Germany [email protected] 1 Relaxation method Project the current point onto the half-space generated by a constraint which is not satisfied: x Agmon, and Motzkin and Schoenberg (1954) 2 Relaxation method is exponential x* z 3 Relaxation method z x* 4 Outline A strongly polynomial algorithm which either finds a solution or proves that there are no 0,1-solutions A polynomial algorithm for linear programming Ax b 0 x 1 Ax b u- x u 5 Linear system Ax b Cx d hx is induced by the system if and only if m k i 1 l 1 h i a i lcl m k i 1 l 1 i bi ld l l 0 a i (Ai1 ,, Ain ) cl (Cl1 ,, Cl n ) 6 Task Given (z, r, ) , construct one of the two objects: * (i) x : Ax b, Cx d 1 * * (ii) an induced inequality hx such that hx x B(z, r ) z r 7 Elementary case r 2 c max cmax is a row of C of max. length ci z d i r i ci z p(z) r x * p( z ) r p(z) proj{x|Ax b} z z Ax b Ax * b Cx * d 1 8 Elementary case p(z) r r z z ci x d i Ax b z p(z) r z p(z)T x z p(z)T z x Bz, r T h : z p(z) : hp ( z) i ci z d i r ci ci x di x Bz, r h : ci : d i 9 Divide-and-conquer algorithm 1. If r , then the elementary case. 2 cmax 1 * 2. D&C z, r, returns x or h1x 1 2 1 r 3. Calculate z : Bz, r x | h1x 1 B z, 2 1 * D&C z, r, returns x or h 2 x 2 2 4. Calculate hx with hx x Bz, r 10 Recursion r z 11 Recursion r z Recursive call for the same center and a smaller radius 1 r 2 12 Recursion Recursive call either produces an approximate solution or a valid inequality r z 1 r 2 h1x 1 13 Recursion r z z Recursive call either produces an approximate solution or a valid inequality 1 r 2 h1x 1 14 Recursion r z z 1 r 2 Recursive call for the same radius and another center which is the projection of the current center onto the half-space. h1x 1 15 Recursion h 2 x 2 r z z The second recursive call either produces an approximate solution or an induced inequality 1 r 2 h1x 1 16 Recursion hx Y h 2 x 2 r z z 1 r 2 h h1 (1 )h 2 1 (1 )2 h1x 1 Y x | h1x 1 , h 2 x 2 17 Recursion h 2 x 2 h1x 1 The algorithm may fail to construct an induced inequality h1 h 2 , 0. 18 Depth of recursion r r 2 2 c max r c max log 2 19 Running time r c max At most O 2 recursive calls 20 Running time n variables m equations Ax b N nonzero components of C O m 3 m 2 n n 2 m n 2 N r c max 2 p(z) z A T (AA T ) 1 b Az 21 D&C algorithm • Not faster than the relaxation method • Can solve the task, but not always 22 Parameterized system Ax bt 0 Cx dt 0 t 1 1 (x , t ) x t Ax b Cx d x ( x , 1) 23 Strengthened parameterized system D&C is applied to Ax bt 0 Cx dt 1 t 1 1 24 Task 0 0 (( x , t ), r, ) Given (I) ( x , t ) : Ax bt 0, Cx dt 0, t 1 (II) ( h , ) : h ( x, t ) (x, t ) B(( x 0 , t 0 ), r ) h ( x, t ) is induced by the strengthened parameterized system 25 If D&C finds a solution If D&C finds an approximate solution ( x , t ) to the strengthened parameterized system ( x , t ) is an exact solution to the parameterized system 1 x is a solution to the system in question t 26 If D&C fails The two recursive calls at the iteration where it fails produce the inequalities k k i 1 i 1 k k i 1 i 1 a ( x , t ) i ci x d i t t i (1 ) a ( x, t ) ici x d i t t i (1 ) where a and a are linear combinations of the rows of A b k a ( x , t ) i d i t ci x t i 1 k a ( x, t ) id i t ci x t 0 i 1 h1 h 2 27 If D&C fails P x | Ax b, Cx d x* P x ( x , 1) k * * i d i ci x i d i ci x 0 i 1 i 1 0 0 k 0 or 0 contradiction infeasible i 0 or i 0 ci x d i * ci x d i x, Ax b, Cx d. 28 If D&C returns an inequality k k i 1 i 1 a ( x, t ) i ci x d i t t i (1 ) a is a linear combination of the rows of A b k h ( x, t ) i (1 ) i 1 h ( x, t ) is induced by the original parameterized system 29 If D&C returns an inequality k H ( x, t ) : h ( x, t ) i (1 ) i 1 H (x, t ) : h(x, t ) The smaller ball does not contain any solution of the original parameterized system (0,0) 30 If D&C returns an inequality dist (0,0), H dist (0,0), H k (x ,1) * * * i 1 i * d c x i i i k i 1 k k h * i d i ci x * i i 1 i 1 31 If D&C returns an inequality (1 ) k dist (0,0), H i 1 i h k dist (0,0), H i 1 i h h dist (0,0), H h h dist (0,0), H dist (0,0), H h dist (0,0), H dist (0,0), H 32 If D&C returns an inequality x* r* * ( x * ,1) * r * 1 dist (0,0), H dist (0,0), H r * r * 1 33 If D&C returns an inequality r 2k 3 r* 1 1 Case 1. i k i i 1 * d k i 1 i ci x * i k i 1 i k 1 k 1 0 dist (0,0), H r * r * 1 r k 1r * 1 r * 1 34 If D&C returns an inequality r 2k 3 r* 1 1 1 x P, d l c l x 2 Case 2. l max i i , * * k i i 1 * d k i 1 i ci x * i k 1 l l d l c l x * 2k 1 * * dist (0,0), H r 2k 1 r 1 r 1 35 If D&C returns an inequality r 2k 3 r* 1 i x P, x r * * 1 or * l i , 1 x P, x r , d l c l x 2 * * * * dist (0,0), H r * 1 x,1 r* 1 x P x r * x P 36 If D&C returns an inequality * x r x P i 1 l i , d l c l x x P, x r * 2 37 Algorithm r 2k 3 (r * 1) 1 x r * x P Repeated application of the following argument: If D&C fails, then either no solutions or cl x d l x P If D&C generates an induced inequality, either no solutions or 1 d l cl x x P, x r * 2 cl x d l x P Zn 38 Algorithm Ax b 0 x 1 The algorithm either finds a solution or decides that there are no 0,1- solutions in strongly polynomial time r cmax 3 2 2 2 O m m n n m nn N 1 * 2 r (n 1) 2 1 2 r 4n 3 (n 1) 1 39 Algorithm Ax b u- x u Ax b 0 x 1 If the system is feasible and the bounds are tight, a solution can be found in strongly polynomial time 40 General case Ax b 0xu (1) Ax b b x x u u (2) 0 x 1 K u 0 x 1 Kn u n 0 Kn K n! A ij b i u j (1) is feasible if and only if (2) has an integer solution 41 Polynomial algorithm u j 0 log uj 1 log uj 1 s 1 s l uj js 2 js 2 1 s 0 s 0 l 0 Ax b (2) 0 x u loguj 1 s1 l aij js 2 z jsl z jss bi (3) j1 s 0 l 0 0z 1 n (2) has an integer solution if and only if (3) has an integer solution By solving (3) we also solve (1) a polynomial algorithm for linear programming 42