After the
handle has been initialized (e.g.,
e04raf has been called),
e04rkf may be used to define the nonlinear constraints
of the problem. If the nonlinear constraints have already been defined, they will be overwritten and their Hessians (or the Hessian of the Lagrangian) will be removed. If
e04rkf is called with
, existing nonlinear constraints are removed and no new ones are added. This will typically be used for nonlinear programming problems (NLP) of the kind:
where
is the number of the decision variables
,
is the number of the nonlinear constraints (in
(1)(b)) and
,
and
are
-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
or
may be set to special values that are treated as
or
. See the description of the optional parameter
Infinite Bound Size which is common among all solvers in the suite. 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.
Since each nonlinear constraint is most likely to involve a small subset of the decision variables, the partial derivatives of the constraint functions with respect to those variables are best expressed as a sparse Jacobian matrix of
rows and
columns. The row and column positions of all the nonzero derivatives must be registered with the handle through
e04rkf. The values of the nonlinear constraint functions and their nonzero gradients at particular points in the decision variable space will be communicated to the NLP solver by user-supplied functions (e.g.,
confun and
congrd for
e04stf).
An individual set of bounds can be also modified by
e04tdf. Note that it is also possible to temporarily disable and enable individual constraints in the model by calling
e04tcf and
e04tbf, respectively.
See
Section 3.1 in the
E04 Chapter Introduction for more details about the
NAG optimization modelling suite.
None.
If on entry
or
, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
Not applicable.
Background information to multithreading can be found in the
Multithreading documentation.
Internal changes have been made to this routine as follows:
- At Mark 27.1: Previously, it was not possible to modify the nonlinear constraints once they were set or to edit the model once a solver had been called. These limitations have been removed and the associated error codes were removed.
For details of all known issues which have been reported for the
NAG Library please refer to the
Known Issues.