Você está na página 1de 12

TCNICAS METAHEURSTICAS APLICADAS CONSTRUO DE GRADES HORRIAS ESCOLARES

Arnaldo Moura1, Rafael Scaraficci2, Rafael Silveira3, Volnei dos Santos4 Instituto de Computao UNICAMP Caixa Postal 6176, 13084-971 Campinas, SP {1arnaldo, 2rafael.scaraficci, 3rafael.silveira, 4volnei.santos}@ic.unicamp.br Resumo

Este trabalho lida com um problema de otimizao conhecido como agendamento acadmico (school timetabling). A abordagem testada sobre uma instncia do problema, derivada da realidade brasileira, tpica das escolas de ensino fundamental e mdio, pblicas ou particulares. O trabalho est embasado no uso de metaheursticas evolutivas (Algoritmos Genticos) e de busca local (Busca Tabu, GRASP), com a aplicao de tcnicas alternativas especficas para obter melhores resultados sobre a instncia do problema tratado (Path Relinking). Tais tcnicas foram alvo de vrios estudos e podem servir como referncia para novas pesquisas com problemas semelhantes. O trabalho visa tambm, atravs da criao de uma interface amigvel para usurios leigos, prover uma ferramenta til para instituies de ensino brasileiras, que atualmente dispem de poucas ferramentas para lidar com o problema e despendem grande quantidade de tempo para a montagem manual de seus horrios. Palavras-Chave: Agendamento Acadmico, Algoritmos Genticos, Busca Local, Hibridizao.

Abstract
This work treats the optimization problem known as the school timetabling problem. The approach was tested over real data, typical of a Brazilian high school establishment. The development was based on evolutive programs (using genetic algorithms) and local search (tabu search and GRASP) together with alternative heuristics (Path Relinking) when appropriate. By using the same problem instances it was possible to compare the results. In addition to the heuristics solvers, a friendly user interface was also implemented. The interface allows for non-technical staff to use the solvers, thereby greatly limiting the many hours of manual labor that are used today to produce adequate solutions for the problem. Keywords: Timetabling, Genetic Algorithms, Local Search, Hybridization. 1. Introduo

No incio de cada perodo letivo, surge um problema sutil, porm de grande relevncia para toda instituio de ensino: a alocao dos horrios dos professores e turmas de alunos. Na ausncia de uma ferramenta computacional para auxlio, o agendamento das atividades acadmicas uma tarefa laboriosa e que costuma consumir vrios dias, s vezes semanas, de esforo de um ou mais funcionrios que ficam encarregados exclusivamente desta funo. A resoluo manual deste problema baseia-se num processo de tentativa e erro que consome muito tempo e que, na maioria das vezes, produz solues de baixa qualidade. Uma agenda de horrios ruim prejudica a instituio de ensino em vrios sentidos: alm do transtorno recorrente a cada perodo letivo, alunos e professores so prejudicados, insatisfeitos com uma distribuio ruim de suas cargas horrias, tendo excessivas aulas duplas, janelas de horrios, poucos dias-livres, entre outras distores. A principal dificuldade apresentada por este problema, conhecido na literatura como school timetabling, encontra-se no fato de sua natureza combinatria. Analisando sob a tica de um problema de otimizao, o agendamento, apesar de j ter sido bastante explorado, continua sendo um desafio. Isto se deve a vrios motivos, tais como a natureza combinatria do mesmo, a ampla gama de variaes que pode assumir devido peculiaridade das diferentes instituies de ensino, alm das variaes dos prprios sistemas de ensino em diferentes pases. Dadas estas caractersticas, o emprego de metaheursticas na busca de solues para este problema uma abordagem vivel e que tem-se revelado bastante eficaz [CL98, SCH96], superando, inclusive, mtodos tradicionais de otimizao que envolvem processos mais determinsticos, como o uso de programao linear e inteira e programao por restries.

Neste trabalho, abordamos o problema de agendamento atravs do uso de trs heursticas distintas: uma evolutiva usando algoritmos genticos; outras duas de busca local usando busca tabu e GRASP. Estas duas ltimas foram implementadas em duas verses distintas: uma implementao pura e outra hibridizada com o path relinking. No caso do algoritmo gentico propem-se uma modificao na estrutura do algoritmo tradicional o que ocasionou uma melhora substancial na qualidade da soluo. Aplicando diversas tcnicas na soluo de um mesmo problema, permite comparar a eficcia e a eficincia das tcnicas aplicadas a este problema especfico, alm de comparar as diferentes abordagens de uma mesma tcnica, verificando os possveis ganhos obtidos com o uso da hibridizao. Um aspecto original desse trabalho est relacionado ao fato de que os horrios de incio de aulas no ensino fundamental e mdio no coincidem. Isso fora o tratamento do problema usando-se mais de uma grade horria, para evitar colises nos horrios de professores que lecionam nos dois nveis de ensino. interessante salientar, tambm, que na literatura consultada para a realizao deste projeto no foram encontrados indcios de que um problema de agendamento anlogo a este tivesse sido modelado. Alm dos fatores relativos aplicabilidade, o trabalho encontra tambm um vis na pesquisa e comparao de tcnicas diversas aplicadas na resoluo do problema. O enfoque dado s tcnicas heursticas (Algoritmos Genticos, Busca Tabu e GRASP) deveu-se aos poucos resultados satisfatrios obtidos pelo grupo na utilizao de tcnicas determinsticas, no caso Programao por Restries. Alm disso, para que uma ferramenta aplicada na resoluo do problema de agendamento possa ser amplamente utilizada por leigos nas instituies de ensino, necessrio oferecer uma interface grfica amigvel para os usurios. Com a unio desses dois fatores, um resolvedor heurstico mais uma interface amigvel, possvel dispor de um sistema completo que pode ser usado na resoluo de um problema que toma muitas horas de trabalho manual, na grande maioria das instituies de ensino brasileiras [OP03]. Este artigo encontra-se organizado da seguinte forma: na seo 2 detalhada a instncia do problema de agendamento tratado, com as peculiaridades inerentes ao modelo de ensino brasileiro. Na seo 3 faz-se a descrio da abordagem evolutiva, usando algoritmos genticos, para o problema. A seo seguinte trata das tcnicas de busca local (Busca Tabu, GRASP e Path Relinking) usadas para resolver o problema. Na quinta seo detalhamos os resultados obtidos nas implementaes e apresentamos uma comparao de desempenho e qualidade dos mtodos utilizados. A seo 6 ilustra uma viso geral do sistema de agendamento compreendendo os resolvedores e a interface grfica do mesmo. 2. O Problema de Agendamento Escolar O problema abordado neste artigo, em sua forma geral conhecido por timetabling, de larga aplicabilidade nas mais variadas reas, que vo desde a indstria, onde realizado o agendamento dos horrios dos funcionrios e recursos, at as empresas prestadoras de servios, como escolas e universidades. At hoje no se conseguiu construir um sistema geral para busca de solues do problema de timetabling com eficincia comprovadamente polinomial o que no causa surpresa, uma vez que o mesmo est incluso na classe dos problemas NP-Difceis. Esta dificuldade tpica dos problemas combinatrios, e o principal motivo disto a enorme diversidade e complexidade das restries que devem ser satisfeitas em cada caso. No caso da variante do problema conhecida como agendamento escolar (citado na literatura como school timetabling), as caractersticas variam de pas para pas, dadas as peculiaridades dos sistemas educacionais de cada um. Alm disso, ocorrem tambm variaes dentro de um mesmo pas, como facilmente verificado no Brasil. A instncia do problema de agendamento usada neste trabalho a de uma tpica escola de ensino fundamental e mdio do estado de So Paulo. Em particular, sero usadas as especificaes do Colgio Stella Maris, localizado na cidade de Santos, e de colgios pblicos da regio de Baro Geraldo, na cidade de Campinas. Mas o modelo facilmente expansvel para escolas de outras localidades e at mesmo para algumas instituies de ensino superior. Em resumo, o problema consiste em distribuir os perodos das aulas de tal modo que nenhum professor ou classe esteja envolvido em mais de uma aula num dado perodo e de forma que cada professor ministre um nmero especificado de aulas para cada classe. Estes so exemplos de restries fortes do problema, ou seja, restries que no podem ser negligenciadas. Outra restrio forte a que diz respeito ao preenchimento dos horrios de uma turma, que garante a inexistncia de espaos vazios, com exceo dos intervalos, entre uma aula e outra. Existem ainda outras restries como, por exemplo, atender s

1320

preferncias de horrios dos professores, evitar muitas aulas consecutivas de uma mesma matria ou ministradas por um mesmo professor em uma dada classe, evitar perodos ociosos nos horrios dos professores, entre outras. Estas ltimas so classificadas como restries fracas e podem ser violadas, desde que com parcimnia e quando houver necessidade. No sistema desenvolvido, presume-se que a carga horria de professores e turmas j vem alocada. Essa a situao real dos colgios tomados como exemplo e tambm de grande parte das escolas de ensino fundamental e mdio do Brasil. Uma descrio formal, embora restrita, do problema de agendamento escolar apresentada em seguida. Temos um conjunto com m turmas {c1, ..., cm}, um conjunto com n professores {p1, ..., pn} e so considerados os perodos 1, ..., t. dada tambm uma matriz Rmxn de inteiros no-negativos onde a clula rij o nmero de aulas semanais que o professor pj deve ministrar para a turma ci. As disponibilidades de professores e turmas dada por duas matrizes binrias auxiliares Pnxt e Cmxt, respectivamente, onde pjk = 1 (e o correspondente cik = 1) se o professor pj (ou a respectiva turma ci) est disponvel no perodo k, e pjk = 0 (ou cik = 0) caso contrrio. Ainda, Dmxt uma matriz binria tal que se dik = 1 a turma ci deve estar necessariamente em aula no horrio k, e dik = 0 caso contrrio [SCH96]. A formulao visa buscar xijk (i = 1, ..., m; j = 1, ..., n; k = 1, ..., t) tais que:

x
x
j =1

k =1 n

ijk

= rij , onde (i = 1, ..., m; j = 1, ..., n) (1)


cik , onde (i = 1, ..., m; k = 1, ..., t) (3)

x
x
j =1

i =1 n

ijk

p jk , onde (j = 1, ..., n; k = 1, ..., t) (2)


= d ik , onde (i = 1, ..., m; k = 1, ..., t) (4)

ijk

ijk

A varivel binria xijk recebe o valor 1 quando o professor j ministra aula para a turma i no perodo k. A restrio (1) refere-se ao cumprimento da carga horria de cada professor tal como est especificado na matriz Rmxn. A restrio (3) garante que cada turma s tem aulas em perodos disponveis. A restrio (4) fora que haja aulas nos perodos para tal designadas. No trabalho, estas trs restries fortes so evitadas pela prpria modelagem adotada. As demais restries fortes do problema so: Aulas Simultneas: a restrio representada em (2), que indica que um dado professor pode ministrar no mximo uma aula num dado horrio disponvel. Indisponibilidades: tambm representada por (2), a qual significa que um professor s pode ministrar aulas caso esteja disponvel no horrio especificado. Aulas N-Uplas: so proibidas aulas n-uplas (n aulas no mesmo dia, seguidas ou no) para n > 2, se o nmero de aulas da matria na semana for maior que 2. Caso o nmero de aulas seja igual a 2 so proibidas aulas duplas num dado dia. Podemos listar as seguintes restries fracas, que foram salientadas como mais significativas pelas escolas tomadas como exemplo: Janelas: minimizar o nmero de janelas no horrio dos professores. Preferncias: satisfazer horrios preferncia dos professores, tanto horrios fixos como preferncias por dias livres na semana. Aulas Geminadas: agrupar as aulas duplas existentes. Espalhamento: distribuir as aulas de maneira equilibrada durante a semana. Aulas Coordenadas: de interesse da escola que algumas aulas sejam coordenadas entre duas ou mais turmas distintas, mantendo-as num mesmo horrio. No caso do Colgio Stella Maris, devemos destacar dois pontos importantes a serem observados e que tornam este problema de agendamento um tanto mais complicado: (1) as janelas de professores so consideradas indesejveis j que a escola dever pagar pelos horrios ociosos dos seus professores. Deste modo, deve-se dar maior prioridade eliminao deste tipo de violao tal qual feito para as restries fortes; (2) os horrios de aulas das turmas de ensino fundamental e mdio no esto alinhados, isto , os horrios de incio e fim das aulas no so iguais para turmas de nveis diferentes. Assim, existe mais de uma grade de horrio neste colgio. Por este motivo, deve-se tomar um cuidado especial ao se fazer o agendamento, j que existem professores que lecionam disciplinas em turmas com grades distintas, evitando sobreposies de perodos de aula na alocao dos horrios destes professores. Por este motivo, o sistema resolvedor desenvolvido prope uma modelagem utilizando o que denominamos modelo

1321

multigrades. Isto significa que a cada turma associada uma grade de horrios, permitindo que o resolvedor avalie as possveis sobreposies nos horrios dos professores. Por fim, uma soluo do problema de agendamento dada por uma matriz Xmxnxt de valores binrios atribudos s variveis xijk, onde 1 i m, 1 j n, 1 k t. Denotamos uma soluo por {xijk} e o conjunto de todas as solues por . A cada soluo {xijk} atribumos penalidades positivas quando violam alguma das restries apresentadas anteriormente. A forma como as penalidades so atribudas um dos importantes fatores de estudo, e que determinam o sucesso da heurstica empregada. A funo objetivo, F, mapeia cada soluo {xijk} na soma das penalidades atribudas a essa soluo. A heurstica usada, ento, procura uma soluo {xijk} onde F({xijk}) seja mnimo, entre todas as solues possveis. Diversas abordagens para o problema de agendamento escolar utilizando tcnicas determinsticas e heursticas podem ser encontradas na literatura [CL98], vrias dessas obtendo relativo sucesso quanto aos resultados, principalmente em respeito s tcnicas heursticas. Alguns fatores motivaram o desenvolvimento de uma nova abordagem ao problema, proposta neste trabalho. Dentre esses fatores, podemos citar: Instncias especficas: as aplicaes desenvolvidas para resoluo dos problemas de agendamento tratam de instncias especficas, geralmente focadas nas diretrizes e restries tpicas do local da pesquisa. A maioria das pesquisas neste campo encontra-se nos Estados Unidos e Europa, ficando o Brasil com relativamente pouca diversidade de trabalhos na rea. Restries reduzidas: mesmo os projetos aplicados a instncias brasileiras do problema apresentam diversas limitaes quanto s restries tratadas. Um exemplo tpico a abordagem multigrade dada ao projeto, que no foi encontrada na literatura pesquisada pelo grupo. Tal abordagem fornece uma grande flexibilidade s instituies de ensino na definio de seus horrios, e uma ferramenta que leve em considerao esse fato de grande valia em tais instituies. 3. Programas Evolutivos e Algoritmos Genticos Os Programas Evolutivos, em especial os Algoritmos Genticos (ou AGs), so uma classe de heursticas que utilizam mtodos probabilsticos, inspirados em conceitos da teoria da Evoluo Natural para resoluo de problemas de otimizao combinatria [CRR97, FAN94, MIC96]. Basicamente, para encontrar uma soluo s de um problema de otimizao, considerado um conjunto P de n solues {s1, s2, ... , sn}, sendo cada soluo si chamada de indivduo e P chamado de populao. Partindo-se de uma populao inicial P0, cujos indivduos so gerados por mtodos determinsticos ou aleatrios, o algoritmo simula ciclos de evoluo, no qual novas populaes Pi so criadas atravs do cruzamento (crossover) de informaes de diferentes indivduos da populao Pi-1. Para isso tambm so realizados mutaes e processos de seleo para, respectivamente, garantir a diversidade da populao e tentar privilegiar os indivduos melhor qualificados por uma funo de avaliao, que destaca as melhores solues. As motivaes para a aplicao de AGs no projeto so as mais diversas. Alm dos fatores j citados na seo 2, a implementao do algoritmo gentico deste projeto foi desenvolvida com diversas experimentaes sobre o algoritmo tradicional [MIC96], a fim de se obter uma melhor qualidade das solues e um melhor desempenho computacional. Algumas dessas modificaes podem servir como ponto de pesquisa para outros trabalhos que utilizem AGs aplicados a problemas da mesma natureza. 3.1. Representao e Operadores Para a construo de um algoritmo gentico eficiente, vrios pontos devem ser levados em considerao: a estrutura de dados que representa os indivduos (cromossomo), os operadores genticos definidos (crossover e mutao), como os indivduos sero avaliados e qual o processo de seleo a ser aplicado. Esses fatores esto intimamente relacionados natureza do problema, principalmente no que diz respeito aos cromossomos e operadores genticos. Isso implica num esforo de pesquisa em representaes e operaes sobre as mesmas que sejam eficientes e preservem a idia original do algoritmo: novas e melhores solues do problema podem ser obtidas mesclando-se informaes de solues j encontradas. Os cromossomos devem ser concebidos de forma a representar todas as solues factveis do problema com um mnimo de violaes de restries. No problema de agendamento, matrizes de horrios so comumente utilizadas para representar as solues, por serem uma forma intuitiva e de fcil manipulao. No caso do algoritmo desenvolvido nesse trabalho, o cromossomo reflete o modelo multigrade discutido na

1322

seo 2 e constitudo de matrizes paralelas Mcxt, cada qual representando uma grade envolvendo c turmas em t horrios de aula, onde so alocadas as matrias. Todas as grades so interligadas entre si, j que um mesmo professor pode lecionar matrias alocadas em grades diferentes. O modelo multigrade acrescenta um grau de complexidade elevado ao algoritmo, uma vez que difcilmente pequenas alteraes realizadas nos cromossomos, como mutao e crossover, no gerem infactibilidades nas solues. Para evitar tal problema, dois modelos so comumente propostos na literatura [MS03]: a eliminao de indivduos infactveis na populao e a correo das solues infactveis geradas. Ambas as solues restringem o espao de busca do algoritmo, o que fez que com que neste projeto fosse proposta uma forma hbrida de se tratar o caso: os indivduos infactveis continuam existindo na populao, recebendo penalidades mais altas pelas violaes de restries fortes e sofrendo aplicao de operadores de mutao corretiva, para tentar eliminar gradativamente da populao os genes que criam tais violaes. Os operadores genticos, que so parte importante de um AG, receberam uma abordagem especial neste trabalho. Para o operador de crossover, responsvel pela miscigenao de informaes para a gerao de novos indivduos, foi adotada uma abordagem via o chamado crossover uniforme, que apresentou melhores resultados do que os operadores tradicionais de crossover. Este operador, no caso deste projeto, gera apenas um descendente a partir de dois indivduos progenitores. Analisando cada turma da escola, alocada para o novo indivduo a turma correspondente com menor carga de violao de penalidades dentre os progenitores. Com isso, as boas alocaes de horrios de turmas so mantidas na descendncia. Mas devido alta carga de restries fortes definidas para o problema e ao fato de que indivduos infactveis podem ser criados a partir desse processo, foi elaborada a proposta da mutao corretiva. Este operador de mutao age como um operador de mutao tradicional, que aplicado com determinada probabilidade sobre o indivduo e ocasiona uma modificao nas informaes contidas no mesmo. A diferena na abordagem deste projeto est no fato da correo: ao fazer a modificao, o operador procura escolher locais onde ocorre uma violao forte do problema, como um professor lecionando aulas simultaneamente. Atravs de um mtodo heurstico, o operador realoca uma das aulas problemticas em outro horrio, fazendo com que o indivduo no possua mais aquela violao. A diferena na abordagem via mutao corretiva daquela que usa procedimento de correes de indivduos est no carter probabilstico da mesma: ela s aplicada em uma parcela dos indivduos, e sobre uma nica violao de cada vez, ao contrrio dos algoritmos de correo tradicionais. O que se percebe na prtica que a quantidade de violaes existentes nos indivduos da populao diminui consideravelmente com o passar das geraes, sem que isso impossibilitasse a investigao de determinados locais no espao de busca. 3.2. Ciclo de Evoluo Definidos os cromossomos, os operadores genticos e o processo de seleo, o algoritmo repete um ciclo onde uma nova populao Pi+1 gerada a partir de uma populao atual Pi, atravs de processos de crossover entre indivduos selecionados da populao. A seleo de tais indivduos feita atravs da chamada Seleo por Torneio [MIC96], que Figura 1: Diagrama esquemtico apresentou melhores resultados neste caso especfico Mutao do AG, com dois processos de do que a tradicional Seleo por Roleta, encontrada Corretiva seleo e mutao corretiva. na literatura. A Seleo por Torneio escolhe aleatoriamente 2 indivduos da populao, fazendo com que aquele que possui menor valor de penalidades seja selecionado para reproduo. Gerao Progenitores Gerao No algoritmo proposto, realizado um outro i + Desc. i+1 processo de seleo de indivduos aps a gerao dos descendentes, garantindo a sobrevivncia apenas das proles mais adaptadas ao meio. Dessa forma, os Seleo por Torneio indivduos progenitores disputam com os descendentes para poderem fazer parte da nova gerao. Esse procedimento dificulta a permanncia na populao de indivduos com muitas violaes de restries do problema.

1323

Diversos outros aspectos do algoritmo so discutidos de forma detalhada em [SAN03]. Mesmo com a grande quantidade de restries fortes do problema, a robustez e flexibilidade do algoritmo foram fatores motivadores para a implementao do mesmo no projeto. 4. Heursticas de Busca Local De modo geral, as heursticas de busca local so embasadas em processos que fazem o algoritmo inspecionar o espao de solues executando movimentos sobre a soluo corrente. O que diferencia entre as diferentes metaheursticas desta classe a metodologia aplicada para fazer esta inspeo, isto , as estratgias de intensificao e diversificao aplicadas, dentre outras tcnicas especficas de cada abordagem. Nesta seo iremos apresentar trs destas tcnicas de busca local, as quais foram aplicadas ao problema de agendamento descrito: Busca Tabu, GRASP e Path Relinking [GL97, RR02, GLM00]. importante citar que, no nvel de implementao deste projeto, estas trs tcnicas utilizam estruturas de dados comuns, diferindo apenas no algoritmo de busca de cada uma. A estrutura que modela uma soluo para o problema emprega um conjunto de matrizes que permitem diferentes vises da mesma soluo, alm do uso de estruturas para guardar os valores intermedirios das penalidades recebidas por cada professor e turma. Estas especializaes nas estruturas de dados propiciaram um alto nvel de performance do algoritmo, especialmente no que se refere ao clculo da funo objetivo. Outro aspecto fundamental na construo de um algoritmo de busca local definir a estrutura de sua vizinhana. Isto feito descrevendo-se os tipos de movimentos possveis que podero ser executados sobre uma soluo de modo a gerar um vizinho da mesma. Foram definidos dois tipos diferentes de movimentos. O movimento simples de troca (swap), que representado por uma qudrupla de inteiros <t, g, slot1, slot2>. Esta qudrupla representa um movimento que troca o par professor/matria alocado no slot1 da turma t na grade g pelo par professor/matria alocado no slot2 desta mesma turma. Observe que este tipo de movimento no permite que sejam violadas as restries de carga horria de turmas e professores, evitando entrar em certas regies infactveis do espao de busca. Todavia, este tipo de movimento pode levar a um vizinho pior do que a soluo atual. Uma forma encontrada para remediar esta limitao, porm sem garantia de sucesso, foi a criao do movimento duplo, que consiste de uma seqncia de dois movimentos simples, sendo que o segundo movimento tem um carter corretivo. A idia baseia-se em gerar um movimento simples e verificar se este movimento causa a violao de alguma restrio no presente na soluo corrente. Em caso afirmativo, gera-se um novo movimento simples procurando corrigir esta violao. A principal vantagem desta abordagem a sua capacidade de escapar de mnimos locais. Pois, uma vez estagnado o processo de busca em um mnimo local, permitido que o primeiro movimento piore a soluo, ao passo que o segundo movimento corrija a penalidade, melhorando a soluo. O fato de que todos os resolvedores detalhados neste trabalho terem sido implementados usando programao orientada a objetos (em linguagem C++), permitiu uma fcil estruturao do projeto e a possibilidade de reutilizao dos componentes desenvolvidos no projeto, a exemplo do que foi feito com os algoritmos de busca local, que compartilham as principais estruturas de dados entre si. 4.1. Busca Tabu A Busca Tabu (BT) uma metaheurstica proposta por Fred Glover para resolver problemas de otimizao combinatria. Trata-se de um mtodo de busca local inteligente que procura evitar que a busca estacione em um timo local. Para conseguir este efeito, a heurstica faz uso de estruturas de memria bastante flexveis que so estrategicamente guiadas por um agressivo processo de busca no espao de solues. O algoritmo realiza busca no espao de solues com o intuito de, a cada iterao, encontrar o melhor vizinho da soluo corrente e que no seja tabu, ou seja, proibido. Dada a flexibilidade desta metaheurstica, possvel relaxar esta condio de tabu-ativo usando-se um critrio de aspirao. Alm disso, o processo de busca no se d de forma esttica, pois ocorrem alternncias entre estratgias de intensificao e diversificao ao longo das iteraes [GL97]. A lista tabu utilizada constitui-se de uma lista simples que armazena os L ltimos movimentos realizados, os quais tornam-se tabu-ativos por L iteraes. Esta lista implementada usando-se uma tabela de espalhamento que permite atribuir e verificar o estado tabu do movimento em tempo de execuo constante. Outro aspecto importante que o algoritmo pode variar o comprimento desta lista de forma

1324

dinmica, moldando-a de acordo com a regio do espao de busca que est sendo analisada. Devido a isto, a heurstica emprega um mecanismo de relaxao adaptativa, reduzindo o comprimento da lista em regies promissoras, tornando a busca menos restritiva e, em contrapartida, aumentando o tamanho da lista quando a regio que est sendo explorada mostra-se pouco promissora. O critrio de aspirao empregado para relaxar a condio de tabu-ativo permite a execuo de um movimento tabu caso ele promova um ganho quantitativo no valor da funo objetivo. O algoritmo usado pelo ncleo heurstico do resolvedor opera em ciclos iterativos compreendendo duas fases: uma fase que aplica uma estratgia de diversificao e outra que faz uso de um mecanismo de intensificao. Estas duas fases so implementadas em forma de um lao iterativo cujo critrio de parada um dado nmero de solues sem melhorar a agenda atual: Diversificao: aplica um mtodo de busca tabu simples aliado a uma forte estratgia para a criao de uma lista de movimentos candidatos. Nesta fase possvel que um dado movimento que seja executado degenere a qualidade da soluo atual, j que a execuo depende apenas da lista tabu e do critrio de aspirao. Isto possibilita o algoritmo escapar de vizinhanas pouco promissoras. Intensificao: aplica uma busca local no-ascendente aliada aos efeitos da lista tabu e ignorando o critrio de aspirao. Esta fase no permite movimentos que aumentem o valor da funo objetivo. A aplicao da alternncia entre estas duas metodologias operando em ciclos obteve timos resultados, porm ela dependente do balanceamento entre essas duas fases [SCH96]. Trs parmetros do algoritmo so associados a este balanceamento: nmero de iteraes sem melhora da fase de diversificao e da fase de intensificao e o comprimento da lista de movimentos candidatos. Vrios testes foram realizados para encontrar valores adequados para estes parmetros. Maiores detalhes podem ser encontrados em [SM03]. 4.2. GRASP (Greedy Randomized Adaptive Search Procedure) GRASP um mtodo iterativo, proposto por Resende e Ribeiro [RR02], onde cada iterao consiste basicamente de duas fases: uma fase de construo, onde uma soluo gerada de maneira incremental via um procedimento guloso-aleatrio, e de uma fase de busca local, na qual um mnimo local pesquisado na vizinhana da soluo construda. O mtodo retorna a melhor soluo encontrada ao longo das iteraes. Para a construo de uma soluo inicial procede-se de maneira anloga a um construtor manual de quadros de horrios, buscando agendar as aulas mais difceis aos perodos mais crticos de maneira que viole o menor nmero de restries. A dificuldade em se agendar uma aula determinada por uma funo que considera as indisponibilidades e o nmero de aulas ministradas pelo professor, alm do fato de a aula ser coordenada e do professor atuar em mais de uma grade. Com relao aos perodos de aula, a criticidade determinada pelo nmero de professores disponveis para aquele horrio. Quanto menos professores disponveis, mais crtico o perodo. O carter probabilstico incorporado atravs de uma seleo aleatria da prxima aula a ser adicionada a soluo, a partir de uma lista restrita de candidatos (LCR), a qual formada pelas aulas de mais alta criticidade, sendo o seu tamanho regulado por um parmetro conforme descrito em [RR02]. Uma vez selecionada uma aula, procura-se agend-la ao perodo mais crtico de forma que viole o menor nmero de restries. Em seguida, atualiza-se a LCR e a lista de perodos crticos, visando incorporar as mudanas oriundas do agendamento da ltima aula. Procede-se desta maneira, at que todas as aulas tenham sido agendadas. Para refinar as solues construdas utiliza-se um mtodo randmico no ascendente (RNA) que utiliza movimentos hbridos (simples e duplos). A idia consiste, basicamente, em gerar um movimento duplo md, composto por dois movimentos simples m1 e m2, e escolher o melhor movimento dentre m1 e md. Esta tcnica aceita tanto vizinhos de qualidade superior como de qualidade igual soluo corrente, permitindo encontrar caminhos de descida que passem por regies planas. No entanto, a principal vantagem deste mtodo a sua capacidade de ultrapassar mnimos locais, em virtude de poder executar movimentos duplos. A busca interrompida aps um dado nmero de iteraes sem melhora no valor da funo objetivo. 4.3. Path Relinking O path relinking (PR), em sua forma clssica, uma busca determinstica que combina solues de elite obtidas de uma populao. Esta busca gera um caminho, i.e. uma seqncia de solues, entre as

1325

solues de elite. O que se espera que neste caminho que leva de uma soluo a outra, possamos encontrar solues de melhor qualidade que as solues iniciais [GLM00]. Porm, importante ressaltar que o PR no uma heurstica que pode ser usada independentemente pois o mesmo precisa, em sua inicializao, de solues de boa qualidade que devem ser geradas por outros mtodos. Por isso, neste projeto, as implementaes que envolvem esta heurstica so hibridizaes com busca tabu ou GRASP. No path relinking, os caminhos so gerados entre o par de solues (s1, s2) do conjunto E de solues de elite. O ponto inicial do caminho percorrido pela busca a soluo s1 (denominada soluo inicial) e o ponto final a soluo s2 (dita soluo guia). Na nossa abordagem do path relinking, os atributos comuns entre s1 e s2 nunca so modificados, enquanto que os atributos que fazem estas solues diferir so modificados durante o caminho, minimizando as diferenas medida que nos aproximamos da soluo guia. Mais precisamente, o caminho que liga as solues s1 e s2 a seqncia de solues (factveis ou no) a seguir: s1 = m0, m1, m2, ..., mp, mp+1 = s2 k+1 PR k PR onde m N (m ), sendo N a vizinhana selecionada para o path relinking, de modo que a cada iterao do PR, as solues geradas durante o caminho vo ficando cada vez mais prximas da soluo final, dado algum critrio para o clculo de uma distncia d entre duas solues, baseando-se em um ou mais atributos da soluo. De fato, ao fim do caminho de ligao devemos ter d = 0. Na abordagem implementada para o problema de agendamento tratado, o atributo selecionado para o clculo da distncia entre duas solues a alocao de uma aula, representada pela qudrupla <t, g, s, m>, que indica que a matria m est alocada no perodo s para a turma t da grade g. Assim, cada movimento de troca simples procura minimizar a diferena entre as duas solues nas extremidades do caminho. Dessa forma, a heurstica modifica progressivamente as matrizes da soluo inicial fazendo-as ficarem cada vez mais similares com as matrizes da soluo guia. Dada a dificuldade de manipular matrizes diretamente, estas foram separadas em n vetores e, deste modo, pode-se ligar as solues fazendo-se a ligao individual de cada um dos vetores. Foram projetadas duas abordagens distintas do PR, diferindo apenas na forma como as matrizes so divididas para gerar os vetores: PR-Linha: as matrizes so divididas em linhas (que representam as turmas de alunos) e o PR aplicado a estas linhas que so selecionadas aleatoriamente, uma de cada vez; PR-Coluna: similar tcnica anterior, porm usa como vetores as colunas das matrizes, que representam os horrios de aulas dos alunos. O PR clssico vm obtendo bons resultados no tratamento de problemas combinatrios clssicos, tais como job shop scheduling e roteamento de veculos [GLM00]. Porm, o agendamento possui uma vizinhana muito extensa fazendo-se necessrio modificar a abordagem tradicional de modo a adequ-la a este problema. Primeiramente, computacionalmente invivel fazer uma busca que retorne o melhor movimento possvel para se executar o prximo passo do PR. Assim o que se faz encontrar um movimento de qualidade razovel e execut-lo. Mesmo assim, a adoo deste mtodo faz com que as solues intermedirias geradas possuam infactibilidades, inviabilizando a construo de uma nova soluo de elite durante o caminho. Assim, a principal modificao adotada no PR aplicado neste projeto Figura 2: Diagrama Esquemtico do PR. o emprego de buscas locais durante o caminho da busca. Como j explicitamos, o PR implementado possui vrias fases, uma para aproximar cada vetor proveniente das matrizes que contm a soluo. Ao final, de cada uma dessas fases realizada uma busca local com um dado nmero I de iteraes. A soluo que foi gerada pelas I iteraes de busca local comparada com a atual soluo elite, tomando seu lugar caso seja de melhor qualidade. Testes preliminares demonstraram que as melhores solues obtidas usando o PR so, quase sempre, encontradas nas proximidades dos pontos extremos do caminho, isto , nas primeiras ou ltimas fases do PR. Baseando-se neste fato, julgou-se desnecessrio o emprego de uma forte busca local nas solues

1326

intermedirias mais afastadas das extremidades. Esta observao economiza bastante tempo de processamento evitando buscas desnecessrias em regies pouco promissoras. Assim, o algoritmo usa um parmetro que indica a mxima distncia dos extremos at a qual se podem realizar fortes processos de busca local. Um resumo esquemtico do PR desenvolvido neste trabalho pode ser visto na figura 2. O uso do path relinking, em geral, est atrelado a uma outra tcnica de otimizao j que o mesmo exige que solues de boa qualidade lhe sejam passadas como parmetro para a realizao da busca. No caso deste trabalho, o PR foi hibridizado com as outras duas metaheursticas de busca local, a Busca Tabu e o GRASP. Esta hibridizao deu-se de duas formas distintas: (1) o uso do PR como uma tcnica de psotimizao das solues obtidas pela BT e pelo GRASP; neste caso so passadas duas solues geradas por estas tcnicas e realizado um PR bidirecional (fazendo do caminho da soluo s1 at s2 e depois, inversamente, da soluo s2 s1) sobre as mesmas; (2) a hibridizao interna com as duas tcnicas de busca, isto , o PR aplicado sobre solues obtidas em iteraes intermedirias da busca tabu e do GRASP. Na busca tabu, a hibridizao interna deu-se da seguinte maneira: relembrando que durante a BT mantida apenas uma soluo de elite, e que quando encontrada uma nova soluo de melhor qualidade esta substitui a soluo de elite atual, a modificao que foi feita para a incluso do PR que, ao invs de apenas substituirmos a soluo de elite anterior pela atual, faz-se, antes disso, um PR bidirecional entre as duas. Ao final, se foi obtida uma soluo ainda melhor, essa que vai substituir a soluo de elite corrente. Para o GRASP, utilizou-se uma idia anloga empregada para a busca tabu, sendo que a cada iterao GRASP, aplica-se um PR bidirecional entre a melhor soluo obtida at a iterao anterior e a soluo produzida pela iterao corrente. Caso seja encontrada uma soluo de qualidade superior em relao s demais solues, esta nova soluo passa a ser a soluo de elite. 5. Resultados Ao longo de todo o trabalho de desenvolvimento do sistema foram realizadas vrias sries de testes para possibilitar a definio dos melhores parmetros a serem adotados pelos respectivos resolvedores. Porm, existe uma vasta quantidade de parmetros aos quais as diferentes tcnicas esto sujeitas. Devido a isto julgou-se desnecessrio fazer aqui uma anlise individual destes parmetros. Assim, ser delineado um estudo de mais alto nvel, mostrando apenas os resultados finais obtidos por cada heurstica (empregando a sua melhor combinao de parmetros) e ser apresentada uma comparao entre estes resultados. Para maiores detalhes sobre os resultados individuais dos testes das heursticas consulte [SM03, MS03, RAS04]. Sendo assim, para possibilitar uma anlise objetiva, deve-se definir alguns pontos de comparao que independam das tcnicas avaliadas e que no favoream nenhuma delas, garantindo uma anlise adequada. Sabendo que os valores de penalidades aplicados pelas diferentes tcnicas em suas funes objetivos so um tanto dspares, deve-se, ao invs de realizar uma anlise quantitativa sobre estes valores, definir um padro que qualifique objetivamente as solues que so dadas como sada pelo resolvedor heurstico de cada tcnica. Assim, convencionou-se qualificar as solues em cinco classes diferentes que se baseiam na quantidade de violaes das restries dos diferentes tipos. Estas classes de solues so definidas abaixo: (A) Soluo contendo apenas violaes de restries fracas, sem janelas nos horrio dos professores; (B) Soluo violando apenas restries fracas com, no mximo, trs janelas e trs aulas coordenadas no satisfeitas; (C) Soluo que viola, no mximo, quatro janelas, quatro aulas coordenadas e duas aulas n-uplas; (D) Soluo que viola, no mximo, cinco janelas, cinco aulas coordenadas e trs aulas n-uplas; (E) Soluo infactvel, ou seja, aquela que viola alguma restrio fisicamente forte (violaes de indisponibilidade de horrio, aulas simultneas ou de carga-horria). Alm de comparar a qualidade mdia da melhor soluo final gerada, devemos tambm avaliar os tempos de processamento demandados para encontrar tal soluo. O tempo ser medido em segundos, desta forma tambm tornamos esta medio independente do resolvedor avaliado, j que, por exemplo, o AG tem seu tempo dado pelo nmero de geraes geradas, enquanto que na BT ele dado pelo nmero de ciclos e no GRASP pelo nmero de iteraes. A tabela 1, dada a seguir, rene todos os dados relevantes ao nosso estudo comparativo, destacando os tempos de processamento e a distribuio mdia das melhores solues de cada resolvedor heurstico pelas diversas classes de qualidade definidas. Executou-se 100 vezes cada um dos resolvedores e coletou-se os

1327

tempos de execuo e a melhor soluo gerada nesse tempo. A tabela 1 mostra o tempo mdio de execuo e quantidade de solues, dentre as 100 de cada resolvedor, em cada classe de qualidade. Metaheurstica1,2 BT BT + PR3 GRASP GRASP + PR3 AG
1 2

Tempo (s)1 240 420 564 334 600

Classe A 93 85 94 96 0

Classe B 7 15 6 4 60

Classe C 0 0 0 0 25

Classe D 0 0 0 0 15

Classe E 0 0 0 0 0

Tabela 1: Tempo de execuo e distribuio qualitativa das solues geradas pelas diferentes tcnicas.
BT = Busca Tabu; BT + PR = Busca Tabu com Path Relinking; GRASP + PR = GRASP + Path Relinking. Testes realizados em computadores Pentium IV de 2.4GHz. 3 Utilizando a abordagem PR-Coluna Bidirecional (vide seo 4.3).

Um primeiro fato a se reparar na tabela 1 a qualidade das solues obtidas com o Algoritmo Gentico. O GA apresentou grandes dificuldades de convergncia para o modelo, principalmente com relao s aulas coordenadas (aulas de turmas distintas que precisam ser mantidas no mesmo horrio), o que caracterizado pelo tempo elevado de convergncia e pela ausncia de solues de excelncia. Relaxada essa restrio, o nvel das solues se aproxima dos demais algoritmos. As tcnicas especficas citadas na seo 3, embora tenham ocasionado uma grande melhora no algoritmo [SAN03], no foram suficientes para tratar todas as restries modeladas. Diversas experimentaes podem ser realizadas para tentar sanar esse problema. Dentre elas podemos citar tcnicas hbridas com buscas locais, que apresentaram maior facilidade em tratar tais restries. Na seo 7 so dados mais detalhes sobre possveis trabalhos futuros. No caso da heurstica GRASP, obteve-se sucesso na soluo de todo o conjunto de restries, a nica diferena entre as solues obtidas deve-se ao nmero de restries fracas minimizadas. A incorporao do path-relinking heurstica trouxe uma melhora significativa tanto para a qualidade das solues (o nmero de restries fracas no minimizadas menor) como para o tempo do processamento. Para o problema tratado o GRASP-PR mostrou-se uma tcnica computacionalmente vivel.

Fig. 3 (a) Algoritmos Genticos

(b) Busca Tabu

Fig. 3 (c) GRASP

(d) Path Relinking


Figura 3: Evoluo temporal dos algoritmos.

1328

A busca tabu obteve um resultado satisfatrio, obtendo solues de alta qualidade em mais de 90% dos casos em um baixo tempo. Comparando a verso pura da BT com a sua verso hbrida com PR vemos que no obtivemos ganhos no uso da hibridizao, ao contrrio do que aconteceu com o GRASP. Sero necessrios mais testes para encontrar parmetros mais refinados para o algoritmo de BT+PR. Outra possvel melhoria na BT a incluso de movimentos duplos que tambm obteve bastante sucesso quando usado pelo GRASP. De modo geral, as heursticas de busca local conseguiram maior xito na resoluo do problema de agendamento. Estas heursticas geraram solues de boa qualidade em um tempo satisfatrio. Dois aspectos foram fundamentais para este xito: a escolha acertada da vizinhana (com movimentos simples e duplos) e a construo de algoritmos eficientes para o clculo da funo objetivo. Por fim, interessante tambm avaliar o comportamento das heursticas durante a sua execuo, isto , acompanhar a evoluo temporal do valor da funo objetivo durante o processamento feito pelo resolvedor. Este comportamento est apresentado na figura 3. Acompanhando a evoluo temporal do AG (figura 3a), percebemos uma mudana de comportamento da convergncia em torno da gerao 1500, com a melhora da qualidade das solues. Nesse momento, o algoritmo inicia a aplicao mais intensiva de mutaes corretivas, o que evidencia os benefcios ocasionados pelas mesmas na qualidade dos indivduos. A busca tabu, que opera de maneira cclica, alternando entre fases de intensificao e diversificao, tal fato explica o comportamento oscilatrio do seu resolvedor. Vemos trs curvas na figura 3b, que representam o nvel de qualidade (inverso da soma das penalidades) da soluo de elite e das solues atuais da fase de intensificao (curva oscilatria com menores valores de penalidade) e da fase de diversificao (curva com maiores valores de penalidade). No GRASP, observamos um comportamento cclico tpico desta heurstica (vide figura 3c), onde cada iterao independente sendo que a melhor soluo pode ser obtida em qualquer iterao. A figura 3d apresenta uma evoluo tpica de um PR unidirecional entre duas solues (inicial e final, representadas nos pontos extremos do grfico). Por este grfico pode-se ver claramente que as solues mais prximas dos pontos extremos possuem um menor valor de penalidade, mostrando inclusive que foi encontrada uma nova soluo de elite, isto , com melhor qualidade do que as solues nas extremidades (marcada no ponto intermedirio do grfico). 6. Interface Para um sistema que se coloca como uma ferramenta de trabalho para usurios finais, imprescindvel a construo de uma interface de uso que permita aos usurios leigos manipular as informaes do problema e obter as solues desejadas. No caso deste projeto, a interface deve tambm, de maneira transparente, lidar com as diferentes tcnicas utilizadas, sem que o usurio saiba necessariamente o que cada uma representa.

Fig. 4: (a) Exemplo de tela de entrada de dados. (b) Exemplo de tela de sada de dados.
Figura 4: Interface grfica de entrada e sada do sistema.

A interface desenvolvida no projeto constituda de conjuntos de telas para entrada de dados e para exibio dos resultados. As primeiras permitem que os usurios das escolas informem ao sistema quais so as caractersticas do problema, tais como carga horria das classes, competncias e indisponibilidades dos

1329

professores, dentre outras. As demais telas so especficas para mostrar ao usurio, de uma forma familiar, as agendas geradas pelos ncleos resolvedores a partir dos dados informados anteriormente. A interface apresenta ao usurio a agenda gerada sob vrias vises distintas, permitindo que ele escolha se deseja focar apenas o horrio das turmas ou dos professores. Pode-se tambm escolher a visualizao de uma nica turma ou de um nico professor por vez. As telas de exibio permitem tambm que o usurio realize facilmente pequenos ajustes nas agendas geradas, da maneira que melhor lhe convir. Com isso, o sistema pode se tornar uma ferramenta de uso efetivo para as instituies de ensino. Nas figuras 4a e 4b so mostrados, respectivamente, exemplos de telas de entrada e sada implementadas no projeto, que incluem as funcionalidades essenciais da interface usual. 7. Concluses Analisando-se os resultados exibidos na seo 5, confirma-se o sucesso das modelagens e implementaes desenvolvidas para tratar o problema. O objetivo inicial de se construir uma ferramenta para agendamento automtico atravs da utilizao de metaheursticas foi alcanado em sua plenitude: as solues obtidas, alm de perfeitamente viveis do ponto de vista qualitativo, so encontradas em tempos de processamento relativamente baixos, mesmo usando-se computadores pessoais comuns. Por fim, a interface atende aos requisitos mnimos exigidos para se manipular o sistema, permitido a sua utilizao por leigos. Os trabalhos continuaro no sentido de aperfeioar o sistema e estudar o comportamento das heursticas mediante abordagens paralelas e hbridas. Diversas experimentaes podem ser sugeridas no Algoritmo Gentico para contornar o problema de convergncia com aulas coordenadas, citado na seo 5. Dentre elas podemos citar a hibridizao do sistema com as tcnicas de busca local, a paralelizao do algoritmo atravs de diversos modelos existentes na literatura [MIC96] e mesmo a aplicao de algoritmos de correo mais agressivos. Outras possibilidades para trabalhos futuros seriam a possvel implantao do sistema em escolas pblicas e a abordagem do problema de agendamento universitrio, utilizando-se os requisitos da prpria Unicamp.
Referncias Bibliogrficas [CL98] Michael CARTER e Gilbert LAPORTE. Recent Development in Practical Course Timetabling. Relatrio tcnico, University of Toronto e cole des Hautes tudes Commerciales de Montral, 1998. [CRR97] Colin R. REEVES. Genetic Algorithm for the Operations Researcher. INFORMS Journal on Computing, 1997. [FAN94] Hsiao-Lan FANG. Genetic Algorithms in Timetabling and Scheduling. University of Edinburgh Department of Artificial Intelligence, 1994. [GL97] Fred GLOVER e Manuel LAGUNA. Tabu Search. Kluwer Academic Publishers, 1a Edio, 1997. [GLM00] Fred GLOVER, Manuel LAGUNA, and Rafael MART. Fundamentals of Scatter Search and Path Relinking. Control and Cybernetics, 2000. [KSM03] Eliana G. KOTSKO, Maria T. A. STEINER e Artur L. F. MACHADO. Otimizao na Construo da Grade Horria Escolar Uma Aplicao. Anais do XXXV Congresso da Sociedade Brasileira de Pesquisa Operacional, Natal-RN, 2003. [MS03] Arnaldo V. MOURA e Volnei dos SANTOS. Algoritmos genticos aplicados ao problema de agendamento de atividades acadmicas. Instituto de Computao - Unicamp, IC-03-27, 2003. [MIC96] Zbigniew MICHALEWICZ. Genetic Algorithms + Data Structures = Evolution Programs. Springer, 3a edio, 1996. [OP03] Jos A. OLIVEIRA e Rogrio P. PINHEIRO. Ambiente de Otimizao na Web: Uma Aplicao em Timetabling. Anais do XXXV Congresso da Sociedade Brasileira de Pesquisa Operacional, 2003.

[RAS04]
[RR02] [SCH96] [SM03]

Rafael A. SCARAFICCI. Aplicao da Metaheurstica GRASP ao Problema de Agendamento Escolar. Relatrio de Atividades Processo FAPESP 03/09459-4, 2004.
M. G. C. RESENDE and C. C. RIBEIRO. Greedy randomized adaptive search procedures. Handbook of Metaheuristhics, pages 219-249. Kluwer Academic Publishers, 2002. Andrea SCHAERF. Tabu Search Techniques for Large High-school Timetablig Problems. Relatrio Tcnico, Centrum voor Wiskunde en Informatica, 1996. Rafael L. SILVEIRA e Arnaldo V. MOURA. Aplicao de heursticas de busca local ao problema de agendamento escolar. Relatrio Tcnico IC-03-28, Instituto de Computao Unicamp, 2003.

1330

Você também pode gostar