22
http://www.mosek.com On recent improvements in the conic optimizer in MOSEK Erling D. Andersen MOSEK ApS, Fruebjergvej 3, Box 16, 2100 Copenhagen, Denmark. Email: [email protected] WWW: http://www.mosek.com August 25, 2009

On recent improvements in the conic optimizer in MOSEK

  • Upload
    edadk

  • View
    1.102

  • Download
    3

Embed Size (px)

DESCRIPTION

The software package MOSEK is capable of solving large-scale sparseconic quadratic optimization problems using an interior-point method.In this talk we will present our recent improvements in the implementation.Moreover, we will present numerical results demonstrating the performance of the implementation.

Citation preview

Page 1: On recent improvements in the conic optimizer in MOSEK

http://www.mosek.com

On recent improvements in theconic optimizer in MOSEK

Erling D. Andersen

MOSEK ApS,Fruebjergvej 3, Box 16,

2100 Copenhagen,Denmark.

Email: [email protected]: http://www.mosek.com

August 25, 2009

Page 2: On recent improvements in the conic optimizer in MOSEK

Introduction

2 / 22

Page 3: On recent improvements in the conic optimizer in MOSEK

What is conic optimization!

IntroductionWhat is conicoptimization!

Basic cone types

CommentsMOSEK and conicoptimization

Topics

An example

The algorithm

3 / 22

Primal problem:

(COP ) min cT xst Ax = b,

x ∈ K1 ×K2 × · · · × Kk,

where each Kk is a convex cone (closed, pointed and solid).Dual problem:

(COD) max bT yst AT y + s = c,

s ∈ K∗

1 ×K∗

2 × · · · × K∗

k.

where K∗

p is the dual cone corresponding to Kp.

Page 4: On recent improvements in the conic optimizer in MOSEK

Basic cone types

IntroductionWhat is conicoptimization!

Basic cone types

CommentsMOSEK and conicoptimization

Topics

An example

The algorithm

4 / 22

■ Linear:Kl := {x ∈ R : x ≥ 0}

■ Quadratic:

Kq :=

x ∈ Rn : x1 ≥

n∑

j=2

x2j

■ Rotated quadratic:

Kr :=

x ∈ Rn : 2x1x2 ≥n

j=2

x2j , x1, x2 ≥ 0

Page 5: On recent improvements in the conic optimizer in MOSEK

Comments

IntroductionWhat is conicoptimization!

Basic cone types

CommentsMOSEK and conicoptimization

Topics

An example

The algorithm

5 / 22

■ All cones are self-dual and homogeneous (=symmetric).■ Many more interesting convex cones exists.

◆ Positive semi-definite.

■ The rotated cone is an (important) special case of thequadratic cone.

◆ Special structure that can be exploited.

■ Applications:

◆ Portfolio optimization (with transactions cost).◆ Convex quadratic optimization.◆ Robust optimization.◆ Image denoising.

Page 6: On recent improvements in the conic optimizer in MOSEK

MOSEK and conic optimization

IntroductionWhat is conicoptimization!

Basic cone types

CommentsMOSEK and conicoptimization

Topics

An example

The algorithm

6 / 22

■ MOSEK solves large-scale sparse problems.■ Version 1 released in 1999 includes CQO.■ Expirience with CQO:

◆ Widely used after a slow start.◆ Mostly finance related models.◆ No robust optimization.◆ Easy to teach the users.

■ Convexity is not an issue.■ Usually leads to good formulations.■ Easy to specify.

◆ More robust than traditional function based convexoptimization.

Page 7: On recent improvements in the conic optimizer in MOSEK

Topics

IntroductionWhat is conicoptimization!

Basic cone types

CommentsMOSEK and conicoptimization

Topics

An example

The algorithm

7 / 22

■ Some experiences.

◆ Is bad duality states an issue.

■ Developments since 1999 [Andersen, Roos, Terlakypaper].

■ Expected future improvements.

Page 8: On recent improvements in the conic optimizer in MOSEK

An example

8 / 22

Page 9: On recent improvements in the conic optimizer in MOSEK

Non-attainment in the dual problem

Introduction

An example

Non-attainment inthe dual problem

Example cont.

The algorithm

9 / 22

minimize x4

subject to x3 + x4 = 1,x1 = 0,x2 = 1,

2x1x2 ≥ x23,

x1, x2 ≥ 0,

(1)

Optimal solution:

x∗

1 = 0, x∗

2 = 1, x∗

3 = 0 and x∗

4 = 1

The dual:maximize y1 + y3

subject to y2 + s1 = 0,y3 + s2 = 0,y1 + s3 = 0,

y1 = 1,2s1s2 ≥ s2

3,s1, s2 ≥ 0.

(2)

Page 10: On recent improvements in the conic optimizer in MOSEK

Example cont.

Introduction

An example

Non-attainment inthe dual problem

Example cont.

The algorithm

10 / 22

Therefore,y∗1 = 1

ands∗3 = −1.

This implies that2s∗1s

2 ≥ (s∗3)2 = 1

and hence s∗2 > 0. Given this fact we can conclude that

y∗1 + y∗3 = 1 − s∗2< 1

so in practice terminated at s∗2 = O(ε) and s∗1 = O(1/ε). Badduality states happens in practice! What to do?

Page 11: On recent improvements in the conic optimizer in MOSEK

The algorithm

11 / 22

Page 12: On recent improvements in the conic optimizer in MOSEK

The homogeneous model

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

12 / 22

(H) Ax − bτ = 0,AT y + s − cτ = 0,

−cT x + bT y − κ = 0,(x; τ) ∈ K, (s;κ) ∈ K

■ All solutions satisfies: xT s + τκ = 0.■ Find a solution such that τ + κ > 0.■ Algorithmic framework:

◆ The Nesterov-Todd search direction.◆ Mehrotra predictor-corrector.◆ Plus other advanced stuff.

Page 13: On recent improvements in the conic optimizer in MOSEK

One iteration

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

13 / 22

NT search direction:

Adx − bdτ = η(Ax(0) − bτ (0)),AT dy + ds − cdτ = η(AT y(0) + s(0) − cτ (0)),

−cT dx + bT dy − dκ = η(−cT x(0) + bT y(0) − κ),X̄(0)T (ΘW )−1ds + S̄(0)TΘWdx = −X̄(0)S̄(0)e + γµ(0)e,

τ (0)dκ + κ(0)dτ = −τ (0)κ(0) + γµ(0).

where η := γ − 1 and γ ∈ [0, 1).New iterate:

x(1)

τ (1)

y(1)

s(1)

κ(1)

=

x(0)

τ (0)

y(0)

s(0)

κ(0)

+ α

dx

dy

ds

Page 14: On recent improvements in the conic optimizer in MOSEK

New stopping criteria

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

14 / 22

Optimal case:

∥Axk

τk − b∥

∥ ≤ εp(1 + ‖b‖),∥

∥AT xk

τk + sk

τk − c∥

∥ ≤ εd(1 + ‖c‖),

min(

(xk)T sk+τkκk

(τk)2,∣

cT xk

τk − bT yk

τk

)

≤ εg max(

1,∣

cT xk

τk

)

,

Primal infeasible case:

εibT yk >

‖b‖

max(1, ‖c‖)

∥AT yk + sk∥

Dual infeasible case:

−εicT xk >

‖c‖

max(1, ‖b‖)

∥Axk∥

All εs are user specified.

Page 15: On recent improvements in the conic optimizer in MOSEK

New step-size computation

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

15 / 22

(x(0) + αdx, τ (0) + αdτ , s(0) + αds, κ

(0) + αdκ) ∈ N (β)

where β ∈ (0, 1) and N(β) is a suitable neighborhooddefinition.Comments:

■ Conic case pre version 6.

◆ Simple back-tracking line search.◆ Usually not close to maximum step-size.

■ Linear case

◆ 0.9995 times the distance to the boundary.◆ Generally accepted.

■ Conic version 6.

◆ 0.95 times the distance to the boundary.◆ Aggressive choice of step-size is not good.◆ But poor asymptotic convergence.

Page 16: On recent improvements in the conic optimizer in MOSEK

An example

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

16 / 22

0.95 fraction:

ITE KAP/TAU POBJ DOBJ MU TIME0 1.0e+000 1.000000000e+000 0.000000000e+000 1.0e+000 0.031 5.0e-002 5.000000000e-002 0.000000000e+000 5.0e-002 0.072 2.5e-003 2.500000000e-003 0.000000000e+000 2.5e-003 0.073 1.2e-004 1.250000000e-004 0.000000000e+000 1.3e-004 0.084 6.2e-006 6.250000000e-006 0.000000000e+000 6.3e-006 0.085 3.1e-007 3.125000000e-007 0.000000000e+000 3.1e-007 0.096 1.6e-008 1.562500000e-008 0.000000000e+000 1.6e-008 0.097 7.8e-010 7.812500000e-010 0.000000000e+000 7.8e-010 0.09

0.99995 faction:

ITE KAP/TAU POBJ DOBJ MU TIME0 1.0e+000 1.000000000e+000 0.000000000e+000 1.0e+000 0.281 5.0e-005 5.000000000e-005 0.000000000e+000 5.0e-005 0.372 2.5e-009 2.500000000e-009 0.000000000e+000 2.5e-009 0.37

Comments:

■ Room for improvements.

Page 17: On recent improvements in the conic optimizer in MOSEK

Other improvements

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

17 / 22

■ Cleaned up the implementation.■ Improved factor, dense column detection etc.■ Improved presolve.

Page 18: On recent improvements in the conic optimizer in MOSEK

The future

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

18 / 22

■ Improve presolve on conic part.■ An automatic dualizer.■ Exploiting intersection of cones structure. (Talked about

that at ISMP 2003).■ Improve performance on mixed integer problems.

Page 19: On recent improvements in the conic optimizer in MOSEK

Computational results

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

19 / 22

■ Computer:

Dell PowerEdge R410Intel Xeon L5520 (2.26GHz, 8M Cache)16GB Memory for 2CPU (4x4GB Dual Rank RDIMMs) 1066Mhz

■ OS: 64 bit CentOS Linux.■ MOSEK version 6.0.0.32.■ MOSEK version 5.0.0.125.

Page 20: On recent improvements in the conic optimizer in MOSEK

Feasible problems

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

20 / 22

■ Small problem: Fastest optimizer ≤ 6s■ Small problem: 6s < Fastest optimizer ≤ 60s■ Ratio

time v6+0.01

time v5 + 0.01.

small medium large6 5 6 5 6 5

Num. 190 190 38 38 9 9Firsts 153 93 28 10 9 0Total time 138.38 414.08 737.19 1325.03 793.56 1141.30G. avg. 0.21 0.23 15.16 21.58 82.45 105.37G. avg. r 0.89 0.70 0.78

■ 10% improvement on average for small problems.■ 20% improvement on average for medium to large sized

problems.■ Much improved stability.

Page 21: On recent improvements in the conic optimizer in MOSEK

Primal infeasible problems

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

21 / 22

Obj. Status Iter. Time1 9.0057488155e-01 p. infs. 8 0.02 -2.1286428024e-03 p. infs. 15 0.03 -6.8372548723e+02 p. infs. 19 0.04 6.1809772127e-03 p. infs. 0 0.05 4.0000000000e+00 p. infs. 0 0.06 -2.2498965504e+03 p. infs. 16 0.07 -1.9942649941e+03 p. infs. 17 0.08 -3.4833362961e+03 p. infs. 16 0.09 -2.9317422673e+03 p. infs. 17 0.010 9.5422268727e-04 p. infs. 25 0.0

■ Smallish problems.■ Obj = bT y. (Negative values for max problems.)■ Detects infeasibility reliably.

Page 22: On recent improvements in the conic optimizer in MOSEK

Summary and conclusions

Introduction

An example

The algorithm

The homogeneousmodel

One iterationNew stoppingcriteriaNew step-sizecomputation

An example

Other improvements

The futureComputationalresults

Feasible problems

Primal infeasibleproblems

Summary andconclusions

22 / 22

■ Bad duality states happens in practice.■ Version 6 is a significant improvement of version 5.■ The homogenous model and alg. detects infeasibility.■ Much work still to be done.