Nonlinear Constraints (NLR command)
Nonlinear constraints on the parameters can also
be specified with the BOUNDS
subcommand.
The constrained function must be calculated and stored in a variable
by a constrained functions program directly preceding the CNLR
command. The constraint is then specified
on the BOUNDS
subcommand.
In general, nonlinear bounds will not be obeyed until an optimal solution has been found. This process is different from simple and linear bounds, which are satisfied at each iteration. The constrained functions must be smooth near the solution.
Example
MODEL PROGRAM A=.5 B=1.6.
COMPUTE PRED=A*SPEED**B.
CONSTRAINED FUNCTIONS.
COMPUTE DIFF=A-10**B.
CNLR STOP /BOUNDS DIFF LE 0.
- The constrained function is calculated by a constrained
functions program and stored in variable DIFF. The constrained functions program immediately precedes
CNLR
. -
BOUNDS
imposes bounds on the function (less than or equal to 0). -
CONSTRAINED FUNCTIONS
variables and parameters that are named onMODEL PROGRAM
cannot be combined in the sameBOUNDS
expression. For example, you cannot specify(DIFF + A) >= 0
on theBOUNDS
subcommand.