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  Bz, r 
T


h : z  p(z)  : hp ( z)
i
ci z  d i
r
ci
ci x  di x  Bz, 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 : Bz, 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  Bz, 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 )   ici 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 )   id 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  1r *  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
*

 2k  1
*
*

dist (0,0), H   r  2k  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  nn  N  

 

1


*
2
r  (n  1) 





2




1

 
2
r  4n  3   (n  1)   1


 

39
Algorithm
Ax  b
u-  x  u 
Ax  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
0xu
(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 uj 1
log uj 1
s 1


s
l
uj    js 2    js   2  1
s 0
s 0
 l 0

Ax  b
(2)
0  x  u
 loguj 1  s1 l

aij    js   2 z jsl  z jss    bi (3)

j1

 s 0  l 0
0z 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