A Faster Algorithm for Linear Programming
and the Maximum Flow Problem I
Yin Tat Lee
(MIT, Simons)
Joint work with Aaron Sidford
THE PROBLEM
Linear Programming
Consider the linear program (LP)
min ๐ ๐ ๐ฅ
๐ด๐ฅ≥๐
where ๐ด is a ๐ × ๐ matrix.
• ๐ is the number of constraints.
• ๐ is the number of variables.
๐ = 2, ๐ = 6
๐ = 2, ๐ = ∞
๐ = # of constraints
๐ = # of variables
Previous Results
• All of them are iterative methods.
• Start with some initial point ๐ฅ.
• While ๐ฅ is not optimal
– Improve ๐ฅ
• Time = (#๐๐ก๐๐) × (๐๐๐ ๐ก ๐๐๐ ๐๐ก๐๐)
• This talk focus on #iter.
We call it efficient if
• Polynomial time
• Doesn’t use LP solver
๐ = # of constraints Previous
๐ = # of variables
(log(๐ −1 )) is omitted)
Results (Selected)
Year
Author
# of iter
Cost per iter
Efficient steps
1947
Dantzig
2๐
Pivot
Yes
1979
Khachiyan
๐2
Update the Ellipsoid
Yes
1984
Karmarkar
๐
Solve linear systems
Yes
1986
Renegar
Solve linear systems
Yes
1989
Vaidya
Matrix inverse
Yes
1994
Nesterov,
Nemirovskii
Compute volume
No
๐( ๐)
Solve Linear Systems
Yes
๐( ๐๐๐๐)
Solve Linear Systems
Yes
2013
Lee, Sidford
๐
๐๐
1/4
๐
Remark: In 2013, Mฤ
dry shows how to obtain ๐3/7 iters for certain LPs!
Outline
๐ = # of constraints
๐ = # of variables
(log(๐ −1 )) is omitted)
Year
Author
# of iter
Cost per iter
Efficient steps
1947
Dantzig
2๐
Pivot
Yes
1979
Khachiyan
๐2
Update the Ellipsoid
Yes
1984
Karmarkar
๐
Solve linear systems
Yes
1986
Renegar
Solve linear systems
Yes
1989
Vaidya
Matrix inverse
Yes
1994
Nesterov,
Nemirovskii
Compute volume
No
๐( ๐)
Solve Linear Systems
Yes
๐( ๐๐๐๐)
Solve Linear Systems
Yes
2013
Lee, Sidford
๐
๐๐
1/4
๐
Remark: In 2013, Mฤ
dry shows how to obtain ๐3/7 iters for certain LPs!
LP AND CENTER
A general framework
We can solve linear program by maintaining center.
Somehow, get a “center” first
Put the cost constraint there
and move it.
Say we can move ๐
portion closer each time
After ๐(๐ −1 ) steps, we are done.
A general framework
We can solve linear program by maintaining center.
Somehow, get a “center” first
Put the cost constraint there
and move it.
Why center?
After ๐(๐
Say we can move ๐
portion closer each time
−1
) steps, we are done.
What if we don’t try to maintain a center?
• It is just like simplex method.
It is good now.
Oh, it touches. What to do?
Still good.
…..
What if we don’t try to maintain a center?
• It is just like simplex method.
It is good now.
Still good.
Avoid bad decision
by using global
…..
Oh, it touches. What to do?
information!
A general framework
Formally, we have (say ๐๐๐ = 0):
• ๐ก = 22014 . Find the center of ๐ ๐ ๐ฅ ≤ ๐ก, ๐ด๐ฅ ≥ ๐
• While ๐ก is large
– ๐ก ← ๐ก(1 − ๐) for some fixed ๐ > 0
– Update the center of ๐ ๐ ๐ฅ ≤ ๐ก, ๐ด๐ฅ ≥ ๐
This is called interior point method.
The initial point is easy:
min
๐ด๐ฅ ๐ +๐≥๐๐ ,๐≥0
22014 ๐ + ๐ ๐ ๐ฅ
A general way to define a center
Let ๐ be a smooth convex function on Ω such that
• ๐ ๐ฅ → +∞ as ๐ฅ → ๐Ω.
For example,
Standard log barrier: ps x = −
ln ๐ด๐ฅ ๐ − ๐๐ = −
ln(๐ ๐ )
Center = argmin ๐ ๐ฅ
Barrier
Function
QUALITY OF A CENTER
Rounding
• Assume center is induced by some barrier function ๐.
• Look at the ellipsoid ๐ธ induced by ๐ at the center ๐ฅ.
• Call ๐ธ is ๐ rounding if ๐ ๐ธ ⊂ Ω ⊂ ๐๐ ๐ธ for some ๐ .
Self concordant barrier
• ๐ is a ๐-self concordant barrier function for Ω if
– ๐ is smooth.
– ๐ gives ๐ rounding.
๐ is not smooth enough
Bad rounding.
Rounding Algorithm
For general barrier function ๐:
• Repeat
– Tighten the cost constraint
– Maintain the rounding ellipsoid induced by ๐.
Why ๐ iterations?
Why ๐ iterations?
Think ๐ ๐ฅ = − ln ๐ ๐ .
• Newton Method (Using smoothness)
Given ๐ ๐ฆ − min ๐ (๐ฅ) < 0.5, we can find the center in ๐(1)
steps.
x
Why ๐ iterations?
Let ๐ฆ be the old center. Using the smoothness, we have
๐ก๐๐๐ค − ๐ ๐ ๐ฆ 1
๐๐๐๐ค ๐ฆ − min ๐๐๐๐ค ๐ฅ ≤
≤ .
๐
x
๐ก−๐ ๐ฆ
2
Why ๐ iterations?
So, we need
๐ก๐๐๐ค − ๐ ๐ ๐ฆ 1
≤ .
๐
๐ก−๐ ๐ฆ
2
It takes ๐ ๐ iters.
Why
๐ iterations?
• We can reduce the gap by 1/ ๐.
Roughly Speaking:
Smoothness + ๐ rounding gives
๐log(๐ −1 ) iterations LP solvers.
Quality of analytic center is arbitrary bad in ๐!
• Recall the standard log barrier function
๐
๐๐ ๐ฅ = −
๐
ln ๐ด๐ฅ ๐ − ๐๐ = −
๐=1
ln ๐ ๐ .
๐=1
• The center ๐ฅ = argmin๐ฆ ๐ ๐ฆ is called analytic center.
Is it tight?
• In practice, it takes ≤ 60 steps.
• Mizuno, Todd, Ye showed it is “usually” correct on first step.
• In 2014, Mut and Terlaky showed an example really takes
Ω ๐ log ๐ −1 iterations where ๐ is exponential in ๐.
UNIVERSAL BARRIER FUNCTION
Universal Barrier Function
Theorem [NN94]: For any convex set Ω ∈ ๐
๐ ,
๐ ๐ฅ = −log ๐ฃ๐๐( Ω − ๐ฅ ๐ )
is a ๐(๐)-self concordant barrier function.
“Smaller” set has larger polar. Hence, ๐ → ∞ as ๐ฅ → ๐Ω
Note that ๐ป 2 ๐ ~ ๐๐๐๐๐๐ ๐๐๐๐๐๐ก ๐๐ Ω − ๐ฅ ๐ .
Kannan-Lovasz-Simonovits Lemma: For any convex set Ω, the
second moment matrix
๐ฅ๐ฅ ๐
๐(Ω) =
gives a ๐(๐) rounding of Ω.
Ω
The cost of Universal Barrier
• To get second moment matrix, you need ๐๐ 1 sampling.
• To get 1 sampling, you need to do ๐๐(1) iters of Markov chain.
• To do 1 iter of Markov chain, you need to implement
separation oracle for Ω − ๐ฅ ๐ .
• If Ω = {๐ด๐ฅ ≥ ๐}, one need to solve an LP.
Hence, one iteration requires solving ๐๐(1) many LPs.
The problem:
Get an efficient ๐(๐) self concordant barrier
function.
VOLUMETRIC BARRIER
FUNCTION
Volumetric Barrier Function
In 1989, Vaidya showed
1
๐
2
๐๐ฃ ๐ฅ = log det ๐ป ๐๐ (๐ฅ) + ๐๐ (๐ฅ)
2
๐
where ๐๐ ๐ฅ = − ๐ ln ๐ ๐ . Why it is volumetric?
For example:
It is a ๐๐
1/2
barrier.
Volumetric Barrier
Log Barrier
Why Volumetric is good?
1
๐
2
๐๐ฃ ๐ฅ = log det ๐ป ๐๐ (๐ฅ) + ๐๐ (๐ฅ)
2
๐
Around ๐ฆ, we have
๐๐ ๐๐ฆ−1 ๐ด +
๐๐ฃ ๐ฅ ~ −
๐
where
๐๐ ๐ต = ๐๐๐ ๐ต ๐ต๐ ๐ต
๐
log๐ ๐ (๐ฅ)
๐
−1 ๐ต๐ .
๐
1 0
2 + 32
1
0 . ๐ = 1 , ๐ = 9 , ๐ = 1.
๐
Example: ๐ต = 3 0 . Then, ๐ต ๐ต =
1
10 2
10 3
0
22
0 2
In general, ๐๐ = ๐, 0 ≤ ๐๐ ≤ 1, if the ๐ ๐กโ row is repeated, ๐๐ is decreased by 2.
For [0,1] interval with 0 repeated ๐ times:
1
−1
๐ ๐ด= 1
โฎ
๐1/3
๐ −1 ๐ด =
1
โฎ
OUR BARRIER FUNCTION
Repeated Volumetric Barrier Function
1
๐
2
๐ฅ = log det ๐ป ๐๐ (๐ฅ) + ๐๐ (๐ฅ)
2
๐
1
๐ (๐)
2
(๐)
log det ๐ป ๐ (๐ฅ) + ๐ (๐ฅ)?
2
๐
๐(1)
How about ๐(๐+1) ๐ฅ =
Suppose ๐(๐) ๐ฅ = −
๐(๐+1) ๐ฅ ~ −
So, we have
(๐+1)
๐ค๐
(๐)
๐ ๐๐
log๐ ๐ , around ๐ฆ, we have
๐
−1
(๐)
๐๐ ๐ ๐๐ฆ ๐ด +
log๐ ๐ ๐ฅ .
๐
๐
What
is that?
= ๐๐
We call ๐(∞) ๐ฅ = − ๐ค๐
๐ค๐
∞
∞
(๐)
๐ (๐) ๐๐ฆ−1 ๐ด + ๐ค๐ .
(๐ฅ) log ๐ ๐ where ๐ค๐
(๐ฅ) = ๐๐
∞
๐ (∞) ๐๐ฅ−1 ๐ด .
satisfies
What is that weight?
1
2
• Let ๐๐ = ๐๐ (๐ ๐ด)/๐ค๐ .
๐ค๐
∞
(๐ฅ) = ๐๐
๐ (∞) ๐๐ฅ−1 ๐ด .
If ๐๐ ≤ 1 for all ๐,
the ellipsoid is inside.
(∞)
The ๐ค๐
represents John
ellipsoid of { ๐๐ฅ−1 ๐ด ∞ ≤ 1}
Our Condition
(John Ellipsoid):
๐๐ = 1 if ๐ค๐ ≠ 0.
Repeated Volumetric Barrier Function
• Recall
๐(∞) ๐ฅ ~ ln det ๐ป 2 ๐
We get
∞
๐ฅ
~ − ln det ๐ด๐๐ฅ−1 ๐ (∞) ๐๐ฅ−1 ๐ด
๐(∞) ~ − ln vol ๐ฝ๐โ๐๐ธ๐๐๐๐๐ ๐๐๐ Ω ∩ (2x − Ω) .
Symmetrize
Find John Ellipsoid
The barrier function is not perfect!
• The path is piecewise smooth because it may not touch every
constraint.
• ๐(∞) =
max
๐ค=๐,๐ค≥0
lndet(๐ด๐ ๐ −1 ๐๐ −1 ๐ด)
Our Barrier Function
• Standard Log Barrier:
๐๐ ๐ฅ = − ๐๐๐ ๐
• Volumetric Barrier:
1
๐
2
๐๐ฃ ๐ฅ = log det ๐ป ๐๐ (๐ฅ) + ๐๐ (๐ฅ)
2
๐
• John Ellipsoid Barrier:
๐ ∞ (๐ฅ) = max lndet(๐ด๐ ๐ −1 ๐๐ −1 ๐ด)
๐ค=๐,๐ค≥0
• Regularized John Ellipsoid Barrier (1):
−1 (๐)
1−log
๐ ๐ −1 ๐ด)
max lndet(๐ด๐ ๐ −1 ๐
๐ค≥0
๐
+
๐๐๐ค๐ − ๐ค๐
๐
• Regularized John Ellipsoid Barrier (2):
๐
๐
๐
−1
−1
max ln det ๐ด ๐ ๐๐ ๐ด −
๐ค๐ ln๐ค๐ −
ln๐ ๐
๐ค≥0
๐
๐
๐๐ Lewis Weight
We call ๐ค
is ๐ ๐
๐ −1
Lewis weight for ๐ต if
max lndet(๐ด ๐
๐ค≥0
๐
1−log−1 ( ) −1
๐ ๐ ๐ด) .
๐
1 1
−๐
2
(๐
๐ต)
๐ค๐ = ๐๐
Thanks to Cohen and Peng, we know
• Let ๐ถ be
๐
max 1, 2
๐(๐
) rows sample of ๐ต accordingly to ๐ค๐ ,
๐ถ๐ง ๐ ~ ๐ต๐ง ๐ ∀๐ง.
2
1−๐
• ๐ = ๐ต๐ ๐ ๐ต is the maximizer of
−๐๐๐ det ๐ ๐ ๐ข๐๐๐๐๐ก ๐ก๐ ๐ผ๐ฅ ๐ ๐๐ฅ≤1 ๐ต๐ฅ
๐
๐
≤1
i.e, the maximum ellipsoid such that it “insides” the polytopes.
• For ๐ = ∞, {๐ฅ ๐ ๐๐ฅ ≤ 1} is the John ellipsoid for {|๐ต๐ฅ| ≤ 1}.
Computing ๐๐ Lewis Weight
• Cohen and Peng showed how to compute it when ๐ < 4.
• The repeated
(1)
volumetric barrier: ๐ค๐ = ๐/๐,
(๐+1)
๐
๐ค๐
= ๐๐ ๐ (๐) ๐ต + ๐ค๐ .
(log(๐))
After renormalization, ๐ค๐
gives “๐∞ “Lewis” weight:
1
~๐๐ (๐ 2 ๐ต).
๐ค๐ ๐ฅ
• Cohen, L., Peng, Sidford shows that in fact a similar algorithm
find constant “approximate” ๐๐ Lewis weight for ๐ > 2 in ๐(1).
CONCLUSION
๐ = # of constraints
๐ = # of variables
Our Barrier
Given any polytope {Ax ≥ ๐}, let
๐
๐
๐ ๐ฅ =
−
๐ค๐ ln๐ค๐ −
ln๐ ๐ .
๐
๐
Theorem: The barrier function ๐ gives ๐( ๐ log ๐ −1 ) iterations
algorithm for LP of the form
min ๐ ๐ ๐ฅ .
max ln det ๐ด๐ ๐ −1 ๐๐ −1 ๐ด
๐ค≥0
๐ด๐ฅ≥๐
Algorithm:
• While
– Move the cost constraint
– Maintain the regularized John ellipsoid
๐ = # of constraints
๐ = # of variables
However…
• My goal is
to design general LP algo fast enough to
beat the best maxflow algorithm!
• We obtained
min ๐ ๐ ๐ฅ
๐ด๐ฅ≥๐
Compute ๐ด๐ ๐ท๐ ๐ด
๐
๐ log ๐ −1
−1