Algebraic and Geometric ideas in the theory of Discrete Optimization

Algebraic and Geometric ideas in the theory of Discrete
Optimization
Jesús A. De Loera, UC Davis
Three Lectures based on the book:
Algebraic & Geometric Ideas in the Theory of Discrete Optimization (SIAM-MOS
2013)
By J. De Loera, R. Hemmecke & M. Köppe
15th July 2013
()
15th July 2013
1 / 29
IN THE LAST EPISODE....
()
15th July 2013
2 / 29
Theorem (FPTAS for Integer Polynomial Maximization)
JDL, Hemmecke, Köppe, Weismantel, 2006
Let the dimension d be fixed. There exists an algorithm whose input data are
a polytope P ⊂ Rd , given by rational linear inequalities, and
a polynomial f ∈ Z[x1 , . . . , xd ] with integer coefficients and maximum total
degree D that is non-negative on P ∩ Zd
with the following properties.
1
For a given k , it computes in running time polynomial in k , the encoding size
of P and f , and D lower and upper bounds Lk 6 f (xmax ) 6 Uk satisfying
Uk − Lk 6
2
q
k
|P ∩ Zd | − 1 · f (xmax ).
For k = (1 + 1/) log(|P ∩ Zd |), the bounds satisfy
Uk − Lk 6 f (xmax ),
3
and they can be computed in time polynomial in the input size, the total
degree D, and 1/.
By iterated bisection of P ∩ Zd , it constructs a feasible solution x ∈ P ∩ Zd
with
f (x ) − f (xmax ) 6 f (xmax ).
()
15th July 2013
3 / 29
Theorem (FPTAS for Integer Polynomial Maximization)
JDL, Hemmecke, Köppe, Weismantel, 2006
Let the dimension d be fixed. There exists an algorithm whose input data are
a polytope P ⊂ Rd , given by rational linear inequalities, and
a polynomial f ∈ Z[x1 , . . . , xd ] with integer coefficients and maximum total
degree D that is non-negative on P ∩ Zd
with the following properties.
1
For a given k , it computes in running time polynomial in k , the encoding size
of P and f , and D lower and upper bounds Lk 6 f (xmax ) 6 Uk satisfying
Uk − Lk 6
2
q
k
|P ∩ Zd | − 1 · f (xmax ).
For k = (1 + 1/) log(|P ∩ Zd |), the bounds satisfy
Uk − Lk 6 f (xmax ),
3
and they can be computed in time polynomial in the input size, the total
degree D, and 1/.
By iterated bisection of P ∩ Zd , it constructs a feasible solution x ∈ P ∩ Zd
with
f (x ) − f (xmax ) 6 f (xmax ).
()
15th July 2013
3 / 29
Theorem (FPTAS for Integer Polynomial Maximization)
JDL, Hemmecke, Köppe, Weismantel, 2006
Let the dimension d be fixed. There exists an algorithm whose input data are
a polytope P ⊂ Rd , given by rational linear inequalities, and
a polynomial f ∈ Z[x1 , . . . , xd ] with integer coefficients and maximum total
degree D that is non-negative on P ∩ Zd
with the following properties.
1
For a given k , it computes in running time polynomial in k , the encoding size
of P and f , and D lower and upper bounds Lk 6 f (xmax ) 6 Uk satisfying
Uk − Lk 6
2
q
k
|P ∩ Zd | − 1 · f (xmax ).
For k = (1 + 1/) log(|P ∩ Zd |), the bounds satisfy
Uk − Lk 6 f (xmax ),
3
and they can be computed in time polynomial in the input size, the total
degree D, and 1/.
By iterated bisection of P ∩ Zd , it constructs a feasible solution x ∈ P ∩ Zd
with
f (x ) − f (xmax ) 6 f (xmax ).
()
15th July 2013
3 / 29
Theorem (FPTAS for Integer Polynomial Maximization)
JDL, Hemmecke, Köppe, Weismantel, 2006
Let the dimension d be fixed. There exists an algorithm whose input data are
a polytope P ⊂ Rd , given by rational linear inequalities, and
a polynomial f ∈ Z[x1 , . . . , xd ] with integer coefficients and maximum total
degree D that is non-negative on P ∩ Zd
with the following properties.
1
For a given k , it computes in running time polynomial in k , the encoding size
of P and f , and D lower and upper bounds Lk 6 f (xmax ) 6 Uk satisfying
Uk − Lk 6
2
q
k
|P ∩ Zd | − 1 · f (xmax ).
For k = (1 + 1/) log(|P ∩ Zd |), the bounds satisfy
Uk − Lk 6 f (xmax ),
3
and they can be computed in time polynomial in the input size, the total
degree D, and 1/.
By iterated bisection of P ∩ Zd , it constructs a feasible solution x ∈ P ∩ Zd
with
f (x ) − f (xmax ) 6 f (xmax ).
()
15th July 2013
3 / 29
Barvinok’s Generating Functions
()
15th July 2013
4 / 29
Barvinok’s Algorithm: New Representation of Lattice
Points
Given K ⊂ Rd we define the formal power series
X
f (K ) =
z1α1 z2α2 . . . znαn .
α∈K ∩Zd
Think of the lattice points as monomials!!! EXAMPLE: (7, 4, −3) is z17 z24 z3−3 .
Theorem Assume the dimension d is fixed. Let P be a rational convex
d-dimensional polytope. Then, in polynomial
P time on the size of the input, we
can write the generating function f (P ) = α∈P ∩Zd z α . as a polynomial-size
sum of rational functions of the form:
X
i ∈I
Ei
z ui
d
Q
(1 −
,
(1)
z vij )
j =1
where I is a polynomial-size indexing set, and where Ei ∈ {1, −1} and
ui , vij ∈ Zd for all i and j.
Corollary Number of lattice points of P can be can be computed in
polynomial time (in fixed dimension).
()
15th July 2013
5 / 29
Barvinok’s Algorithm: New Representation of Lattice
Points
Given K ⊂ Rd we define the formal power series
X
f (K ) =
z1α1 z2α2 . . . znαn .
α∈K ∩Zd
Think of the lattice points as monomials!!! EXAMPLE: (7, 4, −3) is z17 z24 z3−3 .
Theorem Assume the dimension d is fixed. Let P be a rational convex
d-dimensional polytope. Then, in polynomial
P time on the size of the input, we
can write the generating function f (P ) = α∈P ∩Zd z α . as a polynomial-size
sum of rational functions of the form:
X
i ∈I
Ei
z ui
d
Q
(1 −
,
(1)
z vij )
j =1
where I is a polynomial-size indexing set, and where Ei ∈ {1, −1} and
ui , vij ∈ Zd for all i and j.
Corollary Number of lattice points of P can be can be computed in
polynomial time (in fixed dimension).
()
15th July 2013
5 / 29
Example
Let P be the square with vertices V1 = (0, 0), V2 = (5000, 0), V3 = (5000, 5000),
and V4 = (0, 5000).
The generating function f (P ) has over 25,000,000 monomials,
f (P ) = 1 + z1 + z2 + z11 z22 + z12 z2 + · · · + z15000 z25000 ,
()
15th July 2013
6 / 29
But it can be written using only four rational functions
1
(1 − z1 ) (1 − z2 )
+
z1 5000
z2 5000
z1 5000 z2 5000
+
+
(1 − z1 −1 ) (1 − z2 ) (1 − z2 −1 ) (1 − z1 ) (1 − z1 −1 ) (1 − z2 −1 )
+
z1 5000·t
z2 5000·t
z1 5000·t z2 5000·t
+
+
−
1
−
1
(1 − z1 ) (1 − z2 ) (1 − z2 ) (1 − z1 ) (1 − z1 −1 ) (1 − z2 −1 )
Also, f (tP , z ) is
1
(1 − z1 ) (1 − z2 )
()
15th July 2013
7 / 29
Enough to do it for CONES
Set your polytope P inside the hyperplane t = 1. What we want is the generating
function of the lattice points in the cone.
t
t=1
()
15th July 2013
8 / 29
It is easy to deal with SIMPLE Cones
For a simple cone K ⊂ Rd ,
f (K ) =
P
(1 −
u
u ∈Π∩Zd z
z c1 )(1 − z c2 ) . . . (1
− z cd )
Π is the half open parallelepiped {x |x = α1 c1 + · · · + αd cd , 0 6 αi < 1}.
Example f (K ) =
()
z14 z2 +z13 z2 +z12 z2 +z1 z2 +z14 +z13 +z12 +z1 +1
.
(1−z1 z22 )(1−z14 z2−1 )
15th July 2013
9 / 29
Barvinok’s unimodular cone decomposition lemma
Key Observation: Formula is polytime if we have ONE lattice point in
parallelepiped
Theorem [Barvinok] Fix the dimension d. Then there exists a polynomial time
algorithm which decomposes any rational polyhedral cone K ⊂ Rd into
unimodular cones Ki with numbers i ∈ {−1, 1} such that
χ(K ) =
X
i χ(Ki ), |I | < ∞.
i ∈I
Where χ(K ) is the lattice point generating function of the set K .
()
15th July 2013
10 / 29
()
15th July 2013
11 / 29
I have a great representation of Lattice
Points, but...
How do I evaluate a function f and
optimize it?
()
15th July 2013
12 / 29
Differential operators on generating functions
The Euler differential operator z ddz maps:
g (z ) =
D
X
X
d
g (z ) =
(j · gj )z j
dz
D
gj z j
j =0
7−→
z
j =0
gP (z ) = z 0 + z 1 + z 2 + z 3 + z 4
Apply differential operator:
d
gP (z ) = 1z 1 + 2z 2 + 3z 3 + 4z 4
z
dz
Apply differential operator again:
d
d
z
z
gP (z ) = 1z 1 + 4z 2 + 9z 3 + 16z 4
dz
dz
()
15th July 2013
13 / 29
Differential operators on generating functions
The Euler differential operator z ddz maps:
g (z ) =
D
X
X
d
g (z ) =
(j · gj )z j
dz
D
gj z j
j =0
7−→
z
j =0
gP (z ) = z 0 + z 1 + z 2 + z 3 + z 4
Apply differential operator:
d
gP (z ) = 1z 1 + 2z 2 + 3z 3 + 4z 4
z
dz
Apply differential operator again:
d
d
z
z
gP (z ) = 1z 1 + 4z 2 + 9z 3 + 16z 4
dz
dz
()
15th July 2013
13 / 29
Differential operators on generating functions
The Euler differential operator z ddz maps:
g (z ) =
D
X
X
d
g (z ) =
(j · gj )z j
dz
D
gj z j
j =0
7−→
z
gP (z ) = z 0 + z 1 + z 2 + z 3 + z 4 =
j =0
1
1−z
−
z5
1−z
Apply differential operator:
1
−4z 5 + 5z 4
d
−
gP (z ) = 1z 1 + 2z 2 + 3z 3 + 4z 4 =
z
(1 − z )2
(1 − z )2
dz
Apply differential operator again:
d
d
z + z2
25z 5 − 39z 6 + 16z 7
z
z
gP (z ) = 1z 1 + 4z 2 + 9z 3 + 16z 4 =
−
dz
dz
(1 − z )3
(1 − z )3
()
15th July 2013
13 / 29
Differential operators on generating functions
Lemma
f (x1 , . . . , xd ) =
X
cβ xβ ∈ Z[x1 , . . . , xd ]
β
can be converted to a differential operator
X β1
βd
∂
∂
∂
∂
, . . . , zd
=
cβ z1
. . . zd
Df = f z1
∂z1
∂zd
∂z1
∂zd
β
which maps
g (z) =
X
α∈S
zα
7−→
(Df g )(z) =
X
f (α)zα .
α∈S
Theorem
Let gP (z) be the Barvinok generating function of the lattice points of P. Let f be a
polynomial in Z[x1 , . . . , xd ] of maximum total degree D.
We can compute, in polynomial time in D and the size
P of the input data, a
Barvinok rational function representation gP ,f (z) for α∈P ∩Zd f (α)zα .
()
15th July 2013
14 / 29
Differential operators on generating functions
Lemma
f (x1 , . . . , xd ) =
X
cβ xβ ∈ Z[x1 , . . . , xd ]
β
can be converted to a differential operator
X β1
βd
∂
∂
∂
∂
, . . . , zd
=
cβ z1
. . . zd
Df = f z1
∂z1
∂zd
∂z1
∂zd
β
which maps
g (z) =
X
α∈S
zα
7−→
(Df g )(z) =
X
f (α)zα .
α∈S
Theorem
Let gP (z) be the Barvinok generating function of the lattice points of P. Let f be a
polynomial in Z[x1 , . . . , xd ] of maximum total degree D.
We can compute, in polynomial time in D and the size
P of the input data, a
Barvinok rational function representation gP ,f (z) for α∈P ∩Zd f (α)zα .
()
15th July 2013
14 / 29
Approximating max f (x ) with sums of powers (`p norms)
Let N = |P ∩ Zd |

P ∩ Zd = {x1 , . . . , xN }
and

f (x1 )
 .. 
f =  .  ∈ RN .
f (xN )
We want max f (xi ) the ∞-norm, thus consider the p-norm:
kfkp =
X
f p (x)
1/p
x∈P ∩Zd
Lemma If we define Lk := N −1/k kfkk and Uk := kfkk then
1
Lk := N −1/k kfkk 6 kfk∞ 6 kfkk =: Uk
2
Uk − Lk 6
3
√
k
N − 1 f (xmax ) 6 f (xmax ) for k > (1 + 1/) log N.
The encoding length and degree of f k are bounded polynomially in the
input size and 1
()
15th July 2013
15 / 29
Integer Optimization over N-fold Systems
Fix any pair of integer matrices A and B with the same number of columns, of
dimensions r × q and s × q, respectively. The n-fold matrix of the ordered pair
A, B is the following (s + nr ) × nq matrix,

[A, B ]
(n )
:=
(1n ⊗ B ) ⊕ (In ⊗ A)
=






B
A
0
..
.
0
B
0
A
..
.
0
B
0
0
..
.
0

··· B
··· 0 

··· 0 

..
.. 
.
. 
··· A
.
RECALL: Transportation problems with fixed number of suppliers are N-fold
systems!
Example: Consider the matrices A = [1 1] and B = I2 .

[ A, B ] ( 4 )
()



=



1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1




.



15th July 2013
16 / 29
Integer Optimization over N-fold Systems
Fix any pair of integer matrices A and B with the same number of columns, of
dimensions r × q and s × q, respectively. The n-fold matrix of the ordered pair
A, B is the following (s + nr ) × nq matrix,

[A, B ]
(n )
:=
(1n ⊗ B ) ⊕ (In ⊗ A)
=






B
A
0
..
.
0
B
0
A
..
.
0
B
0
0
..
.
0

··· B
··· 0 

··· 0 

..
.. 
.
. 
··· A
.
RECALL: Transportation problems with fixed number of suppliers are N-fold
systems!
Example: Consider the matrices A = [1 1] and B = I2 .

[A, B ](4)
()



=



1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1




.



15th July 2013
16 / 29
Integer Optimization over N-fold Systems
Fix any pair of integer matrices A and B with the same number of columns, of
dimensions r × q and s × q, respectively. The n-fold matrix of the ordered pair
A, B is the following (s + nr ) × nq matrix,

[A, B ]
(n )
:=
(1n ⊗ B ) ⊕ (In ⊗ A)
=






B
A
0
..
.
0
B
0
A
..
.
0
B
0
0
..
.
0

··· B
··· 0 

··· 0 

..
.. 
.
. 
··· A
.
RECALL: Transportation problems with fixed number of suppliers are N-fold
systems!
Example: Consider the matrices A = [1 1] and B = I2 .

[A, B ](4)
()



=



1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1




.



15th July 2013
16 / 29
Theorem
Fix two integer matrices A, B of sizes r × q and s × q, respectively. Then
there is a polynomial time algorithm that, given any n, an integer vectors b, a
cost vector c, solves the corresponding n-fold integer programming problem.
max{cx : [A, B ](n) x = b, x ∈ Nnq } .
Similarly, Given a constant number of cost vectors c1 , . . . , ck , a convex
function f , then there is a polynomial time algorithm that given any n, an
integer vectors b, a cost vector c,
max{f (c1 x , c2 x , . . . , ck x ) : [A, B ](n) x = b, x ∈ Nnq }
.
Recent Advances: Extensions to convex minimization, stochastic integer
optimization, by Hemmecke, J. Lee, S. Onn, M. Köppe,
Note: Compare to polynomial-time of network flow integer programs (E.
Tardos )!!
()
15th July 2013
17 / 29
Theorem
Fix two integer matrices A, B of sizes r × q and s × q, respectively. Then
there is a polynomial time algorithm that, given any n, an integer vectors b, a
cost vector c, solves the corresponding n-fold integer programming problem.
max{cx : [A, B ](n) x = b, x ∈ Nnq } .
Similarly, Given a constant number of cost vectors c1 , . . . , ck , a convex
function f , then there is a polynomial time algorithm that given any n, an
integer vectors b, a cost vector c,
max{f (c1 x , c2 x , . . . , ck x ) : [A, B ](n) x = b, x ∈ Nnq }
.
Recent Advances: Extensions to convex minimization, stochastic integer
optimization, by Hemmecke, J. Lee, S. Onn, M. Köppe,
Note: Compare to polynomial-time of network flow integer programs (E.
Tardos )!!
()
15th July 2013
17 / 29
Theorem
Fix two integer matrices A, B of sizes r × q and s × q, respectively. Then
there is a polynomial time algorithm that, given any n, an integer vectors b, a
cost vector c, solves the corresponding n-fold integer programming problem.
max{cx : [A, B ](n) x = b, x ∈ Nnq } .
Similarly, Given a constant number of cost vectors c1 , . . . , ck , a convex
function f , then there is a polynomial time algorithm that given any n, an
integer vectors b, a cost vector c,
max{f (c1 x , c2 x , . . . , ck x ) : [A, B ](n) x = b, x ∈ Nnq }
.
Recent Advances: Extensions to convex minimization, stochastic integer
optimization, by Hemmecke, J. Lee, S. Onn, M. Köppe,
Note: Compare to polynomial-time of network flow integer programs (E.
Tardos )!!
()
15th July 2013
17 / 29
Graver Bases
()
15th July 2013
18 / 29
Graver Bases Algorithms
We want optimization of nice convex functions over {x ∈ Zn : Ax = b, x > 0}.
For the lattice L(A) = {x ∈ Zn : Ax = 0} introduce a natural partial order on
the lattice vectors.
For u , v ∈ Zn . u is conformally smaller than v , denoted u < v , if |ui | 6 |vi |
and ui vi > 0 for i = 1, . . . , n.
Eg: (3, −2, −8, 0, 8) < (4, −3, −9, 0, 9), incomparable to (−4, −3, 9, 1, −8).
00
11
00
11
00
11
11
00
00
11
00
11
11
00
00
11
00
11
00
11
00
11
1010
10
0110
10
01
00
11
00
11
00
11
11
00
00
11
00
11
0110
0110
10
01
11
00
00
11
11
00
10 00
11
01
00
11
11
00 00
11
00
11
The Graver basis of an integer matrix A is the set of conformal-minimal
nonzero integer dependencies on A. Equivalent to the union of 2n Hilbert
bases!
()
15th July 2013
19 / 29
Graver Bases Algorithms
We want optimization of nice convex functions over {x ∈ Zn : Ax = b, x > 0}.
For the lattice L(A) = {x ∈ Zn : Ax = 0} introduce a natural partial order on
the lattice vectors.
For u , v ∈ Zn . u is conformally smaller than v , denoted u < v , if |ui | 6 |vi |
and ui vi > 0 for i = 1, . . . , n.
Eg: (3, −2, −8, 0, 8) < (4, −3, −9, 0, 9), incomparable to (−4, −3, 9, 1, −8).
00
11
00
11
00
11
11
00
00
11
00
11
11
00
00
11
00
11
00
11
00
11
1010
10
0110
10
01
00
11
00
11
00
11
11
00
00
11
00
11
0110
0110
10
01
11
00
00
11
11
00
10 00
11
01
00
11
11
00 00
11
00
11
The Graver basis of an integer matrix A is the set of conformal-minimal
nonzero integer dependencies on A. Equivalent to the union of 2n Hilbert
bases!
()
15th July 2013
19 / 29
Graver Bases Algorithms
We want optimization of nice convex functions over {x ∈ Zn : Ax = b, x > 0}.
For the lattice L(A) = {x ∈ Zn : Ax = 0} introduce a natural partial order on
the lattice vectors.
For u , v ∈ Zn . u is conformally smaller than v , denoted u < v , if |ui | 6 |vi |
and ui vi > 0 for i = 1, . . . , n.
Eg: (3, −2, −8, 0, 8) < (4, −3, −9, 0, 9), incomparable to (−4, −3, 9, 1, −8).
00
11
00
11
00
11
11
00
00
11
00
11
11
00
00
11
00
11
00
11
00
11
1010
10
0110
10
01
00
11
00
11
00
11
11
00
00
11
00
11
0110
0110
10
01
11
00
00
11
11
00
11
00 10 00
11
11 01
00
00 11
11
00
The Graver basis of an integer matrix A is the set of conformal-minimal
nonzero integer dependencies on A. Equivalent to the union of 2n Hilbert
bases!
()
15th July 2013
19 / 29
Graver Bases Algorithms
We want optimization of nice convex functions over {x ∈ Zn : Ax = b, x > 0}.
For the lattice L(A) = {x ∈ Zn : Ax = 0} introduce a natural partial order on
the lattice vectors.
For u , v ∈ Zn . u is conformally smaller than v , denoted u < v , if |ui | 6 |vi |
and ui vi > 0 for i = 1, . . . , n.
Eg: (3, −2, −8, 0, 8) < (4, −3, −9, 0, 9), incomparable to (−4, −3, 9, 1, −8).
00
11
00
11
00
11
11
00
00
11
00
11
11
00
00
11
00
11
00
11
00
11
1010
10
0110
10
01
00
11
00
11
00
11
11
00
00
11
00
11
0110
0110
10
01
11
00
00
11
11
00
11
00 10 00
11
11 01
00
00 11
11
00
The Graver basis of an integer matrix A is the set of conformal-minimal
nonzero integer dependencies on A. Equivalent to the union of 2n Hilbert
bases!
()
15th July 2013
19 / 29
Graver Bases Algorithms
We want optimization of nice convex functions over {x ∈ Zn : Ax = b, x > 0}.
For the lattice L(A) = {x ∈ Zn : Ax = 0} introduce a natural partial order on
the lattice vectors.
For u , v ∈ Zn . u is conformally smaller than v , denoted u < v , if |ui | 6 |vi |
and ui vi > 0 for i = 1, . . . , n.
Eg: (3, −2, −8, 0, 8) < (4, −3, −9, 0, 9), incomparable to (−4, −3, 9, 1, −8).
00
11
00
11
00
11
11
00
00
11
00
11
11
00
00
11
00
11
00
11
00
11
1010
10
0110
10
01
00
11
00
11
00
11
11
00
00
11
00
11
0110
0110
10
01
11
00
00
11
11
00
11
00 10 00
11
11 01
00
00 11
11
00
The Graver basis of an integer matrix A is the set of conformal-minimal
nonzero integer dependencies on A. Equivalent to the union of 2n Hilbert
bases!
()
15th July 2013
19 / 29
Example: If A = [1 2 1] then its Graver basis is
±{[2, −1, 0], [0, −1, 2], [1, 0, −1], [1, −1, 1]}
.
For a fixed cost vector c, we can visualize a Graver basis of of an integer
program by creating a graph on
L(b) := {x | Ax = b, x > 0, x ∈ Zn }
.
Nodes are lattice points in L(b) and the Graver basis elements give directed
edges departing from each lattice point u ∈ L(b).
()
15th July 2013
20 / 29
Graver Optimality certificate
Theorem (J. Graver 1975)
A Graver bases is T ⊆ Zn is an optimality certificate, i.e., for min{f (z) : Az =
b, l 6 z 6 u, z ∈ Zn }, for all non-optimal feasible solutions z0 there exist t ∈ T and
α ∈ Z+ such that
z0 + αt is a feasible solution with f (z0 + αt) < f (z0 ).
Augmentation algorithm
1
2
Find a feasible solution z0 .
While z0 is not optimal, find t ∈ T and
α ∈ Z+ such that
Geometric interpretation
max c>
z0 + αt is feasible and
f (z0 + αt) < f (z0 ).
(Choose a pair α, t.)
3
Return z0 as optimal solution.
xstart
Work by Hemmecke, Hosten, Graver, Onn, Scarf, Sturmfels, Sullivant, Thomas,
Weismantel et al. and many others.
()
15th July 2013
21 / 29
Graver Optimality certificate
Theorem (J. Graver 1975)
A Graver bases is T ⊆ Zn is an optimality certificate, i.e., for min{f (z) : Az =
b, l 6 z 6 u, z ∈ Zn }, for all non-optimal feasible solutions z0 there exist t ∈ T and
α ∈ Z+ such that
z0 + αt is a feasible solution with f (z0 + αt) < f (z0 ).
Augmentation algorithm
1
2
Find a feasible solution z0 .
While z0 is not optimal, find t ∈ T and
α ∈ Z+ such that
Geometric interpretation
max c>
z0 + αt is feasible and
f (z0 + αt) < f (z0 ).
(Choose a pair α, t.)
3
Return z0 as optimal solution.
xstart
Work by Hemmecke, Hosten, Graver, Onn, Scarf, Sturmfels, Sullivant, Thomas,
Weismantel et al. and many others.
()
15th July 2013
21 / 29
GRAVER FACTS
Very hard to compute. Fastest algorithm to compute Graver bases is based
on a completion and project-and-lift method, implemented in 4ti2 (by R.
Hemmecke and P. Malkin).
Strong connection to polynomials: Graver bases are special Gröbner bases.
Graver bases contain, and generalize, the LP test set given by the circuits of
the matrix A.
Graver test sets can be exponentially large even in fixed dimension!
NP-complete problem to decide whether a list of vectors is a complete Graver
bases.
KEY POINT:
Graver bases become very efficient for
HIGHLY STRUCTURED MATRICES!!
()
15th July 2013
22 / 29
GRAVER FACTS
Very hard to compute. Fastest algorithm to compute Graver bases is based
on a completion and project-and-lift method, implemented in 4ti2 (by R.
Hemmecke and P. Malkin).
Strong connection to polynomials: Graver bases are special Gröbner bases.
Graver bases contain, and generalize, the LP test set given by the circuits of
the matrix A.
Graver test sets can be exponentially large even in fixed dimension!
NP-complete problem to decide whether a list of vectors is a complete Graver
bases.
KEY POINT:
Graver bases become very efficient for
HIGHLY STRUCTURED MATRICES!!
()
15th July 2013
22 / 29
GRAVER FACTS
Very hard to compute. Fastest algorithm to compute Graver bases is based
on a completion and project-and-lift method, implemented in 4ti2 (by R.
Hemmecke and P. Malkin).
Strong connection to polynomials: Graver bases are special Gröbner bases.
Graver bases contain, and generalize, the LP test set given by the circuits of
the matrix A.
Graver test sets can be exponentially large even in fixed dimension!
NP-complete problem to decide whether a list of vectors is a complete Graver
bases.
KEY POINT:
Graver bases become very efficient for
HIGHLY STRUCTURED MATRICES!!
()
15th July 2013
22 / 29
GRAVER FACTS
Very hard to compute. Fastest algorithm to compute Graver bases is based
on a completion and project-and-lift method, implemented in 4ti2 (by R.
Hemmecke and P. Malkin).
Strong connection to polynomials: Graver bases are special Gröbner bases.
Graver bases contain, and generalize, the LP test set given by the circuits of
the matrix A.
Graver test sets can be exponentially large even in fixed dimension!
NP-complete problem to decide whether a list of vectors is a complete Graver
bases.
KEY POINT:
Graver bases become very efficient for
HIGHLY STRUCTURED MATRICES!!
()
15th July 2013
22 / 29
GRAVER FACTS
Very hard to compute. Fastest algorithm to compute Graver bases is based
on a completion and project-and-lift method, implemented in 4ti2 (by R.
Hemmecke and P. Malkin).
Strong connection to polynomials: Graver bases are special Gröbner bases.
Graver bases contain, and generalize, the LP test set given by the circuits of
the matrix A.
Graver test sets can be exponentially large even in fixed dimension!
NP-complete problem to decide whether a list of vectors is a complete Graver
bases.
KEY POINT:
Graver bases become very efficient for
HIGHLY STRUCTURED MATRICES!!
()
15th July 2013
22 / 29
GRAVER FACTS
Very hard to compute. Fastest algorithm to compute Graver bases is based
on a completion and project-and-lift method, implemented in 4ti2 (by R.
Hemmecke and P. Malkin).
Strong connection to polynomials: Graver bases are special Gröbner bases.
Graver bases contain, and generalize, the LP test set given by the circuits of
the matrix A.
Graver test sets can be exponentially large even in fixed dimension!
NP-complete problem to decide whether a list of vectors is a complete Graver
bases.
KEY POINT:
Graver bases become very efficient for
HIGHLY STRUCTURED MATRICES!!
()
15th July 2013
22 / 29
N-fold Matrices
Fix any pair of integer matrices A and B with the same number of columns, of
dimensions r × q and s × q, respectively. The n-fold matrix of the ordered pair
A, B is the following (s + nr ) × nq matrix,

[A, B ]
(n )
:=
(1n ⊗ B ) ⊕ (In ⊗ A)
=






B
A
0
..
.
0
B
0
A
..
.
0
B
0
0
..
.
0

··· B
··· 0 

··· 0 

..
.. 
.
. 
··· A
.
N-fold systems DO appear in applications! Yes, Transportation problems with fixed
number of suppliers!
Key Theorem (from Algebraic Geometry) [Aoki-Takemura, Santos-Sturmfels,
Hosten-Sullivant] For every pair of integer matrices A ∈ Zr ×q and B ∈ Zs×q , there
exists a constant g (A, B ) such that for all n, the Graver basis of [A, B ](n) consists
of vectors with at most g (A, B ) the number nonzero components.
()
15th July 2013
23 / 29
N-fold Matrices
Fix any pair of integer matrices A and B with the same number of columns, of
dimensions r × q and s × q, respectively. The n-fold matrix of the ordered pair
A, B is the following (s + nr ) × nq matrix,

[A, B ]
(n )
:=
(1n ⊗ B ) ⊕ (In ⊗ A)
=






B
A
0
..
.
0
B
0
A
..
.
0
B
0
0
..
.
0

··· B
··· 0 

··· 0 

..
.. 
.
. 
··· A
.
N-fold systems DO appear in applications! Yes, Transportation problems with fixed
number of suppliers!
Key Theorem (from Algebraic Geometry) [Aoki-Takemura, Santos-Sturmfels,
Hosten-Sullivant] For every pair of integer matrices A ∈ Zr ×q and B ∈ Zs×q , there
exists a constant g (A, B ) such that for all n, the Graver basis of [A, B ](n) consists
of vectors with at most g (A, B ) the number nonzero components.
()
15th July 2013
23 / 29
N-fold Matrices
Fix any pair of integer matrices A and B with the same number of columns, of
dimensions r × q and s × q, respectively. The n-fold matrix of the ordered pair
A, B is the following (s + nr ) × nq matrix,

[A, B ]
(n )
:=
(1n ⊗ B ) ⊕ (In ⊗ A)
=






B
A
0
..
.
0
B
0
A
..
.
0
B
0
0
..
.
0

··· B
··· 0 

··· 0 

..
.. 
.
. 
··· A
.
N-fold systems DO appear in applications! Yes, Transportation problems with fixed
number of suppliers!
Key Theorem (from Algebraic Geometry) [Aoki-Takemura, Santos-Sturmfels,
Hosten-Sullivant] For every pair of integer matrices A ∈ Zr ×q and B ∈ Zs×q , there
exists a constant g (A, B ) such that for all n, the Graver basis of [A, B ](n) consists
of vectors with at most g (A, B ) the number nonzero components.
()
15th July 2013
23 / 29
EXAMPLE Consider the matrices A = [1 1] and B = I2 . The Graver complexity of
the pair A, B is g (A, B ) = 2.

[A, B ](2)
1
 0
= 
 1
0
0
1
1
0
1
0
0
1

0
1 
 , G([A, B ](2) ) = ±
0 
1
1
−1
−1
1
.
By theorem the Graver basis of the 4-fold matrix

[A, B ](4)



=







G([A, B ](4) ) = ± 



()
1
1
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
−1
−1
−1
0
0
0
1
0
0
1
0
0
−1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
0
−1
−1
0
0
1
0
0
1
0
0
−1
0
−1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
−1




,



0
0
−1
0
−1
−1
0
0
1
0
1
1




.



15th July 2013
24 / 29
Other Nicely Structured Matrices
2-stage stochastic matrix



O O (N ) := 

B A


B
B
Theorem (Hemmecke, Schultz, 2002)

A
A
.
.
.
B
.
.
If A and B are fixed matrices, then






.
max kvk1 : v ∈ G
A
N-fold 4-block




C D (N ) := 

B A



O O (N )
B A
∈ O (N ).
Theorem. (Hemmecke, Koeppe, Weismantel, 2009)
C
B
B
.
.
.
B
D
A
O
D
O
A
···
.
O
O
.
D
O
O
.
A









If A, B , C , D are fixed matrices, then
max kvk1 : v ∈ G
C D (N )
B A
is bounded by a polynomial in N.
()
15th July 2013
25 / 29
Other Nicely Structured Matrices
2-stage stochastic matrix



O O (N ) := 

B A


B
B
Theorem (Hemmecke, Schultz, 2002)

A
A
.
.
.
B
.
.
If A and B are fixed matrices, then






.
max kvk1 : v ∈ G
A
N-fold 4-block




C D (N ) := 

B A



O O (N )
B A
∈ O (N ).
Theorem. (Hemmecke, Koeppe, Weismantel, 2009)
C
B
B
.
.
.
B
D
A
O
D
O
A
···
.
O
O
.
D
O
O
.
A









If A, B , C , D are fixed matrices, then
max kvk1 : v ∈ G
C D (N )
B A
is bounded by a polynomial in N.
()
15th July 2013
25 / 29
How Many Augmenting Steps are
necessary??
()
15th July 2013
26 / 29
Depends on the AUGMENTATION RULE!!
Augmentation algorithm
1
2
Geometric interpretation
Find a feasible solution z0 .
While z0 is not optimal, find t ∈ T and
α ∈ Z+ such that
max c>
z0 + αt is feasible and
f (z0 + αt) < f (z0 ).
(How to choose a pair α, t??)
3
Return z0 as optimal solution.
xstart
SOME OPTIONS FOR AUGMENTATION RULES:
Greedy: Choose best pair α, t.)
Best-cost: Choose t with minimum value c>t < 0.
Steepest-descent: Choose t with minimum value
()
c>t
ktk1
< 0.
15th July 2013
27 / 29
How many augmentation steps are needed?
Theorem (JDL, Feinhold, Hemmecke, Lee, 2013)
Using the steepest-descent rule, the number of augmentations steps can be
bounded in two ways:
Every Graver basis element is used at most once.
Number of augmentations steps is bounded by |G(A)|(independent of b, c,
and z0 )
Number of augmentation steps in ILP is also bounded by O (n γ log(n γM )),
where
c>(z0 − zmin ) 6 M
γ = maximum entry in any feasible (integer) solution.
n = number of variables
Corollary:
N-fold ILPs and LPs are strongly-polytime solvable
IPs and ILPs where M and γ are constant (e.g., the input matrix is totally
unimodular and variables are bounded by a constant K ) we have
strongly-polytime complexity too.
()
15th July 2013
28 / 29
How many augmentation steps are needed?
Theorem (JDL, Feinhold, Hemmecke, Lee, 2013)
Using the steepest-descent rule, the number of augmentations steps can be
bounded in two ways:
Every Graver basis element is used at most once.
Number of augmentations steps is bounded by |G(A)|(independent of b, c,
and z0 )
Number of augmentation steps in ILP is also bounded by O (n γ log(n γM )),
where
c>(z0 − zmin ) 6 M
γ = maximum entry in any feasible (integer) solution.
n = number of variables
Corollary:
N-fold ILPs and LPs are strongly-polytime solvable
IPs and ILPs where M and γ are constant (e.g., the input matrix is totally
unimodular and variables are bounded by a constant K ) we have
strongly-polytime complexity too.
()
15th July 2013
28 / 29
How many augmentation steps are needed?
Theorem (JDL, Feinhold, Hemmecke, Lee, 2013)
Using the steepest-descent rule, the number of augmentations steps can be
bounded in two ways:
Every Graver basis element is used at most once.
Number of augmentations steps is bounded by |G(A)|(independent of b, c,
and z0 )
Number of augmentation steps in ILP is also bounded by O (n γ log(n γM )),
where
c>(z0 − zmin ) 6 M
γ = maximum entry in any feasible (integer) solution.
n = number of variables
Corollary:
N-fold ILPs and LPs are strongly-polytime solvable
IPs and ILPs where M and γ are constant (e.g., the input matrix is totally
unimodular and variables are bounded by a constant K ) we have
strongly-polytime complexity too.
()
15th July 2013
28 / 29
How many augmentation steps are needed?
Theorem (JDL, Feinhold, Hemmecke, Lee, 2013)
Using the steepest-descent rule, the number of augmentations steps can be
bounded in two ways:
Every Graver basis element is used at most once.
Number of augmentations steps is bounded by |G(A)|(independent of b, c,
and z0 )
Number of augmentation steps in ILP is also bounded by O (n γ log(n γM )),
where
c>(z0 − zmin ) 6 M
γ = maximum entry in any feasible (integer) solution.
n = number of variables
Corollary:
N-fold ILPs and LPs are strongly-polytime solvable
IPs and ILPs where M and γ are constant (e.g., the input matrix is totally
unimodular and variables are bounded by a constant K ) we have
strongly-polytime complexity too.
()
15th July 2013
28 / 29
How many augmentation steps are needed?
Theorem (JDL, Feinhold, Hemmecke, Lee, 2013)
Using the steepest-descent rule, the number of augmentations steps can be
bounded in two ways:
Every Graver basis element is used at most once.
Number of augmentations steps is bounded by |G(A)|(independent of b, c,
and z0 )
Number of augmentation steps in ILP is also bounded by O (n γ log(n γM )),
where
c>(z0 − zmin ) 6 M
γ = maximum entry in any feasible (integer) solution.
n = number of variables
Corollary:
N-fold ILPs and LPs are strongly-polytime solvable
IPs and ILPs where M and γ are constant (e.g., the input matrix is totally
unimodular and variables are bounded by a constant K ) we have
strongly-polytime complexity too.
()
15th July 2013
28 / 29
Thank you
Danke
Merci
Gracias
()
15th July 2013
29 / 29