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