Chapter Contents Previous Next
 Details of the OPTEX Procedure

## Example 24.7: Balanced Incomplete Block Design

 See OPTEX8 in the SAS/QC Sample Library

This example uses the BLOCKS statement to construct an incomplete block design. An incomplete block design is a design for v qualitative treatments in b blocks of k runs each, where k < v so that not all treatments can occur in each block. An incomplete block design is said to be balanced when all pairs of treatments occur equally often in the same block. A balanced design is always optimal for any criterion based on the information matrix, although there are many values of (v,b,k) for which no balanced design exists.

One way to construct an incomplete block design with the OPTEX procedure is to include the blocking factor in the candidate set and in the model. For example, the following statements search for a BIBD for seven treatments in seven blocks of size three -that is, (v,b,k)=(7,7,3) -using the full set of 49 treatment-by-block combinations for candidates:

```   data can;
do tmt = 1 to 7;
do blk = 1 to 7;
output;
end;
end;
```

```   proc optex data=can seed=8327
coding=orth;
class tmt blk;
model tmt blk;
generate n=21;
run;
```

By default, the OPTEX procedure performs the search 10 times from different random starting designs. The various efficiencies for each design are listed in Output 24.7.1.

Output 24.7.1: Efficiency Factors for v=b=7, k=3 Designs

 The OPTEX Procedure

 Design Number D-Efficiency A-Efficiency G-Efficiency Average PredictionStandard Error 1 89.0483 79.1304 82.7170 0.8845 2 89.0483 79.1304 82.7170 0.8845 3 88.4669 76.9882 78.6796 0.8967 4 88.4669 76.9882 78.6796 0.8967 5 88.4669 76.9882 78.6796 0.8967 6 88.4669 76.9882 78.6796 0.8967 7 88.4669 76.9882 78.6796 0.8967 8 88.4669 76.9882 78.6796 0.8967 9 88.1870 76.0262 78.7612 0.9024 10 87.7681 74.2459 73.9544 0.9131

Since the efficiency factors compare the designs to a (hypothetical) orthogonal design, values of 100% are not possible in this case. The OPTEX procedure includes facilities for examining the information matrix for the design; you can use these to verify that the best design found here is, in fact, balanced.

Searching for an optimal design for both treatments and blocks simultaneously has its limitations. Note that the balanced design was found on only two of the ten tries. A more serious limitation is that this approach sometimes fails to find a design with equal-sized blocks. A more efficient and flexible way to construct a block design with the OPTEX procedure is to use the BLOCKS statement.

The following statements use the BLOCKS statement to solve the incomplete block design problem described previously. In this case, the candidate set simply consists of the seven treatment levels.

```   data can;
do tmt = 1 to 7;
output;
end;
proc optex data=can seed=73462
coding=orth;
class tmt;
model tmt;
blocks structure=(7)3;
run;
```

The output again consists of efficiency factors for 10 different tries, but this time the factors are computed from the information matrix for only the treatment effects. In this special case (a single classification effect in the treatment model together with the BLOCKS STRUCTURE= specification), the efficiency of each design as an incomplete block design is also listed (Output 24.7.2).

Output 24.7.2: Efficiency Factors for v=b=7, k=3 Optimal Blocking Designs

 The OPTEX Procedure

 Design Number TreatmentD-Efficiency TreatmentA-Efficiency Block DesignD-Efficiency 1 77.7778 77.7778 100.0000 2 77.7778 77.7778 100.0000 3 77.7778 77.7778 100.0000 4 77.7778 77.7778 100.0000 5 77.7778 77.7778 100.0000 6 77.7778 77.7778 100.0000 7 77.7778 77.7778 100.0000 8 77.7778 77.7778 100.0000 9 77.7778 77.7778 100.0000 10 77.7778 77.7778 100.0000

The 100% efficiency in the fourth column of the output shows that the balanced design was found on all 10 tries.

Since the OPTEX procedure is interactive, you can save the final design in a data set by submitting the OUTPUT statement immediately after the preceding statements. The following statements use the BLOCKNAME= option to rename the block variable:

```      output out=bibd blockname=blk;
proc print data=bibd;
run;
```

The final design is shown in Output 24.7.3.

Although there is no guarantee that the OPTEX procedure will find the globally optimal block design by this method, it usually does find small- to medium-sized balanced designs, and it always finds a very efficient design. For example, for the designs given in Table 9.5 of Cochran and Cox (1957), the OPTEX procedure consistently finds the theoretically optimal BIBD in all cases with 10 or fewer treatments. Furthermore, in no case is the D-efficiency relative to the balanced design less than 99%.

Output 24.7.3: Balanced Incomplete Block Design for v=b=7, k=3

 Obs BLK tmt 1 1 1 2 1 4 3 1 7 4 2 6 5 2 3 6 2 1 7 3 2 8 3 5 9 3 1 10 4 6 11 4 2 12 4 7 13 5 5 14 5 4 15 5 6 16 6 5 17 6 7 18 6 3 19 7 4 20 7 3 21 7 2

 Chapter Contents Previous Next Top