• Nenhum resultado encontrado

META-HEURÍSTICAS E AUTOMAÇÃO DE HORÁRIOS ESCOLARES 75 papel principal de reparador genético, e isto pode ser feito de forma dirigida por informações

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 75 papel principal de reparador genético, e isto pode ser feito de forma dirigida por informações

relativas a violação de restrições por genes (VDM), ou através de BT. Neste segundo caso são usadas duas listas tabu, uma longa e outra curta, para evitar que estados de genes ou mutações se repitam. O algoritmo híbrido com AG e BT teve melhor desempenho que o algoritmo AG simples e o AG com VDM.

Um trabalho bem diferente dos demais é o de Geraldo Ribeiro Filho e Luiz Lorena [FL01] que trás um modelo chamado Algoritmo Genético Construtivo (AGC). Nele o problema é considerado um clustering problem. O interesse maior é formar p grupos com pares de profes- sor e turma que podem ter aula ao mesmo tempo, sem conflito, cada grupo correspondendo a um período. Ao invés de indivíduos são avaliados “esquemas e estruturas” numa base comum, e são utilizadas duas funções objetivo nesta avaliação. Os pares (professor, turma) são repre- sentados por colunas com zeros e uns, com 1 nas duas posições que identificam o professor e a turma. Cada esquema é codificado por uma seqüência de símbolos 0, 1, e ♯, que tem a função de identificar colunas pertencentes a algum grupo, p colunas que identificam os p grupos, e colunas não tratadas no momento, respectivamente. As estruturas diferem dos esquemas por tratarem todas as colunas, não têm o símbolo ♯. Os operadores são definidos de forma bem particular.

Um algoritmo genético multiobjetivo chamado Nondominated Sorting Genetic Algorithm (NSGA) foi usado para tratar o problema em 2000 por Carrasco e Margarida Pato. Este mo- delo incorpora dois distintos objetivos, minimizar a insatisfação das restrições, para viabilidade e as relativas a características desejáveis, que dizem respeito às classes ou minimizar a insatis- fação das restrições que dizem respeito aos professores. Considera-se que as restrições para vi- abilidade dizem respeito ao problema globalmente, e por isso tem suas penalidades adicionadas aos dois objetivos simultaneamente.

A avaliação dos indivíduos com relação aos distintos objetivos segue o conceito de ótimo de

Pareto. Cada solução é classificada em termo de dominância por outra solução. Uma solução

é dita não dominada se não há qualquer solução entre as demais melhor ou igual em todos os objetivos e melhor em pelo menos um. O que significa que se uma solução for melhor com respeito a algum objetivo precisa piorar com relação a algum outro.

Pelo processo de “ranking” dado por Goldberg (1989), o valor de aptidão de uma solução é então determinado pelo relativo grau de dominância da solução. A frente de Pareto, formada pelas soluções não dominadas, recebe rank 1, as próximas não dominadas (uma vez desconsi- deradas as soluções já classificadas) rank 2, e assim sucessivamente até que todas tenham sido classificadas. Daí, para obter o valor de aptidão basta inverter os valores de rank.

Mas para evitar perda de informações e convergência para poucas soluções, foi usado um procedimento de fitness sharing, o valor da função aptidão passa ser o valor dado pelo processo de Goldberg dividido por um valor associado ao número de similares indivíduos com o mesmo rank.

A representação dos indivíduos usa matrizes cujas linhas correspondem a salas e colunas a horários, e as posições identificam lições, que neste caso são definidas pela(s) turma(s), profes- sor, duração (número de períodos), assunto e sala(s) possível (possíveis).

A seleção dos pares de indivíduos é randômica conforme os valores da função de aptidão. Após a recombinação os filhos substituem os pais na população. E alguns indivíduos são es-

colhidos randomicamente para sofrer alguma esporádica mutação. E nova avaliação da aptidão é realizada.

Antes de retomar o ciclo descrito no parágrafo anterior um procedimento é executado para guardar boas soluções. Existe um população elitista secundária. Nela são guardadas soluções não dominadas. Na população principal são identificadas soluções não dominadas, e estas são avaliadas quanto a similaridade com as soluções na população secundária. Se são suficiente- mente diferentes das que lá estão são candidatas a entrar neste conjunto, caso contrário não. Uma vez reunidas à segunda população é feita uma avaliação com relação a dominância, se novas soluções dominam outras, então estas dominadas são retiradas da população secundária. A recombinação gera um filho Aescolhendo entre 80 e 95% das lições de um pai, digamos A, pertencentes aos professores que tem melhor valor parcial da função objetivo relativa aos

professores, e as demais lições são tomadas do outro indivíduo pai B. É “guiado por professor”. O segundo filho Bé formado de forma semelhante de B e A, mas é “guiado por classe”. As

lições que tomadas do segundo pai promoveriam conflito com relação a representação, são alocadas noutra posição (sala, horário) possível.

A mutação se dá em 1% das lições. As lições escolhidas são retiradas da solução e um procedimento encontra a melhor maneira de realocá-las, com mínimo acréscimo da penalização total.

Foram feitos testes combinando a presença ou ausência da secundária população e a função de aptidão obtida pelo processo de Goldberg ou “fitness sharing”. Os melhores resultados foram obtidos na presença da população secundária e função aptidão de Goldberg, e também foi obtido o maior número de soluções não dominadas e número destas viáveis, mas com o grau de similaridade médio de 67%. Já a combinação de população secundária e “fitness shar- ing” obteve semelhantes bons resultados, segundo maior conjunto de soluções não dominadas e viáveis, e um grau de similaridade entre as soluções de 34%. O que permite uma maior variedade de opções para escolha da solução que mais agrada.

Nossa intenção com esta seção não foi cansar o leitor, mas trazer algumas informações da maneira como vem sendo tratado o problema de automação de horários escolares com meta- heurísticas. Quais adaptações foram reconhecidas necessárias ou eficientes para alcançar certos objetivos; comparações entre métodos, entre definições de movimentos, operações, parâmetros, estratégias de intensificação ou diversificação, . . . Enfim, trazer alguma familiaridade com o problema e a dinâmica usada em sua solução.

Nossa explanação não teve a pretensão de ser completa, seja com relação a totalidade dos trabalhos existentes neste campo, seja com relação a cada trabalho citado. Nem seguiu uma ordem cronológica. A ordem de apresentação dos trabalhos seguiu uma linha de discussão que buscou alcançar o objetivo citado no parágrafo anterior.

Agora certamente se farão mais claras as razões que determinaram várias de nossas es- colhas na tentativa de desenvolver uma ferramenta para tratar o problema. E também nossas perspectivas de futuros trabalhos.

C

APÍTULO

6

Outline

Documentos relacionados