SuperSCS  1.3.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Benchmarks

Table of Contents

Dolan-Moré performance profiles

In order to compare different solvers, we employ the Dolan-Moré performance profile plot.

Let us briefly introduce the Dolan-Moré performance profile plot.

Let \(P\) be a finite set of problems used as benchmarks and \(S\) be a set of solvers we want to compare to one another.

Let \(t_{p,s}\) be the cost (e.g., runtime or flops) to solve a problem \(p\) using a solver \(s\).

We define the ration between \(t_{p,s}\) and the lowest observed cost to solve this problem using some solver \(s\in S\):

\begin{eqnarray*} r_{p,s} = \frac{t_{p,s}}{\min_{s \in S} t_{p,s}}. \end{eqnarray*}

If a solver \(s\) does not solve a problem \(p\), then we assign to \(r_{p,s}\) a very high value \(r_M > r_{p,s}\) for all other \(p,s\).

The cumulative distribution of the performance ratio is the Dolan-Moré performance profile plot.

In particular, define

\begin{eqnarray*} \rho_s(\tau) = \frac{1}{n_p}\#\{p\in P: r_{p,s}\leq \tau\}, \end{eqnarray*}

for \(\tau\geq 1\) and where \(n_p\) is the number of problems.

The Dolan-Moré performance profile is the plot of \(\rho_s\) vs \(\tau\), typically on a logarithmic x-axis.

The Dolan More plot

Benchmark results

Benchmarking parameters

In all benchmark results presented below we set the tolerance to \(10^{-4}\).

The maximum number of iterations was set to a very high value above which we may confidently tell the problem is unlikely to be solved (e.g., \(10^6\)).

Given that different algorithms (SCS, SuperSCS using Broyden directions and SuperSCS using Anderson's acceleration) have a different per-iteration cost, we allow every algorithm to run for a give time (see max_time_milliseconds).

After that maximum time has passed, if the algorithm has not converged we consider that it has failed to solve the problem.

In Broyden's method we deactivated the K0 steps.

LASSO problems

1152 lasso problems

lasso-broyden-50
lasso-broyden-100
lasso-anderson-5
lasso-anderson-10
lasso-anderson-15
lasso-anderson-20

Regularized PCA

288 regularized PCA problems

pca-broyden-100
pca-anderson-15
pca-anderson-20

Logistic regression problems

288 logistic regression problems

logreg-broyden-50
logreg-broyden-100
logreg-anderson-5
logreg-anderson-10
logreg-anderson-15
logreg-anderson-cmp

Semidefinite programming

48 SDP problems

sdp-broyden-50
sdp2-broyden-100
sdp2-anderson-3
sdp2-anderson-5
sdp2-anderson-10
sdp2-anderson-15

Ill-conditioned SDPs

48 ill-conditioned SDP problems

sdp2b-aa-5
sdp2b-aa-5
sdp2b-aa-10
sdp2b-aa-15
sdp2b-bro-50
sdp2b-bro-100

Norm-constrained norm minimization

256 norm-constrained problems

normcon-broyden-50
normcon-broyden-100
normcon-anderson-5
normcon-broyden-50
normcon-broyden-50
normcon-broyden-50

Maros-Meszaros Problems

We tested SuperSCS on the Maros-Meszaros collection of QP problems.

Maros-Meszaros: SCS vs SuperSCS/Broyden
Maros-Meszaros: SCS vs SuperSCS/AA
Maros-Meszaros: SuperSCS Broyden vs AA

Find details here.