Antes de calcular, confira se a semana comporta as aulas
A qualidade do horário depende dos dados de entrada. Estas verificações evitam buscas longas sob condições contraditórias.
Capacidade e simultaneidade
Defina dias, períodos e intervalos. Some as aulas de cada turma e professor sem contar os intervalos como tempo letivo. Vinte períodos disponíveis não comportam vinte e duas aulas.
Verifique as coincidências obrigatórias: eletivas paralelas precisam de vários docentes e salas ao mesmo tempo. Uma aula dupla exige períodos consecutivos, não apenas dois espaços livres em qualquer ponto da semana.
Separe obrigações de preferências
Uma indisponibilidade real deve ser obrigatória. Evitar o último período ou reduzir janelas pode ser uma preferência quando há espaço para negociar. Transformar todo desejo em proibição pode impedir qualquer solução.
Valide e salve uma referência antes de alterar regras. Diferencie dados incompletos, inviabilidade comprovada e busca interrompida. Mude uma condição por vez e compare o resultado. Não remova um requisito necessário só para obter uma tabela.