Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The NLP Procedure

NLINCON Statement

NLINCON nlcon [ , nlcon ...] [ / option ] ;
NLC nlcon [ , nlcon ...] [ / option ] ;

where       nlcon := number operator variable_list operator number 
or 		 nlcon := -number operator variable_list 
or 		 nlcon := variable_list operator number 
and 		 operator := <= | < | >= | > | = 
and 		 option := SUMOBS | EVERYOBS 


General nonlinear equality and inequality constraints are specified with the NLINCON statement. The syntax of the NLINCON statement is similar to that of the BOUNDS statement with two small additions:

One- or two-sided constraints can be specified in the NLINCON statement. However, equality constraints must be one-sided. The pairs of operators (<,<=) and (>,>=) are treated in the same way.

These three statements require the values of the three functions v1, v2, v3 to be between zero and ten, and they are equivalent:

   nlincon 0 <= v1 - v3,
           v1 - v3 <= 10;
   nlincon 0 <= v1 - v3 <= 10;
   nlincon 10 >= v1 - v3 >= 0;


Also, consider the Rosen-Suzuki problem. It has three nonlinear inequality constraints:
8 - x_1^2 - x_2^2 - x_3^2 - x_4^2
 - x_1 + x_2 - x_3 + x_4 \geq 0
10 - x_1^2 - 2 x_2^2 - x_3^2 - 2 x_4^2 + x_1 + x_4 \geq 0
5 - 2 x_1^2 - x_2^2 - x_3^2 - 2 x_1 + x_2 + x_4 \geq 0
These are specified as:
  nlincon c1 - c3 >= 0;

  c1 = 8 - x1 * x1 - x2 * x2 - x3 * x3 - x4 * x4 -
         x1 + x2 - x3 + x4;
  c2 = 10 - x1 * x1 - 2 * x2 * x2 - x3 * x3 - 2 * x4 * x4 +
         x1 + x4;
  c3 = 5 - 2 * x1 * x1 - x2 * x2 - x3 * x3 - 2 * x1 + x2 + x4;

Note: QUANEW and NMSIMP are the only optimization subroutines that support the NLINCON statement.

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.