Benchmarks

CUTEst benchmark

With a JSO-compliant solver, such as Percival, we can run the solver on a set of problems, explore the results, and compare to other JSO-compliant solvers using specialized benchmark tools. We are following here the tutorial in SolverBenchmark.jl to run benchmarks on JSO-compliant solvers.

using CUTEst
 Downloading artifact: sifcollection

To test the implementation of Percival, we use the package CUTEst.jl, which implements CUTEstModel an instance of AbstractNLPModel.

using SolverBenchmark

Let us select problems from CUTEst with a maximum of 100 variables or constraints. After removing problems with fixed variables, examples with a constant objective, and infeasibility residuals.

_pnames = select_sif_problems(
  max_var = 100,
  min_con = 1,
  max_con = 100,
  only_free_var = true,
  objtype = 3:6
)

#Remove all the problems ending by NE as Ipopt cannot handle them.
pnamesNE = _pnames[findall(x->occursin(r"NE\b", x), _pnames)]
pnames = setdiff(_pnames, pnamesNE)
cutest_problems = (CUTEstModel(p) for p in pnames)

length(cutest_problems) # number of problems
96

We compare here Percival with Ipopt (Wächter, A., & Biegler, L. T. (2006). On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical programming, 106(1), 25-57.), via the NLPModelsIpopt.jl thin wrapper, with Percival on a subset of CUTEst problems.

using Percival, NLPModelsIpopt

To make stopping conditions comparable, we set Ipopt's parameters dual_inf_tol=Inf, constr_viol_tol=Inf and compl_inf_tol=Inf to disable additional stopping conditions related to those tolerances, acceptable_iter=0 to disable the search for an acceptable point.

#Same time limit for all the solvers
max_time = 1200. #20 minutes
tol = 1e-5

solvers = Dict(
  :ipopt => nlp -> ipopt(
    nlp,
    print_level = 0,
    dual_inf_tol = Inf,
    constr_viol_tol = Inf,
    compl_inf_tol = Inf,
    acceptable_iter = 0,
    max_cpu_time = max_time,
    x0 = nlp.meta.x0,
    tol = tol,
  ),
  :percival => nlp -> percival(
      nlp,
      max_time = max_time,
      max_iter = typemax(Int64),
      max_eval = typemax(Int64),
      atol = tol,
      rtol = tol,
      ctol = tol,
  ),
)

stats = bmark_solvers(solvers, cutest_problems)
Dict{Symbol, DataFrames.DataFrame} with 2 entries:
  :percival => 96×40 DataFrame…
  :ipopt    => 96×42 DataFrame

The function bmark_solvers return a Dict of DataFrames with detailed information on the execution. This output can be saved in a data file.

using JLD2
@save "ipopt_percival_$(string(length(pnames))).jld2" stats

The result of the benchmark can be explored via tables,

pretty_stats(stats[:percival])
┌─────────────┬────────┬──────────┬────────┬────────┬────────┬─────────────┬───────────┬──────────────┬────────┬───────────┬─────────────┬───────────┬────────────┬────────────┬────────────────┬────────────────┬────────────┬─────────────┬───────────┬───────────────┬───────────────┬─────────────┬─────────────────┬─────────────────┬──────────────┬──────────────────┬──────────────────┬────────────┬─────────────┬─────────────┬──────────────┬────────────────┬────────────────────┬──────────────────────┬───────────────────────┬─────────────────────┬──────────────────────┬──────────────────────┬───────────────────────────────────────────┐
│ solver_name │     id │     name │   nvar │   ncon │   nequ │      status │ objective │ elapsed_time │   iter │ dual_feas │ primal_feas │ neval_obj │ neval_grad │ neval_cons │ neval_cons_lin │ neval_cons_nln │ neval_jcon │ neval_jgrad │ neval_jac │ neval_jac_lin │ neval_jac_nln │ neval_jprod │ neval_jprod_lin │ neval_jprod_nln │ neval_jtprod │ neval_jtprod_lin │ neval_jtprod_nln │ neval_hess │ neval_hprod │ neval_jhess │ neval_jhprod │ neval_residual │ neval_jac_residual │ neval_jprod_residual │ neval_jtprod_residual │ neval_hess_residual │ neval_jhess_residual │ neval_hprod_residual │                                 extrainfo │
├─────────────┼────────┼──────────┼────────┼────────┼────────┼─────────────┼───────────┼──────────────┼────────┼───────────┼─────────────┼───────────┼────────────┼────────────┼────────────────┼────────────────┼────────────┼─────────────┼───────────┼───────────────┼───────────────┼─────────────┼─────────────────┼─────────────────┼──────────────┼──────────────────┼──────────────────┼────────────┼─────────────┼─────────────┼──────────────┼────────────────┼────────────────────┼──────────────────────┼───────────────────────┼─────────────────────┼──────────────────────┼──────────────────────┼───────────────────────────────────────────┤
│    percival │      1 │   POLAK4 │      3 │      3 │      0 │ first_order │ -5.07e-17 │     1.96e+01 │  59268 │  1.91e-06 │    5.81e-15 │   1116427 │    1193073 │    2096911 │              0 │        2096911 │          0 │           0 │         0 │             0 │             0 │    15252636 │               0 │        15252636 │     16504977 │                0 │                0 │          0 │    15252636 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      2 │  EXPFITA │      5 │     22 │      0 │ first_order │  1.14e-03 │     1.17e-03 │      5 │  5.18e-09 │    3.47e-11 │        12 │         22 │         12 │             12 │              0 │          0 │           0 │         0 │             0 │             0 │         351 │             702 │               0 │          378 │                0 │                0 │          0 │         351 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      3 │     MSS1 │     90 │     73 │      0 │ first_order │ -1.60e+01 │     2.32e+01 │     11 │  1.04e-05 │    7.74e-06 │      8305 │      10003 │       8631 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │     1677450 │               0 │               0 │      1687464 │                0 │                0 │          0 │     1677450 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      4 │     HS79 │      5 │      3 │      0 │ first_order │  7.88e-02 │     6.87e-04 │      6 │  5.61e-12 │    1.85e-09 │        38 │         42 │         47 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         410 │               0 │               0 │          458 │                0 │                0 │          0 │         410 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      5 │     S268 │      5 │      5 │      0 │ first_order │  1.46e-11 │     3.83e-04 │      4 │  1.88e-07 │    1.92e-08 │        11 │         19 │         11 │             11 │              0 │          0 │           0 │         0 │             0 │             0 │         190 │             380 │               0 │          213 │                0 │                0 │          0 │         190 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      6 │      HS7 │      2 │      1 │      0 │ first_order │ -1.73e+00 │     7.50e-04 │      6 │  6.38e-12 │    9.03e-10 │       102 │         80 │        137 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         723 │               0 │               0 │          809 │                0 │                0 │          0 │         723 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      7 │     HS48 │      5 │      2 │      0 │ first_order │  0.00e+00 │     1.13e-04 │      6 │  9.92e-14 │    8.01e-15 │         7 │         19 │          7 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          47 │               0 │               0 │           72 │                0 │                0 │          0 │          47 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      8 │      BT9 │      4 │      2 │      0 │ first_order │ -1.00e+00 │     3.22e-04 │      6 │  2.08e-09 │    1.39e-06 │        34 │         39 │         41 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         275 │               0 │               0 │          320 │                0 │                0 │          0 │         275 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │      9 │ MIFFLIN1 │      3 │      2 │      0 │ first_order │ -1.00e+00 │     2.87e-04 │      5 │  1.47e-14 │    1.11e-07 │        25 │         32 │         29 │             29 │             29 │          0 │           0 │         0 │             0 │             0 │         223 │             446 │             223 │          260 │                0 │                0 │          0 │         223 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     10 │   HAIFAS │     13 │      9 │      0 │ first_order │ -4.50e-01 │     6.67e-04 │      5 │  3.85e-08 │    6.77e-09 │        25 │         29 │         31 │              0 │             31 │          0 │           0 │         0 │             0 │             0 │         241 │               0 │             241 │          275 │                0 │                0 │          0 │         241 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     11 │ GIGOMEZ1 │      3 │      3 │      0 │ first_order │ -3.00e+00 │     9.89e-04 │      6 │  3.97e-12 │    1.28e-09 │        76 │         65 │        101 │            101 │            101 │          0 │           0 │         0 │             0 │             0 │         774 │            1548 │             774 │          845 │                0 │                0 │          0 │         774 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     12 │ GIGOMEZ2 │      3 │      3 │      0 │ first_order │  1.95e+00 │     7.84e-04 │      5 │  1.30e-06 │    5.92e-06 │        48 │         48 │         58 │              0 │             58 │          0 │           0 │         0 │             0 │             0 │         490 │               0 │             490 │          543 │                0 │                0 │          0 │         490 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     13 │ DEMYMALO │      3 │      3 │      0 │ first_order │ -3.00e+00 │     5.05e-04 │      4 │  2.60e-11 │    8.68e-07 │        42 │         44 │         48 │             48 │             48 │          0 │           0 │         0 │             0 │             0 │         386 │             772 │             386 │          434 │                0 │                0 │          0 │         386 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     14 │     HS42 │      4 │      2 │      0 │ first_order │  1.39e+01 │     3.65e-04 │      5 │  2.30e-08 │    1.97e-07 │        26 │         36 │         39 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         327 │               0 │               0 │          368 │                0 │                0 │          0 │         327 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     15 │     HS27 │      3 │      1 │      0 │ first_order │  4.00e-02 │     4.79e-04 │      4 │  2.57e-09 │    1.33e-06 │        58 │         54 │         70 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         452 │               0 │               0 │          510 │                0 │                0 │          0 │         452 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     16 │ DIXCHLNG │     10 │      5 │      0 │ first_order │  1.04e-08 │     2.17e-03 │      9 │  1.73e-11 │    3.10e-06 │        34 │         45 │         42 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         480 │               0 │               0 │          534 │                0 │                0 │          0 │         480 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     17 │ CHACONN1 │      3 │      3 │      0 │ first_order │  1.95e+00 │     2.95e-04 │      4 │  1.28e-10 │    9.40e-06 │        17 │         25 │         17 │              0 │             17 │          0 │           0 │         0 │             0 │             0 │         173 │               0 │             173 │          202 │                0 │                0 │          0 │         173 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     18 │ KIWCRESC │      3 │      2 │      0 │ first_order │  1.98e-06 │     6.17e-04 │      4 │  2.04e-12 │    5.60e-06 │        52 │         51 │         62 │              0 │             62 │          0 │           0 │         0 │             0 │             0 │         474 │               0 │             474 │          529 │                0 │                0 │          0 │         474 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     19 │    HS100 │      7 │      4 │      0 │ first_order │  6.81e+02 │     1.26e-02 │      6 │  2.84e-08 │    7.17e-09 │       486 │        405 │        582 │              0 │            582 │          0 │           0 │         0 │             0 │             0 │        6908 │               0 │            6908 │         7319 │                0 │                0 │          0 │        6908 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     20 │  WOMFLET │      3 │      3 │      0 │ first_order │  6.05e+00 │     4.43e-04 │      5 │  6.47e-07 │    8.24e-06 │        29 │         36 │         32 │              0 │             32 │          0 │           0 │         0 │             0 │             0 │         297 │               0 │             297 │          338 │                0 │                0 │          0 │         297 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     21 │     BT11 │      5 │      3 │      0 │ first_order │  8.25e-01 │     6.13e-04 │      6 │  2.47e-13 │    2.47e-06 │        37 │         42 │         45 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         363 │               0 │               0 │          411 │                0 │                0 │          0 │         363 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     22 │   POLAK3 │     12 │     10 │      0 │   exception │       Inf │          Inf │      0 │       Inf │         Inf │         0 │          0 │          0 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │           0 │               0 │               0 │            0 │                0 │                0 │          0 │           0 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │ ErrorException("radius must be positive") │
│    percival │     23 │  MARATOS │      2 │      1 │      0 │ first_order │ -1.00e+00 │     1.10e-04 │      5 │  1.17e-11 │    1.52e-06 │        13 │         21 │         15 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          85 │               0 │               0 │          111 │                0 │                0 │          0 │          85 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     24 │    HS113 │     10 │      8 │      0 │ first_order │  2.43e+01 │     1.33e-02 │      6 │  4.76e-07 │    1.30e-09 │       237 │        218 │        281 │            281 │            281 │          0 │           0 │         0 │             0 │             0 │        5970 │           11940 │            5970 │         6194 │                0 │                0 │          0 │        5970 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     25 │      BT6 │      5 │      2 │      0 │ first_order │  5.15e+00 │     1.69e-03 │      5 │  3.76e-08 │    8.10e-09 │        82 │         72 │        104 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         827 │               0 │               0 │          904 │                0 │                0 │          0 │         827 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     26 │ ORTHREGB │     27 │      6 │      0 │ first_order │  1.47e-19 │     5.54e-03 │      5 │  5.46e-07 │    8.30e-12 │        72 │         58 │        101 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │        1241 │               0 │               0 │         1304 │                0 │                0 │          0 │        1241 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     27 │      HS6 │      2 │      1 │      0 │ first_order │  4.04e-16 │     1.11e-03 │      3 │  3.44e-05 │    2.48e-06 │       170 │        100 │        246 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │        1200 │               0 │               0 │         1303 │                0 │                0 │          0 │        1200 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     28 │ GIGOMEZ3 │      3 │      3 │      0 │ first_order │  2.00e+00 │     7.00e-04 │      5 │  1.98e-13 │    5.29e-08 │        41 │         38 │         55 │              0 │             55 │          0 │           0 │         0 │             0 │             0 │         452 │               0 │             452 │          495 │                0 │                0 │          0 │         452 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     29 │     HS28 │      3 │      1 │      0 │ first_order │  6.41e-31 │     8.11e-05 │      6 │  7.50e-13 │    1.00e-13 │         7 │         19 │          7 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          42 │               0 │               0 │           67 │                0 │                0 │          0 │          42 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     30 │ MINMAXBD │      5 │     20 │      0 │ first_order │  1.16e+02 │     7.06e-02 │      6 │  1.38e-05 │    8.75e-08 │       715 │        618 │        846 │              0 │            846 │          0 │           0 │         0 │             0 │             0 │       17803 │               0 │           17803 │        18427 │                0 │                0 │          0 │       17803 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     31 │     HS10 │      2 │      1 │      0 │ first_order │ -1.00e+00 │     3.99e-04 │      6 │  2.47e-14 │    5.91e-07 │        38 │         50 │         39 │              0 │             39 │          0 │           0 │         0 │             0 │             0 │         333 │               0 │             333 │          389 │                0 │                0 │          0 │         333 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     32 │     HS40 │      4 │      3 │      0 │ first_order │ -2.50e-01 │     2.17e-04 │      5 │  7.11e-08 │    8.29e-06 │        19 │         25 │         23 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         153 │               0 │               0 │          183 │                0 │                0 │          0 │         153 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     33 │      BT8 │      5 │      2 │      0 │ first_order │  1.00e+00 │     1.91e-04 │      5 │  2.71e-14 │    7.18e-08 │        19 │         28 │         21 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         142 │               0 │               0 │          175 │                0 │                0 │          0 │         142 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     34 │      BT1 │      2 │      1 │      0 │ first_order │ -1.00e+00 │     2.56e-04 │      5 │  3.10e-12 │    8.74e-09 │        37 │         37 │         48 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         245 │               0 │               0 │          287 │                0 │                0 │          0 │         245 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     35 │     HS43 │      4 │      3 │      0 │ first_order │ -4.40e+01 │     7.36e-04 │      6 │  3.25e-12 │    4.34e-08 │        38 │         45 │         44 │              0 │             44 │          0 │           0 │         0 │             0 │             0 │         431 │               0 │             431 │          482 │                0 │                0 │          0 │         431 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     36 │  MAKELA2 │      3 │      3 │      0 │ first_order │  7.20e+00 │     5.15e-04 │      6 │  5.38e-10 │    1.03e-09 │        27 │         39 │         28 │              0 │             28 │          0 │           0 │         0 │             0 │             0 │         369 │               0 │             369 │          414 │                0 │                0 │          0 │         369 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     37 │     HS14 │      2 │      2 │      0 │ first_order │  1.39e+00 │     2.00e-04 │      6 │  6.30e-13 │    1.00e-07 │        15 │         28 │         15 │             15 │             15 │          0 │           0 │         0 │             0 │             0 │         142 │             284 │             142 │          176 │                0 │                0 │          0 │         142 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     38 │  DIPIGRI │      7 │      4 │      0 │ first_order │  6.81e+02 │     8.78e-03 │      6 │  2.06e-06 │    8.19e-09 │       304 │        256 │        366 │              0 │            366 │          0 │           0 │         0 │             0 │             0 │        5016 │               0 │            5016 │         5278 │                0 │                0 │          0 │        5016 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     39 │ MIFFLIN2 │      3 │      2 │      0 │ first_order │ -1.00e+00 │     5.97e-04 │      5 │  3.33e-12 │    2.68e-06 │        55 │         65 │         56 │              0 │             56 │          0 │           0 │         0 │             0 │             0 │         468 │               0 │             468 │          538 │                0 │                0 │          0 │         468 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     40 │     HS91 │      5 │      1 │      0 │ first_order │  1.36e+00 │     1.51e-01 │     15 │  2.31e-12 │    2.44e-06 │        58 │         90 │         61 │              0 │             61 │          0 │           0 │         0 │             0 │             0 │         433 │               0 │             433 │          538 │                0 │                0 │          0 │         433 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     41 │ BYRDSPHR │      3 │      2 │      0 │ first_order │ -4.68e+00 │     3.45e-04 │      5 │  2.40e-10 │    1.31e-08 │        38 │         42 │         45 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         292 │               0 │               0 │          339 │                0 │                0 │          0 │         292 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     42 │     HS50 │      5 │      3 │      0 │ first_order │  6.39e-15 │     2.03e-04 │      6 │  6.25e-13 │    1.20e-07 │        11 │         23 │         11 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         103 │               0 │               0 │          132 │                0 │                0 │          0 │         103 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     43 │ CHACONN2 │      3 │      3 │      0 │ first_order │  2.00e+00 │     8.15e-04 │      5 │  1.33e-13 │    5.30e-08 │        45 │         40 │         61 │              0 │             61 │          0 │           0 │         0 │             0 │             0 │         507 │               0 │             507 │          552 │                0 │                0 │          0 │         507 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     44 │     BT10 │      2 │      2 │      0 │ first_order │ -1.00e+00 │     2.44e-04 │      6 │  2.75e-10 │    8.34e-07 │        26 │         35 │         29 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         202 │               0 │               0 │          243 │                0 │                0 │          0 │         202 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     45 │ HALDMADS │      6 │     42 │      0 │ first_order │  1.20e-04 │     1.57e-02 │      8 │  7.99e-11 │    8.98e-06 │        38 │         49 │         45 │              0 │             45 │          0 │           0 │         0 │             0 │             0 │        2285 │               0 │            2285 │         2342 │                0 │                0 │          0 │        2285 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     46 │ ROSENMMX │      5 │      4 │      0 │ first_order │ -4.40e+01 │     5.45e-03 │      6 │  1.42e-08 │    2.36e-10 │       267 │        220 │        328 │              0 │            328 │          0 │           0 │         0 │             0 │             0 │        3396 │               0 │            3396 │         3622 │                0 │                0 │          0 │        3396 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     47 │     HS26 │      3 │      1 │      0 │ first_order │  3.64e-11 │     5.32e-04 │      6 │  1.72e-07 │    1.62e-07 │        50 │         51 │         61 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         423 │               0 │               0 │          480 │                0 │                0 │          0 │         423 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     48 │   SPIRAL │      3 │      2 │      0 │ first_order │  9.41e-08 │     1.80e-03 │      4 │  1.58e-06 │    1.33e-07 │       132 │        108 │        164 │              0 │            164 │          0 │           0 │         0 │             0 │             0 │        1069 │               0 │            1069 │         1181 │                0 │                0 │          0 │        1069 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     49 │      BT7 │      5 │      3 │      0 │ first_order │  3.60e+02 │     5.73e-04 │      8 │  1.34e-10 │    1.84e-08 │        41 │         52 │         49 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         399 │               0 │               0 │          459 │                0 │                0 │          0 │         399 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     50 │      HS9 │      2 │      1 │      0 │ first_order │ -5.00e-01 │     6.29e-05 │      4 │  5.15e-06 │    3.01e-08 │         5 │         13 │          5 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          30 │               0 │               0 │           47 │                0 │                0 │          0 │          30 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     51 │ HS100LNP │      7 │      2 │      0 │ first_order │  6.81e+02 │     6.43e-04 │      5 │  1.04e-05 │    3.29e-06 │        39 │         38 │         50 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         423 │               0 │               0 │          466 │                0 │                0 │          0 │         423 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     52 │  GENHS28 │     10 │      8 │      0 │ first_order │  9.27e-01 │     3.33e-04 │      6 │  9.08e-11 │    1.69e-08 │         6 │         18 │          6 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          72 │               0 │               0 │           96 │                0 │                0 │          0 │          72 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     53 │      BT5 │      3 │      2 │      0 │ first_order │  9.62e+02 │     2.53e-04 │      5 │  1.13e-06 │    4.47e-06 │        25 │         30 │         32 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         200 │               0 │               0 │          235 │                0 │                0 │          0 │         200 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     54 │     HS61 │      3 │      2 │      0 │ first_order │ -1.44e+02 │     2.59e-04 │      4 │  4.87e-06 │    1.44e-07 │        29 │         34 │         32 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         227 │               0 │               0 │          265 │                0 │                0 │          0 │         227 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     55 │      CB2 │      3 │      3 │      0 │ first_order │  1.95e+00 │     9.49e-04 │      6 │  3.79e-09 │    9.97e-09 │        56 │         64 │         61 │              0 │             61 │          0 │           0 │         0 │             0 │             0 │         636 │               0 │             636 │          706 │                0 │                0 │          0 │         636 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     56 │     HS77 │      5 │      2 │      0 │ first_order │  5.53e+00 │     1.05e-03 │      6 │  8.49e-08 │    4.85e-08 │        66 │         65 │         80 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         684 │               0 │               0 │          755 │                0 │                0 │          0 │         684 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     57 │     HS39 │      4 │      2 │      0 │ first_order │ -1.00e+00 │     3.53e-04 │      6 │  2.08e-09 │    1.39e-06 │        34 │         39 │         41 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         275 │               0 │               0 │          320 │                0 │                0 │          0 │         275 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     58 │     HS88 │      2 │      1 │      0 │ first_order │  1.36e+00 │     6.11e-02 │     15 │  7.50e-12 │    2.44e-06 │        62 │         92 │         67 │              0 │             67 │          0 │           0 │         0 │             0 │             0 │         444 │               0 │             444 │          551 │                0 │                0 │          0 │         444 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     59 │  MWRIGHT │      5 │      3 │      0 │ first_order │  2.50e+01 │     2.21e-04 │      5 │  1.43e-08 │    2.51e-07 │        16 │         22 │         20 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         133 │               0 │               0 │          160 │                0 │                0 │          0 │         133 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     60 │      BT4 │      3 │      2 │      0 │ first_order │ -4.55e+01 │     2.20e-04 │      6 │  2.34e-12 │    1.09e-06 │        21 │         32 │         23 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         175 │               0 │               0 │          213 │                0 │                0 │          0 │         175 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     61 │      BT2 │      3 │      1 │      0 │ first_order │  3.26e-02 │     1.79e-03 │      7 │  3.95e-08 │    3.59e-12 │       180 │        132 │        244 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │        1496 │               0 │               0 │         1635 │                0 │                0 │          0 │        1496 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     62 │  MAKELA3 │     21 │     20 │      0 │ first_order │  6.85e-09 │     1.89e-02 │      6 │  1.94e-08 │    1.32e-08 │       588 │        354 │        839 │              0 │            839 │          0 │           0 │         0 │             0 │             0 │        6165 │               0 │            6165 │         6525 │                0 │                0 │          0 │        6165 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     63 │     HS46 │      5 │      2 │      0 │ first_order │  1.13e-11 │     4.48e-04 │      6 │  7.54e-06 │    1.90e-06 │        25 │         32 │         30 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         248 │               0 │               0 │          286 │                0 │                0 │          0 │         248 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     64 │     HS49 │      5 │      2 │      0 │ first_order │  1.56e-09 │     2.39e-04 │      6 │  9.95e-07 │    1.82e-14 │        18 │         30 │         18 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         178 │               0 │               0 │          214 │                0 │                0 │          0 │         178 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     65 │   GOFFIN │     51 │     50 │      0 │ first_order │ -1.98e-07 │     1.56e-02 │      4 │  1.74e-09 │    1.40e-06 │        31 │         39 │         31 │             31 │              0 │          0 │           0 │         0 │             0 │             0 │         700 │            1400 │               0 │          743 │                0 │                0 │          0 │         700 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     66 │ HS100MOD │      7 │      4 │      0 │ first_order │  6.79e+02 │     2.42e-01 │      7 │  1.80e-05 │    8.66e-12 │      2161 │       1607 │       2762 │              0 │           2762 │          0 │           0 │         0 │             0 │             0 │      135409 │               0 │          135409 │       137023 │                0 │                0 │          0 │      135409 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     67 │   MADSEN │      3 │      6 │      0 │ first_order │  6.16e-01 │     1.15e-03 │      5 │  2.67e-06 │    1.34e-06 │        49 │         58 │         50 │              0 │             50 │          0 │           0 │         0 │             0 │             0 │         619 │               0 │             619 │          682 │                0 │                0 │          0 │         619 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     68 │   POLAK6 │      5 │      4 │      0 │ first_order │ -4.40e+01 │     5.38e-02 │      6 │  1.10e-08 │    2.18e-07 │      2097 │       1900 │       2308 │              0 │           2308 │          0 │           0 │         0 │             0 │             0 │       26825 │               0 │           26825 │        28731 │                0 │                0 │          0 │       26825 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     69 │     HS78 │      5 │      3 │      0 │ first_order │ -2.92e+00 │     2.10e-04 │      4 │  3.24e-09 │    9.98e-07 │        15 │         19 │         19 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         132 │               0 │               0 │          155 │                0 │                0 │          0 │         132 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     70 │     HS90 │      4 │      1 │      0 │ first_order │  1.36e+00 │     9.13e-02 │     15 │  2.86e-12 │    2.44e-06 │        58 │         90 │         61 │              0 │             61 │          0 │           0 │         0 │             0 │             0 │         431 │               0 │             431 │          536 │                0 │                0 │          0 │         431 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     71 │     HS11 │      2 │      1 │      0 │ first_order │ -8.50e+00 │     2.53e-04 │      6 │  1.47e-13 │    1.39e-08 │        22 │         35 │         22 │              0 │             22 │          0 │           0 │         0 │             0 │             0 │         210 │               0 │             210 │          251 │                0 │                0 │          0 │         210 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     72 │     HS29 │      3 │      1 │      0 │ first_order │ -2.26e+01 │     4.08e-04 │      5 │  2.88e-07 │    1.87e-06 │        36 │         42 │         40 │              0 │             40 │          0 │           0 │         0 │             0 │             0 │         297 │               0 │             297 │          344 │                0 │                0 │          0 │         297 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     73 │ S316-322 │      2 │      1 │      0 │ first_order │  3.34e+02 │     1.31e-04 │      7 │  8.54e-14 │    3.89e-07 │        16 │         31 │         16 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          95 │               0 │               0 │          133 │                0 │                0 │          0 │          95 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     74 │      FLT │      2 │      2 │      0 │ first_order │ -3.10e-28 │     8.42e-05 │      3 │  1.10e-05 │    1.84e-12 │        10 │         16 │         10 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          55 │               0 │               0 │           74 │                0 │                0 │          0 │          55 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     75 │   POLAK1 │      3 │      2 │      0 │ first_order │  2.72e+00 │     1.50e-03 │      5 │  1.32e-10 │    3.73e-07 │       133 │         87 │        189 │              0 │            189 │          0 │           0 │         0 │             0 │             0 │        1147 │               0 │            1147 │         1239 │                0 │                0 │          0 │        1147 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     76 │  MAKELA4 │     21 │     40 │      0 │ first_order │  4.81e-18 │     2.73e-04 │      4 │  6.66e-16 │    3.13e-17 │         8 │         16 │          8 │              8 │              0 │          0 │           0 │         0 │             0 │             0 │          79 │             158 │               0 │           99 │                0 │                0 │          0 │          79 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     77 │    SNAKE │      2 │      2 │      0 │ first_order │  3.65e-05 │     5.16e+02 │      7 │  1.02e-09 │    2.61e-09 │  60436602 │   32866053 │   88090172 │              0 │       88090172 │          0 │           0 │         0 │             0 │             0 │   404119452 │               0 │       404119452 │    436985512 │                0 │                0 │          0 │   404119452 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     78 │   POLAK2 │     11 │      2 │      0 │ first_order │  5.46e+01 │     1.26e-03 │      5 │  7.76e-09 │    1.41e-13 │        60 │         58 │         73 │              0 │             73 │          0 │           0 │         0 │             0 │             0 │         657 │               0 │             657 │          720 │                0 │                0 │          0 │         657 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     79 │     HS92 │      6 │      1 │      0 │ first_order │  1.36e+00 │     2.00e-01 │     15 │  1.88e-12 │    2.44e-06 │        65 │         93 │         74 │              0 │             74 │          0 │           0 │         0 │             0 │             0 │         572 │               0 │             572 │          680 │                0 │                0 │          0 │         572 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     80 │ MINMAXRB │      3 │      4 │      0 │ first_order │  9.12e-10 │     2.56e-03 │      5 │  3.66e-09 │    1.82e-09 │       180 │        174 │        197 │            197 │            197 │          0 │           0 │         0 │             0 │             0 │        2041 │            4082 │            2041 │         2220 │                0 │                0 │          0 │        2041 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     81 │  MAKELA1 │      3 │      2 │      0 │ first_order │ -1.41e+00 │     3.41e-04 │      5 │  8.90e-15 │    2.55e-07 │        28 │         33 │         34 │             34 │             34 │          0 │           0 │         0 │             0 │             0 │         241 │             482 │             241 │          279 │                0 │                0 │          0 │         241 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     82 │     HS51 │      5 │      3 │      0 │ first_order │  1.23e-11 │     1.12e-04 │      7 │  9.49e-13 │    2.13e-06 │         8 │         22 │          8 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          56 │               0 │               0 │           85 │                0 │                0 │          0 │          56 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     83 │     HS56 │      7 │      4 │      0 │ first_order │ -3.46e+00 │     2.22e-04 │      5 │  8.28e-13 │    4.49e-07 │        14 │         23 │         16 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         115 │               0 │               0 │          143 │                0 │                0 │          0 │         115 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     84 │     BT12 │      5 │      3 │      0 │ first_order │  6.19e+00 │     5.70e-04 │      5 │  7.90e-10 │    9.13e-06 │        44 │         50 │         49 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         471 │               0 │               0 │          526 │                0 │                0 │          0 │         471 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     85 │ PENTAGON │      6 │     15 │      0 │ first_order │  1.37e-04 │     7.08e-04 │      4 │  2.74e-07 │    2.72e-08 │        26 │         27 │         33 │             33 │              0 │          0 │           0 │         0 │             0 │             0 │         339 │             678 │               0 │          370 │                0 │                0 │          0 │         339 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     86 │ HS111LNP │     10 │      3 │      0 │ first_order │ -4.78e+01 │     3.47e-03 │      5 │  7.53e-10 │    3.56e-06 │        24 │         34 │         25 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         347 │               0 │               0 │          386 │                0 │                0 │          0 │         347 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     87 │     HS52 │      5 │      3 │      0 │ first_order │  5.33e+00 │     1.02e-04 │      6 │  3.28e-12 │    3.17e-07 │         6 │         18 │          6 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          52 │               0 │               0 │           76 │                0 │                0 │          0 │          52 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     88 │     HS89 │      3 │      1 │      0 │ first_order │  1.36e+00 │     7.55e-02 │     15 │  4.54e-12 │    2.44e-06 │        56 │         90 │         57 │              0 │             57 │          0 │           0 │         0 │             0 │             0 │         426 │               0 │             426 │          531 │                0 │                0 │          0 │         426 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     89 │ CONGIGMZ │      3 │      5 │      0 │ first_order │  2.00e+00 │     6.24e-04 │      5 │  5.11e-12 │    4.92e-08 │        32 │         36 │         38 │             38 │             38 │          0 │           0 │         0 │             0 │             0 │         418 │             836 │             418 │          459 │                0 │                0 │          0 │         418 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     90 │   POLAK5 │      3 │      2 │      0 │ first_order │  5.00e+01 │     2.36e-02 │      5 │  1.86e-09 │    9.17e-09 │      1643 │       1783 │       2423 │              0 │           2423 │          0 │           0 │         0 │             0 │             0 │       19886 │               0 │           19886 │        21674 │                0 │                0 │          0 │       19886 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     91 │     HS47 │      5 │      3 │      0 │ first_order │  1.39e-13 │     6.51e-04 │      5 │  1.05e-06 │    1.62e-07 │        39 │         45 │         44 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │         406 │               0 │               0 │          456 │                0 │                0 │          0 │         406 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     92 │      CB3 │      3 │      3 │      0 │ first_order │  2.00e+00 │     7.65e-04 │      5 │  9.03e-14 │    5.41e-08 │        45 │         40 │         61 │              0 │             61 │          0 │           0 │         0 │             0 │             0 │         504 │               0 │             504 │          549 │                0 │                0 │          0 │         504 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     93 │     HS12 │      2 │      1 │      0 │ first_order │ -3.00e+01 │     3.16e-04 │      5 │  1.10e-11 │    4.64e-08 │        32 │         37 │         38 │              0 │             38 │          0 │           0 │         0 │             0 │             0 │         256 │               0 │             256 │          298 │                0 │                0 │          0 │         256 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     94 │      BT3 │      5 │      3 │      0 │ first_order │  4.09e+00 │     1.02e-04 │      5 │  3.14e-08 │    5.55e-06 │         7 │         17 │          7 │              0 │              0 │          0 │           0 │         0 │             0 │             0 │          51 │               0 │               0 │           73 │                0 │                0 │          0 │          51 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     95 │    HS268 │      5 │      5 │      0 │ first_order │  1.46e-11 │     3.77e-04 │      4 │  1.88e-07 │    1.92e-08 │        11 │         19 │         11 │             11 │              0 │          0 │           0 │         0 │             0 │             0 │         190 │             380 │               0 │          213 │                0 │                0 │          0 │         190 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
│    percival │     96 │     HS22 │      2 │      2 │      0 │ first_order │  1.00e+00 │     1.97e-04 │      5 │  3.08e-11 │    1.79e-06 │        12 │         22 │         12 │             12 │             12 │          0 │           0 │         0 │             0 │             0 │         112 │             224 │             112 │          139 │                0 │                0 │          0 │         112 │           0 │            0 │              0 │                  0 │                    0 │                     0 │                   0 │                    0 │                    0 │                                           │
└─────────────┴────────┴──────────┴────────┴────────┴────────┴─────────────┴───────────┴──────────────┴────────┴───────────┴─────────────┴───────────┴────────────┴────────────┴────────────────┴────────────────┴────────────┴─────────────┴───────────┴───────────────┴───────────────┴─────────────┴─────────────────┴─────────────────┴──────────────┴──────────────────┴──────────────────┴────────────┴─────────────┴─────────────┴──────────────┴────────────────┴────────────────────┴──────────────────────┴───────────────────────┴─────────────────────┴──────────────────────┴──────────────────────┴───────────────────────────────────────────┘

or it can also be used to make performance profiles.

using Plots
gr()

solved(df) = (df.status .== :first_order)
costs = [
  df -> .!solved(df) * Inf + df.elapsed_time,
  df -> .!solved(df) * Inf + df.neval_obj + df.neval_cons,
]
costnames = ["Time", "Evalutions of obj + cons"]
p = profile_solvers(stats, costs, costnames)
Example block output