An integer program and a hybrid genetic algorithm for the university timetabling problem. (4th May 2017)