Vous êtes sur la page 1sur 27

UNIVERSIDADE FEDERAL DO ESPRITO SANTO

CENTRO DE CINCIAS AGRRIAS


DEPARTAMENTO DE COMPUTAO

ANDR SOARES CARVALHO

META-HEURSTICAS PARA RESOLUO DE UM CASO


REAL DE PROGRAMAO DE HORRIOS

ALEGRE
2015

ANDR SOARES CARVALHO

META-HEURSTICAS PARA RESOLUO DE UM CASO


REAL DE PROGRAMAO DE HORRIOS

Trabalho de concluso de curso apresentado


ao Departamento de Computao do Centro
de

Cincias

Agrrias

da

Universidade

Federal do Esprito Santo, como requisito


parcial para obteno do grau de Bacharel
em Sistemas de Informao.
Orientador: Prof. Dr. Geraldo Regis Mauri.

ALEGRE

2015ANDR SOARES CARVALHO

META-HEURSTICAS PARA RESOLUO DE UM CASO


REAL DE PROGRAMAO DE HORRIOS

Trabalho de Concluso de Curso apresentado ao Departamento de Computao do


Centro de Cincias Agrrias da Universidade Federal do Esprito Santo, como
requisito parcial para obteno do grau de Bacharel em Sistemas de Informao.
Aprovado em ____ de junho de 2015.

ORIENTADOR

____________________________________________
Prof. Dr. Geraldo Regis Mauri
Universidade Federal do Esprito Santo
Orientador

RESUMO
Confeccionar quadro de horrios que atendam os critrios pedaggicos das
instituies de ensino tem sido um problema normalmente solucionado de forma
artesanal, o que requer muitos dias de trabalho e o envolvimento de diversas
pessoas, em virtude dos vrios requisitos pedaggicos e institucionais a serem
considerados. Neste trabalho, pretende-se solucionar o Problema de Programao
de Horrios de Disciplinas em Universidades (PPHDU) existente no Centro de
Cincias Agrrias da Universidade Federal do Esprito Santo (CCA-UFES). Para
isso, pretende-se utilizar diferentes meta-heursticas, como Simulated Annealing,
Clustering Search (CS) entre outras.
Palavras-chave: Problema de Programao de Horrios de Disciplinas em
Universidades. Simulated Annealing. Clustering Search.

SUMRIO

1. INTRODUO..........................................................................................................6
1.1. O PROBLEMA E SUA IMPORTNCIA................................................................6
1.2. OBJETIVOS........................................................................................................11
1.2.1. Objetivo geral....................................................................................................11
1.2.2. Objetivos especficos........................................................................................11
2. REVISO DA LITERATURA..................................................................................12
3. METODOLOGIA.....................................................................................................14
3.1. SIMULATED ANNEALING..................................................................................14
3.2. CLUSTERING SEARCH.....................................................................................15
3.2.1. PRINCIPAIS COMPONENTES DA CS............................................................16
3.2.1.1. Geradora de solues....................................................................................16
3.2.1.2. Processo de agrupamento.............................................................................16
3.2.1.3. Busca local.....................................................................................................17
3.2.2. Funo objetivo................................................................................................18
4. RESULTADOS ESPERADOS................................................................................21
5. REFERNCIAS......................................................................................................22
6. CRONOGRAMA.....................................................................................................25

1. INTRODUO
Problemas de otimizao combinatria possuem como objetivo maximizar ou
minimizar o valor do resultado de uma funo definida, considerando todas as
restries que existem. Uma maneira de resolver tal problema seria verificar todas
as solues possveis, o que fica invivel para problemas reais, cujo tamanho
geralmente grande. Para isso, tcnicas heursticas podem ser utilizadas para
solucionar tais problemas em um tempo aceitvel.
possvel encontrar problemas em diversas reas e que esto presentes na vida
real, como programao de horrios, rotao de culturas, roteamento de veculos,
corte de placas, escalonamento de funcionrios, entre outros.
1.1.

O PROBLEMA E SUA IMPORTNCIA

Segundo Abramson (1991), o problema relacionado programao de horrios em


uma instituio de ensino consiste na alocao de turmas, professores e salas, de
tal forma que nenhum esteja alocado mais de uma vez em um mesmo perodo de
tempo. Por sua vez, Souza (2000) define que o referido problema consiste em fixar
uma sequncia de encontros entre professores e estudantes em um perodo
prefixado de tempo, satisfazendo um conjunto de restries de vrias naturezas.
Confeccionar quadro de horrios que atendam os critrios pedaggicos das
instituies de ensino tem sido um problema normalmente solucionado de forma
artesanal, o que requer muito tempo de trabalho, visto que em alguns casos esse
processo pode durar dias ou semanas. Alm disso, o envolvimento de diversas
pessoas se faz necessrio para solucionar o problema. Em geral, esse processo
pode resultar em solues satisfatrias, insatisfatrias ou at mesmo inviveis, uma
vez que no atendem a alguns critrios. Por exemplo, um professor pode ficar
descontente caso tenha muitos intervalos ociosos entre uma aula e outra, o que
caracterizaria um resultado insatisfatrio; um professor possuir duas aulas em um
mesmo intervalo de tempo, o que seria invivel na prtica.
Schaerf (1999) afirma que o maior problema na programao de horrios a difcil
generalizao, uma vez que cada instituio de ensino possui diferentes restries
pedaggicas, principalmente entre universidades. Na literatura pode-se encontrar

inmeras variantes do problema, pois os conceitos pedaggicos se diferem entre as


instituies de ensino escola ou universidade e o tipo de requisitos tambm.
Sendo assim, Schaerf (1999) classifica o problema de programao dos horrios em
trs categorias.
A primeira corresponde ao problema de programao dos horrios em escolas
school time tabling problem ou seja, refere-se criao de horrios nas escolas de
ensino fundamental e mdio, nas quais as turmas apresentam um mesmo currculo
bsico comum, o qual determina a quantidade de disciplinas que cada srie ter, e
tambm a respectiva carga horria semanal. Basicamente, na instituio de ensino
desse grau, cada turma possui uma sala alocada, um aluno est inserido em uma
nica turma, um professor est associado a uma turma e uma disciplina, e por fim,
uma turma est associada a vrios professores. Dessa forma, o objetivo principal
garantir que em um intervalo de tempo, um professor esteja alocado em apenas uma
turma, que seja cumprida a carga horria semanal de todas as turmas e uma turma
possua aula somente com um nico professor em um intervalo de tempo.
A segunda categoria envolve o problema de programao dos horrios de cursos
course time tabling problem retratando a realidade das universidades, uma vez
que o aluno pode estar matriculado em algum curso, por exemplo, Sistemas de
Informao ou Licenciatura em Cincias Biolgicas; e esse possui grades de ofertas,
que compreende as disciplinas ofertadas para o respectivo curso no perodo
correspondente, como Programao I, Vetores e Geometria Analtica, etc. Assim, o
aluno poder se matricular em ofertas do seu curso, como tambm de outros cursos,
considerando os critrios da universidade. Nesse caso, o objetivo principal
assegurar que no exista choque de horrios entre as ofertas para os alunos, que
um professor no esteja alocado em um mesmo intervalo de tempo para mais de
uma oferta, que no exista duas ofertas alocadas em mesma sala de aula e tambm
que a sala de aula alocada seja compatvel com a quantidade de alunos.
Por fim, a terceira categoria corresponde ao problema de programao dos horrios
de exames examination time tabling problem no qual menciona a alocao dos
horrios de avaliaes das disciplinas em uma instituio de ensino. A proposta
desenvolver um horrio de avaliaes das disciplinas de tal forma que respeite um
limite mximo dirio, dentre outros critrios pedaggicos que vigora na instituio,

como por exemplo, evitar que existam avaliaes de disciplinas consideradas


complexas no mesmo dia ou em dias seguidos.
Segundo Santos e Souza (2007), a natureza dos requisitos de um problema de
programao de horrios pode ser dividida em trs categorias, sendo essas
organizacionais, pedaggicos e pessoais.
As organizacionais tratam questes como gesto de recursos e cumprimento da
legislao atual, ou seja, a aula de Programao I dever ser realizada em um
laboratrio de informtica, por exemplo. Os requisitos pedaggicos uma vez
cumpridos podem melhorar o desempenho nas aulas, isto , maior durao de aula
para que seja possvel realizar determinadas atividades em uma disciplina. Por fim,
as categorias pessoais, que esto de acordo com as necessidades pessoais do
corpo docente, por exemplo, um determinado professor prefere que suas aulas
ocorram no perodo vespertino ou noturno.
Santos e Souza (2007) destacam que a modelagem de um problema referente
programao dos horrios envolve diversas restries, que podem ser classificadas
em dois tipos, fortes ou fracas. Caso as restries fortes no sejam satisfeitas, essas
inviabilizam uma soluo, por exemplo, duas disciplinas distintas esto alocadas
para uma mesma sala de aula no mesmo dia e horrio. Por outro lado, as restries
fracas no inviabilizam uma soluo, mas desejvel que sejam satisfeitas, ou seja,
um professor deseja que suas aulas sejam no perodo matutino, mas por motivos
maiores existe a possibilidade que algumas aulas sejam no vespertino ou noturno.
Mariano (2014) apresentou estudos que retratam a realidade do Centro de Cincias
Agrrias da Universidade Federal do Esprito Santo (CCA-UFES) aplicado apenas a
um departamento do campus, e quanto s restries e sua classificao obteve os
seguintes resultados:
Fortes:
1. Conflitos de professor: um professor no poder ministrar mais de uma
disciplina no mesmo dia e horrio;
2. Conflitos de turmas: uma turma no poder assistir a mais de uma aula no
mesmo dia e horrio;

3. Conflitos de salas: uma sala de aula no poder estar reservada para mais de
uma disciplina no mesmo dia e horrio;
4. Aulas seguidas em locais distantes: uma aula no poder ser ministrada ou
assistida em um determinado local sendo a prxima aula em outra unidade
distante que impossibilite o deslocamento do professor ou do aluno;
5. Capacidade da sala: uma turma no poder ser alocada em uma sala cuja
capacidade seja inferior ao nmero de alunos da turma;
6. Tipo incompatvel de sala: as aulas no podero ser alocadas em uma
determinada sala que no compatvel ao tipo solicitado, por exemplo, aulas
que deveriam ser realizadas em laboratrios e foram alocadas em salas
normais;
7. Disciplinas especiais: disciplinas com 3 horas aulas semanais devero ser
alocadas em horrios pr-definidos (primeiro e ltimo horrios), permitindo
assim que outras disciplinas possam ser alocadas antes ou aps as mesmas;
Fracas:
8. Intervalo de trabalho do professor: o intervalo entre o primeiro e o ltimo dia
em que um professor ministrar as aulas dever ser minimizado;
9. Janelas de horrio: intervalos na grade de horrios, entre duas aulas, devero
ser reduzidos;
10. Perodo preferencial: as disciplinas de uma turma devero ser agrupadas em
um nico turno. Por exemplo, agrupar os perodos mpares no turno da
manh e os perodos pares no turno da tarde. Assim, a quantidade de
disciplinas ofertadas fora do turno preferencial de cada turma dever ser
minimizada;
11. Aulas seguidas: aulas de uma mesma disciplina ministradas em horrios
sequenciais (ou no mesmo dia) devem ser evitadas;
12. Intervalo entre perodos: a ocorrncia de professores que ministram aula em
um dia noite e no dia seguinte pela manh dever ser minimizada;
13. Aulas seguidas de nvel difcil: aulas de complexidade difcil ministradas
em horrios sequenciais devem ser evitadas;
14. Aulas de nvel difcil no ltimo horrio: aulas de complexidade difcil
ministradas no ltimo horrio de cada dia devero ser evitadas.

10

De acordo com os critrios apresentados, as restries numeradas de 1 a 7 so


consideradas fortes, e as numeradas de 8 a 14, fracas. A ocorrncia de conflito que
envolve algum dos tipos de restries fortes inviabiliza o resultado e, por outro lado,
conflitos que envolva alguma das restries fracas no inviabiliza o resultado, mas
devero ser minimizadas visando obter um resultado de melhor qualidade.
Vale ressaltar a restrio forte nmero 7, que compreende as disciplinas especiais,
pois os estudos podem analis-la como uma restrio fraca, visto que uma disciplina
com carga horria de 3 horas, em qualquer outro horrio no inviabiliza a soluo.
Entretanto, ao considerarmos tal restrio como fraca, no ser possvel inserir
outras disciplinas no mesmo dia e perodo. As Figuras 1 e 2 exemplificam o
problema pertinente alocao de duas disciplinas do Curso de Cincias Biolgicas:
Informtica com uma aula cuja carga horria compreende 3h, e Bioqumica com
carga horria de 2 horas por aula.
Horrio incio
7h
8h
9h
10h
11h

Segunda-feira
Informtica
Informtica
Informtica
-

Figura 1 - Primeiro exemplo de alocao de disciplinas.

Horrio incio
7h
8h
9h
10h
11h

Segunda-feira
Informtica
Informtica
Informtica
Bioqumica
Bioqumica

Figura 2 - Segundo exemplo de alocao de disciplinas.

11

Analisando a Figura 1, pode-se concluir que a disciplina especial de Informtica,


ofertada para alguns cursos como Cincias Biolgicas, foi alocada de 8h as 11h.
Todavia, esse curso apresenta diversas ofertas que possuem carga horria de 2h
cada e, desta forma, em uma segunda-feira, a turma que faz essa disciplina fica
impossibilitada de efetuar matrcula em outra, cujo horrio das aulas seja no perodo
matutino. Em contrapartida, na Figura 2, a disciplina especial foi alocada nos trs
primeiros horrios do dia, de 7h as 10h, permitindo que a turma se matricule na
disciplina de Bioqumica que ocorre de 10h as 12h. Assim, pode-se maximizar a
quantidade de disciplinas ofertadas para os cursos, evitando o maior nmero de
choques de horrios e melhorando o nmero limitado de salas de aula que o centro
possui.

1.2.

OBJETIVOS

1.2.1. Objetivo geral


O objetivo geral deste trabalho consiste na aplicao de diferentes meta-heursticas
para resoluo do Problema de Programao de Horrios das Disciplinas em
Universidades (PPHDU) encontrado no Centro de Cincias Agrrias da Universidade
Federal do Esprito Santo (CCA-UFES). Inicialmente, sero utilizadas as metaheursticas Simulated Annealing (SA) e Clustering Search (CS), porm, outras metaheursticas podero ser utilizadas ao longo do trabalho.
1.2.2. Objetivos especficos
Visando atingir o objetivo principal, alguns objetivos especficos so requeridos,
entre eles:
a) Coletar dados e informaes referentes programao de horrios do CCAUFES;
b) Desenvolver as adaptaes necessrias para modelagem do PPHDU e
aplicao da SA e CS;
c) Aplicar a SA e a CS a problemas teses para o PPHDU, com base nos dados
obtidos no CCA-UFES;

12

d) Avaliar o desempenho dos mtodos por meio de experimentos computacionais,


comparando os quadros de horrios obtidos com os quadros de horrios
elaborados manualmente no CCA-UFES.
O restante deste trabalho est organizado da seguinte forma. No Captulo 2, so
apresentadas outras abordagens encontradas na literatura para solucionar o
problema. O Captulo 3 define como ser a aplicao da SA e da CS para o PPHDU.
Os resultados esperados esto descritos no Captulo 4. Por fim, no Captulo 5 so
listadas as referncias utilizadas neste trabalho e no Captulo 6 apresentado o
cronograma de execuo das atividades previstas.

13

2. REVISO DA LITERATURA
Csima e Gotlieb (1964) apresentaram uma soluo envolvendo matrizes booleanas,
tornando-se os precursores na soluo de Programao de Horrios Escolares
PHE.
A utilizao da Simulated Annealing, Busca Tabu, Algoritmos Genticos, Algoritmos
Memticos, Iterated Local Search (ILS), Variable Neighborhood Descent (VND),
Greedy Randomized Adaptive Search Procedure (GRASP) e a combinao de
diferentes mtodos foram propostas de soluo para o problema. Publicaes com
essas tcnicas podem ser encontradas em Abramson (1991), Colorni et al. (1998),
Preis (2007), Carvalho (2011), Barbosa e Souza (2011), Oliveira e Viana (2012) e
Fonseca e Santos (2013).
Abramson (1991) aponta como soluo do PHE a utilizao do Simulated Annealing
de forma paralela. Por sua vez Colorni et al. (1998) propuseram trs distintas
solues. Na primeira, empregam o Simulated Annealing, e na segunda os autores
aplicam a Busca Tabu. Por fim, na terceira soluo, exploram o uso do Algoritmo
Gentico com e sem busca local.
Preis (2007) utilizou algoritmos genticos para solucionar o problema. Em
contrapartida, Carvalho (2011) props a meta-heurstica hibrida ILS-VND. Barbosa e
Souza (2011) solucionaram o problema de programao de horrios em instituies
de ensino utilizando uma meta-heurstica hibrida GRASP-ILS. Para gerar a soluo
inicial, os autores adotaram o GRASP e o ILS com relaxamento visando refinar a
soluo obtida pelo GRASP.
Oliveira e Viana (2012) propuseram a utilizao da meta-heurstica hibrida GRASPVND, utilizando o VND como procedimento para gerar uma soluo inicial para o
GRASP. Fonseca e Santos (2013) solucionam o problema por meio da aplicao de
um algoritmo memtico.
Spindler (2010) adotou a meta-heurstica evolutiva Busca Dispersa combinada com
o mtodo reconexo por caminhos para solucionar o problema. Fonseca et. al.
(2011) criou uma soluo inicial reduzindo-a ao Problema da Satisfazibilidade

14

Proposital (SAT) e em seguida aplicou a Busca Tabu objetivando aprimorar a


soluo encontrada.
Mariano (2014) resolveu o PPHDU aplicando a meta-heurstica Adaptive Large
Neighborhood Search (ALNS) ao Departamento de Computao do CCA-UFES. O
autor obteve resultados melhores quando comparados com o quadro de horrios
elaborado de forma manual. Sendo assim, esse trabalho ser utilizado como
bibliografia base para esta pesquisa.
As bibliografias descritas acima representam apenas uma parte dos principais
trabalhos sobre o problema abordado.

15

3. METODOLOGIA
A metodologia proposta neste trabalho para resoluo do PPHDU referente ao CCAUFES ser a aplicao das meta-heursticas Simulated Annealing (SA) e Clustering
Search (CS).
Inicialmente, sero coletados e utilizados dados referentes ao quadro de horrios do
CCA-UFES do segundo semestre do ano de 2014, considerando todas as restries
organizacionais e pedaggicas definidas pelo centro. Em seguida, o problema ser
modelado

computacionalmente,

as

meta-heursticas

SA

CS

sero

implementadas. Por fim, os resultados computacionais obtidos sero comparados


com o quadro de horrios elaborados manualmente pelos coordenadores de curso
do CCA-UFES. Vale ressaltar que os algoritmos sero implementados na linguagem
C/C++.
A seguir, so apresentadas breves descries sobre a SA e a CS.
3.1.

SIMULATED ANNEALING

A Simulated Annealing (SA), proposta inicialmente por Kirkpatrick et. al. (1983),
consiste em um mtodo de busca local que permite movimentos que gerem uma
soluo com resultado pior que o atual como forma de escapar de timos locais.
A partir de uma soluo inicial qualquer s, o algoritmo iniciado, selecionando
aleatoriamente uma soluo s vizinha de s. A variao do valor da funo objetivo ,
isto , = f(s) f(s), verificado a cada gerao de s. Caso < 0, a soluo s
possui melhor valor em relao soluo s (para problemas de minimizao),
portanto o mtodo aceita a soluo s, que por sua vez passa a ser a nova soluo
s. Por outro lado, se 0, calcula-se a possibilidade de aceitao e^(-T) , em que
T representa um parmetro do mtodo denominado temperatura, cuja funo
consiste em regular a viabilidade de aceitao de solues com valor da funo
objetivo pior. A execuo do mtodo encerrada quando a temperatura atinge um
valor prximo zero, ou seja, quando nenhuma soluo que piore o valor da soluo
aceita. A Figura 3 apresenta o pseudocdigo da SA.

16

Dado (, SAmax, T0, Tc e s)


s* s
{Melhor soluo obtida at ento}
iter 0
{Nmero de iteraes na temperatura T}
T T0
{Temperatura corrente}
ENQUANTO T > TC FAA
6. ENQUANTO iter < SAmax FAA
iter iter + 1
s N(s)
f(s) f(s)
SE < 0 ENTO
s s
SE (f(s) < f(s*)) ENTO
s* s FIM-SE;
SENO
Com probabilidade e-/T s s
FIM-SE
FIM-ENQUANTO
T T
iter 0
Retornar s*

Figura 3 - Algoritmo SA.


Fonte: Adaptado de Mauri (2005).

3.2.

CLUSTERING SEARCH

A Clustering Search CS (OLIVEIRA; LORENA, 2007) uma meta-heurstica


hbrida derivada do algoritmo Evolutionary Clustering Seach (ECS), proposto por
Oliveira e Lorena (2004), com o intuito de generalizar o algoritmo.
Chaves e Lorena (2010) descrevem a CS como um mtodo iterativo no qual realiza
o agrupamento de novas solues em clusters para localizao de regies
hipoteticamente promissoras. Um cluster i definido por um conjunto de trs
propriedades C = {c, v, r}, sendo seu centro representado por ci. A quantidade de
solues agrupadas ao cluster i representada pelo volume vi, quando esse atinge
um valor mximo , consideramos uma regio promissora e, portanto deve-se
verificar o seu ndice de ineficincia, definido como ri. O ndice de ineficincia verifica
se com a busca local o centro do cluster i est sendo melhorado e, caso o ri atinja
um valor rmax, ser aplicado uma perturbao ao centro, objetivando escapar de uma
regio ruim ou suficientemente explorada.
Na Figura 4 est representado o fluxograma de execuo da CS com seus principais
componentes.

17

Figura 4 - Fluxograma da CS.


Fonte: Chaves e Lorena (2010).

Uma meta-heurstica geradora de solues, um processo de agrupamento e, por fim


uma heurstica de busca local so os principais componentes da CS. No tpico a
seguir so apresentados esses principais componentes.
3.2.1. PRINCIPAIS COMPONENTES DA CS
3.2.1.1.

Geradora de solues

A cada iterao do CS, uma soluo S gerada por uma meta-heurstica qualquer e
posteriormente enviada para o processo de agrupamento. Nesse trabalho, a gerao
de solues para a CS ser realizada pela meta-heurstica SA, descrita na seo
anterior.
3.2.1.2.

Processo de agrupamento

O procedimento de agrupamento compreende a alocao de solues similares aos


clusters. Aps serem gerados clusters, uma soluo s, concebida por meio da
geradora de solues, ser atribuda ao cluster i mais similar.

18

A verificao da similaridade entre uma soluo s e um cluster i ocorre por meio da


distncia de Hamming Hi (HAMMING, 1950), que calculada utilizando o nmero de
desigualdades encontradas entre uma soluo s e o centro de um cluster. Conforme
descrito na Figura 5, duas solues so apresentadas, e o clculo realizado
verificando quantas vezes ocorreu alguma diferena entre as solues.

Figura 5 - Exemplo de clculo da distncia de Hamming.


Fonte: Chaves (2009).

Se a soluo s representar uma soluo melhor comparada ao centro do cluster ci,


essa passar a ser o novo centro do cluster.
Aps uma soluo ser agrupada em um cluster, realizada uma anlise individual
de todos os clusters, verificando se o volume vi atingiu o limite . Caso ocorra de
ser atingido em algum cluster i, este considerado uma regio promissora,
demonstrando que a mesma deve ser melhor explorada utilizando uma heurstica de
busca local. Por fim, o ndice de ineficcia ri analisado, ou seja, se ri < rmax,
executada uma heurstica de busca local ao centro do cluster. No entanto, uma
perturbao aplicada no centro do cluster caso a busca local seja utilizada mais de
rmax vezes consecutivas ao cluster i sem obter uma melhora.
3.2.1.3.

Busca local

Neste trabalho, sero utilizados os mtodos de busca local primeira melhora e


melhor melhora, conforme apresentados por Hansen e Mladenovic (2005). Dessa
forma, devero ser realizados estudos que evidenciem a que apresenta o melhor
desempenho, considerando tempo e qualidade das solues obtidas.

19

O algoritmo de primeira melhora realiza uma busca por toda a vizinhana e, ao


encontrar uma melhor soluo, a aceita e interrompe sua busca. Vale ressaltar que
apenas no pior caso ser explorada toda a vizinhana. Em contrapartida, no
algoritmo de melhor melhora, sempre realizar uma busca em toda vizinhana e, ao
final da busca, a soluo com uma maior melhoria ser aceita, ou seja, o melhor
resultado da funo objetivo. Esse tipo de algoritmo apresenta um maior custo em
virtude de explorar a vizinhana por completo, mas, em geral, obtm resultados mais
satisfatrios se comparado com o algoritmo de primeira melhora.
3.2.2. Funo objetivo
A funo objetivo visa minimizar a ocorrncia das restries. A estratgia adotada
por Mariano (2014), e que ser seguida neste trabalho, prope penalizar a
ocorrncia de restries, tendo por objetivo evitar que sejam consideradas solues
inviveis, ou seja, a ocorrncia de restries do tipo forte. Sendo assim, ser
utilizada a funo objetivo proposta por Mariano (2014), apresentada a seguir:
S

s=1

t=1
T

CT t + 3 CS s + 4 ASLt + (1)
CP p +2
t=1

Minimizar f ( sol )=1


p=1

ASd +(2)
T

t=1

t=1

IT p+ 9 JH t + 10 PP t + 11
d=1

VS s+ 6 TSI + 7 D 3 H + 8
p=1

5
s=1

12 ND p +13 ASD + 14 ADU (3)


p=1

20

Os pesos das restries sero estabelecidos durante a implementao, e


compreendem o conjunto = [1,2,3,...,14]. Todas as restries apresentadas no
Captulo 1 so consideradas na Funo Objetivo (FO).
1.

CP p

= nmero de conflitos do professor p, ou seja, o nmero de vezes

que o professor p ministra aula no mesmo dia e horrio;


2. CT t = nmero de conflitos da turma t, ou seja, o nmero de vezes que
os alunos da turma t assistem mais de uma aula no mesmo dia e mesmo
horrio;
3. CS s = nmero de conflitos da sala s, ou seja, o nmero de vezes que a
sala s est atribuda a mais de uma turma no mesmo dia e mesmo
horrio;
4. ASLt = nmero de aulas da turma t cujas salas esto geograficamente
distantes;
5. VSs = nmero de violaes na capacidade da sala s, ou seja, o
nmero de turmas alocadas na sala s cujo nmero de alunos maior
que a capacidade da sala;
6. TSI = nmero de aulas alocadas em salas de tipo incompatvel, ou
seja, se 10 aulas devem ser em laboratrio e foram alocadas em salas
normais, TSI = 10;
7. D3 H = nmero de disciplinas de 3 horas aulas semanais alocadas
fora dos horrios padro (primeiro e ltimo horrio, tanto do dia quanto
da noite);
8. IT p = diferena entre o primeiro e o ltimo dia em que o professor p
ministra aulas em relao a um intervalo padro I (considerar I = 3), que
dever ser um parmetro de entrada. Nesse caso, deve-se contabilizar
apenas o que exceder I. Ex: O professor 1 d aulas de segunda a quinta,
logo IT1 = MAX(0,Quinta Segunda + 1 I) IT1 = 1; Caso o professor
2 d aulas de segunda a tera, IT2 = MAX(0,Tera Segunda + 1 I)
IT2 = 0;
9. JH t = nmero de janelas de horrio da turma t, ou seja, o nmero de
horrios vagos entre aulas ao longo da semana para a turma t;

21

10. PP t

= nmero aulas da turma t fora do seu perodo preferencial

(M,T,N), que dever ser mais um parmetro de entrada. Ex: o perodo


preferencial para a turma 1 a tarde (T), logo, PP1 = ao nmero de aulas
para essa turma alocadas no perodo da manh;
11. AS d = nmero de aulas seguidas da disciplina d, ou seja, o nmero de
vezes que a disciplina d repetida num mesmo dia;
12. ND p = nmero de vezes que o professor p ministra aula noite
(qualquer horrio) em um dia e pela manh (qualquer horrio) no dia
seguinte;
13. ASD = nmero de aulas seguidas de disciplinas de nvel difcil, ou
seja, o nmero de vezes ao longo da semana em que duas disciplinas
difceis so consecutivas;
14. ADU

= nmero de aulas de disciplinas de nvel difcil ministradas no

ltimo horrio, ou seja, o nmero de vezes ao longo da semana em que


disciplinas difceis so ministradas no ltimo horrio da tarde e da
noite.
A Figura 6 representa o pseudocdigo da CS que ser utilizada como base para este
trabalho.
Criar novas solues (clusters) aleatoriamente
vi 0 e ri 0 i = 1,..., s soluo inicial
s* s T T0
ENQUANTO T > TC FAA
ENQUANTO iter < SAmax FAA
iter iter + 1
s N(s)
f(s) f(s);
SE < 0 ENTO
s s
SE (f(s) < f(s*)) ENTO
s* s; FIM-SE;
SENO
Com probabilidade e-/T s s
FIM-SE
FIM-ENQUANTO

min H i
i{1,, }

T T
i arg
vi vi + 1
SE vi = ENTO
vi 0
s busca local(ci)
SE f(s) = f(ci) ENTO
ri ri + 1
SE ri = rmax ENTO
ri 0
ci N(ci)
FIM-SE
SENO
ri 0

ci melhor(s,ci)

22

FIM-SE
FIM-SE
s* max(s*,ci)
FIM-ENQUANTO
Retornar s*

Figura 6 - Pseudocdigo da CS.


Fonte: Adaptado de Arajo (2014).

23

4. RESULTADOS ESPERADOS
Neste trabalho, foi apresentada uma breve descrio sobre o Problema de
Programao de Horrios de Disciplinas em Universidades (PPHDU), uma
dificuldade encontrada no Centro de Cincias Agrrias da Universidade Federal do
Esprito Santo (CCA-UFES). Alm disso, foi exposta uma breve explicao sobre as
meta-heursticas Simulated Annealing e Clustering Search (CS).
A escolha da SA e da CS deve-se aos bons resultados obtidos para diversos
problemas, tornando-se assim alternativas para solucionar o PPHDU. Alm disso,
cabe ressaltar que, aps uma busca minuciosa na literatura, nenhuma aplicao da
CS para resoluo do PPHDU foi encontrada.
Acredita-se que seja possvel alcanar os objetivos com a aplicao da SA e da CS
ao problema real apresentado no CCA-UFES, alcanando bons resultados quando
comparados com os quadros de horrios elaborados de forma manual.

24

5. REFERNCIAS
ABRAMSON, D. Constructing school timetables using simulated annealing:
sequential and parallel algorithms. Management Science, v. 37, p. 98-113, 1991.
ARAJO, L. D. Clustering search para resoluo do problema de rotao de
culturas. Trabalho de Concluso de Curso (Cincia da Computao) Universidade
Federal do Esprito Santo, Alegre, 2014.
BARBOSA, S. H. D; SOUZA, S. R. Resoluo do problema de programao de
cursos universitrios baseada em currculos via uma meta-heurstica hbrida
GRASP-ILS-relaxado. In: Simpsio Brasileiro de Pesquisa Operacional, 43, 2011,
Ubatuba. Anais... SBPO, 2011.
CARVALHO, R. Abordagem heurstica para o problema de programao de horrios
de cursos. Dissertao (Mestrado em Engenharia Eltrica) Universidade Federal
de Minas Gerais, Belo Horizonte, 2011.
CHAVES, A. A. Uma meta-heurstica hbrida com busca por agrupamentos aplicada
a problemas de otimizao combinatria. Tese (Doutorado em Computao
Aplicada) Instituto Nacional de Pesquisas Espaciais, So Jos dos Campos, 2009.
CHAVES, A. A.; LORENA, L. A. N. Clustering search algorithm for the capacitated
centered clustering problem. Computers & Operations Research, v. 37, p. 552-558,
2010.
COLORNI, A.; DORIGO, M.; MANIEZZO, V. Metaheuristics for high school
timetabling. Computational Optimization and Applications, v. 9, p. 275-298, 1998.
CSIMA, J.; GOTLIEB, C. C. Tests on a computer method for construction of school
timetables. Communications of the ACM, New York, v. 7, p.160-163, mar. 1964.
FONSECA, G. H. G; RIBEIRO, R. G; MARTINS, F. V. C. Uma abordagem hbrida de
SAT e busca tabu para o problema da programao de horrios escolares. In:
Simpsio Brasileiro de Pesquisa Operacional, 43, 2011, Ubatuba. Anais... SBPO,
2011.

25

FONSECA, G. H. G.; SANTOS G. H. Memetic algorithms to the high school


timetabling problem. In: Evolutionary Computacion, Cancun: CEC, 2013.
HAMMING, R. W. Error detecting and error correcting codes. Bell System Technical
Journal, v. 26, p. 147-160, 1950.
KIRKPATRICK, S.; GELATT, C.; VECCHI, M. Optimization by simulated annealing.
Science, v. 220, n. 4598, p. 498-516, 1983.
MARIANO, G. P. Resoluo do problema de programao de horrios de disciplinas
do CCA-UFES utilizando a meta-heurstica ALNS. Trabalho de Concluso de Curso
(Cincia da Computao) Universidade Federal do Esprito Santo, Alegre, 2014.
MAURI, G. R. Novas heursticas para o problema de escalonamento de tripulaes.
Dissertao (Mestrado em Computao Aplicada) Instituto Nacional de Pesquisa
Espacial, So Jos dos Campos, 2005.
OLIVEIRA, A. C. M; LORENA, L. A. N. Detecting promising areas by evolutionary
clustering search. Lecture Notes in Artificial Intelligence, v. 3171, p. 385-394, 2004.
______. Hybrid evolutionary algorithms and clustering search. Hybrid Evolutionary
Algorithms - Studies in Computational Intelligence, v. 75, p. 77-99, 2007.
OLIVEIRA, G. J.; VIANNA, S. D.; VIANNA, D. F. M. Uma heurstica grasp+vnd para o
problema de programao de horrio escolar. Sistemas e Gesto, v. 7, p. 326-335,
2012.
PREIS, A. T. Prottipo gerador de grades horrias para instituies de ensino.
Trabalho de Concluso de Curso (Cincia da Computao) Universidade Regional
de Blumenau, Blumenau, 2007.
SANTOS, H. G.; SOUZA, M. J. F. Programao de horrios em instituies
educacionais: formulaes e algoritmos. In: Simpsio Brasileiro de Pesquisa
Operacional, 39, 2007, Fortaleza. Anais... SBPO, 2007.
SCHAERF, A. A survey of automated timetabling. Artificial Intelligence Review, v.13,
p. 87-127, 1999.

26

SPINDLER, M. Uma proposta de soluo para problemas de horrio educacional


utilizando busca dispersa e reconexo por caminhos. Dissertao (Mestrado em
Computao Aplicada) Universidade do Vale do Rio dos Sinos, So Leopoldo,
2010.
SOUZA, M. J. F. Programao de horrios em escolas: uma aproximao por
metaheursticas. Tese (Doutorado em Engenharia de Sistemas e Computao)
Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2000.

27

6. CRONOGRAMA
Na Tabela 1 apresentado o cronograma das atividades a serem realizadas durante
a execuo deste trabalho.
Tabela 1 - Lista de atividades.

Lista de atividades
1. Estudo aprofundado das meta-heursticas SA e CS.
2. Coleta de dados e informaes referentes programao de horrios
do CCA-UFES.
3. Implementao das meta-heursticas.
4. Realizao de experimentos computacionais.
5. Desenvolvimento da monografia final do TCC.
A seguir, na Tabela 2, possvel visualizar o cronograma de execuo das
atividades a serem realizadas no decorrer do desenvolvimento deste trabalho.
Tabela 2 - Cronograma de execuo das atividades.

Atividade

ago

set

out

nov

dez

Vous aimerez peut-être aussi