Chapter Contents Previous Next
 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.

### Constructing a Saturated Second-Order Design

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.

### Augmenting a Resolution 4 Design

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;
```

### Handling Many Variables

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;
```

### Constructing an Incomplete Block Design

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.

### Constructing a Mixture-Process Design

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;

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.

 Chapter Contents Previous Next Top