E04RJF is a part of the NAG optimization modelling suite and defines the block of linear constraints of the problem.
After the initialization routine E04RAF
has been called, E04RJF may be used to define the linear constraints
of the problem unless the linear constraints have already been defined. This will typically be used for problems, such as quadratic programming (QP)
nonlinear programming (NLP)
linear semidefinite programming (SDP)
or semidefinite programming with bilinear matrix inequalities (BMI-SDP)
is the number of decision variables,
is a general
rectangular matrix and
-dimensional vectors. Note that upper and lower bounds are specified for all the constraints. This form allows full generality in specifying various types of constraint. In particular, the
th constraint may be defined as an equality by setting
. If certain bounds are not present, the associated elements of
may be set to special values that are treated as
. See the description of the optional parameter Infinite Bound Size
of the solvers in the suite, E04STF
. Its value is denoted as
further in this text. Note that the bounds are interpreted based on its value at the time of calling this routine and any later alterations to Infinite Bound Size
will not affect these constraints.
If on entry
, explanatory error messages are output on the current error message unit (as defined by X04AAF
E04RJF is not threaded in any implementation.
This example demonstrates how to use the MPS file reader E04MXF
and this suite of routines to define and solve a QP problem. E04MXF
uses a different output format to the one required by E04RJF, in particular, it uses the compressed column storage (CCS) (see Section 2.1.3
in the F11 Chapter Introduction) instead of the coordinate storage and the linear objective vector is included in the system matrix. Therefore a simple transformation is needed before calling E04RJF as demonstrated in the example program.
The data file stores the following problem:
The optimal solution (to five figures) is
See also Section 10
in E04RAF for links to further examples in this suite.