Geração automática / Algoritmo de geração

A geração automática do Omniscol calcula automaticamente o posicionamento das aulas de um horário semanal, cíclico ou calendário. Ela posiciona as aulas criadas que ainda não foram posicionadas, pode mover as aulas já posicionadas se isso melhorar o horário e mantém as aulas bloqueadas em seu lugar.

Como funciona

Quando você inicia uma geração, o Omniscol inicia um ambiente de cálculo dedicado e paralelizado. Não há fila de espera para gerir do lado da escola; a inicialização costuma levar cerca de dez segundos antes dos primeiros cálculos visíveis. O resultado depende da qualidade dos dados inseridos: campus, salas, professores, grupos, volumes horários, disponibilidades e incompatibilidades. Quanto mais numerosas ou contraditórias forem as restrições, mais longa pode ser a geração ou mais parcial pode ser o resultado.

O motor é uma IA de otimização metaheurística Monte-Carlo neuro-simbólica: combina busca estocástica, regras de negócio simbólicas e pontuação das restrições. O ponto importante é operacional: o algoritmo de geração foi concebido para casos muito restritos, sinalizando ao mesmo tempo as situações impossíveis em vez de ocultar os conflitos.

Restrições rígidas

O algoritmo de geração respeita estritamente as restrições que tornariam o horário inválido:

  • um professor não pode estar em dois lugares ao mesmo tempo;
  • uma turma não pode assistir a duas aulas ao mesmo tempo, exceto no caso previsto por grupos em divisão de turma;
  • as disponibilidades e restrições de nível indisponível bloqueiam o posicionamento;
  • uma sala padrão não pode receber duas aulas no mesmo momento;
  • uma sala grande pode receber várias aulas apenas dentro dos limites de capacidade e de número de turmas configurados;
  • as salas especializadas, capacidades, recursos materiais e deslocamentos entre campus devem permanecer compatíveis;
  • uma aula bloqueada mantém sua posição.

Restrições de otimização

As restrições flexíveis servem para pontuar e melhorar as soluções encontradas. Elas não são ignoradas: tornam-se penalidades que o algoritmo de geração procura reduzir.

Exemplos frequentes:

  • disponibilidades ou restrições indesejáveis para um professor, uma sala, uma disciplina, um grupo ou uma turma;
  • incompatibilidades pedagógicas entre disciplinas, por exemplo evitar uma aula prática antes da aula teórica correspondente, evitar o desporto logo após uma aula muito densa ou impor a ordem de uma progressão;
  • evitar ter duas vezes a mesma disciplina no mesmo dia para uma turma;
  • mínimo ou máximo de horas de aula por dia ou por semana;
  • equilíbrio dos dias;
  • redução das lacunas nos horários das turmas e dos professores;
  • número de dias de presença dos professores, conforme os usos da instituição ou do país.

A busca por uma solução válida é a primeira etapa. A otimização das penalidades pode em seguida tornar-se a parte mais longa do cálculo.

Disponibilidade

  • Horários semanais — disponível.
  • Horários cíclicos — disponível.
  • Horários calendário — disponível com aulas datadas e um intervalo de datas.

O que fazer se a geração falhar

Se nenhuma solução completa for encontrada, o Omniscol mantém o melhor horário calculado e deixa as aulas impossíveis de posicionar na lista de post-its não posicionados. Você pode então inspecionar o horário parcial, ler o diagnóstico e corrigir as restrições.

Causas frequentes:

  • disponibilidades demasiado restritivas (um professor não tem nenhuma faixa horária livre compatível),
  • número insuficiente de salas ou nenhuma sala especializada disponível,
  • alinhamento incoerente (volumes horários diferentes entre os grupos alinhados),
  • incompatibilidades demasiado numerosas ou demasiado estritas,
  • efetivo teórico da turma > capacidade de todas as salas candidatas.

Consulte Diagnosticar uma geração que falha.

Forçar o posicionamento de uma aula

Você pode bloquear a posição de uma aula antes de reiniciar a geração: o algoritmo de geração deixa então de movê-la, mas ajusta as demais ao seu redor. Prático para fixar as aulas «imutáveis» (intervenções externas fixadas por contrato, exames datados, etc.).

Ver também