Download
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..20)
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