e04ryf is a part of the NAG optimization modelling suite. It allows you to print information about the problem, stored as a handle, such as which parts have already been defined or details of the constraints.
The routine may be called by the names e04ryf or nagf_opt_handle_print.
e04ryf prints information on a problem handle which has been previously correctly initialized (e.g., by e04raf). Various pieces of information can be retrieved and printed to the given output unit. This can be helpful when the routine is interfaced from interactive environments, for debugging purposes or to help familiarize you with the NAG optimization modelling suite.
The printer is guided by a command string which contains one or more of the following keywords:
Gives a brief overview of the problem handle, particularly, the problem dimension and which parts of the problem have already been set.
Prints the objective function as it was defined by e04ref,e04rff,e04rsfore04rtf when it is linear or quadratic. Prints the sparsity structure of the objective function as it was defined by e04rgf when it is nonlinear or nonlinear least squares by e04rmf.
Prints the variable bounds as defined by e04rhf. This might help you understand the effect of the optional parameter Infinite Bound Size on the bounds.
Linear constraints bounds Linear constraints detailed
Prints the bounds or the linear constraint matrix as defined by e04rjf.
Quadratic constraints detailed
Prints all the quadratic constraints including all nonzeros of quadratic, linear and constant terms as defined by e04rsfande04rtf.
Cone constraints Cone constraints detailed
Prints all second-order cone constraints as defined by e04rbf. For each cone constraint, its idgroup, dimension and type are printed. If details are requested, the variables composing the cone constraint are also listed.
Gives a list of the matrix constraints as defined by e04rnfande04rpf. For each matrix constraint its idblk, dimension and order (e.g., linear, bilinear) are printed.
Matrix constraints detailed
Prints all the matrix constraints including all nonzeros of all the matrices as formulated by e04rnfande04rpf.
Prints the bounds or sparsity structure of the nonlinear constraints as defined by e04rkf.
Prints the expected dimensions of arrays storing the Lagrangian multipliers, such as u and ua of the solver e04svf which store the Lagrangian multipliers for standard and matrix constraints, respectively. This might be helpful with Overview and Matrix constraints to check the way the sizes of the arrays are derived.
Prints all the current optional parameters. It flags whether the argument is set to its default, whether you have set it or whether it is chosen by the solver (for example, options left on ‘AUTO’ setting after the solver has been called). In addition, you can print optional parameters belonging to a specific solver by adding the solver name after Options, e.g., keywords Options e04mt or Options handle_solve_lp_ipm print options only belonging to the linear programming solver e04mtf.
Note that the output data might not match your input exactly. The sparse matrices are typically transposed, sorted and explicit zeros removed and in certain cases transformed as needed (for example, matrices and are merged by e04rpf).
See Section 3.1 in the E04 Chapter Introduction for more details about the NAG optimization modelling suite.
1: – Type (c_ptr)Input
On entry: the handle to the problem. It needs to be initialized (e.g., by e04raf) and must not be changed between calls to the NAG optimization modelling suite.
2: – IntegerInput
On entry: the Fortran unit number which identifies the file to be written to.
3: – Character(*)Input
On entry: a command string which contains one or more keywords which identify the piece of information about the handle to be printed. Keywords are case-insensitive and space tolerant. Multiple keywords in cmdstr must be separated by commas or semicolons.
cmdstr can only contain one or more of the following accepted keywords: overview, objective, simple bounds, linear constraints bounds, linear constraints detailed, matrix constraints, matrix constraints detailed, nonlinear constraints bounds, nonlinear constraints detailed, multipliers sizes, options.
4: – IntegerInput/Output
On entry: ifail must be set to , or to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of means that an error message is printed while a value of means that it is not.
If halting is not appropriate, the value or is recommended. If message printing is undesirable, then the value is recommended. Otherwise, the value is recommended. When the value or is used it is essential to test the value of ifail on exit.
On exit: unless the routine detects an error or a warning has been flagged (see Section 6).
6Error Indicators and Warnings
If on entry or , explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
The supplied handle does not define a valid handle to the data structure for the NAG optimization modelling suite. It has not been properly initialized or it has been corrupted.
An unexpected error has been triggered by this routine. Please
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.
8Parallelism and Performance
Background information to multithreading can be found in the Multithreading documentation.
e04ryf is not threaded in any implementation.
This example shows the life-cycle of a handle of a typical (BMI-SDP) problem by printing the overview of the handle in various stages of the problem formulation and after the solution is found. It is also helpful to notice how a linear matrix inequality is extended with the bilinear term, see e04rafande04rpf for further details.
The problem is as follows:
The solution is , .
Note that the matrix constraints need to be supplied in the form of equation (3) in e04rpf, i.e.,
Therefore, the first constraint is defined by matrices
and the second one by
See also e04raf for links to further examples in the suite.