Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia
Luiz Eloy Vaz
Anderson Pereira
Ivan F. Menezes
Rio de Janeiro, 08 de agosto de 2012
Sum
ario
I
Teoria e Algoritmos
1 Introdu
c
ao
1.1 O Problema Geral de Programacao Matematica . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Exemplo de Aplicacao em Otimizacao de Estruturas . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Trelica Plana de Duas Barras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Fundamentos de Otimiza
c
ao sem Restri
c
oes (OSR)
2.1 Serie de Taylor . . . . . . . . . . . . . . . . . . . . . .
2.2 Condic
oes de Mnimo no Problema de OSR . . . . . .
2.2.1 Condic
ao de Primeira Ordem . . . . . . . . . .
2.2.2 Condic
ao de Segunda Ordem . . . . . . . . . .
5
6
6
6
.
.
.
.
.
.
.
.
.
.
.
.
13
13
16
16
17
3 M
etodos de Otimiza
c
ao sem Restri
c
oes (OSR)
3.1 Metodos de Busca Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Metodo de Passo Constante ou Incremental . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Metodo de Armijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Metodo da Bissec
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
20
20
20
23
24
24
25
25
26
28
31
32
34
34
35
35
37
39
39
4 Fundamentos de Otimiza
c
ao Com Restri
c
oes (OCR)
4.1 Condic
oes de Mnimo no Problema de OCR . . . . . . . . . . .
4.1.1 Condic
oes de Primeira Ordem . . . . . . . . . . . . . . .
4.1.1.1 Problemas com Restricoes de Igualdade . . . .
4.1.1.2 Problemas com Restricoes de Desigualdade . .
4.1.1.3 Problema Geral de Otimizacao com Restricoes
4.1.2 Condic
oes de Segunda Ordem . . . . . . . . . . . . . . .
4.1.2.1 Problemas com Restricoes de Igualdade . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
41
41
43
45
45
45
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
SUMARIO
ii
4.2
4.3
Desigualdade
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
46
48
49
49
51
51
52
5 M
etodos Indiretos em OCR
53
5.1 Metodo de Penalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Metodo de Barreira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6 Problemas Especiais em OCR
59
6.1 O Problema de Programac
ao Linear (PL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.2 Fundamentos matematicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.1.2.1 Dependencia linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.1.2.2 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.1.2.3 Posto (ranking) de uma matriz Amxn . . . . . . . . . . . . . . . . . . . . . . 64
6.1.2.4 Soluc
oes basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.2.5 Pontos e conjuntos de pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.2.6 Teoremas importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1.3 Algoritmo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.1.3.1 Formulac
ao do problema de PL . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.1.3.2 Hipoteses preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1.3.3 Reduc
ao de uma solucao compatvel qualquer para uma solucao compatvel
b
asica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1.3.4 Algumas denicoes e notacoes . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.3.5 Formulac
ao do metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.3.6 Soluc
oes ilimitadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.3.7 Condic
oes de otimizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.3.8 Alternativa otima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.1.3.9 Pontos extremos e solucoes compatveis basicas . . . . . . . . . . . . . . . . . 82
6.1.3.10 Soluc
ao compatvel basica inicial . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2 O Problema de Programac
ao Quadratica (PQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.1 Eliminac
ao de restric
oes de igualdade . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.2 Problemas de Programac
ao Linear Complementar (PLC) . . . . . . . . . . . . . . . . 88
6.2.3 Algoritmo de Lemke para a solucao do PLC . . . . . . . . . . . . . . . . . . . . . . . . 89
6.2.3.1 Esquema de Pivoteamento de Lemke . . . . . . . . . . . . . . . . . . . . . . . 89
7 O Problema Geral de Programa
c
ao N
ao-Linear (PNL)
7.1 Metodo de Programac
ao Linear Seq
uencial (PLS) . . . . .
7.2 Metodo dos Centros . . . . . . . . . . . . . . . . . . . . .
7.3 Metodo das Direc
oes Viaveis . . . . . . . . . . . . . . . .
7.3.1 Soluc
ao Inicial Viavel . . . . . . . . . . . . . . . .
7.3.2 Restric
oes de Igualdade . . . . . . . . . . . . . . .
7.4 Metodo do Gradiente Reduzido Generalizado (GRG) . . .
7.5 Metodo de Programac
ao Quadratica Seq
uencial (PQS) . .
7.5.1 Problema P1 (problema original) . . . . . . . . .
7.5.2 Problema P2 (subproblema de PQS relativo a P1)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
93
93
95
97
103
103
103
105
106
106
SUMARIO
8 An
alise de Sensibilidade
8.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Metodos de Analise de Sensibilidade . . . . . . . . . . . .
8.2.1 Metodo das Diferencas Finitas . . . . . . . . . . .
8.2.2 Metodo Direto . . . . . . . . . . . . . . . . . . . .
8.2.3 Metodo Adjunto . . . . . . . . . . . . . . . . . . .
8.3 Comparac
ao entre os Metodos de Analise de Sensibilidade
8.4 Aplicac
ao dos Metodos de Analise de Sensibilidade . . . .
8.4.1 Analise Linear Elastica . . . . . . . . . . . . . . .
8.4.1.1 Metodo das Diferencas Finitas . . . . . .
8.4.1.2 Metodo Direto . . . . . . . . . . . . . . .
8.4.1.3 Metodo Adjunto . . . . . . . . . . . . . .
8.4.2 Problema de Autovalores e Autovetores . . . . . .
8.4.2.1 Metodo das Diferencas Finitas . . . . . .
8.4.2.2 Metodo Direto . . . . . . . . . . . . . . .
8.4.2.3 Metodo Adjunto . . . . . . . . . . . . . .
8.4.3 Problema de Analise Nao Linear Estatica . . . . .
8.4.3.1 Metodo das Diferencas Finitas . . . . . .
8.4.3.2 Metodo Direto . . . . . . . . . . . . . . .
8.4.3.3 Metodo Adjunto . . . . . . . . . . . . . .
8.4.4 Problemas de Carga Limite . . . . . . . . . . . . .
8.4.4.1 Metodo das Diferencas Finitas . . . . . .
8.4.4.2 Metodo Direto . . . . . . . . . . . . . . .
8.4.4.3 Metodo Adjunto . . . . . . . . . . . . . .
8.4.5 Problemas de Fluxo Termico Transiente . . . . . .
8.4.5.1 Metodo das Diferencas Finitas . . . . . .
8.4.5.2 Metodo Direto . . . . . . . . . . . . . . .
8.4.5.3 Metodo Adjunto . . . . . . . . . . . . . .
8.4.6 Problemas de Analise Dinamica . . . . . . . . . . .
8.4.6.1 Metodo das Diferencas Finitas . . . . . .
8.4.6.2 Metodo Direto . . . . . . . . . . . . . . .
8.4.6.3 Metodo Adjunto . . . . . . . . . . . . . .
A Exemplo de An
alise de Sensibilidade
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
109
109
109
109
110
110
111
112
112
112
113
113
114
114
115
116
116
117
117
117
118
118
119
119
120
121
121
122
122
123
123
124
127
SUMARIO
Parte I
Teoria e Algoritmos
Captulo 1
Introduc
ao
Programacao Matematica (PM) e a area da Matematica que trata dos problemas de minimizacao ou otimizacao de func
oes. Ela se ocupa tanto do tratamento teorico do problema quanto do desenvolvimento de
algoritmos para a sua soluc
ao.
A funcao a ser minimizada ou otimizada num problema de PM e denominada de funcao objetivo, a qual
pode ter um n
umero qualquer de vari
aveis, que por sua vez, podem estar sujeitas a restricoes de igualdade
e/ou desigualdade. Restric
oes de desigualdade que denem limites inferior e superior para as variaveis sao
chamadas de restric
oes laterais.
Existem varios problemas particulares de PM. No problema geral as variaveis sao contnuas. Quando as
variaveis so podem assumir valores inteiros, diz-se que o problema e de Programacao Inteira (PI). Esse tipo
de problema nao sera tratado neste texto.
Os problemas de PM podem ainda ser classicados como de Programac
ao Restrita (PR) ou Otimizac
ao
Com Restric
oes (OCR) e Programac
ao Irrestrita (PI) ou Otimizac
ao Sem Restric
oes (OSR).
Nos problemas de OCR, quando a funcao objetivo e as restricoes do problema sao funcoes lineares das
variaveis e todas as vari
aveis sao sujeitas a restricoes laterais do tipo maior ou igual a zero, o problema e
chamado de problema padrao de Programacao Linear (PL).
Quando a func
ao objetivo e quadratica e as restricoes do problema de OCR sao restricoes lineares de
desigualdade e todas as vari
aveis sao do tipo maior ou igual a zero, o problema e chamado de problema
padrao de Programac
ao Quadratica (PQ). Esses problemas podem ser escritos na forma equivalente de
problemas de Programac
ao Linear Complementar (PLC).
No caso geral de problemas de OCR onde a funcao objetivo e as restricoes sao nao lineares o problema e
dito de Programac
ao Nao Linear (PNL).
Os algoritmos de PNL sao classicados em algoritmos de ordem zero, de primeira e de segunda ordem,
dependendo se eles usam ou nao derivadas parciais de primeira e segunda ordem da funcao objetivo e
das restricoes, respectivamente, nas suas operacoes numericas. O estudo das tecnicas de obtencao dessas
derivadas para os diversos problemas ganhou a denominacao de analise de sensibilidade.
Problemas particulares de PM apresentam algoritmos especcos para a sua solucao. Assim, o algoritmo
Simplex tem sido usado para a soluc
ao de problemas de PL, o algoritmo de Lemke tem sido aplicado na
solucao de problemas de PLC, dentre outros.
Varios problemas de Engenharia, quando adequadamente formulados, recaem em problemas de PM.
Dentre esses problemas podem-se citar a analise de estruturas por elementos nitos com comportamento
nao linear; a identicac
ao de parametros ou retro-analise; a analise limite de estruturas; as otimizacoes
topologica, de dimensoes e de forma de estruturas; o problema de contato entre corpos elasticos; e a analise
de conabilidade.
Devido `a crescente importancia da PM na engenharia, diversos programas comerciais de analise de estruturas por elementos nitos ja incorporam algoritmos de PM em seus codigos. Entre eles estao o NASTRAN
e o ANSYS. Existem ainda programas comerciais especializados em resolver problemas de PM nos quais
o usuario tem que fornecer a func
ao e as restricoes explicitamente. Dentre os mais conhecidos nessa area
citam-se LANCELOT [1], Lingo [5], Minos [6] e DOT.
CAPITULO 1. INTRODUC
AO
1.1
min f (x)
s.t. hk (x) = 0
cl (x) 0
xli xi xui
(1.1)
e pode ser descrito nos seguintes termos: minimizar a funcao f (x), dita funcao objetivo, de n variaveis
contidas no vetor x, designado de vetor das variaveis de projeto, sendo que as n variaveis estao submetidas
(s.t., subjected to, em ingles) a m restric
oes de igualdade hk (x), p restricoes de desigualdade cl (x) e n restricoes laterais do tipo maior ou igual a um limite inferior, xli (l, do ingles lower limit) e um limite superior
xui (u, do ingles upper limit).
O problema geral gera varios sub-problemas tais como:
1. Problema de Otimizac
ao Sem Restricoes (OSR), quando nenhuma das restricoes esta presente.
2. Problema padrao de Programac
ao Linear (PL), quando a funcao objetivo e as restricoes sao funcoes
lineares das vari
aveis de projeto, as variaveis de projeto sao maiores ou iguais a zero e as restricoes
laterais sao do tipo maior ou igual a zero.
3. Problema padrao de Programac
ao Quadratica (PQ), quando a funcao objetivo e uma funcao quadratica,
as variaveis de projeto sao maiores ou iguais a zero e as restricoes sao de desigualdade e sao funcoes
lineares das vari
aveis de projeto.
4. Problema de Programac
ao Linear Complementar (PLC) que surge da aplicacao das condicoes de otimo
ao problema padrao de Programac
ao Quadratica.
1.2
Exemplo de Aplicac
ao em Otimizac
ao de Estruturas
Para os engenheiros de projeto, sejam eles civis, mecanicos, aeronauticos ou navais, a aplicacao classica do
problema de Programac
ao Matematica e a otimizacao de estruturas.
1.2.1
Projetar a trelica apresentada na Figura 1.1, em funcao de r2 e H, raio da secao transversal da barra 2
e altura da trelica respectivamente, de tal forma que ela apresente um volume mnimo e que as tensoes nas
barras sejam inferiores `
as tensoes de escoamento e de ambagem.
Informac
oes conhecidas:
r1 (raio da sec
ao transversal da barra 1)
L (dimens
ao horizontal da trelica)
P (forca vertical aplicada)
E (m
odulo de elasticidade)
Y (tens
ao de escoamento)
Informac
oes a serem obtidas (vari
aveis de projeto):
EM OTIMIZAC
DE ESTRUTURAS
1.2. EXEMPLO DE APLICAC
AO
AO
1
a
r
H
2
seo
transversal
(1.2)
H 2 + L2
A2 = r22
Portanto, o volume da barra 2 pode ser expresso como:
V (r2 , H) = r22
H 2 + L2
(1.3)
Porem, as tensoes nas barras () nao devem exceder os valores da tensao de escoamento do material (Y )
e os da tens
ao crtica de Euler (CR ), ou seja, deve-se ter:
Y
e
CR
C
alculo das Tens
oes nas Barras
Fazendo-se o equilbrio das forcas horizontais (vide Figura 1.2), tem-se:
CAPITULO 1. INTRODUC
AO
N1
a
x
N2
N1 = N2 cos()
(1.4)
onde
sen() =
H
+ L2
H2
e
L
cos() =
2
H + L2
Na direcao vertical deve-se ter:
P = N2 sen()
(1.5)
L
H
H 2 + L2
N2 = P
H
(1.6)
(1.7)
Portanto:
L
P
N1
PL
H
1 =
=
=
2
A1
r1
Hr12
e
H 2 + L2
P
N2
P H 2 + L2
H
2 =
=
=
A2
r22
Hr22
Como N1 < N2 , tem-se que, a tensao crtica e 2 .
(1.8)
(1.9)
EM OTIMIZAC
DE ESTRUTURAS
1.2. EXEMPLO DE APLICAC
AO
AO
Tens
ao Crtica de Euler
CR =
onde Le e o comprimento efetivo da barra, I =
r 4
4
2 EI
L2e A
(1.10)
e A = r2 , logo:
CR =
2 Er2
4L2e
Formula
c
ao do Problema
Com as expressoes acime pode-se denir as restricoes como:
g1 (r2 , H) = 1 e 0
g2 (r2 , H) = 2 e 0
g3 (r2 , H) = 2 CR 0
ou
ou
ou
g1 (r2 , H) =
PL
10
Hr12 e
P L2 + H 2
g2 (r2 , H) =
10
Hr22 e
(
)3/2
4P L2 + H 2
10
g3 (r2 , H) =
H 3 r24
min V (r2 , H)
s.t. g1 (r2 , H) 0
g2 (r2 , H) 0
g3 (r2 , H) 0
0.4 r2 1
1H7
(1.11)
Resultados
O problema proposto em 1.11 foi resolvido para diferentes dados de entrada conforme a tabela 1.1.
e
350
350
350
500
350
350
350
500
dados
r1
E
0.3
2000
0.4
2000
0.5
2000
0.3
2000
0.3 20000
0.4 20000
0.5 20000
0.3 20000
resultados
r2
H
0.52012 2.0210
0.49219 1.1368
0.50718
1
0.46664 1.4147
0.45049
2.021
0.49219 1.1368
0.50718
1
0.4 1.4147
g1
0
0
0.27244
0
0
0
0.27243
0
restricoes
g2
0.24983
0
0
0.28396
0
0
0
0.02549
g3
0
0.32885
0.44856
0
0.8223
0.93288
0.94486
0.81478
funcao objetivo
modo de falha
1.9164
1.1523
1.1429
1.1852
1.4376
1.1523
1.1429
0.8708
1e3
1e2
2
1e3
1e2
1e2
2
1
CAPITULO 1. INTRODUC
AO
10
1
0.4
0.5
0.6
0.7
r2
0.8
0.9
1
0.4
0.5
0.6
0.7
r2
0.8
0.7
r2
0.8
0.9
0.9
1
0.4
0.6
0.5
0.9
1
0.4
0.5
0.6
0.7
r2
0.8
EM OTIMIZAC
DE ESTRUTURAS
1.2. EXEMPLO DE APLICAC
AO
AO
1
0.4
0.5
0.6
0.7
r2
0.8
0.9
1
0.4
0.6
0.7
r2
0.8
0.6
0.7
r2
0.8
0.9
0.9
0.5
0.5
1
0.4
11
0.9
1
0.4
0.5
0.6
0.7
r2
0.8
12
CAPITULO 1. INTRODUC
AO
Captulo 2
Fundamentos de Otimizac
ao sem
Restric
oes (OSR)
2.1
S
erie de Taylor
(2.3)
f (x)
,
xi
(2.4)
gi (x) =
13
i = 1n
14
SEM RESTRIC
2 f (x)
,
xi xj
i, j = 1 n
(2.5)
d2 f
= sin (x)
dx2
d3 f
= cos (x)
dx3
(2.6)
Utilizando-se a Equac
ao (2.1), a expansao de primeira ordem para sin(x) em torno do ponto x0 =
por:
s1 (x) = sin (x) sin
()
4
+ cos
( ) (
)
x
4
4
e dada
(2.7)
( ) (
1
)2
sin
x
2
4
4
(2.8)
s3 (x) = s2 (x)
() (
1
)3
cos
x
6
4
4
(2.9)
g(x) =
f (x)
x1
f (x)
x2
1
2
1
2
(2.10)
1 A denomina
ca
o Hessiana
e uma homenagem ao matem
atico alem
ao Ludwig Otto Hesse, que trabalhou no desenvolvimento
da teoria das Func
oes Alg
ebricas e dos Invariantes.
2.1. SERIE
DE TAYLOR
15
2
sin(x)
s1(x)
s2(x)
s3(x)
1.5
approximao de sin(x)
0.5
pi/4
0.5
1.5
pi/4
pi/4
x
pi/2
3*pi/4
H(x) =
2 f (x)
x21
2 f (x)
x1 x2
f (x)
x2 x1
f (x)
x22
21
1
2
1
2
12
(2.11)
Substituindo-se as Equac
oes (2.10) e (2.11) na Equacao (2.3) chega-se a:
s (x) =
1
2
x1
2
1
2
1
2
t
x1
x2
2
x2
1
2
x1 2
4
x1 x2
2
1
2
x1
x2
t
1/2
1/2
x1
1/2
x2
1/2
(2.12)
x2 2
4
que e a aproximac
ao de segunda ordem para a funcao sin(x1 ) sin(x2 ). Calculando-se os valores da funcao e de
{
}t
sua aproximac
ao no ponto 5 , 3
, que representa uma variacao de 20% de x0 , obtem-se f ( 5 , 3
10
10 ) = 0.47553
3
e s( 5 , 10 ) = 0.47533, respectivamente. A funcao s(x) apresentou uma otima aproximacao de f (x) com um
erro em torno de 0.05%, o que e bastante razoavel.
SEM RESTRIC
16
2.2
Condic
oes de Mnimo no Problema de OSR
2.2.1
Condic
ao de Primeira Ordem
A condicao de primeira ordem para que o vetor x seja um mnimo local x da funcao f (x) e dada por:
g (x)|x=x = g (x ) = 0
(2.13)
(2.14)
Considerando-se que x esteja bem proximo de x de tal maneira que o modulo de x x seja muito
pequeno (x x ), onde os elementos do vetor sao n
umeros muito menores que a unidade), o
segundo termo da serie de Taylor, ou seja, o que contem o vetor g(x ) predomina sobre o terceiro termo que
contem a matriz Hessiana H(x) e um termo quadratico em (x x ).
Num ponto de mnimo local, f (x) deve ser maior do que f (x ) para um valor arbitrario de x em torno
de x . Representando-se f (x) por sua aproximacao s(x) e desprezando-se o termo de segunda ordem em
relacao ao de primeira ordem tem-se:
f (x) f (x ) s (x) f (x ) [g(x )] (x x )
(2.15)
df (x ) [g(x )] dx
(2.16)
ou ainda:
t
(2.17)
(2.18)
(2.19)
A expressao acima representa o acrescimo da funcao f (x) a partir de x para um passo de modulo dx
na direcao que forma um angulo com o vetor g(x ). Como cos() e arbitrario e o modulo do vetor dx na
expressao acima e uma constante prexada, a u
nica possibilidade de se garantir que a Equacao (2.19) seja
satisfeita e:
g (x ) = 0
(2.20)
g (x ) = 0
(2.21)
ou:
2.2. CONDIC
OES
DE MINIMO NO PROBLEMA DE OSR
2.2.2
17
Condic
ao de Segunda Ordem
(2.22)
(2.23)
df (x ) 0
(2.24)
(x x ) H(x ) (x x ) 0
(2.25)
ou:
t
A restric
ao acima representa a condic
ao de segunda ordem para um mnimo local x e signica que a
Solucao:
f (x) =
(
)
400 x2 x1 2 x1 2 + 2x1
2 f (x) =
200x2 200x21
1200x1 2 400x2 + 2
400x1
400x1
200
A condicao de mnimo local, dada pela Equacao (2.13), requer que o gradiente no ponto x = {1, 1} seja
nulo. Desta forma:
{ }
0
f (x ) = g(x ) =
0
t
18
SEM RESTRIC
=
= 2 1002 + 400 = 0
400
200
0 1
400 200
Obtendo-se os valores 1 = 0.39936 e 2 = 1001.6. Como 1 > 0 e 2 > 0 pode-se concluir que H(x ) e
positiva denida.
Outra maneira de se testar se a matriz A e positiva denida envolve o calculo de n determinantes, ou
seja:
A1 = a11
a
a12
A2 = 11
a21 a22
a11 a12 a13
A3 = a21 a22 a23
a31 a32 a33
..
.
An =
a11
a21
a31
..
.
a12
a22
a32
a13
a23
a33
a1n
a2n
a3n
an1
an2
an3
ann
400
= 802 200 (400) (400) = 400 > 0
200
Entao a matrix H e positiva denida e, portanto, o ponto x = {1, 1} corresponde a um ponto de mnimo
de f (x).
t
Captulo 3
M
etodos de Otimizac
ao sem
Restric
oes (OSR)
3.1
M
etodos de Busca Unidimensional
(3.1)
k
Armijo; Sec
ao (ou Raz
ao) Aurea;
e Ortogonalidade.
3.1.1
M
etodo de Passo Constante ou Incremental
O metodo de passo constante ou incremental e o mais simples da famlia dos metodos de busca unidimensional
e surgiu associado ao metodo de direc
ao de busca univariante, tambem o mais primitivo da famlia dos
metodos de direc
ao de busca.
A ideia basica deste metodo de passo constante consiste na escolha de um incremento que sera usado
na expressao:
i+1 = i + ,
i = 0, . . . , n
(3.2)
algumas refer
encias, o termo line search
e traduzido como busca linear ou busca unidirecional.
19
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
20
3.1.2
M
etodo de Armijo
Esse metodo, assim como os de passo constante ou incremental, e chamado de metodo de busca inexata, pois
nao se preocupa em obter o valor exato de que minimiza f () e sim caminhar na direcao de decrescimo
ate que nao seja mais possvel com o incremento escolhido. O metodo faz uso do conceito de taxa de
decrescimo m. O valor de pode ser incrementado como no metodo de passo constante ou incremental. A
determinacao de k se da quando a seguinte restricao e violada:
f (xk + dk ) r() = f |=0 m
(3.3)
onde e o valor de para o qual a funcao f e maior do que o valor da reta r que passa por f (x ) (que
corresponde ao valor de f para = 0) e tem inclinacao m. A taxa de decrescimo m deve ser um valor
entre 0.2 e 0.4 dependendo do problema. Recomenda-se o valor m = 0.3.
f(a)
f(a)
r(a)
ak
3.1.3
M
etodo da Bissec
ao
O metodo da Bissec
ao objetiva encontrar o mnimo de f () no intervalo ou regiao de busca 0 . Caso
o mnimo nao esteja na regiao de busca pre-denida, o metodo converge para k = 0 ou para k = . Para
a busca do mnimo, o intervalo e subdividido em dois intervalos iguais, pelo ponto = /2. Cada um desses
dois novos intervalos e, por sua vez, subdividido em outros dois intervalos iguais e assim sucessivamente. Em
cada nova divisao, um intervalo e escolhido para continuar a busca do mnimo e o outro e descartado. Para
se escolher o intervalo descartado, calcula-se f no ponto medio dos dois intervalos. O intervalo descartado e
aquele que apresenta o maior valor de f no seu ponto medio. A ideia do metodo e reduzir progressivamente
a regiao de busca em torno do mnimo. A precisao de k depende do criterio de convergencia adotado para
se interromper as iterac
oes.
3.1.4
M
etodo da Sec
ao Aurea
(Golden Section, em ingl
es)
Para se explicar o conceito da razao aurea, deve-se introduzir, inicialmente, a sequencia de Fibonacci. Essa
sequencia, denominada FN , gera n
umeros que comecam com N = 0 e F0 = 1 e segue com N = 1 e F1 = 1.
A partir da utiliza-se a seguinte formula de recorrencia:
3.1. METODOS
DE BUSCA UNIDIMENSIONAL
21
FN = FN 1 + FN 2
(3.4)
Com os n
umeros de Fibonacci FN , pode-se denir a razao de Fibonacci, RF , da seguinte forma:
RF =
FN 1
FN
(3.5)
FN
1
1
2
3
5
8
13
21
34
55
89
RF
1.0000
0.5000
0.6667
0.6000
0.6250
0.6154
0.6190
0.6176
0.6182
0.6180
O metodo da Sec
ao Aurea
apresenta uma ideia semelhante ao da Bissecao. A diferenca esta na razao
utilizada para reduzir o intervalo de busca. No metodo da Bissecao essa razao e 0.5, enquanto que no metodo
da Secao Aurea
utiliza-se a razao aurea. A partir do comprimento do intervalo de busca inicial , dois novos
pontos sao determinados:
1d = RA
1e = (1 RA )
que denem dois novos intervalos, 0 1d e 1e . Qual intervalo deve ser descartado na
proxima iterac
ao? Para se tomar essa decisao, deve-se calcular f (1d ) e f (1e ); o ponto correspondente
ao maior valor da func
ao f dene este intervalo a ser descartado e, consequentemente, os novos limites da
busca. Se for 1d , o novo intervalo dever
a ser 0 1d , se for 1e , o novo intervalo sera 1e ,
conforme ilustrado na Figura 3.2. Os subscritos d e e caracterizam os pontos do intervalo localizados
na direita e na esquerda, respectivamente.
A vantagem de se usar a razao aurea RA para dividir os intervalos e nao qualquer outra razao, esta no
fato desta razao economizar uma avaliac
ao da funcao f por divisao de intervalo. Isso se deve `a coincidencia
entre um dos pontos novos e um ponto antigo de extremidade de intervalo quando se usa a razao aurea.
Para esclarecer esse ponto, considere uma razao qualquer R no procedimento acima e que o segundo
intervalo 1e , tenha sido escolhido, conforme ilustrado na Figura 3.3.
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
22
a1e=(1-RA)b
a1d=RAb
b
a1e
a1e
a1e
a1d
a2e
a2d
a3e
a3d
a2d
a3e
a4e a4d
a2d
3.1. METODOS
DE BUSCA UNIDIMENSIONAL
23
(3.6)
Como o ponto inicial do intervalo e 1e e seu comprimento R , os dois novos pontos seriam:
2d = 1e + R (R )
2e = R (R ) = (1 R2 )
(3.7)
Para que o novo ponto 2e coincida com o antigo ponto 1d descartado, deve-se ter:
R = (1 R2 )
(3.8)
R2 + R 1 = 0
(3.9)
ou:
1 +
2
1
R2 =
2
= 0.61803 . . .
(3.10)
= 1.61803 . . .
(3.11)
Desprezando-se a raz negativa, o valor de R para poupar uma avaliacao de f em cada subdivisao dos
intervalos e exatamente igual `a razao aurea, i.e., RA = 0.61803 . . .
A precisao de k depende, como nos metodos anteriores, do criterio de convergencia adotado no processo
iterativo.
3.1.5
M
etodo da Ortogonalidade
Sejam x() = xk + dk , o proximo ponto para um determinado valor de , e f [x()] o valor da funcao f
nesse ponto. Derivando-se f [x()] em relacao a , obtem-se:
df [x()]
f (x) dx
t
=
= {g [x()]} dk
d
x d
(3.12)
(3.13)
ou entao:
[
]t
g(xk + dk ) dk = 0
(3.14)
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
24
d
x
k+1
g[x(a)]
3.1.6
M
etodo Secante
O metodo de Newton faz uso das segundas derivadas para minimizar uma funcao f (), ou seja:
k+1 = k
f (k )
f (k )
k k1
f (k )
f (k1 )
f (k )
o qual e conhecido como algoritmo secante. Pode-se ainda reescrever esse algoritmo da seguinte forma:
k+1 =
3.2
f (k ) k1 f (k1 ) k
f (k ) f (k1 )
M
etodos de Direc
ao de Busca
Nesta secao, serao apresentados os seguintes metodos de direcao de busca: Univariante; Powell; Maximo
Declive; FletcherReeves; HestenesStiefel; PolakRibi`ere; e Newton-Raphson, alem dos metodos QuaseNewton: de Correc
ao Um; DFP e BFGS.
Os metodos Univariante e de Powell sao da famlia dos metodos de ordem zero, os de Maximo Declive,
FletcherReeves, HestenesStiefel e PolakRibi`ere pertencem `a famlia dos metodos de primeira ordem e,
nalmente, o metodo de Newton-Raphson pertence `a famlia dos metodos de segunda ordem. Os metodos
Quase-Newton, apesar de serem efetivamente de primeira ordem, tem ambicao de funcionar como metodos
de segunda ordem. Os metodos de direc
ao de busca dene uma expressao para de obter dk . A partir da, o
mnimo de f (x ()) sera procurado ao longo da reta x () = xk + dk .
DE BUSCA
3.2. METODOS
DE DIREC
AO
3.2.1
25
M
etodo Univariante
dk = ek ,
(3.15)
onde ek e um vetor com elementos nulos, exceto na posicao k, onde o elemento vale 1. Esse procedimento
e equivalente a modicar uma vari
avel de cada vez no processo iterativo, ou seja, apenas a variavel na posicao
k do vetor de vari
aveis x, e modicada na iteracao k. Para um problema com n variaveis, se, ao nal de
n iteracoes, a posic
ao x n
ao tiver convergido para a solucao x , entao um novo ciclo de iteracoes deve ser
iniciado com as mesmas direc
oes usadas no primeiro ciclo, e assim sucessivamente ate a convergencia.
5
Ponto inicial
4
3
Ponto final
2
-2
-1
-1
-2
Figura 3.5: Univariante.
3.2.2
M
etodo de Powell
O metodo Univariante e computacionalmente pouco eciente e requer, em geral, muitas iteracoes ate a
solucao. Uma maneira de acelerar esse processo e incorporar uma nova direcao de busca, denominada
de movimento padr
ao, ao conjunto de n direcoes de busca, no nal de cada ciclo iterativo formado por n
iteracoes. Durante os n primeiros ciclos, uma direcao padrao e incorporada, ao m de cada ciclo, ao conjunto
das n direcoes de busca do ciclo, substituindo uma das direcoes univariantes que e descartada. Depois de n
ciclos, nenhuma direc
ao univariante deve restar no conjunto de direcoes de busca. Essas novas direcoes de
busca foram propostas por Powell e sao obtidas de acordo com a expressao abaixo:
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
26
dj = xn x0 ,
j = 1, , m
(3.16)
onde xn e o ponto obtido no nal de cada ciclo de n iteracoes e x0 e o ponto inicial. Para cada novo
ciclo, caso nao haja convergencia, uma nova direcao padrao e criada com esse mesmo procedimento, ou seja:
ponto nal menos ponto inicial.
A metodologia do metodo de Powell pode ser resumida nos seguintes passos:
1. Inicializar j = 1;
2. Realizar um ciclo de n iterac
oes (com as direcoes univariantes ek , k = 1 . . . n), do ponto x0 ate o ponto
xn ;
3. Criar uma direc
ao de movimento padr
ao
dj = xn x0 ;
3.2.2.1
Dire
c
oes Conjugadas no M
etodo de Powell
Considera
c
oes Iniciais
Se um determinado metodo de minimizacao sempre encontra o mnimo de uma funcao quadratica em
um n
umero de passos (operac
oes) proporcional ao tamanho do problema (n variaveis), este metodo e
dito quadraticamente convergente [3].
Se um metodo quadraticamente convergente e aplicado a uma funcao generica para a qual a serie de
Taylor e dominada pelo seu termo quadratico, espera-se que o metodo tenha uma convergencia rapida.
Muitos metodos quadraticamente convergentes se baseiam no conceito de direcoes conjugadas.
Se uma func
ao quadratica q(x), de n variaveis, e minimizada sequencialmente, uma vez em cada direcao
de um conjunto de n direc
oes linearmente independentes (LI) e Qconjugadas (a denicao de Q sera
vista adiante), o mnimo global sera obtido em ate n passos, independentemente do ponto inicial x0 .
Proposi
c
ao
Seja q(x) uma func
ao quadratica dada por:
1 t
x Q x bt x
(3.17)
2
onde Q e uma matriz quadrada, positiva semi-denida e b um vetor. Dados dois pontos xa e xb e uma
direcao de busca da , e supondo-se que ya e yb sejam,
os mnimos de q(x) na direcao da
( respectivamente,
)
a
b
a
a
b
partindo-se de x e x , mostrar que as direcoes d e y y sao Qconjugadas.
q(x) =
Demonstra
c
ao
A condic
ao de mnimo dessa func
ao quadratica e garantida apenas pela condicao de primeira ordem,
fazendo-se com que o gradiente de q(x) seja igual a um vetor nulo. A condicao de segunda ordem esta
previamente satisfeita pelo fato da matriz Q (Hessiana de q(x)) ser positiva semi-denida. Portanto:
DE BUSCA
3.2. METODOS
DE DIREC
AO
27
g (x) = Q x b = 0
(3.18)
Qx=b
(3.19)
ou:
xk+1 = xk + k dk ,
(3.20)
onde as direc
oes de busca dk ser
ao direcoes Qconjugadas, ou seja:
( i )t
d Q dj = 0,
i = j
(3.21)
(3.22)
Uma vez obtido a , chega-se ao ponto x(a ) que, doravante, sera denominado de ya , ou seja:
ya = xa + a da
(3.23)
dq [x()]
q(x) dx()
t
=
= {g [x(a )]} da = 0
d
x
d
(3.24)
g [x(a )] = Q x(a ) b
(3.25)
e, da condicao de mnimo em ya :
onde:
Partindo-se de ya na direc
ao de da , pode-se prever que a = 0 pois ya e um mnimo nessa direcao. Logo:
t
[Q (ya + 0da ) b] da = 0
(3.26)
ou:
t
[Q ya b] da = 0
b
(3.27)
a
(3.28)
(3.29)
]}t a
q(x) dx() { [
dq [x()]
=
= g x(b )
d =0
d
x
d
(3.30)
[
]
g x(b ) = Q x(b ) b
(3.31)
onde:
(3.32)
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
28
[
]t
Q (yb + 0da ) b da = 0
(3.33)
[
]t
Q y b b da = 0
(3.34)
(da ) Q (ya yb ) = 0
(3.35)
)
( a
a
b
o que demonstra que as direc
oes d e y y sao Qconjugadas. A Figura 3.6 ilustra o processo
iterativo descrito acima ate as posic
oes ya e yb , respectivamente.
d
a
y
x
y -y
3.2.2.2
Converg
encia do M
etodo de Powell
Proposi
c
ao 1
O metodo de Powell converge para o mnimo de uma funcao quadratica, q(x), de n variaveis, em um
n
umero nito de iterac
oes, dado por (n + 1)2 .
Demonstra
c
ao
Inicia-se mostrando que o conjunto de vetores di , Qconjugados, e linearmente independente (LI). Como
dito anteriormente, dois vetores di e dj sao Qconjugados (ou Qortogonais) quando:
DE BUSCA
3.2. METODOS
DE DIREC
AO
29
( i )t
d Q dj = 0,
i = j
(3.36)
(3.37)
(
)t
Nesse caso, os vetores di s
ao linearmente dependentes. Pre-multiplicando-se a equacao acima por di Q,
chega-se a:
( )t
i di Q di = 0
(3.38)
uma vez que as demais parcelas se anulam porque o conjunto de vetores e Qconjugado. Todavia, como Q
deve ser positiva semi-denida em q (x), entao:
( i )t
d Q di 0, logo: i = 0
o que contradiz a hipotese inicial, de i nao serem todos nulos, e assim o conjunto de vetores di e LI.
Dessa forma, o conjunto dos n vetores di pode formar uma base para o espaco de ndimensoes e, portanto,
o vetor x desse espaco, solucao do problema de minimizacao de q (x), pode ser representado nessa base por:
x = 0 d0 + 1 d1 + + n1 dn1
(3.39)
( i )t
Pre-multiplicando-se ambos os lados da equacao acima por d Q e considerando-se o que ja foi visto
ate o momento, obtem-se:
i
( i )t
d Q x
t
(di ) Q di
( i )t
d b
t
(di ) Q di
(3.40)
Conclui-se portanto, que, quando se tem um conjunto de n vetores Qconjugados, pode-se obter x
usando a expressao (3.39) e com os valores de i calculados segundo (3.40) a partir da matriz Q, do vetor
b e do conjunto de vetores di , como indicado.
A solucao x pode ser vista como uma aplicacao da formula geral de recorrencia dos metodos de OSR,
partindo-se de x0 = 0 e indo-se, sucessivamente, aos pontos x1 , x2 , , ate o ponto xk+1 , ou seja:
xk+1 = 0 d0 + 1 d1 + + k dk ;
(3.41)
(3.42)
Proposi
c
ao 2
A partir de um ponto inicial x0 , arbitrario, e um conjunto de n vetores Qconjugados, a sequencia gerada
por:
xk+1 = xk + k dk
( )t
g k dk
t
(dk ) Q dk
(3.43)
(3.44)
sendo:
g k = Q xk b
(3.45)
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
30
dk
)t
(
)
Q x x0
t
(dk ) Q dk
(3.46)
(3.47)
(3.49)
A expressao de k na Equac
ao (3.47) pode ser reescrita como:
( k )t
[(
) (
)]
d Q x xk + xk x0
(dk ) Q dk
(3.50)
Como:
Q x = b
(3.51)
Q xk = g k + b
(3.52)
e, considerando-se a Equac
ao (3.45):
( )t
g k dk
t
(dk ) Q dk
(3.53)
Vale observar que esse valor de k e justamente o que minimiza a funcao q (x) a partir de xk na direcao
dk .
Considerar que q (x) seja representada por uma serie de Taylor de segunda ordem dada por s2 (x), a partir
do ponto xk , com um passo dk . Como a funcao q (x) e quadratica, a aproximacao por serie de Taylor de
q (x), s2 (x), ate o termo de segunda ordem e exata, ou seja:
( )t
1 ( )t
s2 (xk + dk ) = q(xk ) + gk dk + 2 dk Q dk
2
Para se obter que minimiza s2 (x), calcula-se:
ds2 (xk + dk )
=0
d
(3.54)
(3.55)
obtendo-se:
(
gk
)t
( )t
dk + dk Q dk = 0
(3.56)
DE BUSCA
3.2. METODOS
DE DIREC
AO
31
= =
( )t
g k dk
(3.57)
(dk ) Q dk
4
3
2
3
2
1
3.2.3
M
etodo do M
aximo Declive (Steepest Descent, em ingl
es)
O metodo do Maximo Declive utiliza o gradiente como sendo a direcao de busca, ou seja:
dk = gk
(3.58)
s1 (x + s) f (x) + [g(x)] s
(3.59)
onde g(x) e o gradiente de f (x) no ponto x. O crescimento da funcao f (x) quando se vai do ponto x
para (x + s) e dado por:
t
df (x) [g(x)] s
(3.60)
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
32
ou ainda:
(3.61)
onde e o angulo entre os vetores g(x) e s. Para um dado ponto x, df depende apenas de , ja que os
modulos dos vetores s e gradiente de f em x sao conhecidos.
O valor de que minimiza df e = , quando cos() = 1, ou seja, quando s tem a direcao de:
s = d = g(x)
3.2.4
M
etodo de FletcherReeves
1. k = 0;
2. g0 ;
3. Se: g0 = 0 = Fim;
4. d0 = g0
t
5. k =
(gk ) dk
(dk )t Q
dk
6. xk+1 = xk + k dk ;
7. gk+1 ;
8. Se: gk+1 = 0 = Fim;
t
9. k =
(gk+1 )
Q dk
(dk )t Q
dk
Como as direc
oes d e d
k+1
(3.62)
s
ao Qconjugadas, chega-se a:
(
k
gk+1
)t
Q dk
(dk ) Q dk
(3.63)
DE BUSCA
3.2. METODOS
DE DIREC
AO
33
1 2
3
5
x + 2x1 x3 + x22 + x2 x3 + x23 5x1 x2 10x3
2 1
2
2
t
1 t
x Q x xt b
2
onde:
5
1
b=
10
2
1
5
1 0
Q= 0 3
2 1
Pode-se calcular:
g(x) = f (x) = Q x b =
t
(d0 )
d0
63
= 0.1684
374
t
g1
)t
Q d0
(d0 ) Q d0
= 0.01678
t
( )t
g1 d1
t
(d1 ) Q d1
= 0.4381
}t
34
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
( 2 )t
g Q d1
(d1 ) Q d1
= 0.2339
t
(d2 ) Q d2
= 6.775
g3 = f (x3 ) = {0, 0, 0}
O metodo de FletcherReeves e uma adaptacao do Metodo dos Gradientes Conjugados que o torna capaz
de ser usado para minimizar uma func
ao qualquer f (x) e nao apenas uma funcao quadratica q(x). Para
tanto, duas alterac
oes sao feitas no algoritmo correspondente ao metodo dos Gradientes Conjugados: (a) o
calculo de k (vide passo 5 do algoritmo correspondente ao metodo dos Gradientes Conjugados) passa a ser
feito por meio de busca unidimensional; e (b) o calculo de k (vide passo 9 do mesmo algoritmo) passa a ser
feito utilizando-se a expressao (3.64), que e computacionalmente mais eciente por envolver apenas produtos
de vetores:
k
3.2.5
( k+1 )t k+1
g
g
t
(gk ) gk
(3.64)
M
etodo de HestenesStiefel
Este metodo se diferencia do metodo de FletcherReeves no calculo do parametro k , o qual e dado pela
seguinte expressao:
(
k
3.2.6
gk+1
)t [ k+1
]
g
gk
t
(dk ) [gk+1 gk ]
(3.65)
M
etodo de PolakRibi`
ere
Semelhantemente ao metodo de HestenesStiefel, o metodo de PolakRibi`ere apresenta uma expressao particular para o calculo do parametro k , a qual e dada por:
(
k
gk+1
)t
(
)t
gk+1 gk+1 gk
t
(gk ) gk
(3.66)
DE BUSCA
3.2. METODOS
DE DIREC
AO
3.2.7
35
M
etodo de NewtonRaphson
(3.67)
(3.68)
(3.69)
onde se obtem:
( )1 k
dk = Hk
g
3.2.8
(3.70)
M
etodos QuaseNewton
Os metodos Quase-Newton sao assim chamados devido `a semelhanca da sua expressao para obtencao da
direcao de busca com a expressao do metodo de Newton-Raphson (vide Equacao 3.70).
Uma das vers
oes mais utilizadas do metodo Quase-Newton e a que consiste na aproximacao da inversa
da matriz Hessiana. Nessa vers
ao, a direcao de busca e obtida da seguinte forma:
dk = Sk gk
(3.71)
)
1
onde Sk e uma aproximac
ao da inversa da matriz Hessiana, Hk
.
Quando o metodo Quase-Newton utiliza uma aproximacao da inversa da Hessiana na expressao de dk ,
diz-se que o metodo e de atualizac
ao inversa e quando se utiliza uma aproximacao da Hessiana para obtencao
de dk , diz-se que o metodo e de atualizac
ao direta. O metodo de aproximacao inversa tem a grande vantagem
de dispensar o calculo da inversa de Hk ou a solucao de um sistema de equacoes lineares para se obter a
direcao de busca, como indicado a seguir:
(
Hk dk = gk
(3.72)
(3.73)
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
36
interesse nesses metodos. Nesse caso, nao ha garantia de convergencia para a solucao num dado n
umero de
passos.
As formulas para a atualizac
ao da aproximacao da inversa da Hessiana Sk utilizam informacoes obtidas
em iteracoes anteriores, como o vetor do incremento do passo kx e o vetor de incremento do gradiente kg ,
ou seja:
k
x = xk+1 xk
(3.74)
k
g = gk+1 gk
Seja a func
ao quadratica q(x):
q(x) =
1 t
x Q x bt x
2
(3.75)
g(x) = Q x b
(3.76)
g k = Q xk b
(3.77)
gk+1 = Q xk+1 b
(3.78)
(
)
gk+1 gk = Q xk+1 xk
(3.79)
kg = Q kx
(3.80)
kx = Q1 kg
(3.81)
ou ainda:
(3.82)
D = Q1 Q
(3.83)
Q = Q D1
(3.84)
ou:
ou ainda:
As aproximac
oes para a inversa de Q vao sendo geradas sucessivamente ao nal de cada iteracao. Quando
se chega ao ponto xk ; gera-se a aproximacao Sk para Q1 com as informacoes das iteracoes passadas kx e
kg ; obtem-se k por busca unidimensional; e avanca-se para o proximo ponto:
xk+1 = xk k Sk gk
(3.85)
A matriz Sk+1 gerada no novo ponto xk+1 , na iteracao k + 1, deve satisfazer a equacao Quase-Newton
Sk+1 ig = ix ,
para que Sk+1 seja uma boa aproximacao de Q1 .
0ik
(3.86)
DE BUSCA
3.2. METODOS
DE DIREC
AO
3.2.8.1
37
Algoritmo de Corre
c
ao de Posto Um
Um dos esquemas mais antigos e conhecidos para a obtencao da aproximacao da inversa de Q e a correcao
de posto um (rank one correction, em ingles), que e realizada a partir da seguinte expressao basica:
( )t
Sk+1 = Sk + ak zk zk
(3.87)
O termo correc
ao de posto um se deve ao fato de que a atualizacao de Sk e feita atraves de sua soma
com uma matriz de posto um, uma vez que ela e obtida pelo produto de um vetor coluna pelo mesmo vetor
transposto sendo o resultado multiplicado por um escalar:
k
[
z1
[ ( )t ]
]
..
k
k
posto zk zk
= posto
(3.88)
. z1 zn = 1
k
zn
Qualquer matriz inicial S0 dos metodos Quase-Newton deve ser simetrica e positiva denida e as expressoes de atualizac
ao preservam essas propriedades. Para i = k, a equacao secante e dada por:
kx = Sk+1 kg
(3.89)
(3.90)
Duas expressoes podem ser obtidas da expressao (3.90). A primeira e obtida explicitando-se o vetor zk ,
ou seja:
zk =
kx Sk kg
t
ak (zk ) kg
(3.91)
( )t
e a segunda e obtida fazendo-se o produto interno da expressao (3.90) por kg :
(
kg
)t
( )t
[( )t ]2
kx kg Sk kg = ak zk kg
(3.92)
ou, alternativamente:
(
kg
)t (
)
[( )t ]2
kx Sk kg = ak zk kg
(3.93)
Substituindo-se a expressao obtida para zk na formula basica de recorrencia que permite obter Sk+1 no
metodo de correc
ao de posto um, chega-se a:
Sk+1
)t
)(
(
ak kx Sk kg kx Sk kg
]
] [
[
= Sk +
t
t
ak (zk ) kg ak (zk ) kg
(3.94)
ou:
)t
)(
kx Sk kg kx Sk kg
= Sk +
]2
[
t
ak (zk ) kg
(
Sk+1
(3.95)
Sk+1
(3.96)
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
38
A expressao (3.96) e a proposta para a atualizacao da inversa de Q para a correcao de posto um. Ela foi
obtida fazendo-se i = k na equac
ao Quase-Newton. Todavia, a aproximacao da inversa de Q deve satisfazer
a equacao Quase-Newton para valores de i < k, ou seja:
i < k
ix = Sk+1 ig ,
(3.97)
Revendo-se o que foi dito ate aqui, o metodo parte de um ponto inicial x0 e de uma aproximacao inicial
S . A partir desse ponto, calcula-se g0 , obtem-se 0 e utiliza-se a formula de recorrencia para se chegar ao
novo ponto x1 . Na iterac
ao i o esquema se repete, ou seja:
0
xi+1 = xi i Si gi ,
A obtencao da aproximac
ao S
i+1
i = 0, 1,
(3.98)
(3.99)
ix = xi+1 xi
(3.100)
ig = gi+1 gi
(3.101)
i+1
)(
)t
ix Si ig ix Si ig
=S +
( i )t ( i
)
g
x Si ig
(3.102)
(
)t
Si+1 = Si + yi ix Si ig
(3.103)
ix Si ig
y i = ( )t (
)
ig
ix Si ig
(3.104)
ou:
onde:
ix = Sk+1 ig ,
(3.105)
A prova da validade da expressao (3.105) se dara por inducao, ou seja, supondo-se que ela e valida para
Sk e i < k, ou seja, para as etapas anteriores.
Como a expressao foi provada ser verdadeira para i = k, entao vale:
0x = S1 0g
(3.106)
(3.107)
onde:
kx Sk kg
y = ( )t (
)
kx Sk kg
kg
k
(3.108)
ix
+y
[(
kx
)t
ig
kg
)t
]
ix
(3.109)
DE BUSCA
3.2. METODOS
DE DIREC
AO
39
onde:
(
kx
)t
( )t
ig kg ix = 0
(3.110)
pois:
ig = Q ix
kg = Q kx
(3.111)
assim:
Sk+1 ig = ix
3.2.8.2
(3.112)
Algoritmo de Corre
c
ao de Posto Dois ou DFP (DavisonFletcherPowell)
Sk+1
( )t
( )t
kx kx
Sk kg kg Sk
= S k + ( )t
( )t
kx kg
kg Sk kg
(3.113)
( )t
[( )
]2
t
k
k
kx kg
x g
(3.114)
ou ainda,
[
[
( )t ]
( )t ]
( )t
Sk+1 = I k kx kg
Sk I k kg kx
+ k kx kx
(3.115)
onde:
k = (
kg
1
)t
(3.116)
kx
O metodo BFGS pode ser implementado de uma forma alternativa muito mais eciente, conforme indicado
a seguir:
[
( )t ]
( )t ] k [
(3.117)
S I + vk wk
Sk+1 = I + wk vk
importante observar que durante a implementacao do algoritmo, Sk+1 nao deve ser obtida explicitaE
mente de Sk , como indicado na Equac
ao (3.117), mas, alternativamente, deve-se obter dk+1 diretamente
como indicado na expressao (3.118). Nota-se que S0 deve ser igual `a matriz identidade I ou a I, onde
e um escalar 1. Sendo assim, a expressao (3.118) so apresenta operacoes de produtos de vetores que e
muito mais eciente, do ponto de vista computacional, do que operacoes de produtos de matrizes por vetores,
como seria necessario caso Sk+1 fosse efetivamente calculada. Por outro lado, vale observar que para aplicar
a expressao (3.118), e necessario armazenar todos os vetores vk e wk desde a iteracao 0 ate a iteracao k.
Recomenda-se, todavia, guardar somente os 10 u
ltimos vetores vk e wk e, caso nao haja convergencia nesse
ciclo de 10 iterac
oes, comecar um novo ciclo com S0 = I.
[
[
( )t ] k+1
( )t ] [
( )t ]
( )t ] [
g
(3.118)
dk+1 = I + wk vk
I + w0 v0 S0 I + v0 w0 I + vk wk
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
40
[
( )t ]
( )t ] [
I + w0 v0 S0 I + v0 w0
|[
{z
}
( 1 )t ] 1 [
( 1 )t ]
1
1
I+w v
S I+v w
{z
}
|
dk+1
..
]. [
(
)
( )t ]
t
= I + wk vk
Sk I + vk wk
[
(3.119)
gk+1
onde:
[
]
(dk )t kg
k+1
k
k
k
1+
(kx )t gk g
v =g
wk =
(3.120)
k
x
t
k
x
( )
k
g
Implementa
c
ao do m
etodo Quase-Newton BFGS
Inicializac
ao e primeira iterac
ao (k = 0):
1. Escolher x0 e S0 , aproximac
ao de H1 , geralmente como sendo a matriz identidade (I);
2. Calcular g0 a partir de x0 e d0 = S0 g0 ;
3. Obter 0 por busca unidimensional minimizando f (x0 + d0 );
4. Avancar para a proxima iteracao: x1 = x0 + 0 d0 ;
Iteracao k + 1
1. Calcular gk+1 a partir de xk+1 ;
2. Obter os vetores kx e kg (vide Equacoes 3.74);
3. Calcular os vetores vk e wk (vide Equacoes 3.120);
4. Calcular a direc
ao de busca dk+1 (vide Equacao 3.118);
5. Obter k+1 por busca unidimensional minimizando f (xk+1 + dk+1 );
6. Avancar para a proxima iteracao: xk+2 = xk+1 + k+1 dk+1 .
Captulo 4
Fundamentos de Otimizac
ao Com
Restric
oes (OCR)
No problema geral de otimizac
ao com restricoes, deve-se minimizar uma funcao f (x), com as vari
aveis x
submetidas a restric
oes, que podem ser de igualdade, desigualdade e/ou laterais, conforme indicado a seguir:
min f (x)
s.t. hk (x) = 0,
k = 1...m
(4.1)
c
(x)
0,
l
=
1
.
.
.
p
xi l xi xi u , i = 1 . . . n
As restric
oes laterais limitam o valor da variavel xi ao valor mnimo de xli e ao valor maximo de xui .
4.1
Condico
es de Mnimo no Problema de OCR
4.1.1
Condico
es de Primeira Ordem
4.1.1.1
min f (x)
(4.2)
s.t.
hk (x) = 0, k = 1 . . . m
Seja x um mnimo local desse problema. Portanto, nao e possvel dar um passo viavel, a partir de x ,
que seja tambem um passo de decrescimo de f (x).
A serie de Taylor de primeira ordem para a restricao hk (x), em torno do ponto x e com um passo s,
fornece:
hk (x + s) hk (x ) + st hk
(4.3)
(4.4)
A serie de Taylor de primeira ordem para a funcao objetivo f (x), em torno do ponto x e com um passo
s, e dada por:
41
42
COM RESTRIC
f (x + s) f (x ) + st g
(4.5)
(4.6)
g =
k hk
(4.7)
k=1
g =u
k hk
(4.8)
k=1
onde o vetor u = 0 e uma componente do vetor g ortogonal aos vetores hk , ou seja, que nao pertence
ao espaco denido pela base de vetores hk . Imagine-se que, a partir de x , e dado um passo s = u. Logo,
s satisfaz:
st hk = ut hk = 0
(4.9)
pois u e ortogonal a hk e, de acordo com a expressao (4.4), s e um passo viavel a partir de x . Deve-se
vericar se s e tambem um passo de decrescimo a partir de x . Para que isto ocorra, s deve satisfazer `a
Equacao (4.6), ou seja:
st g 0
(4.10)
2
st g = ut u
k hk = u + 0 0
(4.11)
k=1
k hk (x )
(4.12)
k=1
hk (x ) = 0,
k = 1, . . . m
(4.13)
4.1. CONDIC
OES
DE MINIMO NO PROBLEMA DE OCR
43
k hk (x)
(4.14)
k=1
L(x, )
= g(x ) +
k hk (x ) = 0
x
m
(4.15)
k=1
L(x, )
= hk (x ) = 0,
k
k = 1...m
(4.16)
As Equac
oes (4.15) e (4.16) correspondem exatamente `as condicoes de primeira ordem que um ponto x
deve satisfazer para ser um mnimo local do problema de otimizacao com restricoes de igualdade. Em outras
palavras, se x e forem um ponto estacionario da funcao Lagrangeana, eles serao, respectivamente, o
vetor que representa o mnimo local e vetor com os multiplicadores de Lagrange associados ao problema de
minimizacao com restric
oes de igualdade.
4.1.1.2
min f (x)
(4.17)
s.t.
cl (x) 0,
l = 1...p
Seja x um mnimo local desse problema. Portanto, nao e possvel dar um passo viavel, a partir de x ,
que tambem seja um passo de decrescimo de f (x).
A serie de Taylor de primeira ordem para a restricao cl (x), em torno do ponto x e com um passo s, e
dada por:
cl (x + s) cl (x ) + st cl
onde o vetor
cl
(4.18)
e o gradiente de cl (x) em x .
(4.19)
Como visto anteriormente no caso de restricoes de igualdade, se x e um mnimo local, entao, nao devem
existir nem passos viaveis e nem de decrescimo de f (x) em x . Vale lembrar que, passos de decrescimo sao
aqueles que satisfazem `a expressao:
st g 0
(4.20)
g =
j cj
(4.21)
j 0
(4.22)
j (x )
e dita ativa se cj (x ) = 0.
COM RESTRIC
44
j = q
(4.23)
e
st cq = 1
(4.24)
cj
(A ) s = eq
t
(4.25)
onde eq e um vetor com tantos elementos nulos quantos forem as restricoes ativas menos um, o elemento
correspondente `a linha q, que vale 1. Logo, pode-se escrever:
[
]+
t
s = (A )
eq
(4.26)
B+
nm Bmn = Inn
(4.27)
onde Inn e a matriz identidade de ordem n. Pode-se adiantar que uma maneira simples de se obter a
inversa generalizada `a esquerda da matriz Bmn e:
[ t
]1 t
B+
Bnm
nm = Bnm Bmn
(4.28)
]
]1 [ t
[ t
Bnm Bmn = Inn
B+
nm Bmn = Bnm Bmn
(4.29)
pois:
st g = st
j cj = q
(4.30)
j
g =
l cl ,
l = 1...p
(4.31)
l
cl (x ) 0,
l 0,
l cl = 0,
l = 1...p
l = 1...p
l = 1...p
(4.32)
(4.33)
(4.34)
detalhes sobre a teoria de matrizes inversas generalizadas podem ser vistos na Refer
encia [8].
4.1. CONDIC
OES
DE MINIMO NO PROBLEMA DE OCR
4.1.1.3
45
min
f (x)
s.t.
hk (x) = 0, k = 1 . . . m
cl (x) 0, l = 1 . . . p
k hk (x) +
k=1
l cl (x)
l=1
g =
k hk
l cl ,
k = 1...m ; l = 1...p
k
hk (x ) = 0,
k = 1...m
cl (x ) 0,
l = 1...p
k = valor,
l 0,
k hk = 0,
k = 1...m
l = 1...p
k = 1...m
l cl = 0,
4.1.2
Condico
es de Segunda Ordem
4.1.2.1
l = 1...p
k hk (x + s)
(4.35)
k=1
L(x , ) = f (x ) +
k hk (x )
(4.37)
k=1
e
Da condicao de primeira ordem vale:
hk (x ) = 0,
k = 1...m
L = 0
(4.38)
(4.39)
COM RESTRIC
46
1 t
s W s
2
(4.40)
k = 1...m
(4.41)
(4.42)
1 t
s W s
2
(4.43)
(4.44)
(4.45)
a Hessiana da func
ao Lagrangeana deve ser positiva semidefinida em relacao ao vetor s, das direcoes
viaveis estacionarias.
4.1.2.2
As condicoes de segunda ordem para problemas com restricoes de desigualdade so serao estudadas em relacao
`as restricoes ativas, pois, para restric
oes inativas, l = 0, e portanto, elas nao estarao presentes na funcao
Lagrangeana. Como no item anterior, da denicao de funcao Lagrangeana, pode-se escrever para o ponto
(x + s):
L(x + s, ) = f (x + s) +
l cl (x + s)
(4.46)
l=1
L(x , ) = f (x ) +
l cl (x )
(4.48)
l=1
e,
cl (x ) 0,
l 0,
l cl = 0,
l = 1...p
l = 1...p
l = 1...p
(4.49)
(4.50)
4.1. CONDIC
OES
DE MINIMO NO PROBLEMA DE OCR
47
1 t
s W s
(4.51)
2
Todavia, no ponto x e para um passo s viavel a partir de x sobre as restricoes ativas j, pode-se escrever:
L (x + s, ) = f (x ) +
cj (x + s) 0
j 0
(4.52)
Nessas condic
oes, nada se pode armar sobre o sinal do produto:
st W s
(4.53)
l cl (x + s) = f (x ) +
l=1
1 t
s W s
2
(4.54)
ou:
f (x + s) f (x ) =
l cl (x + s) +
l=1
1 t
s W s
2
(4.55)
(4.56)
st cj = 0
(4.57)
e ainda:
entao:
f (x + s) f (x ) =
1 t
s W s
2
(4.58)
(4.59)
g =
j cj
(4.60)
entao:
st g = st
j cj = 0
(4.61)
COM RESTRIC
48
(4.62)
4.2
(4.63)
Os Multiplicadores de Lagrange
(4.65)
A expressao da func
ao Lagrangeana do problema de otimizacao na solucao, onde x = x e = , como
funcao da perturbac
ao em uma restric
ao de igualdade h(x) e dada por:
L [x (), (), ] = f [x ()] + () [h(x) ]
(4.66)
como, na soluc
ao, as condic
oes de KKT impoem que:
L
=0
x
(4.67)
L
=0
entao:
dL
L
=
=
d
(4.68)
(4.69)
[
]
dL
df
d
dh(x)
=
+
[h(x) ] +
1
d
d
d
d
(4.70)
h(x) = 0
(4.71)
logo:
Porem, na soluc
ao:
e, consequentemente:
49
dh(x)
1=0
d
(4.72)
dL
df
=
d
d
(4.73)
df
=
d
(4.74)
e, nalmente, chega-se a:
4.2.1
Exemplo de Aplicac
ao
4.3
Dualidade de Wolfe
min f (x)
(4.75)
s.t. hk (x) = 0, k = 1 . . . m
cl (x) 0, l = 1 . . . p
e sua respectiva func
ao Lagrangeana (que deve ser uma funcao convexa):
L(x, , ) = f (x) +
k=1
k hk (x) +
l cl (x)
(4.76)
l=1
max L(x, , )
L(x,,)
=0
s.t.
x
0,
k = 1...m
k
l 0,
l = 1...p
As solucoes dos problemas primal e dual se relacionam da seguinte forma:
(4.77)
COM RESTRIC
50
O valor da func
ao objetivo na solucao do PP, f (x ), e igual ao valor da funcao objetivo na solucao do
PD, L(x , , ).
O vetor x do PP e igual ao vetor ( , ) do PD e vice versa.
Para se provar a dualidade de Wolfe, comeca-se relembrando a funcao Lagrangeana do PP na solucao,
ou seja:
m
L(x , , ) = f (x ) +
k hk (x ) +
k=1
l cl (x )
(4.78)
l=1
e as condicoes de KKT:
g =
k hk
l cl ,
hk (x ) = 0,
k = 1...m
; l = 1...p
k = 1...m
cl (x ) 0,
l = 1...p
k = valor,
k = 1...m
l 0,
(4.79)
l = 1...p
k hk = 0,
k = 1...m
l cl = 0,
l = 1...p
Na soluc
ao do PP, onde x = x , = e = , e valem as condicoes KKT, pode-se escrever:
L(x , , ) = f (x )
(4.80)
k hk (x ) +
l cl (x )
(4.81)
l = 1...p
(4.82)
l=1
k=1
Impondo-se as restric
oes:
k 0,
k = 1...m
l 0,
(4.83)
k hk (x ) +
k=1
l cl (x ) 0
(4.84)
l=1
cl (x ) 0
L(x, , )
x
(4.85)
51
L(x, , )
=0
x
(4.86)
L(x , , ) L(x, , )
(4.87)
(4.88)
L(x , , ) L(x, , )
(4.89)
ou, simplesmente:
Vale lembrar que so foi possvel obter a expressao acima com a imposicao de duas restricoes, nomeadamente:
L(x, , )
= 0,
0
e
0
x
Logo, resolvendo-se o seguinte problema:
max L(x, , )
L(x,,)
=0
s.t.
x
0,
k = 1...m
k
l 0,
l = 1...p
(4.90)
que e o problema dual de Wolfe, obtem-se como solucao, x = x , = e = , pois esses sao os valores
que maximizam L(x, , ), caso sejam impostas as restricoes mencionadas.
4.3.1
Exemplos Te
oricos
4.3.1.1
Programa
c
ao Linear
Considerando-se o problema de programacao linear padrao (PL) formulado a seguir como um problema
primal:
min z = ct x + f0
(4.91)
s.t. At x b
x0
onde, a func
ao objetivo z e um hiperplano no espaco das variaveis x positivas e o vetor b 0. Os
vetores coluna x e c tem dimensao n 1, o vetor b tem dimensao m 1 e a matriz A das restricoes lineares
nm. Introduzindo-se os multiplicadores e associados, respectivamente, ao primeiro e ao segundo grupo
de restricoes, pode-se obter a func
ao Lagrangeana do problema e seu vetor gradiente em relacao a x:
L(x, , ) = ct x + t (At x b) t x + f0
L(x, , )
=c+A
x
Parte-se agora para formular o problema dual associado ao problema primal, ou seja:
max ct x + t (At x b) t x + f0
s.t.
c+A =0
(4.92)
(4.93)
(4.94)
COM RESTRIC
52
(A + ) x + t (At x b) t x = bt + f0
(4.95)
max bt
s.t.
A c
0
(4.96)
Observe-se que o PD obtido tambem e um problema de programacao linear e quando se tem menos
restricoes do que vari
aveis no problema primal (m < n), o problema dual tera menos variaveis do que
restricoes e vice-versa.
4.3.1.2
Programa
c
ao Quadr
atica
min 12 xt Q x + f t x
(4.97)
s.t.
At x b
onde os vetores coluna x e f tem dimensao n1, o vetor b tem dimensao m1, a matriz A, das restricoes
lineares, tem dimensao nm e, nalmente, a matriz Q, positiva-denida, tem dimensao nn. Introduzindose m multiplicadores associados `as restricoes, pode-se obter a funcao Lagrangeana do problema e seu vetor
gradiente em relac
ao a x da seguinte forma:
L(x, ) =
1 t
x Q x + f t x + t (At x b)
2
L(x, )
=Qx+f +A
x
Com eles, e possvel formular o problema dual de Wolfe associado ao problema primal, ou seja:
max 12 xt Q x + f t x + t (At x b)
s.t.
Qx+f +A=0
0
(4.98)
(4.99)
(4.100)
(4.101)
E usando-se essa expressao para eliminar x da funcao objetivo, como foi feito no exemplo anterior,
chega-se ao problema dual:
max 21 t (At Q1 A) t (b + At Q1 f ) 12 f t Q1 f
(4.102)
s.t.
0
Vale observar que o PD obtido tambem e um problema de programacao quadratica com variaveis . O PD
tem m variaveis e m restric
oes e pode ser mais conveniente de ser resolvido do ponto de vista computacional
do que o PP se m < n. Uma vez obtido , o vetor x pode ser recuperado da seguinte forma:
Q x = A f
(4.103)
Captulo 5
M
etodos Indiretos em OCR
Historicamente, as primeiras tentativas de se resolver o problema de otimizacao com restricoes (OCR) foram
feitas utilizando-se os metodos indiretos, nomeadamente, os metodos de penalidade e os de barreira. Esses
metodos resolvem problemas de OCR por meio de uma sequencia de solucoes de problemas de OSR. Para
que isso seja possvel, as restric
oes dos problemas de OCR sao incorporadas `a funcao objetivo criando-se as
chamadas func
oes de penalidade (e de barreira) que sao usadas nos problemas de OSR. A ideia da funcao de
penalidade (e de barreira) e criar um alto custo pela violacao das restricoes o que forca a solucao a atender
as restricoes.
Os metodos indiretos apresentam, em geral, diculdades computacionais e por isso vem sendo substitudos
pelos metodos diretos. Eles tem, no entanto, o atrativo de serem metodos simples de se resolver problemas de
OCR e apresentam uma importancia historica no desenvolvimento de metodos de programacao matematica.
5.1
M
etodo de Penalidade
Para se ilustrar o metodo de penalidade, proposto por Courant em 1947, considera-se um problema simples
de minimizac
ao de uma func
ao com uma restricao de igualdade:
min f (x)
(5.1)
s.t. h(x) = 0
A funcao de penalidade para esse problema e dada por:
(x, rp ) = f (x) +
1
2
rp [h(x)]
2
(5.2)
x , e um ponto limite de uma sequencia a ser denida, ou seja, que essa sequencia converge para x .
Principais Passos do M
etodo de Penalidade:
1. Escolher uma sequencia de valores para rp tendendo a innito, com k a partir de 1, por exemplo:
rpk = 10k1 , e um valor inicial x = x0 ;
2. Para cada rpk , formar a func
ao de penalidade (x, rpk ), conforme indicado acima, e obter xk resolvendose o seguinte problema de OSR:
xk min (x, rpk )
(5.3)
3. Repetir a operac
ao indicada no item 2 com o valor inicial da iteracao k igual ao valor obtido na
otimizacao da iterac
ao k 1.
53
CAPITULO 5. METODOS
INDIRETOS EM OCR
54
(5.4)
(5.5)
(5.6)
(5.7)
(5.8)
o que demonstra 1.
Comparando-se o quarto e o primeiro termos da cadeia:
f (xk ) +
]2
[
]2
1 k [
1
rp h(xk ) f (xk ) + rpl h(xk )
2
2
(5.9)
ou:
[
]2
(rpl rpk ) h(xk ) 0
(5.10)
(5.11)
Como na cadeia, a diferenca entre o quarto e o primeiro termos e maior do que a diferenca entre o terceiro
e segundo, e possvel armar que, observando-se as duas u
ltimas desigualdades:
{[
]2 [
]2 }
(rpl rpk )
h(xk ) h(xl )
0
(5.12)
As duas parcelas `a esquerda da desigualdade acima sao positivas, ja que o produto das duas e positivo e a
primeira delas tambem e positiva (pois rpl > rpk ). Como a segunda parcela da desigualdade acima e positiva,
entao:
[
]2 [
]2
h(xk ) h(xl )
o que demonstra 2.
Voltando-se para a primeira das desigualdades apresentada nessa demonstracao, ou seja:
(5.13)
5.1. METODO
DE PENALIDADE
55
(5.14)
pode-se escrever:
f (xk ) +
]2
[
]2
1 k [
1
rp h(xk ) f (xl ) + rpk h(xl )
2
2
(5.15)
ou ainda:
{[
]2 [
]2 }
[
] 1
h(xl ) h(xk )
0
(5.16)
f (xl ) f (xk ) + rpk
2
Analisando-se a desigualdade acima, pode-se dizer que a segunda parcela entre chaves, {}, e negativa
(vide expressao 5.13). Logo, pode-se armar que a primeira parcela entre colchetes e positiva, pois esta
sendo diminudo um valor dessa parcela e, ainda assim, obtem-se um resultado positivo, o que prova 3, ou
seja:
f (xl ) f (xk )
(5.17)
(5.18)
Denindo-se f como:
(5.19)
(5.20)
Baseado nas conclusoes acima, pode-se construir a Figura 5.1, que mostra como se da a convergencia das
iteracoes do metodo de penalidade para a solucao do problema de OCR.
A deducao acima pode ser facilmente generalizada para varias restricoes de igualdade. Nesse caso, a nova
funcao de penalidade seria dada por:
(x, rp ) = f (x) +
1
2
rp
[hk (x)]
2
(5.21)
k=1
min f (x)
(5.22)
c(x) 0
s.t.
(x, rp ) = f (x) +
1
2
rp
{max [0, cl (x)]}
2
l=1
(5.24)
CAPITULO 5. METODOS
INDIRETOS EM OCR
56
f,f
rk<rk+1
f(r3)
f(x)=ax1
f(r2)
f3*
f(r1)
f1*
f2*
x1
x1=b
Cj{cj(x)}={min[0,cj(x)]}
5.2
M
etodo de Barreira
[cl (x)]
(5.25)
l=1
(5.26)
l=1
No caso de func
oes de barreira, a sequencia rbk no processo iterativo deve tender para zero, ou seja:
rbk = 101k
(5.27)
O processo iterativo do metodo de barreira segue os mesmos passos que foram denidos para o metodo
de penalidade. As restric
oes de igualdade podem ser introduzidas de forma semelhante a que foi apresentada
no Metodo de Penalidade, ou seja:
5.2. METODO
DE BARREIRA
57
p
m
1
1
2
[cl (x)]
(x, rp , rb ) = f (x) +
rp
[hk (x)] + rb
2
l=1
k=1
f,f
f(x,r1)
f(x,r2)
f(x,r3)
rk>rk+1
f1*
f2*
f3*
x
f(x)=ax1
x1=b
x1
Cj{cj(x)}=1/cj(x)
Figura 5.2: Comportamento dos Metodos de Penalidade e de Barreira.
(5.28)
58
CAPITULO 5. METODOS
INDIRETOS EM OCR
Captulo 6
6.1
6.1.1
O Problema de Programac
ao Linear (PL)
Introduc
ao
O problema de Programac
ao Linear (PL) e um problema de otimizacao onde a funcao objetivo e as restricoes
sao funcoes lineares de vari
aveis nao negativas.
O problema de PL com 2 vari
aveis pode ser resolvido gracamente como exemplicado a seguir.
Seja o problema:
59
(6.1)
60
6
5x1 + 2x 2 = 10
5
f=-12.37
x2
3
A
f=-18
2
f=-6
3x1 + 5x 2 = 15
1
f=-2
0
0
3
x1
Na Figura (6.8) a area cinza representa a regiao viavel, ou seja, a regiao dos pontos que satisfazem todas
as restricoes do problema.
A solucao do problema acima esta no ponto A com coordenadas x1 = 1, 053 e x2 = 2, 368.
As Figuras abaixo ilustram gracamente que o problema de PL pode ter solucoes ilimitadas (Figura 6.2(a)),
nao ter soluc
ao, caso as restric
oes sejam incompatveis tornando a regiao viavel inexistente (Figura 6.2(b)),
ter varias soluc
oes (Figura 6.2(c)), ou ainda, apresentar solucao apesar de ter restricoes redundantes (Figura 6.2(d)).
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
direo de
crescimento de f
x2
x2
direo de
crescimento de f
61
x1
x1
(b) Soluc
ao inexistente
direo de
crescimento de f
x2
(a) Soluco
es ilimitadas
x2
direo de
crescimento de f
x1
x1
(c) Soluc
oes m
ultiplas
(d) Restric
oes redundantes
Como um exemplo pratico, o problema da otimizacao da producao de uma ocina, ilustra bem o problema
de PL.
Seja uma ocina que possui tres tipos de maquinas A, B e C que podem produzir quatro tipos de
produtos 1, 2, 3 e 4. Cada um dos produtos tem que passar por alguma operacao em cada um dos tres tipos
de maquinas (maquina de tornear, perfurar e laminar, por exemplo). Considere-se que o tempo para passar
o produto de uma maquina para outra e desprezvel. A Tabela 6.1.1 mostra na primeira coluna o n
umero
de horas requeridas em cada maquina A, B e C para produzir uma unidade do produto do tipo 1 e por
u
ltimo o lucro obtido com a venda de uma unidade desse produto. As segunda, terceira e quarta colunas
mostram os mesmos dados para a produc
ao de uma unidade do produto do tipo 2, 3 e 4, respectivamente.
Na u
ltima coluna, `a direita, esta o tempo total em horas que cada tipo de maquina pode ser utilizada por
semana considerando-se que se tenha 50 maquinas do tipo A, 200 do tipo B e 125 do tipo C e uma semana
de 40 horas semanais.
Suponha que xj seja o n
umero de unidades do tipo j produzidas por semana.
Pretende-se saber quantas unidades devem ser produzidas do tipo 1, 2, 3 e 4 para que o lucro da ocina
seja maximo, como denido na Equac
ao (6.2).
Considerem-se as restric
oes impostas pelo tempo de disponibilidade de cada maquina por semana,
62
Tipo de Maquina
A
B
C
Unidade de lucro (em reais)
Tipo de produto
1.0
2.4
3.0
4.0
1.5
1.0
2.0
1.0
1.0
5.0
1.0
3.5
1.5
3.0
3.5
1.0
5.24 7.30 8.34 4.18
(maquina A)
(maquina B)
(maquina C)
(6.2)
As restric
oes do tipo xj 0 sao obvias uma vez que a quantidade de produtos deve ser nao negativa.
Pretende-se maximizar o lucro da ocina por semana, desse modo, a funcao objetivo deve ser:
5, 24x1 + 7, 30x2 + 8, 34x3 + 4, 18x4
(6.3)
6.1.2
Fundamentos matem
aticos
Nesse item serao revisitados alguns conceitos basicos de algebra linear que facilitam a compreensao do
algoritmo simplex que sera apresentado no proximo item.
6.1.2.1
Depend
encia linear
Um vetor a pertencente a um espaco n dimensional En e dito ser uma combinacao linear dos vetores
a1 , a2 , . . . , ak pertencentes a En se a pode ser escrito como:
a = 1 a1 + 2 a2 + + k ak
(6.4)
Para arbitrarios i .
Um conjunto de vetores a1 , . . . , am pertencentes a E m e dito ser linearmente dependente (LD) se existe
escalares i , nao todos nulos, tais que:
1 a1 + 2 a2 + + m am = 0
(6.5)
Se o u
nico conjunto de escalares m para a qual a expressao (6.5) permanece valida for
1 = 2 . . . = m = 0
(6.6)
m1
i ai
=1
ou
m1
i=1
i ai am = 0
(6.7)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
am =
m1
=1
6.1.2.2
63
i
ai
m
(6.8)
Bases
Uma base para En e um subconjunto de vetores de En linearmente independentes (LI) que geram todo o
espaco En .
Um espaco En pode ter um n
umero innito de bases. A representacao de um vetor do espaco En numa
dada basica e u
nica. Para provar isto, seja um vetor b pertence a En e um conjunto a1 , . . . , ar uma base do
referido espaco. Se for possvel representar b de duas maneiras diferentes na mesma base vale:
b=
i ai
b=
i=1
r1
i ai
(6.9)
i=1
ou, subtraindo
r
(i i )ai = 0
(6.10)
i=1
i = 1, . . . , r
(6.11)
e portanto a representac
ao de b e u
nica.
Seja uma base vetorial a1 , . . . , ar para En e um outro vetor b pertencente a En . O vetor b pode ser
representado na base dada como,
b=
i ai
(6.12)
i=1
Se qualquer vetor ai para o qual i = 0 for retirado da base e substitudo por b, o novo conjunto e
tambem uma base.
Seja r = 0, ent
ao a1 , a2 , . . . , ar1 , b forma uma nova base e portanto formam um conjunto LI.
Para provar que o novo conjunto e LI, pode-se comecar supondo o contrario, ou seja, o novo conjunto
nao e LI. Nesse caso vale:
r1
i ai + b = 0
(6.13)
i=1
(i + i ) ai + r ar = 0
(6.14)
i=1
i=1
i ai
(6.15)
64
Ele pode ser representado na nova base a1 , . . . , ar1 , b onde, b e o vetor denido em (6.12).
De (6.12) ar pode ser escrito como:
ar =
r1
i
1
ai +
b
r i=1
r
(6.16)
x=
)
r1 (
i
r
r ai b
i
r
r
i=1
(6.17)
bv =
i ai
u = 0
com
(6.18)
i=1
bv1 =
u1
i ai + bv
(6.19)
i=1
com pelo menos um i = 0 pois caso contrario, o conjunto dos vetores bj nao seria L.I.
Seja u1 = 0, ent
ao a1 , . . . , au2 , bv1 , bv e uma nova base para En .
Esse processo pode ser repetido ate que se chegue a uma base com duas formas possveis, nomeadamente,
a1 , . . . , auv , b1 , . . . , bv
ou
b1 , . . . , bv
(6.20)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
6.1.2.4
65
Solu
c
oes b
asicas
(6.21)
onde Amn , xn1 e bm1 , n > m e r(A) = m, ou seja, existem m colunas, m 1, retiradas de A formam
um conjunto de vetores L.I.
Se uma submatriz qualquer B, m m e formada com m vetores aj retirados de A, uma solucao para o
sistema de Equac
oes (6.21) pode ser encontrada com
xb = B1 b
(6.22)
A notacao
X = { x| P (x)}
(6.23)
(6.24)
Uma hiperesfera em En com centro em a e raio > 0 pode ser denida como:
x = { x| | x a| = }
(6.25)
x = { x| | x a| < }
(6.26)
E o interior da hiperesfera
Uma vizinhan
ca em torno do ponto a e denida como o conjunto de pontos no interior da hiperesfera
de centro em a e raio .
Um ponto a e um ponto interior de um conjunto A se existir uma vizinhanca em torno de A que
contenha somente pontos do conjunto A.
O ponto a e um ponto limite (ou de acumulacao) do conjunto A se toda vizinhanca em torno de a
(indiferente de quao pequeno > 0 possa ser) contenha pontos que pertencam e pontos que nao pertencam
ao conjunto A.
Um conjunto A e um conjunto aberto se contiver somente pontos interiores.
Um conjunto A e um conjunto fechado se contiver todos os pontos limites.
Um conjunto e um conjunto limitado inferiormente se existir um r com cada componente nito tal
que para todo a A, r a.
Em En , a reta que passa por dois pontos x1 e x2 , x1 = x2 , pode ser denida como o conjunto de pontos.
x = { x| x = x2 + (1 ) x1
todo real}
(6.27)
O segmento de reta que une dois pontos x1 e x2 e denido como o conjunto de pontos.
x = { x| x = x2 + (1 ) x1 ; 0 1}
Em En , o conjunto de pontos x que satisfaz
(6.28)
66
ct x = z
(6.29)
(6.30)
A expressao (6.30) implica que o vetor c seja normal a todo vetor x do hiperplano, ou seja, que c e
ortogonal ao hiperplano.
Sejam x1 e x2 dois pontos do hiperplano denido por (6.29) e z = 0.
Nesse caso vale,
{ t
c x1 = z
(6.31)
ct x2 = z
Subtraindo a segunda da primeira expressao em (6.31), vem:
ct (x1 x2 ) = 0
(6.32)
que signica que o vetor c e ortogonal a todo vetor x1 x2 contido no hiperplano, ou seja, e ortogonal
ao hiperplano.
O vetor c e denominado ent
ao de vetor normal ao hiperplano e o vetor denido por
c
|c|
(6.33)
(6.34)
e o conjunto de pontos
x1 = x0 + c
com
>0
ct xo = zo
ct (xo + c) = zo + |c| = z1
com
z1 > zo
(6.35)
X1 = { x| ct x < z}
X2 = { x| ct x = z}
(6.36)
X3 = { x| ct x > z}
Os conjuntos X1 e X3 s
ao chamados semi-espacos abertos. Se os sinais < e >, respectivamente em X1
e X3 , forem substitudos por e , os conjuntos sao chamados de semi-espacos fechados. O hiperplano
formado pelo conjunto X2 pode ser denido como a intersecao desses dois novos conjuntos fechados.
Um hiperplano e um conjunto fechado porque todo ponto pertencente a um hiperplano e um ponto limite.
Um conjunto e um conjunto convexo se, para dois pontos quaisquer x1 e x2 pertencentes ao conjunto,
o segmento de reta que une os dois pontos tambem pertencer ao conjunto.
Um conjunto convexo nao pode conter buracos nem ser reentrante.
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
67
Um ponto x e um ponto extremo de um conjunto convexo se, e somente se, nao houver outros dois
pontos x1 e x2 , x1 = x2 , pertencentes ao conjunto, tais que:
x = x2 + (1 )x1 ,
0<<1
(6.37)
O conjunto da Figura 6.3 nao e um conjunto convexo pois a linha reta que une x1 e x2 nao pertence ao
conjunto.
x2
x1
x2
x1
O hiperplano e um conjunto convexo. Para provar essa armacao basta observar que se x1 e x2 pertencem
ao hiperplano, isto e,
ct x1 = z
ct x2 = z
(6.38)
entao,
x = x2 + (1 )x1
tambem pertence ao hiperplano uma vez que
ct x = ct {x2 + (1 )x1 } = + (1 )z = z
(6.39)
A intersec
ao de dois conjuntos convexos e um conjunto convexo.
Sejam dois conjuntos convexos X1 e X2 e x1 , x2 dois pontos quaisquer pertencentes ao conjunto X3
intersecao de X1 e X2 , ou seja, X3 = X1 X2 .
Logo,
x2 + (1 ) x1 X1 , 0 1
(6.40)
x2 + (1 ) x1 X2 , 0 1
Assim,
x2 + (1 ) x1 X1 X2 = X3 , 0 1
(6.41)
e deste modo, X3 e convexo. Se X1 e X2 sao conjuntos fechados, X3 tambem e fechado. Para vericar
esse fato, basta notar que todo ponto limite de X3 e um ponto limite de X1 ou de X2 .
68
Como X1 e X2 sao fechados logo X3 contem todos os seus pontos limites e tambem e fechado.
Os resultados acima mostram que a intersecao de um, n
umero nito de hiperplanos, ou de semi-espacos
ou de ambos, e um conjunto convexo fechado.
Uma combinac
ao convexa de um n
umero nito de pontos x1 , . . . , xm e denida como
x=
i 0,
i xi ,
i = 1, . . . , m;
i=1
i = 1
(6.42)
i=1
O poliedro convexo gerado por n +1 pontos em En que nao pertenca a um hiperplano e chamado simplex.
Em E2 , um triangulo e seu interior formam um simplex. Os tres pontos que geram um simplex sao os
vertices do triangulo.
Seja o ponto no interior do triangulo como representado na Figura 6.4.
x2
x2
x1
x3
x1
0 1 1
(6.43)
= 2 x2 + (1 2 )v;
0 2 1
(6.44)
(6.45)
Seja agora,
1 = (1 2 )1 ;
2 = 2
3 = (1 1 )(1 2 )
(6.46)
i=1
i xi ;
i 0;
i = 0
(6.47)
i=1
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
6.1.2.6
69
Teoremas importantes
Nesse item serao listados alguns teoremas sem preocupacao com demonstracoes.
1. Teorema I: Dado qualquer conjunto fechado X, um ponto y ou pertence ao conjunto X, por exemplo
y1 , ou existe um hiperplano que contem y, por exemplo y2 , tal que todo o conjunto X esta contido
em um semi-espaco gerado por aquele hiperplano.
A Figura 6.5 esclarece:
c y2 = z
x2
c y1 < z
y2
y1
x1
2. Teorema II: Se w e um ponto limite de um conjunto convexo fechado, entao ha pelo menos um
hiperplano suporte de w.
3. Teorema III: Um conjunto convexo fechado que seja limitado inferiormente tem um ponto extremo
pertencente a cada hiperplano suporte.
A demonstrac
ao desse teorema sera apresentada aqui devido a sua importancia na compreensao do
algoritmo Simplex de programac
ao linear.
O hiperplano ct x = z sera suposto como hiperplano suporte de x0 para o conjunto convexo fechado
X, limitado inferiormente.
A intersec
ao de X e S = { x| ct x = z} sera expressa por T que nao e um conjunto vazio porque x0 T .
Sendo X e S conjuntos convexos fechados, T tambem o sera.
Vamos mostrar que qualquer ponto extremo de T e tambem um ponto extremo de X. Se t e um ponto
qualquer de T e, se
t = x2 + (1 )x1 ;
0 < < 1;
x1 , x2 x
(6.48)
70
cw= z
cu< z
x2
w2
u
x1
x1 , x2
Isso e verdade porque
ct t = ct x2 + (1 ) ct x1 = z
(6.49)
ct x1 z, ct x2 z
(6.50)
6.1.3
Algoritmo Simplex
6.1.3.1
Formula
c
ao do problema de PL
Num problema de PL procura-se encontrar r variaveis nao-negativas xj 0, j = 1, . . . , r que devem maximizar ou minimizar uma func
ao linear
z = c1 x1 + c2 x2 + + cr xr
(6.51)
ou
ou
}bi ,
i = 1, . . . , m
(6.52)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
71
x2
T={X S}
x0
x1
t
x2
S={x | c w = z}
ahj xj bh
(6.53)
j=1
possvel introduzir no lado esquerdo da desigualdade (6.53) uma variavel nao-negativa xr+h , denomiE
nada variavel de folga de modo que a desigualdade pode ser reescrita como igualdade
r
ahj xj + xr+h = bh
(6.54)
j=1
akj xj bk
(6.55)
j=1
akj xj xr+k = bk
(6.56)
j=1
j=1
r
j=1
ahj xj + xr+h = bh ;
h = 1, . . . , u
akj xj xr+k = bk ;
k = u + 1, . . . , v
apj xj = bp ;
(6.57)
p = v + 1, . . . , m
j=1
(6.58)
72
(6.59)
ou sucintamente,
z=
r+v
cj xj
(6.60)
ou matricialmente,
z = ct x
(6.61)
z = ct x
min ou max
s.t
Ax = b
x0
(6.62)
Hip
oteses preliminares
r (A) = m
onde m e o n
umero de restric
oes.
A e a matriz dos coecientes e Ab a matriz aumentada. Se isto nao for verdadeiro as equacoes sao
inconsistentes e nao ha soluc
ao para o problema de PL.
Num problema tpico de PL ha mais variaveis que restricoes e r(A) = m assegura que nenhuma equacao
e redundante.
6.1.3.3
Redu
c
ao de uma solu
c
ao compatvel qualquer para uma solu
c
ao compatvel b
asica
Nessa secao sera mostrado que se houver uma solucao compatvel para as equacoes de restricao em (6.62),
entao ha uma soluc
ao compatvel basica (ver eq. (6.22)), ou seja, com nao mais que m variaveis diferentes
de zero.
Se r(A) = m, b pode ser escrito como uma combinacao linear de m colunas L.I. de A.
Formalmente, pode-se enunciar:
Dado esse conjunto de m equac
oes lineares simultaneas a n incognitas (n m)
Ax = b
com
r(A) = m
(6.64)
(6.65)
sendo B uma matriz m m formada com m colunas L.I de A e com as demais n m variaveis de x
iguais a zero, com x satisfazendo (6.64).
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
73
x j aj = b
(6.66)
j=1
com
xj > 0
(j = 1, . . . , p)
xj = 0
(j = p + 1, . . . , n)
(6.67)
Os vetores aj s
ao colunas de A associadas `as variaveis xj , podendo ser L.I. ou L.D.
Para que os vetores aj sejam L.I, ent
ao p m ja que r(A) = m.
Se p < m, ent
ao ha (m p) colunas de A que, junto com as p colunas, formam uma base para Em e
produzem uma matriz B, m m, nao singular. Assim, e possvel formar uma solucao compatvel basica
degenerada com (m p) das vari
aveis basicas iguais a zero.
Se p = m a soluc
ao compatvel basica e automaticamente uma solucao compatvel basica nao degenerada.
Resta examinar o caso p > m quando o conjunto dos vetores aj passa a ser L.D.
Nessas condic
oes e possvel reduzir passo a passo o n
umero de variaveis positivas ate que as colunas
associadas `as vari
aveis positivas sejam L.I., ou seja, ate que se tenha m colunas.
Quando os aj (j = 1, . . . , p) sao L.D., existe j nao todos nulos, tal que
p
j aj = 0
(6.68)
j=1
Usando a equac
ao (6.68) e possvel reduzir algum xr na solucao compatvel denida em (6.66) a zero.
Usando (6.68), qualquer vetor ar para o qual r = 0 pode ser expresso em termos dos p 1 vetores
restantes. Assim
ar =
p1
j=1
j = r
j
aj
r
(6.69)
p1
j=1
j = r
)
j
xj xr
aj = b
r
(6.70)
ou
p1
x
j .aj = b
(6.71)
j=1
j = r
Em (6.71) temos uma soluc
ao com p-1 variaveis nao-nulas. Entretanto, nao ha certeza de que todas as
novas variaveis x
j sejam nao-negativas. Para que a solucao satisfaca plenamente (6.66), ou seja, para que
j sejam maiores do que zero, ou seja, compatveis, a escolha da variavel a ser eliminada
as novas vari
aveis x
nao pode ser arbitraria.
O que se deseja e que
x
j = xj xr
j
0 (j = 1, . . . , p) j = r
r
(6.72)
74
xj
j
xr
r
0 se
j > 0
xj
j
xr
r
0 se
j < 0
(6.73)
As equac
oes (6.73) podem ser interpretadas como: jj deve estar entre o menor valor positivo e o maior
valor negativo entre todos o xrr .
Desse modo, as equac
oes (6.73) serao satisfeitas se
{ }
xj
xr
= min
,
j > 0
(6.74)
j
r
j
x
ou seja, a vari
avel a ser eliminada deve ser a variavel xr que corresponde ao menor valor de jj com
r > 0.
Deve haver sempre algum valor positivo de j . Se todos forem negativos a equacao (6.68) deve ser
multiplicada por 1.
Esse procedimento deve ser repetido ate que as colunas correspondentes `as variaveis positivas sejam L.I.
quando entao chega-se a soluc
ao compatvel basica com m variaveis.
6.1.3.4
Algumas defini
c
oes e nota
c
oes
Conforme visto no item 6.1.2.1, as restricoes de um problema de PL sao agora escritas como um conjunto
de m equacoes lineares e n incognitas
Ax = b
(6.75)
bi yij = Byj
(6.76)
i=1
ou
yj = B1 aj
(6.77)
(6.78)
Correspondendo a cada xb , pode-se obter um vetor cb com m componentes contendo os valores correspondentes `as vari
aveis basicas.
Os componentes de cb , ou seja, os cbi correspondem `a variavel basica xbi . Se a17 estiver na coluna 2 de
B, entao cb2 = c17 .
Para qualquer soluc
ao basica xb , o valor da funcao objetivo z e dado por
z = ctb xb
(6.79)
Uma equac
ao similar `a equac
ao (6.79) pode ser denida como
zj = ctb yj
(6.80)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
75
Formula
c
ao do m
etodo Simplex
O metodo Simplex pressupoe que uma solucao compatvel basica xb e conhecida para o sistema (6.75).
A obtencao de uma solucao basica inicial sera discutida mais adiante.
Para se obter a soluc
ao basica xb , uma matriz B foi formada com m colunas LI de A.
xb = B1 b
(6.81)
z = ctb xb
(6.82)
yj = B1 aj
(6.83)
zj = ctb yj
xbi bi = b
(6.84)
i=1
yij bi
(6.85)
i=1
Entao, um dado aj , pode substituir um dado br para o que yrj = 0 e o novo conjunto fornecera uma
nova base.
De (6.85) pode-se escrever:
br =
1
aj
yrj
i=1
i = r
yij
bi
yrj
(6.86)
76
m
i=1
i = r
)
(
yij
xbr
xbi xbr
bi +
aj = b
yir
yrj
A nova soluc
ao basica deve ser compatvel portanto,
{
yij
x
bi = xbi yir
xbr 0; i = r
xbr
x
br = yrj 0
(6.87)
(6.88)
Nao e possvel remover qualquer coluna br de B com yrj = 0 e esperar que as condicoes (6.88) sejam
satisfeitas.
br 0.
Inicialmente, pode-se observar que sendo xbr 0 deve-se ter yrj > 0 para que a nova variavel x
Se aj tem pelo menos um yij > 0, e possvel remover uma coluna br de B e substitu-la por aj e com a
nova base obter uma soluc
ao basica compatvel.
Se yrj > 0 e os demais yij 0 (i = r) em (6.88) entao, a nova solucao basica e automaticamente
compatvel.
Quando houver houver mais de um yij > 0, a seguinte condicao deve ser satisfeita para todo yij > 0 para
que a nova soluc
ao basica seja compatvel
xbi
xbr
0
yij
yrj
(6.89)
Essa condic
ao corresponde `a primeira das condicoes (6.88) quando se divide a expressao pelo valor positivo
yij .
Se escolhermos a coluna br a ser removida usando a condicao dada a seguir
(
)
xbr
xbi
= min
, yij > 0 = r .
i
yrj
yij
(6.90)
ctb xb
cbi xbi
(6.91)
i=1
(
cbi
i=1
i = r
yij
xbi xbr
yrj
)
+
xbr
cj
yrj
(6.92)
tb
c
b =
x
cbi x
bi
i=1
(6.93)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
77
(
)
yrj
cbr xbr xbr
=0
yrj
(6.94)
(
)
yij
xbr
z =
cbi xbi xbr
+
cj
y
yrj
rj
i=1
(6.95)
ou
m
xbr
z =
cbi xbi
yrj
i=1
)
cbi yij - cj
(6.96)
i=1
ou ainda
z = z +
xbr
(cj zj )
yrj
(6.97)
(6.98)
Se o problema de PL for de maximizar z entao z deve ser maior que z para se ter uma nova solucao
basica melhorada, ou seja, r (cj zj ) > 0. Como r 0 entao e suciente que
cj zj
(6.99)
(6.100)
Para que a escolha nao dependa tambem da coluna br a ser retirada, e possvel usar simplicadamente
a expressao (6.99) no lugar de (6.100) para denir qual coluna aj deve entrar na base, ou seja, aquele que
fornecer o maior valor de cj zj .
Caso todos os cj zj sejam negativos e de se esperar que a solucao otima tenha sido encontrada pois nao
sera mais possvel aumentar o valor de z. Essa suspeita sera demonstrada no item 6.1.3.7.
Exemplo:
max 3x1 + 2x2 + x
3
[
] x1 {
}
3 2 2
8
x
s.t.
=
3 4 1 2
7
x3
ou seja
3
2
c=
1
[
]
3 2 2
A=
3 4 1
e
{
b=
8
7
78
3
1
e
y1 = B1 a1 =
1
1/2
o vetor cB e formado com os valores do vetor c correspondentes `as colunas 3 e 2 que formaram a matriz B.
Assim
{
}
1
cb =
2
Au
nica coluna fora da base e a1 , logo,
z = ctb xb = 5
z1 = ctb y1 = 2
e
c1 y1 = 1
Como c1 z1 0 e possvel ainda melhorar o valor de z com uma nova solucao basica.
Determinac
ao da coluna a ser removida da base:
(
)
xbi
xbr
= min
, yi1 > 0
yr1
yij
ou
xbr
= min
yr1
xb1
3 xb2
1
= ;
=
1/
y11
1 y21
2
)
=2
o que signica que a coluna 2 em B e que deve ser substituda pela coluna 1 de A fornecendo a nova
matriz base B.
[
[
]
]
3 3
= 2 3
1 = 1
B
e
B
1 3
2
3 1
{
}
1
1 b =
b = B
x
2
{
}
1
cb =
(6.101)
3
e
tb x
b = 7 > z = 5
z = c
A nova soluc
ao basica com z > z.
(6.102)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
6.1.3.6
79
Solu
c
oes ilimitadas
A Figura 6.2(a) do item 6.1.1 mostra que e possvel se ter uma solucao ilimitada para um problema da PL.
O algoritmo Simplex e capaz de indicar quando o problema tem solucao ilimitada.
Seja uma coluna aj fora da base para a qual todo yij < 0, i = 1, . . . , m.
Seja a soluc
ao basica
m
xbi bi = b
(6.103)
i=1
e o valor da func
ao objetivo correspondente
z = ctb xb
(6.104)
xbi bi aj + aj = b
(6.105)
i=1
mas
aj =
yij bi
(6.106)
m=1
(xbi yij ) bi + aj = b
(6.107)
i=1
ci x
i =
(6.108)
i=1
ou
z = z + (cj zj )
(6.109)
cj zj > 0
ou
cj zj < 0
(6.110)
Condi
c
oes de otimiza
c
ao
(6.111)
80
z = ct x
max
s.t
Ax = b
x0
(6.112)
O valor da func
ao objetivo para a solucao compatvel basica sera
zo = ctb xb
(6.113)
Alem disso, seja cj zj 0 para toda coluna aj de A nao pertencente `a matriz B da base.
possvel mostrar ent
E
ao que z0 e o valor maximo da funcao objetivo z.
Seja uma soluc
ao compatvel do problema (6.112) dada por
xj 0;
j = 1, . . . , n;
x1 a1 + + xn an = b
(6.114)
(6.115)
Qualquer vetor aj pertencente `a matriz A pode ser escrito como uma combinacao linear dos vetores da
base B.
aj =
yij bi
(6.116)
i=1
yi1 bi + + xn
i=1
yin bi =b
(6.117)
i=1
Ou, reagrupando:
xj y1j b1 + +
xj ymj bm = b
j=1
(6.118)
j=1
(6.119)
xj yij ;
i = 1, . . . , m
(6.120)
j=1
Por hipotese, zj cj para toda coluna de A nao pertencente `a base. Para as colunas de A pertencentes
`a base pode-se armar que
yj = B1 aj = B1 Bei = ei
(6.121)
(6.122)
(6.123)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
81
e, devido `a hipotese inicial de que zj cj para as colunas fora da base B, verica-se que a hipotese e
verdadeira para todas as colunas de A, as que pertencem e as que nao pertencem `a base B.
Consequentemente, se zj cj ; para todo j, e possvel armar que, se zj substituir cj em (6.115), entao
z1 x1 + + zn xn z
(6.124)
cbi yij
(6.125)
i=1
n
n
xj y1j cb1 + +
xj ymj cbm z
j=1
(6.126)
j=1
e usando (6.120)
xb1 cb1 + + xbm cbm z
(6.127)
Observe agora que o somatorio do lado esquerdo da expressao (6.127) e igual a z0 conforme denido em
(6.113), logo,
zo z
Isto prova que z0 e, pelo menos, tao grande quanto z* que corresponde ao valor da funcao objetivo para
qualquer outra soluc
ao compatvel do problema (6.112) e por isso, uma vez obtida, a solucao compatvel
basica xb com cj zj 0 para todas as colunas aj fora da base, essa solucao e a que maximiza z.
6.1.3.8
Alternativa
otima
i 0,
i xbi ,
i = 1, . . . , k,
i=1
i = 1;
(6.128)
i=1
i xbi =
i=1
i Axbi =
i=1
i b = b
(6.129)
i=1
e portanto x denindo em (6.128) e tambem uma solucao compatvel, mas nao necessariamente basica.
Se,
zo = max z = ct xbi ; i = 1, . . . , k
(6.130)
o valor da func
ao objetivo para x e
ct x = ct
i xbi =
i=1
i=1
i ct xbi =
i=1
i zo = zo
(6.131)
82
x2
x=m1xb1+m2xb2
a1x=b1
xb1
x
xb2
a2x=b2
a3x=b3
6.1.3.9
Nesse item sera mostrado que toda solucao compatvel basica e um ponto extremo do conjunto convexo
de solucoes compatveis, e que todo ponto extremo e uma solucao compatvel basica para o conjunto de
restricoes.
Seja a soluc
ao compatvel basica, xb , m 1
xb = B1 b
(6.132)
e o vetor x
{
x=
xb
0
}
;
Ax = b;
(6.133)
onde x e n 1, A, m n e b, m 1.
Para demonstrar que x e um ponto extremo deve-se mostrar que nao existem duas solucoes compatveis
diferentes, x1 e x2 , tal que
x = x1 + (1 )x2 ;
Admitindo-se que existam essas soluc
oes compatveis
{
}
u1
x1 =
e
v1
0<<1
{
x2 =
u2
v2
(6.134)
(6.135)
(6.136)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
83
(6.137)
Ax2 = Bu2 = b
(6.138)
(6.139)
Os argumentos acima mostram que nao existem solucoes compatveis diferentes de x de tal modo que
(6.134) seja satisfeita.
Consequentemente, x e um ponto extremo, isto e, qualquer solucao compatvel basica e um ponto extremo
do conjunto de soluc
oes compatveis.
Para mostrar que qualquer ponto extremo x = {x1 , . . . , xn } do conjunto de solucoes compatveis e uma
solucao basica, deve-se provar que os vetores associados aos componentes positivos de x sao L.I.
Supondo k componentes de x n
ao nulos
Ax =
xi ai = b;
xi > 0;
i = 1, . . . , k
(6.140)
i=1
Se os vetores colunas ai forem L.D., entao existem k valores i , nao todos nulos, tal que
k
i ai = 0
(6.141)
i=1
xi + i > 0
xi i > 0;
i + 1, . . . , k
(6.142)
(6.143)
Seja um vetor coluna com n componentes diferentes de zero que tenha os i nas k primeiras posicoes
e zero nas demais (n k) componentes, entao, observando (6.143), pode-se escrever
{
x1 = x +
(6.144)
x2 = x
,alem disso, devido a (6.141),
A = 0
(6.145)
logo
{
Ax1 = Ax + A = b
Ax2 = Ax A = b
Segue que x1 e x2 s
ao soluc
oes compatveis diferentes de x , e
(6.146)
1
1
x1 + x2
(6.147)
2
2
Isto contradiz o fato de que x seja um ponto extremo.
Por isso, as colunas de A associadas aos componentes nao-nulos de qualquer ponto extremo do conjunto
convexo de soluc
oes compatveis devem ser L.I. Nao pode haver mais do que m colunas L.I. em A, e por isso
um ponto extremo nao pode ter mais do que m componentes positivas.
Em resumo, toda soluc
ao compatvel basica para Ax = b e um ponto extremo do conjunto convexo de
solucoes compatveis e todo ponto extremo e uma solucao compatvel basica.
x =
84
6.1.3.10
Solu
c
ao compatvel b
asica inicial
O ponto de partida na solucao de problemas de PL pelo Metodo Simplex e uma solucao compatvel basica
inicial xb . Essa soluc
ao inicial corresponde a uma dada matriz basica B formada por m colunas L.I. da
matriz das restric
oes A, sendo m o n
umero de linhas de A ou de restricoes do problema.
Bxb = b
(6.148)
Encontrar uma matriz B com m colunas da A que sejam L.I., nem sempre e um problema trivial.
Conseq
uentemente, tambem nao e uma tarefa simples encontrar uma solucao compatvel basica inicial de
um problema de PL.
Como vimos nos itens anteriores, uma vez encontrada uma solucao compatvel basica inicial, o algoritmo
Simplex pode encontrar, em cada nova iteracao, uma nova solucao compatvel basica que corresponde a um
valor melhorado da func
ao objetivo em relacao ao valor da iteracao anterior e assim sucessivamente.
Em teoria, o processo leva `a soluc
ao do problema de PL como visto anteriormente, ja que, pelo menos,
uma das soluc
oes compatveis basicas e uma solucao possvel do problema de PL.
Um problema de PL para o qual, uma solucao compatvel basica pode ser facilmente encontrada e aquele
que, na formulac
ao original, todas as restricoes sao de desigualdade do tipo menor ou igual. Para esse tipo
de problema, uma vari
avel de folga e adicionada a cada restricao de desigualdade para transforma-la em
restricao de igualdade no problema modicado. Nesse caso a matriz A gerada pode ser escrita como,
A = (R, I)
(6.149)
(6.150)
(6.151)
j = 1, . . . , n
(6.152)
(6.153)
conseq
uentemente, o valor inicial da funcao objetivo z e zero.
Para o tipo de problema mencionado, uma solucao compatvel basica inicial pode ser facilmente encontrada. Todavia, na grande maioria dos casos, nenhuma matriz de identidade quadrada aparecera na matriz
A do problema modicado ao se transformar as restricoes de desigualdade do problema original em restricoes
de igualdade no problema modicado.
Uma maneira de contornar esse problema e atraves do uso de vari
aveis artificiais. Considerando que
ja foi obtida a matriz de restric
oes A do problema modicado via uso de variaveis de folga e de excesso no
problema original, vale,
Ax = b
Com o uso das vari
aveis articiais a expressao (6.154) pode ser reescrita como,
(6.154)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
Axr + Ixa = b;
85
(6.155)
max z = ct x
s.t Ax = b
(6.156)
x0
e o problema modicado com o uso das variaveis articiais dado por,
max z = ct xr M it xa
s.t
Axr + Ixa = b
xr 0; xa 0;
(6.157)
max
z = it xa
s.t
(6.158)
Axr + Ixa = b
xr 0; xa 0;
A solucao compatvel basica inicial desse problema pode ser a mesma solucao compatvel basica inicial
do problema (6.157), ou seja, xb = {0, xa }.
Ao se resolver o problema (6.158), o vetor xa sera nulo e a solucao xr sera uma solucao compatvel basica
tambem para o problema original, mas nao a solucao compatvel basica otima do problema original, uma vez
que as funcoes objetivas dos dois problemas (6.156) e (6.158) sao diferentes. Ela pode, todavia ser adotada
como solucao compatvel basica inicial para o problema original.
Na segunda fase do metodo, o problema original e resolvido usando a solucao otima de (6.158) como
solucao compatvel basica inicial.
Em resumo, as duas fases seriam,
Fase I: resolve-se o problema dado a seguir,
max
z = it xa
xr 0; xa 0;
Fase II: resolve-se o problema original dado a seguir usando como solucao compatvel basica inicial a
solucao otima do problema da fase I.
86
max z = ct x
s.t. Ax = b
x0
6.2
O Problema de Programac
ao Quadr
atica (PQ)
O problema de programac
ao quadratica e denido como,
1 t
x Qx + f t x
2
Nt x = n
At x b
min q (x) =
s.t.
(6.159)
Onde,
x e o vetor das vari
aveis n 1,
Q e uma matriz quadrada n n positiva-denida,
f um vetor n 1,
N uma matriz p n (p restric
oes de igualdade),
A uma matriz m n (m restric
oes de desigualdade),
n um vetor p 1 e
b um vetor m 1.
O problema de PQ se caracteriza, portanto por uma funcao objetivo q(x) quadratica e restricoes lineares.
No problema padrao de PQ existem apenas restricoes de desigualdade lineares e as variaveis sao positivas.
Ele pode entao ser escrito na seguinte forma,
1 t
x Qx + f t x
2
At x b
x0
min q (x) =
s.t.
6.2.1
(6.160)
Eliminac
ao de restrico
es de igualdade
Em geral, qualquer problema de programacao quadratica pode ser colocado na forma padrao eliminando-se
as restricoes de igualdade e transladando-se as variaveis para que elas se tornem positivas. Uma operacao
inversa `a translac
ao permite recuperar o valor inicial das variaveis. Nesse item sera mostrado como e possvel
eliminar as restric
oes de igualdade lineares via inversa generalizada.
Seja a restric
ao de igualdade dada por (com n m):
At mn xn1 = bm1
Sejam e as matrizes,
Anm , Snm
Zn(nm)
Sendo que,
At mn Snm = Imm
At mn Zn(nm) = 0m(nm)
Onde Imm e uma matriz identidade e 0m(nm) uma matriz nula. Nesse caso, diz-se que Snm e a
inversa generalizada `a direita de At mn (ou que a matriz St mn e a inversa generalizada `a esquerda de
Anm ) e que Zn(nm) e a matriz do espaco nulo de At mn .
possvel mostrar que o vetor das variaveis xn1 pode ser escrito como,
E
xn1 = Snm bm1 + Zn(nm) y(nm)1
(6.161)
QUADRATICA
87
(6.162)
Uma tecnica muito utilizada para obter as matrizes Snm e Zn(nm) e a partir da decomposicao QR
ou de Householder da matriz Anm . O algoritmo de fatorizacao QR pode ser encontrado no livro de KlausJ
urgen Bathe [10]. A fatorizac
ao QR-Householder decompoe a matriz Anm em,
[
]
Rmm
Anm = Qnn
0(nm)m nm
[
]
(6.163)
[
]
Rmm
Q1 nm Q2 n(nm) nn
=
0(nm)m nm
logo,
Anm = Q1 nm Rmm
(6.164)
onde Q e uma matriz ortogonal n n (Q Q = I), R e uma matriz triangular superior m m, Q1 e uma
submatriz nm de Q ortogonal, (Q1 t Q1 = I) e Q2 e uma submatriz n(nm) de Q ortogonal, (Q2 t Q2 = I).
Alem disso,
{
}
}
Q1 t {
Q1 Q2
Qt Q =
t
[ Q2t
]
Q1 Q1 Q1 t Q2
(6.165)
=
t
t
[ Q2 Q1] Q2 Q2
I 0
=
0 I
t
Q2 t Q1 = 0(nm)m
(6.166)
Q2 t Q2 = I(nm)(nm)
(6.167)
e que,
Q1 t Q1 = Imm e
Vamos vericar o produto
R1 Q1 t A
(6.168)
A = Q1 R
(6.169)
Como, de (6.164)
Vem,
1
R1 Q1 t A = R
Q1 t Q1 R = R1 R = I
(6.170)
(6.171)
88
(6.172)
(6.173)
At S = St A = R1 Q1 t A = I
(6.174)
Z = Q2
(6.175)
At Z = At Q2 = 0
(6.176)
Pois,
e,
6.2.2
Problemas de Programac
ao Linear Complementar (PLC)
min q (x) =
s.t.
(6.177)
dL (x, y, u)
= 0;
dx
At x b 0;
x 0;
yt (At x b) = 0;
(6.178)
u Qx + Ay = f ;
y 0;
u 0;
ut x = 0;
(6.179)
y 0;
u 0;
(
)
yt At x b = 0;
(6.180)
v0
(6.181)
t0
ut x = 0;
(6.182)
vt y = 0
(6.183)
u
v
{
; z=
x
y
{
; q=
f
b
[
; M=
Q
At
A
0
]
;
E as condic
oes de K-K-T podem ser reescritas de forma compacta, simplesmente como,
(6.184)
QUADRATICA
w = q + Mz
w0;
z0;
89
(6.185)
wt z = 0 ;
(6.186)
O problema denido acima e denominado Problema Linear Complementar (PLC), e ele corresponde `as
condicoes de K-K-T do problema quadratico padrao. Um dos algoritmos mais ecientes para resolver esse
problema e o algoritmo de Lemke.
6.2.3
z
e uma soluc
O conjunto w,
ao do PLC se, e somente se, ele satiszer a equacao basica,
= q + M
w
z
(6.187)
A solucao e viavel se, e somente se, o conjunto satiszer ainda as restricoes de nao-negatividade e ser
estritamente complementar,
0;
w
0;
z
tz
=0
w
(6.188)
(6.189)
w =q+M z
(6.190)
Sendo,
M =
(6.191)
z =
z
z0
}
(6.192)
90
2 1 1 z1
w1 3
w2
0
z2
=
+ 1 2 1
w3
2
1 1 0
z3
(6.193)
O problema aumentado correspondente com o vetor coluna unitario e e a variavel nao-basica z0 , seria,
z1
2 1 1 1
w1 3
z2
w2
0
=
+ 1 2 1 1
(6.194)
z3
w3
2
1 1 0 1
z0
Inicializac
ao
z1 = z2 = z3 = 0
(6.195)
w = q + ez0
(6.196)
Logo,
Determinac
ao do par pivot,
Primeira linha;
Segunda linha;
Terceira linha;
3 + 1z0 = 0 z0 = 3;
0 + 1z0 = 0 z0 = 0;
2 + 1z0 = 0 z0 = 2;
Para que o vetor satisfaca w 0 na primeira iteracao, escolhe-se o maior z0 = 3 e seu par e w1 (primeira
linha). O par pivot e (w1 ,z0 )
Assim, explicitando-se z0 na primeira linha de (6.194), obtem-se:
z1
2 1 1 1
z0 3
z2
3
w2
+ 3 3 0 1
=
z3
5
3 0 1 1
w3
w1
(6.198)
Observe que, com o pivoteamento, o vetor q se tornou positivo e se mantera assim durante os novos
pivoteamentos, o que leva a soluc
oes equivalentes viaveis do PLC aumentado. A solucao, no entanto nao e
uma solucao complementar estrita porque tanto w1 como z1 , que deveriam ser estritamente complementares
na solucao do PLC original, sao nulos. Devemos, portanto, realizar um novo pivoteamento ate encontrar a
solucao viavel estritamente complementar. Para se obter complementaridade estrita, z1 0,
Primeira linha; 3 2z1 = 0 z1 = 3/2
Segunda linha; 3 3z1 = 0 z1 = 1
Terceira linha; 5 3z1 = 0 z1 = 5/3
Para que o vetor satisfaca w 0 a partir da segunda iteracao, escolhe-se o menor z1 positivo, z1 = 1 e
seu par e w2 (segunda linha). O par pivot e (w2 ,z1 )
Assim, explicitando-se z1 na segunda linha de (6.198), obtem-se:
QUADRATICA
w2
2/3 1 1 1/3
z0 1
z2
z1
1
0 1/3
=
+ 1/3 1
z3
w3
2
1
3 1
0
w1
91
(6.200)
Agora o par w2 , z2 e nulo e devemos fazer novo pivoteamento. Para se obter complementaridade estrita,
z2 0,
Primeira linha; 1 1z2 = 0 z2 = 1
Segunda linha; 1 + 1z2 = 0 z2 = 1
Terceira linha; 2 3z2 = 0 z2 = 2/3
Para que o vetor satisfaca w 0, escolhe-se o menor z2 positivo, z2 = 2/3 e seu par e w3 (terceira linha).
O par pivot e (w3 ,z2 )
Assim, explicitando-se z2 na terceira linha de (6.200), obtem-se:
z0 = 1 + 32 w2 1z2 1z3 + 13 w1
z1 = 1 31 w2 + 1z2 + 0z3 + 13 w1
(6.201)
z2 = 32 + 13 w2 13 w3 1z3 + 0w1
Substituindo z2 da terceira da expressao acima na primeira e segunda expressao, chega-se a,
w2
z0 1/3
w3
0
1/3 1/3 1/3
z1
5/3
=
+
z3
w1
(6.202)
Agora o par w3 , z3 e nulo e devemos fazer novo pivoteamento. Para se obter complementaridade estrita,
z3 0,
Primeira linha; 1/3 2/3z3 = 0 z3 = 1/2
Segunda linha; 5/3 1/3z3 = 0 z3 = 5
Terceira linha; 2/3 1/3z3 = 0 z3 = 2
Para que o vetor satisfaca w 0, escolhe-se o menor z3 positivo, z3 = 1/2 e seu par e z0 (primeira linha).
O par pivot e (z3 ,z0 )
Assim, explicitando-se z3 na primeira linha de (6.202), obtem-se:
1 1
1
3
1
z3 = + w2 + w3 z3 + w1
2 2
2
2
2
5
1
1
1
(6.203)
z1 = + 0w2 w3 z3 + w1
3
3
3
3
z2 = 2 + 1 w2 1 w3 1 z3 + 0w1
3 3
3
3
Substituindo z3 da primeira da expressao acima na segunda e terceira expressao, chega-se a,
w2
1/2
1/2 3/2 1/2
z3 1/2
w3
z1
3/2
1/6
=
+ 1/6 1/2 1/2
(6.204)
z0
z2
1/2
1/6 1/2 1/2 1/6
w1
Como z0 voltou ao lado direito da expressao e passa a ser nulo, a solucao alternativa viavel encontrada
para o PLC aumentado e tambem soluc
ao viavel do PLC original e o processo iterativo termina. A solucao
e entao,
w2 = w3 = z0 = w1 = 0
e,
(6.205)
92
1
3
1
; z1 = ; z2 =
2
2
2
Formando os pares estritamente complementares,
z3 =
z1 > 0;
z2 > 0;
z3 > 0;
w1 = 0
w2 = 0
w3 = 0
(6.206)
(6.207)
Captulo 7
min f (x)
s.t. hk (x) = 0,
k = 1...m
(7.1)
c
(x)
0,
l
=
1
.
.
.
p
xl i xi xu i , i = 1 . . . n
onde x e o vetor das vari
aveis de projeto, f (x) a funcao objetivo a ser minimizada, hk (x) as restricoes
de igualdade, cl (x) as restric
oes de desigualdade, e xl i e xu i , respectivamente, os limites inferior e superior
da variavel xi que denem as restric
oes laterais.
O problema geral de OCR e resolvido de forma iterativa. Em cada iteracao, um subproblema s e
gerado com o resultado da iterac
ao anterior, doravante denominado x0 , e um novo incremento x para o
vetor das vari
aveis e obtido a partir da solucao do subproblema. Os subproblemas gerados sao do tipo dos
problemas apresentados no Captulo 6 (PL e PLC).
Uma vez obtida a soluc
ao do subproblema, o vetor das variaveis x e atualizado com a determinacao do
passo por meio de uma busca unidimensional, ou seja:
x = x0 + x e
x = d
(7.2)
7.1
M
etodo de Programac
ao Linear Seq
uencial (PLS)
Seja x0 a soluc
ao do subproblema de uma dada iteracao do Metodo PLS. A partir dessa solucao, tanto a
funcao objetivo como as restric
oes sao aproximadas via expansao em series de Taylor truncadas nos termos de
primeira ordem. O subproblema gerado usando as aproximacoes lineares da funcao objetivo e das restricoes
93
94
NAO-LINEAR
e um subproblema de Programac
ao Linear e pode ser resolvido, por exemplo, usando-se o algoritmo Simplex.
As variaveis sao ent
ao atualizadas como indicado na Equacao 7.2.
As aproximac
oes lineares fornecem:
min
s.t.
(7.3)
O vetor s representa as incognitas do problema de PL acima. A Figura 7.1 representa gracamente como
a solucao aproximada do subproblema de duas variaveis e obtida usando-se as aproximacoes lineares a partir
de x0 .
x2
x0
c1(x)=0
Ponto timo
verdadeiro
Aproximao
linear para
c2(x0)=0
c2(x)=0
x1
Aproximao
do ponto timo
Figura 7.1: Problema Linearizado.
7.2. METODO
DOS CENTROS
95
x2
Limites
ao movimento
x0
Ponto timo
verdadeiro
Aproximao
linear para
c1(x0)=0
x1
Figura 7.2: Exemplo de Problema Subrestringido.
7.2
M
etodo dos Centros
O metodo dos centros foi idealizado como uma alternativa para o metodo PLS que fornece solucoes viaveis
em cada subproblema. Obter soluc
oes viaveis em cada iteracao pode ser desejavel quando se esta resolvendo
problemas reais de engenharia, pois, mesmo que a solucao otima nao tenha sido atingida, a solucao obtida
em cada iterac
ao pode ser usada uma vez que ela e viavel e de custo inferior ao da solucao inicial.
A ideia basica do Metodo dos Centros e que a solucao s do subproblema leve o vetor x, solucao atualizada
do problema original, a partir da soluc
ao inicial x0 :
x = x0 + s
(7.4)
ao centro da hiperesfera de maior raio inscrita no hiperpoliedro gerado pelas funcoes objetivo e restricoes
linearizadas. A Figura 7.3, para um problema com duas variaveis, ajuda a esclarecer o texto.
Devido `a propriedade descrita acima, o Metodo dos Centros e tambem conhecido como Metodo das
Hiperesferas Inscritas. O metodo e recomendado quando o problema tem apenas restricoes de desigualdade.
NAO-LINEAR
96
x2
Linearizao
de f(x0)
f(x0)
x0
df
Linearizao c (x)
i
de ck(x)=0
dhi A
dhk
dx
dhj
Linearizao
de cj(x)=0
ck(x)
cj(x)
Linearizao
de ci(x)=0
x1
Para se obter o ponto x, centro da maior hiperesfera que cabe no espaco viavel linearizado, um subproblema adequado deve ser formulado. Inicialmente, calculam-se as distancias df e dhl do centro da referida
hiperesfera `a func
ao objetivo e `as restric
oes cl (x) linearizados, respectivamente.
Observando-se a Figura 7.3 pode-se vericar que:
t
df =
[f (x0 )]
s
f (x0 )
(7.5)
dhl =
[cl (x)]
(x s)
cl (x0 )
(7.6)
Por outro lado, observando-se que o vetor s e o passo dado de x0 ate x no contorno que corresponde `a
restricao linearizada cl (x) = 0, pode-se escrever:
t
(7.7)
ou:
t
(7.8)
cl (x) = cl (x0 )
(7.9)
devido `a aproximac
ao linear, tem-se:
t
dhl =
(7.10)
Seja agora r o raio da maior hiperesfera inscrita no espaco viavel linearizado. Como as distancias dos
contornos linearizados ao centro da hiperesfera nao podem ser maiores do que o raio, deve-se ter:
7.3. METODO
DAS DIREC
OES
VIAVEIS
97
r dhl
r df
l = 1...p
(7.11)
usando-se as expressoes 7.5 e 7.6 pode-se formular agora o subproblema do metodo dos Centros, apos
simples manipulac
oes algebricas, como:
max
r
t
s.t.
[f (x0 )] s + f (x0 ) r 0
(7.12)
O subproblema acima e um problema de PL e pode ser resolvido pelo Metodo Simplex. A solucao do
subproblema fornece r e s. O vetor s e utilizado para se obter a solucao nal da iteracao por meio de uma
busca unidimensional, ou seja:
x = x0 + s
(7.13)
As iterac
oes terminam quando o valor de r for menor do que uma dada tolerancia. No caso de problemas
subrestringidos, o Metodo dos Centros sofre das mesmas restricoes que o Metodo de PLS e necessita da
denicao de limites de Movimento para convergir para a solucao.
7.3
M
etodo das Direc
oes Vi
aveis
98
NAO-LINEAR
x2
f(x0)
f(x)=const.
c1(x)
s
c2(x)=0
c1(x)=0
x1
Figura 7.4: Exemplo de Direcoes Viaveis.
A Figura 7.4 auxilia a compreensao das condicoes necessarias para que uma direcao de busca, denida a
partir de um ponto sobre o contorno da regiao viavel, seja viavel e de decrescimo.
Para que a direc
ao de busca s seja uma direcao de decrescimo da funcao objetivo ela deve fazer um angulo
maior do que 90o com o vetor gradiente da funcao objetivo no ponto x0 , tal como ilustrado na Figura 7.4.
Isso signica que o produto interno entre f (x0 ) e s deve ser negativo, ou seja:
t
[f (x0 )] s < 0
(7.14)
(7.15)
t
min
[f (x0 )] s
(7.16)
t
onde e simplesmente uma constante nao-negativa que assegura que o co-seno do angulo entre cl (x0 ) e
s seja estritamente negativo, ou seja, que o angulo entre esses dois vetores seja maior do 90o . O parametro
e denominado push-o factor. Esse nome traduz a sua funcao na formulacao que e a de empurrar o vetor
da direcao de busca s para fora do plano tangente no contorno que passa pelo ponto x0 .
As condic
oes 7.14 e 7.15 podem ser reunidas em uma u
nica condicao ja que a expressao 7.14 deve ser
negativa:
7.3. METODO
DAS DIREC
OES
VIAVEIS
99
(7.17)
[f (x0 )] s + 0
(7.18)
ou ainda:
t
[cl (x0 )] s + 0
(7.19)
uma vez que = [f (x0 )] s para que seja maximo. Considerando as expressoes acima, o seguinte
subproblema alternativo ao subproblema denido na expressao 7.16, pode ser denido para se encontrar uma
direcao u
til-vi
avel:
max
t
s.t.
[f (x0 )] s + 0
[cl (x0 )] s + l 0 l = 1 . . . p
(7.20)
(7.21)
sendo 0 = 1.0. A expressao 7.21 mostra que l (x) varia de 0.0 a cl (x) = , ou seja, quando x esta a
uma distancia da superfcie do contorno ate l = 1.0, quando cl (x) = 0, ou seja, quando x esta sobre a
superfcie do contorno. A Figura 7.5 esclarece.
100
NAO-LINEAR
x2
s(q=)
s(q1)
f(x)=const.
s(q=0)
c(x)=0
x1
Figura 7.5: Inuencia de l na Direcao de Busca.
Considera-se que a restricao esta ativa quando l (x) estiver entre 0.0 e 0 .
possvel limitar as compoQuanto `a limitac
ao do modulo de s, varias estrategias podem ser usadas. E
nentes do vetor s da seguinte forma:
1 si ,
i = 1...n
(7.22)
O uso da expressao 7.22 para limitar o modulo de s tem a vantagem de transformar o subproblema
(7.20) em um problema de PL, o que nao aconteceria se o modulo de s, propriamente dito, fosse utilizado
na expressao de limitac
ao do modulo.
Apesar da vantagem apresentada acima o uso da expressao (7.22) apresenta a desvantagem de forcar a
denicao da melhor direc
ao do vetor s na direcao de um dos vertices do hipercubo de lado 2 e centro em
x0 como apresentado na Figura 7.5. Isso acontece porque o modulo de s e maximo no vertice do hipercubo
quando se usa a expressao (7.22) para limitar o modulo.
Desse modo, a expressao:
st s 1
(7.23)
tem sido utilizada pois ela limita o quadrado do raio da hiperesfera a um valor unitario.
A Figura 7.6 esclarece a diferenca das solucoes obtidas nos dois casos, ou seja, com as expressoes (7.22)
e (7.23).
7.3. METODO
DAS DIREC
OES
VIAVEIS
101
x2
-1 sj 1
ss1
s2
f(x)=const.
s1
c(x)=0
x1
Ao substituir a expressao (7.22) para limitar o modulo do vetor s pela expressao (7.23) o subproblema
(7.20) deixa de ser um problema de PL o que torna a sua solucao mais complexa. Alguns autores sugerem
a conversao do subproblema (7.20) num problema equivalente de PLC por meio do uso das condicoes de
Kuhn-Tucker.
Reescrevendo o subproblema (7.20) numa forma compacta como indicado a seguir, facilita a tarefa de se
obter as condic
oes de Kuhn-Tucker, ou seja:
max
s.t.
pt y
Ay 0
yt y < 1
(7.24)
onde:
x1
x2
..
y=
.
xn
.
..
p=
1
t
[c1 (x0 )]
t
[c2 (x0 )]
..
.
A=
1
2
..
.
(7.25)
p
1
(7.26)
102
NAO-LINEAR
Au
ltima equac
ao em (7.26) e similar `a Equacao 8.24. A u
nica diferenca e que o quadrado do modulo de
s e limitado a 1 2 , onde 2 e um pequeno valor positivo, ao inves de ser limitado a 1.
As condicoes de Kuhn-Tucker do subproblema descrito em (7.24) sao:
p = At + (2 y) ;
A y 0;
0;
t Ay = 0;
yt y 1 0;
0;
(yt y 1) = 0
(7.27)
z = Ay
(7.28)
yt y 1 0;
0
(yt y 1) = 0
(7.29)
(7.30)
e considerando-se:
v = A y = z
(7.31)
c = A p
A At + v = c
z 0;
t
y
y
1 0;
t v = 0;
v 0;
0; 0
(yt y 1) = 0
(7.32)
Observe-se que ao agrupar algumas das expressoes acima, elas formam um problema de PLC:
A At + v = c
0;
v 0;
t v = 0;
(7.33)
que pode ser resolvido pelo algoritmo de Lemke obtendo-se como resposta os vetores e v, sendo
conhecidos a matriz AAt e o vetor c. A partir de e v e possvel recuperar o vetor y usando-se a primeira
das expressoes em (7.29), onde e arbitrariamente xado igual a 1, sem comprometer as restricoes e as
condicoes de Kuhn-Tucker.
y = p At
(7.34)
7.4. METODO
DO GRADIENTE REDUZIDO GENERALIZADO (GRG)
7.3.1
103
Soluc
ao Inicial Vi
avel
7.3.2
Restric
oes de Igualdade
rk hk (x)
min (x) = f (x)
k=1
(7.35)
hk (x) 0; k = 1 . . . l
10 f (x0 )
hk (x0 )
(7.36)
Os rk sao n
umeros grandes, positivos e agem como um fator de penalidade para empurrar x para hk (x) =
0, enquanto se minimiza (x), ja que hk (x) deve ser sempre menor ou igual a zero. (x) e chamado de funcao
pseudo-objetivo.
7.4
M
etodo do Gradiente Reduzido Generalizado (GRG)
O Metodo do Gradiente Reduzido Generalizado e uma extensao de um metodo de gradiente reduzido anterior, que resolvia apenas problemas com restricao de igualdade. Na versao generalizada as restricoes de
desigualdade sao transformadas em restric
oes de igualdade usando o artifcio de se acrescentar uma variavel
de folga para cada restric
ao de desigualdade.
A ideia basica do metodo e encontrar uma direcao de busca que permita, a partir de um ponto viavel,
ou seja, sobre as superfcies que representam as restricoes viaveis, encontrar um novo ponto viavel com valor
da funcao objetivo menor de que o valor anterior.
Devido as nao-linearidades das restric
oes essa direcao pode nao ser encontrada. O que se faz entao e
determinar uma direc
ao que siga de perto as restricoes para um passo pequeno. Como o passo dado
conduz a um ponto que nao satisfaz precisamente as restricoes devido `as nao linearidades, o metodo de
Newton Raphson e usado para se encontrar um novo ponto, a partir da solucao encontrada na primeira
etapa (a qual satisfaz as restric
oes). Como ja mencionado, o problema e modicado com a introduc
ao das
variaveis de folga, ou seja:
104
NAO-LINEAR
min
s.t.
f (x)
cl (x) + xl+n = 0
l = 1...m
hk (x) = 0
k = 1...l
xl i xi xn i
i = 1n
xl+n 0
l = 1m
(7.37)
hk (x) = 0;
(7.39)
i = 1n + m
(7.40)
t
[hk (x)],z
dz +
t
[hk (x)],y
dy
hk (x0 ) = 0;
(7.42)
ou
z
y
{
=
z0
y0
{
+
dz
dy
}
(7.43)
k = 1m + l
(7.44)
(7.45)
onde:
{
k = 1m + l
k = 1m + l
(7.46)
QUADRATICA
7.5. METODO
DE PROGRAMAC
AO
SEQUENCIAL
(PQS)
105
Vale observar que para um vetor arbitrario dz, relativo `as variaveis independentes, uma mudanca correspondente deve ser obtida para dy, vetor das variaveis dependentes, de modo que a expressao (7.45) seja
satisfeita, ou seja, dh(x) = 0. Portanto:
1
dy = [B(x0 )]
A(x0 ) dz
(7.47)
A(x0 ) dz
(7.48)
{
}
t
t
1
df (x0 ) = [f (x0 )],z [f (x0 )],y [B(x0 )]
A(x0 ) dz
(7.49)
ou:
(7.50)
O gradiente reduzido generalizado pode agora ser utilizado para determinar uma direcao de busca para
atualizar as vari
aveis independentes z por meio de uma busca unidimensional, ou seja:
z = z0 + dz
(7.51)
(7.52)
[
]
yi+1 = yi h(zi , yi ) ,y h(z, yi )
(7.53)
ou:
7.5
M
etodo de Programac
ao Quadr
atica Seq
uencial (PQS)
A ideia fundamental do metodo de PQS e aproximar a funcao objetivo por uma funcao quadratica e as
restricoes por func
oes objetivos em torno de xo para formular o seguinte subproblema:
min
s.t.
gj (xo ) + gj (xo )t s 0;
j = 1, ..., m
(7.54)
t
h
(x
)
+
h
(x
)
s
=
0
h = 1, ...,
h o
h o
Como foi feito no metodo do gradiente reduzido generalizado as restricoes de igualdade podem ser eliminadas do subproblema o que resulta num problema padrao de programacao quadratica tendo apenas o passo
das variaveis independentes dz como incognitas.
O novo subproblema de PQ pode ser transformado num problema equivalente de programacao linear
complementar (PLC) que e ent
ao resolvido pelo algoritmo de linha fornecendo o passo a ser dado nas
variaveis independentes dz.
106
NAO-LINEAR
A atualizac
ao das vari
aveis dy pode ser feita como no metodo do gradiente reduzido generalizado via o
metodo de Newton-Raphson.
Uma curiosidade a respeito da aproximacao quadratica usada para representar a funcao objetivo no
subproblema e que a matriz heniana que aparece no u
ltimo termo da funcao e a matriz heniana da funcao
lagrangeana do problema original e nao a matriz heniana da funcao objetivo (f (x).
Esse fato pode ser explicado comparando-se as condicoes de Kuhn-Toucher dos problemas P1 e P2 a
seguir. Nos dois problemas e usada apenas uma restricao de igualdade para efeito de simplicidade.
7.5.1
}
(7.55)
(7.56)
(7.57)
condicoes de Kuhn-Tucher de P1
(7.58)
(7.59)
k
hk + hkt
,x x = 0
(7.60)
7.5.2
(7.61)
(7.62)
(7.63)
(7.64)
(7.65)
ou
ou ainda
QUADRATICA
7.5. METODO
DE PROGRAMAC
AO
SEQUENCIAL
(PQS)
107
a primeira iterac
ao da solucao via Newton-Raphson das equacoes correspondentes `as condicoes de KuhnTucher de P1. Esse fato justica o uso da heniana da funcao lagrangeana de P1 no lugar da heniana da
funcao objetivo na denic
ao do subproblema de PQS.
Uma vez que a determinac
ao de matrizes henianas e muitas vezes de difcil obtencao ou pouco eciente
computacionalmente, recomenda-se usar uma aproximacao via o metodo Quase-Newton BFGS visto no item
3.1.7.
108
NAO-LINEAR
Captulo 8
An
alise de Sensibilidade
8.1
Introduc
ao
A analise de sensibilidade tratada neste captulo se refere a meios contnuos modelados por elementos nitos,
tambem conhecida como analise de sensibilidade discreta.
Matematicamente, a analise de sensibilidade e dada pela derivada:
rj (x)
xi
(8.1)
8.2
8.2.1
M
etodos de An
alise de Sensibilidade
M
etodo das Diferencas Finitas
O Metodo das Diferencas Finitas (MDF) mais simples e o Metodo Frontal. Nele, a Equacao (8.1) e aproximada por:
r
r (x + xi ei ) r(x)
r (x)
=
xi
xi
xi
(8.2)
109
CAPITULO 8. ANALISE
DE SENSIBILIDADE
110
Outra aproximac
ao frequentemente usada e conhecida como Metodo das Diferencas Centrais, ou seja:
r (x)
r
r(x + xi ei ) r(x xi ei )
=
xi
xi
2xi
(8.3)
Em geral, o valor do tamanho do passo xi varia de 104 xi a 102 xi . O tamanho do passo nao deve
ser nem muito alto, para nao produzir erro de truncamento, nem muito baixo, para nao causar erro de
arredondamento.
8.2.2
M
etodo Direto
(8.4)
(8.5)
dc
r
= pi + Z
dxi
xi
(8.6)
ou ainda, sucintamente:
onde:
Z=
c(r, x)
r
pi =
c(r, x)
xi
(8.7)
Observe que cr denota a derivada total do vetor c em relacao `a r, enquanto que xri e a derivada explcita
dc
do vetor r em relac
ao a componente xi do vetor x. A derivada total dx
e a soma da derivada explcita com
i
a parcela implcita.
Derivando-se os dois lados da Equac
ao (8.4) e usando a Equacao (8.6), obtem-se:
pi + Z
r
=0
xi
(8.8)
logo:
Z
r
= pi
xi
(8.9)
Quando a derivada explcita e obtida analiticamente, o metodo direto e chamado de analtico, enquanto
que, quando alguma parcela da derivada explcita e obtida por meio de diferencas nitas, o metodo e
denominado de semi-analtico.
8.2.3
M
etodo Adjunto
Seja a restric
ao de igualdade1 de um problema de otimizacao dada por:
h (r(x), x) = 0
(8.10)
Os algoritmos de programac
ao matematica de primeira e segunda ordens requerem o calculo da derivada:
dh
h
dr
=
+ t
d xi
xi
d xi
1 As
deduc
oes feitas aqui tamb
em se aplicam a restric
oes de desigualdade.
(8.11)
ENTRE OS METODOS
8.3. COMPARAC
AO
DE ANALISE
DE SENSIBILIDADE
111
dc
dxi
}|
dh
dxi
}|
z(
z
{
){
dh
h
d
r
d
r
=
+ t
+t p + Z
d xi
xi
d xi
d xi
(8.13)
(8.14)
A segunda parcela do lado direito da Equacao (8.14) pode ser eliminada fazendo-se:
Zt =
(8.15)
A Equac
ao (8.15) permite a obtenc
ao de , o que possibilita calcular nalmente:
h
dh
=
+ t p
d xi
xi
(8.16)
O Metodo Adjunto tambem pode ser analtico ou semi-analtico, dependendo de como as derivadas
explcitas sao obtidas na Equac
ao (8.16).
8.3
Comparac
ao entre os M
etodos de An
alise de Sensibilidade
A primeira observac
ao a ser feita aqui e que tanto o Metodo das Diferencas Finitas quando o Metodo Direto
fornecem:
dr
d xi
enquanto que o Metodo Adjunto permite obter:
dh
d xi
Na verdade, o que se procura e obter ddxhi pois os algoritmos de programacao matematica de primeira
ordem precisam desta grandeza durante suas iteracoes no processo de otimizacao. No entanto, como visto
anteriormente:
h
dr
dh
=
+ t
d xi
xi
d xi
(8.17)
onde tanto xhi quanto sao, em geral, facilmente obtidos. Desse modo e possvel usar ddxri , calculado
h
sem grandes esforcos.
pelos dois primeiros metodos citados acima, para se obter x
i
O Metodo das Diferencas Finitas tem a vantagem da sua simplicidade conceitual e de poder ser aplicado
a qualquer tipo de problema. Todavia, ele e computacionalmente pouco eciente, principalmente quando
CAPITULO 8. ANALISE
DE SENSIBILIDADE
112
a avaliacao da resposta da estrutura exige muito esforco computacional, como e o caso em estruturas com
comportamento nao linear e/ou com muitos graus de liberdade. Vale salientar que, no Metodo das Diferencas
Finitas, uma nova analise da estrutura deve ser feita para se obter a analise de sensibilidade em relacao a cada
variavel de projeto ou a cada parametro. O Metodo Direto e computacionalmente eciente, especialmente
o analtico. O esforco computacional deste metodo nao cresce na mesma proporcao do n
umero de variaveis
(ou parametros) para os quais a analise de sensibilidade deve ser feita, como acontece com o Metodo das
Diferencas Finitas.
O Metodo Adjunto e apropriado para problemas onde ha poucas restricoes e muitas variaveis de projeto,
ao contrario do Metodo Direto. Isto se deve ao fato do vetor so depender do n
umero de equacoes de
estado, e nao do n
umero de vari
aveis, e tambem das derivadas explcitas (vide Equacao 8.14) serem de facil
obtencao para cada nova vari
avel.
8.4
8.4.1
Aplicac
ao dos M
etodos de An
alise de Sensibilidade
An
alise Linear El
astica
(8.18)
onde: K representa a matriz de rigidez da estrutura discretizada por elementos nitos, fa e o vetor das
cargas nodais aplicadas e u e o vetor dos deslocamentos nodais.
No MEF as tensoes em cada elemento sao dadas por:
e = C Be u e
(8.19)
M
etodo das Diferen
cas Finitas
Caso a analise de sensibilidade desejada seja a relacionada ao vetor dos deslocamentos nodais u(x) em relacao
`a componente xi do vetor de vari
aveis de projeto, deve-se calcular:
(8.21)
Como mencionado anteriormente, uma nova analise deve ser feita para se obter u(x+ xi ei ), o que implica
em uma nova montagem da matriz de rigidez K(x + xi ei ) e do vetor de forcas nodais fa (x + xi ei ).
Quando se deseja calcular a sensibilidade das tensoes em relacao a xi , deve-se proceder da seguinte forma:
e (x + xi ei ) = C(x + xi ei ) Be (x + xi ei ) ue (x + xi ei )
e, em seguida:
e (x + xi ei ) e (x)
d e
=
d xi
xi
(8.23)
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
113
M
etodo Direto
A expressao da analise de sensibilidade da resposta r no Metodo Direto e dada pela Equacao (8.9), ou seja:
Z
r
= pi
xi
Z=K
(8.24)
pi =
K
xi
fa
xi
Entao:
du
= K1 pi
d xi
(8.25)
M
etodo Adjunto
c
xi
Z=
c
r
e denido na Equac
ao (8.12):
h
r
Caso h seja uma restrica
o que limite a componente j do vetor de deslocamentos nodais, u, a um valor
prescrito uj , ou seja:
=
h (u(x), x) = uj (x) uj 0
e c seja dado conforme a Equac
ao (8.18):
c (u(x), x) = K(x) u(x) fa (x)
CAPITULO 8. ANALISE
DE SENSIBILIDADE
114
Obtem-se:
Z = uc = K
pi = xci = xKi u
= uh = ej
fa
xi
(8.26)
K = ej
8.4.2
dh
d xi
= 0 + t
K
xi
fa
xi
(8.27)
A equacao de estado do problema de vibracoes nao amortecidas e do problema de analise de carga crtica de
uma estrutura discretizada por elementos nitos e dada por:
K M = 0
(8.28)
(8.29)
M
etodo das Diferen
cas Finitas
No Metodo das Diferencas Finitas a equacao de estado do problema deve ser resolvida duas vezes, uma para
a variavel nao perturbada e outra para a perturbada. Para se obter a sensibilidade da resposta em relacao
a uma nova vari
avel, uma nova soluc
ao, com a nova variavel perturbada, torna-se necessaria. Assim:
K(x) M(x) = 0
(x)
=
(8.30)
(x)
e:
K(x + xi ei ) M(x + xi ei ) = 0
(x + xi ei )
=
(8.31)
(x + xi ei )
d
d xi
xi
(x+ xi ei )(x)
xi
d
d xi
xi
(x+ xi ei )(x)
xi
(8.32)
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
8.4.2.2
115
M
etodo Direto
O problema em quest
ao e denido por duas equacoes de estado, (8.28) e (8.29), ou seja:
c1 (, ) = K M = 0
(8.33)
c2 (, ) = 1 t M = 0
Nesse caso, o vetor r e formado por dois tipos de respostas, os autovalores () e os autovetores ().
Desse modo, para se obter Z e preciso proceder como indicado:
d c1
d xi
c1
xi
c2
xi
c1 d
d xi
c2 d
d xi
c1 d
d xi
c2 d
d xi
=0
(8.34)
d c2
d xi
=0
c1
c1
c2
c2
d
d xi
d
d xi
c1
xi
c2
xi
(8.35)
Efetuando-se as derivac
oes na Equac
ao (8.35), por meio das equacoes de estado denidas em (8.33),
chega-se a:
)
(
dK
dM
K M M
d xi
d xi d xi
=
(8.36)
d
t dM
1
t M
0
2 d xi
d xi
Na segunda das Equac
oes (8.36) foi feito uso da simetria da matriz M.
Comparando-se a Equac
ao (8.36) com a expressao geral (Equacao 8.9), e possvel armar que:
K M M
Z=
M
0
dK dM
d xi
d xi
p
=
12 t dd M
xi
(8.37)
K(x+ xi ei )K(x)
dK
d xi
xi ei
(8.38)
d M M(x+ xi ei )M(x)
d xi
xi e i
Como mencionado anteriormente:
w2 =
Logo, derivando-se os dois lados da Equacao (8.38) em relacao `a xi :
(8.39)
CAPITULO 8. ANALISE
DE SENSIBILIDADE
116
2w
com
8.4.2.3
d
d xi
dw
d
=
d xi
d xi
dw
1 d
=
d xi
2 w d xi
(8.40)
M
etodo Adjunto
(8.41)
dh
d xi
}
= e1
(8.42)
8.4.3
Problema de An
alise N
ao Linear Est
atica
A equacao de estado para a analise nao linear de estruturas pode ser escrita como:
f (u, x) = fa (x)
(8.43)
onde f (u, x) e o vetor das forcas internas resistentes nodais geradas pelos deslocamentos u e fa (x) e o
vetor das forcas externas aplicadas.
Em analises nao lineares, o modulo do vetor da resposta em deslocamentos u nao e proporcional a ,
como nas analises lineares. Para se obter a curva |u| e preciso incrementar gradualmente e, para cada
valor de , obter o correspondente vetor u.
A equacao basica do Metodo de Newton-Raphson para a analise de estruturas de comportamento nao
linear pode ser obtida derivando-se a Equacao (8.43) em relacao ao vetor u (ver item XXXX), ou seja:
Kt (u0 , x) u = fa (x) f (u0 , x)
(8.44)
onde u0 s
ao os deslocamentos acumulados ate o pen
ultimo incremento de , Kt (u0 , x) e a matriz de
rigidez tangente, avaliada em u = u0 , e u sao os deslocamentos da u
ltima iteracao do incremento atual.
O vetor u deve ser atualizado da seguinte forma:
u = u0 + u
(8.45)
O processo iterativo termina quando o modulo de u for menor do que uma dada tolerancia numerica.
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
8.4.3.1
117
M
etodo das Diferen
cas Finitas
Para a analise de sensibilidade do vetor de deslocamentos u em relacao a uma dada variavel (ou parametro)
xi , o primeiro passo consiste em realizar uma analise nao linear com valores de e x que forneca u(x). Para
essa analise pode-se usar o Metodo de NewtonRaphson, um Metodo QuaseNewton ou outros que forneca
u(x), ou seja:
f (u, x) = fa (x)
u(x)
(8.46)
Em seguida, uma nova analise nao linear deve ser realizada para um valor de xi perturbado de xi , tal
que forneca u(x + xi ei ), isto e:
f (u, x + xi ei ) = fa (x + xi ei )
u(x + xi ei )
(8.47)
A sensibilidade de u em relac
ao a xi e, entao, dada por:
du
u
u(x + xi ei ) u(x)
=
d xi
xi
xi
8.4.3.2
(8.48)
M
etodo Direto
Reescrevendo-se a equac
ao de estado (8.43) como:
c (u(x), x) = f (u(x), x) fa (x) = 0
(8.49)
pode-se obter as expressoes dadas em (8.7) particularizadas para o problema nao linear, ou seja:
Z=
c
= Kt (u(x), x)
u
(8.50)
e:
f [u(x), x]
fa (x)
c
=
(8.51)
xi
xi
xi
que permitem obter a sensibilidade de u em relacao a xi para o problema em questao, resolvendo-se a
Equacao (8.9) aqui particularizada como:
{
}
du
f [u(x), x]
fa (x)
Kt (u(x), x)
=
(8.52)
d xi
xi
xi
pi =
Se as derivadas explcitas que aparecem no vetor pi forem obtidas analiticamente, diz-se que o Metodo
Direto e Analtico. Se, por outro lado, essas derivadas forem obtidas por diferencas nitas, o Metodo Direto
e denominado de Semi-Analtico.
8.4.3.3
M
etodo Adjunto
Para aplicar o Metodo Adjunto na analise de sensibilidade e necessario obter, alem da matriz Z e do vetor
pi , obtidos no item anterior, o vetor , denido em (8.12), para se obter o vetor adjunto .
Para se obter , conforme a Equac
ao (8.12), e preciso denir uma restricao h. Seja, por exemplo, h uma
restricao em deslocamento do tipo:
h (uj (x), x) = uj uj 0
(8.53)
CAPITULO 8. ANALISE
DE SENSIBILIDADE
118
8.4.4
Para um fator de carga crtica a matriz de rigidez tangente Kt (u(x), x) torna-se singular. Nesse caso,
possvel descobrir qual dos dois
diz-se que a estrutura atingiu um ponto de bifurcacao ou de carga limite. E
casos ocorre ao se diferenciar a Equac
ao (8.43) em relacao a um parametro que cresce monotonicamente,
ou seja:
Kt (u(x), x)
du
d
=
fa (x)
d
d
(8.55)
(8.56)
(8.57)
d
=0
d
(8.58)
Em um ponto limite:
porque a carga atinge um valor maximo. Nesse caso, comparando-se as Equacoes (8.55) e (8.56), e
considerando-se a Equac
ao (8.58), verica-se que o modo de ambagem associado ao ponto limite e igual `a
derivada de u em relac
ao ao parametro .
Em um ponto de bifurcac
ao:
d
= 0
d
(8.59)
vt fa (x) = 0
(8.60)
Logo:
M
etodo das Diferen
cas Finitas
Supondo-se que varias analises nao lineares foram realizadas para valores crescentes de e utilizando-se as
Equacoes (8.56) e (8.57), um ponto limite e identicado, ou seja, Kt e singular e:
vt fa (x) = 0
para um dado valor de . Nesse caso, e o valor de carga limite (x).
No Metodo das Diferencas Finitas, para se obter a sensibilidade de em relacao a xi , o valor de xi e
perturbado de xi e uma nova analise nao linear e realizada ate que um novo ponto limite seja encontrado,
ou seja, ate que (x + xi ei ) seja determinado.
A sensibilidade de em relac
ao a xi e dada entao por:
d
(x + xi ei ) (x)
=
d xi
xi
xi
(8.61)
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
8.4.4.2
119
M
etodo Direto
As equacoes de estado que identicam um ponto limite sao (vide Equacao 8.49, fazendo-se = ):
c [u (x), x] = f (u , x) fa (x)
(8.62)
fa
=0
d xi
d xi
xi
d xi
xi
(8.63)
Pre-multiplicando-se a Equac
ao (8.63) por vt , considerando-se a Equacao (8.56) e explicitando-se dd xi
obtem-se:
(
)
vt fxi xfai
d
=
(8.64)
d xi
vt fa
A partir da Equac
ao (8.62) e possvel obter tambem a matriz Z e o vetor pi , ou seja:
Z=
c [
=
r
c
u
Kt
fa
(8.65)
e
c
pi =
=
xi
f
fa
xi
xi
}
(8.66)
que deveria permitir a analise de sensibilidade das respostas u e em relacao a xi com o uso da
Equacao (8.8), ou seja:
{
} {
}
d u
]
[
f
fa
d
x
i
Kt fa
+
=0
(8.67)
d
xi
xi
d xi
O sistema de Equac
oes (8.67) tem, todavia, mais incognitas do que equacoes, porem, ao se multiplicar a
M
etodo Adjunto
No Metodo Adjunto, como ja visto anteriormente, e necessario obter o vetor , alem da matriz Z e do vetor
pi , para se obter a sensibilidade da restricao h em relacao a xi .
Seja a restric
ao h dada por:
h(u , ) = min
0
(8.68)
CAPITULO 8. ANALISE
DE SENSIBILIDADE
120
dh
= 0 + t p
d xi
(8.69)
com e obtidos, respectivamente, pelas Equacoes (8.12) e (8.15). Para a restricao denida na
Equacao (8.68), tem-se, uma vez que r = r(u , ):
h
u 0
=
=
(8.70)
h
t
(Kt )
0
=
t
1
(fa )
(8.71)
Na Equac
ao (8.71), o vetor multiplica uma matriz Z de dimensao (n + 1) n e o produto e igual a um
vetor de dimensao (n + 1) 1. A dimensao de e, portanto, n 1.
importante observar que, se for dado por:
E
= v
(8.72)
onde v e o autovetor associado ao autovalor nulo de Kt , ele satisfaz `a Equacao (8.71), desde que:
(
)
fat v = 1
ou
1
v
fat
(8.73)
Substituindo-se na Equac
ao (8.69), chega-se a:
h
v t pi
= t
xi
v fa
(8.74)
que, nao por acaso, e a mesma expressao dada em (8.64) para a sensibilidade de em relacao a xi pelo
Metodo Direto, ja que a derivada explcita de h em relacao a xi e nula.
8.4.5
Problemas de Fluxo T
ermico Transiente
A equacao de estado de um problema de uxo termico transiente com o meio discretizado por elementos
nitos e dada por:
= q(t)
KT+CT
(8.75)
O vetor T(t)
pode ser obtido a partir da Equacao (8.76) por derivacao no tempo, ou seja:
1
(T1 T0 )
T(t)
=
t
(8.77)
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
121
A Equacao (8.75) pode ser escrita para um dado instante no intervalo t. Pode-se escolher qualquer
instante normalizado entre t0 e t1 , ou seja:
=
t t0
t
(8.78)
sendo 0 1, logo:
T() = (1 ) T0 + T1
T() =
(8.79)
1
t
(T1 T0 )
O vetor das cargas nodais tambem pode ser interpolado de modo analogo ao vetor T, ou seja:
q = (1 ) q0 + q1
(8.80)
onde q0 e q1 s
ao os vetores das cargas termicas nodais nos instantes t0 e t1 , respectivamente.
Substituindo-se as Equac
oes (8.79) e (8.80) em (8.75) e reagrupando-se os termos, obtem-se:
[C + t K] T1 = [C (1 ) t K] T0 + t [(1 ) q0 + q1 ]
(8.81)
O algoritmo de integrac
ao direta, com = 0 e denominado explcito. Para = 1 o algoritmo e dito
implcito e para = 21 tem-se o algoritmo mais preciso, sendo tambem incondicionalmente estavel, e por
isso e o mais utilizado. O algoritmo para = 12 e conhecido na literatura tecnica como algoritmo de CrankNicholson, Central ou Trapezoidal. Valores de entre 21 e 1 fornecem algoritmos incondicionalmente estaveis
e convergem para qualquer valor de t.
A Equacao (8.81) e a equac
ao de estado do problema de uxo termico transiente entre os instantes t0 e
t1 . Para uma analise ao longo do tempo, ela deve ser resolvida a cada passo, adotando-se T0 como sendo o
valor de T1 do passo anterior.
8.4.5.1
M
etodo das Diferen
cas Finitas
No Metodo das Diferencas Finitas a solucao da Equacao (8.81) deve ser obtida passo a passo (de t em
t), ao longo do tempo para x e para x + xi ei , ou seja, com as matrizes K e C e os vetores q0 e q1
montados com x na primeira analise e x + xi ei na segunda. Na primeira analise obtem-se T(t, x) e na
segunda T(t, x + xi ei ) no instante t. Caso a sensibilidade para uma nova variavel xi seja necessaria, uma
nova analise ao longo do tempo precisa ser feita ate o instante t.
A sensibilidade de T em relac
ao a xi no instante t e dada entao por:
d T
T(tp , x + xi ei ) T(tp , x)
T(tp )
=
(8.82)
d xi t=tp
x
xi
8.4.5.2
M
etodo Direto
A equacao de estado do problema de uxo termico transiente e dada pela expressao (8.81) para uma analise
via algoritmo de integrac
ao direta do tipo denido em (8.79) sendo o vetor resposta r igual ao vetor T
avaliado no instante t1 (ou seja, T1 ):
c (T1 (x), x) = [C + t K] T1 [C (1 ) t K] T0 t [(1 ) q0 + q1 ] = 0
(8.83)
A partir da Equac
ao (8.83) e possvel obter Z e pi , ou seja:
Z=
c
T1
pi =
c
xi
= [C + t K]
[
=
C
xi
+ t xKi
T1
C
xi
(1 ) t xKi
[
T0 t (1 ) qx0i +
q1
xi
(8.84)
CAPITULO 8. ANALISE
DE SENSIBILIDADE
122
d T1
= pi
d xi
(8.85)
Observe que para a analise de sensibilidade no instante tp , tanto a analise passo a passo, propriamente
dita e denida em (8.81), como a analise de sensibilidade denida em (8.85), tambem realizada passo a passo,
devem ser feitas ate o instante tp . Vale salientar que para se fazer a analise de sensibilidade do instante t0
ao instante t1 , tanto T0 quanto T1 , obtidos da analise propriamente dita, sao necessarios porque aparecem
no vetor pi .
As derivadas explcitas de C, K, q0 e q1 em pi podem ser feitas analiticamente ou por diferencas nitas.
8.4.5.3
M
etodo Adjunto
Como ja foi visto anteriormente, no Metodo Adjunto e preciso obter, alem de Z e pi o vetor para se
calcular a sensibilidade da restric
ao h em relacao a xi . Seja a restricao h dada por:
h (T1i ) = T1i T1i 0
(8.86)
onde T1i e a componente i do vetor T1 e T1i e um valor prescrito para esta variavel.
O vetor para o problema em questao vale:
=
h
= ei
T1i
(8.87)
A partir do vetor pode-se obter o vetor por meio da Equacao (8.15), ou seja:
Zt =
8.4.6
Problemas de An
alise Din
amica
A equacao de equilbrio de um problema de analise dinamica para uma estrutura discretizada por elementos
nitos e:
M a + C v + K u = f (t)
(8.88)
)
]
[(
u1 = u0 + t v0 + t2 21 a0 + a1
(8.89)
v1 = v0 + t [(1 ) a0 + a1 ]
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
123
onde, na Equac
ao (8.89), t e o intervalo de tempo entre os instantes inicial (t0 ) e nal (t1 ), ou seja:
t = t1 t0 ,
(8.90)
u 1 = u 0 + t v0 +
v1 = v0 +
t
2
t2
4
(a0 + a1 )
(8.91)
(a0 + a1 )
a1 = 4t2 (u1 u0 ) 4 t v0 a0
(8.92)
v1 =
2
t
(u1 u0 ) v0
(8.93)
]
[
]
[
]
2
4
2
4
4
K+
C+
M u1 =
C+
M u0 + C +
M v0 + M a0 + f 1
t
t2
t
t2
t
(8.94)
A Equac
ao (8.94) e resolvida em cada passo t fornecendo a solucao no instante t1 em funcao da carga
externa no instante t1 e das respostas u0 , v0 e a0 no instante t0 .
8.4.6.1
M
etodo das Diferen
cas Finitas
Para se obter a analise de sensibilidade da resposta em relacao a uma variavel ou parametro no Metodo das
Diferencas Finitas a expressao (8.94) deve ser resolvida duas vezes ate o instante para o qual se deseja obter
a analise de sensibilidade. Na primeira solucao as variaveis ou parametros em relacao aos quais a analise de
sensibilidade sera feita sao considerados com seus valores iniciais. Em seguida, a variavel ou parametro em
questao deve ser perturbada e uma nova analise deve ser realizada ate o instante desejado. Para o caso de
se desejar a sensibilidade do vetor de deslocamentos no instante t = tp deve-se fazer:
d u
u
u(tp , x + xi ei ) u(tp , x)
(8.95)
=
d xi t=tp
xi t=tp
xi
8.4.6.2
M
etodo Direto
A equacao de estado do problema de analise dinamica para uma analise via algoritmo de integracao direta
de Newmark com = 14 e = 12 pode ser escrita com base na Equacao (8.94), onde r = u1 , ou seja:
]
[
]
[
]
[
4
2
4
4
2
C+
M
u
C
+
M
u
C
+
M
v0 M a0 f1 = 0 (8.96)
c (u1 (x)) = K +
1
0
t
t2
t
t2
t
A partir da Equac
ao (8.96) pode-se obter Z e pi conforme a Equacao (8.7) da seguinte forma:
CAPITULO 8. ANALISE
DE SENSIBILIDADE
124
pi
c
r
c
xi
c
u1
[
=
C
xi
[
= K+
K
xi
2
t
2 C
t xi
4 M
t xi
v0
C+
+
4
t2
4
M
t2 x i
M
xi
a0
u1
2 C
t xi
4
M
t2 xi
u0
(8.97)
f1
xi
M
etodo Adjunto
Como ja mencionado, para a analise de sensibilidade pelo Metodo Adjunto uma restricao deve ser denida.
Seja a restricao:
h (u1i ) = u1i u1i 0
(8.98)
onde u1i e u1i sao, respectivamente, a componente i do vetor de respostas u1 num dado instante t = tp
e o valor prescrito para esta componente i de u1i no mesmo instante.
O vetor para este problema e dado por:
=
h
= ei
u1
(8.99)
Refer
encias Bibliogr
aficas
[1] Conn, A. R., Gould, N. I. M. e Toint, P. L., LANCELOT: A Fortran Package for Large-Scale Nonlinear
Optimization (Release A), Spring Series in Computational Mathematics, USA, 1992.
[2] Carrol, C. W., The Created Response Surface Technique for Optimizing Nonlinear Restrained Systems,
Operations Research, 9, 169184, 1961.
[3] Fox, R. L., Optimization Methods for Engineering Design, Addison-Wesley, 1971.
[4] Frisch, K. R., The Logarithmic Potential Method of Convex Programming, University Institute of
Economics (manuscript), Oslo, Norway, 1955.
[5] Lindo Systems Inc., Lingo Manual for Release 5.3, Chicago, 1997.
[6] Murtagh, B. A e Saunders, M, A., Minos 5.5 Users Guide, California: Universidade de Stanford, 1998.
[7] Nocedal, J. e Wright, S. J., Numerical Optimization, Segunda Edicao, Springer, 2006.
[8] Ben-Israel, A. e Greville, T. N. E., Generalized Inverses: Theory and Applications, Segunda Edicao,
Springer, 384 pag., 2003.
[9] Jasbir S. Arora, Introduction to Optimum Design, McGraw-Hill, 1989.
[10] Bathe, Klaus-J
urgen., Finite Element Procedures in Engineering Analysis, Prentice Hall Inc. 1996.
125
126
REFERENCIAS
BIBLIOGRAFICAS
Ap
endice A
Exemplo de An
alise de Sensibilidade
Neste apendice sera apresentada a analise de sensibilidade analtica da matriz de rigidez de um elemento
isoparametrico bilinear de 4 nos para problemas de estado plano em relacao a uma coordenada nodal.
A analise de sensibilidade da matriz de rigidez de um elemento nito e usada na otimizacao de forma
de estruturas modeladas por elementos nitos onde as coordenadas nodais sao as variaveis de projeto do
problema de otimizac
ao.
Um elemento nito e dito isoparametrico quando as mesmas funcoes de interpolacao sao usadas para
interpolar nao apenas grandezas cinematicas ( deslocamentos ), como e usual nos elementos nitos convencionais, mas tambem as grandezas geometricas, no caso coordenadas.
Coordenadas parametricas sao usadas nas funcoes de interpolacao. Assim,
{
4
x (, ) = i=1 Ni (, )xi ;
4
(A.1)
y (, ) = i=1 Ni (, )yi ;
{
4
u (, ) = i=1 Ni (, )ui ;
4
(A.2)
v (, ) = i=1 Ni (, )vi ;
Onde, xi e yi s
ao as coordenadas nodais relativas aos eixos x e y, respectivamente, e ui e vi sao os
deslocamentos nodais relativos aos eixos x e y, respectivamente.
As funcoes de interpolac
ao Ni (, ) sao dadas por:
N1 (, ) =
N2 (, ) =
N3 (, ) =
N4 (, ) =
1
4
1
4
1
4
1
4
(1 )(1 ) ;
(1 + )(1 ) ;
(1 + )(1 + ) ;
(1 )(1 + ) ;
(A.3)
d
d
d
d
[
=
dx
d
dx
d
127
dy
d
dy
d
]{
d
dx
d
dy
}
;
(A.5)
APENDICE
A. EXEMPLO DE ANALISE
DE SENSIBILIDADE
128
Figura A.1: Mapeamento de um ponto P (, ) do espaco parametrico para um ponto P (x, y) espaco cartesiano.
Pode-se denir agora a matriz Jacobiana J(, ) como,
[
J (, ) =
dx
d
dx
d
dy
d
dy
d
(A.6)
dNi (,)
xi
d
dNi (,)
xi
i=1
d
4
i=1
4
dNi (,)
yi
d
dNi (,)
yi
i=1
d
]
;
(A.7)
ou, matricialmente,
[
J (, ) =
N1 (, ),
N1 (, ),
N2 (, ),
N2 (, ),
N3 (, ),
N3 (, ),
N4 (, ),
N4 (, ),
x1
x2
x3
x4
y1
y2
;
y3
y4
(A.8)
(A.9)
Observando-se A.5, pode-se deduzir que a inversa da matriz Jacobiana (, ), dada por,
1
(, ) = J (, )
(A.10)
129
u,x
u,y
v,x
v,y
[
=
(, )22
02x2
02x2
(, )22
u,
u,
v,
v,
(A.11)
ou, sucintamente,
u,c 41 = u (, )44 u,p 41 ;
(A.12)
Onde, u,c e o vetor que contem as derivadas cartesianas das componentes de deslocamentos u e v, u,p
o vetor que contem as derivadas parametricas das componentes de deslocamentos u e v e u a matriz que
transforma derivadas parametricas dos deslocamentos em derivadas cartesianas dos deslocamentos.
As expressoes A.2 permitem escrever:
N1 (, ),
0
N2 (, ),
0
u,
N1 (, ),
0
N
(,
)
0
u,
2
,
=
v
0
N
(,
)
0
N
(,
),
,
1
2
,
v,
0
N1 (, ),
0
N2 (, ),
u1
v1
(A.13)
N3 (, ),
0
N4 (, ),
0
u
N3 (, ),
0
N4 (, ),
0
v2
0
N3 (, ),
0
N4 (, ),
u3
v3
0
N3 (, ),
0
N4 (, ),
u4
v4
ou, sucintamente,
u,p 41 = DNd (, )48 d41
(A.14)
K = Bt CBdv;
(A.15)
(A.16)
(A.17)
(A.18)
(A.19)
APENDICE
A. EXEMPLO DE ANALISE
DE SENSIBILIDADE
130
ou, matricialmente,
1
x
y
= 0
xy
0
0
0
1
0
0
1
u,x
0
u,y
1
v,x
v,y
(A.20)
ou, sucintamente,
= Hu,c
(A.21)
Usando agora A.12 e A.14, a expressao A.21 pode ser reescrita como:
= H u (, ) DNd (, ) d;
(A.22)
(A.23)
K88 = t
B (, )
1
(A.24)
Sendo t a espessura do elemento. A integracao da matriz de rigidez e feita no plano parametrico por
integracao numerica porque, para o elemento isoparametrico, as funcoes em questao estao denidas no plano
parametrico.
A matriz C vale para problemas de estado plano de tensao:
1
0
E
1
0 ;
C=
(A.25)
1 2
1
0 0
2
Para problema de estado plano de deformacao:
C=
E (1 )
(1 + ) (1 2)
(1)
(1)
1
0
0
0
12
2 (1)
(A.26)
ng
B (g i , g i )
(A.27)
i=1
]
t
dBi
C
B
+
B
C
33
i38
i
33
83
dxij 83
dxij 38 det (Ji ) +
}
Ji )
Bti83 C33 Bi38 d(det
w i w i ;
dxij
= t
{
[
ng
dBi t
i=1
(A.28)
131
Onde Bi e Ji sao agora os valores das matrizes B (, ) e J (, ) calculados nos pontos de Gauss gi , gi .
Fazendo k = 2/j, a sensibilidade do determinante da matriz Jacobiana em qualquer ponto , em relacao a
xij pode ser obtida por:
d(det (J(, ))
dxij
}
DNx
(,
)
X
+
m,k
m=1
2,m
{
}
j
4
(1) DNx (, )2,i
m=1 DNx (, )1,m Xm,k ;
k
{
4
(A.29)
(A.30)
sendo que,
du(, )
=
dxij 44
d(,)
dxij 22
022
022
d(,)
dxij 22
(A.31)
A sensibilidade da inversa da matriz Jacobiana, (, ) em relacao `a coordenada xij pode ser obtida a
partir do produto indicado a seguir:
J = I;
(A.32)
(A.33)
d(J)
d(J)
d()
= J1
=
;
dxij
dxij
dxij
(A.34)
A sensibilidade da matriz Jacobiana J (, ) em relacao `a coordenada xij pode ser obtida por:
d (J (, ))
d (X)
= DNx (, )
= DNx (, ) E;
dxij
dxij
(A.35)
sendo que os elementos da matriz E de dimensao 4 2, como a matriz X, serao todos nulos a excecao do
elemento eij da linha i e coluna j que devera ter o valor 1.