Resumo:
A construção de grades horárias dos cursos de uma universidade é um problema que deve ser enfrentado no início de todos os semestres e, por mobilizar quantidades significativas de recursos, se constitui numa importante tarefa administrativa. É classificado, em termos de complexidade computacional, como NP-hard, o que implica grande exigência de capacidade de processamento. É modelado de maneiras muito diversas, no intuito de se obter adequação quanto ao contexto educacional do país, às regras específicas da instituição ou aos objetivos específicos dos gestores, entre outros. Neste artigo, propõe-se um modelo matemático para construir grades de horários, otimizando a utilização de salas de aula. Para resolver o modelo proposto, desenvolveu-se um algoritmo que divide o problema para viabilizar o uso de programação linear inteira mista. Experimentos computacionais aplicados a uma base de dados real de uma universidade pública brasileira confirmaram o bom desempenho da abordagem proposta, reduzindo consideravelmente a quantidade de salas de aulas alocadas.
Palavras-chave:
University Timetabling Problem; Programação inteira; Programação matemática; Decomposição; Grades horárias
Abstract:
Creating timetables for courses is a problem that universities face at the beginning of every semester. This activity represents an important administrative task because it consumes significant amount of resources. In terms of computational complexity, this is classified as NP-hard, as it demands a huge amount of processing capacity. Timetabling is modeled in a number of different ways, aiming to fit the country’s educational context, meet specific rules of institutions of higher education or specific goals of managers, among others. In this paper, we propose a mathematical model to solve the University Course Timetabling Problem and optimize classroom utilization. To solve the proposed model, an algorithm that divides the problem was developed, solving it with mixed integer linear programming tools. Computational experiments applied to a real database of a Brazilian public university confirmed the good performance of the proposed approach, which greatly reduces the amount of assigned classrooms.
Keywords:
University Timetabling Problem; Integer programming; Mathematical programming; Decomposition; Timetable
1 Introdução
A construção de grades horárias dos cursos de uma universidade é um problema geralmente enfrentado no início de cada semestre e, por mobilizar uma quantidade significativa de pessoas, tempo e esforço, se constitui numa das mais importantes tarefas administrativas de uma universidade. Tal problema consiste na alocação de certos recursos, de maneira que se respeitem as restrições materiais e pedagógicas inerentes a cada instituição. As restrições mais comumente encontradas são físicas (salas de aula, laboratórios, auditórios, ginásios esportivos), de pessoal (professores, estudantes), intangíveis (dias, períodos, semestres, cursos, disciplinas), entre outras.
Casos reais podem conter centenas, ou milhares, de recursos de cada tipo. Além disso, quaisquer soluções factíveis para o problema devem respeitar quantidades igualmente muito grandes de restrições, e devem atender, da melhor maneira possível, a certas demandas (de professores, institucionais, de redução de custos, entre outras). Diante disso, construir uma boa grade horária apresenta-se como uma tarefa bastante árdua.
A construção de grades horárias de cursos em universidades é um problema conhecido na literatura especializada como University Course Timetabling Problem (UCTP). Consiste, de acordo com Schaerf (1999)Schaerf, A. (1999). A survey of automated timetabling. Artificial Intelligence Review, 13(2), 87-127. http://dx.doi.org/10.1023/A:1006576209967.
http://dx.doi.org/10.1023/A:100657620996...
, no agendamento de um conjunto de disciplinas para cada curso dentro de um número limitado de salas e períodos de tempo. O autor observa ainda que a diferença principal deste problema para o de construção de grades horárias em escolas está no fato de que, nas universidades, os diferentes cursos podem ter estudantes em comum.
Em geral, a solução deste problema é obtida por meio do envolvimento de muitas pessoas por muitos dias. Além disso, a solução obtida pode ser insatisfatória em algum aspecto, por exemplo, um estudante, que, por conta da coincidência de horários de duas disciplinas, não poderá cursar as duas (Schaerf, 1999Schaerf, A. (1999). A survey of automated timetabling. Artificial Intelligence Review, 13(2), 87-127. http://dx.doi.org/10.1023/A:1006576209967.
http://dx.doi.org/10.1023/A:100657620996...
).
Encontra-se na literatura sobre o UCTP uma variedade de modelagens do problema e de abordagens para a sua solução. Entretanto, ainda que haja objetivos em comum, alguns conceitos e definições não se aplicam a todas as instituições e sistemas de ensino, que variam entre países.
Alguns dos modelos publicados foram aplicados em instâncias reais, tais como: Virginia Tech (EUA), por Sarin et al. (2010)Sarin, S. C., Wang, Y., & Varadarajan, A. (2010). A university-timetabling problem and its solution using Benders’ partitioning: a case study. Journal of Scheduling, 13(2), 131-141. http://dx.doi.org/10.1007/s10951-009-0157-1.
http://dx.doi.org/10.1007/s10951-009-015...
; Universidade do Chile, por Miranda (2010)Miranda, J. (2010). eClasSkeduler: a course scheduling system for the executive education unit at the Universidad de Chile. Interfaces, 40(3), 196-207. http://dx.doi.org/10.1287/inte.1090.0485.
http://dx.doi.org/10.1287/inte.1090.0485...
; sistema universitário espanhol e, em especial, a Universidade de Valencia, por Alvarez-Valdes et al. (2002)Alvarez-Valdes, R., Crespo, E., & Tamarit, J. M. (2002). Design and implementation of a course scheduling system using tabu search. European Journal of Operational Research, 137(3), 512-523. http://dx.doi.org/10.1016/S0377-2217(01)00091-1.
http://dx.doi.org/10.1016/S0377-2217(01)...
; Universidade de Purdue (EUA), por Rudová et al. (2011)Rudová, H., Müller, T., & Murray, K. (2011). Complex university course timetabling. Journal of Scheduling, 14(2), 187-207. http://dx.doi.org/10.1007/s10951-010-0171-3.
http://dx.doi.org/10.1007/s10951-010-017...
; Università degli studi di Udine (Itália), desenvolvido por Burke et al. (2010)Burke, E. K., Mareček, J., Parkes, A. J., & Rudová, H. (2010). Decomposition, reformulation, and diving in university course timetabling. Computers & Operations Research, 37(3), 582-597. http://dx.doi.org/10.1016/j.cor.2009.02.023.
http://dx.doi.org/10.1016/j.cor.2009.02....
; sistema educacional da Grécia, por Daskalaki et al. (2004)Daskalaki, S., Birbas, T., & Housos, E. (2004). An integer programming formulation for a case study in university timetabling. European Journal of Operational Research, 153(1), 117-135. http://dx.doi.org/10.1016/S0377-2217(03)00103-6.
http://dx.doi.org/10.1016/S0377-2217(03)...
; e Universidade de Sydney (Austrália), por Beyrouthy et al. (2007)Beyrouthy, C., Burke, E. K., Landa-Silva, D., McCollum, B., McMullan, P., & Parkes, A. J. (2007). Towards improving the utilization of university teaching space. The Journal of the Operational Research Society, 60(1), 1-14..
Há, também, aplicações de modelos em instâncias brasileiras, como a formulação e a solução heurística para o Instituto de Ciências Exatas e Geociências da Universidade de Passo Fundo, desenvolvida por Kripka et al. (2011)Kripka, R. M. L., Kripka, M., & Silva, M. C. (2011). Formulação para o problema de alocação de salas de aula com minimização de deslocamentos. In Anais do 43º Simpósio Brasileiro de Pesquisa Operacional (pp. 1941-1951). Ubatuba: SOBRAPO., e a modelagem e a solução por programação matemática para o curso de Engenharia de Produção da Universidade Federal do Paraná, apresentada por Andrade et al. (2012)Andrade, P. R. L., Scarpin, C. T., & Steiner, M. T. A. (2012). Geração da grade horária do curso de engenharia de produção da UFPR através de programação linear binária. In Anais do 44º Simpósio Brasileiro de Pesquisa Operacional (pp. 1052-1063). Rio de Janeiro: SOBRAPO..
Apesar disso, alguns autores observaram que são poucos os trabalhos acerca do problema de construção de grades horárias que aplicaram em instâncias reais os modelos e métodos que desenvolveram (Carter & Laporte, 1998Carter, M. W., & Laporte, G. (1998). Recent developments in practical course timetabling. In E. Burke & M. Carter. Practice and theory of automated timetabling (Vol. 1408, pp. 3-19). Toronto: Springer-Verlag Berlin.; McCollum, 2007Mccollum, B. (2007). A perspective on bridging the gap between theory and practice in university timetabling. In: E. K. Burke & H. Rudová. In Practice and Theory of automated timetabling VI (Vol. 3867, pp. 3-23). Berlin: Springer-Verlag.; Murray et al., 2007Murray, K., Müller, T., & Rudová, H. (2007). Modelling and solution of a complex university course timetabling problem. In E. K. Burke & H. Rudová. Lecture notes in computer science (Vol. 3867, pp. 189-209). Berlin: Springer-Verlag.). Estes autores observam que muitos trabalhos se concentram na solução de problemas simplificados, ou utilizam conjuntos de dados artificiais, e raramente estendem a solução para problemas em larga escala.
Gunawan et al. (2012)Gunawan, A., Ng, K. M., & Poh, K. L. (2012). A hybridized lagrangian relaxation and simulated annealing method for the course timetabling problem. Computers & Operations Research, 39(12), 3074-3088. http://dx.doi.org/10.1016/j.cor.2012.03.011.
http://dx.doi.org/10.1016/j.cor.2012.03....
observam que se encontra na literatura um número significativo de técnicas e abordagens utilizadas para a sua solução. Ressaltam que problemas de pequeno tamanho podem ser solucionados por meio de algoritmos exatos, mas que, na medida em que o seu tamanho cresce, a solução ótima não pode ser encontrada, devido à sua complexidade computacional. Assim, a construção de um modelo para a solução do UCTP em uma instância real vem ao encontro das observações de McCollum (2007)Mccollum, B. (2007). A perspective on bridging the gap between theory and practice in university timetabling. In: E. K. Burke & H. Rudová. In Practice and Theory of automated timetabling VI (Vol. 3867, pp. 3-23). Berlin: Springer-Verlag., aproximando técnicas da pesquisa operacional (PO) com a realidade enfrentada por gestores de instituições de ensino superior, especificamente do caso brasileiro, no intuito de apoiá-los nas suas decisões.
Com respeito aos estudos sobre uso de espaços, Beyrouthy et al. (2007)Beyrouthy, C., Burke, E. K., Landa-Silva, D., McCollum, B., McMullan, P., & Parkes, A. J. (2007). Towards improving the utilization of university teaching space. The Journal of the Operational Research Society, 60(1), 1-14. os dividem em “gestão” e “planejamento”, ocupados com o curto e o longo prazo, respectivamente. É neste sentido, tanto no planejamento quanto na gestão dos espaços, que as técnicas de pesquisa operacional podem dar importante contribuição no apoio à decisão. Por meio da análise da solução é possível apontar a real necessidade de espaços de aula e outros espaços auxiliares (o que dá suporte à decisão de construir, alugar ou se desfazer de tais locais), e melhor gerir os espaços disponíveis (designar pessoas e recursos aos locais de aula).
Para que se tenha uma ideia da importância de um adequado planejamento dos espaços, o gestor de uma universidade federal brasileira foi consultado sobre a quantidade de imóveis que têm sido alugados e o montante financeiro despendido pela instituição nesses aluguéis. No ano de 2012, esta instituição alugou ao todo 29 imóveis, o que consumiu valor superior a 3,5 milhões de reais. E, segundo afirma este gestor, os espaços muito provavelmente são mal utilizados.
Diante disso, este estudo tem como objetivo desenvolver um modelo que apoie os gestores de uma universidade na construção das grades horárias das aulas, mais especificamente, otimizando o uso dos espaços físicos, respeitando as restrições estabelecidas pela instituição.
O artigo está organizado da seguinte forma: na Seção 2, é apresentada uma breve revisão sobre o problema da construção de grades horárias em universidades; na Seção 3, o problema é descrito mais detalhadamente e a modelagem matemática proposta é explicitada; na Seção 4, apresentam-se os resultados computacionais da aplicação do modelo com dados reais; e, por fim, na Seção 5, apresentam-se as conclusões deste estudo e perspectivas de pesquisas futuras.
2 Construção de grades horárias em universidades
Burke et al. (2003)Burke, E., Werra, D., & Kingston, J. (2003). Applications to timetabling. In J. L. Gross & J. Yellen. Graph Theory (chap. 5, pp. 445-474). Boca Raton: CRC Press, 2003. propuseram uma definição para o problema da construção de grades horárias. De acordo com esses autores, o problema é composto por quatro parâmetros: T, um conjunto finito de intervalos de tempo (dias, semanas); R, um conjunto finito de recursos (salas, professores); M, um conjunto finito de encontros (combinações de intervalos de tempo com recursos); e C, um conjunto finito de restrições. O problema consiste em atribuir intervalos de tempo e recursos aos encontros, de tal forma que se satisfaçam as restrições da melhor forma possível.
O problema da construção de grades horárias tem sido objeto de pesquisa, utilizando variados métodos de solução, desde o final da década de 1950 (Tripathy, 1984Tripathy, A. (1984). School timetabling: a case in large binary integer linear programming. Management Science, 30(12), 1473-1489. http://dx.doi.org/10.1287/mnsc.30.12.1473.
http://dx.doi.org/10.1287/mnsc.30.12.147...
). Este problema ainda desperta muito interesse, de acordo com Werra (1997)Werra, D. (1997). The combinatorics of timetabling. European Journal of Operational Research, 96(3), 504-513. http://dx.doi.org/10.1016/S0377-2217(96)00111-7.
http://dx.doi.org/10.1016/S0377-2217(96)...
, principalmente de pesquisadores em PO, devido à sua natureza combinatória, pois, para encontrar uma solução ótima, ou mesmo factível, é necessário analisar um grande número de combinações.
Dentre os problemas de construção de grades horárias educacionais, destacam-se o School Timetabling Problem (STP) e o University Course Timetabling Problem (UCTP). Efetua-se essa divisão, no contexto educacional, em razão de algumas diferenças importantes entre os problemas. Carter & Laporte (1998)Carter, M. W., & Laporte, G. (1998). Recent developments in practical course timetabling. In E. Burke & M. Carter. Practice and theory of automated timetabling (Vol. 1408, pp. 3-19). Toronto: Springer-Verlag Berlin. observam que, nas escolas, as turmas são pré-definidas, há poucos programas, poucas opções para os estudantes e os professores têm cargas de trabalho pesadas, enquanto que nas universidades os estudantes possuem mais liberdade de escolha e os professores têm menos carga horária. Além disso, no caso do UCTP, as turmas possuem estudantes em comum, ao contrário do STP.
De acordo com a sequência das etapas da construção das grades horárias, Carter & Laporte (1998)Carter, M. W., & Laporte, G. (1998). Recent developments in practical course timetabling. In E. Burke & M. Carter. Practice and theory of automated timetabling (Vol. 1408, pp. 3-19). Toronto: Springer-Verlag Berlin. apresentam uma divisão nos problemas: master timetabling e demand-driven systems. No caso da primeira divisão, as disciplinas, professores, salas e demais recursos materiais e pedagógicos são combinados e, posteriormente, os alunos escolhem, de acordo com as grades já prontas, as disciplinas que lhes interessam. No caso da segunda, os estudantes primeiramente escolhem quais disciplinas irão cursar e, posteriormente, os professores, salas e disciplinas são combinados para a construção da grade horária. Observa-se que se poderá elaborar a estratégia de solução mais adequada para o problema concreto a partir desta divisão e das condições observadas na prática de cada instituição.
A formulação do UCTP envolve, em geral, uma grande quantidade de restrições e preferências dos estudantes e professores. As restrições são usualmente divididas em dois tipos: restrições fortes, que se caracterizam por limitar o espaço de soluções possíveis (devem, portanto, ser atendidas); e restrições fracas, que se caracterizam por penalizar a função objetivo e não limitar o espaço de soluções (podem não ser atendidas), de forma que apenas contribuem para a avaliação da qualidade da solução.
Em termos de complexidade computacional, Pongcharoen et al. (2008)Pongcharoen, P., Promtet, W., Yenradee, P., & Hicks, C. (2008). Stochastic optimisation tool for university course scheduling. International Journal of Production Economics, 112(2), 903-918. http://dx.doi.org/10.1016/j.ijpe.2007.07.009.
http://dx.doi.org/10.1016/j.ijpe.2007.07...
classificaram este problema como NP-hard, o que implica uma exigência de grande quantidade de recursos computacionais. De acordo com Cormen et al. (2002)Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2002). Algoritmos: Teoria e prática (2. Ed.). Rio de Janeiro: Elsevier., os problemas que pertencem a esta classe não podem ser resolvidos por qualquer algoritmo em tempo polinomial e, no caso de grandes instâncias, exigem o desenvolvimento de algoritmos de aproximação.
Observa-se, na literatura sobre o problema, que os modelos são construídos com diversos objetivos: maximização das preferências de estudantes e professores, minimização de períodos ociosos para professores e estudantes, minimização do conflito horário entre disciplinas pré-requisitos, entre outros.
Além disso, de acordo com Alvarez-Valdes et al. (2002)Alvarez-Valdes, R., Crespo, E., & Tamarit, J. M. (2002). Design and implementation of a course scheduling system using tabu search. European Journal of Operational Research, 137(3), 512-523. http://dx.doi.org/10.1016/S0377-2217(01)00091-1.
http://dx.doi.org/10.1016/S0377-2217(01)...
, a estrutura das grades horárias e suas especificidades variam entre países, devido a diferenças entre os sistemas educacionais, ou mesmo entre universidades, dependendo das formas em que o ensino é organizado. Isto explica o porquê deste problema ser tão estudado na literatura de pesquisa operacional.
Diante dessa diversidade, o presente artigo apresenta uma modelagem considerando a necessidade de otimização de espaços físicos – particularmente, salas de aula – que, de acordo com os dados coletados em uma universidade federal e aplicados ao modelo desenvolvido, podem resultar em uma economia de milhões de reais entre aluguéis, limpeza, manutenção predial, segurança, entre outros.
3 Modelagem matemática
Nesta seção, descrevem-se o detalhamento do problema abordado na pesquisa, os conjuntos de entidades, a formulação matemática do modelo e a abordagem utilizada para a sua solução.
3.1 Apresentação do problema
Este problema é classificado como master timetabling, de acordo com a divisão discutida na Seção 2. Por conta disso, o modelo não possui conjunto de estudantes. Assumiu-se, também, que cada turma já tem um professor a ela designado. Assim, o conjunto de professores está presente para que o modelo evite conflito de horários (professores não podem ministrar mais de uma aula ao mesmo tempo). E, no que diz respeito aos espaços físicos, consideraram-se apenas os locais destinados a atividades gerais (salas de aula), excluindo-se os locais especiais, como laboratórios, ginásios, ambientes temáticos e outros locais de atividades específicas. Esta decisão baseou-se no caso da Universidade do gestor citado na Seção 1, que necessita alugar espaços por insuficiência de salas de aulas – e não de locais especiais. Adicionalmente, nesta Universidade, a alocação das salas de aula é coordenada pela Reitoria, enquanto os locais especiais são alocados pelas Coordenações de Curso.
Para modelar adequadamente o problema, por meio de técnicas de pesquisa operacional, é importante identificar as restrições fortes e fracas. As restrições fortes, ou essenciais, são aquelas que devem necessariamente ser satisfeitas. Não as atender implica produzir uma solução inviável. Já as restrições fracas são requisitos que não são essenciais para produzir uma solução viável, mas características cujo atendimento é desejável (Kahar & Kendall, 2010Kahar, M. N. M., & Kendall, G. (2010). The examination timetabling problem at Universiti Malaysia Pahang: Comparison of a constructive heuristic with an existing software solution. European Journal of Operational Research, 207(2), 557-565. http://dx.doi.org/10.1016/j.ejor.2010.04.011.
http://dx.doi.org/10.1016/j.ejor.2010.04...
). A seguir, as restrições fortes e fracas são apresentadas formalmente, o prefixo “HC” representa as restrições fortes (hard constraints) e “SC”, as fracas (soft constraints):
HC01 O número exato de aulas previsto em cada disciplina deve ser alocado
HC02 Turmas somente podem ser alocadas em horários permitidos pela instituição
HC03 As quantidades mínimas e máximas de aulas diárias de cada disciplina devem ser respeitadas
HC04 Turmas não poderão ter aulas em dias consecutivos
HC05 Aulas de uma turma ministradas no mesmo dia deverão ser consecutivas
HC06 Disciplinas de um semestre de um curso não poderão ter suas turmas colidindo horários, caso sejam obrigatórias para esse curso e possuam uma única turma
HC07 Professores somente podem ser alocados em horários permitidos pela instituição
HC08 Professores não podem ministrar mais de uma aula ao mesmo tempo
HC09 Salas de aula podem receber no máximo uma aula num mesmo horário
HC10 Salas de aula somente podem receber aulas em horários permitidos pela instituição
HC11 As capacidades das salas de aula devem ser respeitadas
HC12 Aulas de uma turma, num mesmo dia, deverão ocorrer na mesma sala de aula
HC13 Professores somente poderão ministrar aulas em uma única unidade (prédio), num mesmo turno de um dia
SC01 Minimizar o custo com a utilização de unidades
3.2 Formulação matemática
Testes iniciais foram feitos com conjuntos de dados coletados de uma instituição real, o que resultou na impossibilidade de se solucionar a instância completa de forma ótima. Diante disso, foi proposta uma forma de abordar o problema que possibilitasse a sua solução. O problema principal foi, então, dividido em dois subproblemas:
-
1
Construção das grades horárias semanais, com o objetivo de distribuir uniformemente os encontros entre todos os horários; e
-
2
Atribuição de salas de aula às turmas, tendo como objetivo a restrição fraca SC01.
Esta estratégia de divisão do problema prima pela separação dos recursos a serem atribuídos às aulas, quais sejam: tempo (dias e períodos), no primeiro subproblema, e espaço (salas de aula), no segundo subproblema. Além disso, identificou-se uma característica relevante: todos os encontros em sala de aula ocorreram, para uma dada turma de disciplina, num mesmo turno, o que permitiu que o problema fosse resolvido separadamente em cada turno. Aplicando-se essas duas estratégias de divisão, do problema e da instância, foi possível encontrar soluções.
A seguir são apresentados os parâmetros e conjuntos de dados do primeiro subproblema. Os conjuntos de dados representam as entidades que são modeladas, e os parâmetros, as condições que o modelo deve respeitar.
Conjuntos:
: cursos (courses),
: dias da semana (days),
: turmas de disciplinas (events),
: disciplinas (subjects),
: professores (teachers),
: turmas da disciplina ,
: turmas do professor ,
: semestres letivos (grades),
: períodos de aula de um dia (periods),
: disciplinas obrigatórias que possuem apenas uma turma,
,
Parâmetros:
: vetor que indica o número de aulas teóricas semanais da disciplina
: vetor que indica o número mínimo de aulas diárias da disciplina
: vetor que indica o número máximo de aulas diárias da disciplina
: matriz de disponibilidade horária das turmas, em que quando a turma pode ter aula no dia e no período , e , caso contrário
: matriz de disponibilidade horária dos professores, em que quando o professor pode dar aula no dia e no período , e , caso contrário.
A formulação matemática do modelo proposto deve resultar nos valores das seguintes variáveis de decisão:
se a turma é alocada no dia e período de aula
caso contrário
As restrições do modelo demandam a utilização de conjuntos de variáveis auxiliares:
se a turma tem aula no dia
caso contrário
primeiro período de aula da turma ministrada no dia
último período de aula da turma ministrada no dia
quantidade de aulas alocadas no dia e no período
contém o maior valor do conjunto de variáveis
Para distribuir uniformemente as aulas na grade horária, é necessário e suficiente computar a quantidade de aulas alocadas no slot com maior concentração de aulas, ou seja, no slot que apresente o “pico” de quantidade de aulas. O objetivo do modelo é minimizar a quantidade de aulas alocadas no slot com maior concentração de aulas:
Para atender às restrições fortes HC01–HC08 e calcular o valor de , que está de acordo com a restrição fraca SC01, a Função Objetivo 1 está sujeita às seguintes restrições:
O Conjunto de Restrições 2 atende a HC01, garantindo que o número de aulas seja atendido. A adequação das grades horárias das turmas conforme a disponibilidade da própria turma (HC02) e do professor (HC07) são atendidas pelas Equações 3 e
11. A formulação da Equação 11 também é responsável pela restrição HC08, que impede que um professor seja alocado mais de uma vez no mesmo slot. As quantidades mínima e máxima de aulas que uma turma pode ter num mesmo dia (HC03) são impostas pelo Conjunto de Restrições 5, que faz uso da variável auxiliar , calculada na Equação 4 por meio de uma restrição de implicação. A Equação 6 garante que o modelo não alocará aulas em dias consecutivos (HC04), o que, sob o ponto de vista pedagógico, é importante. As Equações 7 e
8 calculam, respectivamente, a primeira e a última aula de uma turma num dia, conforme adaptação de Dorneles et al. (2012)Dorneles, A. P., Araújo, O. C. B., & Buriol, L. S. (2012). The impact of compactness requirements on the resolution of high school timetabling problem. In Simpósio Brasileiro de Pesquisa Operacional (pp. 3336-3347). Rio de Janeiro: SOBRAPO. proposta a partir da formulação de Santos et al. (2012)Santos, H. G., Uchoa, E., Ochi, L. S., & Maculan, N. (2012). Strong bounds with cut and column generation for class-teacher timetabling. Annals of Operations Research, 194(1), 399-412. http://dx.doi.org/10.1007/s10479-010-0709-y.
http://dx.doi.org/10.1007/s10479-010-070...
. A exigência de que as aulas ministradas em um determinado dia devam ser consecutivas (HC05) é atendida pela Equação 9, que obriga a inexistência de períodos vagos entre aulas de uma turma. A restrição HC06, que exige que disciplinas de um determinado semestre de um curso não colidam entre si, desde que sejam obrigatórias e que ofereçam apenas uma turma para que os alunos cursem, é modelada pela Equação 10. Esta restrição é fundamental para que a grade horária ofertada não prejudique os alunos que estão na seriação correta do curso. Finalmente, para subsidiar a montagem da função objetivo, a Equação 12 calcula o valor de , que é a variável auxiliar que contém o número de aulas de cada slot. A variável , que recebe o maior valor da variável auxiliar , é calculada pela Equação 13.
O segundo subproblema, que tem por objetivo atribuir uma sala de aula para cada encontro, necessita de novos conjuntos e parâmetros, que são apresentados a seguir:
Conjuntos:
: unidades (units),
: salas de aula (locations),
: salas de aula da unidade ,
Parâmetros:
: matriz de horários das turmas, carregada do subproblema 1, em que se a turma tem aula no dia e período , e , caso contrário
: vetor de capacidade de alunos nas salas de aula
: vetor de previsão de inscrições, indica a quantidade de alunos previstos para matrícula na turma
: matriz de disponibilidade horária das salas de aula, em que se a sala de aula pode receber turmas no dia e período , e , caso contrário
: vetor de custos de utilização das unidades
A formulação matemática do modelo do subproblema 2 resultará nos valores das seguintes variáveis de decisão:
se a sala de aula receber a turma no dia e período de aula
caso contrário
se a unidade recebe ao menos uma aula
caso contrário
As restrições do modelo demandam a utilização dos seguintes conjuntos de variáveis auxiliares:
se a sala de aula receber a turma no dia
caso contrário
se o professor ministrar aula na unidade no dia e no turno
caso contrário
se a turma tiver aula na unidade
caso contrário
O subproblema 2 tem o objetivo, conforme expresso na restrição SC01, de atribuir salas de aula às turmas, de maneira que se despenda o menor custo possível com a utilização de unidades (prédios). Para que esta restrição seja minimamente penalizada, custos são atribuídos à utilização das unidades, os quais estão contidos no vetor . A função objetivo do subproblema 2 é apresentada na Equação 14.
Para atender às restrições fortes HC09–HC13 e calcular a restrição fraca SC01, a função objetivo (14) está sujeita a:
A Equação 15 é responsável por carregar os resultados do subproblema 1 para o 2, pois o conjunto de parâmetros expressa os valores obtidos pela variável de decisão no subproblema anterior. Adicionalmente, garante-se a relação entre as variáveis e que pertencem, respectivamente, aos subproblemas 1 e 2. A certeza de que uma sala de aula receberá no máximo uma aula por slot (HC09) bem como o atendimento à disponibilidade de horários (HC10) são garantidos pela Equação 16. A Restrição de Implicação 17 permite calcular o valor da variável auxiliar , que será utilizada em outras restrições. As Equações 18 e 19 garantem o atendimento às restrições HC11 (capacidade da sala) e HC12 (turma com aulas na mesma sala no dia), respectivamente. A Equação 20 força a variável auxiliar a assumir valor “1” sempre que uma turma do professor tiver aula num dia e num turno . A variável auxiliar , que é calculada por meio da restrição de implicação da Equação 20, permite que se equacione a restrição HC13, imposta pela Equação 21, responsável por obrigar que os professores lecionem numa única unidade em um mesmo turno de um dia . A Equação 22 calcula a variável auxiliar , que subsidia o cálculo da variável de decisão , determinada pela Equação 23. A variável de decisão indica se a unidade recebe alguma aula em quaisquer das suas salas de aula, permitindo que a restrição SC01 seja avaliada na função objetivo (14).
4 Resultados computacionais
Os modelos matemáticos dos subproblemas foram implementados em linguagem C++ a partir do ambiente de programação do Microsoft Visual Studio 2010 Professional e resolvidos pelo pacote de otimização IBM ILOG CPLEX Optimization Studio v12.5.1 com as configurações default. Os experimentos foram executados em um notebook com processador Intel Core i7-3520M CPU 2.9GHz, 6GB de memória RAM e sistema operacional Microsoft Windows 8.1 Pro 64 bits.
O experimento tomou como base os dados de uma Universidade Federal brasileira, referentes ao 1º semestre de 2013. Assim, a grade horária e alocação de salas de aula produzidas pelo modelo proposto podem ser comparadas ao que realmente ocorreu em 2013/1. Nesse semestre, a Universidade tinha 120 grades curriculares de cursos (), 1.688 disciplinas () oferecidas em 2.674 turmas (), ministradas por 1.083 professores () em 258 salas de aula () distribuídas entre 48 unidades (). As aulas foram oferecidas de segundas-feiras a sábados em cinco períodos no turno da manhã, e de segundas a sextas-feiras em seis e quatro períodos nos turnos tarde e noite, respectivamente. Para verificar a robustez do modelo proposto, optou-se por desprezar as aulas nas manhãs dos sábados. Portanto, a grade horária semanal empregada pelo modelo tem cinco dias (), cinco períodos diários de aula para o turno da manhã, seis para o turno da tarde e cinco períodos para o turno da noite (, e ). A Tabela 1 apresenta o dimensionamento dos conjuntos e das variáveis de decisão por turno, conforme se processaram as instâncias do modelo.
4.1 Resultados do subproblema 1
O modelo do subproblema 1 tem como objetivo distribuir todas as aulas da forma mais equilibrada possível na grade horária, pois esta é a premissa básica para que se demande o menor número possível de salas de aulas e, consequentemente, de unidades. A grade horária aplicada no semestre 2013/1 possuía uma distribuição bastante desequilibrada, conforme se observa na Figura 1a. Observa-se a maior concentração de aulas entre terças e quintas-feiras, pela manhã, e nos períodos iniciais de segunda a quinta-feira, nas tardes. O segundo período de aula do turno da manhã de terça-feira foi o slot de maior alocação de aulas (234 aulas). Este “pico” de alocação foi responsável por exigir esta mesma quantidade de salas de aula para atender a todas as turmas de alunos no semestre letivo em questão. A Figura 1b apresenta o resultado alcançado pelo modelo proposto, o qual demonstra uma distribuição mais equilibrada ao longo de toda a semana.
O modelo foi processado para cada um dos três turnos. A Tabela 2 mostra o resultado de cada processamento, apresentando o tempo de execução e o valor da função objetivo , que indica a maior quantidade de aulas obtida entre todos os slots do turno.
Cabe destacar que no processamento do turno da noite () foi necessário relaxar parcialmente a restrição HC03, na parte que garante o número mínimo diário de aulas. Apesar de esta restrição ser modelada como uma restrição forte, na prática ela é algo somente desejável. Como a grande maioria das turmas tem exigência de no mínimo duas aulas diárias, o fato de o turno da noite contar com cinco períodos praticamente inviabiliza o atendimento à quantidade mínima de aulas e à não colisão de horários de turmas únicas e obrigatórias de disciplinas de um semestre de um determinado curso. Por esta razão, o tempo de processamento da instância do turno da noite foi bastante baixo.
O resultado do modelo indica que a Universidade utilizaria no máximo 101 salas de aula na pior situação possível. Isso representa uma redução de 57% em relação ao que foi utilizado no 1º semestre de 2013 (234 salas no slot com maior alocação).
4.2 Resultados do subproblema 2
A partir das grades horárias semanais das turmas e dos professores geradas pelo subproblema 1, esta segunda etapa foi responsável pela alocação de sala para cada aula. A Tabela 3 apresenta as unidades da Universidade com seus respectivos custos e quantidade de salas de aula. Os custos foram atribuídos em ordem decrescente de preferência, de maneira que as unidades de menor custo fossem as de maior preferência. Também atribuíram-se os custos, de modo que uma combinação de unidades não fosse igual a outra. Desta forma, ao se processar para cada um dos três turnos, diminuiu-se a possibilidade de o modelo resultar conjuntos diferentes de unidades entre as diferentes instâncias. Esta Universidade utilizou, no semestre de 2013/1, unidades alugadas, as quais receberam custos altos no intuito de buscar-se primeiramente utilizar as unidades próprias para então, se necessário, utilizar as alugadas.
De forma análoga ao anterior, o subproblema 2 foi processado para cada um dos três turnos. A Tabela 3 mostra o resultado de cada processamento, apresentando o tempo de execução, o valor da função objetivo , que indica o custo pelo uso das unidades, e as unidades alocadas.
O modelo produziu um conjunto de grades horárias que demandou a utilização de cinco unidades que, juntas, possuem 107 salas de aula (número suficiente para atender às 101 aulas simultâneas do slot com maior alocação). Na Tabela 4, as unidades destacadas com um asterisco (*) são aquelas selecionadas pelo modelo após o seu processamento. Juntas, totalizam um custo igual a 730.
5 Considerações finais
Esta pesquisa propôs o desenvolvimento de um modelo para o problema da construção de grades horárias de cursos em universidades (conhecido na literatura como UCTP), tendo como objetivo servir de apoio aos seus gestores tanto na própria construção de grades horárias dos cursos, quanto na redução de custos com a utilização dos espaços físicos. O modelo foi construído utilizando-se técnicas de programação linear inteira.
Dada a dimensão do problema e a consequente impossibilidade de resolvê-lo globalmente por meio de um pacote de otimização, dividiu-se o problema em duas partes. No primeiro subproblema, construíram-se as grades horárias semanais abstraindo-se as salas de aulas, objetivando-se uma distribuição uniforme entre os encontros de todos os horários. No segundo, atribuíram-se as salas de aulas aos horários de cada turma com vistas a reduzir os custos com as unidades (prédios). Adicionalmente, subdividiu-se cada subproblema em três instâncias de dados, sendo uma para cada turno de aulas.
Foi demonstrado que é possível construir grades horárias factíveis, que atendam a requisitos pedagógicos, diminuindo de forma abrupta a demanda por salas de aulas e, consequentemente, unidades. Além de construir grades horárias praticáveis, os resultados podem subsidiar as ações de planejamento da utilização dos espaços disponíveis na Universidade e de demandas futuras às quais a instituição pode estar sujeita.
Observa-se que a redução na demanda de salas de aula é possibilitada por uma distribuição de aulas mais equilibrada ao longo da semana. Em outras palavras, períodos de aula em um determinado dia com menor quantidade de encontros demandam menos salas. Entende-se, assim, que o objetivo geral da pesquisa, que consistia não apenas na construção das grades horárias, mas também na otimização do uso dos espaços físicos da instituição, foi atingido.
Diante dessa diminuição na demanda por salas de aula, foi possível demonstrar que os imóveis alugados pela Universidade da qual os dados foram coletados podem ser desocupados, visto que ainda haveria salas próprias não utilizadas. A demonstração dos resultados deste estudo ao gestor desta Universidade Federal trouxe como primeira consequência a emissão de uma portaria às Coordenações de Curso orientando que a grade horária semanal construída por cada curso deve ser uniformemente distribuída entre os horários, de modo que se reduza o impacto sobre a demanda de salas de aulas.
Observa-se, como outra contribuição importante deste estudo, o desenvolvimento de uma estratégia de divisão do problema em duas etapas: construção das grades horárias dos cursos na primeira etapa, e atribuição de salas às aulas, na segunda etapa. Conforme foi discutido, problemas de construção de grades horárias possuem quantidades de variáveis e restrições tais que, dependendo do tamanho da instância, tornam a busca por soluções bastante difícil. Desse modo, a alocação de diferentes recursos separadamente – tempo, na primeira etapa, e espaço, na segunda – apresenta-se como uma estratégia bastante promissora para a solução de grandes instâncias do problema, a ser usada, inclusive, em combinação com outros métodos.
Não foi possível obter as restrições horárias dos professores, de modo que este estudo pressupôs que cada professor estava disponível em todos os horários do turno indicado para suas turmas. Similarmente, também não se obtiveram informações referentes ao uso de recursos físicos por parte dos cursos de pós-graduação e extensão, que evidentemente necessitam de salas para as suas atividades. Assim sendo, pode-se supor que, se o modelo fosse processado a partir de dados completos, possivelmente demandaria mais tempo de processamento e os resultados finais exigiriam um número maior de salas de aula e unidades. Contudo, dado que o ganho de eficiência de distribuição de salas foi de 57%, há muita margem para que, se essas restrições fossem consideradas, os ganhos permaneçam elevados.
Como sugestões de pesquisas futuras, observa-se a possibilidade de incluir no modelo as preferências dos professores e das coordenações dos cursos, tanto por locais de aula, como por horários e dias da semana. Sugere-se, também, a utilização de métodos heurísticos para a resolução do modelo completo (antes da divisão em subproblemas) e da instância completa (antes da divisão em turnos), de maneira que se estude a possibilidade de se conseguir melhores soluções, tanto para a instância testada no presente artigo, quanto para outras, possivelmente maiores.
-
Suporte financeiro: Essa pesquisa foi parcialmente apoiada pelo Programa de Excelência Acadêmica (PROEX) da Coordenação de Aperfeiçoamento de Pessoal de Ensino Superior (CAPES).
Referências
- Alvarez-Valdes, R., Crespo, E., & Tamarit, J. M. (2002). Design and implementation of a course scheduling system using tabu search. European Journal of Operational Research, 137(3), 512-523. http://dx.doi.org/10.1016/S0377-2217(01)00091-1
» http://dx.doi.org/10.1016/S0377-2217(01)00091-1 - Andrade, P. R. L., Scarpin, C. T., & Steiner, M. T. A. (2012). Geração da grade horária do curso de engenharia de produção da UFPR através de programação linear binária. In Anais do 44º Simpósio Brasileiro de Pesquisa Operacional (pp. 1052-1063). Rio de Janeiro: SOBRAPO.
- Beyrouthy, C., Burke, E. K., Landa-Silva, D., McCollum, B., McMullan, P., & Parkes, A. J. (2007). Towards improving the utilization of university teaching space. The Journal of the Operational Research Society, 60(1), 1-14.
- Burke, E. K., Mareček, J., Parkes, A. J., & Rudová, H. (2010). Decomposition, reformulation, and diving in university course timetabling. Computers & Operations Research, 37(3), 582-597. http://dx.doi.org/10.1016/j.cor.2009.02.023
» http://dx.doi.org/10.1016/j.cor.2009.02.023 - Burke, E., Werra, D., & Kingston, J. (2003). Applications to timetabling. In J. L. Gross & J. Yellen. Graph Theory (chap. 5, pp. 445-474). Boca Raton: CRC Press, 2003.
- Carter, M. W., & Laporte, G. (1998). Recent developments in practical course timetabling. In E. Burke & M. Carter. Practice and theory of automated timetabling (Vol. 1408, pp. 3-19). Toronto: Springer-Verlag Berlin.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2002). Algoritmos: Teoria e prática (2. Ed.). Rio de Janeiro: Elsevier.
- Daskalaki, S., Birbas, T., & Housos, E. (2004). An integer programming formulation for a case study in university timetabling. European Journal of Operational Research, 153(1), 117-135. http://dx.doi.org/10.1016/S0377-2217(03)00103-6
» http://dx.doi.org/10.1016/S0377-2217(03)00103-6 - Dorneles, A. P., Araújo, O. C. B., & Buriol, L. S. (2012). The impact of compactness requirements on the resolution of high school timetabling problem. In Simpósio Brasileiro de Pesquisa Operacional (pp. 3336-3347). Rio de Janeiro: SOBRAPO.
- Gunawan, A., Ng, K. M., & Poh, K. L. (2012). A hybridized lagrangian relaxation and simulated annealing method for the course timetabling problem. Computers & Operations Research, 39(12), 3074-3088. http://dx.doi.org/10.1016/j.cor.2012.03.011
» http://dx.doi.org/10.1016/j.cor.2012.03.011 - Kahar, M. N. M., & Kendall, G. (2010). The examination timetabling problem at Universiti Malaysia Pahang: Comparison of a constructive heuristic with an existing software solution. European Journal of Operational Research, 207(2), 557-565. http://dx.doi.org/10.1016/j.ejor.2010.04.011
» http://dx.doi.org/10.1016/j.ejor.2010.04.011 - Kripka, R. M. L., Kripka, M., & Silva, M. C. (2011). Formulação para o problema de alocação de salas de aula com minimização de deslocamentos. In Anais do 43º Simpósio Brasileiro de Pesquisa Operacional (pp. 1941-1951). Ubatuba: SOBRAPO.
- Mccollum, B. (2007). A perspective on bridging the gap between theory and practice in university timetabling. In: E. K. Burke & H. Rudová. In Practice and Theory of automated timetabling VI (Vol. 3867, pp. 3-23). Berlin: Springer-Verlag.
- Miranda, J. (2010). eClasSkeduler: a course scheduling system for the executive education unit at the Universidad de Chile. Interfaces, 40(3), 196-207. http://dx.doi.org/10.1287/inte.1090.0485
» http://dx.doi.org/10.1287/inte.1090.0485 - Murray, K., Müller, T., & Rudová, H. (2007). Modelling and solution of a complex university course timetabling problem. In E. K. Burke & H. Rudová. Lecture notes in computer science (Vol. 3867, pp. 189-209). Berlin: Springer-Verlag.
- Pongcharoen, P., Promtet, W., Yenradee, P., & Hicks, C. (2008). Stochastic optimisation tool for university course scheduling. International Journal of Production Economics, 112(2), 903-918. http://dx.doi.org/10.1016/j.ijpe.2007.07.009
» http://dx.doi.org/10.1016/j.ijpe.2007.07.009 - Rudová, H., Müller, T., & Murray, K. (2011). Complex university course timetabling. Journal of Scheduling, 14(2), 187-207. http://dx.doi.org/10.1007/s10951-010-0171-3
» http://dx.doi.org/10.1007/s10951-010-0171-3 - Santos, H. G., Uchoa, E., Ochi, L. S., & Maculan, N. (2012). Strong bounds with cut and column generation for class-teacher timetabling. Annals of Operations Research, 194(1), 399-412. http://dx.doi.org/10.1007/s10479-010-0709-y
» http://dx.doi.org/10.1007/s10479-010-0709-y - Sarin, S. C., Wang, Y., & Varadarajan, A. (2010). A university-timetabling problem and its solution using Benders’ partitioning: a case study. Journal of Scheduling, 13(2), 131-141. http://dx.doi.org/10.1007/s10951-009-0157-1
» http://dx.doi.org/10.1007/s10951-009-0157-1 - Schaerf, A. (1999). A survey of automated timetabling. Artificial Intelligence Review, 13(2), 87-127. http://dx.doi.org/10.1023/A:1006576209967
» http://dx.doi.org/10.1023/A:1006576209967 - Tripathy, A. (1984). School timetabling: a case in large binary integer linear programming. Management Science, 30(12), 1473-1489. http://dx.doi.org/10.1287/mnsc.30.12.1473
» http://dx.doi.org/10.1287/mnsc.30.12.1473 - Werra, D. (1997). The combinatorics of timetabling. European Journal of Operational Research, 96(3), 504-513. http://dx.doi.org/10.1016/S0377-2217(96)00111-7
» http://dx.doi.org/10.1016/S0377-2217(96)00111-7
Datas de Publicação
-
Publicação nesta coleção
06 Fev 2017 -
Data do Fascículo
Jan-Apr 2017
Histórico
-
Recebido
14 Mar 2015 -
Aceito
30 Jun 2015