The practice and theory of automated timetabling (2016)