In this report a design strategy for combinatorial libraries is presen
ted which divides large virtual libraries into subsets. Instead of try
ing to form every possible combination of subunits, the algorithm focu
ses on the synthesis or testing of every pairwise combination of subun
its, thereby reducing the problem to pieces of size N-2, while ensurin
g broad coverage of the virtual array in a single pass. A method is de
scribed which optimizes the subsets to favor compounds with specific c
haracteristics.