Transcript slides

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