CUTE: Constrained and Unconstrained Testing Environment - CiteSeerX

0 downloads 0 Views 2MB Size Report
as to what constitutes an ideal interface between problems and algorithms. We have ... function and derivative values in various dense and sparse formats, thus.
CUTE: Constrained and Unconstrained Testing Environment i. BONGARTZ

and A. R, CONN

IBM T. J. Watson Research Center NICK GOULD Rutherford Appleton

Laboratory

and Ph. L. TOINT Facult6s Universitaires

ND de la Paix

The purpose of this article testing

small-

facilities

and

were

LANCELOT,

for

anonymous The by

originally

ftp

their from

with

input

the

format

number a specific

in mind,

bias

illustrate

to many

of the

everything

sufficiently Categories

with

and

Subject

Techniques—modules

and

This

research

ment

of Defense

was

Authors’

addresses:

218, Yorktown ing

The

Department,

email:

NY

ND

de

la

D.2.2

Ph.

61,

rue

Paix,

Force

A. R, Corm, email:

Toint,

de

and C

we do not

of potential confusion.

users

Tools

are

and

Optimization—constrained

Projects

Agency Research

to reproduce notation

T. J. Watson

of the

Depart-

under and

Contract distribute

hereon,

Research

Center,

P.O.

N. Gould,

Central

Comput-

Oxfordshire,

OX1l

of Mathematics,

B-5000,

and a

of problems,

of simplicity,

any copyright

Chilton,

not this

includes

is a Unix

to undue

of Scientific

Department

Bruxelles,

classes

is authorized IBM

the SIF

majority

[email protected];

Laboratory, L.

between

There

used

was

between

Engineering]:

Research Office

(SIF)

as each problem

Analysis]:

Government

Appleton ac.uk;

[Software

[Numerical

software

sake

to by

automatically.

most

particular

the

package

obtained

format

information.

not lead

be

input

a link

for the

that

will

notwithstanding

and

10598;

Rutherford

[email protected].

sitaires

States

L Bongartz

since,

by the Advanced

purposes

Heights,

article,

by the Air

provide

can

an interface

Additionally,

of this

We trust

G.1.6

in part

tools

these

be available

be installed

that

in identifying

examples

Descriptors:

United

for governmental

these

cases,

for

of

software

should

tools

in building

and OSL.

a database

in the

interfaces;

supported

These

generality.

that

and was monitored

F49620-91-C-O079. reprints

fullest

Unix

to assist

environment many

the

and

in the standard Recognizing

to be useful

and manage

with

right The

in many

written

MINOS

descriptions

in its

familiar

packages.

is designed

to build

may,

tools

own

versatile

a

Although

conjunction

software.

is described,

including

that

are provided

and

we provide

optimization

classification

facilities shell

package

in

in their

problems

of

algorithms.

optimization

of sources

software

packages,

authors

be useful

of

of test

and other

optimization the

will

collection

SIF

of existing

by

they

a number

LANCELOT

written

that

development

scope of a major the

nonlinear

produced

we believe

researchers

discuss the scope and functionality

is to

large-scale

Namur,

Box

OQX,

England;

Facult6s

Univer-

Belgium;

email:

pht@

math.fundp.ac.be. Permission to copy without fee all or part of this material not made or distributed for direct commercial advantage, of the

publication

Association specific

and

its

for Computing

date

appear,

Machinery.

and

notice

is granted provided the ACM copyright

is given

To copy otherwise,

that

copying

that the copies are notice and the title

is by permission

or to republish,

requires

of the

a fee and/or

permission.

@ 1995 ACM

0098-3500/95/0300-0123 ACM Transactions

$03.50

on Mathematical

Software,

Vol. 21, No. 1, March

1995, Pages 123-160.

124

.

1. Bongartzet

optimuatlon;

nonlinear

ware—certification General Additional

programming;

and

Terms:

al.

testing;

Algorithms,

Key

Words

and

G.4 [Mathematics

reliability

and

of Computing]:

robustness;

Mathematical

Soft-

uertficatlon

Performance Phrases:

Test

article

is

problems

1. INTRODUCTION The

purpose

devised

of this

for testing

small-

to

describe

and large-scale

an

environment

nonlinear

that

optimization

we

have

algorithms.

It is inevitable that, during the process of developing a software package, the designers concern themselves with problems of testing. Thus, in a major project, one has to consider how to obtain and specify a suitable collection of test problems. hensive, it will

If the collection require careful

of test problems is to be reasonably management. Additionally, one might

that researchers would like to compare different algorithmic problem, All of these situations occurred during our own indeed, duced

many

of the

and tested

facilities

described

in conjunction

Corm et al. [1992a]). In this article we discuss testing

environment

with

the

(CUTE)

in this

scope of our for

article

the software

constrained

nonlinear

approaches researches,

to a and

originally

pro-

LANCELOT

(see

were

package

comprepresume

and

programming

unconstrained algorithms.

We

describe in some depth a collection of test problems that we have gathered from a variety of academic and real-life sources. Furthermore, we discuss a number of tools that we have produced to manage the resulting test problem database. An additional set of Fortran tools, which are intended to facilitate the building of an interface between the test problem collection and potential optimization These

software

tools

have

packages

to be rather

optimization community problems and algorithms. We have

tried

to order

the

of this

—I

a (class

content

an ideal

article

user who might

of) problem(s).

short)

is

also

described.

is, as yet, no consensus

constitutes

of a potential

to solve

for

as there

as to what

the requirements questions: want

(interfacing,

general

What

interface

so that

in the between

it corresponds

pose the following

sequence

to of

is available?

—My problem is not available in the current test set. I would like to construct it and include it in my classification database. How do I proceed? —I

now know which problem(s) I want to solve. Which faces available in CUTE, and how do I use them?

—The

solver

Fortran

I would

interface

of choice

using

The facilities community—and

like

to use is not

between the tools

my

specific

available. (class

How

solvers can I build

of) problem(s)

and

tion

software,

much

TransactIons

on Mathematical

in the

inter-

a suitable my solver

supplied?

offered are intended to be useful to the general especially to researchers—for the development

ACM

have

same Software,

spirit

as those

Vol. 21, No

of Buckley

1, March

1995

optimization of optimiza-

[1992].

All

of the

Constrained

test problems used

by

classification the

test

Testing Environment

that

is designed

We provide problems

to be useful

an automatic

in any

facility

collection

in identifying

particular

classes

of

for selecting

interesting

subsets

of

conforming

to this

We also provide tools for maintaining a database allow for the introduction of new members. We provide fied

using

additional

the

SIF,

tools and

Since most software important to provide

to allow

other

was such

of classified

an interface

existing

classification

between

nonlinear

system.

problems

problems,

programming

and derivative a relatively easy

Details of both Of course, CUTE

include

any

authors

source, To

object,

obtain

(or, when

or executable

these

available,

files,

the

transfer

files user

for

should

the files

external

contact

from

TEST

PROBLEM

2.1 The Scope

SIF and does not

optimization

the

appropriate

the appropriate

We conclude the article by describing how to obtain the files that CUTE and how to install the accompanying tools on a user’s Further details are provided in a number of appendices. 2. THE

speci-

packages.

means of building interfaces with new algorithms. LANCELOT are provided by Corm et al. [1992a]. the

to

not written to interface with this format, it is tools. Furthermore, Fortran subroutines are sup-

plied to take input written in SIF and to return function values in various dense and sparse formats, thus providing

packages.

125

.

in our collection are written in the standard input format (SIF) LANCELOT software package. Each problem comes with a

the

problems.

and Unconstrained

ftp

site).

make up machine.

DATABASE

of the Collection

The provided collection of nonlinear set of test problems written in the

test problems is intended SIF used by LANCELOT.

to be a growing This collection

contains

a large number of nonlinear optimization problems of various sizes and “real-world” applications. and difficulty, representing both “academic” Both constrained and unconstrained examples are included. On December 15, 1994, the database consisted of 738 test problems. Because many of these problems allow various choices for the number of variables and/or the number of constraints, many more instances can be defined by the user. More than

a thousand

such

instances

the problem definitions. It is clearly impossible will

suffice

—the

to say that

“Argonne

1989], the the Dembo problems and Tone Tuyttens 1991]; —most

to describe the test

set”

[Mor6

by appropriate

all of these

set covers, et al.

among

1981],

examples

comments

in this

in

article.

It

others,

the

Testpack

report

[Buckley

Hock and Schittkowski collection [Hock and Schittkowski 1981], network problems [Dembo 1984], the Mor6-Toraldo quadratic [Mor6 and Toraldo 1991], the Boggs-Tolle problems [Boggs 1989], the Toint-Tuyttens network model problems [Toint and 1990], and Gould’s quadratic programming problems [Gould

problems

—problems

test

are suggested

from

inspired

the PSPMIN

by the orthogonal ACM

Transactions

collection

[Toint

regression on Mathematical

19831;

report Software,

by Gulliksson

[ 1990];

Vol. 21, No. 1, March

1995.

126

.

—some

problems

Mor6 tion

1. Bongartzet

1991;

the

not

because

Minpack-2

et al. 1991] 1987];

number

Moreover, but

from

Averick

[Schittkowski

—a large

al.

problems

LANCELOT

ming

because

format

problems

the

(see IBM

SIF

that

the

[Averick

Schittkowski

and collec-

of application

collection

will

agreement,

areas.

grow

which

steadily,

requires

the

by most users of the package, the new more user oriented than the present ones. is an extension

[1978],

(e.g., Gay [1985])

collection

second

a variety

licensing

submission of typical problems problems are likely to be even Furthermore,

the

from

can one assume

of the

problem

from

and

of original only

test

and

access

is possible.

of the

to suites Tables

MPS

of linear

linear

program-

programming

I and II are included

test

to indicate

the scope of the applications that are currently represented in the database. Also included are some other test problems of interest to optimization algorithm designers. As can be seen from in the current can also simple present

these

collection,

be seen that

bounds)

cover

collection

the

dimension

a wide

involve

large- and small-scale number of problems

tables,

many

and the coverage range.

constraints

and

application

are represented

to become

number

of constraints

About more

areas

is likely one-third general

of the than

even wider,

problems

simple

It

(excluding in the

bounds.

Both

problems are included. The collection also contains a posed as nonlinear systems of equations. The SIF file

associated with each problem contains a reference to its statement in the literature, when appropriate. A summary of details on the test results obtained with various of the options available with the software package LANCELOT is given by Corm et al. [ 1992 b]. A technical report containing the complete results (including a more detailed description of each problem’s characteristics and the complete set of results Corm The

obtained

on nearly

20,000

separate

runs)

is also available

(see

et al. [1992c]). current

size

of the

total

uncompressed

database

of test

problems

is

almost 100 MB. Since this database is substantial, it is available in two separate compressed files, one containing the smaller problems (mastsif.small. tar.Z) and the other the larger problems (mastsif.large. tar. Z). Individual problems are also available, In a Unixl environment, we assume that the directory in which these problems reside is pointed to by the environment variable MASTS IF. We also assume that the directory where CUTE is installed (see Section 7 for more details) is pointed to by the environment variable CUTEDI R. 2.2 The Classification

Scheme

Each

in our data

of the problems

set comes with

a simple

problem

classifica-

tion inspired by the scheme of Hock and Schittkowski [1981], which was itself a slight extension of a scheme adopted by Bus [1977]. The scope of such a

1UNIX

is a

registered trademark of AT & T Bell Laboratories.

ACM Transactions

on

Mathematical Software, Vol. 21, No 1, March 1995

Constrained

and Unconstrained

Table

I.

Typical

Problem ~craft

Testing Environment

variables

problem

Elastic-plastic

torsion problem

Membrane

problem

network

Optimization

gas flow problem

of electrical

Oscillation

problem

9 0

CLPLATEA

15625

0

TORSION1

mechanics

AIRCRFTA

8

1

HS106

15625

0

JNLBRNGA

13

15

2734

2727

6

4

network

in structural

SIF file name

9

separation

Nonlinear

constraints

4970

Heat exchanger design Journal-bearing

127

Examples

stability

Clamped-plate

.

HS116 BRIDGEND HS87

5041

0

SVANBERG

Static power scheduling

9

6

HS107

Time-optimal

2

1

HS88

heat conduction

Transformer

design

Three-stage

launch vehicle design

Minimal-weight Aircraft

rotating-disc

design

design

6

2

25

28

905

1081

49

32

HS93 LAUNCH ROTDISC AVION2

1-D variational

problem

from ODES

1001

0

BRATUID

2-D variational

problem

from PDEs

5184

0

BRATU2D

3-D variational

problem

from PDEs

4913

0

BRATU3D

Applied

6

15

2

0

ROSENBR

5002

0

TRIGGER

5002

0

BDVALUE

5000

0

VAREIGVL

10000

0

MSQRTA

3946

3690

15625

0

13284

6724

GRIDNETA

10000

5000

HAGER4

6

15

LEWISPOL

15625

0

OBSTCLBU

649

349

GOULDQP2

8197

4096

ORTHREGA

18

18

NYSTROM5

5

502

6

2654

geometry

Banana shaping Turning

point in curve tracing

Discretized

boundary

Eigenvalue

calculations

Matrix

value

square root

Pivot growth

in Gaussian Elimination

Surface problem

with nonlinear

Nonlinear

network

Nonlinear

optimal-control

problem

conditions

on square grid problem

Number theory Obstacle problem Optimal

knot placement

for ODE solution

Orthogonal

regression problem

Quadrature

rule determination

Rational

approximation

Smallest crescent containing

ACM

given points

Transactions

on Mathematical

Software,

PENTAGON

GAUSSELM NLMSURF

EXPFITC CRESC132

Vol. 21, No. 1, March

1995.

128

.

1. Bongartz et al. Table

II.

Typical

Problem

Examples

variables

SIF file name

constraints

Physics Quantum

physics

600

1

Radiative

transfer

100

100

CHANDHEQ

246

0

RAYBENDS

1002

1000

3

0

5000

10000

READING3

8

60

VIBRBEAM

Seismic ray bending Semiconductor Thermistor

analysis

modeling

Tide modeling Vibrating

beam modeling

Chemistry

LCH

SEMICON2 MEYER3

and Biology

Alkylation

10

11

HS114

43

14

HIMMELBJ

8

0

PALMERIC

5000

5000

99

99

modeling

4

0

KOWOSB

Dipole model of the heart

8

8

HEART8

19

8

FCCU

4

3

HS73

500

0

PRODPL1

4

2

HS68

Chemical

equilibrium

Chemical

kinetics

Chemical

reaction

Distillation

problem

column modeling

Enzyme reaction Fluid catalytic

cracker modeling

Economy and Operations production

Cost optimal

planning

inspection

HYDCAR20

Research

Cattle feeding Computer

CHEMRCTA

plan

Economic

equilibrium

1825

730

Economic

model from Thailand

2230

1112

BIGBANK

194

120

SSEBNLN

2017

1008

Electric

power generation

Hydro-electric Optimal Nonlinear

reservoir management

sample sizing blending

Traffic equilibrium

4

2 14

HIMMELBK

540

126

STEENBRE ODNAMUR

11276

0

906

666

Weapon assignment

100

12

classification

demand estimation

could

be very

broad

indeed,

HYDROELL

24

Water distribution

Transportation

MANNE

and

we

realize

HS72

DALLASL HIMMELBI

that

a general

scheme that encompasses much more than we have succeeded in doin~ could be very useful for large databases such as ours. However, we have consciously limited the scope of our classification as follows. A problem

is classified

by the string

XXXr-XX-n-m. ACM

TransactIons

on Mathematical

Software,

Vol. 21, No, 1, March

1995.

Constrained This

string

admissible character

must

not

contain

letters

and

integers,

in the

uppercase. The first function.

and Unconstrained

character

no objective

C

the objective

string.

in the

string

values

function

blanks.

together

classification

Its possible

N

any

Testing Environment In

with

Note

that

defines

the objective

function

is linear;

function

is quadratic;

the type

S

the objective

function

is a sum of squares;

O

the objective

function

is none

U

character

Its possible

the problem

in the

values

string

defines

problem

only

constraints

are fixed

only

constraints

are bounds

N

the problem’s network;

constraints

represent

L

the problem’s

constraints

are linear;

Q

the problem’s

constraints

are quadratic;

O

the problem’s

constraints

are more

The third character There are two choices

in the string

R

the problem is regular, that are continuous everywhere;

I

the problem

type

the

on the variables; adjacency

matrix

of a (linear)

and

general

indicates

than

any of the above alone.

the smoothness

is, its first or

and second

of the problem.

derivatives

(r) which

corresponds

to the

fourth

interest

of the problem.

Its possible

is academic, that is, has been to test one or more algorithms;

M

the problem

is part

The

character

of a modeling

exercise

is not used in a genuine

practical

values

of the

and

where

character contains

in

the

explicit ACM

specifically

the actual

application; used

value

in a real

string

indicates

whether

or not

variables

(see the

description

on Mathematical

Software,

is

by of the

and

internal Transactions

string

the problem O, 1, or 2. the primary

are

constructed

the problem’s solution is (or has been) actually tion for purposes other than testing algorithms. next

exist

is irregular.

the problem researchers

description

of the

variables;

A

R

objective

of constraints

the degree of the highest derivatives provided analytically within description. It is restricted to being one of the single characters The character immediately following the first hyphen indicates

solution

in

is unconstrained;

the problem’s

and/or

be given

and

the

the problem’s

origin

each

are

B

integer

must

of the

the

for

of the above.

X

The

all letters

state

is constant;

the objective

second

we

is defined;

function

L

The

follows, interpretation,

are

Q

problem.

what their

129

.

the

applica-

problem of group

Vol. 21, No. 1, March

1995.

130

1, Bongatlzet

.

partial

separability

There

al, Corm

in

are two possible

et al. [1990]

or Corm

Y

the problem

description

contains

N

the problem

description

does not contain

The symbol(s) variables

V

the

n

a positive

The

number

than

integer

not

the number

the

and third

in the

integer

Sect. 8.2.2.2]).

hyphen

hyphen

or

internal

indicate

variables.

the number

can be chosen

(fixed)

number

indicate

bounds)

in

actual

number

of

The

can be chosen (fixed)

or

variables.

Note

here.

user;

of constraints

problem.

constraints

the

by the

of problem

the

the

in the problem giving

variables;

are

as general

of constraints

internal

any explicit

problem

the actual

and

considered

explicit

values

third

variables

nonnegative

a

Possible

giving

after

fixed

variables are values are

m

the second

of variables

symbol(s)

(other

V

between

in the problem.

et al. [1992a,

namely,

values,

that two

fixed

possible

by the user;

or

number

of problem

the scope of the classification

to include,

constraints. In the future,

we intend

to expand

among other things, a more thorough subdivision of constraint information, structural considerations, and solution characteristics. We have refrained from

extending

to benefit

the classification

from

feedback

such extensions

be compatible

2.3 The Select The purpose problem

list

system CUTE

at the present

users.

with

time

It is, of course,

the present

because essential

we wish that

any

system.

Tool

of this

classifications.

contains all the The interrogation Thus, obtain

from

tool

is to interrogate

a file

In the distributed

current classification includes a facility

version

containing

details

of CUTE,

on a list

of

the file CLASS, DB

details for the test problem database. for choosing the file that is to be probed.

one is able to maintain and a list of problems that match

query several different .DB files and to interactively defined characteristics. The

can be saved in a designated file. One might imagine having several

different

problem

data

sets in several

different directories. Suppose, for example, one had two directories called academic and applications. One could then maintain a .DB file in each directory corresponding to the SIF files they contained. For each, there is then the possibility of setting up an interactive dialogue at the terminal to determine such data as, for example: “Which problems are constrained and have only linear constraints,” or “Which problems have more than 1000 constraints and have explicit second derivatives?” By default, the select tool assumes the .DB file resides in $MASTSIF / ClASSF. DB, but the user may give a full pathname for the classification file and thereby probe any file in any directory. The select tool prompts the user to specify the problem characteristics of interest, and then lists all problems in the classification file which satisfy ACM

these

Transactions

characteristics. on Mathematical

If the Software,

save

facility

is used,

Vol. 21, No. 1, March

1995

the

listing

will

be

Constrained saved

under

written

the file

name

in the current

pathname

and thus

and Unconstrained

specified

working write

Testing Environment

by the user.

directory.

the listing

By default,

The user

file

may,

131

.

the listing

however,

file

give

is

a full

in any directory.

The dialogue with the user is on the standard input\ output. Additional information about the select tool is given in the document file install. rdm contained

$CUTEDIR / doc (see Section

in the directory

7).

Note that the upper bound on the number of variables is 99,999,999, and one is not allowed more than 99,999,999 constraints. The output produced when running this program is given in Appendix C.

is meant

3. ADDING

NEW PROBLEMS

Large-scale

optimization

of information number

a format

a Fortran would

Our

including

that

compiler

(fortunately)

structure.

of objectives,

wanted that

problems

in their

would

that

to be self-explanatory.

be available with

the

typically format

exploiting

was capable

be compatible

input

that

contain

to anyone format

using

In

of IBM

deal

to satisfy

particular,

a machine

the problem

session

a great

was designed

structure.

of exploiting MPS

A typical

that

has

structure

[1978].

a we

and

When

users

wish to add new problems, they will first need to write the appropriate input files. It is not our intention to provide a manual for writing such files here. Details of the required syntax and a primer for beginners are included in the book describing

the LANCELOT

software

package

(Corm

et al. [1992a,

chaps.

7 and 2]). Although this article does not describe how to write problems in SIF, Section 3.1 outlines how the problem structure is exploited, and Appendix A gives

a small

classification

illustrative string

should occur in the must be of the form * classification

example

in

this

SIF

file

of a SIF

example. before

the

In

file.

general,

The

user

the

might

notice

classification

GROUPS or VARIABLES

the

string

section

and

XXXr-XX-n-m

or * CLASSIFICATION

XXXr-XX-n-m

where before entire

the first character must be a *; any number of blanks can appear or after the key word classification or CLASSIFICATION as long as the string is no more than 80 characters; and the characters in the string XXXr-XX-n-m must obey the classification scheme defined in Section 2.2.

3.1 Decoding

the Problem

Input File

A module (called the “SIF decoder”) reads the description of the problems in the standard input format. A structure called group partial separability, which we believe has many significant advantages, is accounted for in the input format. ACM Transactions on Mathematical Software, Vol. 21,

No, 1, March

1995.

132

1. Bongartz et al.

.

A function

f(x)

(1) the function

is said to be group can be expressed

partially

separable

if

in the form n&-

f-(x) = ~ where

n~ is the number

(2) each of the function

group

of groups;

functions

of the single

(1)

g,(a!,(x)),

g,(a)

variable

is a twice

continuously

differentiable

a;

(3) the function

is known

as the

i th group;

(4) each of the index sets ~ is a subset of {1, . . . , n,}, where of different nonlinear element functions; element (5) each of the nonlinear tiable function of a subset assumed by

to have comprising

xIJI

a large

(7) the This

Wi ~ are known

structure

sparse

matrix

of the

continuously

variables

subspace.

x.

Usually,

of the variables linear

element

Each this

differenfunction

is

is manifested

x;

functions

a~x – bi is, in

weights.

general.

may

~ is a twice

of the

fraction

as element

is extremely

Hessian

xIJI

invariant

a small

a, of each (6) the gradient general, sparse; and

functions

n, is the number

Indeed,

be written

any function

in this

form

with

a continuous

(see Griewank

and Toint

[1982]). A more thorough introduction by Corm et al. [1990]. The SIF decoder

for group partial separability is given assumes that the objective and general

constraint

with

functions

are of this

form,

the

proviso

that

each

constraint

uses only a single group, i.e., n~ = 1 for the constraints. Thus, for each problem in the SIF test set there is a file, named, for EXAM PLE.S IF. The SIF decoder interprets the statements found in example, the file below:

and

—ELFUNS.f

produces

several

contains

a Fortran

functions corresponding in the problem, as well

Fortran

subroutines

and

a data

subroutine that evaluates to the nonlinear element function as their derivatives;

file,

as given

the numerical types occurring

—GROUPS.f

contains a Fortran subroutine that evaluates the numerical functions corresponding to the group function types occurring in the problem, as well as their derivatives;

—RANGES.f contains a Fortran subroutine that computes the transformations from elemental to internal variables (see Corm el al. [1992a] or Corm et al. [19901) for all element types that use a nontrivial transformation;

—SETTYP.f nonlinear

contains elements

a Fortran

subroutine for the problem;

that

assigns

the correct

ACM Transactions on Mathematical Software, Vol. 21, No, 1, March 1995

type to the

Constrained

—EXTERN.f

(if present)

contains

at the end of the problem

—OUTSDIF,d names, These

contains

data

point,

are

subsequently

the LANCELOT

user-supplied

Fortran

133

.

functions

found

structure

(variable

and constraint

and the like).

used

codes (see Sections

Testing Environment

and

on the problem

starting

files

any

SIF file;

scalings,

optimization

and Unconstrained

by

the

tools

that

interface

5 and 6), and of course

they

with

other

are required

by

optimizer.

4. MANAGEMENT

OF CLASSIFICATION

Once the problems

is described This raises

in SIF, the next step is its inclusion in the the issue of database management. We now

classify

classall

problem database.

describe

the

purpose

tools

of these

and

tools is to create,

the classification

database

that

the user is on the standard classification Suppose (assuming

required

maintain,

the select

input/output.

for

this

management;

the

.DB files that contain

and update tool interrogates.

The dialogue

We now illustrate

the usage

with of the

commands. the

directory

pointed

one is in a Unix

BRYBND.SIF CLUSTER.SIF CORE1 .SIF CORE2.SIF COSHFUN.SIF which

DATABASES

all contain

to by

environment)

EQC.SIF FLETCHBV.SIF GENROSE.SIF HS25.SIF HS35.SIF suitable

the

environment

contains

lines.

MASTS IF

the SIF files

LEAKNET.SIF MINMAXBD.SIF MOREBV.SIF NETI .SIF NET2.SIF

classification

variable

NET3.SIF QC.SIF S268.SIF S368.SIF STANCMIN.SIF

Issuing

the command

classify LEAKNET (note that the the screen:

file

name

is case sensitive)

results

in the following

output

at

Your current classification file is : CLASSF.DB Your current SIF filename file is : LEAKNET.SIF If the file CI-ASSF, DB in the directory

pointed

MASTSIF does not already

it is created

exist,

then

to by the environment and contains

variable

the following

line; LEAKNET LOR2-RN- 156-153 Otherwise, classification If LEAKNET

LEAKNET, the if CLASSF.DB exists, but no entry for problem line is inserted in the file in its correct ASCII ordered position. already appears in ClASSF. DB, the users are asked if they wish

to overwrite the old entry, if it differs from the new one. To refer to a directory other than the directory indicated must issue the command

by $MASTSIF,

one

Vol. 21, No. 1, March

1995.

classify classdir probname, ACM

Transactions

on Mathematical

Software,

134

.

1. Bongartzet

al.

probname is the problem name with or without the S1F appended, and classdir is the name of the directory where this problem resides. In this case, CLASSF. DB is created in the directory classdir. Note that, when the classdir argument is not given, classify assumes that the SIF file probname.SIF is in It is recommended that the user not assign file the $MASTSIF directory. where

names with multiple .SIF endings, Finally, issuing the command

such

as probname,SIF.SIF.

classall

ClASSF. DB in the appropriate directory (pointed to by the MASTS IF in a Unix environment), together with screen messages similar to that produced by classify, for each SIF file processed. The process is completed by a listing of the . DB file on the screen. For our classall produces a ClASSF. DB file containing the following lines: example, produces

the file

environment

variable

BRYBND CLUSTER COREI CORE2 COSHFUN EQC FLETCHBV GENROSE HS25 HS35 LEAKNET MINMAXBD MOREBV NET1 NET2 NET3 QC S268 S368 STANCMIN To override mand

suR2-ANNOR2-ANLQ12-RNLQ12-RNLoR2-ANouR2-MYOUR2-ANSUR2-ANSUR2-ANQLR2-ANLoR2-RNLoR2-ANSUR2-MYoo12-RNoo12-RNoo12-RNOUR2-MYQLR2-ANOBR2-MYoL12-AYthe

environment

v265157v:: v33156:: 671815919:: 3-

V 2 59

134 v o v v o 1 153 20 v 57 160 521 0 5 v 2

variable

MASTSIF,

one must

issue

the

com-

classall classdir where classdk is the name of the directory classified. In this case, ClASSF. DB is created

5. THE INTERFACE

WITH EXISTING

So far, we have described

what

containing the in the directory

OPTIMIZATION

problems

exist

SIF

files

to be

classdir.

PACKAGES

in SIF, how they

are classified,

and how to add to a supplied or new database. This section lists the optimization packages for which interfaces have been developed. The purpose of these interfaces is to deal with the situation, presumably not uncommon among researchers and practitioners alike, where one wants to run a given problem on a range of algorithms to assess which algorithm is likely to be the most suitable for solving classes of related problems. ACM Transactions on Mathematical Software, Vol. 21, No. 1, March 1995

Constrained

and Unconstrained

Testing Environment

135

.

5.1 Scope At the present tion

time,

we have

available

interfaces

with

the following

optimiza-

packages:

COBYLA

of Powell

[1994].

This

package

is a direct

search

method

for

inequality-constrained problems that models the objective and constraint function by linear interpolation and does not use derivatives. It is available from M. J. D. Powell, DAMTP, Cambridge University, Cambridge, UK (email address:

[email protected].

MINOS

of Murtagh

and

ac.uk).

Saunders

[1993].

MINOS

solves

problems

of the

form minimize

~(x)

+ CTX + dTy

xER”,y=R~ subject

to

f(x)

+Aly

= bl

(3)

Azx+A~y=bz

The

nonlinear

contributions

to the

constraints

are linearized

so that

linear

programming technology can be exploited. MINOS allows matrices to be stored in either dense or sparse format and is therefore suitable for large sparse problems. Details are given in Murtagh and Saunders [1978; 1993]. Currently we have interfaces for MINOS versions !5.3, 5.4, and 5.5. MINOS is distributed by the Office of Technology Licensing (OTL) at Stanford University

and

is subject

Stanford

to certain

University.

Michael Saunders dress: Department

license

Readers

agreements.

interested

(email address: of Operations

in

MINOS

more

is copyrighted

details

should

by

contact

mike@ sol-michael.stanford. edu; postal adResearch, Stanford University, Stanford,

CA 94305-4022). NPSOL functions

of Gill et al. [1986]. subject to constraints,

This package is designed to minimize smooth which may include simple bounds, linear

constraints, and smooth nonlinear constraints. The software tial quadratic programming algorithm, where bounds, linear nonlinear all

constraints

matrices

problems. Stanford

in dense

NPSOL University.

OSL of IBM

are treated

separately.

format

is therefore

and

is available

[1990].

This

from

package

the

TENMIN problems

of Schnabel where

and

Chow

the cost of storing ACM

Transactions

not

Office

obtains

ming problems where the Hessian matrix is intended to be suitable for large-scale International Business Machines, subject is copyrighted by IBM Corporation.

Unlike

MINOS, intended

of Technology

solutions

uses a sequenconstraints, and NPSOL

stores

for large

sparse

Licensing

to quadratic

program-

is assumed positive semidefinite. problems. OSL is distributed to certain license agreements,

[1991].

one n-by-n

This matrix

on Mathematical

package (where

Software,

at

is intended

It by and

for

n is the number

Vol. 21, No. 1, March

1995.

136

.

1. Bongartzet

al.

of variables) and of factoring it at each iteration is acceptable. The software allows the user to choose between a tensor method for unconstrained optimization and an analogous standard tensor method bases each iteration model form,

of the store,

objective

via anonymous distribs/tensor.

ftp Any

[email protected]. UNCMIN

in

is not

on a quadratic constructed

significantly

quadratic

model.

edu, in software

more

model. The fourth-order expensive

TENMIN

to

is available

the directory pub/es/ should be addressed to

edu, et al.

Dennis and minimization

region

or difference sians (from

that

the standard

from ftp.cs.colorado. questions about this

of Koontz

pseudocode unconstrained and trust

function

or solve than

method based on a specially

[1985].

UNCMIN

Schnabel and has

approaches.

[1983]. options

The provided

corresponds This that

options

closely

to the

package is designed for include both line search include

analytic

gradients

approximations with analytic Hessians, or finite-difference Hesanalytic or finite-difference gradients) or secant methods (BFGS).

VA15 of Liu and Nocedal [1989]. This package solves general nonlinear unconstrained problems using a limited-memory BFGS method. It is intended for large-scale problems. VE09 of Gould [1991]. This nonconvex quadratic programming is intended

to be suitable

VE14

of

Corm

et

al.

package obtains local solutions to general, problems, using an active set method, and

for large-scale [1994].

This

problems. package

solves

quadratic programming problems using a barrier function again intended to be suitable for large-scale problems. [1982]. This package solves general using a sequential quadratic programming

bound-constrained method

VF13 strained

of Powell problems

VA15, [Harwell

VE09, VE14, and VF13 are part of the Harwell Subroutine 1993]. They are distributed by the United Kingdom Atomic

and

nonlinearly technique.

is

con-

Library Energy

Authority, Harwell, subject to certain license agreements. They are all copyrighted jointly by the UKAEA and SERC (Science and Engineering Research Council). We have also included an interface which allows the CUTE evaluation tools, described in Section 6, to be called from MATLAB [1993]. For pointers to more information, see Section 7. Of course, LANCELOT also solves problems in SIF, but it does not require an interface using the CUTE tools. Note that LANCELOT exploits much more structure than that provided by the interface tools. The natural next question is: how does one use the supplied interfaces? We begin

5.2

with

Using

After ment, ACM

one of the simplest.

the UNCMIN

installation there will TransactIons

Interface

of CUTE (see Section 7), for example, in a Unix environbe an empty subdirectory named uncmin, It is the user’s

on Mathematical

Software,

Vol. 21, No. 1, March

1995

Constrained responsibility single

to ensure

object

UNCMIN

file,

that

in single

version.

The

uncmind. o in the uncmin the

user

will

comments For that

have

to edit

describing

illustrative

the UNCMIN

uncmins.o,

named

is available

double-precision

and Unconstrained

alias

precision

only,

the required

subdirectory.

the user object

To run

sdunc

file

may

into

a

(Although

wish

should

137

.

codes are compiled

uncmin

double-precision

to create be stored

this double-precision and uric. These scripts

a as

version, include

changes.)

Assume one is in a Unix environment. CUTEDIR and MASTSIF are set appropriately the directory $CUTEDIR / uncmin. Now suppose suppose

variables

and that uncmins.o is in further that one wishes to MOREBV.SIF

source

in the

subdirectory. the scripts

purposes,

the environment

Testing Environment

is in the

to the command

solve

the

problem

$MASTSIF.

directory

MOREBV,

The

user

should

whose either

SIF

file

set an

sdunc using

alias sdunc ‘$CUTEDIR / interfaces / sdunc’ this alias would be set automatically $CUTEDIR / interfaces to his or her path. The $MASTSIF and issue the command directory

(typically,

sdunc (The –s following

by the user’s shell) or add user should then enter the

–s MOREBV. option output:

is explained

in

Section

5.3.)

This

command

results

in

the

Problem name: MOREBV Single-precision

version will be formed.

The objective function There are #FCN EVAL GRAD EVAL HSN EVAL ITRMCD FINAL F FINAL NORMG xl x2 x3 x4 x5 X6 x7 X8 x9 xl o

= = = = = =

10 nonlinear

groups

13 13 2 1 6.5557D-14 1.3728D-07

x – 3.5088D-02 –6.5312D-02 – 8.9785D-02 – 1.0742D-01 – 1.1686D-01 – 1.1641 D-01 – 1.0390D-01 – 7.6520D-02 – 3.0551 D-02 3.9023D-02

Set up time= Solve time = Total time = Further package

uses

10 free variables

G – 1.5189D-08 – 4.8354D-09 2.4506D-08 9.2885D-08 – 1.4974D-09 7.4553D-08 – 9.9286D-09 – 4.0877D-08 1.3728D-07 1.2241 D-07

0.05 0.02 0.07 seconds

details for both are given in the

this interface document file

and

the

install.rdm

others provided with the contained in the directory

ACM Transactions on Mathematical Software, Vol. 21, No. 1, March 1995.

138

1. Bongartz et al.

.

Table

Package

III.

Currently

Decode

The

syntax

Sdmns

mns

NPSOL

s dnps

nps

OSL

sdosl

0s1

TENMIN

sdt

ten

UNCMIN

sdunc

unc

VA15

sdlmq

lmq

VE09

sdqp

W

VE14

sdbqp

bqp

VF13

sdcns

cns

Ian, which

(described

perform

in Section

These

the

5.3) as the

are distributed

as indicated

$CUTEDIR / problem.

en

5.3. A summary of the available packages and is given in Table III. LANCELOT uses the

commands

part of CUTE. A few SIF files,

in

are

same

as part

Table

sufficient

IV,

functions

commands

and

listed

have

the

in Table

III.

of LANCELOT,

are

provided

to verify

that

in the

and not as the

directory

packages

of the shell

Interface scripts

for the interfaces

listed

in Table

III

execute

the

general steps and have the same syntax. Thus, we now give details usage of these scripts by describing the sdgen and gen commands generic

are

installed.

5,3 The Generic All

only

MINOS

sdlan and Ian scripts

correctly

Optimize cob

sdlan and

commands

and optimize Sdcob

corresponding

same

Interfaces

COBYLA

$CUTEDIR / doc and in Section the

Available

interface.

The

characters

inns, uric, or any of the other Table III. Besides

offering

a convenient

same on the for a

gen in sdgen and gen may be replaced interface names given in the third column means

to describe

details

on the usage

by in

of the

important current interfaces, the sdgen and gen shell scripts serve another purpose: they provide a template for the shell scripts required for new interfaces with optimization packages other than those listed in Table III. Details on the construction of a new interface are given in the document file in the directory $CUTEDIR / dot. interface. rdm contained

5.3.1 The sdgen and gen Commands. Suppose the scripts sdgen residing in the directory $CUTEDI R / interfaces, provide an interface optimization package GEN (for GENeric). The object module(s) for package reside in the directory $CUTEDIR / gen. The single-precision gend. o. named gens.o, while the double-precision object is named ACM

TransactIons

on Mathematical

Software,

Vol. 21, No, 1, March

1995.

and gen, with the the GEN object is (Because

Constrained Table

IV.

and Unconstrained

Interface

Package

Testing Environment

and Appropriate

Sample

Appropriate

SIF file

COBYLA

HS1l

MINOS

HS1l

NPSOL

HS1l

OSL

HS21

TENMIN

ROSENBR

UNCMIN

ROSENBR

VA15

ROSENBR

VE09

HS21

VE14

HS3

VF13

HS1l

.

139

SIF File

some optimization packages consist of only one precision source code, the user may w-ish to modify this source code to create an appropriate precision version.) Besides the shell scripts, the interface also includes a Fortran driver

genma.f that interleaves calls to the optimization subroutines in GEN with calls to the appropriate CUTE evaluation tools (described in Section 6 and Appendix B). The Fortran source file genma.f resides in $CUTEDIR / tools / the compiled object modules reside in $CUTEDI R / tools / sources, while genma.o, for objects /single / genma.o, and $CUTEDIR / tools /objects/double/ the single-

and double-precision

The main (1) check them.

steps

versions,

by the sdgen

executed

respectively. command

are as follows:

the argument of the command for inconsistencies, and interpret Also, check that the problem specified has an associated SIF file.

(2) Apply the SIF decoder to the problem SIF file, in order to produce the OUTSDIF.d file and the problem-dependent Fortran subroutines. Stop the process (3) call

if any error

is uncovered

the gen command

The main

steps

(1) Check them.

the

executed

next),

in order

by the gen command

arguments

(2) If a new executable Fortran

(described

in the SIF file.

of the module

command is to be built,

to continue

the process.

are as follows:

for inconsistencies, compile

and

interpret

the problem-dependent

subroutines.

the compiled problem-dependent subroutines, the appropri(3) Load together ate evaluation tool objects, the Fortran driver object genma.o, and the on whether appropriate GEN object module (gens.o or gend .o, depending the singleor double-precision version is selected) to produce the executable file genmin. (4) Execute

genmin in order ACM

to solve the problem.

Transactions

on Mathematical

Software,

Vol

21, No. 1, March

1995.

140

.

1. Bongartzet

5.3.2

Syntax

command

is

and

al.

Options

for

sdgen

the

Command,

The

format

of the

command

argu-

sdgen [-s] [-h] [-k] [-o j] [-l sees] probname where ments

optional arguments have the following

-s

runs

are within meaning:

the single-precision

square

brackets.

version

(default:

The

run

the double-preci-

sion version); -h

prints

a simple

description

of the possible

options

for the sdgen

command; -k

does not delete the executable the module is deleted);

-o j

if j = O, the tool runs in silent mode, while brief descriptions of the stages executed are printed if j = 1 (default: silent mode);

-1 sees

an upper GEN in

limit the

99,999,999);

probname

5.3.3 Syntax mand is

and

after

execution

(default:

of sees seconds is set on the CPU time used by numerical solution of the problem (default: and

is the name description

module

(without

extension)

of the problem

Options

for

of the file

containing

the

SIF

to solve.

the gen Command.

The

format

of the com-

gen [-n] [-h] [-s1 [-k] [-o i] [-l secsl where

optional

ments

have

-n

arguments

the following

reconstructs

are within

the executable

the SIF decoding without

-h

runs

module

stage (default:

reconstructing

prints a simple command;

-s

square

brackets.

The

command

argu-

meaning:

genmin from

the files

the current

executable

run

output

at

module

it);

description

the single-precision

of the

version

possible

(default:

options

run

for

the

gen

the double-precision

version);

-k

does not delete module

the executable

module

after

execution

(default:

the

is deleted);

-o j

if j = O, the tool runs in silent mode, while brief descriptions stages executed are printed if j = 1 (default: silent mode);

-1 sees

an upper limit of sees seconds is set on the CPU time used by GEN in the numerical solution of the problem (default: 99,999,999).

5.3.4 Running GEN on a Problem be able to run sdgen and gen from lines

in Standard Input Format. In order to any directory, the user should add the

alias sdgen ‘$ CUTEDIR I interfaces I sdgen’ alias gen ‘$ CUTEDIR / interfaces / gen’ ACM

Transactions

on Mathematical

Software,

of the and

Vol. 21, No. 1, March

1995

Constrained

and Unconstrained

Testing Environment

141

.

the C shell under AIX, HP-UX, UNICOS, to his or her .cshrc file if running SunOS, or Ultrix systems. Alternatively, the user could add $CUTEDIR / interfaces to his or her PATH. To run GEN on a problem in SIF, the user should move into the directory in which

the

following

command:

SIF

file

for the

probname.Sl

problem,

F, resides

and

issue

the

sdgen probname. This

command

will

decode the SIF file,

print

a short

summary

of the problem

characteristics, and attempt to solve the problem using GEN. If the SIF file has already been decoded, but the executable module has been deleted, the appropriate command is

genmin

gen -n whereas

it is

gen if (1) the

SIF

genmin still

file

has

exists.

the -k option

should

6. EVALUATION

already

been

decoded

(To keep the executable be used with

and

module

(2) the after

executable solving

module

the problem,

the sdgen or gen command.)

either

TOOLS

6.1 Overview We also provide the

data

have

reasons.

First,

general

than

some

a collection been the

data

sparsity

overhead

of tools

decoded

with

structure

respect

enable file.

one to manipulate

This

is important

is able to represent 3.1).

to the

Naturally,

complexity

structure this

of the

data for two that

capability

data.

The

once main

is more imposes

evaluation

the process; in other words, the tools take a group (that one might think of as a “scatter” operation)

and “gather” the information the second derivatives for

to produce the function the entire function. The

value, the gradient, second derivatives

or are

in three formats: as a dense matrix, as a sparse matrix whose are stored in “coordinate” form, and as a sparse matrix stored in

“finite-element” include

that

a SIF

(see Section

tools enable one to reverse partially separable format

available nonzeros

from

format

a routine

that

(e.g., see Duff forms

the

et al. [1986,

matrix

matrix, and we provide utilities to variables, and possibly its constraints. required

the

collection

of

vector

chap.

2]). Additionally,

product

with

the

we

Hessian

obtain the names of a problem, its Second, our testing of LANCELOT

a substantial

number

of

large

and

nontrivial

optimization problems (see Section 2.1). With the aid of the supplied tools, one can use the same input files to interface with other optimization software that is not designed to accept SIF (see Appendix B). As a corollary, we are hoping that practitioners will be encouraged to write test problems in the SIF. Of course, although it is not strictly speaking essential (see Corm et al. [1992a, chap. 8]), we would assume that most users of LANCELOT will write their

input

using

the SIF. ACM

Transactions

on Mathematical

Software,

Vol. 21, No. 1, March

1995.

142

.

1. Bongartz et al

Several

parameters

particular error

have

problem

message

values

or system

is produced

that

may be changed

configuration,

telling

which

by the user to suit

If any of these parameter(s)

a

are too small,

to increase.

an

Typically,

they concern the size of the workspace for what we consider the default values for big, medium, and small problems. Details on how to change the in the direcparameters are given in the document file instal 1.rdm contained tory $CUTEDIR / dot. The next two sections indicate the problem classes for which tools are available

for users

to manipulate

6.2 The Unconstrained We provide

tools

the decoded

and Bound-Constrained

that

specifically

relate

optimize subject

to the simple

x ● R“,

is group

and

partially

detailed

provide

tools

to the general

inequality

and the simple

function

from

and

is given

their

R’

purposes

in Appendix

into

that

is given

specifically

relate

to

the

general

constrained

~(x),

(6)

= o,

i~E,

(7)

constraints

bounds (i=l

XL5UL

with

the above

problem

L(X2 where c(x) is the vector the vector A are known TransactIons

in

B,

,.. ., n).

(9)

Here x ~ R’, ~, c, are assumed to be smooth functions from Rn into are group partially separable. Furthermore, 1 U E = 1, 2, . . . . m, with E disjoint.

ACM

then

equations

1,