Você está na página 1de 24

Universidade do Estado do Rio de Janeiro

Centro de Tecnologia e Ciências


Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Conhecimentos básicos sobre otimização via


interface MATLAB-ANSYS

Matheus Abreu Lopes – M.Sc. em Engenharia Mecânica


com ênfase em Mecânica dos Sólidos – PPG-EM/UERJ

matheus.lopes1@hotmail.com
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Sumário

• Introdução
• Conhecimentos necessários
• O problema de otimização e o algoritmo genético
• Aplicação do algoritmo genético (GA) no MATLAB –
Exemplo
• Aplicação do algoritmo genético (GA) em conjunto
com análise de elementos finitos (MEF) – MATLAB-
ANSYS - Exemplo
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Introdução

Projeto Ótimo
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Conhecimentos necessários
• Base teórica de elementos finitos, otimização e seus algoritmos;

• Sólidos conhecimentos em modelagem em elementos finitos


através do ANSYS e noções básicas de programação no MATLAB

• Fenômenos de interesse no projeto – Mecânica dos sólidos,


mecânica dos fluidos, transmissão de calor, termodinâmica,
aerodinâmica, hidrodinâmica, mecânica dos solos, estruturas de
aço, estruturas de concreto e mistas, elasticidade, plasticidade,
mecânica do dano, engenharia de processos, logística, vibrações,
eficiência energética, etc.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

O problema de otimização e o algoritmo genético


Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB


• Função objetivo – Volume da
estrutura
• Variáveis de projeto – 5
larguras e 5 alturas das
seções retas - 10 Variáveis.
• Restrições – Tensão Máxima,
Deslocamento Máximo, Razão
máxima entre a largura e a
altura de cada seção reta.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB


• Carga aplicada – P = 50000N;
• Comprimento de cada seção –
l = 100 cm;
• Módulo de elasticidade – E =
2x10^7 N/cm²;
• Tensão normal admissível –
14000 N/cm²;
• Deslocamento máximo – 2,7
cm.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB – Código do GA


Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB – Código do GA

Código da Função objetivo Número de variáveis


Índice das variáveis que
assumem valores inteiros.
Código das restrições não
lineares

A – Matriz das restrições de desigualdade lineares


[A]{x} <= {b}
b – Vetor das restrições de desigualdade lineares

Aeq – Matriz das restrições de igualdade lineares


[Aeq]{x} = {beq}
beq – Vetor das restrições de igualdade lineares

lb – lower bound – limite inferior


{lb} <= {x} <= {ub}
ub – upper bound – limite superior
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB – Código da Função objetivo


Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB – Código das Restrições


1ª Parte
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB – Código das Restrições


2ª Parte
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB – Código das Restrições


3ª Parte

Restrições de desigualdade não lineares – C <= 0


Restrições de igualdade não lineares – Ceq = 0
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código do GA
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código da Função Objetivo
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código das Restrições

1ª Parte

Comando que “escreve” as variáveis de projeto em um documento .txt no caminho especificado


Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código das Restrições

2ª Parte

Comando que executa o ANSYS. Neste comando deve-se colocar o diretório de onde o ANSYS está instalado,
bem como a versão do executável do ANSYS. Além disso, nesse comando deve-se especificar o APDL a ser
executado pelo ANSYS.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código das Restrições

3ª Parte A função “importfile” faz a


leitura do arquivo no qual o
ANSYS escreve as grandezas
de interesse para o
problema.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código das Restrições

4ª Parte 5ª Parte
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código APDL

Código a ser inserido no início do APDL para ler o arquivo com as


variáveis de projeto. OBS: Esse arquivo é alterado a cada iteração,
para cada indivíduo gerado no algoritmo genético no MATLAB. Isso
ocorre toda vez que o MATLAB executa o comando “writetable”, já
apresentado.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS – Código APDL
Definição das grandezas de interesse
para o problema. Comando *GET, que
armazena a um parâmetro definido pelo
usuário um dos “outputs” do elemento
finito. Por exemplo. O Comando “*GET,
DESLOC2, NODE, 2, UY” associa o
deslocamento na direção UY, do nó 2,
ao parâmetro “DESLOC2” criado pelo
usuário.

O comando “*CFOPEN” abre um arquivo definido no


qual o programa irá “escrever” as grandezas
selecionadas através do comando “*VWRITE”. Após isso,
é executado o comando “*CFCLOS” para fechar o
arquivo que foi modificado. Esse arquivo será lido pelo
MATLAB através da função IMPORTFILE.
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Exemplo de aplicação do GA no MATLAB integrado com o MEF


através da interface MATLAB-ANSYS
MATLAB escreve as variáveis ANSYS lê o arquivo .txt com as
MATLAB executa o APDL
de projeto de um indivíduo variáveis de projeto e executa
desejado no ANSYS.
em um arquivo .txt o APDL

MATLAB utiliza os resultados MATLAB lê o arquivo .txt com ANSYS escreve os resultados
para atribuir a aptidão ao os resultados escritos pelo de interesse em um arquivo
indivíduo ANSYS .txt

Com a nova geração, repete-


MATLAB repete o processo
MATLAB armazena essa se o processo para todos os
para todos os indivíduos da
aptidão e cria um novo indivíduos, até terminarem
geração e após isso executa
indivíduo as gerações ou o critério de
as operações genéticas
parada ser satisfeito
Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências
Faculdade de Engenharia
Programa de Pós-Graduação em Engenharia Mecânica

Referências
• http://www.mathworks.com/help/gads/solving-a-mixed-integer-engineering-design-problem-using-the-genetic-
algorithm.html
• Survey of discrete variable optimization for structural design, P.B. Thanedar, G.N. Vanderplaats, J. Struct. Eng.,
121 (3), 301-306 (1995)