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