Integer Programming in Strongly Polynomial Oracle Time

50
Shmuel Onn Technion – Israel Institute of Technology http://ie.technion.ac.il/~onn Integer Programming in Strongly Polynomial Oracle Time joint work with Martin Koutecký and Asaf Levin, coming ICALP

Transcript of Integer Programming in Strongly Polynomial Oracle Time

Page 1: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Technion – Israel Institute of Technology

http://ie.technion.ac.il/~onn

Integer Programming inStrongly Polynomial Oracle Time

joint work with Martin Koutecký and Asaf Levin, coming ICALP

Page 2: Integer Programming in Strongly Polynomial Oracle Time

Integer Programming

Shmuel Onn

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 3: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

l,u: lower/upper bounds in Zn w: objective in Zn

A: integer m x n matrix b: right-hand side in Zm

Integer Programming

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 4: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

l,u: lower/upper bounds in Zn w: objective in Zn

A: integer m x n matrix b: right-hand side in Zm

The bit size of the data is denoted by [A,w,b,l,u]

Integer Programming

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 5: Integer Programming in Strongly Polynomial Oracle Time

Outline

The Strongly Polynomial Oracle Algorithm

Page 6: Integer Programming in Strongly Polynomial Oracle Time

Outline

The Strongly Polynomial Oracle Algorithm

Effective Realization of Oracles

Page 7: Integer Programming in Strongly Polynomial Oracle Time

Outline

The Strongly Polynomial Oracle Algorithm

Programs with Block Structure

Effective Realization of Oracles

Page 8: Integer Programming in Strongly Polynomial Oracle Time

Outline

The Strongly Polynomial Oracle Algorithm

Programs with Block Structure

Effective Realization of Oracles

Programs with Bounded Tree-Depth

Page 9: Integer Programming in Strongly Polynomial Oracle Time

The Strongly Polynomial Oracle Algorithm

Page 10: Integer Programming in Strongly Polynomial Oracle Time

:Background in my Book

Theory of Graver bases for integer programming

(and more)

Available electronically from my homepage

(with kind permission of EMS)

Page 11: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Graver Bases

x is conformal to y if xiyi ≥ 0 (same orthant) and |xi| ≤ |yi| for all i

The Graver basis of an integer matrix A is the finite set G(A) of conformal-minimal nonzero integer vectors x satisfying Ax = 0.

Page 12: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Graver-Best OracleLet x be a feasible point of the integer program

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 13: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Graver-Best OracleLet x be a feasible point of the integer program

A Graver-best step for x is a vector h such that x+h is feasibleand at least as good as any feasible x+cg with c in Z and g in G(A).

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 14: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Graver-Best OracleLet x be a feasible point of the integer program

A Graver-best step for x is a vector h such that x+h is feasibleand at least as good as any feasible x+cg with c in Z and g in G(A).

A Graver-best oracle for an integer matrix A is one that queriedon w,b,l,u and feasible x returns a Graver-best step h for x.

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 15: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Weakly Polynomial Solution

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Page 16: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

(Hemmecke, Onn, Weismantel and my book Theorem 3.12)

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Weakly Polynomial Solution

Page 17: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Weakly Polynomial Solution

The algorithm iteratively adds Graver-best steps till optimum is reached

(Hemmecke, Onn, Weismantel and my book Theorem 3.12)

Page 18: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Strongly Polynomial Solution

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Theorem 1: IP is solvable with Graver-best oracle for A in time poly(n[A])

Page 19: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

(our postdoc Koutecký, Levin, Onn, coming ICALP)

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Theorem 1: IP is solvable with Graver-best oracle for A in time poly(n[A])

Strongly Polynomial Solution

Page 20: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Talk Wednesday morning by Martin Koutecký:breakthroughs in computational social choice

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

Theorem 1: IP is solvable with Graver-best oracle for A in time poly(n[A])

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Strongly Polynomial Solution

Page 21: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Lemma: IP is solvable with Graver-best oracle for A in time O(n [A,w,b,l,u])

Theorem 1: IP is solvable with Graver-best oracle for A in time poly(n[A])

IP: max { wx : Ax = b, l ≤ x ≤ u, x in Zn }

Strongly Polynomial Solution

1. Solve the LP-relaxation and get real optimal y* (Tardos)

Proof:

2. By proximity lemma (HS,HKW) can search for integer optimal]A] polynomial in [u,l,bwith [u ,l,bto y* and reduce data to closex*

) Tardos-Frank] (A] polynomial in [wwith [w. Reduce data to 3

])A[n])=poly(u,l,b,wA,[nto solve the reduced program in O(lemma. Use 4

Page 22: Integer Programming in Strongly Polynomial Oracle Time

Effective Realization

of

Graver-Best Oracles

Page 23: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Realization of Graver-Best Oracles

The primal graph of A has columns as vertices and two columnsform an edge if some row has nonzero entries in both columns.

Page 24: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Realization of Graver-Best Oracles

The primal graph of A has columns as vertices and two columnsform an edge if some row has nonzero entries in both columns.

The dual graph of A is the primal graph of its transpose AT

Page 25: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Realization of Graver-Best Oracles

The primal graph of A has columns as vertices and two columnsform an edge if some row has nonzero entries in both columns.

The dual graph of A is the primal graph of its transpose AT

Primal Lemma (KLO): If the primal graph of A has bounded tree-width and

.is bounded then get an effective Graver-best oracle for A by DP

Page 26: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Realization of Graver-Best Oracles

The primal graph of A has columns as vertices and two columnsform an edge if some row has nonzero entries in both columns.

The dual graph of A is the primal graph of its transpose AT

Primal Lemma (KLO): If the primal graph of A has bounded tree-width and

.is bounded then get an effective Graver-best oracle for A by DP

Dual Lemma (KLO): If the dual graph of A has bounded tree-width and

.is bounded then get an effective Graver-best oracle for A by DP

Page 27: Integer Programming in Strongly Polynomial Oracle Time

Programs with

Block Structure

Page 28: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

N-Fold Integer Programming

A =

n

The n-fold product of rxt block A1 and sxt block A2 is

Page 29: Integer Programming in Strongly Polynomial Oracle Time

max {wx : Ax = b, l ≤ x ≤ u, x in Znt}.

Parameterization of N-Fold IP

Consider n-fold integer programming over r x t block A1 and s xt block A2

A =

n

Shmuel Onn

Page 30: Integer Programming in Strongly Polynomial Oracle Time

Parameterization of N-Fold IP

Shmuel Onn

max {wx : Ax = b, l ≤ x ≤ u, x in Znt}.

A =

n

The parameters are r,s,t,a=max A

Consider n-fold integer programming over r x t block A1 and s xt block A2

Page 31: Integer Programming in Strongly Polynomial Oracle Time

The input is n and the bit size [w,b,l,u]

Parameterization of N-Fold IP

Shmuel Onn

The parameters are r,s,t,a=max A

max {wx : Ax = b, l ≤ x ≤ u, x in Znt}.

A =

n

Consider n-fold integer programming over r x t block A1 and s xt block A2

Page 32: Integer Programming in Strongly Polynomial Oracle Time

Complexity of N-Fold Integer Programming

-- Polynomial time nf(r,s,t,a)[w,b,l,u] (De Loera, Hemmecke, Onn, Weismantel)

Shmuel Onn

Page 33: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Complexity of N-Fold Integer Programming

-- Polynomial time nf(r,s,t,a)[w,b,l,u] (De Loera, Hemmecke, Onn, Weismantel)

-- Parameter tractable f(r,s,t,a)n3[w,b,l,u] (Hemmecke, Onn, Romanchuk)

Led to several recent breakthroughs in the theory of parameterized complexity

Page 34: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Complexity of N-Fold Integer Programming

-- Strongly polynomial nf(r,s,t,a) (De Loera, Hemmecke, Lee)

-- Polynomial time nf(r,s,t,a)[w,b,l,u] (De Loera, Hemmecke, Onn, Weismantel)

-- Parameter tractable f(r,s,t,a)n3[w,b,l,u] (Hemmecke, Onn, Romanchuk)

Page 35: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Complexity of N-Fold Integer Programming

Theorem 2 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,s,a) poly(n,t)

-- Strongly polynomial nf(r,s,t,a) (De Loera, Hemmecke, Lee)

-- Polynomial time nf(r,s,t,a)[w,b,l,u] (De Loera, Hemmecke, Onn, Weismantel)

-- Parameter tractable f(r,s,t,a)n3[w,b,l,u] (Hemmecke, Onn, Romanchuk)

Page 36: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Complexity of N-Fold Integer Programming

Theorem 2 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,s,a) poly(n,t)

-- Strongly polynomial nf(r,s,t,a) (De Loera, Hemmecke, Lee)

-- Polynomial time nf(r,s,t,a)[w,b,l,u] (De Loera, Hemmecke, Onn, Weismantel)

-- Parameter tractable f(r,s,t,a)n3[w,b,l,u] (Hemmecke, Onn, Romanchuk)

Proof: Use dual lemma to get parameter tractable Graver-best oracle

and use Theorem 1 to get parameter tractable strongly polynomial time.

Page 37: Integer Programming in Strongly Polynomial Oracle Time

Shmuel Onn

Optimization over l X m X n tables with given line sums:

Corollary: Parameter tractable and strongly polynomial f(l,m) poly(n)

Example - Multiway Tables

1

1

0

33

0

2 0

14

50

86

9

n

Page 38: Integer Programming in Strongly Polynomial Oracle Time

Tree-Fold Integer Programming(Chen, Marx, SODA 2018): Tree-fold integer programs have a matrix with several blocks in tree structure, parameterized by si,t,a=max A

Shmuel Onn

Page 39: Integer Programming in Strongly Polynomial Oracle Time

Tree-Fold Integer Programming

Theorem 3 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,si,a) poly(n,t)

Shmuel Onn

Page 40: Integer Programming in Strongly Polynomial Oracle Time

Tree-Fold Integer Programming

Theorem 3 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,si,a) poly(n,t)

Proof: Use dual lemma to get parameter tractable Graver-best oracle

and use Theorem 1 to get parameter tractable strongly polynomial time.

Shmuel Onn

Page 41: Integer Programming in Strongly Polynomial Oracle Time

Tree-Fold Integer Programming

Improves on Chen, Marx, SODA 2018 - strongly polynomial and t variable

Theorem 3 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,si,a) poly(n,t)

Shmuel Onn

Proof: Use dual lemma to get parameter tractable Graver-best oracle

and use Theorem 1 to get parameter tractable strongly polynomial time.

Page 42: Integer Programming in Strongly Polynomial Oracle Time

Multistage Stochastic Integer ProgrammingThese programs have a matrix the transpose AT of a tree-fold matrix with several blocks in tree structure, parameterized by si,t,a=max Ai

Shmuel Onn

Page 43: Integer Programming in Strongly Polynomial Oracle Time

Multistage Stochastic Integer Programming

Theorem 4 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,si,a) poly(n,t)

Shmuel Onn

Page 44: Integer Programming in Strongly Polynomial Oracle Time

Multistage Stochastic Integer Programming

Theorem 4 (Koutecký, Levin, Onn) :

Parameter tractable and strongly polynomial f(r,si,a) poly(n,t)

Proof: Use primal lemma to get parameter tractable Graver-best oracle

and use Theorem 1 to get parameter tractable strongly polynomial time.

Shmuel Onn

Page 45: Integer Programming in Strongly Polynomial Oracle Time

Programs with

Bounded Tree-Depth

Page 46: Integer Programming in Strongly Polynomial Oracle Time

Programs with Bounded Tree-Depth

Theorem 5 (Koutecký, Levin, Onn) :Integer programs with matrix A parameterized by a=max Aand by the tree-depth d of the dual graph of A can be solved in parameter tractable and strongly polynomial time f(a,d) poly(n)

Shmuel Onn

Page 47: Integer Programming in Strongly Polynomial Oracle Time

Programs with Bounded Tree-Depth

Proof: Embed such programs in tree-fold programs and use Theorem 3

Shmuel Onn

Theorem 5 (Koutecký, Levin, Onn) :Integer programs with matrix A parameterized by a=max Aand by the tree-depth d of the dual graph of A can be solved in parameter tractable and strongly polynomial time f(a,d) poly(n)

Page 48: Integer Programming in Strongly Polynomial Oracle Time

Theorem 6 (Koutecký, Levin, Onn) :Integer programs with matrix A parameterized by a=max Aand by the tree-depth d of the primal graph of A can be solved in parameter tractable and strongly polynomial time f(a,d) poly(n)

Programs with Bounded Tree-Depth

Proof: Embed such programs in tree-fold programs and use Theorem 3

Shmuel Onn

Theorem 5 (Koutecký, Levin, Onn) :Integer programs with matrix A parameterized by a=max Aand by the tree-depth d of the dual graph of A can be solved in parameter tractable and strongly polynomial time f(a,d) poly(n)

Page 49: Integer Programming in Strongly Polynomial Oracle Time

Proof: Embed them in multistage stochastic programs and use Theorem 4

Programs with Bounded Tree-Depth

Proof: Embed such programs in tree-fold programs and use Theorem 3

Shmuel Onn

Theorem 5 (Koutecký, Levin, Onn) :Integer programs with matrix A parameterized by a=max Aand by the tree-depth d of the dual graph of A can be solved in parameter tractable and strongly polynomial time f(a,d) poly(n)

Theorem 6 (Koutecký, Levin, Onn) :Integer programs with matrix A parameterized by a=max Aand by the tree-depth d of the primal graph of A can be solved in parameter tractable and strongly polynomial time f(a,d) poly(n)

Page 50: Integer Programming in Strongly Polynomial Oracle Time

also available at http://ie.technion.ac.il/~onn

Martin Koutecký, Asaf Levin, Shmuel Onn, coming ICALP

A Parameterized Strongly Polynomial Algorithmfor Block Structured Integer Programs

Reference: