Você está na página 1de 15

Universidade Estadual do Sudoeste da Bahia – UESB

Gustavo da Silva Cruz

DESENVOLVIMENTO DE UM SOFTWARE PARA


ALOCAÇÃO DE HORÁRIOS DE PROFESSORES

Vitória da Conquista – Bahia


Gustavo da Silva Cruz

DESENVOLVIMENTO DE UM SOFTWARE PARA


ALOCAÇÃO DE HORÁRIOS DE PROFESSORES

Trabalho apresentado à disciplina de


Análise de Algoritmos do curso de Ciência
da Computação.
Prof.

Vitória da Conquista – Bahia

1
RESUMO

O início do período letivo em qualquer instituição educacional gera sempre uma preocupação
com a distribuição de horários e dias de aula para os professores, e mesmo com o avanço da
tecnologia computacional para resolução de problemas de forma informatizada muitas
escolas ainda realizam a estruturação da grade de horário de forma manual, tornando essa
tarefa bastante demorada e ineficiente pois demanda muita comunicação além de ter que
atender várias restrições como a mudança do corpo docente e indisponibilidade de horários
dos professores. O objetivo deste trabalho é apresentar uma solução computacional que
atenda as exigências operacionais da instituição bem como as preferências de cada docente
com relação aos dias e horários de aula. Com esse intuito será desenvolvido um programa
para a construção da grade horária acadêmica da UESB, Campus Vitória da Conquista.

Abstract

The beginning of the school period in any educational institution always generates a
preoccupation with the distribution of schedules and days of classes for the teachers, and
even with the advance of the computer technology to solve problems in computerized form
many schools still realize the structuring of the grid of schedule manually, making this task
rather time consuming and inefficient because it requires a lot of communication besides
having to meet various constraints such as the change of faculty and unavailability of
schedules of teachers. The objective of this work is to present a computational solution that
meets the operational requirements of the institution as well as the preferences of each
teacher in relation to the days and class schedules. With this in mind, a program will be
developed for the construction of UESB's academic hours grid, Campus Vitória da Conquista.
SUMÁRIO

INTRODUÇÃO 4

OBJETIVO 5
Objetivos Específicos 5

O PROBLEMA 6

RESTRIÇÕES E REQUISITOS 7

REQUISITOS DO SOFTWARE 8

REQUISITOS FUNCIONAIS 8

REQUISITOS NÃO FUNCIONAIS 8

TRABALHOS RELACIONADOS 8

REFERÊNCIAS BIBLIOGRÁFICAS 14
INTRODUÇÃO

Ao longo das últimas décadas a comunidade científica procura uma solução computacional
que ajude a solucionar um longo e difícil processo de alocação de recursos, um dos
problemas desta natureza é o Problema de Programação de Horários Educacionais, que
envolve a distribuição de horários, salas, e professores durante os períodos da semana sendo
uma tarefa árdua e que exige tempo. Esse problema tem sido objetivo de pesquisa por parte
da comunidade científica, tanto devido ao aumento da sua complexidade, quanto pela busca
de melhores caminhos para solucioná-lo.
Segundo Cooper, o Problema de Programação de Horários Educacionais pode ser modelado
como um problema matemático de Otimização Combinatória de complexidade NP-completo,
mundialmente referido como Timetabling Problem e de grande relevância na área de
Pesquisa Operacional. Por sua vez, Wen define o problema de Timetabling como “a alocação,
sujeita a restrições, de recursos a objetos colocados no espaço e no tempo, de modo a
satisfazer, tanto quanto possível, um conjunto de objetivos desejáveis”.
A elaboração de um escalonamento de horários para um curso de nível superior deve
considerar diversos fatores que estão diretamente ligados a esta proposta de horário. Estes
fatores são: disponibilidade dos horários dos professores, quantidade de disciplinas, alunos,
turma, salas, frequência (quanto à quantidade de aulas por semana de uma determinada
disciplina) e horários das aulas, etecetera (SILVA, 2014).
OBJETIVO
Desenvolver um sistema que gere a grade horária dos professores de uma instituição de
ensino superior.
Objetivos Específicos
Receber n matrículas inteiras (professor), um código de restrição de horário de cada professor, e m
códigos inteiros (Disciplinas), vinculadas aos professores, cada disciplina recebe um código adicional
para dizer se é matutino ou vespertino. O código de restrição do professor. E devolverá um quadro de
horários e uma sugestão de quantidade de salas.
O PROBLEMA
Segundo Pinheiro e Oliveira (2001) o problema de construção de carga horária vem sendo
abordado desde a década de 60, sendo que os primeiros trabalhos a se destacarem foram
realizados na década de 80.
A elaboração dos horários de forma manual é uma atividade muito complexa e demorada pois
deve atender uma série de requisitos como questões pedagógicas e as preferências dos
professores. De forma geral podemos destacar
RESTRIÇÕES E REQUISITOS
R01 – Restrição de Aulas:
Uma turma não poderá ter mais que uma aula, da mesma disciplina, ministradas no
mesmo horário e dia;
R02 – Restrição de Conflitos:
Aulas de disciplinas de mesma turma deverão ser agendadas em horários diferentes,
disciplinas ministradas pelo mesmo professor deverão ser agendadas em horários
diferentes e nenhuma disciplina poderá ter mais de um professor na mesma turma;
R03 – Restrição de ocupação de sala:
Duas aulas não poderão ser agendadas no mesmo horário na mesma sala;
R04 – Restrição de Disponibilidade:
Uma disciplina ministrada por determinado professor não pode ser agendada se ele
não estiver disponível e determinadas disciplinas não podem ser agendadas em determinados
horário tendo que ser respeitado o turno do curso;
R05 – Restrição da capacidade das salas:
O número de alunos deve ser menor ou igual ao número de lugares existentes na sala;
R06 – Restrição de carga horária:
A carga horária diária da turma deve ser satisfeita (5 h/dia), bem como a carga
semanal (25 h/semana), a carga horária semanal do professor deve ser contemplada e a carga
horária semanal de uma disciplina em cada turma deve ser satisfeita;
R07 – Restrição de aulas isoladas:
Aulas pertencentes a um currículo de uma turma deve ser adjacente, em períodos
consecutivos de um mesmo dia;
R08 – Restrição de continuação de turma em sala:
Todas as aulas de uma turma regular devem ser na mesma sala;
R09 – Restrição de quantidade de aulas;
Determina a quantidade mínima e máxima de aulas para cada turma;
R10 – Restrição de laboratório;
Determina a reserva de dia e horário dos laboratório;
REQUISITOS DO SOFTWARE

REQUISITOS FUNCIONAIS
RF001 - Incluir professores
RF002 – Alterar Professores
RF003 - Gerar horários de aulas
RF004 - Cadastrar Salas disponíveis
REQUISITOS NÃO FUNCIONAIS
RNF0001 o sistema deve ser implementado na linguagem Python
RNF0002
RNF0001
RNF0001

Estas características aliadas a um conjunto de restrições tornam perceptível a dificuldade para


encontrar uma fácil solução mesmo com o auxílio do computador, pode se dizer que a
geração de horários é um problema difícil de ser modelado, onde sua complexidade aumenta
com as restrições

TRABALHOS RELACIONADOS
Na monografia de Francisco Sergio de Freitas Filho - uma abordagem para o
problema de alocação de professores em disciplinas utilizando programação linear
inteira é citado alguns trabalhos relacionados e como se desenvolveu a resolução do
problema. Ele cita o estudo de (XAVIER et al., 2013) onde é abordado as dificuldades de
problemas de alocação e é apresentado uma proposta de resolução com o auxílio de uma
ferramenta auxiliar para a alocação de horários. Xavier et al. (2013) desenvolveram um
algoritmo baseado no modelo meta-heurístico de Pesquisa de Vizinhança Variável (Variable
Neighborhood Search,VNS) e no método de busca local de Descida em Vizinhança Variável
(Variable Neighborhood Descent, VND) e realizaram testes com dois cursos daquela
instituição de ensino. O resultado obtido mostrou-se superior em tempo gasto e qualidade
quando comparado ao processo manual, reduzindo o tempo em até 40 vezes.
Em um outro estudo (CIRINO; COSTA; SANTOS, 2013), é considerado o problema de
alocação de salas através de um estudo de caso no Instituto de Ciências Matemáticas e de
Computação da Universidade de São Paulo (ICMC-USP). Os autores propõem um modelo de
programação linear inteira que engloba todos os requisitos de qualidade exigidos pelo
ICMCUSP. Os autores utilizaram o pacote IBM CPLEX 12.4 para resolver o modelo e
compararam a solução encontrada com a solução manual utilizada pelo Instituto. Cirino,
Costa e Santos (2013) apontam que o modelo matemático se mostrou mais eficiente em
tempo gasto e pôde ser utilizado como uma ferramenta auxiliar.

Em (DERIS et al., 1999) é apresentada uma abordagem que mescla duas técnicas para a
solução do problema de alocação de horários para universidades: algoritmos genéticos (AG) e
constraint-based reasoning (CBR). Na implementação do algoritmo, as instâncias do
problema são modeladas de modo a ser representada por um cromossomo. Então,
inicialmente são gerados indivíduos de forma aleatória, passando por processos de mutação,
crossover e 15 avaliação (seguindo as técnicas de AG). Deris et al. (1999) utilizam a técnica
CBR para fazer uma validação das soluções geradas pelo AG e modificá-las quando
necessário, resultando em uma maior eficiência que uma abordagem de AG pura. Os autores
ressaltam que a implementação desenvolvida reduziu bastante o espaço de busca, resultando
em soluções melhores que uma implementação AG pura.

No texto Timetabling com algoritmos genéticos: resultados, restrições e exploração do


paralelismo de Tiago P. Fucilini, C. S. P., Eli Maruani, Marcelo Trindade Rebonatto

Ele cita que diversos trabalhos envolvendo Algoritmos Genéticos para a resolução de
timetabling podem ser relacionados. Melo (2003) trabalhou na definição, otimização e
implementação de uma função para avaliação de AG. Apresentou bons resultados, porém
com elevado tempo de execução e sem interface visual para uso do sistema, dificultando sua
adoção como solução efetiva. Lenzi (2004) produziu um AG que resolve os objetivos
propostos com bom desempenho, porém se limita a um curso com apenas seis (6) semestres
de duração com aulas somente à noite. Igualmente a Lenzi, o software carece de uma
interface otimizada para uso do software.
Um outro texto UTILIZAÇÃO DE ALGORITMOS GENÉTICOS PARA
MONTAGEM DE HORÁRIOS ACADÊMICOS COM FOCO NA BLOCAGEM DE
HORÁRIOS de MARIA WESLANE DE SOUSA ALMEIDA cita

Pousen (2012), em seu trabalho, oferece um modelo de solução do problema de


escalonamento de horários baseado no sistema brasileiro de ensino, visando alocar os
professores e as disciplinas que cada professor ministra, e também as alocações das aulas nas
salas. Em seu trabalho, Pousen utiliza a técnica meta-heurística têmpera simulada (simulated
annealing) a fim de encontrar uma solução com o menor custo possível. O trabalho foi
modelado com base nos métodos de pesquisa operacional. O modelo proposto visa reduzir a
carga horária dos professores, mas sem infringir as restrições quanto ao número de aulas
diárias. Segundo o autor, com a aplicação do modelo foi possível gerar horários, de forma
computacional, de qualidade similar às geradas pela escola, que se mostrou ser de ótima
qualidade.

POULSEN, Camilo José Bornia. Desenvolvimento de um modelo para o school timetabling


problem baseado na meta-heurística simulated annealing. Porto Alegre: UFRGS, 2012.
Originalmente apresentado como dissertação de mestrado na Universidade Federal do Rio Grande
do Sul, 2012.

No trabalho de Coloni et al. (1993), os autores comparam duas versões de algoritmos


genéticos para resolver o problema de escalonamento de horários com e sem busca local,
avaliando o desempenho de ambos em relação a uma proposta feita manualmente. O trabalho
ainda compara o desempenho dos GAs com duas outras propostas feitas por meio das
técnicas de têmpera simula e da busca tabu (tabu search). A proposta foi aplicada numa
escola italiana de ensino médio.
Para encontrar as soluções pelos GAs foram utilizados cruzamentos constantemente e foram
definidos operadores de cruzamento e mutação que só retornavam soluções viáveis,
aplicando-os para encontrar a melhor solução. Foi levado em consideração a disponibilidade
dos professores, os horários das aulas e a duração de cada aula. No experimento, os GAs
produziram resultados com melhor desempenho em comparação às demais técnicas, visto que
os GAs são flexíveis com a escolha de diferentes escalas de horários. O algoritmo baseado

10
em GA com busca local mostrou melhores resultados, e segundo os autores, foi possível
encontrar soluções com número de iterações significativamente menor em comparação com a
quantidade de iterações realizadas sem busca local.

COLONI, Alberto; DORIGO, Marco; MANIEZZO, Vittorio. A genetic algorithm to solve the
timetable problem. Milano: Politécnico de Milano, 1993.

Lara (2008) mostra a implementação do algoritmo colônia de abelhas (bee algorithm) para
resolver o problema de escalonamento de horários escolar. O algoritmo encontra a melhor
solução por meio do conceito de vizinhos. O autor propõe ainda uma nova maneira para
substituir uma população considerando a história evolutiva das abelhas e sua aptidão. O
algoritmo foi testado em duas escolas e obteve resultados promissores. Os resultados
apresentados no artigo indicam que uma tarefa que antes levava vários dias para ser realizada
de forma manual, foi reduzida para aproximadamente 6 horas com a utilização do algoritmo.

LARA, Carlos; FLORES, Juan J.; CALDERÓN, Félix. Solving a school timetabling problem
using a bee algorithm. MICAI 2008: advances in artificial intelligence, v. 5317. Atizapán de
Zaragoza: Springer, 2008. p. 664-674.

Como forma de otimizar e resolver o problema de escalonamento de horários, o trabalho de


Birbas et al. (2009) utiliza a programação inteira (integer programming). O experimento foi
realizado em escolas da França e da Alemanha que utilizam o sistema de ensino Hellenic. Os
autores observaram que o tamanho da escola influencia positivamente na satisfação dos
professores e negativamente na disponibilidade dos professores. Como resultado, o
escalonamento obteve êxito de acordo com as restrições (e regras) do sistema escolar,
tentando favorecer o máximo possível às preferências dos professores.

BIRBAS, T.; DASKALAKI, S.; HOUSOS, E. School timetabling for quality student and
teachers schedules. Journal of Scheduling, v. 12, p. 177-197, 2009.
Marte (2002) oferece uma forma de solução do problema de escalonamento de horários para
escolas alemãs, utilizando a programação com restrições e programação paralela. No
trabalho, o autor compara duas soluções por meio da programação paralela, uma para
aprofundar-se (downsize) no modelo e outra para priorizar o espaço de busca. Para resolver o
problema foram utilizados cuidados com performance computacional. Em comparação, o
resultado obtido é que as duas formas tiveram desempenho praticamente semelhantes.

MARTE, Michael. Models and algorithms for school timetabling – a constraints-programming


approach. Munique: LMU, 2002. Originalmente apresentado como tese de doutorado na
Universidade de Munique, 2002.

Algumas escolas espanholas foram utilizadas como exemplo no trabalho de Pena et al.
(2008). Neste trabalho, os autores apresentam uma proposta de solução para escalonamento
de horários escolar usando o método ascendente não aleatório (RNA search) combinado com
algoritmos genéticos, como técnica de solução. Os experimentos foram realizados num
cenário real e demonstraram que a combinação das duas técnicas obtém resultados mais
estáveis.

PENA, Ana Cerdeira; CARPENTE, Luisa; FARIÑA, Antonio; SECO, Diego. New approaches
for the school timetabling problem. MICAI 2008: advances in artificial intelligence, v. 5317.
Atizapán de Zaragoza: Springer, 2008. p. 261-267.
REFERÊNCIAS BIBLIOGRÁFICAS

COOPER, T. B.: KINGSTON, J. H. The complexity of timetable construction problems.


In Burke and Ross, Springer-Verlag, p. 283-295, 1995

PINHEIRO, P. R.; OLIVEIRA, J. A. Um ambiente de apoio a construção de horário


escolar na WEB: modelagem implementação e aplicação nas escolas de ensino
médio. In: SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, XXXIII, Campos do
Jordão-SP. 2001.

XAVIER, B. M.; SILVA, A. D. da; VIANNA, D. S.; COSTA, H. G.; COELHO, W. B.


Proposta
de alocação de horários de professores e turmas em instituições de ensino superior
utilizando
uma heurística vns/vnd. 2013.

CIRINO, R. B. Z.; COSTA, A. M.; SANTOS, M. O. Um modelo matemático para a


resolução
do problema de alocação de salas no instituto de ciências matemáticas e de
computação da
universidade de são paulo. 2013.
DERIS, S.; OMATU, S.; OHTA, H.; SAAD, P. Incorporating constraint propagation in
genetic
algorithm for university timetable planning. Engineering applications of artificial
intelligence, Elsevier, v. 12, n. 3, p. 241–253, 1999.
Melo R. M. Definição e implementação de uma função de avaliação para um sistema de
geração de grade horária que utiliza como método de busca Algoritmos Genéticos.
2003. Trabalho de conclusão de curso (Graduação). Uniplac, Criciúma, 2003.
Lenzi A. L. Desenvolvimento de grades horárias por Algoritmos Genéticos. 2003.
Trabalho de conclusão de curso (Graduação). Uniplac, Lages, 2004.

Você também pode gostar