tulip jl an interior point solver with abstract linear
play

Tulip.jl : an interior-point solver with abstract linear algebra - PowerPoint PPT Presentation

Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Tulip.jl : an interior-point solver with abstract linear algebra Miguel Anjos a , b Andrea Lodi a , b , c Mathieu Tanneau a , b , c (a) cole polytechnique de Montral (b)


  1. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Tulip.jl : an interior-point solver with abstract linear algebra Miguel Anjos a , b Andrea Lodi a , b , c Mathieu Tanneau a , b , c (a) École polytechnique de Montréal (b) GERAD (c) CERC in Data Science for Real-time decision making March 13, 2019 Mathieu Tanneau Tulip.jl - March 13, 2019 1 / 24

  2. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References 1 Foreword Interior-Point Methods 2 Linear Algebra in IPMs 3 Tulip.jl 4 Conclusion 5 Mathieu Tanneau Tulip.jl - March 13, 2019 2 / 24

  3. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Linear programming (Primal-Dual standard form) c T x b T y ( P ) min ( D ) max y , s x A T y s . t . A x = b + s = c s . t . x ≥ 0 ≥ 0 s where x ∈ R n , y ∈ R m , s ∈ R n Solved with Simplex or Interior-Point Workhorse of MILP Decomposition (Dantzig-Wolfe & Benders) Polyhedral Outer approximations Cutting plane methods ... Mathieu Tanneau Tulip.jl - March 13, 2019 3 / 24

  4. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Geometric view c T x ( P ) min x min s . t . A x = b x ≥ 0 Simplex - Many cheap iterations - Extreme vertices (basic points) Interior-Point - Few expensive iterations - Interior points ( x > 0) Mathieu Tanneau Tulip.jl - March 13, 2019 4 / 24

  5. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References 1 Foreword Interior-Point Methods 2 Linear Algebra in IPMs 3 Tulip.jl 4 Conclusion 5 Mathieu Tanneau Tulip.jl - March 13, 2019 5 / 24

  6. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References IPM overview c T x b T y ( D ) max ( P ) min y , s x A x = b A T y s . t . s . t . + s = c x ≥ 0 s ≥ 0 KKT optimality conditions: A x = b [primal feas.] (1) A T y + s = c [dual feas.] (2) ∀ i , x i · s i = 0 [slackness] (3) x , s ≥ 0 (4) Algorithm (1) (2) (3) x ≥ 0 s ≥ 0 (primal) Simplex * � � � � Interior-point * x > 0 s > 0 � � � : at each iteration; *: at optimality only Mathieu Tanneau Tulip.jl - March 13, 2019 6 / 24

  7. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References IPM overview Short history of IPMs: The seminal paper [Karmarkar, 1984] [Mehrotra, 1992]: predictor-corrector algorithm (implemented in most IPM codes) Multiple centrality corrections [Gondzio, 1996] Reference textbook [Wright, 1997] [Gondzio, 2012]: more recent survey of IPMs (Some) software for LP/QP: All commercial solvers (CPLEX, GRB, Mosek, Xpress, etc.) Open source: CLP, GLPK, OOQP, (PCx), (HOPDM) Mathieu Tanneau Tulip.jl - March 13, 2019 7 / 24

  8. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Mehrotra’s Predictor-Corrector algorithm Compute initial point (see [Mehrotra, 1992]) ( x 0 , y 0 , s 0 ) with x 0 > 0 , s 0 > 0 Compute search direction    ∆ x aff    A 0 0 b − A x  ·  = A T ∆ y aff c − A T y − s 0 I [predictor]     ∆ s aff S 0 X − XSe    ∆ x cc    A 0 0 0  ·  = A T ∆ y cc 0 I 0 [corrector]     σµ e − ∆ X aff ∆ S aff ∆ s cc S 0 X Update current solution ( x + , y + , s + ) = ( x , y , s ) + α (∆ aff + ∆ cc ) Repeat until convergence Mathieu Tanneau Tulip.jl - March 13, 2019 8 / 24

  9. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Mehrotra’s Predictor-Corrector algorithm min Affine-scaling (full) Affine-scaling (damped) Corrector Predictor-corrector step Figure: Mehrotra’s Predictor-Corrector, in x space Mathieu Tanneau Tulip.jl - March 13, 2019 9 / 24

  10. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Wrap-up LP in standard Primal-Dual form b T y c T x ( P ) min ( D ) max y , s x A T y s . t . A x = b + s = c s . t . x ≥ 0 ≥ 0 s At each iteration, solve (several) Newton systems of the form  A T      0 I ∆ x ξ d  =  · A 0 0 ∆ y ξ p     S 0 X ∆ s ξ xs Polynomial-time algorithm (see [Wright, 1997]) Very efficient on large-scale problems Mathieu Tanneau Tulip.jl - March 13, 2019 10 / 24

  11. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References 1 Foreword Interior-Point Methods 2 Linear Algebra in IPMs 3 Tulip.jl 4 Conclusion 5 Mathieu Tanneau Tulip.jl - March 13, 2019 11 / 24

  12. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Newton system Newton systems of the form  A T      0 I ∆ x ξ d  =  · A 0 0 ∆ y ξ p     S 0 X ∆ s ξ xs solved multiple times in each iteration, with various right-hand side. Two ways to make an Interior-Point faster: Reduce the number of iterations (better algorithm) Reduce the time per iteration (better linear algebra) Mathieu Tanneau Tulip.jl - March 13, 2019 12 / 24

  13. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Augmented system Initial Newton system:  A T      0 I ∆ x ξ d  ·  = A 0 0 ∆ y ξ p     S 0 X ∆ s ξ xs Substitute ∆ s to obtain the Augmented system � ∆ x � ξ d − X − 1 ξ xs − Θ − 1 � A T � � � = · 0 ∆ y A ξ p ∆ s = X − 1 ( ξ xs − S ∆ x ) where Θ := XS − 1 :( Left-hand matrix is indefinite (though regularization can be used) :( Still costly to solve :) More handy if free variables and/or non-linear terms Mathieu Tanneau Tulip.jl - March 13, 2019 13 / 24

  14. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Normal equations Substitute ∆ x to obtain the Normal equations ( A Θ A T )∆ y = ξ p + A Θ( ξ d − X − 1 ξ xs ) ∆ x = Θ( A T ∆ y − ξ d + X − 1 ξ xs ) ∆ s = X − 1 ( ξ xs − S ∆ x ) :) A Θ A T is positive-definite :) Cholesky factorization A Θ A T = LL T = ⇒ specialized Cholesky based on A Mathieu Tanneau Tulip.jl - March 13, 2019 14 / 24

  15. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Specialized Cholesky Unit block-angular matrix e T   ...   A =     e T   A 1 · · · A N Found in Dantzig-Wolfe decomposition + column-generation  e T θ 1 ( A 1 θ 1 ) T  . ... . A Θ A T =   .     e T θ R ( A R θ R ) T   A 1 θ 1 A R θ R Φ · · · = ⇒ exploit structure to accelerate Cholesky factorization Mathieu Tanneau Tulip.jl - March 13, 2019 15 / 24

  16. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References 1 Foreword Interior-Point Methods 2 Linear Algebra in IPMs 3 Tulip.jl 4 Conclusion 5 Mathieu Tanneau Tulip.jl - March 13, 2019 16 / 24

  17. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Solver overview https://github.com/ds4dm/Tulip.jl Main features Homogeneous self-dual algorithm + multiple corrections Upper-bounds handled explicitly Algorithm uses abstract linear algebra ( A::AbstractMatrix ) Generic sparse Cholesky + specialized for Unit block-angular MathProgBase interface WIP MOI interface Improved stability & general sparse linear algebra Mathieu Tanneau Tulip.jl - March 13, 2019 17 / 24

  18. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Netlib instances Netlib benchmark ( https://www.netlib.org/lp/ ) Small LP instances, some problematic Only consider feasible instances with no free variables No presolve, no crossover, single thread Most solved in < 1s Results Tulip runs into numerical issues numerical issues, but... ...faster than CLP, GLPK, IpOpt on “hard" instances (hard = solved in > 0 . 1s by all solvers) Mathieu Tanneau Tulip.jl - March 13, 2019 18 / 24

  19. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Column-generation instances Instances: m = 24 , 48 , 96 linking constraints N = 2 10 to 2 15 sub-problems Each sub-problem solved with Gurobi Same column-generation code Master problem statistics: N + m constraints up to ≃ 4 − 10 × N variables ≃ 4 − 10 × N × m non-zeros Mathieu Tanneau Tulip.jl - March 13, 2019 19 / 24

  20. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Column-generation instances Solver setup: Barrier algorithm, no cross-over No presolve Single thread Tulip: Generic IPM + specialized linear algebra Computational results: Barrier (almost always) faster than Simplex Computing times (for Restricted Master Problem) vs Mosek: − 33% (total time); − 50% (per-iteration time) vs Gurobi: − 60% (total time); − 70% (per-iteration time) vs CPLEX: − 55% (total time); − 45% (per-iteration time) Mathieu Tanneau Tulip.jl - March 13, 2019 20 / 24

  21. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References 1 Foreword Interior-Point Methods 2 Linear Algebra in IPMs 3 Tulip.jl 4 Conclusion 5 Mathieu Tanneau Tulip.jl - March 13, 2019 21 / 24

  22. Foreword IPMs Linear Algebra in IPMs Tulip.jl Conclusion References Conclusion Takeaway: IPM solver for linear programming Generic algorithm + specialized linear algebra Possible to beat SOTA solvers Roadmap: MOI interface Numerical stability Extension to QP Open JuMP-related questions: Passing structure information to solver Problem modification Mathieu Tanneau Tulip.jl - March 13, 2019 22 / 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend