<< CUTEr CUTEr buildprob >>

CUTEr >> CUTEr > CUTEr

CUTEr

Testing environment for optimization and linear algebra solvers.

Description

CUTEr is a versatile testing environment for optimization and linear algebra solvers. This toolbox includes function to decode and build SIF problems. It provides CUTEr functions which compute the objective, gradients of the objective, contraints, jacobian of the constraints and hessians for constrained and unconstrained problems. It also provides interfaces with the optimization solvers available in Scilab and its toolboxes and finnaly a set of tools for benchmarking and computing performance profiles.

Requirements

A Fortran compiler is mandatory to build problems.

Toolbox organisation

This toolbox contains many parts:

Problem database

A set of testing problems coded in "Standard Input Format" (SIF) is included in the sif/ sub-directory. This set comes from www.numerical.rl.ac.uk/cute/mastsif.html.

The Scilab function sifselect can be used to select some of this problems according to objective function properties, contraints properties and regularity properties

sif format decoder

The Scilab function sifdecode can be used to generate the Fortran codes associated to a given problem, while The Scilab function buildprob compiles and dynamically links these fortran code with Scilab

problem relative functions

The execution of the function buildprob adds a set of functions to Scilab. The first one is usetup for unconstrained or bounded problems or csetup for problems with general contraints. These functions are to be called before any of the following to initialize the problem relative data (only one problem can be run at a time).

The functions udimen, cdimen, udimsh, cdimsh, unames, cnames, uvarty, cvarty, ureprt, creprt and cdimsj, get_classification, get_problem_sizes, can be used to query problem properties.

The other functions allow to compute the objective, the gradient, the hessian values, ... of the problem at a given point: ufn, cfn, uofg, cofg ugr, cgr, ugrdh, cgrdh, ugrsh, cgrdh, udh, cdh, cidh, csgr, ccfg, ccfsg, ccifg, ccifsg.

CUTEr and optim

The Scilab function optim can be used together with CUTEr using either the external function optim_obj or the driver function sifoptim which try to minimize a problem given by its SIF file using optim

CUTEr and qld

The Scilab function qld can be used together with CUTEr using either the function cute2qp or the driver function sifqld which try to minimize a problem given by its SIF file using qld.

CUTEr and qpsolve

The Scilab function qpsolve can be used together with CUTEr using either the function cute2qp or the driver function sifqpsolve which try to minimize a problem given by its SIF file using qpsolve.

CUTEr and quapro

The Scilab function quapro (Scilab toolbox) can be used together with CUTEr using either the function cute2qp or the driver function sifquapro, which try to minimize a problem given by its SIF file using quapro.

CUTEr and fsqp

The Scilab function fsqp (Scilab toolbox) can be used together with CUTEr using either the external functions fsqp_obj, fsqp_grobj, fsqp_cntr, fsqp_cntr, fsqp_grcntr, or the driver function siffsqp, which try to minimize a problem given by its SIF file using fsqp.

CUTEr and ipopt

The Scilab function ipopt (Scilab toolbox) can be used together with CUTEr using either the external functions ipopt_obj, ipopt_grobj, ipopt_cntr, ipopt_cntr, ipopt_grcntr, or the driver function sifipopt, which try to minimize a problem given by its SIF file using ipopt.

CUTEr and conmin

The Scilab function conmin (Scilab toolbox) can be used together with CUTEr using either the external functions conmin_obj, conmin_constr or the driver function sifconmin, which try to minimize a problem given by its SIF file using conmin.

Benchmarking tools

This toolbox also provides the cuter_bench function which allow to automatically run the Scilab solvers (optim, fsqp, ipopt, qld, quapro, qpsolve) on all SIF problems provided in this toolbox and to validate the results and to produce an result tables. This function uses the subsidiary functions test_<solver_name> to apply a solver to a problem and the bench<solver_name> to manage the result tables.

The results tables are Scilab mlist whose names are Res_<solver_name>. Each row contains the data for a SIF 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.

The main properties of SIF problems used are also reported in the Res_general data structure.

The result tables can then be used to derive performance profiles using the perf_profile function.

Authors

Bibliography

Based on CUTEr authored by

Nicholas I.M. Gould - n.gould@rl.ac.uk - RAL

Dominique Orban - orban@ece.northwestern.edu - Northwestern

Philippe L. Toint - Philippe.Toint@fundp.ac.be - FUNDP

see http://hsl.rl.ac.uk/cuter-www


Report an issue
<< CUTEr CUTEr buildprob >>