Você está na página 1de 12

UM ESTUDO SOBRE METAHEURISTICAS APLICADAS AO PROBLEMA DE HORARIO ESCOLAR

Alessandra Martins Coelho - ale contatos@ig.com.br S rgio Ricardo de Souza - sergio@dppg.cefetmg.br e Marcelo Caramuru Pimentel Fraga- caramuru@hotmail.com Centro Federal de Educacao Tecnol gica de Minas Gerais - CEFETMG - DPPG o 30510-000 Av. Amazonas, 7675 - Nova Gameleira - Belo Horizonte - MG - Brasil Resumo. Este artigo apresenta um estudo sobre aplicacao das metaheursticas Simulated Annealing, Iterated Local Search e Busca Tabu ao Problema de Hor ario Escolar. O obje tivo e a geracao de quadros de hor rios para professores, em dois turnos simultaneamente. a As metodologias propostas foram testadas utilizando-se dados reais do Centro Federal de Educacao Tecnol gica de Rio Pomba-MG. Os resultados computacionais s ao comparados den o tre as metaheursticas propostas e com os quadros de horarios produzidos manualmente pela pr pria instituicao de ensino. o Palavras-Chave: Problema de Hor rio Escolar; Metaheursticas. a INTRODUCAO

O Problema de Hor rio Escolar, tamb m referenciado como problema classe-professor, a e pode admitir uma enorme variedade de formulacoes, em funcao da instituicao de ensino e do sistema educacional no qual ela est inserida. A maior parte destas formulacoes parte da prea missa de que, para a ocorr ncia de uma determinada aula, e necess rio que todas as entidades e a envolvidas (professores, alunos e salas) estejam disponveis no intervalo de tempo denido para o acontecimento da mesma; que nenhuma entidade individual (professores, alunos ou salas) esteja alocada a dois eventos simultaneamente; e que a carga-hor ria de cada disciplina, para cada a classe, seja cumprida. Para maiores detalhes quanto a essas formulac oes, veja Schaerf (1999). ` ` ` Devido a diculdade de se obter uma solucao manual, a caracterstica combinat ria e a o difcil generalizacao (em virtude da quantidade de variantes que o problema pode assumir), diversos algoritmos e heursticas v m sendo propostas, com o objetivo de tentar resolver di e ferentes aspectos do problema. Dentre esses m todos, cita-se as metaheursticas simulated e annealing, em Abramson et al. (1999), Busca Tabu, em Hertz (1992) e Algoritmos Gen eticos, em Burke et al. (1995). Esse artigo e organizado como segue: a secao seguinte apresenta o problema abordado. A secao 3 revisa as metaheursticas adotadas na solucao do problema, enquanto a secao 4 mostra a aplicacao das mesmas ao problema em tela. A secao 5 apresenta os resultados alcancados do desenvolvimento realizado e secao 6 nalizada o artigo, apresentando conclus es a respeito do trabalho. o 2 O PROBLEMA DE HORARIO EDUCACIONAL ABORDADO

` O Centro Federal de Educacao Tecnol gica de Rio Pomba - CEFET-RP, situado a Av. Dr. o Jos Sebasti o da Paix o, s/n, bairro Lindo Vale, Rio Pomba, Minas Gerais, e a instituicao de e a a

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

ensino considerada para an lise. Essa instituicao de ensino oferece, atualmente, os cursos de a ensino m dio, ensino t cnico e ensino superior (nvel tecnol gico) e funciona em tr s turnos: e e o e manh , tarde e noite. Os cursos de ensino m dio e t cnicos possuem uma carga-hor ria semanal a e e a de 20 horas-aula, distribudas uniformemente em um unico turno, de segunda a sexta-feira. Entre a segunda e a terceira aula, h um intervalo de 20 minutos, para o turno diurno, e de 10 a minutos para o turno noturno. As aulas dos cursos de nvel superior geralmente s o programadas a para o perodo diurno. No processo de programacao da agenda dos professores dessa instituicao de ensino, deve se observar que alguns cursos possuem caractersticas especcas. Em todos os casos, al m e dos requisitos mnimos essenciais para que um hor rio de qualquer instituicao de ensino possa a ser utilizado, quais sejam, n o ocorrer sobreposicao de professores ou classes; cumprimento da a programacao da carga-hor ria semanal de cada disciplina; e respeito aos hor rios de indisponi a a bilidade do professor, s o observados os seguintes requisitos: a ` Requisitos n o-essenciais comuns a programacao de hor rios dos professores da instituicao a a de ensino: as aulas dos professores devem ser programadas de tal modo que exista pelo menos um dia da semana livre das atividades de sala de aula; o n mero de hor rios ociosos na programacao di ria dos professores deve ser reduzido. u a a deve-se evitar que um professor lecione mais de uma disciplina por dia, para uma mesma classe; Requisitos observados para a programacao de hor rios dos professores do Ensino M dio: a e Essenciais as aulas de educacao-fsica s o geminadas e realizadas nos dois ultimos hor rios; a a uma classe n o pode ter mais que duas aulas di rias de uma mesma disciplina; a a N o-Essenciais a deve-se evitar a quebra de aulas. Considera-se como quebra de aulas a ocorr ncia e de aulas para uma mesma classe, separadas por um intervalo; Requisitos observados para a programacao de hor rios dos professores dos cursos T cnico a e em Inform tica e T cnico em Meio-Ambiente: a e Essenciais uma classe n o pode ter mais que duas aulas di rias de uma mesma disciplina; a a as aulas s o sempre geminadas; a deve-se evitar que um professor d mais de uma disciplina por dia para uma mesma e classe.

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

Requisitos observados para a programacao de hor rios dos professores dos cursos t cnicos a e da area de Agropecu ria, T cnico em Secretariado e T cnico em Gest o do Agroneg cio: a e e a o Essencial n o e permitida a ocorr ncia de quebras de aula; a e No entanto, esses cursos admitem, dependendo da disciplina, qualquer congurac ao de aula, ou seja, admitem a conguracao de 1, 2, 3 ou 4 aulas di rias. a Al m disso, os cursos t cnicos da area de agropecu ria (agropecu ria, agroind stria e e e a a u zootecnia) possuem um dia da semana reservado para treinamento operacional. Neste caso especco, deve-se evitar que seja programado para os hor rios de segunda-feira de manh , a a ` para as turmas do turno da manh e os hor rios da sexta-feira a tarde para as turmas do turno da a a tarde. Em se tratando do professor, este pode lecionar v rias disciplinas e estar envolvido em mais a ` de um curso. Devido a modalidade de ensino, alguns professores podem acumular mais aulas durante um certo perodo do ano. Em geral, antes da elaboracao dos quadros de hor rios, os professores se re nem para a u escolher as turmas as quais eles preferem lecionar, no caso do ensino m dio, e as disciplinas e que eles preferem lecionar, no caso dos demais cursos. Os professores efetivos t m prefer ncia e e na escolha das turmas e disciplinas. J no caso dos professores substitutos, procura-se atender a ` as suas solicitacoes quanto aos dias de indisponibilidade e solicitacao do n mero de dias de u distribuicao de suas aulas. Pelo fato de haver v rios cursos com caractersticas especcas, o planejador de hor rios a a ` do CEFET-RP decomp e o problema de alocacao dos professores as turmas em v rios subo a problemas. Cada subproblema diz respeito a uma modalidade de curso. Os professores do curso t cnico em Inform tica, por ter maior necessidade do uso dos laboratorios de inform tica, e a a confeccionam o quadro de hor rios e o encaminha para o setor pedagogico. a De posse dos hor rios disponveis dos laborat rios de inform tica em cada turno e dos a o a hor rios disponveis dos professores, o setor pedagogico informa aos respons veis pelos cursos a a t cnico em Meio-Ambiente, t cnico em Gest o do Agroneg cio e t cnico em Secretariado, que e e a o e confeccionam seus quadros de hor rios e os encaminham ao setor pedag gico. a o Para o curso de ensino m dio, e utilizado um programa para a confeccao do primeiro quadro e de hor rios dos professores. Eventuais modicacoes s o feitas manualmente. a a Os respons veis pelos cursos de nvel superior tamb m encaminham os quadros de hor rios a e a para o referido setor. O planejador de hor rios, de posse desses quadros de hor rios, faz a alocacao dos profesa a ` sores as turmas dos demais cursos. Em todos os casos, e observado o hor rio de indisponibilia dade e/ou solicitacao de folga dos professores. No decorrer do ano letivo, os hor rios das aulas podem sofrer alteracoes, por motivo de a afastamento de algum professor. 3 METAHEURISTICAS BASEADAS EM TRAJETORIA

3.1 Simulated annealing Simulated annealing (SA) e uma metaheurstica que realiza uma busca local de proposito geral, inspirada no processo de recozimento de materiais. Sua introduc ao e devida aos trabalhos de Kirkpatrick et al. (1983). O processo inicia-se com uma solucao s qualquer. Uma busca aleat ria e realizada no o espaco da vizinhaca de s. Para cada vizinho s encontrado, verica-se o valor de , dado pela

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

diferenca entre o valor da funcao objetivo de s e o valor da funcao objetvo de s. Se for menor que 0, a solucao e aceita e torna-se a solucao corrente; caso contr rio, a solucao poder a a ser aceita com uma certa probabilidade, dada por P rob = e/T , sendo T o par metro de a controle da temperatura. Tipicamente, a metaheurstica e iniciada com uma temperatura alta. A temperatura e re duzida lentamente, atrav s de uma express o de resfriamento, at encontrar uma regi o ese a e a pecca. A probabilidade de se aceitar movimentos de piora em temperaturas elevadas e bem o de movimentos de piora diminui a medida que a temperatura ` alta. A probabilidade de aceitaca decresce. Com o valor da temperatura baixo, o processo praticamente n o aceita movimentos de a piora e o procedimento passa a se comportar como o m todo da descida, at a temperatura estar e e pr xima de zero, situacao na qual o sistema e congelado. O sistema tamb m pode congelar-se o e quando a taxa de aceitacao de movimentos cair abaixo de um valor predeterminado ou quando o valor da funcao objetivo car inalterado por um determinado numero de temperaturas. 3.2 Iterated local search A metaheurstica Iterated Local Search (ILS), idealizada por Baxter (1981), conforme de scrito em Lourenco et al. (2002), e considerada como o esquema mais geral entre as estrat gias e o inicial qualquer, explorativas. Baseia-se na id ia de aplicar uma busca local em uma soluca e at que se encontre um otimo local, e, ent o, perturbar a solucao encontrada e reiniciar a busca e a local. Essa perturbacao deve ser tal que possibilite a manutencao de caractersticas da regi o do a otimo local e, al m disso, deve evitar um reincio aleat rio. Por outro lado, a perturbacao deve e o ser de tal monta que seja suciente para escapar de um otimo local e permitir a exploracao de outras regi es do espaco de buscas. ILS e, portanto, um m todo de busca local, que procura o e focar a busca n o no espaco completo de solucoes, mas em um subespaco denido por solucoes a que s o otimos locais de determinado procedimento de otimizacao. a 3.3 Busca tabu A metaheurstica Busca Tabu (BT) foi proposta independentemente por Glover (1986) e Hansen (1986). Trata-se de um procedimento adaptativo, dotado de uma estrutura de mem oria, que aceita movimentos de piora para escapar de otimos locais. Partindo de uma solucao inicial qualquer, a cada iteracao do m todo, o espaco de solucoes e e explorado em busca de seu melhor vizinho. O melhor vizinho encontrado torna-se, ent ao, a solucao corrente, mesmo que este piore o valor da melhor solucao encontrada at o momento. e O processo e repetido at que o crit rio de parada adotado seja satisfeito. e e Aceitando-se solucoes de piora como melhor vizinho, o procedimento procura escapar de otimos locais encontrados durante a sua execucao, podendo, entretanto, gerar ciclos, fazendo com que se retorne a uma solucao j gerada anteriormente. Isto acontece pois, ao se realizar uma a busca na vizinhanca de uma solucao gerada a partir de um movimento de piora, o melhor vizinho ` encontrado ser a solucao anterior, que deu origem a atual, fazendo com que o procedimento a entre em ciclo. Para reduzir o risco da ciclagem, o m todo trabalha com uma lista, denominada lista tabu, e em que se armazenam os movimentos que, quando realizados, levam a uma soluc ao j analisada a anteriormente, os quais s o denominados de movimentos tabus. a A lista tabu cl ssica cont m os movimentos reversos aos ultimos |T | movimentos realizaa e dos (sendo |T | um par metro do m todo) e funciona como uma la de tamanho xo, isto e, a e ` quando um novo movimento e inserido a lista, o movimento mais antigo armazenado sai. Dessa maneira, na exploracao do subconjunto da vizinhanca da solucao corrente s, cam excludos da busca os vizinhos s que s o obtidos de s por movimentos m que constam na lista tabu. a

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

O tamanho |T | da lista tabu dene por quantas iteracoes um movimento ser considerado a tabu. Uma lista tabu de tamanho muito grande pode ser restritiva, uma vez que torna tabu um grande n mero de movimentos. Isso faz com que o procedimento termine de forma prematura, u pois n o encontra opcoes de movimentos a realizar, j que a maioria deles est denido como a a a tabu. J uma lista de tamanho pequeno aumenta a possibilidade de ciclagem, uma vez que reduz a o intervalo de tempo no qual um movimento e considerado tabu. 4 APLICACOES DE HEURISTICAS AO PROBLEMA DE HORARIO ESCOLAR

As subsecoes a seguir apresentam, em detalhes, como as heursticas apresentadas anterior mente foram aplicadas ao problema proposto. 4.1 Representacao de uma solucao Uma solucao s e representada por uma matriz Qmp de valores inteiros, na qual cada linha i representa a alocacao semanal de aulas do professor i. Cada elemento qik indica a atividade do professor i no hor rio k. Os valores atribudos a cada elemento devem pertencer ao conjunto a {2, 1, 0, 1, 2, 3, . . . , }, de modo que, caso qik = 2, o professor i, no hor rio k, est a a indisponvel para a atividade de aula, mas poder assumir carga hor ria, se necess rio; caso a a a qik = 1, o professor i, no hor rio k, est indisponvel para a atividade de aulas e n o poder , a a a a em hip tese alguma, assumir encargos de aula. Caso 0 qik n, o professor i est alocado o a para ministrar aulas para alguma classe no hor rio k. Caso, por m, qik = , o professor a est disponvel para a atividade de aulas, mas n o possui aulas alocadas no hor rio k. Uma a a a representacao da matriz Q est apresentada na tabela 1. a
Tabela 1: Representacao do Quadro de Hor rios a
Prof. 1 2 3 4 . . . m h0 -1 -1 -1 9 Segunda h1 h2 -1 1 -1 11 -1 -1 0 Terca h5 h6 -1 5 -1 Semana Letiva Quarta h9 h10 h11 -1 -1 -1 -1 9 9 9 4 1 Quinta h13 h14 -1 0 -1 4 11 Sexta h17 h18 -1 4 -1 -1 4 4 1

h3 1 11 -1

h4 -1 -1

h7 5 11

h8 -1 -1

h12 -1 -1 4 5

h15 0 5

h16 -1 -1 4

h19 4 -1 4 0

11

11

-1

-1

-1

-1

4.2 Estrutura de vizinhanca Uma solucao s e dita vizinha de s se for obtida a partir de um movimento de realocac ao ou troca de aulas em s. Dois movimentos de realocacao foram denidos para a obtencao da vizinhanca: o primeiro realiza, em cada linha i da matriz Q, a troca de dois valores distintos e n o negativos. Esse a movimento e identicado pela tripla < i, k1 , k2 >, na qual k1 e k2 representam os hor rios nos a quais as atividades qik1 e qik2 do professor i ser o permutadas. a O segundo movimento realiza, em cada linha i da matriz Q com aulas obrigatoriamente duplas, a troca de dois valores duplos distintos e n o negativos. Este movimento e identicado a pela tripla < i, k1a k1b , k2a k2b >, na qual k1a k1b e k2a k2b representam os hor rios nos quais as a atividades qik1a qik1b e qik2a qik2b do professor i ser o permutadas. a

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

4.3 Geracao da solucao inicial Optou-se pela geracao de solucoes iniciais aleat rias para diversicar as solucoes. Um dia o da semana e selecionado aleatoriamente e a aula alocada no primeiro hor rio disponvel daquele a dia. 4.4 Funcao de avaliacao Uma solucao s e avaliada com base na funcao: f (Q) = f1 (Q) + f2 (Q) + f3 (Q) (1)

A funcao f1 (Q) e representada pelo somat rio do n mero de vezes que um professor mi o u nistra aulas para mais de uma classe no hor rio k, somada ao n mero de vezes que uma turma a u est sem atividade nesse mesmo hor rio k. A funcao f2 (Q) representa o somat rio do n mero a a o u de vezes em que e violado o n mero m ximo de aulas di rio de uma mesma disciplina. Por u a a m, a funcao f3 (Q) representa o somat rio de vezes que as solicitacoes dos professores n o o a s o atendidas, ou seja, representa a ocorr ncia de hor rios ociosos na programacao di ria do a e a a professor; se existem lacunas entre duas aulas programadas para uma mesma classe, no mesmo dia; se os dias solicitados pelo professor para a distribuic ao de suas aulas e desrespeitado; e se o n mero de aulas duplas (geminadas) solicitadas pelo professor ou curso n o e atendido. u a Deve-se observar que uma solucao s somente ser vi vel se f1 (Q) e f2 (Q) forem iguais a zero. a a A tabela 2 apresenta os par metros efetivamente utilizados na funcao de avaliacao. a
Tabela 2: Pesos para funcao de avaliacao

Peso Valor 100 50 1 2 5 10 1

4.5 Aplicacao de simulated annealing A temperatura inicial utilizada no SA foi gerada por simulac ao. O procedimento inicia partindo de um valor baixo para a temperatura. A cada temperatura, um n umero de vizinhos s o gerados e verica-se a quantidade de solucoes que s o aceitas. Se o n mero de vizinhos a a u aceitos for alto, como por exemplo 90%, a temperatura corrente e retornada como temperatura inicial; caso contr rio, deve-se aumentar a temperatura e repetir o processo. a As guras 1 e 2 apresentam, respectivamente, o pseudocodigo do SA e o pseudoc digo do o procedimento para encontrar a temperatura inicial. Os par metros utilizados no SA s o descritos na tabela 3. a a 4.6 Aplicacao de iterated local search Considerou-se quatro nveis de perturbacao. Em seu nvel mais baixo, uma perturbacao consiste em uma troca aleat ria de um valor distinto e n o negativo, simples ou duplo, por outro o a valor, distinto e n o negativo, simples ou duplo. A segunda perturbacao realiza o procedimento a por duas vezes e assim sucessivamente. Logo apos a perturbacao, a solucao passa por uma busca

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

procedimento SimulatedAnnealing(f (), N (), , iterM ax, T f inal, s) 1 s s; // melhor solucao obtida at ent o e a 2 iterT 0; //n mero de iteracoes na temperatura T u 3 T TemperaturaInicial; 4 enquanto (T > Tnal) faca 5 enquanto (iterT < iterMax) faca 6 iterT iterT +1; 7 Gere Um Vizinho Qualquer s N (s); 8 = f (s ) f (s); 9 se ( < 0) entao 10 ss; 11 se(f (s ) < f (s )) entao 12 s s ; 13 senao 14 tome x [0, 1] 15 se (x < e/T ) entao 16 s s ; 17 m-se; 18 m-enquanto; 19 Tk = Tk1 ; 20 iterT 0; 21 m-enquanto; 22 s s ; 23 retorne s; m SimulatedAnnealing;
Figura 1: Algoritmo Simulated Annealing Tabela 3: Par metros utilizados no Simulated Annealing a
Par metros a Tnal Tinicial SAmax Valor 0.99 0.8 1.1 0.01 4 (p Hs 2) nT urmas Dens Descricao taxa de resfriamento porcentagem de solucoes aceitas no algoritmo de simulacao da temperatura acr scimo da temperatura no algoritmo de simulacao da temperatura e temperatura nal do SA temperatura inicial utilizada no algoritmo de simulac ao da temperatura n mero de iteracoes em cada temperatura u

local. Caso a solucao encontrada ap s a busca local seja pior que a solucao anterior, o movi o ` mento e desfeito, o nvel de perturbacao cresce e uma nova perturbacao e aplicada a solucao. Caso contr rio, a solucao encontrada passa a ser a solucao corrente e o nvel de perturbacao a atual e aplicado. Considera-se, como solucao corrente, a melhor solucao encontrada at ent o. e a O procedimento p ra ap s um certo n mero de iteracoes. a o u Para a escolha de uma busca local para ser utilizada com o ILS, algumas heursticas de descida foram testadas e seus comportamentos observados. Dentre essas, o m todo de descida e aleat rio n o-ascendente mostrou-se o mais apropriado para ser utilizado com o problema de o a hor rio em quest o, por aceitar movimentos laterais. O pseudocodigo de ILS e apresentado na a a gura 3.

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

procedimento T emperaturaInicial(, , SAmax, T0 , s) 1 T T0 ; // temperatura corrente 2 continua TRUE; 3 enquanto (continua) faca 5 aceitos 0; //quantidade de vizinhos aceitos na temperatura T 6 para iterT = 1 ate SAmax faca; 7 Gere Um Vizinho Qualquer s N (s); 8 = f (s ) f (s); 9 se ( < 0) entao 10 aceitos = aceitos + 1; 11 senao 12 s s ; 13 senao 14 tome x [0, 1] 15 se (x < e/T ) entao 16 aceitos = aceitos + 1; 17 m-se; 18 m-para; 19 se (aceitos SAmax) entao 20 continua FALSE; 21 senao 22 T T; //aumenta a temperatura 23 m-se; 24 m-enquanto; 25 Retorne s; m T emperaturaInicial;
Figura 2: Procedimento Temperatura Inicial

4.7 Aplicacao de busca tabu A implementacao realizada de BT introduz o uso de listas din micas, com o m de mi a ` nimizar a possibilidade de ciclagem associada a diculdade de denicao do tamanho da lista tabu. Uma lista labu din mica tem seu tamanho alterado periodicamente durante a execucao do a m todo. Al m disso, utilizou-se um crit rio de aspiracao que retira, sob certas circunst ncias, o e e e a status tabu de um determinado movimento, de forma que uma soluc ao s vizinha de s pode ser gerada se f (s ) < (f (s)), mesmo que o movimento m esteja na lista tabu. Para tal, aceita-se um movimento tabu se este levar a uma solucao s cujo valor seja melhor que o valor da melhor solucao s encontrada at o momento. e Os par metros efetivamente utilizados no algoritmo Busca Tabu s o descritos na tabela 4, a a enquanto o pseudoc digo associado e apresentado na gura 4. o 5 RESULTADOS

Os algoritmos foram implementados na linguagem C++, usando o compilador C++ Builder 6.0, e testado em microcomputadores Pentium IV, 2.4 GHz, com 256MB de mem oria RAM, com sistema operacional Windows NT.

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

procedimento ILS 1 s solucaoInicialAleatoria; 2 s buscaLocal(s); 3 s s; 4 enquanto (iter < iterMax) faca 5 iter++; 6 faca 7 escolha um professor aleatoriamente; 8 se (obrigatorioDuplas) faca 9 s vizinhoDuplas; 10 senao 11 s vizinhoSimples; 12 m-se; 13 perturbacao++; 14 enquanto (perturbacao < perturbacaoMax); 15 s buscaLocal(s ); 16 se (s < s ) entao 17 s s ; 18 senao 19 s s; 20 se (perturbacaoMax < 4) 21 perturbacaoMax++; 22 senao 23 perturbacaoMax 1; 24 m-se; 25 m-se; 26 perturbacao 0; 27 m-enquanto 28 retorne s ; m ReiniciaP opulacao
Figura 3: Pseudoc digo ILS o Tabela 4: Par metros utilizados no Busca Tabu a

Par metros Valor a Tmin 10 Tmax 15 BT max 40

Descricao tamanho mnimo da lista tabu tamanho m ximo da lista tabu a n mero m ximo de iteracoes sem melhora no valor da melhor solucao u a

5.1 Problemas-teste ` Considerou-se um conjunto de problemas-teste relativos a programacao de hor rios dos a cursos de Ensino M dio e T cnico do Centro Federal de Educacao Tecnol gica de Rio Pomba, e e o nos anos de 2005 e 2006. Apresenta-se na tabela 5 algumas de suas caractersticas. As colunas p, nTurmas e Aulas representam, respectivamente, o n umero de professores, o n mero de classes e as aulas a serem alocadas. A coluna Duplas indica o numero de aulas u

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

procedimento BuscaT abu(f (.), N (.), a(.), |V|, fmin , |T |, BT max, s) 1 s s; // Melhor solucao obtida at ent o e a 2 Iter 0; //n mero de iteracoes u 3 M elhorIter 0; //Iteracao mais recente que forneceu s 4 T ; // lista tabu 5 Inicialize a funcao de aspiracao a; 6 enquanto (f (s) > fmin e Iter M elhorIter < BT max) faca 7 Iter Iter + 1; 8 se s s m for o melhor elemento de V N (s) tal que o movimento m n o seja tabu (m T ) ou a s atenda a condicao de aspiracao (f (s ) < a(f (s))) entao 9 atualize lista tabu T ; 10 se(Iter M elhorIter > T iter) entao 11 se (f (s) < f (s )) entao 12 s s; 13 M elhorIter Iter; 14 |T | = aleatorio(T min, T max); 15 ss; 16 m-enquanto; 17 s s ; 18 retorne s; m BuscaT abu;
Figura 4: Pseudo-c digo do M todo Busca Tabu o e Tabela 5: Caractersticas dos problemas testados

Problema-Teste 1 2 3

p nClasses Aulas Duplas 17 7 140 70 17 12 240 67 18 12 240 53

Dens 0,38 0,69 0,61

duplas requeridas em cada problema. A coluna Dens indica a densidade do quadro de hor rios a dos professores, ou seja, a raz o entre a carga hor ria dos mesmos, somada ao n mero de a a u hor rios indisponveis, e o n mero de hor rios reservados para a programacao das aulas de todas a u a ` as classes. Esses dados referem-se a programacao dos quadros de hor rios de dois turnos em a simult neo. No problema 1, todas as aulas s o geminadas. Nos demais problemas consideraa a se que todos os professores com mais de duas horas-aula semanais para uma mesma classe gostariam de ter, pelo menos, uma aula geminada. Cada classe possui 20 aulas semanais, que s o distribudas uniformemente de segunda a sexta-feira. a Para efeito de comparacao dos resultados obtidos pelos algoritmos analisados, o tempo m dio gasto pelo algoritmo Simulated Annealing em 50 execuc oes de cada problema-teste, e serviu como par metro para os demais algoritmos. a A tabela 6 apresenta a porcentagem de solucoes vi veis que cada algoritmo conseguiu a encontrar, sendo a busca limitada aos seguintes tempos de execucao, em segundos, para cada problema: (1)19 s, (2)174 s e (3)304 s. Apesar do problema-teste 1 ser aparentemente mais simples, pelo fato de possuir um numero reduzido de turmas e professores e apresentar uma densidade menor, os algoritmos SA e ILS n o conseguiram 100% das solucoes vi veis, nas 50 a a

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

execucoes. No entanto, o algoritmo BT conseguiu atender satisfatoriamente aos requisitos de todos os problemas-teste.
Tabela 6: Capacidade de encontrar solucoes vi veis (%) a

Algoritmo Simulated Annealing Iterated Local Search Busca Tabu

Problemas-teste 1 2 3 86 100 100 96 100 100 100 100 100

Tabela 7: Tempo m dio gasto para encontrar a primeira solucao vi vel (s) e a

Problemas-teste 1 2 3 Algoritmo fo tempo fo tempo fo Simulated Annealing 6,40 7,17 179,14 46,28 217,46 Iterated Local Search 4,60 3,75 107,72 12,56 80,64 Busca Tabu 4,20 1,62 40,20 15,51 86,40

tempo 70,48 25,58 11,69

A m dia dos valores da funcao objetivo, para os primeiros quadros de hor rios vi veis e a a encontrados e o tempo m dio gasto pelos algoritmos, s o apresentados na tabela 7. Ao comparar e a o valor da solucao e o tempo despendido pelo algoritmo, pode-se dizer que o algoritmo BT apresenta o melhor desempenho, na busca pela primeira solucao vi vel. a
Tabela 8: Comparacao entre M dia das solucoes nais - Solucao Manual e

Problemas-teste Algoritmo 1 2 3 Simulated Annealing 16,18 48,52 70,84 Iterated Local Search 4,04 26,22 32,28 Busca Tabu 0 34,6 25,6 Solucao Manual 0 112 132

A tabela 8 apresenta a m dia dos valores da funcao objetivo das solucoes nais obtidas e pelos algoritmos e o valor da funcao objetivo para os quadros de hor rios produzidos manual a mente pelo CEFET-RP. Nessa tabela, pode-se observar que, para o problema-teste 1, para o qual a solucao manual consegue atender a todos os objetivos, somente o algoritmo BT consegue atend -los. Com relacao aos demais problemas-teste, os tr s algoritmos conseguiram resultae e dos superiores aos quadros de hor rios produzidos manualmente, representando uma melhoria a acima de 56% para o problema 2 e acima de 46% para o problema (3). De acordo com os resultados apresentados nas tabelas 7 e 8, no que se refere ao valor das solucoes, pode-se observar que, de acordo com o tempo de execucao adotado, o SA conseguiu melhorar a qualidade das solucoes nais em 72, 92%, no problema 1 e 67, 42%, no problema 2. O ILS melhorou a primeira solucao vi vel em 75, 66%, no problema 1 e 59, 97%, no problema a 2. Por m, o BT conseguiu uma melhora com relacao a primeira solucao vi vel de 13, 93%, no ` a problema 1 e 70, 37%, no problema 2.

IX Encontro de Modelagem Computacional

CEFET-MG e IPRJ/UERJ

ISBN: 978-85-99836-02-6

CONCLUSAO

Este trabalho realizou uma comparacao entre as metaheursticas Simulated Annealing, It erated Local Search e Busca Tabu aplicados ao Problema de Hor rio Escolar. Foram realizados a testes com dados reais do CEFET-RP para a geracao dos quadros de hor rios dos professores, a em dois turnos em simult neo, utilizando dados de 2005 e 2006. Dos algoritmos propostos, Ita erated Local Search e Busca Tabu conseguiram melhores resultados que o algoritmo Simulated Annealing. A m dia dos resultados encontrados pelos algoritmos foram superiores quando e comparados com o valor dos quadros de hor rios produzidos manualmente, uma vez que cona ` seguiram satisfazer a um maior n mero de professores quanto a minimizacao do n mero de u u dias de distribuicao de suas aulas; minimizacao do n mero de hor rios ociosos na agenda di ria u a a do professor; reducao do n mero de quebras de aulas e maximizacao do n mero de aulas du u u plas, representando uma melhoria acima de 56% para o problema (2) e acima de 46% para o problema (3). REFERENCIAS Abramson, D., Dang, H., & Krisnamoorthy, M., 1999. Simulated annealing cooling schedules for the school timetabling problem. Asia-Pacic Journal of Operational Research, vol. 16, pp. 122. Baxter, J., 1981. Local optima avoidance in depot location. Journal of the Operational Research Society, vol. 32, pp. 815819. Burke, E. K., Elliman, D., & Weare, R. F., 1995. A hybrid genetic algorithm for highly constrained timetabling problems. In Proceedings of the 6th International Conference on Genetic Algorithms, pp. 605610, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc. Glover, F., 1986. Future paths for integer programming and links to articial intelligence. vol. 5, pp. 553549. Hansen, P., 1986. The steepest ascent mildest descent heuristic for combinatorial programming. In Proceedings of Congress on Numerical Methods in Combinatorial Optimization, Capri, It lia. a Hertz, A., 1992. Finding a fesible course schedule using tabu search. Discrete applied mathematics, vol. 35, pp. 255270. Kirkpatrick, S., Gellat, D., & Vecchi, M., 1983. Optimization by Simulated Annealing. Science, vol. 220, pp. 671680. Lourenco, H. R., Martin, O., & Stuetzle, T., 2002. Iterated local search. In In: F. Glover and G. Kochenberger, editors, Handbook of Metaheuristics, pp. 321353, Norwell, MA. Kluwer Academic Publishers. Schaerf, A., 1999. A survey of automated timetabling. Articial Intelligence, vol. 13, n. 2, pp. 87127.

Abstract. This article shows a study about the application of the metaheuristics Simulated Annealing, Iterated Local Search and Tabu Search for solving the school timetabling problem, in two turns, in simultaneous way, satisfying a set of constraints. The methodology was tested with real data, provided by Centro Federal de Educacao Tecnol gica de Rio Pomba-MG. Com o putational results are compared between the used metaheuristics, mainly, and the timetabling produced manually by the teaching institution. Keywords: School Timetabling; Metaheuristics.