Optimal block design models for course timetabling

We seek a timetable for courses offered in S sections to maximize contact among K student cohorts over T terms. For this combinatorial optimization problem we propose both integer programming and constraint programming models. The latter straightforwardly reduces the size of solution equivalence classes, thereby facilitating the search for an optimum.