Introduction to the OPTEX Procedure |
Optimal Design Scenarios
The following examples briefly describe some additional common
situations that call for optimal designs. These examples show how you can
- use a variety of SAS software tools to generate an appropriate
set of candidate runs
- use the OPTEX procedure to search the candidate set for an
optimal design
The emphasis here is on the programming techniques; output is
omitted.
Suppose you want a design for seven two-level factors that is as small as
possible but still permits estimation of all main effects and two-factor
interactions. Among standard orthogonal arrays, the smallest appropriate
2k design has 64 runs, far more than the 29 parameters you want to
estimate. To generate a D-efficient non-orthogonal design, first use
the FACTEX procedure to create the full set of 27=128 candidate runs.
Then invoke the OPTEX procedure with a full second-order model, asking for a saturated
design.
proc factex;
factors x1-x7;
output out=can1;
proc optex data=can1;
model x1|x2|x3|x4|x5|x6|x7@@2;
generate n=saturated;
output out=design1a;
run;
The default search procedure quickly finds a design with a D-efficiency of
82.3%. If search time is not an issue, you can try a more powerful search
technique. For example, you
can specify 500 tries with the modified Fedorov method.
proc optex data=can1;
model x1|x2|x3|x4|x5|x6|x7@@2;
generate n=saturated
method=m_fedorov
iter=500;
output out=design1b;
run;
This takes more than ten times longer to run, and the resulting design is
only slightly more D-efficient.
In a situation similar to the previous example, suppose you have performed an
experiment for seven two-level factors with a 16-run, fractional factorial design
of resolution 4. You can estimate all main effects with this design, but
some two-factor interactions will be confounded with each other. You now
want to add enough runs to estimate all two-factor
interactions as well.
You can use the FACTEX procedure to create the
original design as well as the candidate set.
proc factex;
factors x1-x7;
output out=can2;
run;
model resolution=4;
size design=min;
output out=aug2;
run;
Now specify AUG2 (the data set containing the design to be augmented) with
the AUGMENT= option in the GENERATE statement.
proc optex data=can2;
model x1|x2|x3|x4|x5|x6|x7@@;
generate n=30 augment=aug2;
output out=design2;
run;
When you have many factors, the set of all possible factor level
combinations may be too large to work with as a candidate set. Suppose you
want a main-effects design for 15 three-level factors. The complete
set of 315 > 14,000,000 candidates is too large to use with the
OPTEX procedure;
in fact, it will probably be too large to store in your computer.
One solution is to find a subset of the full factorial set to use as
candidates. For example, an alternative candidate set is the 81-run
orthogonal design of resolution 3, which can easily be constructed using
the FACTEX procedure.
proc factex;
factors x1-x15 / nlev=3;
model resolution=3;
size design=81;
output out=can3;
proc optex data=can3;
class x1-x15;
model x1-x15;
generate n=saturated;
output out=design3;
run;
An incomplete block design is a design for v qualitative treatments
in b blocks of size k, where k < v so that not all treatments
can occur in each block. To construct an incomplete block design with
the OPTEX procedure, simply create a candidate data set containing a
treatment variable with t values and then use the BLOCKS statement.
For example, the following statements construct a design for seven
treatments in seven blocks of size three:
data can4;
do treatmt = 1 to 7;
output;
end;
proc optex data=can4;
class treatmt;
model treatmt;
blocks structure=(7)3;
run;
The resulting design is balanced in the sense that each treatment occurs
the same number number of times and each pair of treatments occur together
in the same number of blocks. Balanced designs, when they exist, are
known to be optimal, and the OPTEX procedure usually succeeds at finding
them for small- to moderately-sized problems.
Suppose you want to design an experiment with three mixture factors
X1, X2, and X3 (continuous factors that represent proportions of the
components of a mixture) and one process factor A (a classification
factor with five levels). Furthermore, suppose that X1 can account for no more
than 50% of the mixture.
You can use the ADXXVERT macro (see "ADXXVERT: the XVERT Algorithm"
)
and the FACTEX procedure to create the candidate set.
%adxgen;
%adxmix;
%adxinit;
%adxxvert(xvt,x1 0-.5/x2/x3
proc factex;
factors a / nlev=5;
output out=can5 pointrep=xvt;
run;
Analyzing mixture designs with linear models can be problematic because
of the constraint that the mixture factors sum to one; however, to generate
an optimal design, you can simply drop one of the mixture factors. The
following statements use the preceding candidate set to find an
optimal design for fitting the main effect of A and a second-order
model in the mixture factors:
proc optex data=can5;
class a;
model a x1|x2 x1*x1 x2*x2;
run;
See Example 24.10 for a more detailed
example of a mixture experiment.
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.