Documente Academic
Documente Profesional
Documente Cultură
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 Condicoes de Mnimo no Problema de OSR . . . . . .
2.2.1 Condicao de Primeira Ordem . . . . . . . . . .
2.2.2 Condicao 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 Bissecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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 Condicoes de Mnimo no Problema de OCR . . . . . . . . . . .
4.1.1 Condicoes 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 Condicoes 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 Programacao Linear (PL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Solucoes 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 Formulacao do problema de PL . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.1.3.2 Hipoteses preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1.3.3 Reducao de uma solucao compatvel qualquer para uma solucao compatvel
basica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1.3.4 Algumas definicoes e notacoes . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.3.5 Formulacao do metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.1.3.6 Solucoes ilimitadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.3.7 Condicoes 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 Solucao compatvel basica inicial . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2 O Problema de Programacao Quadratica (PQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.1 Eliminacao de restricoes de igualdade . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.2 Problemas de Programacao 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 Programacao Linear Seq
uencial (PLS) . . . . .
7.2 Metodo dos Centros . . . . . . . . . . . . . . . . . . . . .
7.3 Metodo das Direcoes Viaveis . . . . . . . . . . . . . . . .
7.3.1 Solucao Inicial Viavel . . . . . . . . . . . . . . . .
7.3.2 Restricoes de Igualdade . . . . . . . . . . . . . . .
7.4 Metodo do Gradiente Reduzido Generalizado (GRG) . . .
7.5 Metodo de Programacao 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 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 Comparacao entre os Metodos de Analise de Sensibilidade
8.4 Aplicacao 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 . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
A An
alise de Sensibilidade analtica da matriz de rigidez de um elemento isoparam
etrico
bilinear de 4 n
os para problemas de estado plano em rela
c
ao a uma coordenada nodal 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 funcoes. Ela se ocupa tanto do tratamento teorico do problema quanto do desenvolvimento
de algoritmos para a sua solucao.
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 variaveis, que por sua vez, podem estar sujeitas a restricoes de igualdade
e/ou desigualdade. Restricoes de desigualdade que definem limites inferior e superior para as variaveis sao
chamadas de restricoes 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 classificados 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 variaveis 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 funcao objetivo e quadratica e as restricoes do problema de OCR sao restricoes lineares de
desigualdade e todas as variaveis sao do tipo maior ou igual a zero, o problema e chamado de problema
padrao de Programacao Quadratica (PQ). Esses problemas podem ser escritos na forma equivalente de
problemas de Programacao 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 Programacao Nao Linear (PNL).
Os algoritmos de PNL sao classificados 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 especficos para a sua solucao. Assim, o algoritmo
Simplex tem sido usado para a solucao 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 finitos com comportamento
nao linear; a identificacao 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 confiabilidade.
Devido `a crescente importancia da PM na engenharia, diversos programas comerciais de analise de estruturas por elementos finitos 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 funcao 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 restricoes 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 Otimizacao Sem Restricoes (OSR), quando nenhuma das restricoes esta presente.
2. Problema padrao de Programacao Linear (PL), quando a funcao objetivo e as restricoes sao funcoes
lineares das variaveis 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 Programacao 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 variaveis de projeto.
4. Problema de Programacao Linear Complementar (PLC) que surge da aplicacao das condicoes de otimo
ao problema padrao de Programacao 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 Programacao Matematica e a otimizacao de estruturas.
1.2.1
Treli
ca Plana de Duas Barras
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 flambagem.
Informacoes 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)
Informacoes a serem obtidas (variaveis 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 tensao 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
cos() =
L
+ L2
H2
Na direc
ao vertical deve-se ter:
P = N2 sen()
(1.5)
N2 = P
L
H
H 2 + L2
H
(1.6)
(1.7)
Portanto:
L
P
N1
PL
H
1 =
=
=
2
A1
r1
Hr12
e
P
N2
2 =
=
A2
H 2 + L2
P H 2 + L2
H
=
r22
Hr22
(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 definir 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
g3 (r2 , H) =
10
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 Otimiza
c
ao sem
Restric
oes (OSR)
2.1
S
erie de Taylor
A aproximacao de uma funcao f (x) de uma variavel, em torno de um ponto x0 , por meio da serie de Taylor
e um recurso utilizado em Programacao Matematica, e sera aqui apresentado para facilitar a compreensao
de varias passagens matematicas e demonstracoes ao longo desse captulo.
A serie de Taylor, designada pela funcao s(x), e dada pela seguinte expressao:
1 df (x)
1 d2 f (x)
2
s (x) f (x0 ) +
(x x0 ) +
(x x0 ) +
(2.1)
1! dx x=x0
2! dx2 x=x0
A serie acima foi truncada no termo de segunda ordem (assim denominado por conter a segunda derivada
de f ) e apresenta o seguinte termo generico de ordem n:
1 dn f (x)
n
(x x0 )
(2.2)
n! dxn x=x0
A aproximacao e tanto melhor quanto mais proximo x estiver de x0 e quanto mais termos a serie contiver.
possvel observar as seguintes propriedades da funcao aproximadora s(x) no ponto x0 :
E
1. s (x0 ) = f (x0 )
ds (x)
df (x)
2.
=
dx x=x0
dx x=x0
d2 f (x)
d2 s (x)
=
3.
dx2 x=x0
dx2 x=x0
4. E assim sucessivamente ate o termo de ordem n,
dn s (x)
dn f (x)
=
dxn x=x0
dxn x=x0
A generalizacao da serie de Taylor para o caso de uma funcao de n variaveis, f (x), e dada por:
1
t
t
s (x) f (x0 ) + [g(x)]
(x x0 ) + (x x0 ) H(x)|x=x0 (x x0 ) +
2
x=x0
onde g(x) e o vetor gradiente de f (x), cujos componentes sao obtidos da seguinte forma:
(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 Equacao (2.1), a expansao de primeira ordem para sin(x) em torno do ponto x0 =
por:
s1 (x) = sin (x) sin
+ cos
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)
A Figura 2.1 ilustra as aproximacoes em serie de Taylor de primeira, segunda e terceira ordens, respectivamente, da funcao sin(x).
t
Obter a aproximacao de f (x) = sin(x1 ) sin(x2 ) em torno do ponto x0 = 4 , 4 .
Solucao:
t
O vetor gradiente e a matriz Hessiana de f (x) no ponto x0 = 4 , 4
sao obtidos utilizando-se as
Equacoes (2.4) e (2.5), ou seja:
g(x) =
f (x)
x1
f (x)
x2
1
2
1
2
(2.10)
1 A denomina
c
ao 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
12
1
2
1
2
12
(2.11)
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 aproximacao de segunda ordem para a funcao sin(x1 ) sin(x2 ). Calculando-se os valores da func
ao e de
3 t
3
sua aproximacao no ponto 5 , 10 , que representa uma variacao de 20% de x0 , obtem-se f ( 5 , 10 ) = 0.47553
cao s(x) apresentou uma otima aproximacao de f (x) com um
e s( 5 , 3
10 ) = 0.47533, respectivamente. A fun
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
Condi
c
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 (kx x k ), 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:
t
(2.15)
ou ainda:
t
df (x ) [g(x )] dx
(2.16)
(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 kdxk
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 prefixada, a u
nica possibilidade de se garantir que a Equacao (2.19) seja
satisfeita e:
kg (x )k = 0
(2.20)
g (x ) = 0
(2.21)
ou:
2.2. CONDIC
OES
DE MINIMO NO PROBLEMA DE OSR
2.2.2
17
Condi
c
ao de Segunda Ordem
Se o ponto x for um mnimo, ele devera satisfazer a condicao de primeira ordem, g (x ) = 0 (Eq. 2.21)
e, portanto, a serie de Taylor s(x) em torno de x pode ser reescrita desprezando-se o segundo termo e
truncada no terceiro termo, ou seja:
1
t
s (x) f (x ) + (x x ) H(x ) (x x )
2
Analogamente `as Equacoes (2.15) e (2.16), a Equacao (2.22) pode ser escrita como:
1
t
(x x ) H(x ) (x x )
2
Para que x seja um mnimo local, a Equacao (2.22) deve satisfazer:
df (x )
(2.22)
(2.23)
df (x ) 0
(2.24)
(x x ) H(x ) (x x ) 0
(2.25)
ou:
t
2
2
f (x) = 100 x2 x21 + (1 x1 ) .
t
Mostrar que x = {1, 1} e um ponto de mnimo local desta funcao, e que a matrix Hessiana neste ponto e
positiva definida.
Solucao:
400 x2 x1 2 x1 2 + 2x1
f (x) =
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
satisfazendo-se assim a condicao de mnimo de primeira ordem.
A Hessiana de f (x) avaliada em x e:
802 400
2 f (x ) = H(x ) =
400
200
Sabe-se que uma matriz A e positiva definida se todos os seus autovalores forem positivos, ou seja, se todos
os valores de que satizfazem a equacao
|A I| = 0
forem positivos.
18
SEM RESTRIC
802 400
1 0 802
400
=
= 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 definida.
Outra maneira de se testar se a matriz A e positiva definida envolve o calculo de n determinantes, ou
seja:
A1 = a11
a
a12
A2 = 11
a21 a22
..
.
An =
a11
a21
a31
..
.
a12
a22
a32
a13
a23
a33
a1n
a2n
a3n
an1
an2
an3
ann
802
H2 =
400
400
= 802 200 (400) (400) = 400 > 0
200
t
Entao a matrix H e positiva definida e, portanto, o ponto x = {1, 1} corresponde a um ponto de mnimo
de f (x).
Captulo 3
M
etodos de Otimizac
ao sem
Restric
oes (OSR)
3.1
M
etodos de Busca Unidimensional
(3.1)
k
onde x e um ponto da iteracao k e d e uma direcao de busca. Precisa-se obter o valor , da variavel
, para que se possa avancar para o proximo ponto xk+1 . Vale salientar que a incognita e um escalar
e, portanto, essa tarefa nao e das mais complexas, pois consiste em se buscar o mnimo de uma funcao de
uma variavel f (). Essa tarefa e conhecida na literatura tecnica como busca unidimensional (line search,
em ingles)1 .
Os metodos de busca unidimensional apresentados nesse captulo sao: de Passo Constante ou Incremental;
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 direcao de busca univariante, tambem o mais primitivo da famlia dos
metodos de direcao 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
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 definir 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
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 definem dois novos intervalos, 0 1d e 1e . Qual intervalo deve ser descartado na
proxima iteracao? Para se tomar essa decisao, deve-se calcular f (1d ) e f (1e ); o ponto correspondente
ao maior valor da funcao f define este intervalo a ser descartado e, consequentemente, os novos limites da
busca. Se for 1d , o novo intervalo devera 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 avaliacao 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
a1e
a1e
a1e
a1d
a2e
a2d
a3e
a3d
a2d
a3e
a4e a4d
a2d
a6e a6d
a5d
a3e
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:
= 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)
t
g(xk + dk ) dk = 0
(3.14)
ou entao:
O significado geometrico da Equacao (3.14) e que o valor k de que minimiza f (), e o mesmo que
torna o vetor gradiente g () ortogonal ao vetor dk . Para se obter k numericamente, deve-se incrementar
ate que se obtenha um valor que torne o produto escalar acima nulo, segundo uma tolerancia numerica
pre-estabelecida. A Figura 3.4 ilustra o comportamento do metodo da ortogonalidade.
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 0 (k )
f 00 (k )
k k1
f 0 (k )
f 0 (k1 )
f 0 (k )
o qual e conhecido como algoritmo secante. Pode-se ainda reescrever esse algoritmo da seguinte forma:
k+1 =
3.2
f 0 (k ) k1 f 0 (k1 ) k
f 0 (k ) f 0 (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 Correcao 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,
finalmente, 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 direcao de busca define 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
k = 1, , n
(3.15)
onde ek e um vetor com elementos nulos, exceto na posicao k, onde o elemento vale 1. Esse procedimento
e equivalente a modificar uma variavel de cada vez no processo iterativo, ou seja, apenas a variavel na posicao
k do vetor de variaveis x, e modificada na iteracao k. Para um problema com n variaveis, se, ao final de
n iteracoes, a posicao x nao tiver convergido para a solucao x , entao um novo ciclo de iteracoes deve ser
iniciado com as mesmas direcoes 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 eficiente 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 final de cada ciclo iterativo formado por n
iteracoes. Durante os n primeiros ciclos, uma direcao padrao e incorporada, ao fim 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 direcao 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 final 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 final 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 iteracoes (com as direcoes univariantes ek , k = 1 . . . n), do ponto x0 ate o ponto
xn ;
3. Criar uma direcao 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 (operacoes) 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 funcao quadratica q(x), de n variaveis, e minimizada sequencialmente, uma vez em cada direcao
de um conjunto de n direcoes linearmente independentes (LI) e Qconjugadas (a definicao 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 funcao quadratica dada por:
1 t
x Q x bt x
(3.17)
2
onde Q e uma matriz quadrada, positiva semi-definida 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 funcao 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-definida. Portanto:
DE BUSCA
3.2. METODOS
DE DIREC
AO
27
g (x) = Q x b = 0
(3.18)
Qx=b
(3.19)
ou:
Para se obter a solucao do problema acima por meio da formula de recorrencia, parte-se de:
xk+1 = xk + k dk ,
k = 0, , n 1
(3.20)
i 6= 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)
q(x) dx()
dq [x()]
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 direcao 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 direcoes d e y y sao Qconjugadas. A Figura 3.6 ilustra o processo
iterativo descrito acima ate as posicoes 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 finito de iteracoes, 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 6= j
(3.36)
A prova se dara por contradicao. Supor que existam i , nao todos nulos, que satisfacam `a seguinte
equacao:
0 d0 + 1 d1 + + n1 dn1 = 0
(3.37)
t
Nesse caso, os vetores di sao 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-definida 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
Q x x0
t
(dk ) Q dk
(3.46)
(3.47)
t
(dk ) Q xk x0 = 0
(3.49)
k =
dk
x xk + xk x0
t
(dk ) Q dk
(3.50)
Como:
Q x = b
(3.51)
Q xk = g k + b
(3.52)
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
k
d .
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
dk + dk Q dk = 0
(3.56)
DE BUSCA
3.2. METODOS
DE DIREC
AO
31
= =
t
gk 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)
Para se demonstrar que a direcao definida pela expressao (3.58) e a direcao de maior decrescimo da
funcao f (x), no ponto x, considerar a expansao de f (x) em serie de Taylor de primeira ordem, s1 (x), em
torno do ponto (x + s):
t
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
d Q dk+1 = dk Q gk+1 + k dk = 0
k
k+1
Como as direcoes d e d
(3.62)
gk+1
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:
1
Q= 0
2
0
3
1
5
1
b=
10
2
1
5
Pode-se calcular:
g(x) = f (x) = Q x b =
x1 + 2x3 5,
d0 = g0
t
g0 d0
t
(d0 )
d0
63
= 0.1684
374
t
1 t
g Q d0
t
(d0 ) Q d0
= 0.01678
t
g 1 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
t
Notar que, como f e uma funcao quadratica de tres variaveis, e esperado que:
t
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 funcao qualquer f (x) e nao apenas uma funcao quadratica q(x). Para
tanto, duas alteracoes 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 eficiente 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
k+1 t k+1
g
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:
gk+1
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)
k
Para se entender a expressao da direcao de busca
d no metodo de NewtonRaphson, deve-se, inicialmente, representar a funcao f (x) no ponto xk + dk por uma aproximacao em serie de Taylor de segunda
ordem s2 (x) na vizinhanca do ponto xk , onde gk e Hk sao, respectivamente, o gradiente e a matriz Hessiana
de f (x) avaliados no ponto xk :
t
1 k t k k
s2 xk + dk = f xk + gk dk +
d H d
2
Para se obter o mnimo de s2 , em relacao `a direcao dk , calcula-se:
ds2 xk + dk
=0
ddk
(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 versoes mais utilizadas do metodo Quase-Newton e a que consiste na aproximacao da inversa
da matriz Hessiana. Nessa versao, a direcao de busca e obtida da seguinte forma:
dk = Sk gk
(3.71)
1
onde Sk e uma aproximacao 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 atualizacao 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 funcao 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 aproximacoes para a inversa de Q vao sendo geradas sucessivamente ao final 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 correcao 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:
z1
h t i
..
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 definida e as expressoes de atualizacao 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
h t i2
kx kg Sk kg = ak zk kg
(3.92)
ou, alternativamente:
kg
h t i2
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 correcao de posto um, chega-se a:
Sk+1
ak xk Sk kg kx Sk kg
i
i h
h
= Sk +
t
t
ak (zk ) kg ak (zk ) kg
(3.94)
kx Sk kg kx Sk kg
= Sk +
i2
h
t
ak (zk ) kg
(3.95)
ou:
Sk+1
kx Sk kg kx Sk kg
= Sk +
t
kx Sk kg
kg
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 equacao Quase-Newton. Todavia, a aproximacao da inversa de Q deve satisfazer
a equacao Quase-Newton para valores de i < k, ou seja:
ix = Sk+1 ig ,
i < k
(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 iteracao i o esquema se repete, ou seja:
0
xi+1 = xi i Si gi ,
A obtencao da aproximacao S
i+1
(3.98)
i+1
i = 0, 1,
gi+1
(3.99)
ix = xi+1 xi
(3.100)
ig = gi+1 gi
(3.101)
t
x 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
yi = t
ig
ix Si ig
(3.104)
ou:
onde:
i < k
(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)
t
t
Sk+1 ig = Sk ig + yk kx ig kg Sk ig
(3.107)
onde:
yk =
kx Sk kg
t
kx Sk kg
kg
(3.108)
ix
+y
kx
ig
kg
ix
(3.109)
DE BUSCA
3.2. METODOS
DE DIREC
AO
39
onde:
kx
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)
t
t
kx kx
Sk kg kg Sk
= Sk + t
t
kx kg
kg Sk kg
(3.113)
Da-se o nome de atualizacao de posto dois, pelo fato da matriz que se adiciona a Sk ser de posto dois.
3.2.8.3
t
t
t
t
t
k
k
k
k k
x g + g S g kx kx
Sk kg kx + kx Sk kg
Sk+1 = Sk +
t
2
t
k
k
kx kg
x g
(3.114)
ou ainda,
k+1
= I
kx
kg
kg
kx
+ k kx
kx
(3.115)
onde:
1
k = t
kg kx
(3.116)
O metodo BFGS pode ser implementado de uma forma alternativa muito mais eficiente, conforme indicado
a seguir:
h
t i
t i k h
(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 Equacao (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 eficiente, 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 iteracoes, comecar um novo ciclo com S0 = I.
h
h
t i k+1
t i
t i h
t i h
I + vk wk
g
(3.118)
dk+1 = I + wk vk
I + w 0 v 0 S0 I + v 0 w 0
SEM RESTRIC
CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
40
t i h
t i
I + w 0 v 0 S0 I + v 0 w 0
|h
{z
}
1 t i 1 h
1 t i
1
1
I+w v
S I+v w
|
{z
}
dk+1 =
(3.119)
..
h
i. h
t i
t
I + wk vk
Sk I + v k w k
gk+1
onde:
s
"
#
(dk )t kg
k+1
k
k
k
1+
(kx )t gk g
v =g
wk =
k
x
t
k
x
( )
k
g
Implementa
c
ao do m
etodo Quase-Newton BFGS
Inicializacao e primeira iteracao (k = 0):
1. Escolher x0 e S0 , aproximacao 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 iterac
ao: 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 direcao 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 iterac
ao: xk+2 = xk+1 + k+1 dk+1 .
(3.120)
Captulo 4
Fundamentos de Otimiza
c
ao Com
Restric
oes (OCR)
No problema geral de otimizacao com restricoes, deve-se minimizar uma funcao f (x), com as vari
aveis x
submetidas a restricoes, 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 restricoes laterais limitam o valor da variavel xi ao valor mnimo de xli e ao valor maximo de xui .
4.1
Condic
oes de Mnimo no Problema de OCR
4.1.1
Condi
c
oes 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 =
m
X
k hk
(4.7)
k=1
g =u
m
X
k hk
(4.8)
k=1
onde o vetor u 6= 0 e uma componente do vetor g ortogonal aos vetores hk , ou seja, que nao pertence
ao espaco definido 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
verificar 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)
t
t
s g = u u
k hk = kuk + 0 0
(4.11)
k=1
m
X
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
m
X
k hk (x)
(4.14)
k=1
X
L(x, )
= g(x ) +
k hk (x ) = 0
x
(4.15)
k=1
L(x, )
= hk (x ) = 0,
k
k = 1...m
(4.16)
As Equacoes (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 restricoes 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 .
Serao consideradas apenas as restricoes j ativas1 em x . Para que o passo s seja viavel a partir de x , e
preciso que a restricao cj seja satisfeita em (x + s). Como ela e ativa em x , isso significa que:
st cj 0
(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)
(4.21)
j 0
(4.22)
entao, nao havera nem passos viaveis e nem de decrescimo em x e, consequentemente, esse ponto correspondera a um mnimo local. A prova se dara por contradicao.
1c
j (x )
e dita ativa se cj (x ) = 0.
COM RESTRIC
44
j 6= q
(4.23)
e
st cq = 1
t
(4.24)
cj
(A ) s = eq
(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:
h
i+
t
s = (A )
eq
(4.26)
t
(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:
Verifica-se agora se a direcao viavel s definida na Equacao (4.26) e tambem uma direcao de decrescimo,
levando-se em consideracao as relacoes entre g , cj e j (vide expressoes 4.21 e 4.22), ou seja:
X
(4.30)
st g = st
j cj = q
j
Ve-se, nesse caso, que a direcao viavel s nao e de decrescimo, pois o produto interno entre os vetores
g e s deveria ser negativo para se ter uma direcao de decrescimo, e ele e maior ou igual a zero por ser
igual a q . Portanto, para direcoes estacionarias s, ou seja, aquelas para as quais st g = 0, as condicoes de
Karush-Kuhn-Tucker (KKT) de primeira ordem sao dadas por:
X
l cl ,
l = 1...p
(4.31)
g =
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
m
X
k hk (x) +
p
X
k=1
l cl (x)
l=1
e as condicoes necessarias (condicoes de primeira ordem) de KKT sao dadas pelas seguintes expressoes:
X
X
g =
k hk
l cl ,
k = 1...m ; l = 1...p
l
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
Condi
c
oes de Segunda Ordem
4.1.2.1
l = 1...p
m
X
k hk (x + s)
(4.35)
k=1
L(x , ) = f (x ) +
m
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 funcao 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 restricoes inativas, l = 0, e portanto, elas nao estarao presentes na funcao
Lagrangeana. Como no item anterior, da definicao de funcao Lagrangeana, pode-se escrever para o ponto
(x + s):
L(x + s, ) = f (x + s)
p
X
l cl (x + s)
(4.46)
l=1
p
X
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 e
j 0
(4.52)
(4.53)
p
X
l cl (x + s) = f (x ) +
l=1
1 t
s W s
2
(4.54)
ou:
f (x + s) f (x ) =
p
X
l cl (x + s) +
l=1
1 t
s W s
2
(4.55)
Observe-se que, para as restricoes inativas, as parcelas do somatorio sao nulas, uma vez que l = 0. As
parcelas relativas `as restricoes ativas sao positivas no somatorio. Sendo assim, vale o seguinte raciocnio:
uma parcela positiva (`a esquerda do sinal de igualdade), deve ser igual a soma de uma parcela positiva
(primeira parcela `a direita do sinal de igualdade) com uma outra parcela (segunda parcela `a direita do sinal
de igualdade) que pode ter qualquer sinal, uma vez que se desconhece o valor relativo das duas parcelas
anteriores. Se, todavia, for imposto que:
cj (x + s) = 0
(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)
(4.60)
entao:
st g = st
j cj = 0
(4.61)
E assim, s e uma direcao estacionaria, ou seja, que nao produz decrescimo nem acrescimo na funcao
objetivo f avaliada em x , ja que na expansao em serie de Taylor de f (x) em torno de x , o produto
apresentado na Equacao (4.61) representa a variacao da funcao nesse ponto. Mais ainda, s e uma direcao
viavel e estacionaria.
COM RESTRIC
48
(4.62)
entao, a Hessiana da funcao Lagrangeana deve ser positiva semi-definida em relacao ao vetor s, que
representa direcoes viaveis estacionarias, ou seja:
st W s 0
4.2
(4.63)
Os Multiplicadores de Lagrange
(4.65)
(4.66)
(4.67)
L
=0
entao:
L
dL
=
=
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 solucao:
e, consequentemente:
49
dh(x)
1=0
d
(4.72)
dL
df
=
d
d
(4.73)
df
=
d
(4.74)
e, finalmente, chega-se a:
4.2.1
Exemplo de Aplica
c
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 funcao Lagrangeana (que deve ser uma funcao convexa):
L(x, , ) = f (x) +
m
X
k hk (x) +
k=1
max
s.t.
p
X
l cl (x)
(4.76)
l=1
L(x, , )
L(x,,)
x
k 0,
l 0,
(4.77)
=0
k = 1...m
l = 1...p
COM RESTRIC
50
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
X
L(x , , ) = f (x ) +
k hk (x ) +
k=1
p
X
l cl (x )
(4.78)
l=1
e as condicoes de KKT:
g =
P
k
k hk
P
l
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
(4.80)
m
X
k hk (x ) +
k=1
p
X
l cl (x )
(4.81)
l = 1...p
(4.82)
l=1
Impondo-se as restricoes:
k 0,
k = 1...m
l 0,
(4.83)
k hk (x ) +
k=1
p
X
l cl (x ) 0
(4.84)
l=1
cl (x ) 0
L(x , , ) L(x, , ) + (x x)
Se for imposta a restricao:
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 funcao 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 funcao 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 variaveis 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
s.t.
(4.97)
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, finalmente, a matriz Q, positiva-definida, tem dimensao nn. Introduzindose m multiplicadores associados `as restricoes, pode-se obter a funcao Lagrangeana do problema e seu vetor
gradiente em relacao 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 21 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 12 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 restricoes 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 restricoes dos problemas de OCR sao incorporadas `a funcao objetivo criando-se as
chamadas funcoes 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, dificuldades 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 minimizacao de uma funcao 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 definida, 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 infinito, com k a partir de 1, por exemplo:
rpk = 10k1 , e um valor inicial x = x0 ;
2. Para cada rpk , formar a funcao 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 operacao indicada no item 2 com o valor inicial da iteracao k igual ao valor obtido na
otimizacao da iteracao k 1.
53
CAPITULO 5. METODOS
INDIRETOS EM OCR
54
2
2. h(xk ) e nao crescente.
3. f (xk ) e nao decrescente.
Seja rpk < rpl , entao:
(xk , rpk ) (xl , rpk )
(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
1 k
1
rp h(xk ) f (xk ) + rpl h(xk )
2
2
(5.9)
ou:
2
(rpl rpk ) h(xk ) 0
(5.10)
2
(rpl rpk ) h(xl ) 0
(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 afirmar que, observando-se as duas u
ltimas desigualdades:
n
2
2 o
(rpl rpk )
0
(5.12)
h(xk ) h(xl )
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
1 k
1
rp h(xk ) f (xl ) + rpk h(xl )
2
2
(5.15)
ou ainda:
n
2
1
2 o
h(xl ) h(xk )
f (xl ) f (xk ) + rpk
0
(5.16)
2
Analisando-se a desigualdade acima, pode-se dizer que a segunda parcela entre chaves, {}, e negativa
(vide expressao 5.13). Logo, pode-se afirmar 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)
Definindo-se f como:
onde f e o valor da funcao de objetivo f (x) no ponto x , ponto que minimiza f (x) e atende `a restricao
h(x) = 0. Entao e possvel afirmar que:
(xk , rpk ) (x, rpk ) { x | h(x) = 0 } = f
(5.19)
pois, por definicao, xk e o ponto que minimiza (x, rpk ) e x nao. Logo, em resumo:
(xk , rpk ) f
(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) +
m
X
1
2
rp
[hk (x)]
2
(5.21)
k=1
min f (x)
(5.22)
s.t.
c(x) 0
p
X
1
2
(x, rp ) = f (x) + 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)
f(r1)
f3*
f2*
f1*
x1
x1=b
Cj{cj(x)}={min[0,cj(x)]}
5.2
M
etodo de Barreira
O metodo de penalidade para restricoes de desigualdade e tambem chamado de metodo exterior porque ele
tem a caracterstica de se aproximar da solucao pela regiao nao viavel, ou seja, violando as restricoes. Essa
caracterstica nao e vantajosa porque, se o processo iterativo for interrompido por qualquer razao, como mal
condicionamento numerico, a solucao obtida nao e uma solucao viavel do problema.
No metodo da barreira (ou metodo interior), a convergencia se da do interior da regiao das solucoes
viaveis para o contorno dela. Essa caracterstica torna a solucao em cada iteracao do processo uma solucao
viavel, o que e interessante. O metodo usa a denominacao barreira porque a funcao de barreira se torna
infinita no contorno da regiao viavel. As funcoes de barreira mais usadas por esse metodo sao mostradas a
seguir para restricoes de desigualdade.
Funcao de Barreira Inversa (Carrol, 1961) [2]:
(x, rb ) = f (x) + rb
p
X
[cl (x)]
(5.25)
l=1
p
X
(5.26)
l=1
No caso de funcoes 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 definidos para o metodo
de penalidade. As restricoes de igualdade podem ser introduzidas de forma semelhante a que foi apresentada
no Metodo de Penalidade, ou seja:
5.2. METODO
DE BARREIRA
57
(x, rp , rb ) = f (x) +
p
m
X
X
1
1
2
rp
[hk (x)] + rb
[cl (x)]
2
k=1
l=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 Programacao Linear (PL) e um problema de otimizacao onde a funcao objetivo e as restricoes
sao funcoes lineares de variaveis nao negativas.
O problema de PL com 2 variaveis pode ser resolvido graficamente como exemplificado 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
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 graficamente que o problema de PL pode ter solucoes ilimitadas (Figura 6.2(a)),
nao ter solucao, caso as restricoes sejam incompatveis tornando a regiao viavel inexistente (Figura 6.2(b)), ter
varias solucoes (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) Soluca
o inexistente
direo de
crescimento de f
x2
(a) Soluc
oes 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 oficina, ilustra bem o problema
de PL.
Seja uma oficina 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 producao 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 oficina
seja maximo, como definido na Equacao (6.2).
Considerem-se as restricoes 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 restricoes do tipo xj 0 sao obvias uma vez que a quantidade de produtos deve ser nao negativa.
Pretende-se maximizar o lucro da oficina 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 a 1 + 2 a 2 + + k a k
(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
X
i a i
=1
ou
m1
X
i=1
i a i a m = 0
(6.7)
LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
am =
m1
X
=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 infinito 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=
r
X
i a i
b=
i=1
r1
X
i ai
(6.9)
i=1
ou, subtraindo
r
X
(i i )ai = 0
(6.10)
i=1
i = 1, . . . , r
(6.11)
e portanto a representacao 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=
r
X
i ai
(6.12)
i=1
Se qualquer vetor ai para o qual i 6= 0 for retirado da base e substitudo por b, o novo conjunto e
tambem uma base.
Seja r 6= 0, entao 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
X
i ai + b = 0
(6.13)
i=1
(i + i ) ai + r ar = 0
(6.14)
i=1
r
X
i=1
i ai
(6.15)
64
Ele pode ser representado na nova base a1 , . . . , ar1 , b onde, b e o vetor definido em (6.12).
De (6.12) ar pode ser escrito como:
ar =
r1
i X
1
ai +
b
r i=1
r
(6.16)
x=
r1
X
i=1
r
i
r ai b
r
r
(6.17)
que expressa x como uma combinacao linear de a1 , . . . , ar1 ,b, logo, esse novo conjunto e uma base para
En .
Toda a base para En contem n vetores.
Inicialmente e necessario provar que toda base para En deve ter o mesmo n
umero de vetores. Se as duas
bases para En forem a1 , . . . , au e b1 , . . . , bv , deve-se ter u = v.
Seja a representacao de bv na base a1 , . . . , au .
bv =
u
X
i ai
com
u 6= 0
(6.18)
i=1
bv1 =
u1
X
i ai + bv
(6.19)
i=1
com pelo menos um i 6= 0 pois caso contrario, o conjunto dos vetores bj nao seria L.I.
Seja u1 6= 0, entao 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 Equacoes (6.21) pode ser encontrada com
xb = B1 b
(6.22)
e com todas as n m variaveis nao associadas `as colunas retiradas de A iguais a zero. O vetor xb ,
m 1, e chamado de solucao basica de (6.21) e as m variaveis associadas `as m colunas retiradas de A sao
denominadas de variaveis basicas.
Uma solucao basica e dita degenerada se uma ou mais das variaveis basicas se anula.
6.1.2.5
A notacao
X = { x| P (x)}
(6.23)
(6.24)
Uma hiperesfera em En com centro em a e raio > 0 pode ser definida 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 definida 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 finito tal
que para todo a A, r a.
Em En , a reta que passa por dois pontos x1 e x2 , x1 6= x2 , pode ser definida 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 definido 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 definido por (6.29) e z 6= 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 significa 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 entao de vetor normal ao hiperplano e o vetor definido 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 sao 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 definido 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 6= 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 afirmacao 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)
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 verificar
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 finito de hiperplanos, ou de semi-espacos
ou de ambos, e um conjunto convexo fechado.
Uma combinacao convexa de um n
umero finito de pontos x1 , . . . , xm e definida como
x=
m
X
i xi ,
i 0,
i = 1, . . . , m;
i=1
m
X
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)
3
X
i=1
i xi ;
i 0;
3
X
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 demonstracao desse teorema sera apresentada aqui devido a sua importancia na compreensao do
algoritmo Simplex de programacao linear.
O hiperplano ct x = z sera suposto como hiperplano suporte de x0 para o conjunto convexo fechado
X, limitado inferiormente.
A intersecao 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
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 funcao 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}
ah j 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
X
ah j xj + xr+h = bh
(6.54)
j=1
akj xj bk
(6.55)
j=1
pode-se introduzir uma nova variavel nao-negativa xr+h , denominada variavel de excesso e reescrever a
desigualdade (6.55) como restricao de igualdade,
r
X
ak j xj xr+k = bk
(6.56)
j=1
ahj xj + xr+h = bh ;
h = 1, . . . , u
akj xj xr+k = bk ;
k = u + 1, . . . , v
r
P
j=1
apj xj = bp ;
(6.57)
p = v + 1, . . . , m
(6.58)
72
(6.59)
ou sucintamente,
z=
r+v
X
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 restricoes.
A e a matriz dos coeficientes e Ab a matriz aumentada. Se isto nao for verdadeiro as equac
oes sao
inconsistentes e nao ha solucao 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 solucao 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 equacoes lineares simultaneas a n incognitas (n m)
Ax = b
com
r(A) = m
(6.64)
Entao, se ha uma solucao compatvel, ou seja, que satisfaca (6.64) e x 0, ha tambem uma solucao
compatvel basica xb que satisfaz
Bxb = b
(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
Seja uma solucao compatvel com p n variaveis positivas. Supondo-se que as primeiras p variaveis
sejam positivas, a solucao compatvel pode ser escrita
p
X
xj aj = b
(6.66)
j=1
com
xj > 0
(j = 1, . . . , p)
xj = 0
(j = p + 1, . . . , n)
(6.67)
Os vetores aj sao colunas de A associadas `as variaveis xj , podendo ser L.I. ou L.D.
Para que os vetores aj sejam L.I, entao p m ja que r(A) = m.
Se p < m, entao 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 variaveis basicas iguais a zero.
Se p = m a solucao 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 condicoes e possvel reduzir passo a passo o n
umero de variaveis positivas ate que as colunas
associadas `as variaveis 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
X
j aj = 0
(6.68)
j=1
Usando a equacao (6.68) e possvel reduzir algum xr na solucao compatvel definida em (6.66) a zero.
Usando (6.68), qualquer vetor ar para o qual r 6= 0 pode ser expresso em termos dos p 1 vetores
restantes. Assim
ar =
p1
X
j=1
j 6= r
j
aj
r
(6.69)
j
xj xr
aj = b
r
p1
X
j=1
j 6= r
(6.70)
ou
p1
X
x
j .aj = b
(6.71)
j=1
j 6= r
Em (6.71) temos uma solucao 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 variaveis x
nao pode ser arbitraria.
O que se deseja e que
x
j = xj xr
j
0 (j = 1, . . . , p) j 6= r
r
(6.72)
74
xj
j
xr
r
0 se
j > 0
xj
j
xr
r
0 se
j < 0
(6.73)
As equacoes (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 equacoes (6.73) serao satisfeitas se
xj
xr
= min
,
j > 0
(6.74)
j
r
j
x
ou seja, a variavel 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 solucao compatvel basica com m variaveis.
6.1.3.4
Algumas defini
co
es 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)
m
X
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 variaveis 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 solucao basica xb , o valor da funcao objetivo z e dado por
z = ctb xb
(6.79)
(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 solucao 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
m
X
yij bi
(6.85)
i=1
Entao, um dado aj , pode substituir um dado br para o que yrj 6= 0 e o novo conjunto fornecera uma
nova base.
De (6.85) pode-se escrever:
br =
1
aj
yrj
m
X
i=1
i 6= r
yij
bi
yrj
(6.86)
76
m
X
i=1
i 6= r
xbr
yij
bi +
xbi xbr
aj = b
yir
yrj
(6.87)
(6.88)
Nao e possvel remover qualquer coluna br de B com yrj 6= 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 solucao basica compatvel.
Se yrj > 0 e os demais yij 0 (i 6= 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 solucao basica seja compatvel
xbi
xbr
0
yij
yrj
(6.89)
Essa condicao 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)
m
X
cbi xbi
(6.91)
i=1
m
X
cbi
i=1
i 6= r
yij
xbi xbr
yrj
xbr
cj
yrj
(6.92)
tb
c
b =
x
m
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
X
xbr
z =
cbi xbi
yrj
i=1
m
X
!
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 suficiente que
cj zj
(6.99)
(6.100)
Para que a escolha nao dependa tambem da coluna br a ser retirada, e possvel usar simplificadamente
a expressao (6.99) no lugar de (6.100) para definir 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=
3 2
A=
3 4
2
1
b=
8
7
78
2 2
B=
1 4
1
4 2
1
B =
6 1 2
a solucao basica correspondente e compatvel.
3
1
xb = B1 b =
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.
Determinacao da coluna a ser removida da base:
xbr
xbi
= min
, yi1 > 0
yr1
yij
ou
xbr
= min
yr1
xb1
3 xb2
1
= ;
=
1/
y11
1 y21
2
!
=2
o que significa 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 solucao 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 solucao basica
m
X
xbi bi = b
(6.103)
i=1
(6.104)
xbi bi aj + aj = b
(6.105)
i=1
mas
aj =
m
X
yij bi
(6.106)
m=1
(xbi yij ) bi + aj = b
(6.107)
i=1
Quando > 0, e todo yij < 0 entao (6.107) representa uma solucao compatvel para a qual m+1 variaveis
podem ser diferentes de zero, nao sendo em geral uma solucao basica.
O valor de z para essa solucao seria
z =
ci x
i =
m
X
(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)
(6.113)
Alem disso, seja cj zj 0 para toda coluna aj de A nao pertencente `a matriz B da base.
possvel mostrar entao que z0 e o valor maximo da funcao objetivo z.
E
Seja uma solucao 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 =
m
X
yij bi
(6.116)
i=1
m
X
yi1 bi + + xn
i=1
m
X
yin bi =b
(6.117)
i=1
Ou, reagrupando:
n
n
X
X
xj y1j b1 + +
xj ymj bm = b
j=1
(6.118)
j=1
(6.119)
n
X
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 afirmar 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, verifica-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 afirmar que, se zj substituir cj em (6.115), entao
z1 x1 + + zn xn z
(6.124)
m
X
cbi yij
(6.125)
i=1
n
n
X
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 definido 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 solucao 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
k
X
i xbi ,
i 0,
k
X
i = 1, . . . , k,
i=1
i = 1;
(6.128)
i=1
k
X
i xbi =
i=1
k
X
i Axbi =
i=1
k
X
i b = b
(6.129)
i=1
e portanto x definindo em (6.128) e tambem uma solucao compatvel, mas nao necessariamente basica.
Se,
zo = max z = ct xbi ; i = 1, . . . , k
(6.130)
k
X
i xbi =
i=1
k
X
i=1
i ct xbi =
k
X
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 solucao 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 solucoes compatveis
u1
x1 =
e
v1
0<<1
x2 =
u2
v2
(6.134)
xb
u1
u2
=
+ (1 )
0
v1
v1
(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 solucoes 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 nao nulos
Ax =
k
X
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
X
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 sao solucoes 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 solucoes 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 solucao 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 solucao inicial corresponde a uma dada matriz basica B formada por m colunas L.I. da
matriz das restricoes 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 funcao objetivo em relacao ao valor da iteracao anterior e assim sucessivamente.
Em teoria, o processo leva `a solucao do problema de PL como visto anteriormente, ja que, pelo menos,
uma das solucoes 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 formulacao original, todas as restricoes sao de desigualdade do tipo menor ou igual. Para esse tipo
de problema, uma variavel de folga e adicionada a cada restricao de desigualdade para transforma-la em
restricao de igualdade no problema modificado. Nesse caso a matriz A gerada pode ser escrita como,
A = (R, I)
(6.149)
(6.150)
(6.151)
O vetor xs representa uma solucao compatvel basica para o problema modificado correspondente a B = I
ja que ele satisfaz (6.151) o que assegura tambem que xs 0, pois xs = b e b 0.
Nesse caso os vetores yj serao,
yj = B1 aj = Iaj = aj ;
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 modificado ao se transformar as restricoes de desigualdade do problema original em restricoes
de igualdade no problema modificado.
Uma maneira de contornar esse problema e atraves do uso de vari
aveis artificiais. Considerando que
ja foi obtida a matriz de restricoes A do problema modificado via uso de variaveis de folga e de excesso no
problema original, vale,
Ax = b
Com o uso das variaveis artificiais 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)
onde xa e o vetor das variaveis artificiais m 1, I e uma matriz identidade m m e xr o vetor das
variaveis originais n 1 de (6.149). Seja M um n
umero grande e i um vetor m 1 com todas as componentes
iguais a 1.
Seja o problema original dado por,
max z = ct x
s.t Ax = b
(6.156)
x0
e o problema modificado com o uso das variaveis artificiais dado por,
max z = ct xr M it xa
s.t
Axr + Ixa = b
xr 0; xa 0;
(6.157)
O vetor das variaveis no problema (6.157) e xr , xa . Uma solucao compatvel basica inicial para o problema
modificado (6.157) pode ser xb = 0, xa que satisfaz as restricoes em (6.157), ja que xa = b e b 0.
Vale observar ainda que a solucao do problema (6.157) e a mesma solucao do problema (6.156) uma vez
que, na solucao de (6.157) o vetor das variaveis artificiais xa deve ser nulo de modo a maximizar z. Com
xa = 0, os dois problemas sao identicos, mas em (6.157), uma solucao compatvel basica inicial pode ser
facilmente encontrada, o que nao acontece com (6.156).
O metodo descrito acima para se obter uma solucao compatvel basica inicial e conhecido como Metodo
de Charnes.
Esse metodo apresenta algumas dificuldades. A primeira delas e a escolha do valor de M. Se ele for
muito maior do que os coeficientes da matriz A do problema, podem surgir problemas numericos durante a
resolucao pelo Metodo Simplex e uma resposta incorreta pode ser obtida. Outra dificuldade e o aumento
significativo do n
umero de variaveis no problema modificado (6.157) em relacao ao problema original (6.156).
Um metodo alternativo para a obtencao da solucao compatvel basica inicial do problema de PL que
contorna alguns dos problemas do Metodo de Charnes e o Metodo das Duas Fases desenvolvido por Dantzig
et all.
Na primeira fase desse metodo, o seguinte problema e resolvido,
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
s.t.
6.2
z = ct x
Ax = b
x0
O Problema de Programac
ao Quadr
atica (PQ)
min q (x) =
s.t.
(6.159)
Onde,
x e o vetor das variaveis n 1,
Q e uma matriz quadrada n n positiva-definida,
f um vetor n 1,
N uma matriz p n (p restricoes de igualdade),
A uma matriz m n (m restricoes 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
t
Axb
x0
min q (x) =
s.t.
6.2.1
(6.160)
Elimina
c
ao de restric
oes 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 translacao permite recuperar o valor inicial das variaveis. Nesse item sera mostrado como e possvel
eliminar as restricoes de igualdade lineares via inversa generalizada.
Seja a restricao 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
Ou seja, o vetor xn1 , com n variaveis, pode ser escrito em funcao do vetor y(nm)1 com n m
variaveis independentes sendo m n. Em outras palavras, o vetor xn1 pode ser eliminado do problema de
PQ geral com restricoes de igualdade e substitudo pela expressao acima na funcao objetivo e nas restricoes
de desigualdade, levando a um problema de PQ padrao com restricoes de desigualdade apenas e n m
variaveis. As duas parcelas da expressao acima `a direita do sinal de igual sao chamadas respectivamente de
solucao particular (a primeira) e solucao homogenea (a segunda). Para mostrar que o vetor xn1 definido
acima satisfaz a restricao de igualdade, basta substituir xn1 nessa equacao e observar as propriedades das
matrizes Snm e Zn(nm) em relacao a Atmn .
(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 fatorizacao 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
Vale notar que, devido a ortogonalidade de Q,
Q1 t Q2 = 0m(nm) e
Q2 t Q1 = 0(nm)m
(6.166)
Q2 t Q2 = I(nm)(nm)
(6.167)
e que,
Q1 t Q1 = Imm e
Vamos verificar 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)
1 t
x Qx + f t x yt At x b ut x
2
As condicoes se K-K-T do problema acima sao,
L (x, y, u) =
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)
w=
u
v
; z=
x
y
; q=
f
b
; M=
Q
At
A
0
(6.184)
QUADRATICA
w = q + Mz
w0;
(6.185)
wt z = 0 ;
z0;
89
(6.186)
O problema definido acima e denominado Problema Linear Complementar (PLC), e ele corresponde `as
condicoes de K-K-T do problema quadratico padrao. Um dos algoritmos mais eficientes para resolver esse
problema e o algoritmo de Lemke.
6.2.3
z
e uma solucao do PLC se, e somente se, ele satisfizer a equacao basica,
O conjunto w,
= q + M
w
z
(6.187)
A solucao e viavel se, e somente se, o conjunto satisfizer ainda as restricoes de nao-negatividade e ser
estritamente complementar,
0;
w
tz
=0
w
0;
z
(6.188)
(6.189)
w =q+M z
(6.190)
Sendo,
0
M =
M e
(6.191)
z =
z
z0
(6.192)
90
2
w1 3
0
w2
=
+ 1
w3
2
1
1 1 z1
2 1
z2
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
1 1 0 1
w3
2
z0
Inicializacao
z1 = z2 = z3 = 0
(6.195)
w = q + ez0
(6.196)
Logo,
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
z
2
w2
3
+ 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 solucoes 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
2/3
z0 1
z1
1
=
+ 1/3
w3
2
1
1
1
3
w2
1 1/3
z2
0 1/3
z3
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 + 23 w2 1z2 1z3 + 31 w1
z1 = 1 13 w2 + 1z2 + 0z3 + 31 w1
(6.201)
z2 = 23 + 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
5/3
0 1/3 1/3 1/3
z1
+
=
z3
2/3
1/3 1/3 1/3 0
z2
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
1
1
1
5
(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 solucao 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 variaveis de projeto, f (x) a funcao objetivo a ser minimizada, hk (x) as restricoes
de igualdade, cl (x) as restricoes de desigualdade, e xl i e xu i , respectivamente, os limites inferior e superior
da variavel xi que definem as restricoes laterais.
O problema geral de OCR e resolvido de forma iterativa. Em cada iteracao, um subproblema s e
gerado com o resultado da iteracao anterior, doravante denominado x0 , e um novo incremento x para o
vetor das variaveis 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 solucao 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
x = d
(7.2)
onde d e uma direcao de busca. Nesse captulo serao apresentados somente metodos de primeira ordem, ou
seja, metodos que utilizam os gradientes da funcao objetivo e das restricoes para a definicao do subproblema
numa dada iteracao.
7.1
M
etodo de Programac
ao Linear Seq
uencial (PLS)
Seja x0 a solucao do subproblema de uma dada iteracao do Metodo PLS. A partir dessa solucao, tanto a
funcao objetivo como as restricoes 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 Programacao Linear e pode ser resolvido, por exemplo, usando-se o algoritmo Simplex.
As variaveis sao entao atualizadas como indicado na Equacao 7.2.
As aproximacoes lineares fornecem:
min
s.t.
(7.3)
O vetor s representa as incognitas do problema de PL acima. A Figura 7.1 representa graficamente 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.
possvel notar que a solucao nao e viavel. Todavia, tal fato nao representa um obstaculo para se obter
E
a solucao do problema original de PNL apos algumas iteracoes. Uma dificuldade para se obter a solucao
aparece quando o problema e subrestringido, ou seja, quando ha mais variaveis que restricoes como indicado
na Figura 7.2. Nessa mesma figura estao representados os limites ao movimento que sao impostos `as
variaveis para se evitar que a regiao viavel das variaveis fique ilimitado. A escolha dos limites de movimento
assim como dos fatores de reducao associados e uma dificuldade no uso do metodo.
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 solucoes 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 iteracao 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 solucao 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 funcao objetivo e `as restricoes cl (x) linearizados, respectivamente.
Observando-se a Figura 7.3 pode-se verificar que:
t
df =
[f (x0 )]
s
kf (x0 )k
(7.5)
dhl =
[cl (x)]
(x s)
kcl (x0 )k
(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)
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 manipulacoes algebricas, como:
max
s.t.
r
t
[f (x0 )] s + kf (x0 )k r 0
t
(7.12)
l = 1...p
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 final da iteracao por meio de uma
busca unidimensional, ou seja:
x = x0 + s
(7.13)
As iteracoes 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
definicao de limites de Movimento para convergir para a solucao.
7.3
M
etodo das Direc
oes Vi
aveis
O Metodo das Direcoes Viaveis e apropriado para problemas com restricoes de desigualdade apenas. Assim
como os metodos apresentados nos itens anteriores, ele produz uma sequencia de subproblemas a partir de
x0 , solucao do subproblema gerado na iteracao anterior. Se o ponto x0 nao estiver sobre um contorno da
regiao viavel, ou seja, nao ativar uma ou mais restricoes de desigualdade, o subproblema a ser resolvido e
um problema de OSR. Todavia, deve ser feito um controle durante as buscas unidimensionais do algoritmo
de OSR para se garantir que a solucao esteja no espaco viavel, ou seja, que nenhuma restricao seja violada.
Nota-se, portanto, que o algoritmo e de pontos interiores e uma solucao inicial viavel deve ser adotada.
Durante uma busca unidimensional duas situacoes sao possveis: ou se encontra um mnimo dentro da
regiao viavel ou se atinge um contorno da regiao viavel ativando uma ou mais restricoes. No primeiro caso,
a solucao do problema foi encontrada, o que e pouco provavel ja que solucoes otimas sempre ativam uma
ou mais restricoes. No segundo caso, ou seja quando x0 esta sobre o contorno da regiao viavel, trata-se de
buscar uma direcao viavel e de decrescimo. O subproblema do metodo das direcoes viaveis e formulado para
se encontrar uma direcao, conforme ilustrado na Figura 7.4:
98
NAO-LINEAR
x2
f(x0)
f(x)=const.
c1(x)
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, definida a
partir de um ponto sobre o contorno da regiao viavel, seja viavel e de decrescimo.
Para que a direcao 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 significa que o produto interno entre f (x0 ) e s deve ser negativo, ou seja:
t
[f (x0 )] s < 0
(7.14)
Para que a direcao de busca s seja uma direcao viavel ela deve fazer um angulo maior do que 90o com o
vetor gradiente da restricao ativa no ponto x0 . Isso significa que o produto interno entre cl (x0 ) e s deve
ser negativo, ou seja:
t
(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-off 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 condicoes 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 definido na expressao 7.16, pode ser definido para se encontrar uma
direcao u
til-viavel:
max
t
s.t.
[f (x0 )] s + 0
[cl (x0 )] s + l 0
ksk
(7.20)
l = 1...p
cl (x)
l (x) = 1
0
(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.
NAO-LINEAR
100
x2
s(q=)
s(q1)
f(x)=const.
s(q=0)
c(x)=0
x1
Figura 7.5: Influencia 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 limitacao 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 limitacao do modulo.
Apesar da vantagem apresentada acima o uso da expressao (7.22) apresenta a desvantagem de forcar a
definicao da melhor direcao 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 condicoes 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)
NAO-LINEAR
102
Au
ltima equacao 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 + 0 (2 y) ;
A y 0;
yt y 1 0;
0;
0 0;
t
0
Ay = 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;
v 0;
t
y
y
0;
0; 0
t v = 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 fixado igual a 1, sem comprometer as restricoes e as
condicoes de Kuhn-Tucker.
y = p At
(7.34)
O vetor y representa a solucao do subproblema do Metodo das Direcoes Viaveis pois ele contem o vetor
s que representa a direcao do passo a ser dado de x0 ate a solucao x da iteracao em questao. Uma busca
unidimensional, a partir de x0 , na direcao s, atualiza x.
7.4. METODO
DO GRADIENTE REDUZIDO GENERALIZADO (GRG)
7.3.1
103
Solu
c
ao Inicial Vi
avel
O Metodo das Direcoes Viaveis e um metodo de primeira ordem (pois utiliza as primeiras derivadas de f (x)
e cl (x) para definir seu subproblema). Foi desenvolvido para problemas que tenham apenas restricoes de
desigualdade e e tambem um metodo de pontos interiores, ou seja, onde todas as solucoes parciais obtidas
em cada iteracao bem, como a solucao inicial x0 , devem estar contidas na regiao viavel.
Uma questao que surge na aplicacao pratica do metodo e: como se obter uma solucao inicial viavel?
O enfoque basico e formular um subproblema na primeira iteracao que, a partir de um vetor arbitrario
x0 , permita obter um outro vetor que seja viavel. A ideia basica desse subproblema e desprezar a restricao
que impoe que a solucao do subproblema (7.20) seja u
til, ou seja, que a solucao forneca uma funcao objetivo
menor ou igual a solucao inicial nao viavel x0 .
Se uma restricao cl (x0 ) e radicalmente violada, seu correspondente valor de l torna-se muito alto. Por
razoes numericas, se l > 50 considera-se l = 50.
Considerando-se as observacoes acima, o subproblema definido em (7.35) pode fornecer um passo s que
aponte para dentro da regiao viavel a partir de uma solucao inicial nao viavel x0 .
7.3.2
Restri
c
oes de Igualdade
l
P
rk hk (x)
min (x) = f (x)
k=1
(7.35)
hk (x) 0; k = 1 . . . l
onde hk (x) sao restricoes de igualdade no problema original que se transformaram em restric
oes de
desigualdade no novo problema equivalente. Valores de rk recomendados da pratica podem ser obtidos por:
rk =
10 kf (x0 )k
khk (x0 )k
(7.36)
Os rk s
ao 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 restricoes de igualdade usando o artifcio de se acrescentar uma variavel
de folga para cada restricao 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 restricoes essa direcao pode nao ser encontrada. O que se faz entao e
determinar uma direcao 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 restricoes). Como ja mencionado, o problema e modificado com a introduc
ao das
variaveis de folga, ou seja:
NAO-LINEAR
104
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)
Observe-se que m variaveis de folga, nao negativas, foram adicionadas ao problema original (7.1) fornecendo
um total de n + m variaveis. Se o n
umero de restricoes de desigualdade e muito alto, este artifcio aumenta
significativamente o esforco computacional para a resolucao do problema. Como no problema modificado o
n
umero total de variaveis, n+m, e quase sempre maior do que o n
umero de restricoes m + l (as restricoes
xl+n 0 sao satisfeitas naturalmente), e possvel separa-las em m + l variacoes dependentes (uma para cada
restricao), e n l variaveis independentes, ou seja, as restantes (n + m) (m + l) = n l variaveis. Assim
o vetor x e subdividido em:
z
n l variaveis independentes
x=
(7.38)
y
m + l variaveis dependentes
Como, no problema modificado, todas as restricoes sao de igualdade, elas serao designadas como:
hk (x) = 0;
k = 1m + l
(7.39)
i = 1n + m
(7.40)
t
[hk (x)],z
dz +
t
[hk (x)],y
(7.41)
dy
k = 1m + l
(7.42)
x = x0 + s,
ou
z
y
z0
y0
dz
dy
(7.43)
k = 1m + l
(7.44)
ou, para uma aproximacao linear do vetor dh(x) que contem as componentes dhk (x):
dh(x0 ) = A(x0 ) dz + B(x0 ) dy = 0
(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)
n
o
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 variaveis independentes z por meio de uma busca unidimensional, ou seja:
z = z0 + dz
(7.51)
(7.52)
(7.53)
ou:
Observe-se que, durante as iteracoes do metodo de Newton-Raphson, o valor das variaveis do vetor
z, atualizadas segundo a expressao (7.51) ficam fixos, e somente o vetor y, das variaveis dependentes, e
atualizado de modo que o vetor x satisfaca as restricoes.
Vale salientar tambem que se a atualizacao fosse feita com o uso de expressao (7.47), as restric
oes nao
seriam satisfeitas, ja que sao nao lineares e a expressao (7.47) e obtida com a hipotese de linearizac
ao das
restricoes.
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 funcoes 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 entao resolvido pelo algoritmo de linha fornecendo o passo a ser dado nas
variaveis independentes dz.
NAO-LINEAR
106
A atualizacao das variaveis 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
L1,x xk + xk , k + k = 0
h xk + xk = 0
ou
(7.58)
(7.59)
k
hk + hkt
,x x = 0
(7.60)
7.5.2
(7.61)
1
t
t
L2 (s, ) = f (xo ) s + st W1 (xo ) s h (xo ) + h (xo ) s
2
Condicoes de Kuhn-Tucher de P2
(7.62)
(7.63)
(7.64)
(7.65)
ou
ou ainda
Vale observar que as equacoes (7.55) e (7.58) sao identicas ao se substituir xk e xk em (7.55) por xo e
s em (7.58). Isso significa que resolver o subproblema P2 de PQ do problema original P1 equivale a obter
QUADRATICA
7.5. METODO
DE PROGRAMAC
AO
SEQUENCIAL
(PQS)
107
a primeira iteracao da solucao via Newton-Raphson das equacoes correspondentes `as condicoes de KuhnTucher de P1. Esse fato justifica o uso da heniana da funcao lagrangeana de P1 no lugar da heniana da
funcao objetivo na definicao do subproblema de PQS.
Uma vez que a determinacao de matrizes henianas e muitas vezes de difcil obtencao ou pouco eficiente
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 finitos,
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 (x)
r
r (x + xi ei ) r(x)
=
xi
xi
xi
(8.2)
CAPITULO 8. ANALISE
DE SENSIBILIDADE
110
Outra aproximacao 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
Seja um conjunto de restricoes de igualdade que definem as equacoes de estado do problema, por exemplo, as
equacoes de equilbrio estatico de uma estrutura de comportamento linear elastico discretizada pelo metodo
dos elementos finitos:
c (r (x) , x) = 0
(8.4)
(8.5)
r
dc
= 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 relacao 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 Equacao (8.4) e usando a Equacao (8.6), obtem-se:
pi + Z
logo:
Z
r
=0
xi
r
= pi
xi
(8.8)
(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 finitas, o metodo e
denominado de semi-analtico.
8.2.3
M
etodo Adjunto
(8.10)
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
dr
t
t dr
=
+
+
p+Z
d xi
xi
d xi
d xi
(8.13)
Como, conforme a Equacao (8.8), a parcela pre-multiplicada por t e um vetor nulo, entao, a Equac
ao (8.13)
representa a sensibilidade de h em relacao a xi .
Reagrupando-se os termos da Equacao (8.13), chega-se a:
dr
dh
h
=
+ t + t Z
+ t p
d xi
xi
d xi
(8.14)
A segunda parcela do lado direito da Equacao (8.14) pode ser eliminada fazendo-se:
Zt =
(8.15)
(8.16)
O Metodo Adjunto tambem pode ser analtico ou semi-analtico, dependendo de como as derivadas
explcitas sao obtidas na Equacao (8.16).
8.3
Comparac
ao entre os M
etodos de An
alise de Sensibilidade
A primeira observacao 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
pelos dois primeiros metodos citados acima, para se obter x
sem grandes esforcos.
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 eficiente, 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 eficiente, 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 variaveis, e tambem das derivadas explcitas (vide Equacao 8.14) serem de facil
obtencao para cada nova variavel.
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 finitos, 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 ue
(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 variaveis 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:
d e
e (x + xi ei ) e (x)
=
d xi
xi
(8.23)
DOS METODOS
8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
113
Na segunda das Equacoes (8.22), Be seria perturbada caso xi fosse uma coordenada nodal do elemento
ou uma area de secao transversal de uma barra de trelica e C seria perturbada caso xi fosse um parametro
mecanico (propriedade fsica), como por exemplo o modulo de elasticidade ou o coeficiente de Poisson do
material.
8.4.1.2
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
pi =
K
xi
(8.24)
fa
xi
Entao:
du
= K1 pi
d xi
(8.25)
M
etodo Adjunto
c
xi
Z=
c
r
h (u(x), x) = uj (x) uj 0
e c seja dado conforme a Equacao (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 finitos 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 variavel, uma nova solucao, com a nova variavel perturbada, torna-se necessaria. Assim:
(x)
K(x) M(x) = 0
(8.30)
(x)
e:
(x + xi ei )
K(x + xi ei ) M(x + xi ei ) = 0
(8.31)
(x + xi ei )
d
d xi
d
d xi
xi
xi
(x+ xi ei )(x)
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 questao e definido 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
d c2
d xi
c1
xi
c2
xi
c1 d
d xi
c2 d
d xi
c1 d
d xi
=0
c2 d
d xi
=0
(8.34)
c1
c1
c2
c2
d
d xi
d
d xi
c1
xi
c2
xi
(8.35)
Efetuando-se as derivacoes na Equacao (8.35), por meio das equacoes de estado definidas em (8.33),
chega-se a:
d
dM
dK
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 Equacoes (8.36) foi feito uso da simetria da matriz M.
Comparando-se a Equacao (8.36) com a expressao geral (Equacao 8.9), e possvel afirmar que:
K M M
Z=
M
0
dK dM
d xi
d xi
p
=
12 t dd M
xi
(8.37)
Resolvendo-se o sistema de equacoes (8.36), as sensibilidades de e sao obtidas uma vez que essas
variaveis tenham sido previamente calculadas. Se as derivadas explcitas de K e M em relacao a xi , que
aparecem no vetor pi , forem obtidas analiticamente, o metodo e dito Direto Analtico. No entanto, caso
o metodo das Diferencas Finitas tenha sido utilizado para se obter as mencionadas derivadas (conforme
mostrado nas Equacoes 8.38), entao o metodo e dito Direto Semi-Analtico:
K(x+ xi ei )K(x)
dK
d xi
xi ei
(8.38)
d M M(x+ xi ei )M(x)
d xi
x i ei
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)
=
o que permitiria obter e
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)
(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)
=
d xi
xi
xi
8.4.3.2
(8.48)
M
etodo Direto
(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:
c
f [u(x), x]
fa (x)
=
(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 finitas, 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 , definido em (8.12), para se obter o vetor adjunto .
Para se obter , conforme a Equacao (8.12), e preciso definir 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 Equacao (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 Equacao (8.58), verifica-se que o modo de flambagem associado ao ponto limite e igual `a
derivada de u em relacao ao parametro .
Em um ponto de bifurcacao:
d
6= 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 identificado, ou seja, Kt e singular e:
vt fa (x) 6= 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 relacao 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 identificam um ponto limite sao (vide Equacao 8.49, fazendo-se = ):
c [u (x), x] = f (u , x) fa (x)
(8.62)
f
Kt =
u u=u
deve ser singular e seu autovetor associado ao autovalor nulo deve satisfazer:
vt Kt = 0
O vetor r das respostas e formado nesse caso por u e , assim, a derivada da Equacao (8.62) em relacao
a xi fornece:
dc
d u
f
d
fa
= Kt
+
fa
=0
d xi
d xi
xi
d xi
xi
(8.63)
vt fxi xfai
d
=
(8.64)
d xi
v t fa
A partir da Equacao (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 Equacoes (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 restricao 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 definida 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)
fat v = 1
Kt ,
(8.72)
ele satisfaz `a Equacao (8.71), desde que:
ou
1
v
fat
(8.73)
(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 fluxo termico transiente com o meio discretizado por elementos
finitos e dada por:
= q(t)
KT+CT
(8.75)
t t0
t t0
T0 +
T1
(8.76)
T(t) = 1
t
t
com T0 e T1 sendo, respectivamente, os valores de T nos instantes t0 e t1 .
O vetor T(t)
pode ser obtido a partir da Equacao (8.76) por derivacao no tempo, ou seja:
1
T(t)
=
(T1 T0 )
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 sao os vetores das cargas termicas nodais nos instantes t0 e t1 , respectivamente.
Substituindo-se as Equacoes (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)
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 relacao a xi no instante t e dada entao por:
d T
T(tp )
T(tp , x + xi ei ) T(tp , x)
=
(8.82)
d xi t=tp
x
xi
8.4.5.2
M
etodo Direto
A equacao de estado do problema de fluxo termico transiente e dada pela expressao (8.81) para uma analise
via algoritmo de integracao direta do tipo definido 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)
Z=
c
T1
pi =
c
xi
= [C + t K]
h
=
C
xi
+ t
K
xi
h
T1
C
xi
(1 ) t
K
xi
h
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 definida em (8.81), como a analise de sensibilidade definida 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 finitas.
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 restricao 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
T 1i
(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
finitos 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 Equacao (8.89), t e o intervalo de tempo entre os instantes inicial (t0 ) e final (t1 ), ou seja:
t = t1 t0 ,
(8.90)
u1 = u0 + t v0 +
v1 = v0 +
t
2
t2
4
(a0 + a1 )
a1 = 4t2 (u1 u0 ) 4 t v0 a0
v1 =
2
t
(8.91)
(a0 + a1 )
(8.92)
(u1 u0 ) v0
(8.93)
2
4
2
4
4
K+
C+
M u1 =
C+
M u0 + C +
M v0 + M a0 + f1
t
t2
t
t2
t
(8.94)
A Equacao (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:
u
u(tp , x + xi ei ) u(tp , x)
d u
(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:
2
4
2
4
4
c (u1 (x)) = K +
C+
M
u
C
+
M
u
C
+
M
v0 M a0 f1 = 0 (8.96)
1
0
t
t2
t
t2
t
A partir da Equacao (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
h
=
C
xi
= K+
K
xi
2
t
2 C
t xi
4 M
t xi
i
v0
C+
+
4
t2
4
M
t2 x i
M
xi
a0
h
u1
2 C
t xi
4
M
t2 x i
i
u0
(8.97)
f1
xi
M
etodo Adjunto
Como ja mencionado, para a analise de sensibilidade pelo Metodo Adjunto uma restricao deve ser definida.
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
An
alise de Sensibilidade analtica da
matriz de rigidez de um elemento
isoparam
etrico bilinear de 4 n
os para
problemas de estado plano em rela
c
ao
a uma coordenada nodal
A analise de sensibilidade da matriz de rigidez de um elemento finito e usada na otimizacao de forma
de estruturas modeladas por elementos finitos onde as coordenadas nodais sao as variaveis de projeto do
problema de otimizacao.
Um elemento finito e dito isoparametrico quando as mesmas funcoes de interpolacao sao usadas para
interpolar nao apenas grandezas cinematicas ( deslocamentos ), como e usual nos elementos finitos convencionais, mas tambem as grandezas geometricas, no caso coordenadas.
Coordenadas parametricas sao usadas nas funcoes de interpolacao. Assim,
P4
x (, ) = i=1 Ni (, )xi ;
P4
(A.1)
y (, ) = i=1 Ni (, )yi ;
P4
u (, ) = i=1 Ni (, )ui ;
P4
(A.2)
v (, ) = i=1 Ni (, )vi ;
Onde, xi e yi sao 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 interpolacao 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)
Seja uma funcao (x, y). Se x e y forem definidos conforme as expressoes A.1, a relacao entre as derivadas
de em relacao `as coordenadas cartesianas e as derivadas de em relacao `as coordenadas parametricas e
dada pela regra da cadeia:
127
128APENDICE
A. ANALISE
DE SENSIBILIDADE ANALITICA DA MATRIZ DE RIGIDEZ DE UM ELEMENTO ISO
Figura A.1: Mapeamento de um ponto P (, ) do espaco parametrico para um ponto P (x, y) espaco cartesiano.
(
d
d
d
d
=
=
d
dx
d
dx
dx
d
dx
d
+
+
d
dy
d
dy
dy
d ;
dy
d ;
(A.4)
ou, matricialmente,
(
d
d
d
d
"
=
dx
d
dx
d
dy
d
dy
d
dx
d
dx
d
#(
d
dx
d
dy
)
;
(A.5)
dy
d
dy
d
(A.6)
dNi (,)
xi
d
dNi (,)
xi
i=1
d
P4
Pi=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)
129
Observando-se A.5, pode-se deduzir que a inversa da matriz Jacobiana (, ), dada por,
1
(, ) = J (, )
u,x
u,
(, )22
02x2
u,y
u,
=
v,x
02x2
(, )22
v,
v,y
v,
(A.10)
Sendo assim, pode-se escrever:
;
(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
,
=
0
N
(,
)
0
N
(,
),
v
1
2
,
,
v,
0
N1 (, ),
0
N2 (, ),
u1
v1
(A.13)
u2
N3 (, ),
0
N4 (, ),
0
v2
N3 (, ),
0
N4 (, ),
0
0
N3 (, ),
0
N4 (, ),
u3
v3
0
N3 (, ),
0
N4 (, ),
v4
ou, sucintamente,
u,p 41 = DNd (, )48 d41
(A.14)
(A.15)
(A.16)
(A.17)
(A.18)
130APENDICE
A. ANALISE
DE SENSIBILIDADE ANALITICA DA MATRIZ DE RIGIDEZ DE UM ELEMENTO ISO
x = u,x
y = v,y
xy = u,y + v,x
(A.19)
ou, matricialmente,
1
x
y
= 0
0
xy
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 definidas no plano
parametrico.
A matriz C vale para problemas de estado plano de tensao:
1
0
E
1
0 ;
(A.25)
C=
1 2
0 0 1
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
X
B (g i , g i )
(A.27)
i=1
Agora, uma vez revisitada a formulacao da matriz de rigidez K de um elemento isoparametrico quadrilateral de 4 nos, a questao da analise de sensibilidade da matriz de rigidez K em relacao a uma coordenada
nodal arbitraria pode ser formulada. A coordenada sera designada por xij que corresponde `a coordenada na
linha i (no i ) e coluna j (x para j = 1 e y para j = 2) da matriz X definida em A.8 e A.9.
A expressao A.27 nos permite obter a expressao para a derivada de K em relacao `a coordenada xij :
131
dK
dxij 88
i
t
dBi
C
B
+
B
C
33
i
i
33
38
83
i=1 dxij 83
dxij 38 det (Ji ) +
o
Ji )
Bti 83 C33 Bi 38 d(det
w i w i ;
dxij
= t
nP
h
ng
dBi t
(A.28)
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
o
DNx (, )2,m Xm,k +
nP
o
j
4
(1) DNx (, )2,i
DNx
(,
)
X
;
m,k
m=1
1,m
k
nP
4
m=1
(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()
d(J)
d(J)
= 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.