CONOPT
|
This optional callback routine must be registered with coidef_2ddirlagr(). It computes the directional second derivative for the Lagrangian as defined in the introduction to this section.
where:
X
: Vector with the point in which the directional second derivatives should be computed. Defined by CONOPT.DX
: Vector with the direction in which the directional second derivatives should be computed. Defined by CONOPT.U
: The vector of weights on the individual constraints. The Lagrangian is defined as L = SUM(r in rows)U(row) \cdot function(row)
. U
is defined by CONOPT when MODE = 3
.D2G
: Vector returning the directional second derivative. The relevant positions (see JCNM
below) will be zero on entry to 2DDir
.NEWPT
: Indicator that describes the pair (X,DX)
. Is provided by CONOPT:
X
have not changed but the direction DX
has changed.NEWPT
is provided by CONOPT as a service to the modeler. It may be used to calculate and reuse terms that depend on X
but do not depend on the direction.
NODRV
: Must be set to 1 if the directional second derivatives for some reason could not be computed, for example because some of them were not defined. CONOPT will not use any output from a point that returned a nonzero NODRV
.N
: The number of variables in the model as defined in coidef_numvar(). Provided by CONOPT.M
: The number of constraints in the model as defined in coidef_numcon(). Provided by CONOPT.USRMEM
: User memory as defined in coidef_usrmem() (Only for Fortran and C API).