Chapter Contents |
Previous |
Next |
The NLMIXED Procedure |
The m linear constraints define a feasible region G in R^{n} 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 n_{act} linear equality or active inequality constraints, the QR decomposition of the n ×n_{act} matrix of the linear constraints is computed by , where Q is an n ×n orthogonal matrix and R is an n ×n_{act} upper triangular matrix. The n columns of matrix Q can be separated into two matrices, Q=[Y,Z], where Y contains the first n_{act} orthogonal columns of Q and Z contains the last n-n_{act} orthogonal columns of Q. The n ×(n-n_{act}) column-orthogonal matrix Z is also called the nullspace matrix of the active linear constraints . The n - n_{act} columns of the n ×(n - n_{act}) matrix Z form a basis orthogonal to the rows of the n_{act} ×n matrix .
At the end of the iterating, PROC NLMIXED computes the projected gradient g_{Z},
Those elements of the n_{act} 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.