![]() Chapter Contents |
![]() Previous |
![]() Next |
The NLMIXED Procedure |
The m linear constraints define a feasible region G in
Rn that must contain the point that minimizes
the problem. If the feasible region G is empty, no solution
to the optimization problem exists.
In PROC NLMIXED, all optimization techniques use active set
methods. The iteration starts with a feasible point ,which you can provide or which can be computed by the Schittkowski
and Stoer (1979) algorithm implemented in PROC NLMIXED. The
algorithm then moves from one feasible point
to a better
feasible point
along a feasible search direction
s(k),
Theoretically, the path of points never leaves the
feasible region G of the optimization problem, but it can
reach its boundaries. The active set A(k) of point
is defined as the index set of all linear equality
constraints and those inequality constraints that are satisfied at
. If no constraint is active
, the point
is located in the interior of G, and the active set
is empty. If the point
in
iteration k hits the boundary of inequality constraint i, this
constraint i becomes active and is added to A(k). Each
equality constraint and each active inequality constraint reduce the
dimension (degrees of freedom) of the optimization problem.
In practice, the active constraints can be satisfied only with
finite precision. The LCEPSILON=r option specifies the range for
active and violated linear constraints. If the point satisfies the condition
In those cases, PROC NLMIXED may try to pull
the iterate back into the feasible region. However,
in some cases the algorithm needs to increase the feasible region by
increasing the LCEPSILON=r value. If this happens, a message is
displayed in the log output.
If the algorithm cannot improve the value of the objective function by moving from an active constraint back into the interior of the feasible region, it makes this inequality constraint an equality constraint in the next iteration. This means that the active set A(k+1) still contains the constraint i. Otherwise, it releases the active inequality constraint and increases the dimension of the optimization problem in the next iteration.
A serious numerical problem can arise when some of the active constraints become (nearly) linearly dependent. PROC NLMIXED removes linearly dependent equality constraints before starting optimization. You can use the LCSINGULAR= option to specify a criterion r used in the update of the QR decomposition that determines whether an active constraint is linearly dependent relative to a set of other active constraints.
If the solution is subjected to nact linear equality
or active inequality constraints, the QR decomposition of the n ×nact matrix
of the linear constraints is
computed by
, where Q is an n ×n
orthogonal matrix and R is an n ×nact upper triangular
matrix. The n columns of matrix Q can be separated into two
matrices, Q=[Y,Z], where Y contains the first nact
orthogonal columns of Q and Z contains the last n-nact
orthogonal columns of Q. The n ×(n-nact)
column-orthogonal matrix Z is also called the nullspace
matrix of the active linear constraints
. The n -
nact columns of the n ×(n - nact) matrix Z form a
basis orthogonal to the rows of the nact ×n matrix
.
At the end of the iterating, PROC NLMIXED computes the projected gradient gZ,
Those elements of the nact vector of first-order estimates of Lagrange multipliers,
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.