Chapter Contents Previous Next
 Details of the OPTEX Procedure

## Example 24.10: Adding Space-Filling Points to a Design

 See OPTEX11 in the SAS/QC Sample Library

Suppose you want a 15-run experiment for three mixture factors X1, X2, and X3; furthermore, suppose that X3 cannot account for any more than 75% of the mixture. You can use the ADXXVERT macro (see "ADXXVERT: the XVERT Algorithm" ) to construct a list of candidate points for the design and then use the OPTEX procedure to select the design runs optimally for a given model. However, information-based criteria such as D- and A-efficiency tend to push the design to the edges of the candidate space, leaving large portions of the interior relatively uncovered. For this reason, it is often a good idea to augment a D-optimal design with some points chosen according to U-optimality, which seeks to cover the candidate region as well as possible.

The collection of macros for experimental designs described at Appendix E,"Macros for the Design and Analysis of Experiments" includes several macro programs for working with mixture designs. For example, the following statements invoke the ADXXVERT macro to construct and plot the candidate set:

   %adxgen
%adxxvert(a,x1 / x2 / x3 0 - .75);
data a; set a;
w1 = -(x1 + x2);
w2 =  (x1 - x2);
proc plot data=a;
plot w1*w2;
run;


The arguments to the ADXXVERT macro name the data set to contain the candidate points and list the factors in the design. The form of the list of factors says that X1 and X2 have the default low and high levels of 0 and 1, while the value of X3 is constrained to be between 0 and 0.75. The constraint that the factor levels sum to 1 means that the candidate points all lie on a certain (two-dimensional) plane. The transformed variables W1 and W2 are the coordinates of each candidate point with respect to two orthogonal axes in that plane.

The result, shown in Output 24.10.1, is a "quick-and-dirty" plot of the vertices, the edge centroids, and the over-all centroid for the feasible region. The constraint effectively "cuts off" the top of the usual simplex.

Output 24.10.1: Vertices and Centroids for Constrained Mixture Design

  Plot of w1*w2. Legend: A = 1 obs, B = 2 obs, etc. -0.250 + A A A | | | | w1 | | | | | | -0.625 + A A A | | | | | | | | | | -1.000 + A A A ---+-------------+-------------+-------------+-------------+-- -1.0 -0.5 0.0 0.5 1.0 w2 

You could easily use this plot to choose 15 runs both to span the extremes of the candidate region and to cover the interior. However, you can use the methods discussed in this section with higher dimensional problems that are difficult or impossible to visualize.

You can use the OPTEX procedure to select 10 optimal points for estimating a second-order model in the mixture factors.

   proc optex data=a seed=60868 nocode;
model x1|x2|x3@@2 / noint;
generate n=10;
output out=b;
data b; set b;
w1 = -(x1 + x2);
w2 =  (x1 - x2);
proc plot data=b;
plot w1*w2;
run;

As shown in Output 24.10.2, the D-optimal design omits some of the candidate points and replicates others.

Output 24.10.2: D-optimal Constrained Mixture Design

  Plot of w1*w2. Legend: A = 1 obs, B = 2 obs, etc. -0.250 + A A | | | | w1 | | | | | | -0.625 + A A | | | | | | | | | | -1.000 + B B B ---+-------------+-------------+-------------+-------------+-- -1.0 -0.5 0.0 0.5 1.0 w2 

The D-optimal design leaves large "holes" in the feasible region. The following statements use the ADXFILL macro with the candidate set to produce a set of points scattered throughout the feasible region:
   %adxfill(a,x1 x2 x3);
data a; set a;
w1 = -(x1 + x2);
w2 =  (x1 - x2);
proc plot data=a;
plot w1*w2;
run;

The ADXFILL macro simply computes all pairwise averages of points in A and appends them to A; see "ADXFILL: Filling in the Design Region" for more details. The results are shown in Output 24.10.3.

Output 24.10.3: Filled Candidate Region for Constrained Mixture Design

  Plot of w1*w2. Legend: A = 1 obs, B = 2 obs, etc. w1 | -0.250 + A A A A A | | | | -0.438 + A A A A A AA A A | | | | -0.625 + A A AA A A A A A A A | | | | -0.813 + A A A A A A A A A | | | | -1.000 + A A A A A | ---+-------------+-------------+-------------+-------------+-- -1.0 -0.5 0.0 0.5 1.0 w2 

The filled-in data set A has too many points (recall that the goal is a design with 15 runs), but you can use the OPTEX procedure to choose points from it. The following statements "fill in the holes" in the optimal design saved in B by augmenting it with points chosen from the filled-in data set A to optimize the U-criterion:
   proc optex data=a seed=4321 nocode;
model x1 x2 x3 / noint;
generate n=15 augment=b
criterion=u;
output out=c;
data c; set c;
w1 = -(x1 + x2);
w2 =  (x1 - x2);
proc plot data=c;
plot w1*w2;
run;

Output 24.10.4 shows that the U-optimal design fills in the candidate region in much the same way that you might construct the design by visually assigning points. That is, the general approach using the OPTEX procedure agrees with visual intuition for this small problem. Moreover, the general approach yields an appropriate design for higher dimensional problems that cannot be visualized.

Output 24.10.4: D-optimal Constrained Mixture Design Filled In U-optimally

  Plot of w1*w2. Legend: A = 1 obs, B = 2 obs, etc. w1 | -0.250 + A A | | | | -0.438 + A A | | | | -0.625 + A A A | | | | -0.813 + A A | | | | -1.000 + B B B | ---+-------------+-------------+-------------+-------------+-- -1.0 -0.5 0.0 0.5 1.0 w2 

 Chapter Contents Previous Next Top