Wise Timetable

Conceitos

Restrições rígidas e flexíveis, com exemplos reais

A distinção parece académica até passar uma semana a contornar as suas próprias regras por ter declarado todas elas invioláveis.

As definições

Uma restrição rígida é uma regra que tem de se verificar em qualquer horário válido. Violá-la não produz um horário pior; produz um horário inválido. Um docente não pode estar em duas salas ao mesmo tempo. Noventa estudantes não podem ocupar uma sala com sessenta lugares. Uma aula prática de química não pode decorrer numa sala de seminários sem hottes.

Uma restrição flexível é uma preferência. Satisfazê-la torna o horário melhor; violá-la torna-o pior, mas ainda utilizável. Um docente prefere não lecionar às sextas-feiras à tarde. Os estudantes não devem ter intervalos de três horas. A lecionação deve ser concentrada em menos dias.

Um motor de planeamento trata-as de forma completamente diferente. As restrições rígidas definem o espaço das soluções admissíveis. As restrições flexíveis definem qual dessas soluções admissíveis é a melhor, e são ponderadas umas contra as outras.

Classificar as regras que já tem

A maioria das instituições tem uma lista algures. Quase nenhuma a classifica.

RegraTipoPorquê
O docente não pode lecionar duas sessões em simultâneoRígidaFisicamente impossível; nenhum horário que a contenha é utilizável.
A capacidade da sala tem de comportar o grupoRígidaA sessão não pode realizar-se. Ocasionalmente atenuada quando se sabe que um grupo não comparece na totalidade.
A sessão exige equipamento específicoRígidaA lecionação não pode ocorrer sem ele.
Docente indicado como indisponível na terça-feira de manhãRígidaSe o próprio a indicou, trate-a como rígida. É esse o objetivo da disponibilidade em autosserviço.
Não mais de seis horas letivas por diaNormalmente rígidaMuitas vezes é política da instituição ou acordo sindical, e não uma preferência.
Pausa para almoço entre as 12:00 e as 14:00Flexível ou rígidaDepende da instituição. Torne-a explícita em vez de a presumir.
O docente prefere a manhãFlexívelUma preferência. Otimize em função dela; não falhe por causa dela.
Os estudantes não devem ter intervalos superiores a duas horasFlexívelAltamente desejável, raramente atingível na totalidade.
Lecionação concentrada em menos diasFlexívelEntra em conflito direto com a linha anterior. É precisamente para isto que serve a otimização.
Sala preferida para uma determinada disciplinaFlexívelNormalmente uma conveniência, ocasionalmente rígida quando o equipamento é fixo.

Por que razão a confusão sai cara

Declarar todas as regras como rígidas parece seguro. Não é. Um conjunto de restrições em que todas as preferências são invioláveis geralmente não admite solução alguma, e o sistema indica, corretamente, que um grande número de sessões não pode ser colocado.

O que acontece a seguir é a parte dispendiosa: alguém passa uma semana a contornar manualmente as restrições, uma a uma, para forçar um resultado, o que é precisamente o trabalho manual que a automatização devia eliminar — e o horário resultante não regista quais as regras que foram flexibilizadas nem porquê.

O erro oposto é mais raro, mas pior. Marcar como flexível uma restrição genuinamente rígida produz um horário que parece completo e contém uma impossibilidade, descoberta na primeira semana pelas pessoas afetadas.

Um teste prático

Faça uma pergunta a cada regra: se fosse violada, a sessão ainda poderia realizar-se?

Se não, é rígida. Se sim, mas alguém ficaria descontente, é flexível. Se a resposta for "depende de quem", encontrou uma restrição política e não uma restrição de planeamento, e é preciso que uma pessoa decida antes de ela entrar em qualquer sistema.

Veja como as restrições são definidas no Wise Timetable.

Quer ver isto a funcionar?

Marque uma apresentação online de 45 minutos e percorreremos a solução com base no problema de planeamento de horários da sua própria instituição.