See OPTEX4 in the SAS/QC Sample LibraryThis example is a continuation of Example 14.2.
You can customize the runs used to initialize the search in the OPTEX procedure. For example, you can use the INITDESIGN=SEQUENTIAL option to use an initial design chosen by the sequential search. Or you can place specific points in a data set and use the INITDESIGN=SAS-data-set option. In both cases, the search time can be significantly reduced, since the search only has to be done once. This example illustrates both of these options.
The previous example compared the results of the DETMAX and sequential search algorithms. You can use the design chosen by the sequential search as the starting point for the DETMAX algorithm. The following statements specify the DETMAX search method, replacing the default initialization method with the sequential search:
proc optex data=a seed=33805; model AFR|EGR|SA@2 AFR*AFR EGR*EGR SA*SA; generate n=50 method=detmax initdesign=sequential; run;
The results, which are displayed in Output 14.3.1, show an improvement over the sequential design itself (Output 14.2.2) but not over the DETMAX algorithm with the default initialization method (Output 14.2.1). Evidently the sequential design represents a local optimum that is not the global optimum, which is a common phenomenon in combinatorial optimization problems such as this one.
Output 14.3.1: Initializing with a Sequential Design
Design Number | D-Efficiency | A-Efficiency | G-Efficiency | Average Prediction Standard Error |
---|---|---|---|---|
1 | 46.4333 | 25.0321 | 95.1371 | 0.4199 |
Prior knowledge of the design problem at hand might also provide a specific set of factor combinations to use as the initial design. For example, many D-optimal designs are composed of replications of the optimal saturated design—that is, the optimal design with exactly as many points as there are parameters to be estimated. In this case, there are 10 parameters in the model. Thus, you can find the optimal saturated design in 10 points, replicate it five times, and use the resulting design as an initial design, as follows:
proc optex data=a seed=33805; model AFR|EGR|SA@2 AFR*AFR EGR*EGR SA*SA; generate n=saturated method=detmax; output out=b; run;
data c; set b; drop i; do i=1 to 5; output; end; run; proc optex data=a seed=33805; model AFR|EGR|SA@2 AFR*AFR EGR*EGR SA*SA; generate n=50 method=detmax initdesign=c; run;
The results are displayed in Output 14.3.2 and Output 14.3.3. The resulting design is 99.9% D-efficient and 98.4% A-efficient relative to the best design found by the straight-forward approach (Output 14.2.1), and it takes considerably less time to produce.
Output 14.3.2: Efficiencies for the Unreplicated Saturated Design
Design Number | D-Efficiency | A-Efficiency | G-Efficiency | Average Prediction Standard Error |
---|---|---|---|---|
1 | 41.6990 | 24.8480 | 67.6907 | 0.9508 |
2 | 41.4931 | 22.2840 | 70.8532 | 0.9841 |
3 | 40.9248 | 20.7672 | 62.2177 | 1.0247 |
4 | 40.7447 | 21.6253 | 52.7537 | 1.0503 |
5 | 39.9563 | 20.1557 | 46.4244 | 1.0868 |
6 | 39.9287 | 19.5856 | 45.9023 | 1.0841 |
7 | 39.9287 | 19.5856 | 45.9023 | 1.0841 |
8 | 38.9078 | 13.5976 | 37.7964 | 1.2559 |
9 | 38.9078 | 13.5976 | 37.7964 | 1.2559 |
10 | 37.6832 | 12.5540 | 45.3315 | 1.3036 |
Output 14.3.3: Initializing with a Data Set
Design Number | D-Efficiency | A-Efficiency | G-Efficiency | Average Prediction Standard Error |
---|---|---|---|---|
1 | 46.4388 | 24.4951 | 96.0717 | 0.4242 |