Next: Creating a new interface
Up: Installation and usage
Previous: CUTEr and automatic differentiation
Contents
Interfaces
This section describes existing CUTEr interfaces with optimization
and linear algebra packages and how to create a new interface.
Information and usage of the different interfaces to existing
optimization and linear algebra packages may be found in the man
pages $CUTER/common/man/man1, and users should ensure that
the directory
$CUTER/common/man appears on their MANPATH.
The man page for the generic script script may be
viewed by issuing the command man script, its
X interface xman, or, on LINUX systems, by executing
the command less script.1.
Table 1.4
shows the interfaces provided and the packages to which they
correspond.
Table 1.4:
Interfaces between the CUTEr tools and existing
optimization and linear algebra packages as of
March 24, 2005.
Interface |
Package |
cgd/sdcgd |
CG_Descent (Hager and Zhang) |
cgp/sdcgp |
CG+ (Liu, Nocedal and Waltz) |
cob/sdcob |
COBYLA (Powell) |
fil/sdfil |
FilterSQP (Fletcher and Leyffer) |
gen/sdgen |
Generic Fortran 77 interface |
gen90/sdgen90 |
Generic Fortran 90 interface |
genc/sdgenc |
Generic C/C++ interface |
hrb/sdhrb |
SIF-Harwell- or Rutherford-Boeing |
|
sparse matrix format converter (Gould) |
ipopt/sdipopt |
IPOPT (Wächter) |
knit/sdknit |
KNITRO (Byrd, Nocedal and Waltz) |
la04/sdla04 |
LA04 (Reid) |
lbb/sdlbb |
L-BFGS-B (updated) (Nocedal) |
lbs/sdlbs |
L-BFGS (Nodedal) |
lmb/sdlmb |
L-BFGS-B (Nocedal) |
lqo/sdlqo |
LOQO (Benson, Shanno and Vanderbei) |
mns/sdmns |
MINOS (Murtagh and Saunders) |
nits/sdnits |
NITSOL (Pernice and Walker) |
nps/sdnps |
NPSOL (Gill, Murray, Saunders and Wright) |
osl/sdosl |
OSL (IBM) |
pds/sdpds |
PDS (Torczon) |
prx/sdprx |
PRAXIS (Brent and Chandler) |
snp/sdsnp |
SNOPT (Gill, Murray and Saunders) |
stn/sdstn |
Stenmin (Bouaricha) |
tao/sdtao |
TAO (Benson, Curfman McInnes, Moré and Sarich) |
ten/sdten |
Tenmin (Schnabel and Chow) |
trn/sdtrn |
TRON (Lin and Moré) |
unc/sdunc |
Uncmin (Koontz, Schnable and Weiss) |
va15/sdva15 |
VA15 (Nocedal) |
ve09/sdve09 |
VE09 (Gould) |
ve12/sdve12 |
HSL_VE12 (Gould) |
ve14/sdve14 |
VE14 (Gould) |
vf13/sdvf13 |
VF13 (Powell) |
|
For the purpose of an illustration, let us now consider the unc
and sdunc interfaces to the UNCMIN unconstrained minimization
package. Their calling sequences are as follows
sdunc |
[-s] [-h] [-k] [-o j] [-l secs] [-f] [-b] [-a j] [-show] |
|
[-param name=value[,name=value...]] [-debug] probname[.SIF],
|
unc |
[-n] [-h] [-s] [-k] [-r] [-o j] [-l secs] [-debug].
|
The purpose of sdunc is to SIF-decode probname.SIF,
set environment variables defining object and specification files
necessary to compile the main UNCMIN executable, and launch runpackage. The script unc is simliar, except that it assumes
that the problem has already been decoded by the SIF
decoder. The main executable is linked, compiled and run by runpackage. An important difference with previous versions of CUTE is that runpackage is independent of any interface; only those
scripts given in Table 1.4 depend on the optimization
package which must be interfaced. The arguments of sdunc and
unc are thoroughly described in the man pages. We briefly review
them here.
- -s
- link, compile and run the single precision instance. Double
precision is the default;
- -h
- prints a help message;
- -k
- keep the load module after use;
- -r
- (unc only) discourage recompilation of the test problem;
- -o
- verbosity level: -o 0 is silent mode and
-o 1 is verbose mode. The default is -o 0;
- -l secs
- limits the CPU running time to secs
seconds;
- -f
- (sdunc only) generate the relevant subroutines for
automatic differentiation in forward mode;
- -b
- (sdunc only) generate the relevant subroutines for
automatic differentiation in backward mode;
- -a
- (sdunc only) when used in conjunction
with -f or -b, -a 1 uses the older HSL
automatic differentiation package AD01, which -a 2 uses
the newer, threadsafe, automatic differentiation package
AD02;
- -show
- (sdunc only) displays possible parameter settings for
probname[.SIF]. Other options are ignored;
- -param
- (sdunc only) cast probname[.SIF] against explicit
parameter settings;
- -debug
- links the libraries and compile with -g option so as to
allow debugging;
- -n
- (unc only) use the load module if it exists. The
default is to recompile.
The main object files for the supported packages (i.e. in this case,
uncmin.o) should be placed in (or symlinked to from the
directory) $MYCUTER/precision/bin, while the required
specification files should be placed in (or symlinked to from) the
current directory.
Next: Creating a new interface
Up: Installation and usage
Previous: CUTEr and automatic differentiation
Contents
Dominique Orban
2005-03-24