Chapter Contents |
Previous |
Next |
Nonlinear Optimization Examples |
The input argument "blc" specifies an n1 ×n2 constraint matrix, where n1 is two more than the number of linear constraints, and n2 is given by
The following c rows of the "blc" argument specify c linear equality or inequality constraints:
For example, suppose you have a problem with the following constraints on x1,x2, x3, x4:
proc iml; con = { 2 . . 0 . . , 100 40 . . . . , 4 3 -1 . -1 30 , . 1 . 6 1 17 , 1 -1 . . 0 8 };
The input argument "nlc" specifies an IML module that returns a vector, c, of length nc, with the values, ci, of the nc linear or nonlinear constraints
Note: You must specify the number of equality constraints, nec, and the total number of constraints, nc, returned by the "nlc" module to allocate memory for the return vector. You can do this with the opt[11] and opt[10] arguments, respectively.
For example, consider the problem of minimizing the objective function f(x1,x2) = x1x2 in the interior of the unit circle, . The constraint can also be written as . The following statements specify modules for the objective and constraint functions and call the NLPNMS subroutine to solve the minimization problem:
proc iml; start F_UC2D(x); f = x[1] * x[2]; return(f); finish F_UC2D; start C_UC2D(x); c = 1. - x * x`; return(c); finish C_UC2D; x = j(1,2,1.); optn= j(1,10,.); optn[2]= 3; optn[10]= 1; CALL NLPNMS(rc,xres,"F_UC2D",x,optn) nlc="C_UC2D";
To avoid typing multiple commas, you can specify the "nlc" input argument with a keyword, as in the preceding code. The number of elements of the return vector is specified by OPTN[10]=1. There is a missing value in OPTN[11], so the subroutine assumes there are zero equality constraints.
The NLPQN algorithm uses the nc ×n Jacobian matrix of first-order derivatives
Note: The COBYLA algorithm in the NLPNMS subroutine and the NLPQN subroutine are the only optimization techniques that enable you to specify nonlinear constraints with the "nlc" input argument.
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.