Tenho o código de um sistema que fiz com algoritmos genéticos para resolver exatamente esse problema se estiver interessado, só está uma droga pq é da época da faculdade

Opa, se puder compartilhar agradeço. Vc tentou via solução exata tbm (sem heurística)? A princípio eu acho que seria viável, dependendo das restrições e da quantidade cursos/professores/alunos.

Não tentamos pq na época a ideia era justamente aplicar algoritmos genéticos a um problema, creio que dê sim para fazer, mas não consigo pensar em uma boa solução de outra forma por conta do conflito de horários entre professores