Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/39351
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2023_MaiconLucasMaresSouza_tcc.pdf3,06 MBAdobe PDFver/abrir
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.