Diagnosticar uma geração que falha

A geração «falha» quando o algoritmo de geração não consegue encaixar tudo: devolve o melhor horário parcial encontrado, e as aulas que teve de sacrificar ficam na barra de post-its das aulas a colocar (uma faixa vermelha resume o bloqueio). O problema é quase sempre uma sobrecarga de restrições: aulas a mais para as faixas horárias abertas, ou restrições apertadas demais para se encaixarem. O remédio consiste em aliviar o que puder ser aliviado — é o objetivo desta página. Para compreender como o algoritmo de geração prioriza e o que sacrifica, ver Geração automática; para o catálogo dos conflitos em um horário já posto, ver Conflitos e diagnóstico.

O diagnóstico é uma pista, não um veredito

Quando uma aula não pode ser posicionada, o Omniscol destaca a entidade que colocou mais problemas ao longo das tentativas — «este professor não tem faixas horárias suficientes», «esta turma não cabe na sua grade». É uma heurística: a entidade sinalizada é a que volta mais vezes nos bloqueios, não necessariamente a causa única. As restrições estão cruzadas — aliviar em outro lugar pode desbloquear tudo. Tome portanto a mensagem como uma direção de pesquisa: o verdadeiro remédio é muitas vezes atenuar a sobrecarga geral de restrições (um pouco mais de faixas horárias, disponibilidades menos estritas) em vez de insistir na entidade apontada.

Causas mais frequentes

1. Disponibilidades restritivas demais

Um professor marcou tantos períodos como impossíveis que não restam mais faixas horárias suficientes para posicionar as suas aulas.

Diagnóstico: examine a tela das disponibilidades do professor em questão. Conte as faixas horárias livres e compare com o seu volume horário.

Resoluções:

  • Flexibilizar certos períodos (passar do preto ao vermelho — indesejável mas não impossível),
  • Redistribuir os cursos (atribuir uma parte a outro professor),
  • Conversar com o professor se a disponibilidade for negociável.

2. Nenhuma sala de aula compatível

Uma disciplina requer uma especialização para a qual nenhuma sala de aula foi criada, ou todas as salas de aula correspondentes estão ocupadas nas únicas faixas horárias possíveis.

Resoluções:

  • Criar a especialização faltando em uma sala de aula adequada,
  • Reduzir a restrição de especialização,
  • Acrescentar uma sala de aula.

3. Capacidade insuficiente

O número de alunos de um grupo / de uma turma ultrapassa a capacidade de todas as salas de aula candidatas.

Resoluções:

  • Atribuir uma sala de aula maior,
  • Atribuir várias salas a um mesmo curso (a capacidade total é a soma),
  • Dividir a turma / o grupo.

4. Alinhamento estruturalmente impossível

Os volumes horários dos grupos alinhados diferem, ou as turmas mães têm grades horárias incompatíveis, ou um professor alinhado só pode estar em um único lugar.

Resoluções:

  • Harmonizar os volumes horários entre os grupos alinhados,
  • Desalinhar e criar um curso por turma,
  • Verificar que os locais das turmas alinhadas compartilham uma grade horária comum na faixa horária alvo.

5. Aulas de curso a mais para a grade

Quando uma turma ou um professor tem manifestamente mais horas do que faixas horárias abertas, um aviso sinaliza isso antecipadamente (aba Geração, contadores horas vs faixas horárias). O caso perverso é mais traiçoeiro: tomado isoladamente, nenhum transbordo evidente, mas a acumulação das restrições entre professores e turmas — e os seus cruzamentos — acaba não cabendo mais.

Resoluções:

  • Reduzir os volumes horários informados,
  • Ampliar a grade horária (abrir a quarta-feira à tarde, por exemplo),
  • Flexibilizar algumas indisponibilidades, visando as faixas que muitas entidades evitam ao mesmo tempo: a acumulação satura a grade.

6. Incompatibilidades numerosas demais

Empilhar restrições «não X depois de Y» pode criar um sistema sem solução.

Resolução: substituir certas incompatibilidades por pesos pedagógicos mais flexíveis.

7. Salas de aula insuficientes (estrangulamento)

Muito frequente: mesmo que cada sala de aula sirva, o seu número não chega para absorver a procura no mesmo momento. As aulas de curso empilham-se nas mesmas faixas horárias e a falta de salas de aula torna-se o estrangulamento que impede o conjunto de caber.

Resoluções:

  • Acrescentar salas de aula (ou compartilhá-las entre turmas),
  • Distribuir a procura ampliando a grade horária,
  • Reduzir as restrições que concentram os cursos em poucas faixas horárias.

8. Vários locais: os deslocamentos consomem as horas

Com vários locais, os tempos de deslocamento entre unidades reduzem as faixas horárias realmente utilizáveis por um professor (ou uma turma): mudar de local custa tempo, que deixa de estar disponível para colocar uma aula. As disponibilidades reais se estreitam e o quebra-cabeça se complica.

Resoluções:

  • Agrupar os cursos de um professor no mesmo local ao longo do dia,
  • Verificar os tempos de deslocamento declarados entre locais,
  • Limitar as idas e voltas entre locais no mesmo dia.

Lista de verificação antes de relançar uma geração

  • Todas as turmas têm um local atribuído?
  • Todas as turmas têm as suas disciplinas e os seus professores?
  • Todos os grupos usados em cursos têm um número teórico de alunos ou uma capacidade gerenciável?
  • As disponibilidades de todos os professores estão validadas?
  • Nenhum alerta crítico (vermelho) na aba Geração?

Ferramentas de diagnóstico integradas

  • Aba Geração — a montante: estatísticas (cursos / horas por professor, por turma, por local) e avisos (horas vs faixas horárias, alertas críticos a corrigir antes de lançar).
  • Aulas não colocadas (post-its) — após uma falha: a saída de uma geração incompleta. O botão de posicionamento (pino) em cada uma mostra, através das faixas horárias coloridas, por que motivo nenhum lugar serve.
  • Detecção de grupos esquecidos: grupos definidos mas sem nenhum curso atribuído.

Procedimento

Diagnosticar uma geração que falha

  1. Quando a geração falha, o Omniscol exibe uma faixa vermelha, mantém o horário parcial visível, e coloca as aulas que não conseguiu encaixar na barra dos post-its.

  2. Leia a faixa: ela dá uma direção (heurística, cf. acima), não um veredito.

  3. Parta das aulas não colocadas, não dos «conflitos». A geração nunca cria um conflito: apenas deixa de lado o que não cabe. Pegue uma aula nos post-its e clique no seu botão de posicionamento (pino, Preencher no horário).

  4. Leia as faixas horárias coloridas. O Omniscol exibe todas as faixas horárias candidatas; para uma aula impossível de colocar, estão todas bloqueadas. Procure por quê, na ordem dos três bloqueios habituais: o professor ocupado ou indisponível, a turma (ou o grupo) ocupada, ou nenhuma sala de aula livre e compatível. A razão aparece ao passar o cursor sobre a faixa horária.

  5. Alivie a restrição que bloqueia — conforme o caso: flexibilizar as disponibilidades, acrescentar ou liberar uma sala de aula, harmonizar um alinhamento, ampliar a grade (cf. as causas acima) — e depois relance.

  6. Antes de relançar, percorra a lista de verificação acima (locais atribuídos, disciplinas e professores no lugar, número de alunos informado, disponibilidades validadas, nenhum alerta crítico na aba Geração).

Ver também