Mathematical models and algorithms for a high school timetabling problem. (September 2015)