Benchmarks
CUTEst benchmark
With JSO-compliant solvers, 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 on bound-constrained problems, we use the package CUTEst.jl, which implements CUTEstModel an instance of AbstractNLPModel.
using SolverBenchmarkLet us select bound-constrained problems from CUTEst with a maximum of 300 variables.
nmax = 300
pnames_unconstrained = CUTEst.select_sif_problems(
max_con = 0,
only_free_var = true, # unconstrained
max_var = nmax,
objtype = 3:6,
)
pnames = CUTEst.select_sif_problems(
max_con = 0,
max_var = nmax,
objtype = 3:6,
)
pnames = setdiff(pnames, pnames_unconstrained)
cutest_problems = (CUTEstModel(p) for p in pnames)
length(cutest_problems) # number of problems102We compare here TRON from JSOSolvers.jl 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, on a subset of CUTEst problems.
using JSOSolvers, 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,
),
:tron => nlp -> tron(
nlp,
max_time = max_time,
max_iter = typemax(Int64),
max_eval = typemax(Int64),
atol = tol,
rtol = tol,
),
)
stats = bmark_solvers(solvers, cutest_problems)Dict{Symbol, DataFrames.DataFrame} with 2 entries:
:tron => 102×40 DataFrame…
:ipopt => 102×41 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_dcildl_$(string(length(pnames))).jld2" statsThe result of the benchmark can be explored via tables,
pretty_stats(stats[:tron])┌─────────────┬────────┬────────────┬────────┬────────┬────────┬─────────────┬───────────┬──────────────┬────────┬───────────┬─────────────┬───────────┬────────────┬────────────┬────────────────┬────────────────┬────────────┬─────────────┬───────────┬───────────────┬───────────────┬─────────────┬─────────────────┬─────────────────┬──────────────┬──────────────────┬──────────────────┬────────────┬─────────────┬─────────────┬──────────────┬────────────────┬────────────────────┬──────────────────────┬───────────────────────┬─────────────────────┬──────────────────────┬──────────────────────┬───────────┐
│ 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 │
├─────────────┼────────┼────────────┼────────┼────────┼────────┼─────────────┼───────────┼──────────────┼────────┼───────────┼─────────────┼───────────┼────────────┼────────────┼────────────────┼────────────────┼────────────┼─────────────┼───────────┼───────────────┼───────────────┼─────────────┼─────────────────┼─────────────────┼──────────────┼──────────────────┼──────────────────┼────────────┼─────────────┼─────────────┼──────────────┼────────────────┼────────────────────┼──────────────────────┼───────────────────────┼─────────────────────┼──────────────────────┼──────────────────────┼───────────┤
│ tron │ 1 │ TRIGON2B │ 10 │ 0 │ 0 │ first_order │ 1.01e+01 │ 6.79e-04 │ 20 │ 4.43e-04 │ 0.00e+00 │ 21 │ 14 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 363 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 2 │ DECONVB │ 63 │ 0 │ 0 │ first_order │ 3.34e-03 │ 3.63e-03 │ 13 │ 6.79e-05 │ 0.00e+00 │ 14 │ 12 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 296 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 3 │ MAXLIKA │ 8 │ 0 │ 0 │ first_order │ 1.14e+03 │ 2.43e-02 │ 35 │ 2.83e-05 │ 0.00e+00 │ 36 │ 34 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 354 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 4 │ CHEBYQAD │ 100 │ 0 │ 0 │ first_order │ 8.72e-03 │ 3.98e+00 │ 91 │ 2.24e-06 │ 0.00e+00 │ 92 │ 74 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 4093 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 5 │ PALMER8A │ 6 │ 0 │ 0 │ first_order │ 1.11e-01 │ 7.85e-04 │ 53 │ 2.68e-02 │ 0.00e+00 │ 54 │ 49 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 624 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 6 │ LEVYMONT6 │ 3 │ 0 │ 0 │ first_order │ 1.25e+01 │ 1.88e-04 │ 11 │ 8.20e-05 │ 0.00e+00 │ 12 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 168 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 7 │ QINGB │ 5 │ 0 │ 0 │ first_order │ 4.27e-12 │ 5.03e-04 │ 12 │ 1.75e-05 │ 0.00e+00 │ 13 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 746 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 8 │ AIRCRFTB │ 8 │ 0 │ 0 │ first_order │ 4.57e-10 │ 1.44e-03 │ 28 │ 7.75e-05 │ 0.00e+00 │ 29 │ 17 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1445 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 9 │ ELATVIDUB │ 2 │ 0 │ 0 │ first_order │ 5.48e+01 │ 5.79e-05 │ 10 │ 3.91e-05 │ 0.00e+00 │ 11 │ 11 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 64 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 10 │ PALMER2 │ 4 │ 0 │ 0 │ first_order │ 3.65e+03 │ 2.06e-03 │ 39 │ 4.06e-03 │ 0.00e+00 │ 40 │ 19 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1095 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 11 │ STRTCHDVB │ 10 │ 0 │ 0 │ first_order │ 3.39e-07 │ 2.25e-04 │ 10 │ 1.95e-04 │ 0.00e+00 │ 11 │ 11 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 72 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 12 │ PFIT2LS │ 3 │ 0 │ 0 │ first_order │ 7.22e-05 │ 1.37e-03 │ 38 │ 4.26e-04 │ 0.00e+00 │ 39 │ 22 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1577 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 13 │ PSPDOC │ 4 │ 0 │ 0 │ first_order │ 2.41e+00 │ 4.29e-05 │ 4 │ 2.49e-06 │ 0.00e+00 │ 5 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 14 │ KOEBHELB │ 3 │ 0 │ 0 │ first_order │ 1.12e+02 │ 2.40e-02 │ 48 │ 1.05e-04 │ 0.00e+00 │ 49 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2186 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 15 │ BQP1VAR │ 1 │ 0 │ 0 │ first_order │ 0.00e+00 │ 1.50e-05 │ 1 │ 0.00e+00 │ 0.00e+00 │ 2 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 16 │ EG1 │ 3 │ 0 │ 0 │ first_order │ -1.13e+00 │ 4.82e-05 │ 5 │ 6.19e-09 │ 0.00e+00 │ 6 │ 6 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 32 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 17 │ HS110 │ 10 │ 0 │ 0 │ first_order │ -4.58e+01 │ 5.29e-05 │ 4 │ 1.51e-05 │ 0.00e+00 │ 5 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 20 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 18 │ CAMEL6 │ 2 │ 0 │ 0 │ first_order │ -2.15e-01 │ 5.41e-05 │ 7 │ 1.09e-05 │ 0.00e+00 │ 8 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 46 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 19 │ LOGROS │ 2 │ 0 │ 0 │ first_order │ 4.44e-16 │ 1.96e-03 │ 136 │ 8.09e-06 │ 0.00e+00 │ 137 │ 70 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 4023 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 20 │ DEVGLA1B │ 4 │ 0 │ 0 │ first_order │ 6.59e-12 │ 8.58e-03 │ 47 │ 1.08e-05 │ 0.00e+00 │ 48 │ 32 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2067 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 21 │ PALMER5A │ 8 │ 0 │ 0 │ first_order │ 2.75e-01 │ 2.61e-03 │ 64 │ 5.44e-03 │ 0.00e+00 │ 65 │ 39 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1844 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 22 │ TRIGON1B │ 10 │ 0 │ 0 │ first_order │ 3.21e-13 │ 2.41e-04 │ 8 │ 2.41e-06 │ 0.00e+00 │ 9 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 89 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 23 │ PALMER4 │ 4 │ 0 │ 0 │ small_step │ 2.33e+03 │ 4.64e-03 │ 57 │ 7.72e-02 │ 0.00e+00 │ 58 │ 83 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2705 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 24 │ HATFLDB │ 4 │ 0 │ 0 │ first_order │ 5.57e-03 │ 1.61e-04 │ 25 │ 2.57e-08 │ 0.00e+00 │ 26 │ 26 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 221 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 25 │ LEVYMONT7 │ 4 │ 0 │ 0 │ first_order │ 1.25e+01 │ 3.23e-04 │ 11 │ 1.66e-06 │ 0.00e+00 │ 12 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 351 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 26 │ JNLBRNG1 │ 16 │ 0 │ 0 │ first_order │ -2.25e-01 │ 4.91e-05 │ 1 │ 3.51e-16 │ 0.00e+00 │ 2 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 27 │ S368 │ 8 │ 0 │ 0 │ first_order │ -7.50e-01 │ 2.61e-04 │ 7 │ 4.08e-07 │ 0.00e+00 │ 8 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 49 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 28 │ LEVYMONT9 │ 8 │ 0 │ 0 │ first_order │ 1.66e+02 │ 5.98e-05 │ 3 │ 1.79e-05 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 30 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 29 │ BIGGS3 │ 6 │ 0 │ 0 │ first_order │ 3.04e-16 │ 1.76e-04 │ 10 │ 7.99e-09 │ 0.00e+00 │ 11 │ 10 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 71 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 30 │ HATFLDC │ 25 │ 0 │ 0 │ first_order │ 1.14e-11 │ 1.17e-04 │ 5 │ 1.02e-05 │ 0.00e+00 │ 6 │ 6 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 53 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 31 │ HS38 │ 4 │ 0 │ 0 │ first_order │ 1.09e-11 │ 2.94e-03 │ 78 │ 3.76e-05 │ 0.00e+00 │ 79 │ 51 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 4599 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 32 │ HS4 │ 2 │ 0 │ 0 │ first_order │ 2.67e+00 │ 1.50e-05 │ 1 │ 0.00e+00 │ 0.00e+00 │ 2 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 33 │ PALMER3E │ 8 │ 0 │ 0 │ first_order │ 2.69e-01 │ 3.04e-04 │ 10 │ 7.24e-01 │ 0.00e+00 │ 11 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 114 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 34 │ FBRAINLS │ 2 │ 0 │ 0 │ first_order │ 4.17e-01 │ 1.50e-02 │ 6 │ 2.23e-06 │ 0.00e+00 │ 7 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 46 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 35 │ BLEACHNG │ 17 │ 0 │ 0 │ max_time │ 1.82e+04 │ 1.20e+03 │ 376 │ 1.04e+01 │ 0.00e+00 │ 377 │ 702 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1537 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 36 │ HS3MOD │ 2 │ 0 │ 0 │ first_order │ 0.00e+00 │ 3.50e-05 │ 4 │ 0.00e+00 │ 0.00e+00 │ 5 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 26 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 37 │ LEVYMONT │ 100 │ 0 │ 0 │ first_order │ 1.55e+02 │ 3.34e-04 │ 3 │ 1.32e-06 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 29 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 38 │ PALMER2E │ 8 │ 0 │ 0 │ first_order │ 3.48e+00 │ 2.21e-04 │ 6 │ 3.86e+00 │ 0.00e+00 │ 7 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 70 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 39 │ PALMER3A │ 6 │ 0 │ 0 │ first_order │ 4.18e-02 │ 8.27e-04 │ 39 │ 4.74e-03 │ 0.00e+00 │ 40 │ 29 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 410 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 40 │ PFIT1LS │ 3 │ 0 │ 0 │ first_order │ 1.38e-04 │ 3.17e-03 │ 46 │ 8.59e-04 │ 0.00e+00 │ 47 │ 21 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 3787 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 41 │ BQPGABIM │ 50 │ 0 │ 0 │ first_order │ -3.79e-05 │ 1.94e-04 │ 3 │ 1.84e-06 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 45 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 42 │ SANTALS │ 21 │ 0 │ 0 │ first_order │ 1.22e-05 │ 2.41e-03 │ 35 │ 1.16e-05 │ 0.00e+00 │ 36 │ 35 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 604 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 43 │ FBRAIN2LS │ 4 │ 0 │ 0 │ first_order │ 3.68e-01 │ 7.47e-02 │ 13 │ 1.82e-05 │ 0.00e+00 │ 14 │ 13 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 127 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 44 │ HS25 │ 3 │ 0 │ 0 │ first_order │ 3.28e+01 │ 0.00e+00 │ 0 │ 2.00e-08 │ 0.00e+00 │ 1 │ 1 │ 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 │ │
│ tron │ 45 │ HIMMELP1 │ 2 │ 0 │ 0 │ first_order │ -6.21e+01 │ 9.61e-05 │ 8 │ 2.42e-07 │ 0.00e+00 │ 9 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 139 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 46 │ WEEDS │ 3 │ 0 │ 0 │ first_order │ 2.59e+00 │ 1.70e-03 │ 54 │ 3.16e-04 │ 0.00e+00 │ 55 │ 41 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1319 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 47 │ HS5 │ 2 │ 0 │ 0 │ first_order │ -1.91e+00 │ 3.41e-05 │ 4 │ 1.43e-09 │ 0.00e+00 │ 5 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 24 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 48 │ BRANIN │ 2 │ 0 │ 0 │ first_order │ 3.98e-01 │ 1.66e-04 │ 11 │ 5.94e-08 │ 0.00e+00 │ 12 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 265 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 49 │ PALMER1E │ 8 │ 0 │ 0 │ first_order │ 1.22e+01 │ 9.06e-04 │ 23 │ 1.23e+01 │ 0.00e+00 │ 24 │ 20 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 249 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 50 │ PALMER3 │ 4 │ 0 │ 0 │ small_step │ 2.32e+03 │ 4.60e-03 │ 57 │ 8.94e-02 │ 0.00e+00 │ 58 │ 82 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2701 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 51 │ BOX2 │ 3 │ 0 │ 0 │ first_order │ 2.86e-07 │ 5.82e-05 │ 5 │ 4.96e-05 │ 0.00e+00 │ 6 │ 6 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 52 │ PALMER8E │ 8 │ 0 │ 0 │ first_order │ 1.70e-01 │ 7.32e-04 │ 28 │ 2.19e-02 │ 0.00e+00 │ 29 │ 19 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 473 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 53 │ POWERSUMB │ 4 │ 0 │ 0 │ first_order │ 3.74e+01 │ 8.20e-05 │ 6 │ 2.41e-10 │ 0.00e+00 │ 7 │ 6 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 37 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 54 │ PALMER2A │ 6 │ 0 │ 0 │ first_order │ 1.87e-02 │ 1.21e-03 │ 43 │ 2.62e-02 │ 0.00e+00 │ 44 │ 31 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 617 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 55 │ PALMER6A │ 6 │ 0 │ 0 │ first_order │ 7.82e-02 │ 8.83e-04 │ 46 │ 4.41e-03 │ 0.00e+00 │ 47 │ 34 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 645 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 56 │ HS1 │ 2 │ 0 │ 0 │ first_order │ 2.80e-05 │ 1.02e-04 │ 24 │ 5.64e-03 │ 0.00e+00 │ 25 │ 23 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 157 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 57 │ MDHOLE │ 2 │ 0 │ 0 │ first_order │ 1.18e-36 │ 4.06e-03 │ 117 │ 2.17e-17 │ 0.00e+00 │ 118 │ 59 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 7882 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 58 │ PRICE4B │ 2 │ 0 │ 0 │ first_order │ 3.07e-14 │ 2.90e-04 │ 16 │ 1.62e-05 │ 0.00e+00 │ 17 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 464 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 59 │ PALMER1B │ 4 │ 0 │ 0 │ first_order │ 3.45e+00 │ 1.84e-03 │ 46 │ 1.40e-02 │ 0.00e+00 │ 47 │ 29 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 787 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 60 │ PFIT4LS │ 3 │ 0 │ 0 │ first_order │ 5.96e-03 │ 2.51e-03 │ 58 │ 1.40e-02 │ 0.00e+00 │ 59 │ 31 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2939 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 61 │ DECONVU │ 63 │ 0 │ 0 │ first_order │ 7.18e-06 │ 6.73e-03 │ 31 │ 1.03e-03 │ 0.00e+00 │ 32 │ 27 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 536 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 62 │ DEVGLA2B │ 5 │ 0 │ 0 │ first_order │ 1.06e+04 │ 4.71e-04 │ 9 │ 4.28e-07 │ 0.00e+00 │ 10 │ 10 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 94 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 63 │ HS2 │ 2 │ 0 │ 0 │ first_order │ 4.94e+00 │ 4.10e-05 │ 5 │ 1.14e-02 │ 0.00e+00 │ 6 │ 6 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 47 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 64 │ HS3 │ 2 │ 0 │ 0 │ first_order │ 0.00e+00 │ 2.91e-05 │ 3 │ 0.00e+00 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 18 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 65 │ PALMER7A │ 6 │ 0 │ 0 │ first_order │ 1.31e+01 │ 1.22e-03 │ 88 │ 4.53e-02 │ 0.00e+00 │ 89 │ 77 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 940 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 66 │ EGGCRATEB │ 2 │ 0 │ 0 │ first_order │ 9.49e+00 │ 2.77e-04 │ 9 │ 3.30e-05 │ 0.00e+00 │ 10 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 436 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 67 │ PALMER7E │ 8 │ 0 │ 0 │ first_order │ 1.20e+01 │ 4.65e-04 │ 14 │ 1.74e-01 │ 0.00e+00 │ 15 │ 11 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 261 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 68 │ PALMER1 │ 4 │ 0 │ 0 │ first_order │ 1.18e+04 │ 5.42e-03 │ 48 │ 2.88e-02 │ 0.00e+00 │ 49 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2344 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 69 │ BQPGASIM │ 50 │ 0 │ 0 │ first_order │ -5.52e-05 │ 1.96e-04 │ 3 │ 8.44e-06 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 47 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 70 │ EXP2B │ 2 │ 0 │ 0 │ first_order │ 4.31e-12 │ 7.01e-05 │ 6 │ 1.23e-06 │ 0.00e+00 │ 7 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 37 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 71 │ SIMBQP │ 2 │ 0 │ 0 │ first_order │ 0.00e+00 │ 2.60e-05 │ 2 │ 0.00e+00 │ 0.00e+00 │ 3 │ 3 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 10 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 72 │ ALLINIT │ 4 │ 0 │ 0 │ first_order │ 1.67e+01 │ 1.05e-03 │ 17 │ 1.65e-06 │ 0.00e+00 │ 18 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 867 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 73 │ JUDGEB │ 2 │ 0 │ 0 │ first_order │ 1.61e+01 │ 9.42e-05 │ 8 │ 8.86e-08 │ 0.00e+00 │ 9 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 54 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 74 │ PALMER5E │ 8 │ 0 │ 0 │ first_order │ 1.34e-01 │ 1.16e-03 │ 57 │ 4.37e-03 │ 0.00e+00 │ 58 │ 49 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 744 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 75 │ PALMER5B │ 9 │ 0 │ 0 │ first_order │ 1.13e-01 │ 1.93e-03 │ 59 │ 1.35e+00 │ 0.00e+00 │ 60 │ 36 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1327 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 76 │ PALMER6E │ 8 │ 0 │ 0 │ first_order │ 1.54e-01 │ 2.63e-04 │ 12 │ 1.39e-01 │ 0.00e+00 │ 13 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 152 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 77 │ SPECAN │ 9 │ 0 │ 0 │ first_order │ 6.25e-12 │ 1.05e-01 │ 8 │ 5.94e-05 │ 0.00e+00 │ 9 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 93 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 78 │ YFIT │ 3 │ 0 │ 0 │ first_order │ 2.24e-01 │ 6.16e-04 │ 34 │ 2.87e-02 │ 0.00e+00 │ 35 │ 29 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 313 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 79 │ LEVYMONT10 │ 10 │ 0 │ 0 │ first_order │ 1.64e+02 │ 6.39e-05 │ 3 │ 1.08e-05 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 30 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 80 │ PALMER4B │ 4 │ 0 │ 0 │ first_order │ 6.84e+00 │ 1.40e-03 │ 43 │ 1.73e-02 │ 0.00e+00 │ 44 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 829 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 81 │ PALMER1A │ 6 │ 0 │ 0 │ first_order │ 7.10e-01 │ 1.76e-03 │ 48 │ 6.53e-02 │ 0.00e+00 │ 49 │ 33 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 636 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 82 │ HOLMES │ 180 │ 0 │ 0 │ first_order │ 1.25e+03 │ 1.64e-01 │ 4 │ 5.28e-04 │ 0.00e+00 │ 5 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 104 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 83 │ PALMER2B │ 4 │ 0 │ 0 │ first_order │ 6.23e-01 │ 1.85e-03 │ 40 │ 4.04e-05 │ 0.00e+00 │ 41 │ 23 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1135 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 84 │ DGOSPEC │ 3 │ 0 │ 0 │ first_order │ -9.97e+02 │ 4.10e-05 │ 4 │ 6.49e-08 │ 0.00e+00 │ 5 │ 5 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 30 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 85 │ HATFLDA │ 4 │ 0 │ 0 │ first_order │ 2.98e-14 │ 1.63e-04 │ 28 │ 1.82e-07 │ 0.00e+00 │ 29 │ 29 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 248 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 86 │ PALMER3B │ 4 │ 0 │ 0 │ first_order │ 4.23e+00 │ 1.49e-03 │ 42 │ 4.01e-03 │ 0.00e+00 │ 43 │ 25 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 904 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 87 │ OSLBQP │ 8 │ 0 │ 0 │ first_order │ 6.25e+00 │ 2.60e-05 │ 2 │ 0.00e+00 │ 0.00e+00 │ 3 │ 3 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 88 │ MINSURF │ 64 │ 0 │ 0 │ first_order │ 1.00e+00 │ 5.31e-04 │ 8 │ 3.09e-06 │ 0.00e+00 │ 9 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 53 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 89 │ DIAGIQB │ 10 │ 0 │ 0 │ first_order │ -1.01e+13 │ 9.40e-02 │ 2061 │ 3.14e-16 │ 0.00e+00 │ 2062 │ 2063 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 117130 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 90 │ PFIT3LS │ 3 │ 0 │ 0 │ first_order │ 5.23e-04 │ 1.51e-03 │ 32 │ 2.62e-03 │ 0.00e+00 │ 33 │ 18 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1745 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 91 │ HART6 │ 6 │ 0 │ 0 │ first_order │ -3.32e+00 │ 4.14e-04 │ 13 │ 2.59e-06 │ 0.00e+00 │ 14 │ 9 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 388 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 92 │ WAYSEA1B │ 2 │ 0 │ 0 │ first_order │ 3.78e-12 │ 6.51e-05 │ 14 │ 1.26e-04 │ 0.00e+00 │ 15 │ 15 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 84 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 93 │ LEVYMONT5 │ 2 │ 0 │ 0 │ first_order │ 1.25e+01 │ 4.51e-05 │ 5 │ 9.39e-05 │ 0.00e+00 │ 6 │ 6 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 26 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 94 │ LEVYMONT8 │ 5 │ 0 │ 0 │ first_order │ 1.73e+02 │ 5.10e-05 │ 3 │ 1.23e-05 │ 0.00e+00 │ 4 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 31 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 95 │ BIGGS5 │ 6 │ 0 │ 0 │ first_order │ 4.85e-10 │ 3.41e-04 │ 16 │ 1.70e-06 │ 0.00e+00 │ 17 │ 16 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 147 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 96 │ PRICE3B │ 2 │ 0 │ 0 │ first_order │ 4.91e-09 │ 8.11e-05 │ 14 │ 7.43e-04 │ 0.00e+00 │ 15 │ 11 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 108 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 97 │ HS45 │ 5 │ 0 │ 0 │ first_order │ 1.00e+00 │ 2.69e-05 │ 1 │ 0.00e+00 │ 0.00e+00 │ 2 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 15 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 98 │ WAYSEA2B │ 2 │ 0 │ 0 │ first_order │ 1.21e-06 │ 9.39e-05 │ 19 │ 6.00e-03 │ 0.00e+00 │ 20 │ 20 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 155 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 99 │ SIM2BQP │ 2 │ 0 │ 0 │ first_order │ 0.00e+00 │ 1.72e-05 │ 1 │ 0.00e+00 │ 0.00e+00 │ 2 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 2 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 100 │ 3PK │ 30 │ 0 │ 0 │ first_order │ 1.72e+00 │ 9.55e-04 │ 15 │ 8.24e-05 │ 0.00e+00 │ 16 │ 16 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 504 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 101 │ PALMER4E │ 8 │ 0 │ 0 │ first_order │ 3.31e-01 │ 3.07e-04 │ 10 │ 5.21e-01 │ 0.00e+00 │ 11 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 117 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
│ tron │ 102 │ PALMER4A │ 6 │ 0 │ 0 │ first_order │ 4.21e-02 │ 8.27e-04 │ 45 │ 6.05e-03 │ 0.00e+00 │ 46 │ 31 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 415 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ │
└─────────────┴────────┴────────────┴────────┴────────┴────────┴─────────────┴───────────┴──────────────┴────────┴───────────┴─────────────┴───────────┴────────────┴────────────┴────────────────┴────────────────┴────────────┴─────────────┴───────────┴───────────────┴───────────────┴─────────────┴─────────────────┴─────────────────┴──────────────┴──────────────────┴──────────────────┴────────────┴─────────────┴─────────────┴──────────────┴────────────────┴────────────────────┴──────────────────────┴───────────────────────┴─────────────────────┴──────────────────────┴──────────────────────┴───────────┘or it can also be used to make performance profiles.
using Plots
gr()
legend = Dict(
:neval_obj => "number of f evals",
:neval_grad => "number of ∇f evals",
:neval_hprod => "number of ∇²f*v evals",
:neval_hess => "number of ∇²f evals",
:elapsed_time => "elapsed time"
)
perf_title(col) = "Performance profile on CUTEst w.r.t. $(string(legend[col]))"
styles = [:solid,:dash,:dot,:dashdot] #[:auto, :solid, :dash, :dot, :dashdot, :dashdotdot]
function print_pp_column(col::Symbol, stats)
ϵ = minimum(minimum(filter(x -> x > 0, df[!, col])) for df in values(stats))
first_order(df) = df.status .== :first_order
unbounded(df) = df.status .== :unbounded
solved(df) = first_order(df) .| unbounded(df)
cost(df) = (max.(df[!, col], ϵ) + .!solved(df) .* Inf)
p = performance_profile(
stats,
cost,
title=perf_title(col),
legend=:bottomright,
linestyles=styles
)
end
print_pp_column(:elapsed_time, stats) # with respect to timeprint_pp_column(:neval_obj, stats) # with respect to number of objective evaluationsprint_pp_column(:neval_grad, stats) # with respect to number of gradient evaluations