2006 : Solving Linear Problems with MOSEK (Pittsburgh 2006)

60
http://www.mosek.com Solving Linear Optimization Problems with MOSEK. Bo Jensen (Erling D. Andersen) MOSEK ApS, Fruebjergvej 3, Box 16, 2100 Copenhagen, Denmark. Email: [email protected] WWW: http://www.mosek.com

description

Annual Meeting in Pittsburgh 2006. Please note we are approaching MOSEK 6 now.

Transcript of 2006 : Solving Linear Problems with MOSEK (Pittsburgh 2006)

http://www.mosek.com

Solving Linear OptimizationProblems with MOSEK.

Bo Jensen

(Erling D. Andersen)MOSEK ApS,

Fruebjergvej 3, Box 16,2100 Copenhagen,

Denmark.Email: [email protected]

WWW: http://www.mosek.com

Introduction

What is MOSEK

Introduction

What is MOSEK

Topics

The linear optimizer

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

3 / 31

■ A software package.■ Solves large-scale sparse problems.■ Solves linear, conic, and nonlinear convex problems.■ Stand-alone as well as embedded.■ Used to solve problems with up to millions of constraints

and variables.■ Version 4 released spring 2006.■ Version 5 is work in progress.

For details about interfaces, trials, etc. see

http://www.mosek.com.

Topics

Introduction

What is MOSEK

Topics

The linear optimizer

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

4 / 31

■ The problem(P ) min cT x

st Ax = b,

x ≥ 0.

■ The linear optimizers.

◆ Homogenius primal-dual interior-point optimizer(Not main focus in this talk).

◆ Simplex optimizer.

■ What is the recent improvements?■ What is the (relative) performance?

The linear optimizer

Introduction

What is MOSEK

Topics

The linear optimizer

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

5 / 31

■ Presolve.■ Form the reduced primal or dual.■ Scale (optimizer specific).■ Optimize (interior-point or simplex).■ Basis identification (interior-point only).■ Undo scaling and dualizing.■ Postsolve.

The simplex optimizers

Introduction

Introduction

The simplexoptimizers

Introduction

Recent work in thesimplex optimizers

Computationalresults

7 / 31

■ Primal and dual simplex optimizer.

◆ Efficient cold start and warm start.◆ Multiple pricing options. Dantzig, partial,

approximate/exact steepest edge pricing and hybrid.◆ Degeneration handling.◆ Crashes an initial basis.

■ Revised simplex algorithm + many enhancements.■ Many enhancements still possible!.

Recent work in the simplex optimizers

Exploting sparsity aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

9 / 31

■ Simplex algs. require solution of the linear equationsystems

Bf = A:j and BT g = ei.

in each iteration.

Exploting sparsity aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

9 / 31

■ Simplex algs. require solution of the linear equationsystems

Bf = A:j and BT g = ei.

in each iteration.■ Assume a sparse LU factorization of the basis

B = LU.

Exploting sparsity aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

9 / 31

■ Simplex algs. require solution of the linear equationsystems

Bf = A:j and BT g = ei.

in each iteration.■ Assume a sparse LU factorization of the basis

B = LU.

■ f can be computed as follow. Solve

Lf̄ = A:j

and thenUf = f̄ .

Exploting sparsity aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

9 / 31

■ Simplex algs. require solution of the linear equationsystems

Bf = A:j and BT g = ei.

in each iteration.■ Assume a sparse LU factorization of the basis

B = LU.

■ f can be computed as follow. Solve

Lf̄ = A:j

and thenUf = f̄ .

■ Simple implementation requires O(nz(L) + nz(U)) flops.

Exploting sparsity aggressively (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

10 / 31

■ Consider the simple example

10 1x 0 1

f̄1

f̄2

f̄3

=

0x

0

Exploting sparsity aggressively (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

10 / 31

■ Consider the simple example

10 1x 0 1

f̄1

f̄2

f̄3

=

0x

0

■ Clearly sparsity in the RHS can be exploited! (doneextensively in MOSEK).

Exploting sparsity aggressively (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

10 / 31

■ Consider the simple example

10 1x 0 1

f̄1

f̄2

f̄3

=

0x

0

■ Clearly sparsity in the RHS can be exploited! (doneextensively in MOSEK).

■ Gilbert and Peierls [GIL:88] demonstrate how to solve thetriangular system in O(minimal number of flops).

Exploting sparsity aggressively (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

10 / 31

■ Consider the simple example

10 1x 0 1

f̄1

f̄2

f̄3

=

0x

0

■ Clearly sparsity in the RHS can be exploited! (doneextensively in MOSEK).

■ Gilbert and Peierls [GIL:88] demonstrate how to solve thetriangular system in O(minimal number of flops).

■ Aim: Solves with L and U and updates to the LU shouldrun in O(minimal number of flops) and not in O(m) forinstance.

Exploting sparsity aggressively (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

10 / 31

■ Consider the simple example

10 1x 0 1

f̄1

f̄2

f̄3

=

0x

0

■ Clearly sparsity in the RHS can be exploited! (doneextensively in MOSEK).

■ Gilbert and Peierls [GIL:88] demonstrate how to solve thetriangular system in O(minimal number of flops).

■ Aim: Solves with L and U and updates to the LU shouldrun in O(minimal number of flops) and not in O(m) forinstance.

■ Drawback: Both L and U must be stored row and columnwise because solves with LT and UT are required too.

Numerical stability

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

11 / 31

■ Improving numerical stability.

◆ Moved LU update before updating solution.

Numerical stability

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

11 / 31

■ Improving numerical stability.

◆ Moved LU update before updating solution.

■ Saves one solve with L in eiT B−1 [GOL:77].

■ More stable approach.

Numerical stability

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

11 / 31

■ Improving numerical stability.

◆ Moved LU update before updating solution.

■ Saves one solve with L in eiT B−1 [GOL:77].

■ More stable approach.

◆ Better handling of singularities (sing. variables arefixed until later).

Numerical stability

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

11 / 31

■ Improving numerical stability.

◆ Moved LU update before updating solution.

■ Saves one solve with L in eiT B−1 [GOL:77].

■ More stable approach.

◆ Better handling of singularities (sing. variables arefixed until later).

◆ Switch to safe mode if deemed unstable.

Primal simplex (Choosing entering column)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

12 / 31

Partial pricing (PA).

■ Based on the reduced cost.■ Scans only part of non basic variables.■ Cheap (updated row not needed).■ Often takes many iterations.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

13 / 31

Steepest edge pricing

■ Normalized pricing i.e scale reduced cost sj with acolumn norm Tj .

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

13 / 31

Steepest edge pricing

■ Normalized pricing i.e scale reduced cost sj with acolumn norm Tj .

■ Reduced cost are maintained (updated row neededei

T B−1N ).

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

13 / 31

Steepest edge pricing

■ Normalized pricing i.e scale reduced cost sj with acolumn norm Tj .

■ Reduced cost are maintained (updated row neededei

T B−1N ).■ Examples of Steepest edge (SE) and approximations

(ASE):

◆ Exact SE Tj = ||αj = B−1Nj || [FOR:92].

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

13 / 31

Steepest edge pricing

■ Normalized pricing i.e scale reduced cost sj with acolumn norm Tj .

■ Reduced cost are maintained (updated row neededei

T B−1N ).■ Examples of Steepest edge (SE) and approximations

(ASE):

◆ Exact SE Tj = ||αj = B−1Nj || [FOR:92].

■ Work in update one extra btran solvewT = αj

T B−1 and n dot products wT Nj .■ Can be very expensive.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

13 / 31

Steepest edge pricing

■ Normalized pricing i.e scale reduced cost sj with acolumn norm Tj .

■ Reduced cost are maintained (updated row neededei

T B−1N ).■ Examples of Steepest edge (SE) and approximations

(ASE):

◆ Exact SE Tj = ||αj = B−1Nj || [FOR:92].

■ Work in update one extra btran solvewT = αj

T B−1 and n dot products wT Nj .■ Can be very expensive.

◆ Exact DEVEX Tj = ||αj||H [HAR:73].

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

13 / 31

Steepest edge pricing

■ Normalized pricing i.e scale reduced cost sj with acolumn norm Tj .

■ Reduced cost are maintained (updated row neededei

T B−1N ).■ Examples of Steepest edge (SE) and approximations

(ASE):

◆ Exact SE Tj = ||αj = B−1Nj || [FOR:92].

■ Work in update one extra btran solvewT = αj

T B−1 and n dot products wT Nj .■ Can be very expensive.

◆ Exact DEVEX Tj = ||αj||H [HAR:73].

■ Only solve positions where basis variable is in H .■ Weights are reset when reference H is changed.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

■ DEVEX and ASE can be combined with partial pricing!.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

■ DEVEX and ASE can be combined with partial pricing!.

◆ Updated row only needed for a subset of N .

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

■ DEVEX and ASE can be combined with partial pricing!.

◆ Updated row only needed for a subset of N .◆ Much less work i.e updated row sparse.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

■ DEVEX and ASE can be combined with partial pricing!.

◆ Updated row only needed for a subset of N .◆ Much less work i.e updated row sparse.

■ Hybrid pricing (HY).

◆ Starts with a cheap pricing rule (i.e partial) and shiftsto a more expensive (i.e SE,DEVEX or ASE).

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

■ DEVEX and ASE can be combined with partial pricing!.

◆ Updated row only needed for a subset of N .◆ Much less work i.e updated row sparse.

■ Hybrid pricing (HY).

◆ Starts with a cheap pricing rule (i.e partial) and shiftsto a more expensive (i.e SE,DEVEX or ASE).

◆ Hard to determine when to shift (flop counting).

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

14 / 31

■ Examples of Steepest edge (SE) and approximations(ASE): (continued)

◆ Cheaper approximation ASE [SWI:98].

■ Best for sparse problems.■ Weights are reset.

■ DEVEX and ASE can be combined with partial pricing!.

◆ Updated row only needed for a subset of N .◆ Much less work i.e updated row sparse.

■ Hybrid pricing (HY).

◆ Starts with a cheap pricing rule (i.e partial) and shiftsto a more expensive (i.e SE,DEVEX or ASE).

◆ Hard to determine when to shift (flop counting).◆ Default in MOSEK.

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

15 / 31

Pricing examples problem:

Problem Rows Cols Nzdano3mip 3202 13873 79655dbic1 43200 183235 1038761dfl001 6071 12230 35632fome12 24284 48920 142528ken-18 105127 154699 358171lp22 2958 13434 65560mod2 34774 31728 165129nsct2 23003 14981 675156pds-40 66844 212859 462128rail4284 4284 1092610 11279748rlfprim 58866 8052 265927sgpf5y6 246077 308634 828070stormG2-125 66185 157496 418321world 34506 32734 164470

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

16 / 31

Pricing examples iterations:

Problem SE ASE DEVEX PA HYdano3mip 77001 33084 10222 64086 54866dbic1 26138 42343 18634 202450 188402dfl001 34173 50113 50821 635957 50113fome12 144697 220056 346720 2000001 220056ken-18 77061 98707 92409 126829 98707lp22 54089 104082 51179 321998 104082mod2 89687 109460 121352 311964 109460nsct2 11198 10027 10057 22168 10027pds-40 38165 73237 66809 214811 249359rail4284 115852 291826 97428 841251 322663rlfprim 1156 2850 1223 3358 3196sgpf5y6 798 690 535 571 690stormG2-125 45923 52985 54809 142067 52985world 101250 120010 139574 493023 120010Sum 817188 1209470 1061772 5380534 1584616

Primal simplex (Choosing entering column)(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

17 / 31

Pricing examples solution times:

Problem SE ASE DEVEX PA HYdano3mip 152.21 51.73 20.43 18.14 25.85dbic1 84.51 121.03 87.85 130.67 129.48dfl001 25.32 24.34 35.29 205.53 24.28fome12 195.92 223.64 462.48 1140.98 223.31ken-18 91.82 37.61 50.25 26.82 37.54lp22 193.76 104.28 54.81 151.75 105.90mod2 714.31 274.01 526.64 273.54 273.17nsct2 4.64 1.76 2.59 3.32 1.76pds-40 135.26 294.34 420.00 55.76 96.40rail4284 689.56 433.12 293.54 461.40 419.32rlfprim 0.70 1.09 0.68 0.89 0.89sgpf5y6 3.18 3.14 3.07 2.96 3.14stormG2-125 33.03 29.01 42.39 179.95 28.89world 800.60 304.71 652.46 506.31 304.37Sum 3124.82 1903.81 2652.48 3158.02 1674.30

Dual bound flipping idea used more aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

18 / 31

A ranged variable i.e −∞ < lj < xj < uj < ∞ may not bebinding in dual minratio if profitable. This involves flippingnonbasic variables to opposite bound to remain dual feasible .

Dual bound flipping idea used more aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

18 / 31

A ranged variable i.e −∞ < lj < xj < uj < ∞ may not bebinding in dual minratio if profitable. This involves flippingnonbasic variables to opposite bound to remain dual feasible .

■ Longer dual steplengths.

Dual bound flipping idea used more aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

18 / 31

A ranged variable i.e −∞ < lj < xj < uj < ∞ may not bebinding in dual minratio if profitable. This involves flippingnonbasic variables to opposite bound to remain dual feasible .

■ Longer dual steplengths.■ Reduces degeneracy.

Dual bound flipping idea used more aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

18 / 31

A ranged variable i.e −∞ < lj < xj < uj < ∞ may not bebinding in dual minratio if profitable. This involves flippingnonbasic variables to opposite bound to remain dual feasible .

■ Longer dual steplengths.■ Reduces degeneracy.■ Less iterations.

Dual bound flipping idea used more aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

18 / 31

A ranged variable i.e −∞ < lj < xj < uj < ∞ may not bebinding in dual minratio if profitable. This involves flippingnonbasic variables to opposite bound to remain dual feasible .

■ Longer dual steplengths.■ Reduces degeneracy.■ Less iterations.■ More flexibility in pivot choice (i.e potentially more

stable).

Dual bound flipping idea used more aggressively

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

18 / 31

A ranged variable i.e −∞ < lj < xj < uj < ∞ may not bebinding in dual minratio if profitable. This involves flippingnonbasic variables to opposite bound to remain dual feasible .

■ Longer dual steplengths.■ Reduces degeneracy.■ Less iterations.■ More flexibility in pivot choice (i.e potentially more

stable).■ Improves sparsity of the basis when degenerated! (i.e if

xBi becomes feasible no basis exchange is needed).

Dual bound flipping idea used more aggressively(continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

19 / 31

Bound flipping examples:

Iter Time

Problem Rows Cols NB WB NB WB

osa-60 10280 232966 6938 5111 58.12 8.84

world 34506 32734 54566 32606 218.81 50.03

pds-40 66844 212859 34274 26599 96.51 18.48

ken-18 105127 154699 151203 51452 258.18 13.92

client 27216 20567 80555 63660 208.40 84.09

WB = MOSEK 5 Dual simplex with bound flips

NB = MOSEK 5 Dual simplex with no bound flips

Primal (dual) Degeneracy

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

20 / 31

■ Perturb lj and uj (cj).■ Better and more aggressive perturbation scheme.■ Sparsity issues important.■ Clean up perturbations with dual (primal) simplex.■ Many examples where long solves is substantial reduced.

Dualizer

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

21 / 31

■ Added an automatic dualizer. (Dualizing when deemedworthwhile, also for hotstarts).

Dualizer

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Exploting sparsityaggressively

l

Numerical stability

Primal simplex(Choosing enteringcolumn)

Dual bound flippingidea used moreaggressively

Primal (dual)Degeneracy

Dualizer

Computationalresults

21 / 31

■ Added an automatic dualizer. (Dualizing when deemedworthwhile, also for hotstarts).Examples with simplex optimizer free :

Primal form

Problem Rows Cols Time

rlfprim 36294 4046 7.43

shuttle100 34817 34819 119.23

test1000 865 865 0.26

neos1 131581 1892 31.72

Dual form

Problem Rows Cols Time Ratio

rlfprim 4046 36294 1.86 3.99

shuttle100 20 34817 2.98 40.01

test1000 65 864 0.33 0.78

neos1 1892 131581 11.18 2.83

Computational results

Test setup

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

23 / 31

■ 422 problems (mixed size).■ Max 3000 sec. allowed.■ Windows Server 2003 64 bit, Intel Xeon 3.0 GHz , 4GB

RAM.

Primal Simplex

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

24 / 31

MOSEK 5 (alpha) MOSEK 4

First place 293 129

Second place 129 293

Total time 4887.18 11757.24

Arh. Mean 11.98 27.86

Geo. Mean 0.20 0.23

Dual Simplex

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

25 / 31

MOSEK 5 (alpha) MOSEK 4

First place 356 66

Second place 66 356

Total time 8385.90 12149.22

Arh. Mean 19.87 28.79

Geo. Mean 0.16 0.22

Primal, Dual Simplex and Interior (no timeouts)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

26 / 31

Primal Dual Interior

First place 102 226 92

Second place 163 147 110

Third place 155 47 218

Total time 4259.77 2916.68 887.36

Arh. Mean 10.14 6.94 2.11

Geo. Mean 0.19 0.16 0.18

Conclusions

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

27 / 31

■ Interior overall faster than simplex.■ Simplex:

◆ MOSEK 5 (alpha version) substantial faster thanMOSEK 4.

◆ Dual simplex faster than primal.

A number open issues exists

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

28 / 31

■ Simplex:

◆ Degeneracy (non-perturbation method might beneeded in extreme cases).

◆ Improve primal pricing.◆ Better crashing on special problems.◆ Choose more sparse path.

References

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

29 / 31

[AND:00] E. D. Andersen and K. D. Andersen, ”The MOSEKinterior point optimizer for linear programming: animplementation of the homogeneous algorithm, In HighPerformance Optimization, pp 197–232, H. Frenk, K. Roos, T.Terlaky and S. Zhang, editor(s), Kluwer Academic Publishers

[AND:02] E. D. Andersen, ”Certificates of primal and dualinfeasibility in linear programming”, ComputationalOptimization and Applications 20(2), 2001, 171–183.

[AND:99] E. D. Andersen, ”On exploiting problem structure in abasis identification procedure for linear programming”,INFORMS Journal on Computing 11(1), 1999, pp 95–103.

[GIL:88] J. R. Gilbert and T. Peierls, ”Sparse partial pivoting in timeproportional to arithmetic operations”, SIAM J. Sci. Statist.Comput., 9, 1988, pp. 862–874.

[CON] http://www.tsp.gatech.edu/concorde.html

[SCIP:A] http://scip.zib.de/

References (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

30 / 31

[SWI:98] A. Swietanowski, ”A New Steepest Edge Approximationfor the Simplex Method for Linear Programming”,Computational Optimization and Applications, 10(3), 1998,271–281.

[KOS:02] E. Kostina, ”The Long Step Rule in the Bounded-VariableDual Simplex Method: Numerical Experiments”,Mathematical Methods of Operations Research, 55 2002, I. 3.

[MAR:03] Maros I, ”A Generalized Dual Phase-2 SimplexAlgorithm”, European Journal of Operational Research, 149,2003, pp. 1–16

[FOR:92] J. Forrest, and D. Goldfarb, ”Steepest-Edge SimplexAlgorithms for Linear Programming”, MathematicalProgramming, 57, 1992, pp. 341–374.

[HAR:73] P.M.J. Harris, ”Pivot Selection Method of the Devex LP

Code”, Mathematical Programming, 5, 1973, pp. 1–28.

References (continued)

Introduction

The simplexoptimizers

Recent work in thesimplex optimizers

Computationalresults

Test setup

Primal Simplex

Dual Simplex

Primal, DualSimplex and Interior(no timeouts)

ConclusionsA number openissues exists

References

31 / 31

[GOL:77] D. Goldfarb, ”On the Bartels-Golub decomposition for

linear programming bases,” Mathematical. Programming, 13,

1977, pp 272-279