• Nenhum resultado encontrado

META-HEURÍSTICAS E AUTOMAÇÃO DE HORÁRIOS ESCOLARES 63 de salas, a escolha deve ser feita apenas entre estas A cada iteração é gerado um número

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 63 de salas, a escolha deve ser feita apenas entre estas A cada iteração é gerado um número

máximo de pares (ai, dj), aula conflitante e dia qualquer, e em seguida é selecionado o melhor movimento entre os movimentos ai→ hk, onde hk é o melhor horário do dia dj para mover ai. Claro, respeitando as listas tabu e critérios de aspiração.

A estratégia de diversificação usada é uma redução drástica no valor dos coeficientes w1, w2

e w3relacionados às restrições de conflito e sobreposição de salas durante um certo número de

iterações. Isso é feito após visitar um quadro de horários sem violação destas restrições, e estar a um certo número de iterações sem melhora no valor de melhor solução encontrada. Em seguida, retorna-se aos valores iniciais que são bem maiores em relação às demais restrições relaxadas. Assim espera-se visitar outras regiões promissoras ainda não exploradas.

O critério de parada é um número máximo de iterações sem mudança no valor da melhor solução encontrada.

Abramson (1991) também usa um movimento que muda apenas o horário de uma aula, só que usando Simulated Annealing. Seu problema considera cada aula como uma combinação de elementos, como turma, professor e sala. E cada aula tem um horário associado, que pode ser mudado através de um movimento. A função objetivo é dada pelo número de conflitos para turmas, professores e salas. Em [AKD99] ele faz experimentos para o mesmo problema com seis esquemas diferentes de resfriamento. O que demonstrou muito melhor resultados foi o es- quema de “reaquecimento como uma função do custo”. Quando o método identifica estar num mínimo local o valor da temperatura é aumentado bastante e segue-se o resfriamento a partir dele. A nova temperatura é dada por: Tnew· fob j(Sb) + Tmsp, onde Sbé a melhor solução encontrada, Tmsp é a temperatura onde ocorre “maximum specific heat” eθ um parâmetro de valor pequeno. A Tmspé a temperatura onde o valor encontrado quando se calcula a variância da função objetivo sobre um número de testes na temperatura é máximo. Acredita-se que seja a temperatura onde há uma mudança de fase no modelo, durante a fase anterior a Tmspseria re- solvido o “grosso” da estrutura de uma solução (a melhora no valor da função objetivo é maior e em pouco tempo), e depois desta temperatura as mudanças abarcariam os detalhes, mudanças menores e mais lentas.

Um outro movimento pode ser definido trocando-se os horários de duas aulas de uma mesma turma, ao invés de um mesmo professor. É o movimento usado por Mike (2001) [Wri01]. Seu problema tem poucas restrições e é modelado com Simulated Annealing e com Threshold Acceptance (TA), usando em ambos “Subcost-Guided Search” (SGS). Este último método, de busca guiada por sub-custos, é uma estratégia de diversificação, onde a busca obje- tiva melhorar parte de seus objetivos não importado o efeito no todo. Essa diversificação teria a qualidade de não apenas distanciar a busca de uma região já explorada, mas também de dirigir a busca para uma região promissora sob alguns aspectos.

O método Threshold Acceptance é uma variação do Simulated Annealing proposta por Dueck e Scheuer (1990). Ao invés de usar a probabilidade de aceitação como em SA, ele aceita uma solução de piora S′ se ela satisfaz um “threshold” T

h> 0 (limite): se △ < Th, onde △ = fob j(S′) − fob j(S ). Se não é muito pior que a solução corrente. O valor de Th é decrescido gradualmente a cada iteração, por exemplo por um fator constante pequeno r,

Th ← max(0, Th− r). O critério de parada pode ser um número máximo de iterações sem mudança no valor da melhor solução encontrada. Uma diferença entre SA e TA é o fato de que

SA pode aceitar soluções “muito piores” com uma pequena probabilidade, o que não ocorre em TA.

O Subcost-Guided Search foi incorporado a cada modelo, SA e TA, e os resultados foram comparados, inclusive com os modelos sem SGS. Em SA, duas formas de SGS foram usadas, a que apresentou melhor desempenho foi usada com TA também. Seja ∇ o valor do melhor decrescimento de sub-custo, a probabilidade de aceitar uma pior solução em SA passa a ser

e−△′T , onde △′= △ · e

−θ ·∇ △ ,

sendoθ é um parâmetro. Quando ∇ = 0 temos △′= △, e △→ 0 quando ∇ é muito maior que

△. Isto é, há um acréscimo na probabilidade de aceitar uma solução pior, se o valor da piora é menor que a capacidade de melhora já verificada. Os melhores resultados foram obtidos com

θ = 1.

Para que fosse possível uma melhor comparação com SA, TA sem SGS foi implementado usando como critério de decréscimo para Tha mesma razão de resfriamento de SA, e a condição para aceitar uma solução pior foi: e−△Th < 0, 5. Já o modelo TA com SGS, foi implementado

substituindo nesta fórmula △ por △′, o mesmo já definido para SA.

Os resultados indicaram uma melhora nos experimentos com SGS e que esta melhora não está diretamente associada ao efeito da probabilidade envolvida em SA, já que esta melhora também ocorre em TA.

Colorni, Dorigo e Maniezzo em [CDM98] 1998 comparam o desempenho de várias meta- heurísticas (SA, BT e AG, mais adaptações). O conjunto das várias restrições do problema é dividido em quatro conjuntos, considerados em três níveis de importância: condições para viabilidade, condições de gerenciamento (que incluem os requerimentos didáticos e os organi- zacionais) e condições que dizem respeito a cada professor (requerimentos pessoais). A função objetivo expressa uma hierarquia entre estes requerimentos dando bem maior peso a não satis- fação dos requerimentos para viabilidade. As soluções são modeladas pela estrutura de matriz já citada, com linhas correspondendo a professores e colunas a horários, e os movimentos de

busca são a troca dos símbolos de dois horários ou de dois dias de um professor (usados por

SA e BT).

A função de aptidão fap foi definida para AG por um procedimento dinâmico linear. Em cada população são verificados o mínimo e máximo valor encontrados da função objetivo, estes valores determinam um intervalo mapeado linearmente até o intervalo determinado pelos valores MAXFIT e MINFIT da função aptidão (constantes do modelo). Com o mínimo valor da função objetivo correspondendo ao valor de MAXFIT e o máximo valor de fob j ao valor de MINFIT. Assim ao maximizar a função aptidão estamos minimizando a função objetivo. E, além disso, consegue-se discriminar soluções com valores de fob j muito próximos. Observe a figura 5.1.

A operação de recombinação é feita, conforme uma probabilidade, para cada par de indiví- duos pais da seguinte maneira: são selecionadas as n linhas com melhor avaliação parcial para a função aptidão do melhor indivíduo do par, estas são combinadas com as linhas do outro indiví- duo do par correspondentes às restantes para formar o primeiro “filho”, e o segundo é formado pelas linhas não usadas de ambos. A operação de mutação usada é a k-mutação, mutação de ordem k, que consiste na troca de k consecutivos símbolos por outros k consecutivos símbolos

Outline

Documentos relacionados