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: sifcollectionTo test the implementation of Percival, we use the package CUTEst.jl, which implements CUTEstModel an instance of AbstractNLPModel.
using SolverBenchmarkLet 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 problems96We 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, NLPModelsIpoptTo 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" statsThe 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 │ 8.11e-17 │ 6.17e+01 │ 103704 │ 1.36e-05 │ 4.64e-14 │ 2001309 │ 2111028 │ 3789159 │ 0 │ 3789159 │ 0 │ 0 │ 0 │ 0 │ 0 │ 48055222 │ 0 │ 48055222 │ 50269954 │ 0 │ 0 │ 0 │ 48055222 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 2 │ EXPFITA │ 5 │ 22 │ 0 │ first_order │ 1.14e-03 │ 2.69e-03 │ 5 │ 1.93e-09 │ 3.28e-11 │ 13 │ 23 │ 13 │ 13 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 799 │ 1598 │ 0 │ 827 │ 0 │ 0 │ 0 │ 799 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 3 │ MSS1 │ 90 │ 73 │ 0 │ first_order │ -1.60e+01 │ 4.55e+02 │ 12 │ 1.36e-07 │ 5.25e-09 │ 13733 │ 5973 │ 22144 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 34000399 │ 0 │ 0 │ 34006384 │ 0 │ 0 │ 0 │ 34000399 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 4 │ HS79 │ 5 │ 3 │ 0 │ first_order │ 7.88e-02 │ 2.06e-03 │ 5 │ 2.90e-09 │ 1.40e-06 │ 63 │ 41 │ 95 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1184 │ 0 │ 0 │ 1230 │ 0 │ 0 │ 0 │ 1184 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 5 │ S268 │ 5 │ 5 │ 0 │ first_order │ 1.46e-11 │ 4.55e-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 │ 8.47e-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.21e-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 │ 5.96e-04 │ 6 │ 6.54e-09 │ 1.77e-06 │ 40 │ 39 │ 53 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 433 │ 0 │ 0 │ 478 │ 0 │ 0 │ 0 │ 433 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 9 │ MIFFLIN1 │ 3 │ 2 │ 0 │ first_order │ -1.00e+00 │ 6.11e-04 │ 5 │ 1.13e-14 │ 8.93e-08 │ 30 │ 32 │ 39 │ 39 │ 39 │ 0 │ 0 │ 0 │ 0 │ 0 │ 376 │ 752 │ 376 │ 413 │ 0 │ 0 │ 0 │ 376 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 10 │ HAIFAS │ 13 │ 9 │ 0 │ first_order │ -4.50e-01 │ 7.09e-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 │ 1.62e-03 │ 5 │ 1.02e-07 │ 7.96e-07 │ 67 │ 51 │ 93 │ 93 │ 93 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1230 │ 2460 │ 1230 │ 1286 │ 0 │ 0 │ 0 │ 1230 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 12 │ GIGOMEZ2 │ 3 │ 3 │ 0 │ first_order │ 1.95e+00 │ 1.84e-03 │ 5 │ 1.02e-06 │ 7.75e-07 │ 62 │ 54 │ 80 │ 0 │ 80 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1158 │ 0 │ 1158 │ 1217 │ 0 │ 0 │ 0 │ 1158 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 13 │ DEMYMALO │ 3 │ 3 │ 0 │ first_order │ -3.00e+00 │ 1.19e-03 │ 4 │ 2.60e-11 │ 8.89e-07 │ 48 │ 40 │ 64 │ 64 │ 64 │ 0 │ 0 │ 0 │ 0 │ 0 │ 883 │ 1766 │ 883 │ 927 │ 0 │ 0 │ 0 │ 883 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 14 │ HS42 │ 4 │ 2 │ 0 │ first_order │ 1.39e+01 │ 4.21e-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 │ 5.92e-04 │ 4 │ 3.09e-08 │ 1.33e-06 │ 60 │ 52 │ 76 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 491 │ 0 │ 0 │ 547 │ 0 │ 0 │ 0 │ 491 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 16 │ DIXCHLNG │ 10 │ 5 │ 0 │ first_order │ 4.82e-09 │ 5.31e-03 │ 6 │ 7.03e-13 │ 2.48e-06 │ 47 │ 34 │ 74 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1178 │ 0 │ 0 │ 1218 │ 0 │ 0 │ 0 │ 1178 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 17 │ CHACONN1 │ 3 │ 3 │ 0 │ first_order │ 1.95e+00 │ 3.69e-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 │ 2.00e-06 │ 1.37e-03 │ 4 │ 1.18e-10 │ 5.64e-06 │ 62 │ 45 │ 88 │ 0 │ 88 │ 0 │ 0 │ 0 │ 0 │ 0 │ 961 │ 0 │ 961 │ 1010 │ 0 │ 0 │ 0 │ 961 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 19 │ HS100 │ 7 │ 4 │ 0 │ first_order │ 6.81e+02 │ 3.34e-02 │ 5 │ 2.48e-08 │ 7.56e-09 │ 258 │ 131 │ 397 │ 0 │ 397 │ 0 │ 0 │ 0 │ 0 │ 0 │ 18703 │ 0 │ 18703 │ 18839 │ 0 │ 0 │ 0 │ 18703 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 20 │ WOMFLET │ 3 │ 3 │ 0 │ first_order │ 6.05e+00 │ 1.92e-03 │ 4 │ 1.06e-08 │ 2.35e-06 │ 49 │ 32 │ 74 │ 0 │ 74 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1364 │ 0 │ 1364 │ 1400 │ 0 │ 0 │ 0 │ 1364 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 21 │ BT11 │ 5 │ 3 │ 0 │ first_order │ 8.25e-01 │ 1.10e-03 │ 6 │ 6.76e-12 │ 8.21e-08 │ 40 │ 35 │ 58 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 594 │ 0 │ 0 │ 635 │ 0 │ 0 │ 0 │ 594 │ 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.50e-04 │ 5 │ 1.46e-11 │ 1.86e-06 │ 16 │ 22 │ 20 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 117 │ 0 │ 0 │ 144 │ 0 │ 0 │ 0 │ 117 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 24 │ HS113 │ 10 │ 8 │ 0 │ first_order │ 2.43e+01 │ 3.98e-02 │ 6 │ 1.50e-09 │ 4.72e-10 │ 133 │ 72 │ 207 │ 207 │ 207 │ 0 │ 0 │ 0 │ 0 │ 0 │ 18232 │ 36464 │ 18232 │ 18310 │ 0 │ 0 │ 0 │ 18232 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 25 │ BT6 │ 5 │ 2 │ 0 │ first_order │ 5.15e+00 │ 5.26e-03 │ 5 │ 4.28e-11 │ 8.74e-09 │ 123 │ 65 │ 194 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2615 │ 0 │ 0 │ 2685 │ 0 │ 0 │ 0 │ 2615 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 26 │ ORTHREGB │ 27 │ 6 │ 0 │ first_order │ 1.11e-21 │ 3.76e-01 │ 6 │ 4.57e-08 │ 1.56e-11 │ 361 │ 162 │ 611 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 90052 │ 0 │ 0 │ 90220 │ 0 │ 0 │ 0 │ 90052 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 27 │ HS6 │ 2 │ 1 │ 0 │ first_order │ 4.04e-16 │ 1.21e-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.52e-04 │ 5 │ 6.98e-14 │ 5.35e-08 │ 40 │ 37 │ 54 │ 0 │ 54 │ 0 │ 0 │ 0 │ 0 │ 0 │ 446 │ 0 │ 446 │ 488 │ 0 │ 0 │ 0 │ 446 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 29 │ HS28 │ 3 │ 1 │ 0 │ first_order │ 6.41e-31 │ 9.08e-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 │ 9.88e-01 │ 6 │ 3.62e-07 │ 9.78e-07 │ 1194 │ 484 │ 1917 │ 0 │ 1917 │ 0 │ 0 │ 0 │ 0 │ 0 │ 254388 │ 0 │ 254388 │ 254878 │ 0 │ 0 │ 0 │ 254388 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 31 │ HS10 │ 2 │ 1 │ 0 │ first_order │ -1.00e+00 │ 1.01e-03 │ 6 │ 8.94e-13 │ 1.44e-07 │ 69 │ 59 │ 92 │ 0 │ 92 │ 0 │ 0 │ 0 │ 0 │ 0 │ 831 │ 0 │ 831 │ 896 │ 0 │ 0 │ 0 │ 831 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 32 │ HS40 │ 4 │ 3 │ 0 │ first_order │ -2.50e-01 │ 4.84e-04 │ 5 │ 1.28e-09 │ 6.14e-06 │ 24 │ 25 │ 33 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 290 │ 0 │ 0 │ 320 │ 0 │ 0 │ 0 │ 290 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 33 │ BT8 │ 5 │ 2 │ 0 │ first_order │ 1.00e+00 │ 2.08e-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 │ 3.90e-04 │ 5 │ 2.85e-14 │ 1.20e-08 │ 44 │ 36 │ 63 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 318 │ 0 │ 0 │ 359 │ 0 │ 0 │ 0 │ 318 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 35 │ HS43 │ 4 │ 3 │ 0 │ first_order │ -4.40e+01 │ 2.79e-03 │ 6 │ 1.33e-11 │ 3.09e-08 │ 68 │ 47 │ 102 │ 0 │ 102 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1688 │ 0 │ 1688 │ 1741 │ 0 │ 0 │ 0 │ 1688 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 36 │ MAKELA2 │ 3 │ 3 │ 0 │ first_order │ 7.20e+00 │ 9.25e-04 │ 6 │ 9.67e-11 │ 9.13e-10 │ 34 │ 41 │ 41 │ 0 │ 41 │ 0 │ 0 │ 0 │ 0 │ 0 │ 658 │ 0 │ 658 │ 705 │ 0 │ 0 │ 0 │ 658 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 37 │ HS14 │ 2 │ 2 │ 0 │ first_order │ 1.39e+00 │ 2.52e-04 │ 6 │ 3.53e-13 │ 3.03e-07 │ 13 │ 26 │ 13 │ 13 │ 13 │ 0 │ 0 │ 0 │ 0 │ 0 │ 131 │ 262 │ 131 │ 163 │ 0 │ 0 │ 0 │ 131 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 38 │ DIPIGRI │ 7 │ 4 │ 0 │ first_order │ 6.81e+02 │ 3.68e-02 │ 6 │ 3.41e-08 │ 5.30e-07 │ 301 │ 140 │ 475 │ 0 │ 475 │ 0 │ 0 │ 0 │ 0 │ 0 │ 22547 │ 0 │ 22547 │ 22693 │ 0 │ 0 │ 0 │ 22547 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 39 │ MIFFLIN2 │ 3 │ 2 │ 0 │ first_order │ -1.00e+00 │ 9.83e-04 │ 5 │ 2.19e-06 │ 5.66e-08 │ 66 │ 67 │ 75 │ 0 │ 75 │ 0 │ 0 │ 0 │ 0 │ 0 │ 737 │ 0 │ 737 │ 809 │ 0 │ 0 │ 0 │ 737 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 40 │ HS91 │ 5 │ 1 │ 0 │ first_order │ 1.36e+00 │ 4.23e-01 │ 15 │ 1.15e-12 │ 2.44e-06 │ 79 │ 96 │ 102 │ 0 │ 102 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1271 │ 0 │ 1271 │ 1382 │ 0 │ 0 │ 0 │ 1271 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 41 │ BYRDSPHR │ 3 │ 2 │ 0 │ first_order │ -4.68e+00 │ 7.47e-04 │ 5 │ 6.77e-08 │ 8.01e-11 │ 51 │ 51 │ 73 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 650 │ 0 │ 0 │ 706 │ 0 │ 0 │ 0 │ 650 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 42 │ HS50 │ 5 │ 3 │ 0 │ first_order │ 6.39e-15 │ 2.16e-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 │ 9.21e-04 │ 5 │ 6.45e-14 │ 5.35e-08 │ 44 │ 39 │ 60 │ 0 │ 60 │ 0 │ 0 │ 0 │ 0 │ 0 │ 501 │ 0 │ 501 │ 545 │ 0 │ 0 │ 0 │ 501 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 44 │ BT10 │ 2 │ 2 │ 0 │ first_order │ -1.00e+00 │ 3.08e-04 │ 6 │ 3.15e-10 │ 8.66e-07 │ 29 │ 35 │ 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 245 │ 0 │ 0 │ 286 │ 0 │ 0 │ 0 │ 245 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 45 │ HALDMADS │ 6 │ 42 │ 0 │ first_order │ 1.20e-04 │ 7.17e-02 │ 8 │ 1.44e-10 │ 8.96e-06 │ 62 │ 53 │ 90 │ 0 │ 90 │ 0 │ 0 │ 0 │ 0 │ 0 │ 10501 │ 0 │ 10501 │ 10562 │ 0 │ 0 │ 0 │ 10501 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 46 │ ROSENMMX │ 5 │ 4 │ 0 │ first_order │ -4.40e+01 │ 3.53e-02 │ 5 │ 1.08e-08 │ 2.19e-09 │ 513 │ 277 │ 761 │ 0 │ 761 │ 0 │ 0 │ 0 │ 0 │ 0 │ 22999 │ 0 │ 22999 │ 23281 │ 0 │ 0 │ 0 │ 22999 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 47 │ HS26 │ 3 │ 1 │ 0 │ first_order │ 1.98e-11 │ 9.42e-04 │ 6 │ 9.32e-07 │ 1.69e-07 │ 61 │ 49 │ 85 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 720 │ 0 │ 0 │ 775 │ 0 │ 0 │ 0 │ 720 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 48 │ SPIRAL │ 3 │ 2 │ 0 │ first_order │ 1.91e-06 │ 2.49e-03 │ 4 │ 4.71e-09 │ 2.70e-06 │ 127 │ 102 │ 160 │ 0 │ 160 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1494 │ 0 │ 1494 │ 1600 │ 0 │ 0 │ 0 │ 1494 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 49 │ BT7 │ 5 │ 3 │ 0 │ first_order │ 3.60e+02 │ 1.09e-03 │ 8 │ 3.55e-11 │ 1.84e-08 │ 48 │ 49 │ 66 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 752 │ 0 │ 0 │ 809 │ 0 │ 0 │ 0 │ 752 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 50 │ HS9 │ 2 │ 1 │ 0 │ first_order │ -5.00e-01 │ 7.41e-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 │ 2.18e-03 │ 5 │ 1.24e-10 │ 1.90e-06 │ 56 │ 38 │ 85 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1344 │ 0 │ 0 │ 1387 │ 0 │ 0 │ 0 │ 1344 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 52 │ GENHS28 │ 10 │ 8 │ 0 │ first_order │ 9.27e-01 │ 2.37e-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 │ 3.23e-04 │ 4 │ 2.36e-09 │ 4.95e-08 │ 21 │ 23 │ 28 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 221 │ 0 │ 0 │ 248 │ 0 │ 0 │ 0 │ 221 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 54 │ HS61 │ 3 │ 2 │ 0 │ first_order │ -1.44e+02 │ 6.78e-04 │ 4 │ 4.16e-06 │ 1.39e-07 │ 42 │ 34 │ 58 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 480 │ 0 │ 0 │ 518 │ 0 │ 0 │ 0 │ 480 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 55 │ CB2 │ 3 │ 3 │ 0 │ first_order │ 1.95e+00 │ 2.24e-03 │ 6 │ 3.86e-09 │ 2.54e-08 │ 74 │ 61 │ 100 │ 0 │ 100 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1494 │ 0 │ 1494 │ 1561 │ 0 │ 0 │ 0 │ 1494 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 56 │ HS77 │ 5 │ 2 │ 0 │ first_order │ 5.53e+00 │ 3.24e-03 │ 5 │ 4.05e-11 │ 7.99e-09 │ 109 │ 61 │ 168 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2206 │ 0 │ 0 │ 2272 │ 0 │ 0 │ 0 │ 2206 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 57 │ HS39 │ 4 │ 2 │ 0 │ first_order │ -1.00e+00 │ 5.48e-04 │ 6 │ 6.54e-09 │ 1.77e-06 │ 40 │ 39 │ 53 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 433 │ 0 │ 0 │ 478 │ 0 │ 0 │ 0 │ 433 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 58 │ HS88 │ 2 │ 1 │ 0 │ first_order │ 1.36e+00 │ 6.90e-02 │ 15 │ 1.46e-12 │ 2.44e-06 │ 67 │ 92 │ 77 │ 0 │ 77 │ 0 │ 0 │ 0 │ 0 │ 0 │ 509 │ 0 │ 509 │ 616 │ 0 │ 0 │ 0 │ 509 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 59 │ MWRIGHT │ 5 │ 3 │ 0 │ first_order │ 2.50e+01 │ 6.24e-04 │ 5 │ 5.32e-07 │ 2.32e-06 │ 24 │ 23 │ 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 396 │ 0 │ 0 │ 424 │ 0 │ 0 │ 0 │ 396 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 60 │ BT4 │ 3 │ 2 │ 0 │ first_order │ -4.55e+01 │ 2.52e-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 │ 3.86e-03 │ 6 │ 5.16e-06 │ 8.22e-08 │ 256 │ 118 │ 406 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 3270 │ 0 │ 0 │ 3394 │ 0 │ 0 │ 0 │ 3270 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 62 │ MAKELA3 │ 21 │ 20 │ 0 │ first_order │ 7.56e-13 │ 1.73e-01 │ 5 │ 1.80e-11 │ 3.38e-12 │ 670 │ 240 │ 1111 │ 0 │ 1111 │ 0 │ 0 │ 0 │ 0 │ 0 │ 62826 │ 0 │ 62826 │ 63071 │ 0 │ 0 │ 0 │ 62826 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 63 │ HS46 │ 5 │ 2 │ 0 │ first_order │ 1.40e-12 │ 1.11e-03 │ 6 │ 4.00e-09 │ 2.07e-06 │ 30 │ 32 │ 40 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 547 │ 0 │ 0 │ 585 │ 0 │ 0 │ 0 │ 547 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 64 │ HS49 │ 5 │ 2 │ 0 │ first_order │ 1.56e-09 │ 2.82e-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.57e-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 │ 1.01e-01 │ 6 │ 1.12e-05 │ 2.05e-10 │ 492 │ 246 │ 754 │ 0 │ 754 │ 0 │ 0 │ 0 │ 0 │ 0 │ 58375 │ 0 │ 58375 │ 58627 │ 0 │ 0 │ 0 │ 58375 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 67 │ MADSEN │ 3 │ 6 │ 0 │ first_order │ 6.16e-01 │ 5.16e-03 │ 6 │ 1.16e-12 │ 6.78e-10 │ 89 │ 72 │ 119 │ 0 │ 119 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2885 │ 0 │ 2885 │ 2963 │ 0 │ 0 │ 0 │ 2885 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 68 │ POLAK6 │ 5 │ 4 │ 0 │ first_order │ -4.40e+01 │ 3.01e-01 │ 5 │ 1.52e-09 │ 9.47e-09 │ 3662 │ 1917 │ 5419 │ 0 │ 5419 │ 0 │ 0 │ 0 │ 0 │ 0 │ 157000 │ 0 │ 157000 │ 158922 │ 0 │ 0 │ 0 │ 157000 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 69 │ HS78 │ 5 │ 3 │ 0 │ first_order │ -2.92e+00 │ 1.47e-03 │ 5 │ 2.50e-05 │ 7.85e-06 │ 54 │ 33 │ 85 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1016 │ 0 │ 0 │ 1054 │ 0 │ 0 │ 0 │ 1016 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 70 │ HS90 │ 4 │ 1 │ 0 │ first_order │ 1.36e+00 │ 2.52e-01 │ 15 │ 7.38e-12 │ 2.44e-06 │ 87 │ 95 │ 119 │ 0 │ 119 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1308 │ 0 │ 1308 │ 1418 │ 0 │ 0 │ 0 │ 1308 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 71 │ HS11 │ 2 │ 1 │ 0 │ first_order │ -8.50e+00 │ 5.47e-04 │ 6 │ 6.22e-11 │ 6.33e-08 │ 40 │ 40 │ 54 │ 0 │ 54 │ 0 │ 0 │ 0 │ 0 │ 0 │ 491 │ 0 │ 491 │ 537 │ 0 │ 0 │ 0 │ 491 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 72 │ HS29 │ 3 │ 1 │ 0 │ first_order │ -2.26e+01 │ 7.96e-04 │ 4 │ 3.20e-06 │ 3.61e-07 │ 48 │ 36 │ 68 │ 0 │ 68 │ 0 │ 0 │ 0 │ 0 │ 0 │ 551 │ 0 │ 551 │ 591 │ 0 │ 0 │ 0 │ 551 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 73 │ S316-322 │ 2 │ 1 │ 0 │ first_order │ 3.34e+02 │ 1.43e-04 │ 7 │ 8.04e-14 │ 3.89e-07 │ 16 │ 31 │ 16 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 98 │ 0 │ 0 │ 136 │ 0 │ 0 │ 0 │ 98 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 74 │ FLT │ 2 │ 2 │ 0 │ first_order │ -3.10e-28 │ 9.39e-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 │ 2.01e-03 │ 5 │ 1.18e-05 │ 5.03e-07 │ 90 │ 65 │ 125 │ 0 │ 125 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1550 │ 0 │ 1550 │ 1620 │ 0 │ 0 │ 0 │ 1550 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 76 │ MAKELA4 │ 21 │ 40 │ 0 │ first_order │ 4.81e-18 │ 3.44e-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 │ 6.09e-06 │ 5.65e+02 │ 7 │ 0.00e+00 │ 4.33e-10 │ 38656331 │ 22430125 │ 54945935 │ 0 │ 54945935 │ 0 │ 0 │ 0 │ 0 │ 0 │ 455438515 │ 0 │ 455438515 │ 477868647 │ 0 │ 0 │ 0 │ 455438515 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 78 │ POLAK2 │ 11 │ 2 │ 0 │ first_order │ 5.46e+01 │ 1.57e-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.06e-01 │ 15 │ 3.30e-12 │ 2.44e-06 │ 63 │ 90 │ 71 │ 0 │ 71 │ 0 │ 0 │ 0 │ 0 │ 0 │ 606 │ 0 │ 606 │ 711 │ 0 │ 0 │ 0 │ 606 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 80 │ MINMAXRB │ 3 │ 4 │ 0 │ first_order │ 1.25e-15 │ 1.14e-02 │ 4 │ 1.52e-07 │ 9.16e-07 │ 244 │ 151 │ 345 │ 345 │ 345 │ 0 │ 0 │ 0 │ 0 │ 0 │ 9232 │ 18464 │ 9232 │ 9387 │ 0 │ 0 │ 0 │ 9232 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 81 │ MAKELA1 │ 3 │ 2 │ 0 │ first_order │ -1.41e+00 │ 7.86e-04 │ 5 │ 1.25e-14 │ 3.88e-07 │ 34 │ 30 │ 49 │ 49 │ 49 │ 0 │ 0 │ 0 │ 0 │ 0 │ 545 │ 1090 │ 545 │ 580 │ 0 │ 0 │ 0 │ 545 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 82 │ HS51 │ 5 │ 3 │ 0 │ first_order │ 1.23e-11 │ 1.42e-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 │ 6.40e-04 │ 5 │ 9.82e-13 │ 4.24e-07 │ 18 │ 22 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 339 │ 0 │ 0 │ 366 │ 0 │ 0 │ 0 │ 339 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 84 │ BT12 │ 5 │ 3 │ 0 │ first_order │ 6.19e+00 │ 1.67e-03 │ 5 │ 7.90e-10 │ 2.98e-06 │ 56 │ 46 │ 77 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1126 │ 0 │ 0 │ 1177 │ 0 │ 0 │ 0 │ 1126 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 85 │ PENTAGON │ 6 │ 15 │ 0 │ first_order │ 1.46e-04 │ 1.71e-03 │ 4 │ 6.61e-08 │ 8.36e-07 │ 25 │ 23 │ 35 │ 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 735 │ 1470 │ 0 │ 762 │ 0 │ 0 │ 0 │ 735 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 86 │ HS111LNP │ 10 │ 3 │ 0 │ first_order │ -4.78e+01 │ 6.37e-03 │ 5 │ 4.12e-10 │ 3.07e-06 │ 33 │ 34 │ 43 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 661 │ 0 │ 0 │ 700 │ 0 │ 0 │ 0 │ 661 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 87 │ HS52 │ 5 │ 3 │ 0 │ first_order │ 5.33e+00 │ 1.28e-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.90e-02 │ 15 │ 4.77e-12 │ 2.44e-06 │ 57 │ 89 │ 60 │ 0 │ 60 │ 0 │ 0 │ 0 │ 0 │ 0 │ 447 │ 0 │ 447 │ 551 │ 0 │ 0 │ 0 │ 447 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 89 │ CONGIGMZ │ 3 │ 5 │ 0 │ first_order │ 2.00e+00 │ 1.54e-03 │ 5 │ 2.04e-10 │ 4.92e-08 │ 29 │ 30 │ 38 │ 38 │ 38 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1026 │ 2052 │ 1026 │ 1061 │ 0 │ 0 │ 0 │ 1026 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 90 │ POLAK5 │ 3 │ 2 │ 0 │ first_order │ 5.00e+01 │ 3.51e-02 │ 4 │ 2.66e-10 │ 1.22e-07 │ 1333 │ 1196 │ 2072 │ 0 │ 2072 │ 0 │ 0 │ 0 │ 0 │ 0 │ 29156 │ 0 │ 29156 │ 30356 │ 0 │ 0 │ 0 │ 29156 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 91 │ HS47 │ 5 │ 3 │ 0 │ first_order │ 5.63e-14 │ 1.58e-03 │ 5 │ 5.79e-07 │ 2.79e-07 │ 50 │ 44 │ 67 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 811 │ 0 │ 0 │ 860 │ 0 │ 0 │ 0 │ 811 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 92 │ CB3 │ 3 │ 3 │ 0 │ first_order │ 2.00e+00 │ 8.65e-04 │ 5 │ 2.63e-13 │ 5.47e-08 │ 44 │ 39 │ 60 │ 0 │ 60 │ 0 │ 0 │ 0 │ 0 │ 0 │ 498 │ 0 │ 498 │ 542 │ 0 │ 0 │ 0 │ 498 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 93 │ HS12 │ 2 │ 1 │ 0 │ first_order │ -3.00e+01 │ 6.60e-04 │ 4 │ 3.15e-12 │ 9.10e-07 │ 44 │ 33 │ 64 │ 0 │ 64 │ 0 │ 0 │ 0 │ 0 │ 0 │ 448 │ 0 │ 448 │ 485 │ 0 │ 0 │ 0 │ 448 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ percival │ 94 │ BT3 │ 5 │ 3 │ 0 │ first_order │ 4.09e+00 │ 1.31e-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 │ 4.78e-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.77e-04 │ 5 │ 1.25e-08 │ 1.82e-06 │ 10 │ 20 │ 10 │ 10 │ 10 │ 0 │ 0 │ 0 │ 0 │ 0 │ 100 │ 200 │ 100 │ 125 │ 0 │ 0 │ 0 │ 100 │ 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)