Título: | Interoperabilidade entre ALGENCAN e Julia |
Autor(es): | Souza, Maicon Lucas Mares de |
Orientador(es): | Gardenghi, John Lenon Cardoso |
Assunto: | Interoperabilidade Linguagem de programação (Computadores) |
Data de apresentação: | 14-Dez-2023 |
Data de publicação: | 31-Jul-2024 |
Referência: | SOUZA, Maicon Lucas Mares de. Interoperabilidade entre ALGENCAN e Julia. 2023. 73 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) — Universidade de Brasília, Brasília, 2023. |
Resumo: | Diversas são as aplicações de otimização no dia a dia, como a minimização de recursos
e maximização de lucros em produções industriais, diminuição do tráfego terrestre em
grandes metrópoles, montar refeição com todos os nutrientes necessários e o mais barato
possível para crianças em uma escola, entre outros. Entretanto, o número de variáveis e
restrições presentes nesses problemas podem crescer rapidamente tornando impraticável
a resolução manual. Com o objetivo de reduzir o trabalho manual do usuário e fornecer
resultados confiáveis para tais problemas foi desenvolvido o solver Augmented Lagrangian
with GENCAN (ALGENCAN) no trabalho realizado pelos professores R. Andreani, E.
G. Birgin, J. M. Martínez, e M. L. Schuverdt, em 2008, e melhorado posteriormente, em
2020. Este solver é escrito em Fortran, uma linguagem estruturada e fortemente tipada.
Nos últimos anos, foram propostas algumas linguagens de cunho científico matemático,
como alternativas às linguagens clássicas como Fortran e C. Dentre elas, destaca-se a
linguagem Julia, uma linguagem que traz aspectos produtivos devido à alta abstração.
A linguagem Julia permite a flexibilidade na declaração de tipos, sendo possível utilizá la com os tipos declarados explicitamente ou deixar que os tipos sejam definidos pelo
compilador em tempo de compilação. O presente trabalho se propôs a implementar uma
interoperabilidade entre a linguagem Julia e o solver ALGENCAN. Para realizá-lo foram
utilizados os recursos da linguagem Julia que fornecem suporte às chamadas a funções em
Fortran. |
Abstract: | There are a lot of applications of optimization in day-to-day, like resources minimization
and profits maximization in industrial productions, diminishing terrestrial traffic on large
cities, make a meal with all needed ingredients and as cheaper as possible for children
at a school, among others. However, the number of variables and constraints present in
that can grow fastly turning inviable a manual solving. In order to turn those problems
resolution praticable and less slow was developed the Augmented Lagrangian with GENCAN library in the work conducted by the professors s R. Andreani, E. G. Birgin, J.
M. Martínez, and M. L. Schuverdt, in 2008, and improved later, in 2020. That solver is
written in Fortran, an structured language that requires significant number of lines of
code to describe an optimization problem. In the last years, were proposed some scientific
mathematical languages as alternatives to classic languages like Fortran and C. Among
those, Julia language stands out, a language that brings productive aspects due to high
abstraction. In the same time Julia language brings productivity, it looks for keep good
performance aspects that are present in those classic languages. The current work has
proposed to implement an interoperability between the Julia language and the ALGENCAN solver. To accomplish that the resources from Julia language that offer support to
Fortran function calls were applied. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade UnB Gama, 2023. |
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 Software
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.