Semidefinite Optimization using MOSEK

Similar documents
Solving conic optimization problems with MOSEK

On implementing a primal-dual interior-point method for conic quadratic optimization

Lecture 17: Primal-dual interior-point methods part II

Implementation and Evaluation of SDPA 6.0 (SemiDefinite Programming Algorithm 6.0)

18. Primal-dual interior-point methods

On the Behavior of the Homogeneous Self-Dual Model for Conic Convex Optimization

Convex Optimization : Conic Versus Functional Form

Parallel implementation of primal-dual interior-point methods for semidefinite programs

15. Conic optimization

The Ongoing Development of CSDP

SPARSE SECOND ORDER CONE PROGRAMMING FORMULATIONS FOR CONVEX OPTIMIZATION PROBLEMS

PENNON A Code for Convex Nonlinear and Semidefinite Programming

Lecture 5. Theorems of Alternatives and Self-Dual Embedding

Primal-Dual Geometry of Level Sets and their Explanatory Value of the Practical Performance of Interior-Point Methods for Conic Optimization

Introduction to Semidefinite Programs

Research overview. Seminar September 4, Lehigh University Department of Industrial & Systems Engineering. Research overview.

A NEW SECOND-ORDER CONE PROGRAMMING RELAXATION FOR MAX-CUT PROBLEMS

Interior-Point Methods

Infeasible Primal-Dual (Path-Following) Interior-Point Methods for Semidefinite Programming*

IMPLEMENTATION OF INTERIOR POINT METHODS

1. Introduction. We consider the (primal) semidefinite program in block diagonal

1 Outline Part I: Linear Programming (LP) Interior-Point Approach 1. Simplex Approach Comparison Part II: Semidenite Programming (SDP) Concludin

Infeasible Primal-Dual (Path-Following) Interior-Point Methods for Semidefinite Programming*

PENNON A Generalized Augmented Lagrangian Method for Convex NLP and SDP p.1/39

A Generalized Homogeneous and Self-Dual Algorithm. for Linear Programming. February 1994 (revised December 1994)

New stopping criteria for detecting infeasibility in conic optimization

Conic Linear Optimization and its Dual. yyye

Second-order cone programming

On Two Measures of Problem Instance Complexity and their Correlation with the Performance of SeDuMi on Second-Order Cone Problems

Agenda. Interior Point Methods. 1 Barrier functions. 2 Analytic center. 3 Central path. 4 Barrier method. 5 Primal-dual path following algorithms

III. Applications in convex optimization

Distributed Control of Connected Vehicles and Fast ADMM for Sparse SDPs

arxiv: v1 [math.oc] 26 Sep 2015

Lecture 5. The Dual Cone and Dual Problem

Research Note. A New Infeasible Interior-Point Algorithm with Full Nesterov-Todd Step for Semi-Definite Optimization

Interior Point Methods. We ll discuss linear programming first, followed by three nonlinear problems. Algorithms for Linear Programming Problems

SDPARA : SemiDefinite Programming Algorithm PARAllel version

How to generate weakly infeasible semidefinite programs via Lasserre s relaxations for polynomial optimization

The Q Method for Symmetric Cone Programmin

On the solution of large-scale SDP problems by the modified barrier method using iterative solvers

On the solution of large-scale SDP problems by the modified barrier method using iterative solvers

A full-newton step feasible interior-point algorithm for P (κ)-lcp based on a new search direction

Fast ADMM for Sum of Squares Programs Using Partial Orthogonality

A priori bounds on the condition numbers in interior-point methods

SEMIDEFINITE PROGRAM BASICS. Contents

A CONIC DANTZIG-WOLFE DECOMPOSITION APPROACH FOR LARGE SCALE SEMIDEFINITE PROGRAMMING

Croatian Operational Research Review (CRORR), Vol. 3, 2012

Cuts for Conic Mixed-Integer Programming

Warmstarting the Homogeneous and Self-Dual Interior Point Method for Linear and Conic Quadratic Problems

Primal-Dual Interior-Point Methods. Javier Peña Convex Optimization /36-725

A PREDICTOR-CORRECTOR PATH-FOLLOWING ALGORITHM FOR SYMMETRIC OPTIMIZATION BASED ON DARVAY'S TECHNIQUE

Continuous Optimisation, Chpt 9: Semidefinite Problems

Research Reports on Mathematical and Computing Sciences

Advances in Convex Optimization: Theory, Algorithms, and Applications

Linear Algebra and its Applications

Lecture 6: Conic Optimization September 8

Research Reports on Mathematical and Computing Sciences

Primal-dual IPM with Asymmetric Barrier

SMCP Documentation. Release Martin S. Andersen and Lieven Vandenberghe

Semidefinite Programming, Combinatorial Optimization and Real Algebraic Geometry

An Infeasible Interior-Point Algorithm with full-newton Step for Linear Optimization

Lecture: Introduction to LP, SDP and SOCP

4. Algebra and Duality

Fast Algorithms for SDPs derived from the Kalman-Yakubovich-Popov Lemma

POLYNOMIAL OPTIMIZATION WITH SUMS-OF-SQUARES INTERPOLANTS

A CONIC INTERIOR POINT DECOMPOSITION APPROACH FOR LARGE SCALE SEMIDEFINITE PROGRAMMING

Interior Point Methods in Mathematical Programming

Inexact primal-dual path-following algorithms for a special class of convex quadratic SDP and related problems

On the implementation and usage of SDPT3 a Matlab software package for semidefinite-quadratic-linear programming, version 4.0

א K ٢٠٠٢ א א א א א א E٤

Exploiting Sparsity in Primal-Dual Interior-Point Methods for Semidefinite Programming.

Tamás Terlaky George N. and Soteria Kledaras 87 Endowed Chair Professor. Chair, Department of Industrial and Systems Engineering Lehigh University

Identifying Redundant Linear Constraints in Systems of Linear Matrix. Inequality Constraints. Shafiu Jibrin

A Homogeneous Interior-Point Algorithm for Nonsymmetric Convex Conic Optimization

A PARALLEL INTERIOR POINT DECOMPOSITION ALGORITHM FOR BLOCK-ANGULAR SEMIDEFINITE PROGRAMS IN POLYNOMIAL OPTIMIZATION

LMI solvers. Some notes on standard. Laboratoire d Analyse et d Architecture des Systèmes. Denis Arzelier - Dimitri Peaucelle - Didier Henrion

Sparse Matrix Theory and Semidefinite Optimization

m i=1 c ix i i=1 F ix i F 0, X O.

A PARALLEL INTERIOR POINT DECOMPOSITION ALGORITHM FOR BLOCK-ANGULAR SEMIDEFINITE PROGRAMS

Semidefinite Programming

Solving conic optimization problems via self-dual embedding and facial reduction: a unified approach

Solving large Semidefinite Programs - Part 1 and 2

Lecture 1. 1 Conic programming. MA 796S: Convex Optimization and Interior Point Methods October 8, Consider the conic program. min.

Inexact primal-dual path-following algorithms for a special class of convex quadratic SDP and related problems

Tamás Terlaky George N. and Soteria Kledaras 87 Endowed Chair Professor. Chair, Department of Industrial and Systems Engineering Lehigh University

Continuous Optimisation, Chpt 9: Semidefinite Optimisation

Solving second order cone programming via a reduced augmented system approach

A semidefinite relaxation scheme for quadratically constrained quadratic problems with an additional linear constraint

Interior Point Methods for Mathematical Programming

A Full Newton Step Infeasible Interior Point Algorithm for Linear Optimization

On the solution of large-scale SDP problems by the modified barrier method using iterative solvers

A direct formulation for sparse PCA using semidefinite programming

Convex Optimization. (EE227A: UC Berkeley) Lecture 6. Suvrit Sra. (Conic optimization) 07 Feb, 2013

A full-newton step infeasible interior-point algorithm for linear programming based on a kernel function

Second Order Cone Programming Relaxation of Nonconvex Quadratic Optimization Problems

Enlarging neighborhoods of interior-point algorithms for linear programming via least values of proximity measure functions

Lecture 10. Primal-Dual Interior Point Method for LP

The Q Method for Second-Order Cone Programming

Implementation of Interior Point Methods for Mixed Semidefinite and Second Order Cone Optimization Problems

Approximate Farkas Lemmas in Convex Optimization

Transcription:

Semidefinite Optimization using MOSEK Joachim Dahl ISMP Berlin, August 23, 2012 http://www.mose.com

Introduction Introduction Semidefinite optimization Algorithms Results and examples Summary MOSEK is a state-of-the-art solver for large-scale linear and conic quadratic problems. Based on the homogeneous model using Nesterov-Todd scaling. Next version includes semidefinite optimization. Goalforfirst versionis to beatsedumi. WhySDP inmosek? It is very powerful and flexible for modeling. We wantthesdp woryou developed to beavailableto our customers! Customers have been asing about it for awhile. 2 /28

Semidefinite optimization 3 /28

Semidefinite optimization Primal and dual problems: minimize p j=1 C j X j subjectto p j=1 A ij X j = b i X j S n j +, maximize b T y subjectto m i=1 y ia ij +S j = C j S j S n j +, wherea ij,c j S n j. Optimality conditions: p A ij X j = b i, j=1 m i=1 y i A ij +S j = C j, X j S j = 0, X j,s j S n j +. EquivalentcomplementaryconditionsifX j,s j S n j + : X j S j = 0 X j S j = 0 X j S j +S j X j = 0. 4 /28

Algorithms 5 /28

Notation For symmetricmatricesu S n we define svec(u) = (U 11, 2U 21,..., 2U n1,u 22, 2U 32,..., 2U n2,...,u nn ) T with inverse operation smat(u) = u 1 u 2 / 2 u n / 2 u 2 / 2 u n+1 u 2n 1 / 2... u n / 2 u n 1 / 2 u n(n+1)/2, and a symmetric product u v := (1/2)(smat(u)smat(v) + smat(v)smat(u)). 6 /28

Notation Let a ij = svec(a ij ), c j := svec(c j ), x j := svec(x j ), s j := svec(s j ), and A := a T 11.... a T 1p., c := c 1., x := x 1., s := s 1.. a T m1... a T mp c p x p s p We then have primal and dual problems: minimize c T x subjectto Ax = b x 0, maximize b T y subjectto A T y +s = c s 0. 7 /28

The homogeneous model Simplified homogeneous model: s 0 κ + 0 A T c A 0 b c T b T 0 x y τ = 0 0 0 x,s 0, τ,κ 0. Note that (x,y,s,κ,τ) = 0isfeasible,and x T s+κτ = 0. Ifτ > 0, κ = 0 then(x,y,s)/τ is aprimal-dualoptimal solution, Ax = bτ, A T y +s = cτ, x T s = 0. Ifκ > 0, τ = 0 theneitherprimalor dualisinfeasible, Ax = 0, A T y +s = 0, c T x b T y < 0, Primalinfeasibleifb T y > 0, dualinfeasibleifc T x < 0. 8 /28

The central path Introduction Semidefinite optimization Algorithms Notation Homogeneous model The central path Primal-dual scaling The search direction Schur complement Practical details Results and examples Summary We definethe centralpath as: s 0 κ + 0 A T c A 0 b c T b T 0 x y τ = γ x s = γµ (0) e, τκ = γµ (0), whereγ [0,1],µ (0) = (x(0) ) T s (0) +κ (0) τ (0) n+1 > 0and e = svec(i n1 ). svec(i np ). A T y (0) +s (0) cτ (0) Ax (0) bτ (0) c T x (0) b T y (0) +κ (0) 9 /28

Primal-dual scaling Introduction Semidefinite optimization Algorithms Notation Homogeneous model The central path Primal-dual scaling The search direction Schur complement Practical details A primal-dualscalingisdefined byanon-singularr as W (x ) := svec(r T X R 1 ), W T (s ) := svec(r S R T ), preserves the semidefinite cone, x 0, s 0 W (x ) 0, W T (s ) 0, Results and examples Summary the central path, x s = γµe W (x ) W T (s ) = γµe, andthe complementarity: x T s = W (x ) T W T (s ). 10 /28

Two popular primal-dual scalings Introduction Semidefinite optimization Algorithms Notation Homogeneous model The central path Primal-dual scaling The search direction Schur complement Practical details Results and examples Summary Helmberg-Kojima-Monteiro(HKM)R 1 = S 1/2 : W (x ) = svec(s 1/2 X S 1/2 ), W T (s ) = e. Nesterov-Todd (NT): R 1 = ( ) 1/2, S 1/2 (S 1/2 X S 1/2 ) 1/2 S 1/2 Satisfies R 1 X R 1 = R S R. Computed as: R 1 = Λ 1/4 Q T L 1, LL T = X, QΛQ T = L T S L whichsatisfies R T X R 1 = R S R T = Λ. 11 /28

The search direction Introduction Semidefinite optimization Algorithms Notation Homogeneous model The central path Primal-dual scaling The search direction Schur complement Practical details Results and examples Summary Linearizing the scaled centrality condition W (x ) W T (s ) = γµe and discarding higher-order terms leads to where x +Π s = γµs 1 x, HKM scaling: Π z = svec(x Z S 1 +S 1 Z X )/2, NT scaling: Π z = svec(r T R Z R T R ). 12 /28

The search direction Most expensive part of interior-point optimizer is solving: A x b τ = (γ 1)(Ax bτ) = r 1 A T y + s c τ = (γ 1)(A T y +s cτ) = r 2 c T x b T y + κ = (γ 1)(c T x b T y +κ) = r 3 x+π s = γµs 1 x = r 4 κ+κ/τ τ = γµ/τ κ = r 5 Gives constant decrease in residuals and complementarity: A(x+α x) b(τ +α τ) = (1 α(1 γ))(ax bτ) (x+α x) T (s+α s)+(κ+α κ)(τ +α τ) = (1 α(1 γ))(x T s+κτ). }{{} <1 Polynomial complexity for γ chosen properly. 13 /28

Solving for the search direction After bloc-elimination,weget a2 2system: AΠA T y (AΠc+b) τ = r y (AΠc b) y +(c T Πc+κ/τ) τ = r τ. We factoraπa T = LL T and eliminate y = L T L 1 ((AΠc+b) τ +r y ). Then ( (AΠc b) T L T L 1 (AΠc+b)+(c T Πc+κ/τ) ) τ = r τ (AΠc b) T L T L 1 r y. An extra(insignificant) solve compared to an infeasible method. 14 /28

Forming the Schur complement Schur complement computed as a sum of outer products: AΠA T = = a T 11... a T 1p Π 1..... a T m1... a T mp p ( P A :, Π A T ) :, PT P, =1 P T Π p a 11... a m1.. a 1p... a mp wherep is apermutationof A :,. Complexity depends on choiceofp. We computeonlytril(aπa T ), soby nnz(p A :, ) 1 nnz(p A :, ) 2 nnz(p A :, ) p, get a good reduction in complexity. More general than SDPA. 15 /28

Forming the Schur complement To evaluate each term a T i Π a j = (R T A ir ) (R T A jr ) = A i (R R T A jr R T ). we follow SeDuMi. Rewrite R R T A jr R T = ˆMM +M T ˆMT, i.e., a symmetric(low-ran) product. A i sparse: evaluate ˆMM +M T ˆMT elementbyelement. A i dense: evaluate ˆMM +M T ˆMT usinglevel3blas. May exploit low-ran structure later. 16 /28

Practical details Introduction Semidefinite optimization Algorithms Notation Homogeneous model The central path Primal-dual scaling The search direction Schur complement Practical details Results and examples Summary Additionally, the MOSEK solver uses Mehrotra s predictor-corrector step. solves mixed linear, conic quadratic and semidefinite problems. employs a presolve step for linear variables, which can reduce problem size and complexity significantly. scales constraints trying to improving conditioning of a problem. 17 /28

Results and examples 18 /28

SDPLIB benchmar Introduction Semidefinite optimization Algorithms Results and examples SDPLIB benchmar Profiling Conic modeling Summary We usethe subsetofsdplib usedbyh. D.Mittelmann for his SDP solver comparison. For brevity we report only iteration count, computation time, and relative gap at termination. Our SDPA-format converter detects bloc-diagonal structure within the semidefinite blocs(sedumi and SDPA does not), so forafewproblemsoursolution time is much smaller. All solversrunonasingle threadon anintel Xeon E32270with4coresat3.4GHz and32gbmemoryusing Linux. 19 /28

SDPLIB benchmar MOSEK 7.0 SeDuMi 1.3 SDPA 7.3.1 Problem it time relgap it time relgap it time relgap arch8 25 1 5.4e-07 28 2-2.2e-12 25 1 7.8e-09 control7 49 5 6.9e-07 38 7-7.2e-09 44 7 6.2e-07 control10 47 21 9.3e-07 43 37-7.4e-08 46 45 6.9e-06 control11 50 38 8.4e-07 45 66-1.6e-08 47 74 4.5e-06 equalg11 22 45-1.0e-07 15 75-6.3e-07 18 19 4.5e-07 equalg51 31 125 8.7e-08 16 145-1.7e-05 19 35 1.3e-08 gpp250-4 28 3-2.0e-07 33 8-3.7e-06 18 1 4.9e-09 gpp500-4 30 18-5.7e-08 21 30-1.4e-06 21 5 1.7e-09 hinf15 18 0 2.8e-03 16 1-1.1e-02 13 0-1.8e-02 maxg11 11 16-2.2e-09 13 45-5.4e-12 16 23 1.7e-08 maxg32 12 262 3.3e-10 14 789-1.0e-12 17 200 1.0e-08 maxg51 20 57 8.3e-08 16 98-9.6e-12 16 23 2.1e-08 mcp250-1 17 1 2.3e-08 15 2-6.3e-12 15 0 3.0e-08 mcp500-1 18 5 3.7e-08 16 15-2.8e-12 16 3 7.9e-09 qap9 23 1 1.1e-07 23 2-1.3e-07 16 1 8.0e-05 qap10 17 1 8.0e-07 27 5-1.8e-06 17 1 3.0e-04 qpg11 11 16 1.1e-09 14 385-1.4e-10 16 88 1.7e-08 qpg51 17 41 2.8e-11 22 1139-3.8e-13 19 196 1.9e-08 ss30 33 4 3.4e-06 28 15-8.4e-12 22 5 5.5e-08 theta3 13 1 8.9e-10 15 5-1.2e-10 17 2 7.8e-09 theta4 14 5 4.8e-09 16 24 1.6e-10 18 10 1.1e-08 theta5 13 11 3.2e-09 16 77-6.5e-10 18 25 1.2e-08 theta6 14 27 6.2e-09 16 232 1.7e-10 18 59 1.2e-08 thetag11 11 25 2.0e-08 15 94-2.7e-13 22 37 1.1e-08 thetag51 16 137 3.7e-08 20 1401-3.4e-12 28 363 4.7e-07 truss7 24 0 8.8e-10 26 13-4.5e-11 26 0-2.5e-08 truss8 21 1 2.0e-10 23 2-4.8e-12 20 1 6.7e-09 relgap = (c T x b T y)/(1+ c T x + b T y ) 20 /28

Profiling Profiling results [%] Problem Schur factor stepsize search dir update arch8 25.7 1.2 9.8 8.0 46.2 control7 80.8 12.3 0.7 1.4 3.0 control10 79.1 17.3 0.3 0.9 1.5 control11 78.8 18.3 0.2 0.8 1.0 equalg11 22.0 0.9 15.1 13.8 35.0 equalg51 22.0 0.9 13.7 12.2 39.5 gpp250-4 19.3 0.9 10.6 8.8 51.2 gpp500-4 20.1 0.9 13.3 12.5 41.1 hinf15 48.0 7.7 4.0 5.4 19.3 maxg11 2.7 1.3 18.9 15.4 45.0 maxg32 1.2 1.1 21.6 15.5 44.0 maxg51 2.4 1.1 19.1 17.4 41.9 mcp250-1 5.4 1.5 16.1 13.4 46.5 mcp500-1 4.0 1.2 17.7 15.7 44.4 qap9 52.0 34.6 1.6 2.4 6.3 qap10 50.1 39.1 1.2 2.0 5.0 qpg11 2.0 1.2 19.6 17.0 42.9 qpg51 2.6 1.2 20.4 14.9 44.4 ss30 12.3 0.2 13.0 11.2 52.3 theta3 42.7 39.7 2.4 2.9 8.7 theta4 33.4 56.0 1.4 2.1 4.7 theta5 26.5 67.2 0.8 1.4 2.5 theta6 21.4 74.5 0.6 1.0 1.5 thetag11 15.3 21.5 13.1 9.9 28.0 thetag51 17.1 65.6 3.2 3.0 7.8 truss7 29.8 2.0 9.4 8.4 34.6 truss8 74.2 8.2 1.9 2.1 11.0 21 /28

Profiling conclusions Introduction Semidefinite optimization Algorithms Results and examples SDPLIB benchmar Profiling Conic modeling Summary FormingAΠA T (Schur)isnot alwaysmost expensive step (as perhaps believed). A good parallelization speedup is possible for computingaπa T. (Factoris alreadyparallelized). The update step (updating variables, neighborhood chec,newnt scaling) isvery cheapforlpand SOCP, butexpensiveforsdp, mainlydueto NT scaling;hkm scaling would give an improvement. Stepsize computations(e.g., stepsize to boundary) are moderately expensive, but hard to speed up. 22 /28

Conic modeling Introduction Semidefinite optimization Algorithms Results and examples SDPLIB benchmar Profiling Conic modeling Summary For A S n, thenearest correlationmatrixis X = arg min X S+ n,diag(x)=e A X F. Conic formulation exploiting symmetry of A X: minimize t subjectto z 2 t svec(a X) = z diag(x) = e X 0. Simple formulation on paper, but complicated to formulate in standard form as in SeDuMi, SDPA,... 23 /28

Conic modeling Introduction Semidefinite optimization Algorithms Results and examples SDPLIB benchmar Profiling Conic modeling Summary For conic modeling you need a modeling tool! Nice MATLAB toolboxes exist (Yalmip, CVX,...), but not for other languages. We developed a modeling API called MOSEK Fusion: A tool forself-dualconicmodeling;no QPor general convex optimization. Idea: create and manipulate linear expressions, and assign them to different cones. Simple but flexible design; scales well for large problems. Available for Python, Java,.NET. Planned versions include MATLAB (soon), C++ (later). Syntax almost identical across platforms. 24 /28

Python/Fusion listing for nearest correlation def svec(e): N = e.get_shape().dim(0) S = Matrix.sparse(N * (N+1) / 2, N * N, range(n * (N+1) / 2), [ (i+j*n) for j in xrange(n) for i in xrange(j,n) ], [ (1.0 if i == j else 2**(0.5)) for j in xrange(n) for i in xrange(j,n) ]) return Expr.mul(S,Expr.reshape( e, N * N )) def nearestcorr(a): M = Model("NearestCorrelation") N = len(a) # Setting up the variables X = M.variable("X",Domain.inPSDCone(N)) # t > z _2 tz = M.variable("tz", Domain.inQCone(N*(N+1)/2+1)) t = tz.index(0) z = tz.slice(1,n*(n+1)/2+1) # svec (A-X) = z M.constraint( Expr.sub(svec(Expr.sub(DenseMatrix(A),X)), z), Domain.equalsTo(0.0) ) # diag(x) = e for i in range(n): M.constraint( X.index(i,i), Domain.equalsTo(1.0) ) # Objective: Minimize t M.objective(ObjectiveSense.Minimize, t) M.solve() 25 /28

Summary 26 /28

Summary Introduction Semidefinite optimization Algorithms Results and examples Summary References SDP solver in MOSEK 7.0 based on self-dual homogeneous embedding and NT scaling. Faster than SeDuMi, comparable with SDPA. Includes Fusion, a powerful tool for self-dual conic modeling. Future directions: Incorporate multithreading. Exploit low-ran structure in data. Possibly implement the HKM direction. Wantto tryit? Contact support@mose.com for a beta version. 27 /28

References [1] E.D. Andersen, C. Roos, and T. Terlay. On implementing a primal-dual interior-point method for conic quadratic optimization. Mathematical Programming, 95(2):249 277, 2003. [2] Y.E. Nesterov and M.J. Todd. Primal-dual interior-point methods for self-scaled cones. SIAM Journal on Optimization, 8(2):324 364, 1998. [3] J.F. Sturm. Implementation of interior point methods for mixed semidefinite and second order cone optimization problems. Optimization Methods and Software, 17(6):1105 1154, 2002. [4] M. Yamashita, K. Fujisawa, and M. Kojima. Implementation and evaluation of sdpa 6.0(semidefinite programming algorithm 6.0). Optimization Methods and Software, 18(4):491 505, 2003. [5] Y.Ye,M.J.Todd,and S.Mizuno. AnO( nl)-iterationhomogeneousand self-dual linear programming algorithm. Mathematics of Operations Research, pages 53 67, 1994. 28 /28