Título: | Análise dos métodos de resolução de problemas de programação inteira : um estudo de caso no problema de alocação de servidores na ANAC |
Autor(es): | Guth, Gabriel Durães |
Orientador(es): | Garcia, Reinaldo Crispiniano |
Coorientador(es): | Reis, Silvia Araújo dos |
Assunto: | Programação (Computadores) Modelos matemáticos Linguagem de programação - Python Python (Linguagem de programação de computador) |
Data de apresentação: | 4-Nov-2021 |
Data de publicação: | 14-Mar-2023 |
Referência: | GUTH, Gabriel Durães. Análise dos métodos de resolução de problemas de programação inteira: um estudo de caso no problema de alocação de servidores na ANAC. 2021. 119 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Produção) — Universidade de Brasília, Brasília, 2021. |
Resumo: | A evolução das tecnologias e sistemas computacionais tem permitido maior utilização
de modelos de apoio à decisão formulados através da programação matemática.
Dentre eles, destacam-se os que utilizam da Programação Inteira (PI), que por terem
seu processo de solução mais complexo, demandam maior esforço computacional e
de tempo para problemas de grande porte. Tendo em vista a importância desses tipos
de modelos e a diversidade de métodos e ferramentas utilizadas na resolução destes,
essa pesquisa buscou identificar os métodos e técnicas adotados na solução de
modelos de Programação Inteira, por meio de uma revisão sistemática da literatura, e
realizar uma comparação entre a utilização de alguns métodos e ferramentas para
solução de um modelo de grande porte. A pesquisa utilizou o estudo desenvolvido no
projeto Safety Oversight na Agência Nacional de Aviação Civil (ANAC), que consiste
em um problema de alocação dos servidores lotados em diferentes estados do Brasil
e que realizam fiscalizações nos diversos aeroportos, levando em consideração o
tempo, custo e atividade. Para isso, foram utilizados dois modelos implementados na
linguagem Python com auxílio da biblioteca “Pyomo” e dos solvers CPLEX e Gurobi,
e testadas 6 instâncias. Os resultados dos testes foram consolidados em uma tabela
apresentando o tempo de execução e a Função Objetivo (FO) encontrados para cada
instância, comparando o algoritmo implementado em Python com os modelos
desenvolvidos na literatura nos softwares LINGO, AIMMS, Julia e heurísticas (Tabu
Search, Simulated Annealing e Hibrid). A partir disso, verificou-se que ambos os
softwares testados são viáveis e capazes de solucionar a maioria dos cenários no
problema de programação inteira da alocação de servidores da ANAC, minimizando
o custo com passagem aérea nas fiscalizações. Por fim, destaca-se o desempenho
da linguagem de código aberto Python com o solver Gurobi por ter sido capaz de
solucionar todas as instâncias testadas, obtendo o melhor desempenho em duas
delas comparado aos outros softwares. |
Abstract: | The evolution of technologies and computational systems has allowed greater use of
decision support models formulated through mathematical programming. Among
them, those that use Integer Programming (IP) stand out, as their solution process is
more complex, requiring greater computational effort and time for large problems.
Considering the importance of these types of models and the diversity of methods and
tools used to solve them, this research sought to identify the methods and techniques
adopted to solve Integer Programming models, through a systematic review of the
literature, and to carry out a comparison between the use of some methods and tools
to implement a large model. Thus, to compare available softwares taking into account
the solution time, the research used the study developed in the Safety Oversight
Project at the National Civil Aviation Agency (ANAC), which consists of a problem of
allocation of servants located in different Brazilian States carrying out inspections at
the various airports, considering time, cost and activity. Two models are then
implemented in Python language with the aid of the “Pyomo” library and CPLEX and
Gurobi solvers, and 6 scenarios were tested. The test results were consolidated in a
table showing the execution time and the Objective Function (OF) found for each
instance, comparing the algorithm implemented in Python with the models developed
in the literature in LINGO, AIMMS, Julia and heuristics (Tabu Search, Simulated
Annealing and Hybrid). It is then observed that both tested softwares are viable and
capable of solving most scenarios in the entire programming problem of ANAC's
servants allocation, minimizing the cost of airfare in inspections. Finally, the
performance of the open source language Python with the Gurobi solver stands out for
being able to solve all implemented scenarios, obtaining the best performance in two
of them compared to the other software. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia de Produção, 2021. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Engenharia de Produção
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.