Please use this identifier to cite or link to this item:
http://hdl.handle.net/10773/26911
Title: | On the use of advanced optimization methods in mechanical design |
Other Titles: | Análise de métodos de otimização avançados em projeto mecânico |
Author: | Oliveira, Miguel Jorge Guimarães de |
Advisor: | Campos, António Gil d'Orey de Andrade Oliveira, João Alexandre Dias de |
Keywords: | Advanced optimization methods Mechanical design Programming languages Parallel processing |
Defense Date: | 28-Nov-2018 |
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. |
URI: | http://hdl.handle.net/10773/26911 |
Appears in Collections: | UA - Dissertações de mestrado DEM - Dissertações de mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
documento.pdf | 4.94 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.