References for the idea of recursive swapping algorithm:
Michael Marte - Models And Algorithms For School Timetabling - A Constraint Programming Approach - 5 July 2002 (free, on the internet, one possible link is:
https://www.en.pms.ifi.lmu.de/publications/dissertationen/PMS-DISS-2003-1/PMS-DISS-2003-1.pdf
) - Section 2.2.5 - Manual Timetabling - pages 23-24.
Jantien Hartog - Timetabling on Dutch High-Schools - Satisfiability versus gp-Untis - March 2007 (free, on the internet, one possible link is:
https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=98a8bd5acac1757e3637f070ec039aa6c27a1009
) - Section 5.2 - page 27.