On the Shadow Simplex Method for Curved
Polyhedra
Daniel Dadush1
1 Centrum
Nicolai Hähnle2
Wiskunde & Informatica (CWI)
2 Bonn
Universität
Outline
1
Introduction
Linear Programming and its Applications
The Simplex Method
Results
2
The Shadow Simplex Method
The Normal Fan
Primal and Dual Perspectives
3
Well-conditioned Polytopes
τ-wide Polyhedra
δ-distance Property
4
Diameter and Optimization
3-step Shadow Simplex Path
Bounding Surface Area Measures of the Normal Fan
Finding an Optimal Facet
D. Dadush, N. Hähnle
Shadow Simplex
2 / 34
Outline
1
Introduction
Linear Programming and its Applications
The Simplex Method
Results
2
The Shadow Simplex Method
The Normal Fan
Primal and Dual Perspectives
3
Well-conditioned Polytopes
τ-wide Polyhedra
δ-distance Property
4
Diameter and Optimization
3-step Shadow Simplex Path
Bounding Surface Area Measures of the Normal Fan
Finding an Optimal Facet
D. Dadush, N. Hähnle
Shadow Simplex
3 / 34
Linear and Integer Programming
Linear Programming (LP): linear constraints & linear objective with
continuous variables.
max c T x
subject to Ax ≤ b,
D. Dadush, N. Hähnle
Shadow Simplex
x ∈ Rn
4 / 34
Linear and Integer Programming
Linear Programming (LP): linear constraints & linear objective with
continuous variables.
max c T x
subject to Ax ≤ b,
x ∈ Rn
Amazingly versatile modeling language.
Generally provides a “relaxed” view of a desired optimization
problem, but can be solved in polynomial time via interior point
(and many other) methods!
D. Dadush, N. Hähnle
Shadow Simplex
4 / 34
Linear and Integer Programming
Linear Programming (LP): linear constraints & linear objective with
continuous variables.
max c T x
subject to Ax ≤ b,
x ∈ Rn
Amazingly versatile modeling language.
Generally provides a “relaxed” view of a desired optimization
problem, but can be solved in polynomial time via interior point
(and many other) methods!
Will focus on one of the most used classes of algorithms for LP:
the Simplex Method (not a polytime algorithm!).
D. Dadush, N. Hähnle
Shadow Simplex
4 / 34
Linear and Integer Programming
Mixed Integer Programming (MIP): models both continuous and
discrete choices.
max c T x + d T y
subject to Ax + Cy ≤ b,
D. Dadush, N. Hähnle
Shadow Simplex
x ∈ Rn1 , y ∈ Zn2
4 / 34
Linear and Integer Programming
Mixed Integer Programming (MIP): models both continuous and
discrete choices.
max c T x + d T y
subject to Ax + Cy ≤ b,
x ∈ Rn1 , y ∈ Zn2
One of the most successful modeling language for many real
world applications. While instances can be extremely hard to
solve (MIP is NP-hard), many practical instances are not.
D. Dadush, N. Hähnle
Shadow Simplex
4 / 34
Linear and Integer Programming
Mixed Integer Programming (MIP): models both continuous and
discrete choices.
max c T x + d T y
subject to Ax + Cy ≤ b,
x ∈ Rn1 , y ∈ Zn2
One of the most successful modeling language for many real
world applications. While instances can be extremely hard to
solve (MIP is NP-hard), many practical instances are not.
Many sophisticated software packages exist for these models
(CPLEX, Gurobi, etc.). MIP solving is now considered a mature
and practical technology.
D. Dadush, N. Hähnle
Shadow Simplex
4 / 34
Sample Applications
Routing delivery / pickup trucks for customers.
D. Dadush, N. Hähnle
Shadow Simplex
5 / 34
Sample Applications
Optimizing supply chain logistics.
D. Dadush, N. Hähnle
Shadow Simplex
5 / 34
Standard Framework for Solving MIPs
Relax integrality of the variables.
D. Dadush, N. Hähnle
Shadow Simplex
6 / 34
Standard Framework for Solving MIPs
Relax integrality of the variables.
max c T x + d T y
subject to Ax + Cy ≤ b,
D. Dadush, N. Hähnle
Shadow Simplex
x ∈ Rn1 , y ∈ Zn2
6 / 34
Standard Framework for Solving MIPs
Relax integrality of the variables.
max c T x + d T y
subject to Ax + Cy ≤ b,
D. Dadush, N. Hähnle
Shadow Simplex
x ∈ Rn1 , y ∈ Rn2
6 / 34
Standard Framework for Solving MIPs
Relax integrality of the variables.
max c T x + d T y
subject to Ax + Cy ≤ b,
x ∈ Rn1 , y ∈ Rn2
Solve the LP.
D. Dadush, N. Hähnle
Shadow Simplex
6 / 34
Standard Framework for Solving MIPs
Relax integrality of the variables.
max c T x + d T y
subject to Ax + Cy ≤ b,
x ∈ Rn1 , y ∈ Rn2
Solve the LP.
Add extra constraints to tighten the LP or “guess” the values of
some of the integer variables. Repeat.
D. Dadush, N. Hähnle
Shadow Simplex
6 / 34
Standard Framework for Solving MIPs
Relax integrality of the variables.
max c T x + d T y
subject to Ax + Cy ≤ b,
x ∈ Rn1 , y ∈ Rn2
Solve the LP.
Add extra constraints to tighten the LP or “guess” the values of
some of the integer variables. Repeat.
Need to solve a lot of LPs quickly.
D. Dadush, N. Hähnle
Shadow Simplex
6 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
P
D. Dadush, N. Hähnle
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
v1
c
P
D. Dadush, N. Hähnle
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
v2
c
P
D. Dadush, N. Hähnle
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
v3
D. Dadush, N. Hähnle
c
P
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
P
v4
D. Dadush, N. Hähnle
c
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
P
v5
c
D. Dadush, N. Hähnle
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
P
v6
c
D. Dadush, N. Hähnle
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
P
v7
c
D. Dadush, N. Hähnle
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max
cT x
subject to Ax ≤ b,
x ∈ Rn
Simplex Method: move from vertex to vertex along the graph of P
until the optimal solution is found.
P
v8
D. Dadush, N. Hähnle
c
Shadow Simplex
7 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Question
Why simplex?
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Question
Why simplex?
Simplex pivots implementable using “simple” linear algebra.
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Question
Why simplex?
Simplex pivots implementable using “simple” linear algebra.
Vertex solutions are often “nice” (e.g. sparse, easy to interpret).
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Question
Why simplex?
Simplex pivots implementable using “simple” linear algebra.
Vertex solutions are often “nice” (e.g. sparse, easy to interpret).
Terminates with combinatorial description of an optimal solution.
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Question
Why simplex?
Simplex pivots implementable using “simple” linear algebra.
Vertex solutions are often “nice” (e.g. sparse, easy to interpret).
Terminates with combinatorial description of an optimal solution.
“Easy” to reoptimize when adding an extra variable (dual to adding
a constraint).
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Problem
No known pivot rule is proven to converge in polynomial time!!!
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Problem
No known pivot rule is proven to converge in polynomial time!!!
Simplex lower bounds:
Klee-Minty (1972): designed “deformed cubes”, providing worst
case examples for many pivot rules.
Friedmann et al. (2011): systematically designed bad examples
using Markov decision processes.
In these examples, the pivot rule is tricked into taking an
(sub)exponentially long path, even though short paths exists.
D. Dadush, N. Hähnle
Shadow Simplex
8 / 34
Linear Programming via the Simplex Method
max c T x
subject to Ax ≤ b,
P
x ∈R
n
A has n columns, m rows.
Problem
No known pivot rule is proven to converge in polynomial time!!!
Simplex upper bounds:
Kalai (1992): Random facet rule requires 2O (
expectation.
D. Dadush, N. Hähnle
Shadow Simplex
√
n log m )
pivots on
8 / 34
Linear Programming and the Hirsch Conjecture
P = {x ∈ Rn : Ax ≤ b },
P
m ×n
A∈R
P lives in Rn (ambient dimension is n) and has m constraints.
D. Dadush, N. Hähnle
Shadow Simplex
9 / 34
Linear Programming and the Hirsch Conjecture
P = {x ∈ Rn : Ax ≤ b },
P
m ×n
A∈R
P lives in Rn (ambient dimension is n) and has m constraints.
Besides the computational efficiency of the simplex method, an even
more basic question is not understood:
Question
How can we bound the length of paths on the graph of P? I.e. how to
bound the diameter of P?
D. Dadush, N. Hähnle
Shadow Simplex
9 / 34
Linear Programming and the Hirsch Conjecture
P = {x ∈ Rn : Ax ≤ b },
P
m ×n
A∈R
P lives in Rn (ambient dimension is n) and has m constraints.
Conjecture (Polynomial Hirsch Conjecture)
The diameter of P is bounded by a polynomial in the dimension n and
number of constraints m.
D. Dadush, N. Hähnle
Shadow Simplex
9 / 34
Linear Programming and the Hirsch Conjecture
P = {x ∈ Rn : Ax ≤ b },
P
m ×n
A∈R
P lives in Rn (ambient dimension is n) and has m constraints.
Conjecture (Polynomial Hirsch Conjecture)
The diameter of P is bounded by a polynomial in the dimension n and
number of constraints m.
Diameter lower bounds:
Santos (2010), Matschke-Santos-Weibel (2012):
Disproved original Hirsch conjecture bound of m − n,
exhibit polytopes with diameter (1 + ε)m (for some small ε > 0).
D. Dadush, N. Hähnle
Shadow Simplex
9 / 34
Linear Programming and the Hirsch Conjecture
P = {x ∈ Rn : Ax ≤ b },
P
m ×n
A∈R
P lives in Rn (ambient dimension is n) and has m constraints.
Conjecture (Polynomial Hirsch Conjecture)
The diameter of P is bounded by a polynomial in the dimension n and
number of constraints m.
Diameter upper bounds:
Barnette, Larman (1974): 13 2n−2 (m − n + 52 ).
Kalai, Kleitman (1992), Todd (2014): (m − n)log n .
D. Dadush, N. Hähnle
Shadow Simplex
9 / 34
Special Cases
P = {x ∈ Rn : Ax ≤ b }, A ∈ Qm×n
Upper bounds for combinatorial classes:
0/1-polytopes: m − n (Naddef 1989)
flow polytopes: quadratic (Orlin 1997)
transportation polytopes: linear (Brightwell, v.d. Heuvel and
Stougie 2006)
polars of flag polytopes: m − n (Adripasito, Benedetti 2014)
D. Dadush, N. Hähnle
Shadow Simplex
10 / 34
Special Cases
P = {x ∈ Rn : Ax ≤ b }, A ∈ Qm×n
Upper bounds for well-conditioned constraint matrices:
Dyer, Frieze (1994):
If A is totally unimodular, diameter is O (m16 n3 log(mn)3 ).
D. Dadush, N. Hähnle
Shadow Simplex
11 / 34
Special Cases
P = {x ∈ Rn : Ax ≤ b }, A ∈ Qm×n
Upper bounds for well-conditioned constraint matrices:
Dyer, Frieze (1994):
If A is totally unimodular, diameter is O (m16 n3 log(mn)3 ).
I
Analyze a random walk based simplex. They solve LP in similar
runtime.
D. Dadush, N. Hähnle
Shadow Simplex
11 / 34
Special Cases
P = {x ∈ Rn : Ax ≤ b }, A ∈ Qm×n
Upper bounds for well-conditioned constraint matrices:
Dyer, Frieze (1994):
If A is totally unimodular, diameter is O (m16 n3 log(mn)3 ).
I
Analyze a random walk based simplex. They solve LP in similar
runtime.
Bonifas, Di Summa, Eisenbrand, Hähnle, Niemeier (2012):
If A integer matrix and all subdeterminants ≤ ∆, diameter is
O (n3.5 ∆2 log n∆).
D. Dadush, N. Hähnle
Shadow Simplex
11 / 34
Special Cases
P = {x ∈ Rn : Ax ≤ b }, A ∈ Qm×n
Upper bounds for well-conditioned constraint matrices:
Dyer, Frieze (1994):
If A is totally unimodular, diameter is O (m16 n3 log(mn)3 ).
I
Analyze a random walk based simplex. They solve LP in similar
runtime.
Bonifas, Di Summa, Eisenbrand, Hähnle, Niemeier (2012):
If A integer matrix and all subdeterminants ≤ ∆, diameter is
O (n3.5 ∆2 log n∆).
I
Use volume expansion on the normal fan (non-constructive!).
D. Dadush, N. Hähnle
Shadow Simplex
11 / 34
Simplex Algorithms
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Question
Can the diameter bound of Bonifas et al bounds be made
constructive? How fast can we solve LP in this setting?
D. Dadush, N. Hähnle
Shadow Simplex
12 / 34
Simplex Algorithms
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Question
Can the diameter bound of Bonifas et al bounds be made
constructive? How fast can we solve LP in this setting?
Brunsch, Röglin (2013):
Given two vertices can find a path of length O (mn3 ∆4 ) efficiently.
D. Dadush, N. Hähnle
Shadow Simplex
12 / 34
Simplex Algorithms
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Question
Can the diameter bound of Bonifas et al bounds be made
constructive? How fast can we solve LP in this setting?
Brunsch, Röglin (2013):
Given two vertices can find a path of length O (mn3 ∆4 ) efficiently.
I
Use shadow simplex method, inspired by smoothed analysis.
D. Dadush, N. Hähnle
Shadow Simplex
12 / 34
Simplex Algorithms
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Question
Can the diameter bound of Bonifas et al bounds be made
constructive? How fast can we solve LP in this setting?
Brunsch, Röglin (2013):
Given two vertices can find a path of length O (mn3 ∆4 ) efficiently.
I
Use shadow simplex method, inspired by smoothed analysis.
Eisenbrand, Vempala (2014):
Given an initial vertex and objective, can optimize using poly(n, ∆)
simplex pivots. Initial feasible vertex using m poly(n, ∆) pivots.
D. Dadush, N. Hähnle
Shadow Simplex
12 / 34
Simplex Algorithms
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Question
Can the diameter bound of Bonifas et al bounds be made
constructive? How fast can we solve LP in this setting?
Brunsch, Röglin (2013):
Given two vertices can find a path of length O (mn3 ∆4 ) efficiently.
I
Use shadow simplex method, inspired by smoothed analysis.
Eisenbrand, Vempala (2014):
Given an initial vertex and objective, can optimize using poly(n, ∆)
simplex pivots. Initial feasible vertex using m poly(n, ∆) pivots.
I
Use random walk based dual simplex, similar to Dyer and Frieze.
D. Dadush, N. Hähnle
Shadow Simplex
12 / 34
Simplex Algorithms
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Question
Can the diameter bound of Bonifas et al bounds be made
constructive? How fast can we solve LP in this setting?
Brunsch, Röglin (2013):
Given two vertices can find a path of length O (mn3 ∆4 ) efficiently.
I
Use shadow simplex method, inspired by smoothed analysis.
Eisenbrand, Vempala (2014):
Given an initial vertex and objective, can optimize using poly(n, ∆)
simplex pivots. Initial feasible vertex using m poly(n, ∆) pivots.
I
Use random walk based dual simplex, similar to Dyer and Frieze.
All the above results hold with respect to more general conditions
on P (more details later).
D. Dadush, N. Hähnle
Shadow Simplex
12 / 34
A Faster Shadow Simplex Method
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Theorem (D., Hähnle 2014+)
Diameter is bounded by O (n3 ∆2 ln(n∆)).
D. Dadush, N. Hähnle
Shadow Simplex
13 / 34
A Faster Shadow Simplex Method
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Theorem (D., Hähnle 2014+)
Diameter is bounded by O (n3 ∆2 ln(n∆)).
Given an initial vertex and objective, can compute optimal vertex
using at most O (n4 ∆2 ln(n∆)) pivots on expectation.
D. Dadush, N. Hähnle
Shadow Simplex
13 / 34
A Faster Shadow Simplex Method
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Theorem (D., Hähnle 2014+)
Diameter is bounded by O (n3 ∆2 ln(n∆)).
Given an initial vertex and objective, can compute optimal vertex
using at most O (n4 ∆2 ln(n∆)) pivots on expectation.
Can compute an initial feasible vertex using O (n5 ∆2 ln(n∆)) pivots
on expectation.
D. Dadush, N. Hähnle
Shadow Simplex
13 / 34
A Faster Shadow Simplex Method
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Theorem (D., Hähnle 2014+)
Diameter is bounded by O (n3 ∆2 ln(n∆)).
Given an initial vertex and objective, can compute optimal vertex
using at most O (n4 ∆2 ln(n∆)) pivots on expectation.
Can compute an initial feasible vertex using O (n5 ∆2 ln(n∆)) pivots
on expectation.
Pivots require O (mn) arithmetic operations.
D. Dadush, N. Hähnle
Shadow Simplex
13 / 34
A Faster Shadow Simplex Method
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Theorem (D., Hähnle 2014+)
Diameter is bounded by O (n3 ∆2 ln(n∆)).
Given an initial vertex and objective, can compute optimal vertex
using at most O (n4 ∆2 ln(n∆)) pivots on expectation.
Can compute an initial feasible vertex using O (n5 ∆2 ln(n∆)) pivots
on expectation.
Pivots require O (mn) arithmetic operations.
Based on a new analysis and variant of the shadow simplex method.
D. Dadush, N. Hähnle
Shadow Simplex
13 / 34
A Faster Shadow Simplex Method
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n
Subdeterminants of A bounded by ∆.
Theorem (D., Hähnle 2014+)
Diameter is bounded by O (n3 ∆2 ln(n∆)).
Given an initial vertex and objective, can compute optimal vertex
using at most O (n4 ∆2 ln(n∆)) pivots on expectation.
Can compute an initial feasible vertex using O (n5 ∆2 ln(n∆)) pivots
on expectation.
Pivots require O (mn) arithmetic operations.
Based on a new analysis and variant of the shadow simplex method.
Inspired by path finding algorithm over the Voronoi graph of a lattice by
Bonifas, D. (2014) used for solving the Closest Vector Problem.
D. Dadush, N. Hähnle
Shadow Simplex
13 / 34
Navigation over the Voronoi Graph
y
t
Z +t
x
Z
Figure: Randomized Straight Line algorithm
Closest Vector Problem (CVP): Find closest lattice vector y to t.
D. Dadush, N. Hähnle
Shadow Simplex
14 / 34
Navigation over the Voronoi Graph
y
t
Z +t
x
Z
Figure: Randomized Straight Line algorithm
Closest Vector Problem (CVP): Find closest lattice vector y to t.
Solving CVP can be reduced to efficiently navigating over the
Voronoi cell (Som.,Fed.,Shal. 09; Mic.,Voulg. 10-13).
D. Dadush, N. Hähnle
Shadow Simplex
14 / 34
Navigation over the Voronoi Graph
y
t
Z +t
x
Z
Figure: Randomized Straight Line algorithm
Closest Vector Problem (CVP): Find closest lattice vector y to t.
Can move between “nearby” lattice points using a polynomial
number of steps (Bonifas, D. 14).
D. Dadush, N. Hähnle
Shadow Simplex
14 / 34
Outline
1
Introduction
Linear Programming and its Applications
The Simplex Method
Results
2
The Shadow Simplex Method
The Normal Fan
Primal and Dual Perspectives
3
Well-conditioned Polytopes
τ-wide Polyhedra
δ-distance Property
4
Diameter and Optimization
3-step Shadow Simplex Path
Bounding Surface Area Measures of the Normal Fan
Finding an Optimal Facet
D. Dadush, N. Hähnle
Shadow Simplex
15 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
I k-face of P ∼
= (n − k − 1)-face of P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
I k-face of P ∼
= (n − k − 1)-face of P ?
I vertex-edge path in P ∼
= facet-ridge path in P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
I k-face of P ∼
= (n − k − 1)-face of P ?
I vertex-edge path in P ∼
= facet-ridge path in P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
I k-face of P ∼
= (n − k − 1)-face of P ?
I vertex-edge path in P ∼
= facet-ridge path in P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Polar
Polytope P = {x ∈ Rn : Ax ≤ b } with 0 ∈ int (P )
Polar: P ? = {y ∈ Rn : y T x ≤ 1 ∀x ∈ P }
Face lattice is reversed:
I vertex of P ∼
= facet of P ?
I k-face of P ∼
= (n − k − 1)-face of P ?
I vertex-edge path in P ∼
= facet-ridge path in P ?
D. Dadush, N. Hähnle
Shadow Simplex
16 / 34
The Normal Fan
Same combinatorics as the polar, but expressed using cones.
N1
N3
v1
v3
N2
v2
D. Dadush, N. Hähnle
N3
P
v4
N1
N2 N4
N4
Shadow Simplex
17 / 34
The Normal Fan
Same combinatorics as the polar, but expressed using cones.
P nondegenerate, i.e. each vertex v ∈ P has exactly n tight facets.
N1
N3
v1
v3
N2
v2
D. Dadush, N. Hähnle
N3
P
v4
N1
N2 N4
N4
Shadow Simplex
17 / 34
The Normal Fan
Same combinatorics as the polar, but expressed using cones.
P nondegenerate, i.e. each vertex v ∈ P has exactly n tight facets.
Normal cone Nv : Cone defined by normal vectors of these facets,
equivalently all objectives maximized at v .
N1
N3
v1
v3
N2
v2
D. Dadush, N. Hähnle
N3
P
v4
N1
N2 N4
N4
Shadow Simplex
17 / 34
The Normal Fan
Same combinatorics as the polar, but expressed using cones.
P nondegenerate, i.e. each vertex v ∈ P has exactly n tight facets.
Normal cone Nv : Cone defined by normal vectors of these facets,
equivalently all objectives maximized at v .
Normal fan: Set of all normal cones.
N1
N3
v1
v3
N2
v2
D. Dadush, N. Hähnle
N3
P
v4
N1
N2 N4
N4
Shadow Simplex
17 / 34
The Shadow Simplex Method
v2
v1
d
v20
c
v10
D. Dadush, N. Hähnle
Shadow Simplex
18 / 34
The Shadow Simplex Method
Shadow simplex from v1 to v2
I
I
v2
v1
d
v20
c
v10
D. Dadush, N. Hähnle
Pick c optimizing v1 .
Find optima wrt (1 − λ)c + λd until λ = 1.
Shadow Simplex
18 / 34
The Shadow Simplex Method
Shadow simplex from v1 to v2
I
I
Pick c optimizing v1 .
Find optima wrt (1 − λ)c + λd until λ = 1.
“Primal” interpretation
I
v2
v1
d
v20
c
v10
D. Dadush, N. Hähnle
I
Project P to span of c and d.
Optima wrt (1 − λ)c + λd are pre-images of
optima in the plane.
Shadow Simplex
18 / 34
The Shadow Simplex Method
Shadow simplex from v1 to v2
I
I
Pick c optimizing v1 .
Find optima wrt (1 − λ)c + λd until λ = 1.
“Primal” interpretation
I
v2
v1
I
Project P to span of c and d.
Optima wrt (1 − λ)c + λd are pre-images of
optima in the plane.
“Dual” interpretation
I Trace segment [c, d ] through normal fan.
I
d
v20
c
v10
D. Dadush, N. Hähnle
Pivot step corresponds to crossing facet of a
normal cone.
Shadow Simplex
18 / 34
Size of the shadow: randomness to the rescue
Question
When can we bound the number of edges in the shadow?
In general, the shadow can be exponentially large.
D. Dadush, N. Hähnle
Shadow Simplex
19 / 34
Size of the shadow: randomness to the rescue
Question
When can we bound the number of edges in the shadow?
In general, the shadow can be exponentially large.
Borgwardt (1980s), Spielman-Teng (2004), Vershynin (2006): the
shadow is small in expectation when the linear program is random
or smoothed.
D. Dadush, N. Hähnle
Shadow Simplex
19 / 34
Size of the shadow: randomness to the rescue
Question
When can we bound the number of edges in the shadow?
In general, the shadow can be exponentially large.
Borgwardt (1980s), Spielman-Teng (2004), Vershynin (2006): the
shadow is small in expectation when the linear program is random
or smoothed.
Brunsch-Röglin (2013): the shadow is small in expectation for
“well-conditioned” polytopes when c, d are randomly chosen from
the normal cones of two vertices.
D. Dadush, N. Hähnle
Shadow Simplex
19 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
c
v1
v3
v2
P
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
c
v1
v3
v2
P
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
d1
c
v1
v3
v2
d1
P
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
d1
v3
v2
c
v1
d1
P
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
d2
d1
v3
v2
c
v1
d2
P
d1
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
c
v1
v3
d2
v2
d2
P
d1
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
c
v1
v3
d2
v2
d2
P
d
v4
d
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Shadow Simplex: Dual Perspective
Move from v1 to v2 by following [c, d ] through the normal fan.
Pivot step corresponds to crossing facet of normal cone.
c
c
v1
v3
v2
P
d
v4
d
Question
How can we bound the number of intersections with the normal fan?
D. Dadush, N. Hähnle
Shadow Simplex
20 / 34
Outline
1
Introduction
Linear Programming and its Applications
The Simplex Method
Results
2
The Shadow Simplex Method
The Normal Fan
Primal and Dual Perspectives
3
Well-conditioned Polytopes
τ-wide Polyhedra
δ-distance Property
4
Diameter and Optimization
3-step Shadow Simplex Path
Bounding Surface Area Measures of the Normal Fan
Finding an Optimal Facet
D. Dadush, N. Hähnle
Shadow Simplex
21 / 34
Polyhedra with τ-wide Normal Fan
Vertex normal cone Nv is τ-wide:
contains a ball of radius τ centered
on the unit sphere.
a2
Nv
a1
a3
D. Dadush, N. Hähnle
Shadow Simplex
22 / 34
Polyhedra with τ-wide Normal Fan
Vertex normal cone Nv is τ-wide:
contains a ball of radius τ centered
on the unit sphere.
a2
Nv τ
a1
a3
D. Dadush, N. Hähnle
Shadow Simplex
22 / 34
Polyhedra with τ-wide Normal Fan
Vertex normal cone Nv is τ-wide:
contains a ball of radius τ centered
on the unit sphere.
a2
P is τ-wide if all its vertex normal
cones are τ-wide.
Nv τ
a1
a3
D. Dadush, N. Hähnle
Shadow Simplex
22 / 34
Polyhedra with τ-wide Normal Fan
Vertex normal cone Nv is τ-wide:
contains a ball of radius τ centered
on the unit sphere.
a2
Angles at any vertex are less than
π − 2τ. “Discrete measure” of
curvature.
Nv τ
a1
a3
N1
N3
v1
v3
N2
v2
D. Dadush, N. Hähnle
P
v4
N4
Shadow Simplex
22 / 34
Polyhedra with τ-wide Normal Fan
a2
Nv τ
a1
a3
D. Dadush, N. Hähnle
Shadow Simplex
23 / 34
Polyhedra with τ-wide Normal Fan
a2
Nv τ
a1
a3
Lemma
P = {x ∈ Rn : Ax ≤ b }, A ∈ Zm×n , subdeterminants bounded by ∆.
Then P is τ-wide for τ = 1/(n∆)2 .
D. Dadush, N. Hähnle
Shadow Simplex
23 / 34
Polyhedra with τ-wide Normal Fan
a2
Nv τ
a1
a3
Theorem (D.-Hähnle 2014+)
If P an n-dimensional polyhedron with a τ-wide normal fan, then
diameter of P is O (n/τ ln(1/τ )).
D. Dadush, N. Hähnle
Shadow Simplex
23 / 34
Polyhedra with τ-wide Normal Fan
a2
Nv τ
a1
a3
Theorem (D.-Hähnle 2014+)
If P an n-dimensional polyhedron with a τ-wide normal fan, then
diameter of P is O (n/τ ln(1/τ )).
Furthermore, paths are constructed using shadow simplex method.
D. Dadush, N. Hähnle
Shadow Simplex
23 / 34
Polyhedra with τ-wide Normal Fan
a2
Nv τ
a1
a3
Theorem (D.-Hähnle 2014+)
If P an n-dimensional polyhedron with a τ-wide normal fan, then
diameter of P is O (n/τ ln(1/τ )).
Furthermore, paths are constructed using shadow simplex method.
Remark:
p Perfect matching polytope on a graph G = (V , E ) is
1/(3 |E |)-wide.
D. Dadush, N. Hähnle
Shadow Simplex
23 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
D. Dadush, N. Hähnle
Shadow Simplex
Fj
24 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
δ-distance property:
d (aj , H (Fj )) ≥ δ for all
facet/opposite vertex pairs
D. Dadush, N. Hähnle
Shadow Simplex
Fj
24 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
δ-distance property:
d (aj , H (Fj )) ≥ δ for all
facet/opposite vertex pairs
Fj
P has the (local) δ-distance property if
every (feasible) basis has the δ-distance property.
D. Dadush, N. Hähnle
Shadow Simplex
24 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
δ-distance property:
d (aj , H (Fj )) ≥ δ for all
facet/opposite vertex pairs
Fj
Lemma
Polytope P = {x ∈ Rn : Ax ≤ b }.
A ∈ Zm×n with subdeterminants bounded by ∆. Then P satisfies
the δ-distance property for δ = 1/(n∆2 ).
D. Dadush, N. Hähnle
Shadow Simplex
24 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
δ-distance property:
d (aj , H (Fj )) ≥ δ for all
facet/opposite vertex pairs
Fj
Lemma
Polytope P = {x ∈ Rn : Ax ≤ b }.
A ∈ Zm×n with subdeterminants bounded by ∆. Then P satisfies
the δ-distance property for δ = 1/(n∆2 ).
If P satisfies the local δ-distance property then P is τ-wide for
τ = 1/(nδ).
D. Dadush, N. Hähnle
Shadow Simplex
24 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
δ-distance property:
d (aj , H (Fj )) ≥ δ for all
facet/opposite vertex pairs
Fj
Theorem (D.-Hähnle)
If P a polytope satisfying local δ-distance property, then given a
feasible vertex and objective, an optimal vertex can be found using
O (n3 /δ ln(n/δ)) shadow simplex pivots.
D. Dadush, N. Hähnle
Shadow Simplex
24 / 34
The δ-distance Property
Nv = cone(a1 , . . . , an ), ai ’s
scaled to be unit length.
aj
Take aj and opposite facet Fj .
δ
δ-distance property:
d (aj , H (Fj )) ≥ δ for all
facet/opposite vertex pairs
Fj
Theorem (D.-Hähnle)
If P a polytope satisfying local δ-distance property, then given a
feasible vertex and objective, an optimal vertex can be found using
O (n3 /δ ln(n/δ)) shadow simplex pivots.
Resolves question of Vempala and Eisenbrand (2014) regarding
sufficiency of local δ-distance property for optimization.
D. Dadush, N. Hähnle
Shadow Simplex
24 / 34
Outline
1
Introduction
Linear Programming and its Applications
The Simplex Method
Results
2
The Shadow Simplex Method
The Normal Fan
Primal and Dual Perspectives
3
Well-conditioned Polytopes
τ-wide Polyhedra
δ-distance Property
4
Diameter and Optimization
3-step Shadow Simplex Path
Bounding Surface Area Measures of the Normal Fan
Finding an Optimal Facet
D. Dadush, N. Hähnle
Shadow Simplex
25 / 34
3-step Shadow Simplex Path
To bound the diameter, we will exhibit a short shadow simplex path
between any two vertices.
Let v , w be vertices of P.
D. Dadush, N. Hähnle
Shadow Simplex
26 / 34
3-step Shadow Simplex Path
To bound the diameter, we will exhibit a short shadow simplex path
between any two vertices.
Let v , w be vertices of P.
Pick c ∈ Nv , d ∈ Nw to be “deep” inside the respective normal
cones (exact choice made later).
D. Dadush, N. Hähnle
Shadow Simplex
26 / 34
3-step Shadow Simplex Path
To bound the diameter, we will exhibit a short shadow simplex path
between any two vertices.
Let v , w be vertices of P.
Pick c ∈ Nv , d ∈ Nw to be “deep” inside the respective normal
cones (exact choice made later).
Let X be exponentially distributed over Rn , that is with probability
density proportional to e −kx k .
D. Dadush, N. Hähnle
Shadow Simplex
26 / 34
3-step Shadow Simplex Path
To bound the diameter, we will exhibit a short shadow simplex path
between any two vertices.
Let v , w be vertices of P.
Pick c ∈ Nv , d ∈ Nw to be “deep” inside the respective normal
cones (exact choice made later).
Let X be exponentially distributed over Rn , that is with probability
density proportional to e −kx k .
We shall follow the simplex paths in sequence:
c
D. Dadush, N. Hähnle
(a )
−→
c+X
(b )
−→
Shadow Simplex
d +X
(c )
−→
d
26 / 34
3-step Shadow Simplex Path
To bound the diameter, we will exhibit a short shadow simplex path
between any two vertices.
Let v , w be vertices of P.
Pick c ∈ Nv , d ∈ Nw to be “deep” inside the respective normal
cones (exact choice made later).
Let X be exponentially distributed over Rn , that is with probability
density proportional to e −kx k .
We shall follow the simplex paths in sequence:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Question
How long is this path?
D. Dadush, N. Hähnle
Shadow Simplex
26 / 34
Crossing Bounds
The 3-step shadow simplex path:
c
D. Dadush, N. Hähnle
(a )
−→
c+X
(b )
−→
Shadow Simplex
d +X
(c )
−→
d
27 / 34
Crossing Bounds
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Theorem (D.-Hähnle)
Assume P is an n-dimensional τ-wide polyhedron.
Phase (b). The expected number of crossings of [c + X , d + X ]
with normal fan of P is bounded by O (kc − d k/τ ).
D. Dadush, N. Hähnle
Shadow Simplex
27 / 34
Crossing Bounds
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Theorem (D.-Hähnle)
Assume P is an n-dimensional τ-wide polyhedron.
Phase (b). The expected number of crossings of [c + X , d + X ]
with normal fan of P is bounded by O (kc − d k/τ ).
Phase (a+c). The expected number of crossings of
[c + αX , c + X ] and [d + αX , d + X ], for α ∈ (0, 1],
with normal fan of P is O (n/τ ln(1/α)).
D. Dadush, N. Hähnle
Shadow Simplex
27 / 34
Crossing Bounds
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Theorem (D.-Hähnle)
Assume P is an n-dimensional τ-wide polyhedron.
Phase (b). The expected number of crossings of [c + X , d + X ]
with normal fan of P is bounded by O (kc − d k/τ ).
Phase (a+c). The expected number of crossings of
[c + αX , c + X ] and [d + αX , d + X ], for α ∈ (0, 1],
with normal fan of P is O (n/τ ln(1/α)).
Remark: Only bound intersections of partial path in phases (a) and (c).
D. Dadush, N. Hähnle
Shadow Simplex
27 / 34
Crossing Bounds
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Theorem (D.-Hähnle)
Assume P is an n-dimensional τ-wide polyhedron.
Phase (b). The expected number of crossings of [c + X , d + X ]
with normal fan of P is bounded by O (kc − d k/τ ).
Phase (a+c). The expected number of crossings of
[c + αX , c + X ] and [d + αX , d + X ], for α ∈ (0, 1],
with normal fan of P is O (n/τ ln(1/α)).
Remark: Only bound intersections of partial path in phases (a) and (c).
Next up: Diameter and Phase (b) crossing bound.
D. Dadush, N. Hähnle
Shadow Simplex
27 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
D. Dadush, N. Hähnle
(a )
−→
c+X
(b )
−→
Shadow Simplex
d +X
(c )
−→
d
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
How to choose c and d?
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
Fact: E[kX k] = n. By Markov, kX k ≤ 2n with probability ≥ 1/2.
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
Fact: E[kX k] = n. By Markov, kX k ≤ 2n with probability ≥ 1/2.
If kX k ≤ 2n, c + τX ,d + τX are in Nv , Nw .
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
Fact: E[kX k] = n. By Markov, kX k ≤ 2n with probability ≥ 1/2.
If kX k ≤ 2n, c + τX ,d + τX are in Nv , Nw .
Need only bound crossings for [c + τX , c + X ], [d + τX , d + X ]!
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
Fact: E[kX k] = n. By Markov, kX k ≤ 2n with probability ≥ 1/2.
Phase (b): O (kc − d k/τ ) = O (n/τ ).
Phase (a)+(c): O (n/τ ln(1/τ )).
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
Fact: E[kX k] = n. By Markov, kX k ≤ 2n with probability ≥ 1/2.
Phase (b): O (kc − d k/τ ) = O (n/τ ).
Phase (a)+(c): O (n/τ ln(1/τ )).
Remark: Can bound diameter using only phase (b) by scaling c, d
up by 1/τ, so that c/τ + X , d /τ + X stay in Nv , Nw respectively.
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Bounding the Diameter
Vertices v ,w of P optimized by c, d respectively.
The 3-step shadow simplex path:
c
(a )
−→
c+X
(b )
−→
d +X
(c )
−→
d
Pick c 0 ,d 0 to be unit length centers of τ-balls in Nv , Nw .
Set c = 2nc 0 and d = 2nd 0 .
c,d are at distance ≥ 2nτ from boundaries of Nv , Nw .
Fact: E[kX k] = n. By Markov, kX k ≤ 2n with probability ≥ 1/2.
Phase (b): O (kc − d k/τ ) = O (n/τ ).
Phase (a)+(c): O (n/τ ln(1/τ )).
Remark: Can bound diameter using only phase (b) by scaling c, d
up by 1/τ, so that c/τ + X , d /τ + X stay in Nv , Nw respectively.
Results in O (n/δ2 ) diameter bound.
D. Dadush, N. Hähnle
Shadow Simplex
28 / 34
Phase (b): Bound Facet Crossing Probability
C
d
F
c
D. Dadush, N. Hähnle
Shadow Simplex
29 / 34
Phase (b): Bound Facet Crossing Probability
C
d +X
F
c+X
D. Dadush, N. Hähnle
Shadow Simplex
29 / 34
Phase (b): Bound Facet Crossing Probability
C
d
F
c
Pr[cross F ] = Pr[X ∈ −[c, d ] + F ]
D. Dadush, N. Hähnle
Shadow Simplex
29 / 34
Phase (b): Bound Facet Crossing Probability
C
d
F
c
Pr[cross F ] = Pr[X ∈ −[c, d ] + F ] = ξ n
D. Dadush, N. Hähnle
Shadow Simplex
Z
−[c,d ]+F
e −kx k dx
29 / 34
Phase (b): Bound Facet Crossing Probability
C
u
d
F
c
Pr[cross F ] = Pr[X ∈ −[c, d ] + F ] = ξ n
= ξ n u T (d − c )
D. Dadush, N. Hähnle
Z
−[c,d ]+F
Z 1Z
0
F −((1−λ)c +λd )
Shadow Simplex
e −kx k dx
e −kx k d voln−1 (x )dλ
29 / 34
Bounding the Surface Measure using τ
Nv
u
F
D. Dadush, N. Hähnle
Shadow Simplex
30 / 34
Bounding the Surface Measure using τ
Nv
u
F
t
D. Dadush, N. Hähnle
Shadow Simplex
30 / 34
Bounding the Surface Measure using τ
Nv
u
F
h
τ
y
t
The set {F + t + R+ y : F facet of Nv } forms a partition of Nv + t.
D. Dadush, N. Hähnle
Shadow Simplex
30 / 34
Bounding the Surface Measure using τ
Nv
u
h
F
τ
y
t
The set {F + t + R+ y : F facet of Nv } forms a partition of Nv + t.
Z
F +t +R+ y
D. Dadush, N. Hähnle
e −kx k dx =
Z ∞Z
0
F +t + hr y
Shadow Simplex
e −kx k d voln−1 (x )dr
30 / 34
Bounding the Surface Measure using τ
Nv
u
h
F
y
τ
t
The set {F + t + R+ y : F facet of Nv } forms a partition of Nv + t.
Z
F +t +R+ y
e −kx k dx =
=
Z ∞Z
0
Z ∞Z
0
D. Dadush, N. Hähnle
F +t + hr y
e −kx k d voln−1 (x )dr
r
F +t
e −kx + h y k d voln−1 (x )dr
Shadow Simplex
30 / 34
Bounding the Surface Measure using τ
Nv
u
h
F
y
τ
t
The set {F + t + R+ y : F facet of Nv } forms a partition of Nv + t.
Z
F +t +R+ y
e −kx k dx =
=
Z ∞Z
0
Z ∞Z
0
≥
Z ∞
0
D. Dadush, N. Hähnle
F +t + hr y
e −kx k d voln−1 (x )dr
r
F +t
e −kx + h y k d voln−1 (x )dr
e −r /h dr
Shadow Simplex
Z
F +t
e −kx k d voln−1 (x )
30 / 34
Bounding the Surface Measure using τ
Nv
u
h
F
y
τ
t
The set {F + t + R+ y : F facet of Nv } forms a partition of Nv + t.
Z
F +t +R+ y
e −kx k dx =
=
Z ∞Z
0
Z ∞Z
0
≥
Z ∞
0
≥τ
D. Dadush, N. Hähnle
F +t + hr y
e −kx k d voln−1 (x )dr
r
F +t
e −kx + h y k d voln−1 (x )dr
e −r /h dr
Z
e
−kx k
F +t
Shadow Simplex
Z
F +t
e −kx k d voln−1 (x )
d voln−1 (x )
30 / 34
Putting it all together
Nv
F
u
y
d
c
T
Pr[cross F ] = ξ n u (d − c )
D. Dadush, N. Hähnle
Z 1Z
0
F −((1−λ)c +λd )
Shadow Simplex
e −kx k d voln−1 (x )dλ
31 / 34
Putting it all together
Nv
F
u
y
d
c
T
Pr[cross F ] = ξ n u (d − c )
kd − c k
≤ ξn
τ
D. Dadush, N. Hähnle
Z 1Z
0
F −((1−λ)c +λd )
e −kx k d voln−1 (x )dλ
Z 1Z
0
F −((1−λ)c +λd )+R+ y
Shadow Simplex
e −kx k dxdλ
31 / 34
Putting it all together
Pr[cross F ] = ξ n u T (d − c )
kd − c k
≤ ξn
τ
D. Dadush, N. Hähnle
Z
Z 1Z
0
1Z
0
F −((1−λ)c +λd )
e −kx k d voln−1 (x )dλ
F −((1−λ)c +λd )+R+ y
Shadow Simplex
e −kx k dxdλ
31 / 34
Putting it all together
Pr[cross F ] = ξ n u T (d − c )
kd − c k
≤ ξn
τ
E[# crossings] ≤
D. Dadush, N. Hähnle
Z
Z 1Z
0
1Z
0
F −((1−λ)c +λd )
e −kx k d voln−1 (x )dλ
F −((1−λ)c +λd )+R+ y
e −kx k dxdλ
1
∑ Pr[cross F ]
2∑
v F ⊂ Nv
Shadow Simplex
31 / 34
Putting it all together
Pr[cross F ] = ξ n u T (d − c )
kd − c k
≤ ξn
τ
E[# crossings] ≤
Z
Z 1Z
0
1Z
e −kx k d voln−1 (x )dλ
F −((1−λ)c +λd )+R+ y
0
e −kx k dxdλ
1
∑ Pr[cross F ]
2∑
v F ⊂ Nv
kd − c k
≤ ξn
2τ
D. Dadush, N. Hähnle
F −((1−λ)c +λd )
Z 1
0
∑
Z
v
Shadow Simplex
Nv −((1−λ)c +λd )
e −kx k dxdλ
31 / 34
Putting it all together
Pr[cross F ] = ξ n u T (d − c )
kd − c k
≤ ξn
τ
E[# crossings] ≤
Z 1Z
Z
0
1Z
e −kx k d voln−1 (x )dλ
F −((1−λ)c +λd )+R+ y
0
e −kx k dxdλ
1
∑ Pr[cross F ]
2∑
v F ⊂ Nv
kd − c k
≤ ξn
2τ
= ξn
D. Dadush, N. Hähnle
F −((1−λ)c +λd )
Z 1
0
∑
Z
v
Z Z
kd − c k 1
2τ
0
Rn
Shadow Simplex
Nv −((1−λ)c +λd )
e −kx k dxdλ
e −kx k dxdλ
31 / 34
Putting it all together
Pr[cross F ] = ξ n u T (d − c )
kd − c k
≤ ξn
τ
E[# crossings] ≤
Z
Z 1Z
0
1Z
e −kx k d voln−1 (x )dλ
F −((1−λ)c +λd )+R+ y
0
e −kx k dxdλ
1
∑ Pr[cross F ]
2∑
v F ⊂ Nv
kd − c k
≤ ξn
2τ
= ξn
Z 1
0
∑
Z
v
Z Z
kd − c k 1
2τ
kd − c k
=
2τ
D. Dadush, N. Hähnle
F −((1−λ)c +λd )
0
Rn
Shadow Simplex
Nv −((1−λ)c +λd )
e −kx k dxdλ
e −kx k dxdλ
31 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
Phase (c) bound: can find vertex w 0 optimizing d 0 ,
kd 0 − d k ≤ nε = kd kε with O (n/τ ln(1/ε)) pivots.
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
Phase (c) bound: can find vertex w 0 optimizing d 0 ,
kd 0 − d k ≤ nε = kd kε with O (n/τ ln(1/ε)) pivots.
Remark: already enough for weakly polynomial bound.
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
Phase (c) bound: can find vertex w 0 optimizing d 0 ,
kd 0 − d k ≤ nε = kd kε with O (n/τ ln(1/ε)) pivots.
Solution: can identity optimal facet from w and d 0 !
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
Phase (c) bound: can find vertex w 0 optimizing d 0 ,
kd 0 − d k ≤ nε = kd kε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
Phase (c) bound: can find vertex w 0 optimizing d 0 ,
kd 0 − d k ≤ nε = kd kε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
Let d 0 = ∑i ∈I λi ai /kai k, where Nw = cone({ai : i ∈ I }).
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v , objective d: solve max d T x : x ∈ P .
First attempt: Choose c as in diameter bound. Scale so that c, d
have norm n. Run 3-step Shadow Simplex from c to d.
Problem: don’t know anything about d!
Could lie on the boundary of normal cone...
Phase (c) bound: can find vertex w 0 optimizing d 0 ,
kd 0 − d k ≤ nε = kd kε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
Let d 0 = ∑i ∈I λi ai /kai k, where Nw = cone({ai : i ∈ I }).
Then for j = argmaxj ∈I λj , w lies on the facet ajT x ≤ bj .
D. Dadush, N. Hähnle
Shadow Simplex
32 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v and objective d: solve max d T x : x ∈ P .
Phase (c) bound: can find vertex w optimizing d 0 ,
kd 0 − d k ≤ nε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
Let d 0 = ∑i ∈I λi ai /kai k, where Nw = cone({ai : i ∈ I }).
Then for j = argmaxj ∈I λj , w lies on the facet ajT x ≤ bj .
Remark: Solves open problem of Eisenbrand and Vempala.
D. Dadush, N. Hähnle
Shadow Simplex
33 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v and objective d: solve max d T x : x ∈ P .
Phase (c) bound: can find vertex w optimizing d 0 ,
kd 0 − d k ≤ nε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
Let d 0 = ∑i ∈I λi ai /kai k, where Nw = cone({ai : i ∈ I }).
Then for j = argmaxj ∈I λj , w lies on the facet ajT x ≤ bj .
Setting ε = δ/(2n2 ), find an optimal facet after
O (n/τ ln(n/δ)) = O (n2 /δ ln(n/δ)) pivots.
D. Dadush, N. Hähnle
Shadow Simplex
33 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v and objective d: solve max d T x : x ∈ P .
Phase (c) bound: can find vertex w optimizing d 0 ,
kd 0 − d k ≤ nε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
Let d 0 = ∑i ∈I λi ai /kai k, where Nw = cone({ai : i ∈ I }).
Then for j = argmaxj ∈I λj , w lies on the facet ajT x ≤ bj .
Setting ε = δ/(2n2 ), find an optimal facet after
O (n/τ ln(n/δ)) = O (n2 /δ ln(n/δ)) pivots.
Recursing n times, optimal solution using O (n3 /δ ln(n/δ)) pivots.
D. Dadush, N. Hähnle
Shadow Simplex
33 / 34
Optimization
P = {x : Ax ≤ b } polytope satisfying local δ-distance property.
P is τ-wide for τ = δ/n.
Given vertex v and objective d: solve max d T x : x ∈ P .
Phase (c) bound: can find vertex w optimizing d 0 ,
kd 0 − d k ≤ nε with O (n/τ ln(1/ε)) pivots.
Lemma (D.-Hähnle 2014+)
Let w, w 0 be vertices of P, d ∈ Nw , d 0 ∈ Nw 0 , kd − d 0 k < δ/(2n2 )kd k.
Let d 0 = ∑i ∈I λi ai /kai k, where Nw = cone({ai : i ∈ I }).
Then for j = argmaxj ∈I λj , w lies on the facet ajT x ≤ bj .
Feasibility: Use standard reductions to optimization (Phase 1
simplex).
D. Dadush, N. Hähnle
Shadow Simplex
33 / 34
Summary and Open Problems
New and simpler analysis and variant of the Shadow Simplex
method.
Improved diameter bounds and simplex algorithm for curved
polyhedra.
Inspired by path finding algorithm over the Voronoi graph of a
lattice by Bonifas, D. (2014) used for solving the Closest Vector
Problem.
D. Dadush, N. Hähnle
Shadow Simplex
34 / 34
Summary and Open Problems
New and simpler analysis and variant of the Shadow Simplex
method.
Improved diameter bounds and simplex algorithm for curved
polyhedra.
Inspired by path finding algorithm over the Voronoi graph of a
lattice by Bonifas, D. (2014) used for solving the Closest Vector
Problem.
Open Problems:
Improve smoothed analysis bounds using our techniques.
D. Dadush, N. Hähnle
Shadow Simplex
34 / 34
Summary and Open Problems
New and simpler analysis and variant of the Shadow Simplex
method.
Improved diameter bounds and simplex algorithm for curved
polyhedra.
Inspired by path finding algorithm over the Voronoi graph of a
lattice by Bonifas, D. (2014) used for solving the Closest Vector
Problem.
Open Problems:
Improve smoothed analysis bounds using our techniques.
Polynomial Hirsch conjecture for random polytopes?
D. Dadush, N. Hähnle
Shadow Simplex
34 / 34
Summary and Open Problems
New and simpler analysis and variant of the Shadow Simplex
method.
Improved diameter bounds and simplex algorithm for curved
polyhedra.
Inspired by path finding algorithm over the Voronoi graph of a
lattice by Bonifas, D. (2014) used for solving the Closest Vector
Problem.
Open Problems:
Improve smoothed analysis bounds using our techniques.
Polynomial Hirsch conjecture for random polytopes?
When can we improve the geometry of the normal fan?
D. Dadush, N. Hähnle
Shadow Simplex
34 / 34
Summary and Open Problems
New and simpler analysis and variant of the Shadow Simplex
method.
Improved diameter bounds and simplex algorithm for curved
polyhedra.
Inspired by path finding algorithm over the Voronoi graph of a
lattice by Bonifas, D. (2014) used for solving the Closest Vector
Problem.
Open Problems:
Improve smoothed analysis bounds using our techniques.
Polynomial Hirsch conjecture for random polytopes?
When can we improve the geometry of the normal fan?
Thank you!
D. Dadush, N. Hähnle
Shadow Simplex
34 / 34
© Copyright 2026 Paperzz