Download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
language Essence 1.3
$ prob028.essence: Balanced Incomplete Block Design
$ Problem details available at http://www.csplib.org/Problems/prob028/
 
given v, b, r, k, lambda : int(1..)
 
where v = b
where r = k
 
letting Obj   be new type of size v,
        Block be new type of size b
 
find bibd : relation of (Obj * Block)
 
such that
    forAll o  : Obj   . |toSet(bibd(o,_ ))| = r,
    forAll bl : Block . |toSet(bibd(_,bl))| = k,
    forAll o1, o2 : Obj
        , o1 != o2
        . |toSet(bibd(o1,_)) intersect toSet(bibd(o2,_))| = lambda