slides

advertisement
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
Download