benchmarks solvers against CUTEr problem collection function
cuter_bench(result_file [,solvers])
A string: the path of the result file
A string vector, the names of the solvers
cuter_bench(result_file)
stores in the
file given by result_file
the result tables for
the solvers ipopt
,
optimqn
, optimgc
,
fsqpal
, fsqpnl
,
qld
, qpsolve
,
quapro
The results for the solver
<solver_name>
are stored in a data
structure named Res_<solver_name>
. Each
row of the data structure contains the results for a CUTEr
problem. The data fields depends on the solver but there is at
least : the optimal objective found (Cost
,the
feasibility norm (feas
), the lagrangian norm
(glagn
), the dual feasibility norm
(comp_val
), the cpu time
(Time
) and a failure indicator
(Fail
). If relevant, the number of objective
function calls (Nf
) and the number of gradient
of objective function calls (Ng
) are also
reported.
cuter_bench(result_file,solvers)
can be used to specify a subset of the solvers.
To add a new Scilab solver one must create:
The external functions required to fit the solver requirements (see ipopt_obj, ipopt_obj, ipopt_cntr and ipopt_cntr as examples).
The test_xxxx
function that
applies the solver to a given problem (see test_ipopt.sci
as an
example).
The benchxxxx
fonction that
creates and sets the result data structure dedicated the
solver(see benchipopt.sci
as an
example).