Acessibilidade / Reportar erro

Desenvolvimento de um modelo de programação linear para o Problema da Construção de Grades Horárias em Universidades

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. 1

    Construção das grades horárias semanais, com o objetivo de distribuir uniformemente os encontros entre todos os horários; e

  2. 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:

C: cursos (courses), cC={0,1,,|C|1}

D: dias da semana (days), dD={0,1,2,3,4}

E: turmas de disciplinas (events), eE={0,1,,|E|1}

S: disciplinas (subjects), sS={0,1,,|S|1}

T: professores (teachers), tT={0,1,,|T|1}

Es: turmas da disciplina sS, EsE

Et: turmas do professor tT, EtE

G: semestres letivos (grades), gG={0,1,,|G|1}

P: períodos de aula de um dia (periods), pP={0,1,,|P|1}

Scg: disciplinas obrigatórias que possuem apenas uma turma,

ScgS, cC,gG.

Parâmetros:

M|S|: vetor que indica o número de aulas teóricas semanais da disciplina sS

DMmin|S|: vetor que indica o número mínimo de aulas diárias da disciplina sS

DMmax|S|: vetor que indica o número máximo de aulas diárias da disciplina sS

AE|E|×|D|×|P|{0,1}: matriz de disponibilidade horária das turmas, em que AEedp=1 quando a turma eE pode ter aula no dia dD e no período pP, e AEedp=0, caso contrário

AT|T|×|D|×|P|{0,1}: matriz de disponibilidade horária dos professores, em que ATtdp=1 quando o professor tT pode dar aula no dia dD e no período pP, e ATtdp=0, caso contrário.

A formulação matemática do modelo proposto deve resultar nos valores das seguintes variáveis de decisão:

xedp={1,0, se a turma eE é alocada no dia dD e período de aula pP

caso contrário

As restrições do modelo demandam a utilização de conjuntos de variáveis auxiliares:

bed={1,0, se a turma eE tem aula no dia dD

caso contrário

eed= primeiro período de aula da turma eE ministrada no dia dD

fed= último período de aula da turma eE ministrada no dia dD

wdp= quantidade de aulas alocadas no dia dD e no período pP

y= contém o maior valor do conjunto de variáveis wdp.

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:

M i n i m i z a r y (1)

Para atender às restrições fortes HC01–HC08 e calcular o valor de y, que está de acordo com a restrição fraca SC01, a Função Objetivo 1 está sujeita às seguintes restrições:

d D p P x e d p = M s e E s , s S (2)
x e d p A E e d p e E , d D , p P (3)
b e d x e d p e E , d D , p P (4)
D M min s . b e d p P x e d p D M max s . b e d e E s , s S , d D (5)
b e d + b e , d + 1 1 e E , d { 0,1, , | D | 1 } (6)
e e d ( | P | + 1 ) ( | P | + 1 p ) . x e d p e E , d D , p P (7)
f e d p . x e d p e E , d D , p P (8)
f e d e e d + b e d p P x e d p 0 e E , d D (9)
e E s : s S c g x e d p 1 c C , g G , d D , p P (10)
e E t x e d p A T e d p t T , d D , p P (11)
w d p = e E x e d p d D , p P (12)
y e E x e d p d D , p P (13)

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(d,p). 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 bed, 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 wdp, que é a variável auxiliar que contém o número de aulas de cada slot(d,p). A variável y, que recebe o maior valor da variável auxiliar wdp, é 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:

U: unidades (units), uU={0,1,,|U|1}

L: salas de aula (locations), lL={0,1,,|L|1}

Lu: salas de aula da unidade uU, LuU

Parâmetros:

X|E|×|D|×|P|{0,1}: matriz de horários das turmas, carregada do subproblema 1, em que Xedp=1 se a turma eE tem aula no dia dD e período pP, e Xedp=0, caso contrário

Cap|L|: vetor de capacidade de alunos nas lL salas de aula

NS|E|: vetor de previsão de inscrições, indica a quantidade de alunos previstos para matrícula na turma eE

AL|L|×|D|×|P|{0,1}: matriz de disponibilidade horária das salas de aula, em que ALldp=1 se a sala de aula lL pode receber turmas no dia dD e período pP, e ALldp=0, caso contrário

α|U|: vetor de custos de utilização das unidades uU

A formulação matemática do modelo do subproblema 2 resultará nos valores das seguintes variáveis de decisão:

kledp={1, 0, se a sala de aula lL receber a turma eE no dia dD e período de aula pP

caso contrário

mu={1,0, se a unidade uU recebe ao menos uma aula

caso contrário

As restrições do modelo demandam a utilização dos seguintes conjuntos de variáveis auxiliares:

jled={1,0, se a sala de aula lL receber a turma eE no dia dD

caso contrário

qtudh={1, 0, se o professor tT ministrar aula na unidade uU no dia dD e no turno hH

caso contrário

veu={1,0, se a turma eE tiver aula na unidade uU

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 α|U|. A função objetivo do subproblema 2 é apresentada na Equação 14.

M i n i m i z a r u U α u × m u (14)

Para atender às restrições fortes HC09–HC13 e calcular a restrição fraca SC01, a função objetivo (14) está sujeita a:

l L k l e d p = X e d p e E , d D , p P (15)
e E k l e d p A L l d p l L , d D , p P (16)
j l e d k l e d p l L , e E , d D , p P (17)
N S e . j l e d C a p l e E , l L , d D (18)
l L j l e d 1 e E , d D (19)
q t u d h l L u j l e d t T , e E t , u U , d D , h H (20)
u U q t u d h 1 t T , d D , h H (21)
v e u l L u j l e d e E , u U , d D (22)
m u v e u u U , e E (23)

A Equação 15 é responsável por carregar os resultados do subproblema 1 para o 2, pois o conjunto de parâmetros Xedp expressa os valores obtidos pela variável de decisão xedp no subproblema anterior. Adicionalmente, garante-se a relação entre as variáveis kledp e xeldp 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 jled, 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 qtudh a assumir valor “1” sempre que uma turma do professor tT tiver aula num dia dD e num turno hH. A variável auxiliar qtduh, 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 hH de um dia dD. A Equação 22 calcula a variável auxiliar veu, que subsidia o cálculo da variável de decisão mu, determinada pela Equação 23. A variável de decisão mu indica se a unidade uU 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 (|C|=120), 1.688 disciplinas (|S|=1688) oferecidas em 2.674 turmas (|E|=2674), ministradas por 1.083 professores (|T|=1083) em 258 salas de aula (|L|=258) distribuídas entre 48 unidades (|U|=48). 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 (|D|=5), 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 (|P0|=5, |P1|=6 e |P2|=4). 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.

Tabela 1
Dimensionamento dos conjuntos e variáveis de decisão.

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.

Figura 1
Distribuição das aulas: (a) utilizada pela instituição, e (b) gerada a partir do modelo.

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 Z1, que indica a maior quantidade de aulas obtida entre todos os slots do turno.

Tabela 2
Resultados do subproblema 1.

Cabe destacar que no processamento do turno da noite (h=2) 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.

Tabela 3
Resultados do subproblema 2.

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 Z2, 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.

Tabela 4
Dados das unidades acadêmicas.

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
Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
E-mail: gp@dep.ufscar.br