Você está na página 1de 11

Universidade Estadual de Santa Cruz

Pró-Reitoria de Pesquisa e Pós-Graduação


Programa Institucional de Iniciação Científica

RELATÓRIO FINAL

MODELAGEM E RESOLUÇÃO DO PROBLEMA DE OTIMIZAÇÃO NO


AMBIENTE EDUCACIONAL

MODELAGEM E RESOLUÇÃO DO PROBLEMA DE ATRIBUIÇÃO DE


DISCIPLINAS

Bolsista: Beatriz Brito Tavares


Orientador(a): Eduardo Delcides Bernardes
Programa: ICB
Vigência da bolsa: /08/2020 - /07/2021

Ilhéus, __/08/2021

1
1. Resumo (no máximo 250 palavras)
Os problemas de otimização combinatória aparecem de diversas maneiras no contexto
educacional, principalmente na forma de alocação de turmas a salas e programação de
horários, entretanto um problema que tem chamado bastante atenção atualmente é o de
atribuição de disciplinas nas instituições de ensino. Neste trabalho propomos um modelo de
otimização linear inteira que auxilie na atribuição de turmas a docentes da área de
matemática, considerando as particularidades da UESC. Inicialmente, estudamos a teoria de
otimização linear e linear inteira, para melhor compreender as técnicas de otimização para
modelagem e resolução de problemas. Depois de adquirido o conhecimento teórico,
buscamos, na literatura, trabalhos que abordam problemas similares ao nosso problema real.
Em seguida, iniciamos o processo de modelagem do problema de atribuição de turmas a
docentes na área de matemática no âmbito da UESC. A identificação dos aspectos a serem
considerados no modelo se deu através de formulários disponibilizados pela coordenação da
área de Matemática. Finalmente, foi proposto um modelo, o qual foi solucionado por meio do
método Cbc(Coin-or branch and cut) com a utilização da linguagem Python no ambiente
computacional web Jupyter Notebook. Posteriormente comparamos os resultados obtidos com
as atribuições manuais realizadas pela coordenação de área e notamos que, além da maior
praticidade ao realizar as atribuições, o uso do modelo gerou resultados significativamente
melhores que a solução manual ao priorizar as turmas de interesse dos docentes e aproveitar
melhor a carga horária disponível dos mesmos, refletindo positivamente na qualidade da
atribuição com planejamentos mais eficientes.(249 palavras)

Introdução

Um problema de atribuição de disciplinas consiste em conferir turmas de disciplinas a


docentes respeitando as restrições relacionadas às atribuições possíveis. Um caminho para
resolver esse problema é a distribuição manual, onde todas as possibilidades são listadas e
analisadas e é escolhida a melhor de acordo com as restrições definidas pelas particularidades
da instituição. Porém, na maioria dos casos, isso pode ser impraticável, já que o número de
possibilidades pode vir a ser muito grande, como ocorre na maioria das universidades. Diante
disso, a programação linear inteira pode nos auxiliar para a modelagem e resolução desses
problemas.
Inicialmente, buscamos estudar a teoria de otimização linear e linear inteira para melhor
compreender as técnicas de modelagem na resolução de problemas de atribuição. Para isso
utilizamos os livros “Pesquisa Operacional” e “Introdução à Pesquisa Operacional” e para
compreender algumas técnicas de modelagem fizemos uso da ferramenta online para a
resolução de problemas de programação linear “PHPSimplex”. Também buscando ampliar os
conhecimentos sobre a pesquisa operacional e modelagem participamos do “52º SBPO - LII
Simpósio Brasileiro de Pesquisa Operacional” e do webnário “Pesquisa Operacional,

2
Computação e Matemática: confecção de ferramentas de apoio à decisão no enfrentamento da
Covid-19”.
Depois de adquirido o conhecimento teórico, buscamos, na literatura, trabalhos que abordam
problemas similares ao problema real de atribuição de disciplinas na área de matemática.
Dentre os trabalhos estudados podemos destacar modelos com foco em minimizar custos
institucionais como (Alves et al. 2019), cujo modelo minimiza o custo energético associado
ao uso dos locais de aula, neste caso salas e laboratórios de informática, cumprindo os
requisitos especificados pela instituição, foram propostas três formulações rodadas em dois
diferentes cenários, onde no cenário mais próximo da realidade da instituição, uma
formulação apresentou uma redução anual de 27,96%, em kWh, 100.634,68 kWh,
possibilitando uma economia estimada de R$ 83.487,52 e (Júnior e Guimarães. 2016), cujo
objetivo é otimizar o investimento em recursos necessários para a realização de um evento
acadêmico buscando a melhor alocação de salas para o evento, onde o modelo proposto
alcançou uma redução média de 98,67% nas janelas de horários, o que representa uma
economia de 39,49% no valor total total investido no período de realização ̧ao do evento
analisado.
Modelos com foco em ganho de desempenho, como (Kripka et al. 2011), cujo modelo
objetiva minimizar os deslocamentos dos alunos pelo campus, buscando acomodá-los em
salas próximas aos prédios onde seus cursos estão sediados, apresentando, em todas as
otimizações realizadas, soluções factíveis melhores que as praticadas pela instituição, ou
(Queiroga et al. 2015), cujo modelo objetiva minimizar o número de aulas de uma mesma
turma alocadas em salas distintas, onde fizeram uso de um algoritmo de Cliques Maximais de
um Grafo para redução do número de restrições implementadas no primeiro modelo criado,
gerando um segundo modelo com uma estratégia de penalização para o controle das violações
das capacidades das salas, o que gerou poucas inconsistências, pois proibiu a existência de
choques de horário, reduziu o estouro das capacidades existentes e gerou uma melhor
utilização da capacidade das salas, além de respeitar o critério de alocar em uma mesma sala
aulas de uma mesma turma.
Ainda podemos destacar, por suas semelhanças ao nosso problema real, (Poulsen et al. 2014),
cujo modelo objetiva produzir grades horárias de aulas uniformemente distribuídas ao longo
da semana, otimizando a alocação dos espaços físicos da instituição de ensino, esse modelo
necessitou ser dividido em em dois subproblemas devido a impossibilidade de se instanciar,
no primeiro subproblema foi feita a alocação das turmas e professores na grade horária
semanal e no segundo subproblema foi feita a atribuição de salas de aulas. Os resultados
demonstram que a UniFed poderia se desfazer dos imóveis alugados e ainda assim ficaria com
uma grande quantidade de salas próprias à sua disposição, dado que o ganho de eficiência de
distribuição de salas foi de 57%.
(Moreira e Colnago. 2019), cujo modelo multiobjetivo é um refinamento de um modelo base
ajustando pesos na função objetivo visando minimizar janelas de aulas, maximizar o
atendimento das preferências dos professores, minimizando aulas aos sábados e minimizando
a quantidade de dias de aulas dos professores, essas alterações geraram resultados mais

3
consistentes, como a diminuição do número de janelas, de aulas aos sábados e a concentração
de aulas mais próximas ao fim dos períodos da manhã e aos inícios das aulas dos períodos da
tarde e noite, apresentando os melhores resultados de forma geral. (Campos et al. 2016), cujo
modelo também é multiobjetivo e foi resolvido por uma combinação de um Algoritmo
Genético (AG) e uma meta-heurística GRASP em duas etapas, primeiramente objetivar criar
uma grade de horários para as disciplinas, atribuindo os professores para lecioná-las,
respeitando as cargas horárias das mesmas e depois gerar, para cada um dos alunos da
instituição, uma grade de disciplinas que o aluno esteja apto a cursar no semestre,
maximizando sua carga horária. O modelo proposto proporcionou uma melhoria de 0.56% no
número de horas estudadas, além de resolver em 22 segundos o que levaria 24 dias úteis (em
média) no processo manual.
E (Penna et al. 2016) cujo problema consiste em definir os quadros de horários dos cursos de
um departamento, alocando professores às disciplinas, horários e espaços físicos, de acordo
com um conjunto de restrições. Devido à complexidade do problema foi proposto o uso da
meta-heurística ILS, que é formado por 4 componentes: um procedimento de construção que
gera uma solução inicial, um procedimento de busca local, que retorna uma solução ótima
local, um procedimento de perturbação que modifica a solução atual gerando assim uma
solução intermediária e um critério de aceitação que decide em qual solução será
aplicada a próxima perturbação. Nos experimentos foram realizadas 10 execuções do
algoritmo, combinando diferentes valores para o número de iterações do ILS e o algoritmo
encontrou soluções válidas nas diferentes combinações testadas, ou seja, todas as
restrições fortes foram atendidas. E conseguiu encontrar uma solução de menor custo do que a
adotada pelo departamento em 2014.
Finalmente, após análise de modelos com objetivos semelhantes iniciamos o processo de
modelagem do problema de atribuição de turmas a docentes na área de matemática no âmbito
da UESC, para tal processo analisamos as particularidades da instituição. Para conhecimento
dos aspectos específicos da UESC a serem considerados no modelo solicitamos à
coordenação da área de Matemática que nos disponibilizasse os formulários preenchidos
pelos docentes todo semestre antes da atribuição de disciplinas. Assim tivemos acesso às
preferências, disponibilidade de horários, carga horária mínima e máxima e eventuais
despensas de carga horária dos docentes. Cientes dessas particularidades, elaboramos
inicialmente um modelo simples, que respeitasse os aspectos específicos da universidade e
realizasse atribuição de disciplina de forma mais rápida e eficiente.
Com o modelo matemático já pronto, buscamos uma linguagem de programação e um
software de otimização para implementação e resolução do problema. Escolhida a linguagem
Python e o ambiente computacional web Jupyter Notebook com o modelador de programação
linear PuLP com o solver padrão Cbc(Coin-or branch and cut), participamos de diversos
eventos de linguagem Python e do ambiente Jupyter Notebook, como o minicurso ofertado
pela UESC, “Minicurso: Introdução ao Python e seu Ecossistema científico”, a “Semana do
Python da HASHTAG” e o “Gurobi Days Digital”, com o objetivo de expandir nossas
habilidades nessa linguagem de programação.

4
Na sequência, implementamos alguns problemas de otimização estudados na literatura, a fim
de testar a eficiência do solver e ambiente escolhidos, para enfim testar o modelo
desenvolvido.

2. Material e Métodos (ou Procedimentos Metodológicos)


Para a elaboração do modelo desenvolvido foram utilizadas a linguagem de programação
Python 3.8 e o ambiente computacional web Jupyter Notebook, em um notebook próprio
com processador Intel Core i3 7ª Geração, CPU 2.30GHz, 4,00 GB de RAM e sistema
operacional Windows 10 Home Single Language versão 20H2. E para resolução do modelo
desenvolvido, utilizamos o solver padrão Cbc(Coin-or branch and cut) do PuLP.

3. Resultados
Definição do modelo matemático

Conjuntos:

𝐻: Conjunto de horários de aula dia (Segunda a Sábado);


𝐷: Conjunto de dias de aulas;
𝑃: Conjunto de docentes;
𝑇: Conjunto de turmas ofertadas;
𝑆𝑝: Conjunto de até 8 turmas de preferências dos docentes.

Parâmetros:

𝑐ℎ𝑡: Cargas horárias das turmas;


𝑚𝑖𝑛
𝐶𝑝 : Carga horária mínima do docente 𝑝 ∈ 𝑃;
𝑚𝑎𝑥
𝐶𝑝 : Carga horária máxima do docente 𝑝 ∈ 𝑃;

α𝑡𝑑ℎ =
{ 1, se a turma 𝑡 tem aula no horário ℎ do dia 𝑑;

0, caso contrário.

Variáveis:

5
𝑥𝑝𝑡 =
{ 1, se o docente 𝑝 lecionar para a turma 𝑡;

0, caso contrário.

Modelo:

𝑀𝑖𝑛 ∑ ∑ 𝑐𝑝𝑡 𝑥𝑝𝑡 (1)


𝑝∈𝑃 𝑡∈𝑆𝑝

Sujeito a:

∑ 𝑥𝑝𝑡 = 1, ∀𝑡 ∈ 𝑇; (2)
∀𝑝∈𝑃: 𝑡∈𝑆𝑝

𝑚𝑎𝑥
∑ 𝑐ℎ𝑡𝑥𝑝𝑡 ≤ 𝐶𝑝 , ∀𝑝 ∈ 𝑃; (3)
∀ 𝑡∈𝑆𝑝

𝑚𝑖𝑛
∑ 𝑐ℎ𝑡𝑥𝑝𝑡 ≥ 𝐶𝑝 , ∀𝑝 ∈ 𝑃; (4)
∀ 𝑡∈𝑆𝑝

∑ α𝑡𝑑ℎ𝑥𝑝𝑡 ≤ 1, ∀𝑝 ∈ 𝑃, ∀𝑑 ∈ 𝐷, ∀ℎ ∈ 𝐻; (5)
∀ 𝑡∈𝑆𝑝

𝑥𝑝𝑡 ∈ {0, 1} , ∀𝑝 ∈ 𝑃, ∀𝑡 ∈ 𝑇. (6)

No modelo proposto, buscamos minimizar a função objetivo (1) que consiste num somatório
da atribuição de turma ao docente (𝑥𝑝𝑡) com atribuição de pesos conforme sua preferência
por ministrar a disciplina a determinada turma (𝑐𝑝𝑡 ∈ 𝑆𝑝) , sendo 1 mais preferível, 8 menos
preferível e 0 não preferível.
As restrições empregadas na formulação do modelo são comuns aos problemas de atribuição
de turmas, porém com leves sutilezas, que as adequam às particularidades da UESC.
A restrição (2) indica que cada turma só pode ser atribuída a uma único docente, sendo que
esta turma deve constar no conjunto de preferências do docente. Já as restrições (3) e (4)
garantem que a carga horária do docente esteja entre o mínimo e máximo possível para o
docente, levando em consideração possíveis descargas horárias e o limite imposto pela
6
universidade. A restrição (5) impede que haja choque de horário entre as disciplinas
atribuídas a um mesmo docente. E finalmente, a restrição (6) define o domínio das variáveis
de decisão.
Logo, este modelo visou otimizar a atribuição de turmas a docente no âmbito da UESC a
partir do atendimento dessas restrições. Ressalta-se que este modelo foi criado especialmente
para esta realidade particular, porém pode ser facilmente adaptado para uso em demais
universidades.

Instâncias utilizadas no problema

Em virtude da natureza do problema, NP-Difícil, optou-se por trabalhar com diversos


arquivos com funções específicas, a fim de evitar possíveis perdas de dados.
Para a geração das instâncias foram necessárias a definição de seis arquivos de texto (.txt),
sendo um para os dias de aula durante a semana, outro para os slots de aula durante cada dia
da semana, outro para as turmas, com suas determinadas disciplinas, cursos e cargas horárias,
outro para os docentes, com seus específicos limites de carga horária, outro para as
preferências de turmas de cada docente e outro para os horários de aula das turmas.

Para a passagem das instâncias para o modelo foram definidos as seguinte saídas: o arquivo
dos dias gera um vetor de tamanho 6 com os seis dias da semana em que as aulas ocorrem, o
arquivo de slots gera um vetor de tamanho 16 com os dezesseis horários disponíveis para
aula no dia, incluindo para o sábado, mesmo sabendo que aos sábados só estão disponíveis
seis horários. O arquivo de turmas gera dois vetores de tamanho 105, o primeiro contém
todas as turmas ofertadas e o segundo suas respectivas cargas horárias, já o arquivo dos
docentes gera três vetores de tamanho 45, um para os docentes, outro para a carga horária
mínima e outro para a carga horária máxima de cada docente. E finalmente, o arquivo de
preferências gera uma espécie de matriz, ou seja, um vetor com 45 vetores (representando os
45 docentes), sendo cada vetor de tamanho 105 (representando as 105 turmas), contendo
todas as turmas ofertadas, porém somente as entradas relativas às preferências dos
respectivos docentes possuirão valores distintos de zero, sendo os valores o grau de
preferência do docente à determinada turma.

4. Discussão
Discutir os resultados finais da pesquisa.

Obs.: Os itens 4 e 5 podem ser realizados conjuntamente (Resultados e Discussão).

5. Conclusões
Apresentar as conclusões do estudo.

6. Referências
Listar as referências citadas no texto, conforme Manual de Normatização dos Trabalhos
Técnico-Científicos da UESC, disponibilizados na Biblioteca Central.

7
Arenales, Marcos; Armentano, Vinícius; Morabito, Reinaldo; Yanasse, Horacio. Pesquisa
operacional. Rio de Janeiro: Elsevier Brasil: ABEPRO, 2011.

Martins, Fernando Augusto Silva. Introdução à Pesquisa Operacional. São Paulo: Cultura
Acadêmica: Universidade Estadual Paulista, Pró-Reitoria de Graduação, 2011.

Goldbarg, Marco Cesar; LUNA, Henrique Pacca Loureiro. Otimização combinatória e


programação linear: modelos e algoritmos. 2. ed. Rio de Janeiro: Elsevier Brasil, 2005 - 10ª
reimpressão.

PHPSimplex, 2006. Disponível em:


<http://www.phpsimplex.com/simplex/simplex.htm?l=pt>. Acesso em: 2020-2021.

Alves, Raphael Medeiros; Subramanian, Anand; de Brito, Alisson Vasconcelos. (2019).


Minimizando os custos energéticos de alocação de aulas a salas: o caso de uma
instituição federal de ensino. LI Simpósio Brasileiro de Pesquisa Operacional.

da Cunha Júnior, Joaquim José; Guimarães, Mariana Mendes; (2016). Modelo de


otimização do investimento em recursos para realização de um evento acadêmico em
uma instituição de ensino superior privada. XLVIII Simpósio Brasileiro de Pesquisa
Operacional.

Kripka, Rosana Maria Luvezute; Kripka, Moacir; da Silva, Marilene Caproski. (2011).
Formulação de salas de aula com minimização de deslocamento. XLIII Simpósio
Brasileiro de Pesquisa Operacional.

Queiroga, Eduardo Vieira; Bulhões Júnior, Teobaldo Leite; Cabral, Lucídio dos Anjos
Formiga. (2015). Problema de alocação de aulas: o caso da central de aulas da UFPB.
XLVII Simpósio Brasileiro de Pesquisa Operacional.

Poulsen, Camilo José Bornia; Bucco, Guilherme Brandelli; Bandeira, Denise Lindstrom;
(2014). Uma proposta de programação matemática para o University Timetabling
Problem. XLVI Simpósio Brasilero de Pesquisa Operacional.

Moreira, João Pedro de Sá; Colnago, Glauber Renato; (2019). Otimização de grade de
horário de professores e disciplinas do IFSP-CBT: refinamento das soluções por
penalização na função objetivo. LI Simpósio Brasilero de Pesquisa Operacional

Campos, Saulo Cunha; Machado, Pedro Henrique Mázala; da Silva, Italo Luis. (2016).
Algoritmo genético para resolução do problema de university course timetabling para
instituições de ensino superior privadas: um estudo de caso na FAGOC.

8
Penna, Puca Huachi Vaz; Semaan, Gustavo Silva; Jardim, Arydiane Magalhães. (2016). Uma
heurística para o problema de programação de horários: um estudo de caso.

7. Publicações
Listar as publicações geradas durante o período de concessão da bolsa, referentes às
pesquisas decorrentes das atividades como bolsista.

9
UNIVERSIDADE ESTADUAL DE SANTA CRUZ
PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO
Gerência de Pesquisa
Rodovia Ilhéus-Itabuna, Km 16 – Ilhéus-BA – Brasil - CEP 45.650-000
Fone: (73)680-5129
E-mail: gpesquisa@uesc.br

AVALIAÇÃO FINAL DE DESEMPENHO DO BOLSISTA


(a ser preenchido pelo orientador)
1. IDENTIFICAÇÃO
1.1. NOME DO BOLSISTA: Beatriz Brito Tavares

1.2. PROGRAMA INSTITUCIONAL DE INICIAÇÃO CIENTÍFICA

(X) PROIIC ( ) PIBIC ( ) FAPESB

1.3. NOME DO ORIENTADOR: Eduardo Delcides Bernardes

1.4. DATA DE INGRESSO NA EQUIPE 1.5. PERÍODO DAS ATIVIDADES DESENVOLVIDAS:

1.6. TÍTULO DO PROJETO DE PESQUISA: 1.7. N° CADASTRO PROPP:


Modelagem e resolução de problemas de otimização no ambiente
educacional
1.8. TÍTULO DO PROJETO DE INICIAÇÃO CIENTÍFICA: Modelagem e resolução do problema de
atribuição de disciplinas

2. DESEMPENHO
2.1. PARTICIPAÇÃO DO BOLSISTA NO DESENVOLVIMENTO DO PROJETO E, OU GRUPO DE
PESQUISA (atribuir notas de 0 – 5)
NÃO SE APLICA
AULAS E SEMINÁRIOS: () ()
APRESENTAÇÃO DE COMUNICAÇÕES EM () ()
SEMINÁRIOS/CONGRESSOS:
DISCUSSÕES TÉCNICAS: () ()
COLETA DE DADOS: () ()
ANÁLISE DE DADOS: () ()
OUTROS TIPOS DE PARTICIPAÇÃO (ESPECIFICAR): () ()

2.2. ANÁLISE DO DESEMPENHO (atribuir notas de 0-5):


INICIATIVA: ( ) CRIATIVIDADE: ( )
QUALIDADE DOS TRABALHOS
LIDERANÇA ( ) ( )
DESENVOLVIDOS/RESULTADO FINAL

10
CAPACIDADE DE REFLEXÃO ( ) CAPACIDADE DE DISCUSSÃO ( )
ASSIDUIDADE: ( ) RESPONSABILIDADE: ( )
3. PARECER (OBRIGATÓRIO) E OBSERVAÇÕES (SE HOUVER)

4. CONTINUIDADE NO PROGRAMA

RECOMENDA ( ) NÃO RECOMENDA ( )

11

Você também pode gostar