With the creation of SolverBenchmark.jl, we can remove plot-related things from this package completely and only use SolverBenchmark.jl, remove the solvers and create specific packages for them, and have only:
Tools: (folder auxiliary, linesearch, and trust-region);
This should stay small. Then, we could change the name to something more descriptive (SolverTools.jl?).
So, for developing a new solver and creating dataframes with comparison: using SolverTools. For plotting or publishing these results: using SolverBenchmark.
What about the solvers? Should they have individual packages? Should they be bundled according to type. Should all "approved" solvers be in a special package?
We could have
JSOSolvers.jl: Competitive solvers, with benchmarks against other solvers (IPOPT, Optim), with PkgBenchmark checking regressions;
With the creation of
SolverBenchmark.jl
, we can remove plot-related things from this package completely and only useSolverBenchmark.jl
, remove the solvers and create specific packages for them, and have only:auxiliary
,linesearch
, andtrust-region
);stats
, essentially ExecutionStats);bmark
).This should stay small. Then, we could change the name to something more descriptive (
SolverTools.jl
?).So, for developing a new solver and creating dataframes with comparison:
using SolverTools
. For plotting or publishing these results:using SolverBenchmark
.What about the solvers? Should they have individual packages? Should they be bundled according to type. Should all "approved" solvers be in a special package? We could have
JSOSolvers.jl
: Competitive solvers, with benchmarks against other solvers (IPOPT, Optim), withPkgBenchmark
checking regressions;JSOTextbookSolvers.jl
: Simple solvers, decent implementation.