Chapter Contents Previous Next
 The MODEL Procedure

BOUNDS Statement

BOUNDS bound1 [, bound2 ... ] ;
The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints 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 BOUNDS statements.

Each bound is composed of parameters and constants and inequality operators:

item operator item [ operator item [ operator item ... ] ]

Each item is a constant, the name of an estimated parameter, or a list of parameter names. Each operator is '<', '>', '<=', or '>='.

You can use both the BOUNDS statement and the RESTRICT statement to impose boundary constraints; however, the BOUNDS statement provides a simpler syntax for specifying these kinds of constraints. See "The RESTRICT Statement" for information on the computational details of estimation with inequality restrictions.

Lagrange multipliers are reported for all the active boundary constraints. In the printed output and in the OUTEST= data set, the Lagrange multiplier estimates are identified with the names BOUND1, BOUND2, and so forth. The probability of the Lagrange multipliers are computed using a beta distribution (LaMotte 1994). To give the constraints more descriptive names, use the RESTRICT statement instead of the BOUNDS statement.

The following BOUNDS statement constrains the estimates of the parameters A and B and the ten parameters P1 through P10 to be between zero and one. This example illustrates the use of parameter lists to specify boundary constraints.

```   bounds 0 < a b p1-p10 < 1;
```

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

```   title 'Holzman Function (1969), Himmelblau No. 21, N=3';
data zero;
do i = 1 to 99;
output;
end;
run;

proc model data=zero ;
parms x1= 100 x2= 12.5 x3=  3;
bounds .1 <= x1 <= 100,
0 <= x2 <=  25.6,
0 <= x3 <=   5;

t = 2 / 3;
u = 25 + (-50 * log(0.01 * i )) ** t;
v = (u - x2) ** x3;
w = exp(-v / x1);
eq.foo = -.01 * i + w;

fit foo / method=marquardt;
run;
```

 Holzman Function (1969), Himmelblau No. 21, N=3

 The MODEL Procedure

 Nonlinear OLS Parameter Estimates Parameter Estimate Approx Std Err t Value Approx Pr > |t| x1 49.99999 0 . . x2 25 0 . . x3 1.5 0 . .

 Number of Observations Statistics for System Used 99 Objective 5.455E-18 Missing 0 Objective*N 5.4E-16

Figure 14.13: Output from Bounded Estimation

 Chapter Contents Previous Next Top