# The CUTE classification scheme

Each problem in the CUTEr/CUTEst test set comes with a simple problem classification. This classification was inspired by the scheme of Hock and Schittkowski (Test Examples for Nonlinear Programming Codes, Lectures Notes in Economics and Mathematical Systems 187, Springer Verlag, 1981).

A problem is classified by the string

```   XXXr-XX-n-m
```
This string must not contain any blanks. In what follows, we state the admissible letters and integers, together with their interpretation, for each character in the classification string. Note that all letters must be given in upper case.

The first character in the string defines the type of the problem objective function. Possible values are:

N no objective function is defined,
C the objective function is constant,
L the objective function is linear,
Q the objective function is quadratic,
S the objective function is a sum of squares, and
O the objective function is none of the above.

The second character in the string defines the type of constraints of the problem. Possible values are:

U the problem is unconstrained,
X the problem's only constraints are fixed variables,
B the problem's only constraints are bounds on the variables,
N the problem's constraints represent the adjacency matrix of a (linear) network,
L the problem's constraints are linear,
Q the problem's constraints are quadratic, and
O the problem's constraints are more general than any of the above alone.

The third character in the string indicates the smoothness of the problem. There are two choices:

R the problem is regular, that is its first and second derivatives exist and are continuous everywhere, or
I the problem is irregular.

The integer (r) which corresponds to the fourth character of the string is the degree of the highest derivatives provided analytically within the problem description. It is restricted to being one of the single characters 0, 1 or 2.

The character immediately following the first hyphen indicates the primary origin and/or interest of the problem. Possible values are:

A the problem is academic, that is, has been constructed specifically by researchers to test one or more algorithms,
M the problem is part of a modelling exercise where the actual value of the solution is not used in a genuine practical application, and
R the problem's solution is (or has been) actually used in a real application for purposes other than testing algorithms.

The next character in the string indicates whether or not the problem description contains explicit internal variables. There are two possible values, namely

Y the problem description contains explicit internal variables, or
N the problem description does not contain any explicit internal variables.

The symbol(s) between the second and third hyphen indicate the number of variables in the problem. Possible values are

V the number of variables in the problem can be chosen by the user, or
n a positive integer giving the actual (fixed) number of problem variables.

The symbol(s) after the third hyphen indicate the number of constraints (other than fixed variables and bounds) in the problem. Note that fixed variables are not considered as general constraints here. The two possible values are

V the number of constraints in the problem can be chosen by the user, or
m a nonnegative integer giving the actual (fixed) number of problem constraints.