## RESTRICT Statement

**RESTRICT** * restriction1 [, restriction2 ... ] ;*

The RESTRICT statement is used to impose linear and
nonlinear restrictions on the parameter estimates.

RESTRICT statements refer to the parameters estimated
by the associated FIT statement
(that is, to either the preceding FIT statement or,
in the absence of a preceding FIT statement, to the
following FIT statement).
You can specify any number of RESTRICT statements.

Each *restriction* is written as an optional name,
followed by an expression,
followed by an equality operator (=) or an inequality operator (<, >, <=, >=),
followed by a second expression:

- ["name"] expression operator expression

The optional *"name"* is a string used to identify the restriction
in the printed output and in the OUTEST= data set.
The *operator* can be =, <, >, <= , or >=.
The operator and second expression are optional, as in the TEST
statement (=0).

Restriction expressions can be composed of parameter names,
arithmetic operators, functions, and constants.
Comparison operators (such as "=" or "<") and logical operators (such
as "&")
cannot be used in RESTRICT statement expressions.
Parameters named in restriction expressions must be among the parameters
estimated by the associated FIT statement. Expressions can refer
to variables defined in the program.

The restriction expressions can be linear or nonlinear functions
of the parameters.

The following is an example of the use of the RESTRICT
statement:

proc model data=one;
endogenous y1 y2;
exogenous x1 x2;
parms a b c;
restrict b*(b+c) <= a;
eq.one = -y1/c + a/x2 + b * x1**2 + c * x2**2;
eq.two = -y2 * y1 + b * x2**2 - c/(2 * x1);
fit one two / fiml;
run;

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