Análise de métodos de otimização avançados em projeto mecânico

Abstract

Advanced optimization methods are widely applied to mechanical design, mainly for its abilities to solve complex problems that traditional optimization techniques such as gradient-based methods do not present. With its increasing popularity, the number of algorithms found in the literature is vast. In this work three algorithms are implemented, namely Particle Swarm Optimization (PSO), Differential Evolution (DE) and Teaching-Learning- Based Optimization (TLBO). Firstly, the application of these algorithms is analyzed for a composition function benchmark and three mechanical design minimization problems (the weight of a speed reducer, the volume of a three-bar truss and the area of a square plate with a cut-out hole). Furthermore, as the scope of available algorithms increases, the choice of programming tools to implement them is also vast, and generally made considering subjective criteria or difficulties in using enhancing strategies such as parallel processing. Thereby an analysis of programming tools applied to metaheuristic algorithms is carried out using four programming languages with distinct characteristics: Python, MATLAB, Java and C++. The selected algorithms and problems are coded using each programming language, which are initially compared in a sequential processing implementation. Additionally, in order to analyze potential gains in performance, parallel processing procedures are implemented using features of each programming language. The application of the algorithms to the mechanical design problems demonstrates good results in the achieved solutions. In what concerns to the computational time, sequential and processing results present considerable differences between programming languages while the implementation of parallel processing procedures demonstrates significant benefits for complex problems.Métodos avançados de otimização têm sido amplamente aplicados ao projeto mecânico, principalmente pela sua capacidade de resolver problemas complexos que técnicas tradicionais de otimização como os métodos baseados em gradiente não apresentam. Devido à sua crescente popularidade, o número de algoritmos encontrados na literatura é vasto. Neste trabalho são implementados três algoritmos distintos, Otimização por Bando de Partículas (PSO), Evolução Diferencial (DE) e Otimização Baseada no Ensino-Aprendizagem (TLBO). Inicialmente, a aplicação destes algoritmos é analisada numa função composta e em três problemas de minimização de projeto mecânico (o peso de um redutor de velocidade, o volume de uma estrutura de três barras e a área de uma placa quadrada com um furo circular). Além disso, com o aumento do número de algoritmos existentes, a escolha de ferramentas de programação para implementá-los também é vasta e geralmente feita considerando critérios subjetivos ou dificuldades no uso de estratégias de melhoria como processamento paralelo. Deste modo, no presente trabalho é realizada uma análise de ferramentas de programação aplicadas a algoritmos metaheurísticos, utilizando linguagens de programação com distintas características: Python, MATLAB, Java e C++. Os algoritmos e problemas selecionados são programados em cada linguagem de programação, e inicialmente comparados numa implementação de processamento sequencial. Além disso, de forma a analisar possíveis ganhos de desempenho, são implementados procedimentos de processamento paralelo utilizando recursos de cada linguagem de programação. A aplicação dos algoritmos aos problemas de projeto mecânico demonstra bons resultados nas soluções obtidas. Os resultados, em termos de tempo computacional, de processamento sequencial e paralelo, apresentam diferenças consideráveis entre as linguagens de programação. A implementação de procedimentos de processamento paralelo demonstra benefícios significativos em problemas complexos.Mestrado em Engenharia Mecânic

    Similar works