Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho de Graduação II
1
Sumário
Sumário 2
1 Introdução 3
2 Programação Linear 5
2.1 Método Exaustivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Método Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Método Primal-Simplex . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Método das Duas Fases . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Métodos de Pontos Interiores . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Método Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Método Preditor-Corretor . . . . . . . . . . . . . . . . . . . . . . . 14
4 Otimização Topológica 24
4.1 Formulação com Malhas Retangulares . . . . . . . . . . . . . . . . . . . . . 24
4.2 Formulação com Malhas Triangulares . . . . . . . . . . . . . . . . . . . . . 24
4.3 Classificação de Malhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Tabuleiro de Xadrez e Filtros . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4.1 Filtro da Média Ponderada das Densidades . . . . . . . . . . . . . . 29
4.5 Evitando Densidades Intermediárias . . . . . . . . . . . . . . . . . . . . . . 29
6 Resultados Computacionais 31
6.1 Método com Malhas Retangulares . . . . . . . . . . . . . . . . . . . . . . . 31
6.1.1 Sem Aplicação de Filtros . . . . . . . . . . . . . . . . . . . . . . . . 31
6.1.2 Aplicação do Filtro da Média Ponderada das Densidades . . . . . . 32
6.2 Método com Malhas Triangulares Irregulares e Filtro . . . . . . . . . . . . 33
6.2.1 Aplicação no Setor Aeroespacial . . . . . . . . . . . . . . . . . . . . 35
7 Conclusão 36
Referências Bibliográficas 37
2
Resumo
O objetivo central deste projeto consiste no estudo de métodos computacionais
para resolver problemas de Otimização Topológica. Para isso, é necessária a com-
preensão sobre Programação Linear, Programação Não-Linear, Programação Linear
Sequencial (PLS) e Restauração Inexata. Neste trabalho são descritos os principais
pontos estudados sobre esses assuntos e é proposto um novo método para globa-
lização da PLS. As referências mais usadas para isso foram [6], [8], [10] e [12] .
Também foram realizadas implementações, em MATLAB® , utilizando computado-
res e licenças de MATLAB® disponı́veis no laboratório de informática da UNIFESP
- São José dos Campos, dos algoritmos relacionados.
Este trabalho, até o estudo de Programação Linear Sequencial, foi realizado
em conjunto com o discente Victor Sucharski, por estarmos inseridos no mesmo
grupo de pesquisa de Otimização Topológica e pelo fato deste conteúdo servir de
fundamento para diferentes projetos de pesquisa.
1 Introdução
Otimização Topológica é o campo da matemática e da Engenharia que utiliza
de ferramentas computacionais para obter o formato ótimo de uma estrutura que
respeite certas condições fı́sicas, sendo a mais eficiente de acordo com um critério
pré-estabelecido. Usualmente, esses problemas são formulados como problemas de
otimização não linear de grande porte.
O estudo do problema se dá por meio da análise de um corpo elástico em um
domı́nio Ω, mantido fixo em uma região Γt1 , conforme mostrado na Figura 1.
3
modelo que permita colocar densidades intermediárias de material no domı́nio. As-
sim, χ é substituı́da por uma variável contı́nua ρ ∈ [0, 1], que representa a densidade
de material no elemento.
Neste trabalho, considera-se que o elemento tem espessura constante e des-
prezı́vel em relação às outras dimensões. Uma estrutura que é fixa em uma área
da superfı́cie sofre deformação quando um carregamento externo é aplicado. O car-
regamento aplicado ao corpo gera um campo de deslocamento u = [u1 u2 ]T . A
componente u1 representa o deslocamento horizontal e a componente u2 , o desloca-
mento vertical.
O problema mais simples de Otimização Topológica consiste na minimização
da flexibilidade média da estrutura ou, equivalentemente, a maximização da sua
rigidez, de modo que a estrutura esteja contida no domı́nio Ω e satisfaça algumas
condições de contorno, com um volume predeterminado. Assim, após a discretização
de Ω, o problema em questão é escrito como
minρ,u f T u
s. a K(ρ)u =f
Pn (1.1)
i=1 vi ρi ≤ V
ρmin ≤ ρi ≤ 1, i = 1, ..., n,
em que n é o número de elementos do domı́nio, ρi e vi são, respectivamente, a
densidade e o volume do i-ésimo elemento, V é o limitante superior para o volume
da estrutura, f é o vetor de forças nodais associado às cargas externas, u ≡ u(ρ)
é o vetor de deslocamentos nodais produzidos pela aplicação das cargas externas e
K(ρ) é a matriz de rigidez global da estrutura dada por ρ. O parâmetro ρmin é
uma constante positiva suficientemente pequena, usada para evitar instabilidades
numéricas na resolução do problema.
Para reduzir a ocorrência de densidades intermediárias na solução de (1.1),
Bendsøe [2] introduziu o método SIMP (Solid Isotropic Material with Penaliza-
tion). Neste método x’ρ é substituı́do por ρp em parte do modelo a ser otimizado,
em que p é um parâmetro de penalização. Em [11] são mostradas condições que
garantem que ρ tenda a não assumir valores intermediários à medida que p se torne
suficientemente grande. O problema com a inserção deste parâmetro é escrito como
minρ,u f T u
s. a K(ρ p
Pn )u = f (1.2)
i=1 vi ρi ≤ V
ρmin ≤ ρi ≤ 1, i = 1, ..., n.
4
a densidade em um dado elemento por uma combinação das densidades dos elemen-
tos próximos a ele. Em alguns casos, estes filtros fazem com que as restrições se
tornem não lineares.
2 Programação Linear
Um problema de programação linear consiste em minimizar ou maximizar uma
função linear, sujeita à restrições compostas por funções lineares.
Um problema de programação linear possui a forma
minimizar z = cT x
sujeito a Ax = b (2.1)
x ≥ 0,
em que:
• z é denominada função objetivo,
• x ∈ Rn é o vetor de incógnitas,
• b ∈ Rm ,
• A é uma matriz m × n denominada matriz de restrições (assume-se posto
completo),
que é denominada forma padrão. Note que, um problema pode admitir restrições
do tipo Ax ≥ b ou Ax ≤ b ou até mesmo uma mistura de ambos para diferentes
5
restrições. Porém, estes podem ser convertidos para a forma padrão por meio da
adição ou subtração de variáveis de folga, e.g. Ax ≤ b pode ser escrito da forma
Ax + = b, em que ∈ Rm é um vetor de variáveis de folga (os outros casos seguem
de maneira semelhante).
A região delimitada pelas restrições é denominada região viável.
Vamos, então, definir alguns conceitos importantes para a teoria de Programação
Linear.
αx + (1 − α)y ∈ S.
x = αk + (1 − α)y,
com k, y ∈ S, α ∈ (0, 1) e k, y 6= x.
Definição 2.3 (Solução Básica) Um ponto x é dito ser uma solução básica de
(2.1) se
• satisfaz Ax = b e
• as colunas de A correspondentes às componentes não-nulas de x são linear-
mente independentes.
Definição 2.4 (Solução Básica Viável) Um ponto x é uma solução básica viável
se for uma solução básica e satisfizer x ≥ 0.
Definição 2.5 (Solução Básica Viável Ótima) Se uma solução básica viável for
a que minimiza a função objetivo, então esta é dita ser uma solução básica viável
ótima.
Nas próximas seções, vamos começar a construir métodos para resolver um pro-
blema genérico de Programação Linear na forma padrão.
6
De acordo com o Teorema 2.1, temos que as soluções possı́veis para o problema
encontram-se nos vértices da região viável e estes são dados pelas interseções de
n
hiperplanos. Logo, existem no máximo, m soluções básicas viáveis (note que nem
todas as interseções podem estar na região viável).
Figura 3:
Exemplo de uma região formada por restrições 2D - A área em verde representa a região
viável e os pontos pretos, os vértices.
S = {x ∈ Rn : Ax = b, x ≥ 0}
7
Com tais resultados, podemos restringir nossa busca por soluções ao conjunto
de vértices da região viável. O seguinte algoritmo, desenvolvido em MATLAB® ,
nos permite achar a solução de um problema de Programação Linear com região
viável limitada utilizando uma busca exaustiva. O algoritmo recebe os coeficientes
da função objetivo c, a matriz de restrições A e o vetor b, calcula todas as possı́veis
combinações de colunas m × m possı́veis de A. Com isso, calcula os vértices e
testa-os para qual minimiza a função objetivo.
Apesar de resolver o problema, tal algoritmo não é computacionalmente viável,
pois para encontrar um vértice é necessário resolver um sistema linear m × m para
cada vértice, o que é caro para problemas de grande porte. Tal algoritmo possui
complexidade exponencial em relação ao tamanho de variáveis do problema. Por
isso, nas próximas seções, veremos métodos que visam diminuir o custo computaci-
onal de se resolver um problema genérico de Programação Linear.
O algoritmo implementado para resolução de problemas de PL por um Método
Exaustivo segue abaixo.
8
2.2.1 Método Primal-Simplex
Considere o problema na forma padrão
minimizar z = cT x
sujeito a Ax = b (2.2)
x≥0
z = cB T xB + cN T xN (2.4)
e as restrições da forma
Ax = BxB + N xN = b (2.5)
em que:
• cB é o vetor coeficientes das variáveis básicas,
• cN é o vetor de coeficientes das variáveis não-básicas,
• B é a matriz cujas colunas correspondem as variáveis básicas e
• N é a matriz cujas colunas correspondem as variáveis não-básicas.
Podemos reescrever (2.5) como
xB = B −1 b − B −1 N xN . (2.6)
z = cB T B −1 b + cN T − cB T B −1 N xN .
(2.7)
T
Definindo y = cB T B −1 , denominado vetor de multiplicadores do Simplex,
podemos reescrever (2.7) como
z = y T b + cN T − y T N x N .
(2.8)
z = ẑ + cˆN T xN . (2.9)
9
for ótimo, i.e., se a base atual não for ótima, existirá pelo menos uma componente
cˆt < 0. Note que, temos que aumentar xt correspondente à um valor que não viole
as restrições de não-negatividade.
Como xN é o vetor nulo exceto por xt , temos que analisar
xB = B −1 b − B −1 N xN
(2.10)
= b̂ − Ât xt
e fazemos xb ← xb − Ât x̄t , com isso, zeramos uma das componentes de xb e fazemos
a componente xt = x̂t , o que nos resulta em uma nova solução básica viável e um
novo valor para a função objetivo dada por ẑ ← ẑ + ĉt x̄t .
Caso âi,t ≤ 0 ∀i, então podemos incrementar xt arbitrariamente sem violar a
condição de não-negatividade e, então, a função objetivo decrescerá ilimitadamente.
Neste caso, temos um problema ilimitado.
Com tais ferramentas, obtemos o Método Primal-Simplex. Dada uma solução
básica viável inicial, temos
1. Teste de Otimalidade: Calcula-se y T = cTB B −1 e ĉTN = cTN − y T N .
Se ĉTN ≥ 0, temos que a base atual é ótima. Caso contrário, selecionamos
xt associada com um ĉt < 0 (preferência ao ĉt mais negativo possı́vel), para
algum t ∈ N que entrará na base.
2. Teste da Razão: Calcula-se Ât = B −1 At . Encontra-se s ∈ N tal que
( )
b̂s b̂i
= min : âi,t > 0 (2.13)
âs,t âi,t
de modo que xs será a variável que sairá da base e âs,t é chamado de pivô.
Se âi,t ≤ 0 ∀i, então o problema é ilimitado.
3. Atualização: Atualiza-se a matriz B substituindo a coluna correspondente à
variável que sai com a nova coluna correspondente à variável que entra na
matriz A e calcula-se o novo valor de xb .
O processo se repete até que se atinja a base ótima ou conclua-se que o problema
é ilimitado.
10
Figura 4: Exemplo 2D do Simplex - Percorre vértices checando a existência de direções
que reduzem ainda mais a função objetivo.
11
33: end
X
minimizar ai , (2.14)
i
maximizar w = bT y
sujeito a AT y + s = c (2.16)
s ≥ 0.
Um Método Primal-Dual resolve os problemas primal e dual simultaneamente,
as equações de igualdade do problema primal e do dual são exatamente satisfei-
tas, enquanto a não negatividade das incógnitas são estritamente satisfeitas. A
convergência acontece quando a folga de dualidade, calculada pela diferença entre
as soluções ótimas dos problemas primal e dual é igual a zero ou menor que uma
tolerância.
A cada iteração do método, procuramos vetores x(µ), y(µ) e s(µ) tais que, para
µ > 0, satisfaçam
Ax = b
T
A y+s=c
(2.17)
xi si = µ
x, s ≥ 0
12
O valor de µ é então reduzido e o processo é repetido até que a convergência seja
atingida. Começando a resolução do problema a partir de estimativas x > 0, y
e s > 0 tais que Ax = b e AT y + s = c, mas não necessariamente xi si = µ.
Precisamos encontrar novas estimativas x + δx, y + δy e s + δs mais próximas
de satisfazer as equações. Definindo as matrizes X = diag(xi ) e S = diag(si ), os
vetores δx, δy e δs são obtidos resolvendo o seguinte sistema
13
2.3.2 Método Preditor-Corretor
O Método Preditor-Corretor é uma modificação do método primal-dual que re-
duz o número de iterações com um pequeno aumento no custo de cada iteração.
Este método consiste em duas fases para resolver o seguinte sistema
14
36: dlamb = d(n+1:n+m);
37: dmu = d(n+m+1:2*n+m);
38:
39: raz = -x./ dx;
40: indrazpos = find(raz > 0);
41: [t, ind2] = min(raz(indrazpos));
42: if isempty(t)
43: t=1;
44: elseif t>1
45: t=1;
46: end
47:
48: x = x + 0.999 *t* dx;
49:
50: lamb = lamb + dlamb;
51:
52: raz = -mu./ dmu;
53: indrazpos = find(raz > 0);
54: [t, ind2] = min(raz(indrazpos));
55: if isempty(t)
56: t=1;
57: elseif t>1
58: t=1;
59: end
60:
61: mu = mu + 0.999 * t* dmu;
62:
63: F = [A * x - b ;
64: A’ * lamb + mu - c;
65: x .* mu];
66:
67: end
15
Figura 5: Aproximação da função por Taylor em torno de um ponto x com região de
confiança.
16
em que
• sl = max{−δk , xl − x(k) } e
• su = min{δk , xu − x(k) }.
Definimos a redução verdadeira de f como sendo
17
27: AR = f(xk) - f(xk + s);
28: PR = -gradf’ * s;
29:
30: %TESTA ETAPA
31: if AR >= 0.1 * PR
32: %Atualiza xk
33: xa = xk;
34: xk = xk + s;
35:
36: %Aumenta Regi~
ao de Confiança
37: if AR >= 0.5 * PR
38: delta = min(2.5*delta, norm(xu - xl, inf));
39: else
40: delta = delta_min;
41: end
42:
43: %Calcula o Erro
44: erro = min(norm(gradf, inf), norm(xa - xk, inf));
45: else
46: %Diminui a Regi~ao de Confiança
47: delta = 0.1 * delta;
48: end
49: end
50: end
Teorema 3.2 Seja x(k) um ponto não-estacionário para o problema (3.1). Então,
o iterado x(k) + sk é aceito após um número finito de iterações.
minimizar ∇f (x(k) )T s
sujeito a As = 0 (3.7)
sl ≤ s ≤ su .
18
Denotaremos o conjunto viável de (3.8) por
Υ = {s ∈ Rn : As = 0, xl − x(k) ≤ s ≤ xu − x(k) }.
dt := PΥ (−∇f (x(k) )) 6= 0.
−∇f (x(k) )T dt
ηk := > 0.
kdt k∞
Temos que
−∇f (x(k) )T dt
−∇f (x(k) )T (ᾱdt ) = δk = ηk δk .
||dt ||∞
Se sk é a solução do problema (3.7), temos que, pela definição de redução prevista
Ared (sk ) − Pred (sk ) = [f (x(k) ) + ∇f (x(k) )T sk ] − f (x(k) ) − ∇f (x(k) )sk + O(||sk ||2 )
= O(||sk ||2 )
(3.12)
De (3.12), chegamos em
19
Combinando (3.13) e (3.9), obtemos
Lema 3.1 Seja {x(k) }k∈N uma sequência infinita gerada pelo Algoritmo 3.1.
Se existe K1 ⊂ N tal que limk∈K1 x(k) = x∗ , com x∗ um ponto não-estacionário
para (3.1), então existe η > 0 tal que
Demonstração Seja
Υ = {s ∈ Rn : As = 0, xl − x(k) ≤ s ≤ xu − x(k) }
(k)
e tome dt (x) = PΥ (−∇f (x)), dt = dt (x(k) ). Note que dt (x) = 0 se, e somente
se, x é estacionário.
Definimos, para x não-estacionário
dt (x)
η(x) = −∇f (x)T .
kdt (x)k∞
Note que η(x) é sempre positiva, pois, pela definição de dt (x), ∇f (x)T dt (x) < 0.
Como ∇f (x)T e dt (x) são contı́nuas, então η(x) é uma função contı́nua.
Como x(k) → x∗ e η(x∗ ) > 0 então existe η̄ < η(x(k) ) ∀k.
Lema 3.2 Seja {x(k) } uma sequência limitada gerada pelo Algoritmo 3.1. Se existe
x∗ ponto limite de {x(k) }k∈K1 não-estacionário para o problema (3.1), então, existe
δ 0 tal que δk ≥ δ 0 > 0 ∀k ∈ K1 .
Teorema 3.3 Seja {x(k) }k∈N uma sequência infinita gerada pelo Algoritmo 3.1 e
x∗ um ponto limite de uma subsequência {x(k) }k∈K1 . Então, x∗ é um ponto esta-
cionário para (3.1).
20
Demonstração Suponha que x∗ não seja estacionário. Do critério de aceitação
do passo e dos lemas anteriores, temos que, para k ∈ K2 ⊂ K1 ,
Note que f → −∞, pois, a cada iteração, f decresce e, para k ∈ K2 , esta decresce
no mı́nimo 0.1ηδ 0 , o que é uma contradição, pois f está definida em um compacto.
Minimize ∇f (y k )T s
sujeito a Jh (y k )s = 0 (3.20)
x ∈ Ω.
21
em que Jc é a matriz jacobiana das restrições de igualdade.
Teste as condições:
1
f (y k + s) ≤ f (y k ) − ||s||2 (3.21)
2
e
1
Φ(y k + s, θk+1 ) ≤ Φ(xk , θk+1 ) + (1 − r)(kh(y k )k − kh(xk )k). (3.22)
2
Se (3.21) e (3.22) são satisfeitas, defina sk = s, xk+1 = y k + sk , δk = δ, atualize
k ← k + 1, e volte ao Passo 1.
Senão, atualize
δ = 0.1δ. (3.23)
e volte ao Passo 3.1.
Demonstração Defina
γ = {s ∈ Rn : Jh (y k )s = 0, y k + s ∈ Ω}
e
dkt = Pγ (−∇f (y k )).
Considere o problema auxiliar
Cuja solução é
δ
αk = .
||dkt ||∞
Defina
dkt
ηk = ∇f (y k )T .
||dkt ||∞
Então, temos que
dkt
∇f (y k )T s ≤ δ∇f (y k )T = δηk .
||dkt ||∞
Note que, se ηk = 0, o Passo 3 é bem definido para s = 0. Se η > 0, temos
f (y k + s) ≤ f (y k ) + ∇f (y k )T s + L||s||22
≤ f (y k ) − ηk δ + Lδ 2
≤ f (y k ) − (ηk − Lδ)δ
ηk δ
f (y k ) − (ηk − Lδ)δ ≤ f (y k ) −
2
δ2
≤ f (y k ) −
2
||s||22
≤ f (y k ) − .
2
22
Logo, mostramos que (3.21) está bem definida.
Agora, para (3.22), temos
Φ(z, θk+1 ) − Φ(xk , θk+1 ) = Φ(z, θk+1 ) − Φ(y k , θk+1 ) + Φ(y k , θk+1 ) − Φ(xk , θk+1 )
≤ θk+1 [f (z) − f (y k )] + (1 − θk+1 )[||h(z)||2 − ||c(y k )||2 ] + R
−θk+1 ηk δ 1
≤ + (1 − θk+1 Ls2 + (1 − r)(kh(y k )k2 − kh(xk )k2 )
2 2
1
≤ (1 − r)(kh(y k )k2 − kh(xk )k2 )
2
O que prova o resultado desejado.
3.2.2 Implementação
A implementação do algoritmo com Restauração Inexata para resolução do pro-
blema de formato ótimo de estruturas foi realizado neste projeto considerando a line-
aridade das restrições, de forma que todos os pontos avaliados são viáveis. Por esse
motivo, a fase de restauração do método é sempre aceita, não precisando ser verifi-
cada. O algoritmo proposto para problemas com restrições lineares em MATLAB®
está descrita abaixo.
23
29: xk = xk + s
30: delta = delta_min;
31:
32: %Calcula o Erro
33: erro = min(norm(gradf, inf), norm(xa - xk, inf));
34: else
35: %Diminui a Regi~ao de Confiança
36: delta = 0.1 * delta;
37: end
38: end
39: end
4 Otimização Topológica
A Otimização Topológica consiste em obter o formato de uma estrutura, res-
peitando certas condições fı́sicas e impondo que ela seja a mais eficiente possı́vel,
segundo algum critério. O objetivo neste tipo de problema é encontrar a confi-
guração ótima de uma estrutura, levando em consideração aspectos como a rigidez,
os deslocamentos, as forças externas aplicadas e o volume de material disponı́vel.
Usualmente, esses problemas são formulados como problemas de otimização não
linear de grande porte, e difı́cil resolução.
24
Figura 6: Domı́nio do projeto.
Fonte: Retirado de [12].
25
Figura 8: Elemento finito triangular de três nós.
Fonte: Adaptado de [1].
Figura 9: Exemplo de malha triangular irregular gerada pelo MATLAB® com tamanho
máximo da aresta sendo 10.
Fonte: Retirado de [5].
26
Figura 10: Exemplo de malha triangular irregular não estruturada gerada pelo
MATLAB® .
Fonte: Retirado de [5].
Figura 11: Exemplo de malha triangular irregular não estruturada gerada pelo MATLAB®
com tamanho máximo da aresta sendo 0.5.
Fonte: Retirado de [5].
27
Figura 12: Exemplo de uma estrutura onde aparece o tabuleiro de xadrez para o caso
retangular.
Fonte: Retirado de [12].
Uma vizinhança é definida para cada elemento do domı́nio, a fim de ser utili-
zado um filtro espacial. Caracteriza-se tal vizinhança por B(i, rmin ), o que indica
que a vizinhança é centrada em um elemento i e com raio rmin . A aplicação do
filtro gera efeito no elemento i levando em consideração informações dos elementos
vizinhos de sua vizinhança, sendo que, quanto mais distante estiver o elemento j
do elemento central i, menor será a influência deste elemento na ação do filtro. A
Figura 13 exemplifica a vizinhança de um elemento finito i para o caso de uma
malha retangular.
28
4.4.1 Filtro da Média Ponderada das Densidades
O filtro da Média Ponderada das Densidades foi proposto por [4] e é aplicado a
cada elemento i da malha, e a densidade ρi deste elemento é substituı́da pela média
ponderada das densidades dos elementos contidos em sua vizinhança Bi = B(i, r)
para algum valor fixo de r. A nova densidade é dada por:
X ωj (sij )
Φi = ρj , (4.1)
ωi
j∈Bi
Note que a restrição de volume se mantém linear, mesmo com a aplicação deste
filtro.
minρ,u f T u
s. a K(ρ)u =f
Pn (4.5)
i=1 i ρi ≤ V
v
ρmin ≤ ρi ≤ 1, i = 1, ..., n,
em que n é o número de elementos do domı́nio, ρi e vi são, respectivamente, a
densidade e o volume do i-ésimo elemento, V é o limitante superior para o volume
da estrutura, f é o vetor de forças nodais associado às cargas externas, u ≡ u(ρ)
é o vetor de deslocamentos nodais produzidos pela aplicação das cargas externas e
K(ρ) é a matriz de rigidez global da estrutura dada por ρ. O parâmetro ρmin é
uma constante positiva suficientemente pequena, usada para evitar instabilidades
numéricas na resolução do problema.
No método SIMP ρ é substituı́do por ρp em parte do modelo a ser otimizado,
em que p é um parâmetro de penalização. Em [11] são mostradas condições que
garantem que ρ tenda a não assumir valores intermediários a medida que p se torne
suficientemente grande. O problema com a inserção deste parâmetro é escrito como
minρ,u f T u
s. a K(ρ p
Pn )u = f (4.6)
i=1 vi ρi ≤ V
ρmin ≤ ρi ≤ 1, i = 1, ..., n.
29
5 Aplicações de Otimização Topológica no Se-
tor Aeroespacial
Nesta seção será feita uma breve descrição da aplicação de Otimização To-
pológica no setor aeroespacial, baseada em [14].
A definição do domı́nio de projeto de um sistema de estrutura de uma aeronave é
fundamental para a Otimização Topológica nesta área, pois se trata de um sistema
muito complexo. Os detalhes estruturais geralmente são ignorados e projetados
nas fases seguintes por meio de outro tipo de otimização. Os domı́nios devem ser
atribuı́dos previamente, de acordo com os requisitos de dispositivos funcionais, su-
perfı́cies aerodinâmicas, restrições de fabricação, entre outros. Além disso, escolher
um algoritmo de otimização apropriado é muito importante para obter configurações
estruturais razoáveis na Otimização Topológica.
A Otimização Topológica gera apenas um layout aproximado ou conceitual,
sendo que peças, estruturas e componentes topologicamente otimizados precisam ser
adaptados para que sejam utilizados de forma prática em aplicações da Engenharia.
Existem esquemas de pós-processamento que podem suavizar automaticamente o
limite de design topológico dessas estruturas.
Após a realização do pós-processamento, os procedimentos de otimização da
forma e dimensionamento são feitos com o intuito de melhorar ainda mais o desem-
penho estrutural relativo à concentração de tensão, volume, respostas dinâmicas e
demais variáveis não totalmente consideradas na fase de design topológico anterior.
A Figura 14 mostra uma costela de asa otimizada e sua configuração final de pro-
jeto. Podemos notar diferenças a partir das duas configurações estruturais. Em
alguns outros casos, os projetos finais são simplesmente a integração comprometida
dos projetos topologicamente otimizados com projetos já existentes e validados.
30
6 Resultados Computacionais
Tendo como base os métodos de PLS propostos em [12] e [5] para discretização
do domı́nio com malhas retangulares e triangulares irregulares, respectivamente.
Foram realizados testes computacionais para o método de PLS com Restauração
Inexata proposto nesse trabalho. Nesta seção estão expostos os resultados.
31
Figura 17: Estrutura ótima para p = 2.
32
Figura 20: Estrutura ótima para p = 2.
33
Figura 22: Estrutura ótima para p = 1.
34
6.2.1 Aplicação no Setor Aeroespacial
Neste exemplo foi considerada uma estrutura representando o corte transversal
de uma asa de avião com 3009 elementos finitos com uma malha triangular irregular,
tendo seu volume final restrito a 50% do volume total de material, com forças
aplicadas em todo o contorno da estrutura, variando-se o valor do parâmetro p e
utilizando filtro com raio r = 0.1 foram obtidos os seguintes resultados:
35
7 Conclusão
Neste trabalho foram estudados os fundamentos da Otimização Linear, Oti-
mização Não Linear e Otimização Topológica bem como as formulações desses pro-
blemas. Foi estudado o método de PLS para Otimização Topológica proposto em
[12] e sua adaptação para discretização do domı́nio com elementos finitos triangu-
lares irregulares proposto em [5], após esse estudo foi proposto um novo método
de globalização para PLS com Restauração Inexata. Para lidar com o tabuleiro de
xadrez foi utilizado o filtro de média ponderada das densidades e o método SIMP
para lidar com o surgimento de densidades intermediárias.
Após o estudo dessas formulações, a fim de se obter a validação do Algoritmo
3.3, foram realizados testes de problemas de Otimização Topológica para os casos de
malhas com elementos retangulares e malhas com elementos triangulares irregulares.
Os resultados computacionais obtidos foram satisfatórios, dado que as estruturas
ótimas obtidas por meio do método de PLS com Restauração Inexata se aproximam
das estruturas obtidas pelo método estudado em [12].
36
Referências Bibliográficas
[1] Alvaro F. M. Azevedo. Método dos Elementos Finitos. Faculdade de Engenha-
ria da Universidade do Porto, Portugal, 2003.
[2] Martin Philip Bendsøe. Optimal shape design as a material distribution pro-
blem. Structural Optimization, 1(4):193–202, 5 1989.
[3] Martin Philip Bendsoe and Ole Sigmund. Material interpolation schemes in
topology optimization. Archive of Applied Mechanics, 69:635–654, nov 1999.
[6] Ana Friedlander and Francisco Gomes. Solution of a truss topology bilevel pro-
gramming problem by means of an inexact restoration method. Computational
& Applied Mathematics, 30:109–125, 2011.
[8] Igor Griva, Stephen Nash, and Ariela Sofer. Linear and Nonlinear Optimiza-
tion. SIAM, 2008.
[9] Krog Lars, Tucker Alastair, and Rollema Gerrit. Application of topology, sizing
and shape optimization methods to optimal design of aircraft components.
Proceedings of 3rd Altair UK Hyper-Works users conference, 2002.
[10] David G. Luenberger and Yinyu Ye. Linear and Nonlinear Programming. Sprin-
ger, 2008.
[11] José Mário Martinez. A note on the theoretical convergence properties of the
simp method. Structural and Multidisciplinary Optimization, 29(4):319–323,
2005.
[12] Thadeu A. Senne and Franscisco A.M. Gomes. An SLP algorithm and its
application to topology optimization. Computational & Applied Mathematics,
30:53–89, 2011.
[14] Ji-Hong Zhu, Wei-Hong Zhang, and Liang Xia. Topology optimization in air-
craft and aerospace structures design. Archives of Computational Methods in
Engineering, 23(4):595–622, abr 2015.
37