Speeding Up the Search

For designs with many factors or blocks, the tree of candidate confounding rules can be very large and the search can take a very long time. In these cases, the FACTEX procedure spends a lot of time exploring sets of rules that are essentially the same and that all result in failure. A technique for pruning the search tree (see Figure 7.9) is as follows. Suppose that for some selection $r_ i$ for rule i, all the branches for the next rule eventually result in failure. Then any other selection $r’_ i$ is immediately declared a failure if the resulting number of candidates is the same as for the failed rule $r_ i$. The search goes on to the next selection for rule i.

This method of pruning is not perfect; it might prune a branch of the search tree that would have resulted in a success. In mathematical terms, candidate sets $C_ i$ are not necessarily isomorphic because they have the same size. You can use the NOCHECK option in the PROC FACTEX statement to turn off the pruning. With the NOCHECK option, the FACTEX procedure searches the entire tree of feasible confounding rules, and if given enough time will find a design if one exists. The default argument for the TIME= option in the PROC FACTEX statement limits the search time to one minute.

Figure 7.9: Search Tree

Search Tree

On the other hand, the NOCHECK option is rarely needed to produce a design with a given resolution. For example, consider all possible blocked and unblocked two-level designs with minimum resolution for 20 or fewer factors and 128 or fewer runs. Of the nearly 400 different designs, the NOCHECK option is required to find a design in only nine cases. In one case (seven factors in 128 runs and blocks of size 2), NOCHECK is actually unable to find a design in the default time of 60 seconds, whereas the default search has no trouble finding a design.