• Nenhum resultado encontrado

META-HEURÍSTICAS E AUTOMAÇÃO DE HORÁRIOS ESCOLARES 67 com um certo grau de liberdade.

Meta-heurística Busca Tabu e outras

Algoritmo 5.4 Um Algoritmo Genético Usamos P p(t) e Pf (t) para denotar, respectivamente, os con juntos de cromossomos pais e de cromossomos filhos de uma população P(t).

5.5 META-HEURÍSTICAS E AUTOMAÇÃO DE HORÁRIOS ESCOLARES 67 com um certo grau de liberdade.

O método Busca Tabu usa o critério de aspiração mais simples, o movimento deixa de ser tabu se tem melhor valor que a melhor solução guardada.

O procedimento Intraturmas-Interturmas é baseado em caminhos mínimos e é aplicado sempre que encontra-se uma solução sem inviabilidade do tipo 1. Primeiro ele é aplicado com o objetivo de corrigir qualquer inviabilidade do tipo 2 (se existe alguma tal inviabilidade), e em seguida novamente com o objetivo de melhorar a avaliação dos critérios desejáveis.

O procedimento é semelhante nas duas vezes. Assim, supondo que temos um horário viável ( f1= f2= 0), vamos descrever o método Intraturmas. Para cada turma é construído um grafo

cujos vértices são os horários da turma e as arestas dirigidas h1h2indicam que a aula que ocorre

no horário de origem da aresta h1pode ser transferida para o horário de chegada h2sem causar

qualquer inviabilidade. Logo, o professor da aula em h1deve estar desocupado em h2e demais

restrições da aula devem ser respeitadas em h2. A cada aresta é associado um peso que indica

a variação de f3 restrita ao professor envolvido. Daí um ciclo de custo negativo garante a re-

alocação de todas as aulas envolvidas e pressupõe um custo menor na parcela f3 da função

objetivo para o quadro de horários. Contudo como um tal ciclo pode envolver mais de uma vez um mesmo professor, o custo pode não ser menor e mesmo alguma inviabilidade pode surgir, por isso, após trocar as aulas de um ciclo negativo candidato, deve-se fazer uma avaliação. Uma vez desaprovado ele é evitado. Após uma troca determinada por um ciclo de custo negativo o grafo é atualizado. E enquanto houverem ciclos de custo negativo (não evitados) no grafo da turma, são feitas as trocas correspondentes. O mesmo procedimento é executado para cada turma.

Em seguida o procedimento Interturmas é aplicado se existem ainda arcos de custo negativo. Digamos que exista uma aresta h1h2 da turma c com custo negativo (para o professor p), e o

professor ¯p dando aula em h2para c está ensinando em uma outra turma cno horário h1. Neste

caso, se houver um caminho no grafo de cde h

2para h1, cujo custo em c′somado ao custo de h1h2em c for negativo, considera-se que existe um ciclo de custo negativo envolvendo as duas

turmas ligadas pelos horários h1 e h2, e que podemos transferir o professor ¯p da turma c para

a turma cno horário h

2 e da turma cpara a turma c no horário h1(com custo zero). Observe

a figura 5.2. Como no procedimento Intraturmas, após trocar as aulas de um ciclo negativo candidato deve-se fazer uma avaliação. Uma vez encontrado um ciclo de melhora, são feitas as trocas, atualizações e o procedimento Intraturmas é chamado novamente, pois pode produzir melhora promovida pelas alterações.

A geração de uma solução inicial é construtiva. Ordenando os horários mais críticos e aulas mais críticas, usa uma LCR. Tenta alocar a próxima aula (sorteada em LCR) de forma viável, caso não seja possível permitindo inviabilidade do tipo 2, e se ainda assim não for possível permitindo inviabilidade do tipo 1.

Foram feitos testes com as meta-heurísticas BT, SA, AM e OM, a partir de uma solução inicial gerada pelo método descrito a pouco. E também uma adaptação destas usando o procedi- mento Intraturmas-Interturmas: BT-II, SA-II, AM-II, OM-II e GBT-II; esta última trata-se de um modelo GRASP cuja fase de busca local é Busca Tabu, e também chama II. A maneira como II foi introduzido nas meta-heurísticas foi a mesma, sempre que uma solução sem inviabilidade do tipo 1 era encontrada pela primeira vez para um dado valor da função objetivo, o método

h1 h2 h1 h2 0 0 c c’ p p p 0

Figura 5.2 Procedimento Interturmas. Aqui apresentamos um ciclo envolvendo o grafo de duas turmas,

com uma aresta h1h2 de custo negativo em c e um caminho em c′. Este ciclo tem custo negativo se o

custo do caminho de h2a h1em csomado ao custo de h1h2em c é um valor negativo. Após as trocas, o professor ¯p terá aula nos mesmos horários, mas nas turmas trocadas, o professor h terá sua aula em c

num novo horário h2(ao invés de h1) e os demais professores envolvidos no ciclo conforme as alterações indicadas pelas arestas do caminho em c.

II era executado. A restrição quanto a uma vez por valor da função objetivo foi imposta para impedir que a meta-heurística tivesse seu tempo aumentado muito por II.

Foi observado que cada adaptação com II produziu melhores resultados que o algoritmo original. Melhoras acima de 21% em média para SA e OM, no caso de AM de 26% em média, mas no caso de BT a melhora foi de 2,5% em média. Isto não indicando que o algoritmo BT-II seja menos eficiente que as demais adaptações, pelo contrário, indicando que o puro BT tem um desempenho já muito bom, uma vez observada a classificação geral e esta percentagem.

Os resultados indicam a seguinte classificação dos algoritmos: 1) GBT-II, 2) BT-II, 3) OM- II, 4) SA-II, 5) BT, 6) AM-II, 7) SA, 8) OM e 9) AM.

Novamente temos uma adaptação com Busca Tabu como sendo o melhor método entre os avaliados.

O autor escreveu vários outros trabalhos no tema junto a outros autores. Os artigos [SMO00], [SMO01], [SOM03], e [SOS04] trazem o algoritmo GBT-II com alguma variação, no caso de [SOM03] é usada o procedimento de reinicialização como uma estratégia de diversificação. Em [SdCG02] apresenta um método híbrido, um algoritmo genético que aplica o método BT na melhor solução da população gerada para refinamento desta, uma vez que sem isto o modelo encontra dificuldades para encontrar soluções viáveis.

Já em [SOa05] são apresentados modelos BT, usando o movimento que troca dois elemen- tos numa linha, com estratégias de diversificação. Além da lista tabu existem as memórias de

termo longo. O número de iterações que um movimento permanece na lista tabu é variável

e depende de uma escolha aleatória num dado intervalo em torno de um parâmetro, denotado por período tabu central (quando o movimento entra na lista tabu). As memórias de longo termo são de dois tipos: baseadas em transição ou baseadas em residência. Na primeira são guardados para cada professor e turma o número de movimentos usados envolvendo os dois.

5.5 META-HEURÍSTICAS E AUTOMAÇÃO DE HORÁRIOS ESCOLARES 69

Outline

Documentos relacionados