Biblioteca em Python para Métodos de Otimização Não Linear - Ribeiro, Diogo Armando de Castro (2021)
Num Problema de Otimização genérico, procura-se encontrar o ótimo de uma função de Otimização (obter o máximo ou o mínimo da função de Otimização), que é uma solução aproximada do Problema. Para obter o ótimo, faz-se uso de Métodos de Otimização, que sendo mais ou menos rápidos, procuram pelo ótimo da função. Em diversas áreas como a Engenharia, Química, Economia e outras, aparecem com frequência problemas onde as funções envolvidas (função objetivo e restrições) se apresentam sob diversas formas, como por exemplo as suas derivadas não serem conhecidas, terem expressões complexas, terem expressões analíticas que em alguns casos não podem ser determinadas ou pelo seu custo (temporal, monetário, computacional entre outros), esses problemas são designados de Problemas de Otimização sem uso de derivadas. Neste trabalho usam-se Métodos de Pesquisa Direta, que são métodos que fazem uso apenas dos valores das funções para chegar a uma solução ótima, enquanto comparam esses valores em determinados pontos durante a resolução do problema, sem usar derivadas, nem modelos que aproximem as derivadas das funções envolvidas. Os métodos usados neste trabalho foram os Métodos de Otimização sem Restrições, mais precisamente o Método de Pesquisa Coordenada, o Método de Nelder-Mead e o Método de Hooke e Jeeves. Com o grande desenvolvimento dos meios digitais e da Web, e com a ocorrência de um problema a uma escala global, como a pandemia, criou-se uma aplicação Web, a BeneSolution, um site que permite o registo de utilizadores dividindo-os segundo a sua profissão (Outros, Alunos ou Professores), o registo de novos problemas por partes dos Professores e a resolução de Problemas de Otimização Não-Lineares consoante o tipo de métodos presentes na base de dados do site por parte dos utilizadores. A metodologia utilizada para a implementação destes métodos foi feita com recurso à Tecnologia Python, já a criação e implementação da aplicação Web foi através da Tecnologia Django, uma framework Web Python de alto-nível.