Como fazer
Gerar um horário escolar: o gerador, o resolvedor de lacunas e o ciclo de melhoria
Um horário não é gerado uma só vez. É gerado, medido, afinado e medido de novo. Este guia percorre esse ciclo da forma como um responsável de horários de uma escola secundária o encontra — tardes, uma sexta-feira curta, professores que vêm por duas horas e vão para casa — e diz que definição responde a que queixa.
Três fases, e pode parar depois de qualquer uma
Introduz uma só vez os dados da escola: disciplinas, quem as leciona, que turmas as frequentam, que salas existem. O programa coloca então cada aula num dia e numa hora.
- O gerador coloca todas as aulas. É rápido, e nunca quebra uma regra obrigatória: ninguém está em dois sítios ao mesmo tempo, toda a aula tem uma sala que tem o que precisa, nada fica fora do horário de funcionamento.
- O resolvedor de lacunas afina depois a semana durante o número de minutos que lhe der. Move aulas para fechar buracos nos dias das turmas e dos professores, mantém as tardes dentro do limite que definiu e dá aos professores dias inteiros livres sempre que pode. Nunca quebra uma regra que o gerador tenha respeitado, e guarda sempre a melhor semana que encontrou — interrompê-lo não perde nada.
- A publicação torna o resultado visível a alunos, professores e encarregados de educação, na web e na aplicação.
O que é um buraco, e quanto custa
Um buraco é uma hora vazia entre duas aulas da mesma turma ou do mesmo professor no mesmo dia. As horas livres no início ou no fim de um dia não são buracos. O resolvedor avalia tudo numa só unidade, a hora-buraco: uma hora que um professor espera entre duas aulas. Um buraco para os alunos conta mil vezes mais, pelo que o resolvedor sacrificará muito conforto dos professores antes de deixar uma turma à espera.
Tudo o resto — o dia de uma só hora de um professor, um dia longo, uma aula fora da sala do próprio professor, uma opcional a meio do dia da turma — tem um preço na mesma unidade, e as definições abaixo são esses preços.
Uma primeira execução em dez minutos
Com os dados introduzidos, este é o caminho mais curto para um horário que pode observar.
Ative a afinação
Definições › Diversos (F2), separador Gerar: assinale Executar otimização de lacunas e defina Duração (min) como 10.
Descreva o ritmo da escola
Prima Definições da otimização de lacunas … e preencha a coluna da esquerda: A tarde começa na hora (a hora letiva a partir da qual uma aula conta como tarde — 10 numa escola com 14 horas por dia), Dias de tarde por turma e semana (1 dá a cada turma no máximo uma tarde), Mín. de horas por dia do professor (2: ninguém vem por uma só aula) e Máx. de horas por dia do professor (flexível) (5 ou 6). Confirme ambas as janelas.
Defina a última hora de cada dia
No separador Gerar, Última hora do dia tem um campo por dia da semana. O número é uma hora letiva contada desde o início do horário de funcionamento, não uma hora do relógio: uma sexta-feira que termina depois da nona aula é 9, os outros dias 14. É uma regra obrigatória do resolvedor de lacunas, pelo que deve manter a afinação ativada quando dela depende.
Gerar
Prima o botão Gerar (o ícone de despertador na barra de ferramentas), responda Sim ao aviso — as aulas desbloqueadas são colocadas de novo, por isso bloqueie o que colocou à mão — assinale os programas e anos na janela seguinte e prima Iniciar. O gerador coloca a semana; o resolvedor de lacunas afina-a durante dez minutos.
Leia os números
Ctrl + B abre as estatísticas da semana: aulas sem sala, buracos de turmas, dias de tarde acima do limite, aulas depois da última hora do dia, dias-professor, horas-buraco, dias de uma só hora e dias longos. Anote-os — cada alteração posterior é avaliada em função deles.
O ciclo de melhoria
O resolvedor melhora depressa ao início e devagar depois. A forma eficiente de trabalhar é uma escada de tempos de execução: a execução mais curta que consiga responder à pergunta que tem.
A regra prática: nunca execute mais de dez minutos enquanto ainda está a alterar definições, e altere uma definição de cada vez — se alterar três, não saberá qual ajudou. Meça, altere uma coisa, faça uma afinação curta, meça de novo; mantenha a alteração se os números melhoraram, desfaça-a se não. Pare quando duas execuções sucessivas de vinte minutos não melhorarem nada, ou quando o que resta for algo com que consegue viver. Um horário com três buracos de professores é um bom horário; os últimos buracos são geralmente causados pelos dados — um professor que só pode vir à segunda e à quinta-feira — e não pelo resolvedor.
- Um ou dois minutos — “esta definição estragou algo óbvio?” De cada vez que altera uma definição.
- Cinco minutos — “esta direção é melhor do que a anterior?” O passo normal do ciclo.
- Dez a vinte minutos — “até onde pode chegar esta configuração?” Quando as execuções de cinco minutos deixam de alterar o que quer que seja.
- Trinta a sessenta minutos — um candidato a publicação.
- Várias horas ou durante a noite — apenas para a versão final, com todas as definições assentes.
Que definição responde a que queixa
As queixas que um responsável de horários ouve, e a definição na janela de otimização de lacunas que responde a cada uma.
- “A minha turma tem aulas à tarde três vezes por semana.” — Dias de tarde por turma e semana. Uma regra obrigatória: o resolvedor move aulas até ela se cumprir.
- “Venho à escola por uma só aula.” — Mín. de horas por dia do professor, e um Valor do dia de presença do professor mais alto: o resolvedor prefere então acrescentar uma hora a esse dia ou esvaziá-lo.
- “Os meus dias são demasiado longos.” — Máx. de horas por dia do professor (flexível); o máximo diário obrigatório permanece no separador Gerar.
- “Quero dias inteiros livres, não dias curtos todos os dias.” — desassinale Os professores vêm todos os dias úteis e aumente o valor do dia; o gerador preenche então primeiro os dias em que o professor já trabalha.
- “Os alunos que não frequentam a opcional ficam à espera a meio do dia.” — Opcionais no limite do dia.
- “Nunca ensino na minha própria sala.” — Sala própria do professor – peso; a sala também tem de ter o que a aula precisa.
- “Algumas aulas não têm sala.” — primeiro os dados: propriedades e lugares das salas, depois um horário de funcionamento alargado ligeiramente maior. Uma aula sem sala conta como não colocada; o resolvedor não pode inventar uma sala.
Quando os números deixam de se mexer
Raramente está encravado; está a trabalhar nos casos mais difíceis, e é normal que os últimos buracos demorem mais do que todos os outros. Se as estatísticas não mudaram durante vinte minutos, pare — a melhor semana está guardada — relaxe uma regra e execute de novo. Se nada ajudar, a causa está quase sempre nos dados: um professor disponível em dois dias, uma sala de que todos os laboratórios precisam, uma turma com mais aulas do que a manhã comporta — preparar uma escola para a geração de horários enumera os erros que mais vemos.
Cada campo da janela de otimização de lacunas tem um botão ? com uma explicação mais longa, o intervalo válido e o valor por omissão medido em escolas reais. O livro completo — preparação, todos os parâmetros, o ciclo, uma extensa parte de resolução de problemas e receitas para escolas típicas — está na página de documentação em PDF.
Alterar o horário depois de o período ter começado
Durante o período, o horário está publicado e as semanas já lecionadas não devem mudar. Um interruptor, A partir da semana atual, indica a três ferramentas por onde começar; a semana é a do cursor das semanas.
Com o interruptor ativado, Melhorar e Mover alteram as aulas dessa semana até ao fim do seu período. Com ele desativado, alteram apenas essa semana, e uma aula que decorre em mais semanas é dividida — a escolha certa para um professor que está ausente uma semana. Cada resposta é aplicada por inteiro ou não é aplicada, as aulas bloqueadas nunca se movem, e as mesmas três ferramentas existem na administração por navegador. A parte 7 do livro descreve-as passo a passo.
- Gerar com o interruptor ativado reconstrói o horário dessa semana até ao fim do ano. Todas as aulas das semanas anteriores ficam exatamente como estavam. Antes de o ano letivo começar não há nada a proteger, e a execução começa na semana 1.
- Otimização › Melhorar o horário atual dá ao resolvedor de lacunas o horário tal como está durante alguns minutos. Só move uma aula onde isso fecha buracos, lista todas as alterações e espera por Manter ou Anular.
- Mover — clique com o botão direito numa aula — coloca uma aula onde quiser. O resolvedor faz espaço movendo o menor número possível de outras aulas e mostra o preço em buracos de alunos, horas-buraco de professores e dias-professor.
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.