Sunteți pe pagina 1din 135

Programacao Matematica

Luiz Eloy Vaz


Anderson Pereira
Ivan F. Menezes
Rio de Janeiro, 16 de agosto de 2010

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1.4 Metodo da Secao Aurea


(Golden Section, em ingles) . . . . . . . . . . . . . . . . .
3.1.5 Metodo da Ortogonalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.6 Metodo Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Metodos de Direcao de Busca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Metodo Univariante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Metodo de Powell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2.1 Direcoes Conjugadas no Metodo de Powell . . . . . . . . . . . . . . . . .
3.2.2.2 Convergencia do Metodo de Powell . . . . . . . . . . . . . . . . . . . . .
3.2.3 Metodo do Maximo Declive (Steepest Descent, em ingles) . . . . . . . . . . . . . .
3.2.4 Metodo de FletcherReeves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 Metodo de HestenesStiefel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.6 Metodo de PolakRibi`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.7 Metodo de NewtonRaphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.8 Metodos QuaseNewton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.8.1 Algoritmo de Correcao de Posto Um . . . . . . . . . . . . . . . . . . . . .
3.2.8.2 Algoritmo de Correcao de Posto Dois ou DFP (DavisonFletcherPowell)
3.2.8.3 Algoritmo BFGS (BroydenFletcherGoldfarbShanno) . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

4.1.2.2 Problemas com Restricoes de


Os Multiplicadores de Lagrange . . . . . . . .
4.2.1 Exemplo de Aplicacao . . . . . . . . .
Dualidade de Wolfe . . . . . . . . . . . . . . .
4.3.1 Exemplos Te
oricos . . . . . . . . . . .
4.3.1.1 Programacao Linear . . . . .
4.3.1.2 Programacao Quadratica . .

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

O Problema Geral de Programac


ao Matem
atica

O problema geral de Programacao Matematica (PM) pode

min f (x)

s.t. hk (x) = 0

cl (x) 0

xli xi xui

ser representado matematicamente como:


x <n
k = 1...m
l = 1...p
i = 1...n

(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

Para se entender a importancia do estudo da otimizacao estrutural, considerar o problema apresentado na


Figura 1.1.

Projetar a trelica apresentada na Figura 1.1, em funcao de r2 e H, raio da secao transversal da barra 2
e altura da trelica respectivamente, de tal forma que ela apresente um volume mnimo e que as tensoes nas
barras sejam inferiores `as tensoes de escoamento e de 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

Figura 1.1: Trelica Plana de Duas Barras.


r2 (raio da sec
ao transversal da barra 2)
H (dimens
ao vertical da trelica)
Informacoes adicionais (restricoes laterais):
0.4 r2 1 (intervalo de variac
ao de r2 )
1 H 7 (intervalo de variac
ao de H)
Em funcao das variaveis r2 e H, o volume (V ) da barra 2 e dado por:
V = A2 L2

(1.2)

onde, de acordo com a Figura 1.1, tem-se:


L2 =

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

Figura 1.2: Esforcos nas Barras da Trelica.

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)

Combinando-se as Equacoes (1.4) e (1.5) chega-se a:


N1 = P
e

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

Como N1 < N2 , tem-se que, a tensao crtica e 2 .

(1.8)

(1.9)

EM OTIMIZAC
DE ESTRUTURAS
1.2. EXEMPLO DE APLICAC
AO
AO

Tens
ao Crtica de Euler
CR =
onde Le e o comprimento efetivo da barra, I =

r 4
4

2 EI
L2e A

(1.10)

e A = r2 , logo:

CR =

2 Er2
4L2e

Formula
c
ao do Problema
Com as expressoes acime pode-se 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

O problema proposto pode ser formulado da seguinte maneira:

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

Tabela 1.1: Resultados.

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

(c) E = 350 e r1 = 0.5

0.7
r2

0.8

0.9

0.9

1
0.4

0.6

(b) E = 350 e r1 = 0.4

(a) E = 350 e r1 = 0.3

0.5

0.9

1
0.4

0.5

0.6

0.7
r2

0.8

(d) E = 500 e r1 = 0.3

Figura 1.3: Curvas para o modulo de eslasticidade igual a 2000.

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

(c) E = 350 e r1 = 0.5

0.6

0.7
r2

0.8

0.9

0.9

0.5

0.5

(b) E = 350 e r1 = 0.4

(a) E = 350 e r1 = 0.3

1
0.4

11

0.9

1
0.4

0.5

0.6

0.7
r2

0.8

(d) E = 500 e r1 = 0.3

Figura 1.4: Curvas para o modulo de eslasticidade igual a 20000.

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

CAPITULO 2. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OSR)

e H(x) e a matriz Hessiana1 de f (x), cujos elementos sao dados por:


hij (x) =

2 f (x)
,
xi xj

i, j = 1 n

(2.5)

Exemplo 2.1 Serie de Taylor para Funcao de Uma Variavel


Aproximar f (x) = sin(x) em torno do ponto x0 = 4 .
Solucao:
As derivadas de f (x) sao:
df
= cos (x)
dx

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)

As expansoes de segunda e terceira ordem sao dadas, respectivamente, por:


s2 (x) = s1 (x)


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).

Exemplo 2.2 Serie de Taylor para Funcao de Duas Variaveis

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

cos (x1 ) sin (x2 )


=

sin (x1 ) cos (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

Figura 2.1: Aproximacoes em Serie de Taylor da Funcao sin(x).

H(x) =

2 f (x)
x21

2 f (x)
x1 x2

f (x)
x2 x1

f (x)
x22

sin (x1 ) sin (x2 )

cos (x1 ) cos (x2 )

cos (x1 ) cos (x2 )

sin (x1 ) sin (x2 )

12

1
2

1
2

12

(2.11)

Substituindo-se as Equacoes (2.10) e (2.11) na Equacao (2.3) chega-se a:

s (x) =

1
2

x1
2

1
2
1
2

t
x1

x2
2

x2
1
2

x1 2
4

x1 x2
2

1
2

x1

x2

t
1/2

1/2

x1

1/2
x2
1/2

(2.12)

x2 2
4

que e a 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

CAPITULO 2. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OSR)

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)

ou seja, o vetor gradiente g(x) deve ser nulo em x = x .


Para provar essa condicao, considerar s(x) uma aproximacao de f (x) em serie de Taylor, em torno de
x , ate o termo de segunda ordem:
1
t
t
s (x) f (x ) + [g(x )] (x x ) + (x x ) H (x ) (x x )
2

(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

f (x) f (x ) s (x) f (x ) [g(x )] (x x )

(2.15)

ou ainda:
t

df (x ) [g(x )] dx

(2.16)

onde df (x ) e o incremento de f (x) em x e dx o incremento de x . O produto interno que define df (x )


pode ser reescrito usando seus modulos e o co-seno do angulo entre os dois vetores, ou seja:
df (x ) kg (x )k kdxk cos()

(2.17)

Fixando-se o modulo de dx e deixando-se variar, df (x ) sera uma funcao apenas de , ou seja:


df () kg (x )k kdxk cos()

(2.18)

No mnino local deve-se ter, para arbitrario :


df () kg (x )k kdxk cos() 0

(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:

que e conhecida como a condicao de mnimo local de primeira ordem.


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

A restricao acima representa a condic


ao de segunda ordem para um mnimo local x e significa que a

matriz Hessiana de f (x), em x , deve ser positiva semidefinida.


Exemplo 2.3 Exerccio 2.1 de Nocedal & Wright [7] (Pag. 27)
Calcular o gradiente f (x) e a Hessiana 2 f (x) da funcao de Rosenbrock

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

CAPITULO 2. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OSR)
Usando-se os valores de H(x ) na equacao acima tem-se:

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

a11 a12 a13

A3 = a21 a22 a23


a31 a32 a33

..
.

An =

a11
a21
a31
..
.

a12
a22
a32

a13
a23
a33

a1n
a2n
a3n

an1

an2

an3

ann

A matrix A sera positiva definida se todos os valores de A1 , A2 , A3 , . . . , An forem positivos.


Os determinantes das submatrizes quadradas de H sao:

H1 = 802 = 802 > 0

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

A formula de recorrencia, comumente utilizada nos metodos de otimizacao, e dada por:


xk+1 = xk + k dk
k

(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)

O valor de na expressao (3.2) deve ser igual a zero e o n


umero de iteracoes deve ser o necessario para
se obter o mnimo de f (). A cada novo valor de na iteracao i + 1, f () deve ser avaliada para saber se
seu valor e menor do que o encontrado na iteracao anterior. Caso nao seja, faz-se k = i , i.e., o valor de
que minimiza f () foi encontrado e e colocado em k , para se avancar para xk+1 .
O algoritmo de passo incremental adota constante nas duas primeiras iteracoes. A partir da terceira
iteracao o valor de vai sendo dobrado em relacao ao valor anterior. Os incrementos para cada nova
iteracao, a partir da terceira, passam a ser 2, 4, 8, . Espera-se com isso acelerar o processo
iterativo e diminuir o n
umero de avaliacoes de f (). Como no caso de constante, o processo iterativo e
interrompido assim que se obtem um i+1 para o qual f () e maior do que na iteracao anterior.
A escolha de e uma tarefa delicada, pois o incremento tem que ser compatvel com a ordem de
grandeza da variavel x. Se a variavel x for uma dimensao em mm o valor do incremento deve ser
diferente daquele para o qual a variavel x seja dada em Km. A precisao de k depende do valor relativo de
em relacao ao valor de k .
1 Em

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

Figura 3.1: Metodo da Armijo.

3.1.3

M
etodo da Bissec
ao

O metodo da Bissecao objetiva encontrar o mnimo de f () no intervalo ou regiao de busca 0 . Caso


o mnimo nao esteja na regiao de busca pre-definida, o metodo converge para k = 0 ou para k = . Para
a busca do mnimo, o intervalo e subdividido em dois intervalos iguais, pelo ponto = /2. Cada um desses
dois novos intervalos e, por sua vez, subdividido em outros dois intervalos iguais e assim sucessivamente. Em
cada nova divisao, um intervalo e escolhido para continuar a busca do mnimo e o outro e descartado. Para
se escolher o intervalo descartado, calcula-se f no ponto medio dos dois intervalos. O intervalo descartado e
aquele que apresenta o maior valor de f no seu ponto medio. A ideia do metodo e reduzir progressivamente
a regiao de busca em torno do mnimo. A precisao de k depende do criterio de convergencia adotado para
se interromper as iteracoes.

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)

A Tabela 3.1 mostra uma seq


uencia de n
umeros e razoes de Fibonacci desde N = 0 ate N = 10.
N
0
1
2
3
4
5
6
7
8
9
10

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

Tabela 3.1: Sequencia de Fibonacci para N = 0 ate N = 10.


interessante observar que a razao de Fibonacci converge para um determinado valor, proximo de 0.618,
E
que se denomina raz
ao
aurea (RA ). Esse n
umero aparece outras vezes nas relacoes da natureza, como por
exemplo: o n
umero e o n
umero Neperiano e. Varios artistas, como Leonardo da Vinci, usavam em seus
quadros essa razao entre as dimensoes por acha-la harmonica. Da Vinci identificou tambem que essa razao
poderia ser encontrada entre dimensoes do corpo humano, como a razao entre a distancia da sola do pe ao
umbigo e a altura total do indivduo.

O metodo da Secao Aurea


apresenta uma ideia semelhante ao da Bissecao. A diferenca esta na razao
utilizada para reduzir o intervalo de busca. No metodo da Bissecao essa razao e 0.5, enquanto que no metodo

da Secao Aurea
utiliza-se a razao aurea. A partir do comprimento do intervalo de busca inicial , dois novos
pontos sao determinados:
1d = RA

1e = (1 RA )

que 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

Figura 3.2: Intervalos de Busca do Metodo da Secao Aurea.

a1e

a1e

a1e

a1d

a2e

a2d

a3e

a3d

a2d

a3e

a4e a4d

a2d

a3e a5e a5d a4d

a6e a6d
a5d
a3e

Figura 3.3: Escolha dos Intervalos de Busca no Metodo da Secao Aurea.


3.1. METODOS
DE BUSCA UNIDIMENSIONAL

23

O comprimento do novo intervalo e dado por:


1e = (1 R) = R

(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:

com razes iguais a:


1 +
R1 =
2
1
R2 =
2

= 0.61803 . . .

(3.10)

= 1.61803 . . .

(3.11)

Desprezando-se a raz negativa, o valor de R para poupar uma avaliacao de f em cada subdivisao dos
intervalos e exatamente igual `a razao aurea, i.e., RA = 0.61803 . . .
A precisao de k depende, como nos metodos anteriores, do criterio de convergencia adotado no processo
iterativo.

3.1.5

M
etodo da Ortogonalidade

Sejam x() = xk + dk , o proximo ponto para um determinado valor de , e f [x()] o valor da funcao f
nesse ponto. Derivando-se f [x()] em relacao a , obtem-se:
df [x()]
f (x) dx
t
=
= {g [x()]} dk
d
x d

(3.12)

O valor k de que minimiza f [x()] a partir de xk na direcao dk e obtido da condicao:


df ()
=0
d

(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)]

Figura 3.4: Comportamento do Metodo da Ortogonalidade.

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 )

Aproximando-se a segunda derivada f 00 por:


f 0 (k ) f 0 (k1 )
k k1
pode-se obter o seguinte algoritmo:
k+1 = 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

No metodo Univariante, a direcao de busca na iteracao k e definida por:


dk = ek ,

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 ;

4. Minimizar f (x) na direcao dj , determinando-se o novo ponto x0 ;


5. Substituir ej por dj da seguinte forma: ei = ei+1 , i = 1, n 1; en = dj ; j = j + 1;
6. Repetir os passos de 2 a 5, enquanto j n;
7. Reinicializar as direcoes ek e voltar para o passo 1, ate que a convergencia numerica seja atingida.

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)

onde as direcoes de busca dk serao direcoes Qconjugadas, ou seja:


i t
d Q dj = 0,

i 6= j

(3.21)

Considere-se, inicialmente, o ponto x e a direcao de busca d . Deve-se determinar na expressao dada


a seguir, que e o valor de que minimiza q (x) a partir do ponto xa na direcao da .
x() = xa + da

(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

Considerando-se agora a minimizacao de q(x) a partir de x , na mesma direcao d , tem-se:


x () = xb + da

(3.28)

Denominando-se x(b ) doravante de yb e, com raciocnio analogo ao anterior, tem-se em yb :


yb = xb + b da

(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:

Analogamente, partindo-se de yb na mesma direcao de da , pode-se prever que b = 0 pois yb e um


mnimo nessa direcao. Logo:
yb = xb + b da

(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)

Subtraindo-se as Expressoes (3.27) e (3.34), obtem-se:


t

(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

Figura 3.6: Direc


oes QConjugadas do Metodo Powell [3].

Se da foi criada no final de um dado ciclo como movimento padr


ao, as duas operacoes anteriores sao
exatamente o que recomenda o metodo de Powell. A primeira operacao corresponde ao passo dado no final
de cada ciclo e a segunda corresponde ao primeiro passo de cada novo ciclo, onde a direcao de busca da ,
criada no final de um ciclo, e repetida no incio do novo ciclo.

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)

Apos n passos, chega-se ao ponto x :


x = 0 d0 + 1 d1 + + (n1) dn1

(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

converge para a solucao x que minimiza q(x) depois de n passos, ou seja: xn = x .


Demonstra
c
ao
Como os vetores di sao LI, e possvel representar qualquer vetor do espaco de x usando esses vetores
como base do espaco, ou seja:
x x0 = 0 d0 + 1 d1 + + n1 dn1
t
Pre-multiplicando-se a expressao acima por dk Q, obtem-se:

dk

Q x x0
t

(dk ) Q dk

(3.46)

(3.47)

Considerando-se a expressao acima como um processo iterativo, ter-se-ia na iteracao k o ponto xk , ou


seja:
xk x(0) = 0 d0 + 1 d1 + + k1 dk1
(3.48)
k t
Pre-multiplicando-se mais uma vez por d Q e lembrando-se que o conjunto e Qconjugado, obtem-se:

t
(dk ) Q xk x0 = 0

(3.49)

A expressao de k na Equacao (3.47) pode ser reescrita como:

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)

e, considerando-se a Equacao (3.45):

finalmente, considerando-se a Equacao (3.49), chega-se a:


k

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

que fornece o mesmo valor de k , ou seja:

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

A Figura 3.7 ilustra o processo de convergencia do metodo de Powell.

4
3
2

3
2
1

Figura 3.7: Passos do Metodo de Powell.

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:

df (x) kg(x)k kskcos()

(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

O metodo de FletcherReeves e uma extensao do Metodo dos Gradientes Conjugados. Utilizando-se da


formula geral de recorrencia dos metodos de OSR, o metodo dos Gradientes Conjugados visa, de forma
iterativa, minimizar somente funcoes quadraticas q (x). Ele apresenta uma expressao para gerar direcoes
de busca dk+1 , na iteracao k + 1, que tem a propriedade de serem Qconjugadas em relacao a todas as
k direcoes geradas anteriormente. Essa propriedade garante que o processo iterativo para minimizar uma
funcao quadratica q (x) converge em n passos. Vale lembrar que, ao minimizar a funcao quadratica q (x), o
metodo tera encontrado a solucao do sistema de equacoes lineares Q x = b.
Os principais passos do algoritmo que representa o metodo dos Gradientes Conjugados sao:
Dado: x0 ;

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

10. dk+1 = gk+1 + k dk ;


11. k = k + 1;
12. Volta para o passo 5.
A formula que permite o calculo de k (passo 9 do algoritmo acima) e obtida pre-multiplicando-se a
t
expressao que calcula a direcao dk+1 (passo 10 do algoritmo acima) por dk Q, ou seja:
k t
t

d Q dk+1 = dk Q gk+1 + k dk = 0
k

k+1

Como as direcoes d e d

(3.62)

sao Qconjugadas, chega-se a:

gk+1

Q dk

(dk ) Q dk

(3.63)


DE BUSCA
3.2. METODOS
DE DIREC
AO

33

Exemplo 3.1 Metodo dos Gradientes Conjugados


Considerar a seguinte funcao quadratica:
f (x1 , x2 , x3 ) =

1 2
3
5
x + 2x1 x3 + x22 + x2 x3 + x23 5x1 x2 10x3
2 1
2
2
t

Calcular o mnimo dessa funcao usando como ponto inicial: x0 = {0, 0, 0} .


Solucao:
A funcao f pode ser representada por:
f (x) =

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,

3x2 + x3 1, 2x1 + x2 + 5x3 10

g0 = f (x0 ) = {5, 1, 10}

d0 = g0
t
g0 d0

t
(d0 )

d0

63
= 0.1684
374
t

x1 = x0 + 0 d0 = {0.8422, 0.1684, 1.6840}


Na proxima iteracao, k = 1, tem-se:
g1 = f (x1 ) = {0.7888, 1.1900, 0.2754}

1 t
g Q d0
t

(d0 ) Q d0

= 0.01678

d1 = g1 + 0 d0 = {0.8726, 1.1730, 0.1076}

t
g 1 d1
t

(d1 ) Q d1

= 0.4381
t

x2 = x1 + 1 d1 = {1.2250, 0.3455, 1.6370}


Para a segunda iteracao tem-se:

g2 = f (x2 ) = {0.5008, 0.3992, 0.2903}

34

SEM RESTRIC

CAPITULO 3. METODOS
DE OTIMIZAC
AO
OES
(OSR)
2 t
g Q d1

(d1 ) Q d1

= 0.2339
t

d2 = g2 + 1 d1 = {0.7049, 0.1248, 0.3155}


t
g 2 d2

(d2 ) Q d2

= 6.775
t

x3 = x2 + 2 d2 = {6.0000, 0.5000, 0.5000}

Notar que, como f e uma funcao quadratica de tres variaveis, e esperado que:
t

g3 = f (x3 ) = {0, 0, 0}

Desta forma: x = x3 e o valor da funcao objetivo no ponto de mnimo e: 12.7500.

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

No metodo de NewtonRaphson, a direcao de busca e dada por:


1 k
dk = Hk
g

(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)

A formula de recorrencia dos metodos Quase-Newton pode ser expressa por:


xk+1 = xk k Sk gk

(3.73)

onde k e obtido por busca unidimensional.


A ideia basica por tras de todos os metodos Quase-Newton e a de poder minimizar uma funcao quadratica
q(x), sendo x um vetor de n variaveis, em n+1 passos. Isso equivale a se obter a verdadeira inversa da matriz
Hessiana de q(x), aqui denominada de Q1 , depois de n passos. No passo n + 1 a solucao e obtida. Nesse
sentido, ele e equivalente ao metodo dos Gradientes Conjugados que tambem converge no mesmo n
umero de
passos.
Para efeito de comparacao, o metodo de Newton-Raphson realizaria tal tarefa em apenas um passo enquanto o metodo de Powell necessitaria de (n+1)2 passos. Vale dizer, todavia, que o trabalho computacional
para cada um dos passos dos diferentes metodos e bem diferente.
Apesar dos metodos Quase-Newton terem sido desenvolvidos com base na ideia de minimizar funcoes
quadraticas em n + 1 passos, eles nao foram pensados para se limitar apenas `a solucao dessa tarefa. As
expressoes desenvolvidas para a atualizacao da aproximacao da inversa da Hessiana da funcao quadratica
q(x) podem ser utilizadas para aproximar a inversa da Hessiana de qualquer funcao f (x) e e a que reside o


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)

Definindo-se os seguintes vetores:

ou ainda:

A Expressao (3.80) e denominada equac


ao secante ou Quase-Newton.
Se forem gerados n vetores kx linearmente independentes e com eles forem obtidos n vetores kg por meio
da equacao Quase-Newton, e possvel agrupar os vetores kx na matriz D e os vetores kg na matriz Q e
reescrever as Equacoes (3.80) e (3.81) da seguinte forma:
Q=QD

(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)

Substituindo-se Sk+1 pela expressao basica de correcao de posto um (3.87) , chega-se a:


t
kx = Sk kg + ak zk zk kg

(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

ou ainda, utilizando-se a Equacao (3.93):


t

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)

nesse ponto e feita calculando-se em sequencia:

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:

Quando se chega ao ponto xk+1 e se obtem Sk+1 , deve-se ter:


ix = Sk+1 ig ,

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)

Pos-multiplicando-se a expressao (3.103) com i = k por ig obtem-se:


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)

Pela hipotese de inducao:


Sk+1 ig

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)

No algoritmo de posto dois a expressao para a atualizacao de Sk e dada por:


Sk+1

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

Algoritmo BFGS (BroydenFletcherGoldfarbShanno)

A expressao para a atualizacao de Sk no metodo BFGS e apresentada a seguir:


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

Problemas com Restri


c
oes de Igualdade

Considerar o seguinte problema de otimizacao com restricoes de igualdade apenas:

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)

onde o vetor hk e o gradiente de hk (x) em x .


Para que o passo s seja viavel, e preciso que a restricao hk seja satisfeita no ponto (x + s). Como ela e
satisfeita em x (ou seja: hk (x ) = 0), isso significa que deve-se ter:
st hk = 0

(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

CAPITULO 4. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OCR)

f (x + s) f (x ) + st g

(4.5)

onde g e o vetor gradiente de f (x) em x .


Para que o passo s seja de decrescimo, e preciso que f (x + s) seja menor do que f (x ), ou seja:
st g 0

(4.6)

Mostra-se que, se g for expresso por:

g =

m
X

k hk

(4.7)

k=1

entao nao e possvel dar um passo viavel e de decrescimo s a partir de x e, consequentemente, x e um


mnimo local do problema representado pela Equacao (4.2).
A Equacao (4.7) significa que g , vetor gradiente de f (x) em x , deve ser uma combinacao linear dos
gradientes das restricoes em x , ou ainda, o vetor g deve pertencer ao espaco cuja base e definida pelos
vetores hk . O escalar k e denominado multiplicador de Lagrange associado `a restricao k.
A prova de que a condicao acima e necessaria e suficiente para que x seja um mnimo local e dada por
contradicao. Se a condicao (4.7) nao for necessaria, pode-se entao escrever:

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)

Substituindo-se s por u na Equacao (4.10) e g pela expressao (4.8) obtem-se:


"
#
m
X

t
t

s g = u u
k hk = kuk + 0 0

(4.11)

k=1

Portanto, s, alem de ser um passo viavel, e tambem um passo de decrescimo a partir de x .


Ao se supor que g nao esta no espaco definido pelos vetores hk , foi possvel encontrar um passo
s = u, que era, ao mesmo tempo, viavel e de decrescimo, o que nao e possvel se x for um mnimo local.
Conclui-se, entao, que s deve ser nulo e que g deve pertencer ao espaco cuja base e definida pelos vetores
hk . A expressao (4.7) apresenta, portanto, uma condicao necessaria de primeira ordem para que x seja
um mnimo local do problema de otimizacao com restricoes de igualdade definido em (4.2). Esta condicao
conduz ao metodo dos multiplicadores de Lagrange.
Para se encontrar x e k que satisfacam as equacoes:
g(x ) =

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

e conveniente definir a funcao Lagrangeana como:


L(x, ) = f (x) +

m
X

k hk (x)

(4.14)

k=1

Para se encontrar o mnimo da funcao Lagrangeana, deve-se ter:


m

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

Problemas com Restri


c
oes de Desigualdade

Considerar, agora, o seguinte problema de otimizacao com restricoes de desigualdade apenas:

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)

Mostra-se que, se, para as restricoes ativas j, g for expresso por:


X
g =
j cj

(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

CAPITULO 4. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OCR)

44

Seja s um passo que satisfaz:


st cj = 0,

j 6= q

(4.23)

e
st cq = 1
t

(4.24)

cj

Nota-se que o passo s, definido acima, e viavel pois s


0 para todo j, inclusive j = q. Agrupandose todos os vetores coluna cj em uma matriz, denominada A , as Equacoes (4.23) e (4.24) podem ser
reescritas como:
t

(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

onde o smbolo + significa a inversa generalizada2 de (A ) . Supondo-se m restricoes ativas e sabendot


se que o vetor s tem a dimensao do vetor x, ou seja n, a matriz (A ) tera a dimensao m n, e sua inversa
generalizada n m.
O conceito de matriz inversa generalizada e aplicado a matrizes retangulares. Seja uma matriz retangular
Bmn . Chama-se inversa generalizada `a esquerda de Bmn a matriz B+
nm com a seguinte propriedade:
B+
nm Bmn = Inn

(4.27)

onde Inn e a matriz identidade de ordem n. Pode-se adiantar que uma maneira simples de se obter a
inversa generalizada `a esquerda da matriz Bmn e:
t
1 t
B+
Bnm
nm = Bnm Bmn

(4.28)

1 t
t
Bnm Bmn = Inn
B+
nm Bmn = Bnm Bmn

(4.29)

pois:

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)

A expressao (4.34) e chamada de condic


ao de complementaridade e significa que, se a restricao de desigualdade nao estiver ativa, o multiplicador de Lagrange associado deve ser nulo.
2 Mais

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

Problema Geral de Otimiza


c
ao com Restri
c
oes

Seja um problema geral de OCR:

min f (x)

s.t.

hk (x) = 0, k = 1 . . . m
cl (x) 0, l = 1 . . . p

A funcao Lagrangeana associada e dada por:


L(x, , ) = f (x) +

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

Problemas com Restri


c
oes de Igualdade

l = 1...p

Considerar que os vetores hk sao linearmente independentes em x . Da definicao de funcao Lagrangeana,


pode-se escrever que, para o ponto (x + s):
L(x + s, ) = f (x + s) +

m
X

k hk (x + s)

(4.35)

k=1

ou, pela serie de Taylor de segunda ordem:


1 t
s W s
(4.36)
2
onde W e a Hessiana da funcao Lagrangeana L no ponto (x , ) e L,x , e o vetor das derivadas parciais
de L em relacao `as variaveis x. Como a funcao Lagrangeana no ponto (x , ) e dada por:
L (x + s, ) = L (x , ) + st L +

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

CAPITULO 4. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OCR)

46

pode-se reescrever a aproximacao de Taylor, como:


L (x + s, ) = f (x ) +

1 t
s W s
2

(4.40)

Para que s seja uma direcao viavel, deve-se ter:


hk (x + s) = 0,

k = 1...m

(4.41)

o que tambem significa dizer, considerando (4.35), que:


L (x + s, ) = f (x + s)

(4.42)

Combinando-se as Equacoes (4.40) e (4.42) obtem-se:


f (x + s) = f (x ) +

1 t
s W s
2

(4.43)

E, se x e um mnimo local, entao:


st W s 0

(4.44)

Em outras palavras, se s e um vetor numa direcao viavel, ou seja:


st hk = 0

(4.45)

a Hessiana da funcao Lagrangeana deve ser positiva semidefinida em relacao ao vetor s, das direcoes
viaveis estacionarias.
4.1.2.2

Problemas com Restri


c
oes de Desigualdade

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

ou, pela serie de Taylor de segunda ordem:


1 t
s W s
(4.47)
2
onde, novamente, W e a Hessiana da funcao Lagrangeana L no ponto (x , ) e L e o vetor das
derivadas parciais da funcao Lagrangeana em relacao `as variaveis x. Como a funcao Lagrangeana no ponto
(x , ) e dada por:
L (x + s, ) = L (x , ) + st L +

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)

e a condicao de primeira ordem impoe:


L = 0
Pode-se reescrever a aproximacao de Taylor como:

(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)

Nessas condicoes, nada se pode afirmar sobre o sinal do produto:


st W s

(4.53)

pois, pelo exposto acima:


f (x + s) +

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)

isto significa afirmar que:

pois, pela expansao de primeira ordem em serie de Taylor:


cj (x + s) = cj (x ) + st cj

cj (x ) = 0 (ou seja: ativa)

e ainda:

entao:
f (x + s) f (x ) =

1 t
s W s
2

(4.58)

e, se x e um mnimo local, entao:


st W s 0

(4.59)

Vale observar que, se s satisfaz a Equacao (4.57) e, no ponto x tem-se:


X
g =
j cj

(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

CAPITULO 4. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OCR)

48

Portanto, se s e um vetor numa direcao viavel em relacao `as direcoes ativas:


st cj = 0

(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

Os multiplicadores de Lagrange representam a sensibilidade da funcao objetivo ou da funcao Lagrangeana


na solucao em relacao `a uma perturbacao em uma dada restricao ativa. Em outras palavras, o quanto a
funcao objetivo (ou Lagrangeana) mudaria, caso houvesse uma perturbacao numa dada restricao ativa. Para
simplificar a demonstracao, sera considerado um problema de minimizacao com uma restricao de igualdade
apenas. Matematicamente, a mudanca na funcao objetivo (ou Lagrangeana) para uma dada perturbacao
pode ser medida na restricao por:
dL
df
=
=
(4.64)
d
d
onde L e f sao, respectivamente, os valores de L e f avaliados na solucao x .
Para se demonstrar a expressao (4.64) deve-se comecar imaginando uma perturbacao na restricao de
igualdade h(x), ou seja:
h(x) =

(4.65)

A expressao da funcao Lagrangeana do problema de otimizacao na solucao, onde x = x e = , como


funcao da perturbacao em uma restricao de igualdade h(x) e dada por:
L [x (), (), ] = f [x ()] + () [h(x) ]

(4.66)

Pela regra da cadeia:


dL
L dx L d L
=
+
+
d
x d
d

como, na solucao, as condicoes de KKT impoem que:


L
=0
x

(4.67)

L
=0

entao:
L
dL
=
=
d

(4.68)

L (x, , ) = f (x) + [h(x) ]

(4.69)

dL
df
d
dh(x)
=
+
[h(x) ] +
1
d
d
d
d

(4.70)

h(x) = 0

(4.71)

Por outro lado,

logo:

Porem, na solucao:

e, consequentemente:

4.3. DUALIDADE DE WOLFE

49

dh(x)
1=0
d

(4.72)

dL
df
=
d
d

(4.73)

df
=
d

(4.74)

assim, pode-se afirmar que:

e, finalmente, chega-se a:

Pode-se interpretar a expressao (4.74) da seguinte maneira: se o multiplicador de Lagrange tem um


valor alto, isso significa que qualquer relaxacao na restricao a ele associada, vai significar uma alteracao
correspondente na funcao objetivo. Essa informacao, pode auxiliar o projetista, na comparacao do grau de
importancia de cada restricao no valor da funcao objetivo obtido na otimizacao.

4.2.1

Exemplo de Aplica
c
ao

4.3

Dualidade de Wolfe

O conceito de dualidade permite, a partir de um dado problema de programacao matematica, chamado


primal, obter um outro problema, chamado dual, cuja solucao tem relacao com a solucao do problema primal.
Alem disso e possvel, conhecendo-se a solucao de um deles, obter a solucao do outro. Essa possibilidade e
interessante por varios motivos. O primeiro deles e que, muitas vezes, e mais conveniente, sob o ponto de
vista da eficiencia computacional, resolver o problema dual ao inves do primal (e vice-versa). Em outras
situacoes, a formulacao de um problema de programacao matematica resulta da aplicacao de um teorema
das ciencias de engenharia. Quando isso acontece, o problema dual de programacao matematica representa,
normalmente, a formulacao de um teorema dual ao primeiro. Esse e o caso da analise limite de estruturas
via programacao matematica. A teoria da plasticidade das estruturas apresenta dois teoremas para o calculo
do fator de colapso em estruturas que sao os teoremas do limite inferior e do limite superior. Quando se
formulam os dois teoremas como problemas de programacao matematica, eles se apresentam como duais, ou
seja, um seria o primal e o outro o dual. Mesmo que so houvesse um teorema da analise limite, a dualidade
permitiria formular dois problemas duais.
A dualidade de Wolfe permite mostrar que, dado um problema primal (PP):

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

seu problema dual (PD) e dado por:

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

As solucoes dos problemas primal e dual se relacionam da seguinte forma:

COM RESTRIC

CAPITULO 4. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OCR)

50

O valor da funcao objetivo na soluc


ao do PP, f (x ), e igual ao valor da funcao objetivo na solucao do

PD, L(x , , ).
O vetor x do PP e igual ao vetor ( , ) do PD e vice versa.
Para se provar a dualidade de Wolfe, comeca-se relembrando a funcao Lagrangeana do PP na solucao,
ou seja:
m
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

Na solucao do PP, onde x = x , = e = , e valem as condicoes KKT, pode-se escrever:


L(x , , ) = f (x )

(4.80)

Por outro lado, deixando-se variar os multiplicadores de Lagrange e mantendo-se x = x , obtem-se:


L(x , , ) = f (x ) +

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,

para todos os multiplicadores de Lagrange, pode-se afirmar que:


L(x , , ) L(x , , )

(4.83)

pois, com os multiplicadores de Lagrange negativos, ter-se-ia:


m
X

k hk (x ) +

k=1

p
X

l cl (x ) 0

(4.84)

l=1

uma vez que:


hk (x ) = 0

cl (x ) 0

Considerando-se, como suposto inicialmente, que a funcao Lagrangeana L e convexa, tem-se:


t

L(x , , ) L(x, , ) + (x x)
Se for imposta a restricao:

L(x, , )
x

(4.85)

4.3. DUALIDADE DE WOLFE

51

L(x, , )
=0
x

(4.86)

L(x , , ) L(x, , )

(4.87)

entao, pode ser dito que:

e, consequentemente, conforme ja foi demonstrado anteriormente:


L(x , , ) L(x , , ) L(x, , )

(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

CAPITULO 4. FUNDAMENTOS DE OTIMIZAC


AO
OES
(OCR)

52

Explicitando-se o vetor c na restricao acima e substituindo-o na funcao objetivo, obtem-se:


t

(A + ) x + t (At x b) t x = bt + f0

(4.95)

Pode-se agora, considerando que 0, reescrever o problema dual simplesmente como:

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

Considerando-se agora um problema primal de programacao quadratica padrao, ou seja:

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)

Explicitando-se x no primeiro grupo de restricoes:


x = Q1 (A f )

(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)

onde rp e o fator de penalidade.


possvel mostrar, como sera visto mais adiante, que a solucao do problema de OCR proposto acima,
E

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

4. Terminar o processo iterativo quando houver convergencia de xk .


Mostra-se agora que o ponto limite do metodo de penalidade, xk , converge para x . Para tal, parte-se
inicialmente para se mostrar que, se rpk , entao:
1. (xk , rpk ) e nao decrescente.

2
2. h(xk ) e nao crescente.
3. f (xk ) e nao decrescente.
Seja rpk < rpl , entao:
(xk , rpk ) (xl , rpk )

(5.4)

pois xk minimiza (x, rpk ). Por outro lado:


(xl , rpk ) (xl , rpl )

(5.5)

(xl , rpl ) (xk , rpl )

(5.6)

pois rpk < rpl . Analogamente:

pois xl minimiza (x, rpl ).


Com as desigualdades definidas acima e possvel escrever a cadeia completa de desigualdades, ou seja:
(xk , rpk ) (xl , rpk ) (xl , rpl ) (xk , rpl )

(5.7)

Comparando-se o primeiro e o terceiro termos da cadeia de desigualdades:


(xk , rpk ) (xl , rpl )

(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)

Analogamente, comparando-se o terceiro e o segundo termos da cadeia:

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

(xk , rpk ) (xl , rpk )

(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)

f = min f (x) { x | h(x) = 0 }

(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

e o processo iterativo seria o mesmo adotado no caso anterior.


Para o problema de OCR com uma restricao de desigualdade, ou seja:

min f (x)

(5.22)
s.t.

c(x) 0

a funcao de penalidade e modificada para:


1
2
rp {max [0, c(x)]}
(5.23)
2
de forma a penalizar a funcao objetivo apenas quando a restricao for violada. Quando existem varias
restricoes de desigualdade, a funcao de penalidade e dada por:
(x, rp ) = f (x) +

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)]}

Figura 5.1: Processo de Convergencia do Metodo de Penalidade.

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

Funcao de Barreira Logaritmica (Frisch, 1955) [4]:


(x, rb ) = f (x) + rb

p
X

{log [cl (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

A Figura 5.2 ilustra o comportamento dos dois metodos.

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

Problemas Especiais em OCR


No captulo 5 foi visto como resolver problemas de OCR usando metodos indiretos que transformam o
problema de OCR num problema de OSR equivalente e resolve esse u
ltimo. Nesse captulo serao estudados
os metodos diretos de solucao de problemas especiais em OCR, nomeadamente, o problema de Programacao
Linear (PL) e o Problema de Programacao Quadratica (PQ). Os metodos diretos para resolver problemas
de OCR estao relacionados ao tipo de problema em questao. Assim, o Metodo Simplex e um metodo para se
encontrar a solucao de problemas de PL, o algoritmo de Lemke e um algoritmo para se resolver problemas de
PLC, e, como tal, pode ser empregado tambem para se obter a solucao de problemas de PQ, etc.. Exemplos
de aplicacao em engenharia civil serao formulados e resolvidos pelos algoritmos propostos.

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:

min f (x1 , x2 ) = 5x1 3x2


s.t. g1 (x1 , x2 ) = 3x1 + 5x2 15
g2 (x1 , x2 ) = 5x1 + 2x2 10
x1 0
x2 0

A solucao grafica do problema esta indicada a seguir

59

(6.1)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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

Figura 6.1: Representacao grafica do problema de PL.

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.

f (x1 , x2 ) = 12, 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

Figura 6.2: Anomalias em modelos de Programacao Matematica.

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,

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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

1, 5x1 + x2 + 2, 4x3 + x4 2000


x1 + 5, 0x2 + x3 + 3, 5x4 8000
1, 5x1 + 3, 0x2 + 3, 5x3 + x4 5000

Tempo total em horas por


maquina por semana
2000
8000
5000

(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)

A primeira parcela da funcao objetivo representa o lucro obtido com a producao de um n


umero x1 de
produtos do tipo 1. Do mesmo modo, a segunda a terceira e a quarta parcelas representam o lucro obtido
com os produtos do tipo 2, 3 e 4 respectivamente.
A solucao desse problema e:
x1 = 294, 118, x2 = 1500, x3 = 0, x4 = 58, 824 e o lucro correspondente f (x1 , x2 , x3 , x4 ) = 12740 reais.
No problema em questao os resultados devem ser arredondados para n
umeros inteiros por representarem
n
umero de unidades produzidas.

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)

Entao os vetores sao chamados de linearmente independente (LI).


Uma definicao alternativa para um conjunto de vetores linearmente dependentes e que: um conjunto de
vetores a1 , . . . , am pertencentes a Em e linearmente dependente se, e somente se, um dos vetores for uma
combinacao linear dos outros.
am =

m1
X

i a i

=1

Considerando em (6.5) que m 6= 0, vem:

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

Como uma base e formada por vetores LI,


i i = 0

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

Para pelo menos um i ou diferente de zero.


nao pode ser igual a zero em (6.13) pois isso iria contradizer a hipotese de que o conjunto ai , i =
1, . . . , r 1 seja LI.
Eliminando b de (6.13) com o uso de (6.12), vem
r1
X

(i + i ) ai + r ar = 0

(6.14)

i=1

e r 6= 0. No entanto, isto contradiz o fato de que o conjunto ai , i = 1, . . . , r seja L.I. Portanto, a


hipotese inicial de que o conjunto formado por a1 , a2 , . . . , ar , b e LD levou a uma contradicao e assim nao e
verdadeira. Conclui-se entao que o conjunto e L.I.
Seja o vetor x representado na base a1 , . . . , ar .
x=

r
X
i=1

i ai

(6.15)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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)

Substituindo (6.16) em (6.15), vem:

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

Assim, como ja foi demonstrado, a1 , . . . , au1 , bv , e tambem uma base de En .


O vetor bv1 pode agora ser representado nessa base

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)

caso u > v ou u = v, respectivamente.


Se u < v chega-se a uma situacao em que sobram alguns bj fora da base que poderiam ser representados
pelos vetores da base. Isso e impossvel pois para ser uma base o conjunto deve ser L.I, logo u v.
possvel agora comecar com a base bj e inserir os vetores aj nessa base. Isso iria a conduzir a que
E
entao v u.
Au
nica solucao possvel para as condicoes u v e v u e u = v.
Para se determinar o n
umero de vetores necessarios para formar uma base do espaco En e suficiente
encontrar somente uma base, todas as outras bases devem ter entao o mesmo n
umero de vetores do que essa
base encontrada. Como se sabe que n vetores unitarios ei formam uma base para o espaco En , entao todas
as bases devem ter n vetores.
6.1.2.3

Posto (ranking) de uma matriz Amxn

As colunas de Amxn podem ser consideradas vetores do espaco En .


O posto de uma matriz A, mxn, expresso por r(A), e o n
umero maximo de colunas linearmente independentes em A.

LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO
6.1.2.4

65

Solu
c
oes b
asicas

Seja o sistema de equacoes


Ax = b

(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

Pontos e conjuntos de pontos

A notacao
X = { x| P (x)}

(6.23)

Indica que o conjunto de pontos X = {x} possui a propriedade P (x).


Em E2 , por exemplo, um conjunto de pontos limitado por uma circunferencia de raio unitario com centro
na origem, isto e, o conjunto de pontos que satisfaz a desigualdade x21 + x22 < 1 pode ser representado por:

x = [x1 , x2 ]| x21 + x22 < 1

(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)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

66

ct x = z

(nao todos ci nulos),

(6.29)

sendo c e x vetores coluna n 1 e z um escalar, e um hiperplano.


Em E2 esse hiperplano se degenera numa reta e em E3 num plano.
Se z = 0 o hiperplano passa pela origem, ou seja, o vetor x = 0 pertence ao hiperplano:
ct x = 0

(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)

e denominado vetor unitario normal ao hiperplano.


Dois hiperplanos sao ditos paralelos se possurem o mesmo unitario normal.
Seja o hiperplano
ct x = zo

(6.34)

e o conjunto de pontos
x1 = x0 + c

com

>0

ct xo = zo

Deve-se observar que xo pertence ao hiperplano definido em (6.34) e x1 pertence ao hiperplano


2

ct (xo + c) = zo + |c| = z1

com

z1 > zo

(6.35)

Assim os pontos x1 pertencentes ao hiperplano ct x1 = z1 satisfazem a ct x1 > zo .


Isto significa que o hiperplano ct x1 = z1 pode ser obtido deslocando-se o hiperplano ct xo = zo paralelamente a si mesmo na direcao de c.
O hiperplano ct x = z divide o espaco En em tres conjuntos mutuamente exclusivos e completos, nomeadamente

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

Figura 6.3: Representacao grafica de um conjunto nao convexo.

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)

A intersecao de dois conjuntos convexos e um conjunto convexo.


Sejam dois conjuntos convexos X1 e X2 e x1 , x2 dois pontos quaisquer pertencentes ao conjunto X3
intersecao de X1 e X2 , ou seja, X3 = X1 X2 .
Logo,

x2 + (1 ) x1 X1 , 0 1
(6.40)

x2 + (1 ) x1 X2 , 0 1
Assim,
x2 + (1 ) x1 X1 X2 = X3 , 0 1

(6.41)

e deste modo, X3 e convexo. Se X1 e X2 sao conjuntos fechados, X3 tambem e fechado. Para verificar
esse fato, basta notar que todo ponto limite de X3 e um ponto limite de X1 ou de X2 .

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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

Figura 6.4: Ponto no interior de um triangulo.

Da Figura e possvel escrever


v = 1 x1 + (1 1 )x3 ;

0 1 1

(6.43)

= 2 x2 + (1 2 )v;

0 2 1

(6.44)

Substituindo v em (6.44) vem


= 2 x2 + (1 2 )2 x1 + (1 1 )(1 2 )x3

(6.45)

Seja agora,
1 = (1 2 )1 ;

2 = 2

3 = (1 1 )(1 2 )

(6.46)

obvio que i 0 e 1 + 2 + 3 = 1, assim


E
=

3
X
i=1

i xi ;

i 0;

3
X

i = 0

(6.47)

i=1

ou seja, os pontos w de um triangulo em E2 representam uma combinacao convexa dos vertices do


triangulo.

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

Figura 6.5: Conjunto fechado X limitado por ct x <= z.

possvel demonstrar que dado um ponto limite w de um conjunto convexo X, entao, ct x = z e


E
chamado um hiperplano suporte de w se ct w = z e se todo o conjunto X estiver contido no semiespaco fechado produzido pelo hiperplano, isto e, ct u z, ou entao, ct u z para todo u x. A
Figura 6.7 esclarece:

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)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

70

cw= z

cu< z

x2

w2
u

x1

Figura 6.6: Hiperplano suporte de w.


entao
x1 , x2

Isso e verdade porque

ct t = ct x2 + (1 ) ct x1 = z

(6.49)
ct x1 z, ct x2 z

pois ct x e um hiperplano suporte.


Considerando que 0 e 1 > 0 pode-se concluir que ct t = z exige que
ct x1 = ct x2 = z

(6.50)

ou seja, x1 , x2 T . Assim, se t e um ponto extremo de T , nao existem outros pontos x1 e x2 em X


tais que t possa ser escrito como uma combinacao convexa desses pontos, com 0 < < 1. Portanto,
um ponto extremo em T e um ponto extremo em X.

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)

satisfazendo m desigualdades ou igualdades lineares da forma


ai1 x1 + ai2 x2 + + air xr {

ou

ou

}bi ,

supondo-se que todas as constantes aij , bi e cj sejam conhecidas.

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}

Figura 6.7: Espaco T.


mais conveniente trabalhar com equacoes de igualdade do que com desigualdades. Por essa razao, as
E
restricoes de desigualdades em (6.52) sao transformadas em restricoes de igualdade com o uso de variaveis de
folga ou de excesso. Outra transformacao que deve ser feita inicialmente e aquela que faz com que todos os bi
sejam nao-negativos, ou seja, bi 0. Para tanto, ambos os lados das equacoes com bi < 0 sao multiplicados
por -1 e o sinal e invertido, caso a restricao seja de desigualdade.
Considere-se primeiramente as restricoes de desigualdade do tipo ,
r
X

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

Analogamente, para as restricoes de desigualdade do tipo ,


r
X

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

Deste modo, as restricoes originais se transformam num sistema de restricoes de igualdade


r
P
j=1
r
P
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

Na forma matricial o sistema descrito em (6.57) pode ser escrito como


Ax = b

(6.58)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

72

onde A e uma matriz m (r + v), x um vetor (r + v) 1 e b um vetor m 1.


Observe que o n
umero de variaveis no problema transformado e igual a r + v porque foram adicionadas v
variaveis (u de folga e vu de excesso) `as r variaveis iniciais, uma variavel para cada restricao de desigualdade
ou .
Como novas variaveis de folga e de excesso foram introduzidas no problema, e necessario atualizar a
funcao objetivo z como
z = c1 x1 + c2 x2 + + cr xr + 0xr+1 + + 0xr+v

(6.59)

ou sucintamente,
z=

r+v
X

cj xj

(6.60)

ou matricialmente,
z = ct x

(6.61)

onde c e x sao vetores colunas (r + v) 1


O problema de PL pode ser agora reescrito de forma sucinta como

z = ct x
min ou max
s.t
Ax = b

x0

(6.62)

Sendo x e c vetores colunas n 1, sendo n = r + v, b um vetor coluna m 1 e A uma matriz m n.


6.1.3.2

Hip
oteses preliminares

De incio, as seguintes suposicoes sao admitidas como verdadeiras.

r (A) = r (Ab ) sendo Ab = (A, b)


(6.63)

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)

Substituindo em (6.66), vem:

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

Para qualquer j para o qual j = 0, (6.72) sera satisfeita automaticamente.


Quando j 6= 0 as seguintes condicoes devem ser satisfeitas

(6.72)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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)

sendo que para que a solucao seja compatvel todo xj 0 (j = 1, . . . , n).


Seja a matriz B, m m, formada com m colunas aj de A. as colunas de B formam uma base para o
espaco Em e ela e nao singular porque suas colunas sao L.I.
importante notar que b1 pode ser qualquer coluna
As colunas de B serao denominadas de b1 , . . . , bm . E
de A, por exemplo, a17 e o mesmo vale para as outras colunas.
Qualquer coluna aj de A pode ser representada como uma combinacao linear das colunas de B ja que
estas formam uma base para o espaco vetorial Em .
aj =

m
X

bi yij = Byj

(6.76)

i=1

ou
yj = B1 aj

(6.77)

O vetor yj contem as coordenadas do vetor aj na base B.


Qualquer matriz B determina uma solucao basica xb com m componentes
xb = B1 b

(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)

Uma equacao similar `a equacao (6.79) pode ser definida como


zj = ctb yj

(6.80)

LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO

75

ja que tanto o vetor cb como yj , sao vetores coluna m 1.


Para cada aj em A e possvel calcular um vetor yj segundo (6.76) e um zj segundo (6.80). A definicao
de zj sera importante na formulacao do metodo Simplex.
6.1.3.5

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)

Com B e xb e possvel obter

yj = B1 aj

(6.83)
zj = ctb yj

para toda coluna aj nao pertencente a B.


Sera provado mais adiante que a solucao de um problema de PL e uma solucao compatvel basica.
A ideia basica do Metodo Simplex e:
Partindo-se de uma solucao basica inicial, encontrar uma nova solucao basica com valor da funcao
objetivo correspondente melhorado, ou seja, menor para um problema de minimizacao e maior para um
problema de maximizacao.
Sabendo, a priori, que a solucao do problema e uma solucao compatvel basica, uma nova solucao basica
deve ser obtida retirando-se uma coluna da base B e substituindo-a por uma coluna aj fora da base.
Duas d
uvidas devem ser esclarecidas nesse processo:
1. Qual coluna de B deve sair da base?
2. Qual coluna aj fora da base deve entrar na base?
Para responder a primeira questao e necessario obter as expressoes da nova solucao basica a partir da solucao
basica anterior.
Seja a solucao basica inicial dada por:
m
X

xbi bi = b

(6.84)

i=1

E as colunas fora da aj representadas por


aj =

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

Substituindo-se a expressao da coluna br dada em (6.86) na expressao (6.84), obtem-se:

(6.86)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

76

m
X

i=1
i 6= r

xbr
yij
bi +
xbi xbr
aj = b
yir
yrj

A nova solucao basica deve ser compatvel portanto,


(
yij
x
bi = xbi yir
xbr 0; i 6= r
xbr
x
br = yrj 0

(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)

entao, a nova solucao basica sera compatvel.


O que a expressao (6.90) define e:
Se a coluna aj for escolhida para entrar na base, a coluna br , escolhida segundo o criterio definido por
(6.90), deve sair da base para que a nova solucao basica seja compatvel.
A pergunta (a) esta respondida, mas nao a pergunta (b) pois nao esta definido qual coluna aj deve entrar
na base no lugar de br .
Essa resposta sera dada ao examinarmos qual coluna aj corresponde ao melhor valor da funcao objetivo
z.
O valor da funcao objetivo para a solucao basica original e
z = ctb xb =

m
X

cbi xbi

(6.91)

i=1

O novo valor da funcao objetivo para a nova solucao compatvel basica e


z =

m
X

cbi

i=1
i 6= r

yij
xbi xbr
yrj

xbr
cj
yrj

(6.92)

Esse novo valor foi obtido de,


z =

tb
c

b =
x

m
X

cbi x
bi

i=1

Observe que cbi = cbi (i 6= r) e cbr = cj .


conveniente incluir no somatorio em (6.92) o termo nulo
E

(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)

o que permite escrever


m
X

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)

e, finalmente, considerando (6.90),


z = z + r (cj zj )

(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)

para que z > z


A expressao (6.98) vai responder a pergunta (b), ou seja, qual coluna aj deve entrar na base.
Para se obter o maior crescimento de z a coluna a entrar na base deve ser aquela que fornecer o maior
valor para
r (cj zj )

(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

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

78

Seja a matriz B formada com as colunas a3 na coluna 1 e a2 na coluna 2.

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

e o valor da funcao objetivo correspondente


z = ctb xb

(6.104)

Somando e subtraindo aj , qualquer escalar, em (6.103) vem


m
X

xbi bi aj + aj = b

(6.105)

i=1

mas
aj =

m
X

yij bi

(6.106)

m=1

logo, substituindo (6.106) em (6.105),


m
X

(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

cbi (xbi yij ) + cj

(6.108)

i=1

ou
z = z + (cj zj )

(6.109)

Para suficientemente grande, z pode ser arbitrariamente grande se cj zj > 0 e arbitrariamente


pequeno se cj zj < 0. Entao, nesse caso, existem solucoes compatveis nas quais (m + 1) variaveis
podem ser diferentes de zero, com o valor da funcao objetivo sendo arbitrariamente grande (cz zj > 0) ou
arbitrariamente pequeno(cj zj < 0). Diz-se que em tal caso o problema tem uma solucao ilimitada.
Em resumo: o problema de PL tera uma solucao ilimitada se houver uma coluna aj fora da base B para
a qual
yij 0 (i = 1, . . . , m)
6.1.3.7

cj zj > 0

ou

cj zj < 0

(6.110)

Condi
c
oes de otimiza
c
ao

Seja uma solucao compatvel basica que satisfaz


Bxb = b
para o problema de PL dado a seguir:

(6.111)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

80

z = ct x

max
s.t
Ax = b
x0

(6.112)

O valor da funcao objetivo para a solucao compatvel basica sera


zo = ctb xb

(6.113)

Alem disso, seja cj zj 0 para toda coluna aj de A nao pertencente `a matriz B da base.
possvel mostrar 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)

O valor correspondente da funcao objetivo, expresso por z , e


z = c1 x1 + + cn xn

(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

Substituindo (6.116) em (6.114), vem:


x1

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

no entanto, reescrevendo (6.111), como


xb1 b1 + + xbm bm = b

(6.119)

E comparando (6.119) com (6.118), verifica-se que:


xbi =

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)

Se aj estiver na coluna i de B. assim,


zj = ctb yj = ctb ei = cbi = cj

(6.122)

logo, para as colunas aj que formam a base B


zj cj = 0

(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)

ja que para uma solucao compatvel xj 0 para todo j.


Usando a definicao de zj
zj =

m
X

cbi yij

(6.125)

i=1

em (6.124), e reagrupando, vem:

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

O valor otimo da funcao objetivo para qualquer problema de PL e u


nico, mas o conjunto de variaveis que
produz o valor otimo da funcao objetivo nao e necessariamente u
nico.
Sejam k diferentes solucoes compatveis basicas xb 1 , xb2 , . . . , xbk que sejam tambem otimas.
Seja qualquer combinacao convexa dessas solucoes
x=

k
X

i xbi ,

i 0,

k
X

i = 1, . . . , k,

i=1

i = 1;

(6.128)

i=1

Ja que cada xbi 0 e i 0 segue que x 0.


Alem disso, como para cada i, Axbi = b, vem
Ax = A

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)

o valor da funcao objetivo para x e


ct x = ct

k
X

i xbi =

i=1

portanto x e tambem uma solucao otima.

k
X
i=1

i ct xbi =

k
X
i=1

i zo = zo

(6.131)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

82

x2

Em resumo, pode-se enunciar que:


Se xb1 , xb2 , . . . , xbk sao k solucoes compatveis basicas otimas diferentes para um problema de PL, entao,
qualquer combinacao convexa dessas solucoes sera tambem uma solucao otima.
Isso mostra que se houver duas ou mais solucoes compatveis basicas otimas, havera um n
umero infinito
de solucoes otimas nao necessariamente basicas.

x=m1xb1+m2xb2

a1x=b1

xb1
x
xb2
a2x=b2

a3x=b3

Figura 6.8: Alternativa Otima.

6.1.3.9

Pontos extremos e solu


c
oes compatveis b
asicas

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)

sendo u1 e u2 vetores m 1 e v1 e v2 vetores (n m) 1.


Substituindo x dado em (6.133), e x1 e x2 , dados em (6.135) na expressao (6.134) vem

xb
u1
u2
=
+ (1 )
0
v1
v1

(6.135)

(6.136)

LINEAR (PL)
6.1. O PROBLEMA DE PROGRAMAC
AO

83

Examinando o segundo grupo de equacoes em (6.136), ou seja


0 = v1 + (1 )v2

(6.137)

Pode-se afirmar que v1 = v2 = 0 pois e (1 ) 0 e v1 , v2 0. Assim,


Ax1 = Bu1 = b

Ax2 = Bu2 = b

(6.138)

Como o vetor que representa as coordenadas do vetor b na base B e u


nico, entao
xb = u1 = u2 ; x = x1 = x2

(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

Agora, suponha que


xi
, i 6= 0, i = 1, . . . , k
i |i |
Observe que e um n
umero positivo. Seja um valor tal que, 0 < < , entao,
= min

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 =

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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)

sendo I uma matriz identidade de ordem m ( n


umero de restricoes de desigualdade do problema original
) e R a matriz dos coeficientes das incognitas nas restricoes de desigualdade do problema original.
O vetor das incognitas x deve ser reescrito entao como,
x = (xr , xs )

(6.150)

onde xr contem as variaveis do problema original e xs as vari


aveis de folga introduzidas em cada
restricao de desigualdade.
Ao fazer xr = 0 em Ax = b, vem,
Ixs = b

(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)

Como os custos associados `as variaveis de folga sao nulos,


cb = 0;

(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

s.t Axr + Ixa = b

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.

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

86

max
s.t.

6.2

z = ct x
Ax = b
x0

O Problema de Programac
ao Quadr
atica (PQ)

O problema de programacao quadratica e definido como,


1 t
x Qx + f t x
2
Nt x = n
At x b

min q (x) =
s.t.

(6.159)

Onde,
x e o vetor das 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

6.2. O PROBLEMA DE PROGRAMAC


AO
(PQ)

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 .

Atmn xn1 = Atmn Snm bm1 + Znx(nm) y(nm)x1 = bm1

(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)

Por outro lado, vamos verificar agora o produto,


At Q 2

(6.171)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

88

De novo, considerando a decomposicao de A, dada em (6.164),


At Q2 = Rt Q1 t Q2 = 0,

(6.172)

Sendo assim, observando (6.170), podemos dizer que,


St = R1 Q1 t

(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,

Pois, obersevando (6.172),

6.2.2

Problemas de Programac
ao Linear Complementar (PLC)

Vimos que um problema de PQ padrao e definido como,


1 t
x Qx + f t x
2
At x b
x0

min q (x) =
s.t.

(6.177)

Vamos agora introduzir os multiplicadores de Lagrange y e u associados respectivamente ao primeiro e


segundo grupo de restricoes e obter a funcao lagrangeana do problema,

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)

Introduzindo vetores v e t com variaveis de folga positivas, vem,


u Qx + Ay = f
At x b v = 0;
x t = 0;

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)

Podemos agora definir,

w=

u
v

; z=

x
y

; q=

f
b

; M=

Q
At

A
0

E as condicoes de K-K-T podem ser reescritas de forma compacta, simplesmente como,

(6.184)

QUADRATICA

6.2. O PROBLEMA DE PROGRAMAC


AO
(PQ)

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

Algoritmo de Lemke para a soluc


ao do PLC

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)

O vetor z contem as variaveis nao-basicas e w as basicas. Chamemos de L o conjunto de solucoes e de


K o conjunto de solucoes viaveis. Estamos interessados em encontrar solucoes para descricoes equivalentes
de K. As descricoes equivalentes de K podem ser encontradas usando-se pivoteamento em um par pivot
wr , zr , ou seja, executar troca de posicao dos elementos do par pivot na equacao basica, zr se torna uma
variavel basica, e wr nao-basica. O par pivot nao pode ser escolhido arbitrariamente porque senao a solucao
nao sera viavel.
6.2.3.1

Esquema de Pivoteamento de Lemke

O esquema de pivoteamento de Lemke permite encontrar a solucao viavel de um PLC.


Considere uma variavel escalar adicional z0 e um vetor coluna com todos os elementos iguais a 1 e com a
mesma dimensao n de w e z. A equacao basica do PLC e entao modificada fornecendo um PLC aumentado
com uma equacao basica aumentada como indicado a seguir,
w = q + Mz + ez0

(6.189)

onde e e um vetor coluna unitario.


O novo conjunto de variaveis nao-basicas tem entao n + 1 componentes, sendo n componentes em z e
mais z0 . As novas equacoes basicas aumentadas podem ser reescritas como,
0

w =q+M z

(6.190)

Sendo,
0

M =

M e

(6.191)

z =

z
z0

(6.192)

O esquema de pivoteamento de Lemke gera uma seq


uencia de solucoes viaveis para o problema aumentado
possvel demonstrar que nenhuma solucao
que nao sao necessariamente solucoes do problema original. E
ocorre duas vezes durante o esquema, logo ele e proprio. O esquema tem incio transformando z0 de uma
variavel basica em nao-basica de modo a obter uma nova solucao viavel para o problema aumentado. Para tal
e preciso encontrar um par pivot apropriado para z0 . Pivoteamentos sao feitos sucessivamente, tomando-se
o cuidado de sempre obter uma nova solucao viavel. O esquema termina quando z0 volta a ser uma variavel
nao-basica quando entao a solucao do PLC aumentado e solucao tambem do PLC original.

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

90

O exemplo a seguir esclarece. Seja o PLC original,



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,

Determinacao do par pivot,


Primeira linha;
Segunda linha;
Terceira linha;

3 + 1z0 = 0 z0 = 3;
0 + 1z0 = 0 z0 = 0;
2 + 1z0 = 0 z0 = 2;

Para que o vetor satisfaca w 0 na primeira iteracao, escolhe-se o maior z0 = 3 e seu par e w1 (primeira
linha). O par pivot e (w1 ,z0 )
Assim, explicitando-se z0 na primeira linha de (6.194), obtem-se:

z0 = 3 2z1 + 1z2 1z3 + 1w1


w2 = 0 1z1 + 1z2 1z3 + 1z0
(6.197)

w3 = 2 1z1 + 1z2 1z3 + 1z0


Substituindo z0 da primeira expressao acima na segunda e terceira expressao, chega-se a,


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:

z0 = 3 2z1 + 1z2 1z3 + 1w1


z1 = 1 13 w2 + 1z2 + 0z3 + 31 w1
(6.199)

w3 = 5 3z1 + 0z2 1z3 + 1w1


Substituindo z1 da segunda expressao acima na primeira e terceira expressao, chega-se a,

QUADRATICA

6.2. O PROBLEMA DE PROGRAMAC


AO
(PQ)


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

1/3 1/3 2/3 1/3

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)

CAPITULO 6. PROBLEMAS ESPECIAIS EM OCR

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

O Problema Geral de Programa


c
ao
N
ao-Linear (PNL)
Para se solucionar o problema geral de Programacao Matematica, ou seja, um problema de Programacao
Nao Linear (PNL) com restricoes de igualdade, desigualdade e laterais, varios algoritmos tem sido empregados. Alguns sao mais eficientes quando o problema tem predominancia de restricoes de igualdade e outros,
ao contrario, quando o n
umero de restric
oes de desigualdade e significativamente maior que o n
umero de
restricoes de igualdade.
Nesse captulo serao apresentados varios algoritmos para a solucao de problemas de OCR. Uma discussao
sobre a eficiencia dos algoritmos para solucao de cada tipo de problema sera apresentada. Exemplos de
aplicacao na Engenharia Civil serao formulados e resolvidos pelos algoritmos propostos.
Como mencionado no captulo 4, o problema geral de OCR e definido da seguinte forma:

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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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.

f (x) f (x0 ) + [f (x0 )] s


t

(7.3)

cl (x) cl (x0 ) + [cl (x0 )] s 0


l = 1...p
t
hk (x) hk (x0 ) + [hk (x0 )] s = 0
k = 1...m
i = 1...n
xl i x0 i + si xu i ;

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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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

Figura 7.3: Ilustracao do Centro da Hiperesfera Inscrita.

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

cl (x) = cl (x0 ) + [cl (x0 )] x = 0

(7.7)

ou:
t

[cl (x0 )] x = cl (x0 )

(7.8)

cl (x) = cl (x0 )

(7.9)

logo, considerando-se ainda que:

devido `a aproximacao linear, tem-se:


t

dhl =

cl (x0 ) + [cl (x0 )] s


kcl (x0 )k

(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

[cl (x0 )] s + kcl (x0 )k r cl (x0 )

(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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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

[cl (x0 )] s < 0

(7.15)

Observe-se que no setor u


til viavel, a direcao de busca mais eficiente seria aquela que minimiza a expressao 7.14 e satisfaz e expressao 7.15. Essa direcao pode ser encontrada ao se formular o seguinte subproblema a partir do ponto x0 :

t
min
[f (x0 )] s

(7.16)
t

s.t. [cl (x0 )] s

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

[cl (x0 ) f (x0 )] s 0

(7.17)

Minimizar a expressao 7.14 e equivalente a maximizar na seguinte desigualdade:


t

[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

onde l sao as restricoes ativas do problema e um parametro escalar.


Au
ltima restricao do subproblema definido em 7.20 procura limitar o modulo do vetor s pois o que se
pretende e maximizar o produto interno dos vetores f (x0 ) e s sem que o modulo de s seja maximizado, o
que tambem aumentaria o valor do produto interno.
Algumas questoes ainda precisam ser definidas, tais como:
1. Quando uma restricao de desigualdade esta ativa?
2. Como se escolher os valores de l ?
3. Como limitar o modulo do vetor s, ou seja, qual deve ser o valor de ?
As questoes (1) e (2) sao correlacionadas. Em termos numericos, uma restricao esta ativa quando ela
esta proxima do contorno, ou seja, cl (x) , onde pode variar no intervalo [0.1, 0.001], dependendo
se as iteracoes estao no incio ou no final do processo de solucao do problema. Uma boa expressao para a
determinacao de l e dada por:

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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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

Figura 7.6: Exemplos de Direcoes de Busca Uteis


e Viaveis.

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=

[cp (x0 )]t


t
[f (x0 )]

1
2
..
.

(7.25)

p
1

(7.26)

NAO-LINEAR

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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)

onde e 0 sao os multiplicadores de Lagrange associados respectivamente `as restricoes Ay 0 e


yt y 1 0.
Seja agora:
= 20

z = Ay

(7.28)

logo, as expressoes 7.26 podem-se ser reescritas como:


p = At + y
z 0;
0;
t z = 0;

yt y 1 0;
0
(yt y 1) = 0

(7.29)

Pre-multiplicando-se a primeira expressao em (7.29) por A obtem-se:


Ap = AAt Ay

(7.30)

e considerando-se:
v = A y = z
(7.31)

c = A p

as expressoes 7.29 podem-se ser reescritas como:

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

Como ja mencionado, o Metodo das Direc


oes Viaveis e basicamente um metodo para problemas com apenas
desigualdades. Uma maneira de utilizar o metodo em problemas que tambem apresentem restricoes de
igualdade e converter essas restricoes em desigualdades equivalentes, conforme indicado a seguir:

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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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)

e as restricoes laterais como sendo:


xl i xi xu i

i = 1n + m

(7.40)

Agora, e possvel escrever:

df (x) = [f (x)],z dz + [f (x)],y dy


dhk (x) =

t
[hk (x)],z

dz +

t
[hk (x)],y

(7.41)

dy

Ao se supor que o vetor inicial x0 satisfaz as restricoes de igualdade:


hk (x0 ) = 0;

k = 1m + l

(7.42)

para que o novo ponto x, dado por:

x = x0 + s,

ou

z
y

z0
y0

dz
dy

(7.43)

seja um ponto viavel, entao:


dhk (x) = 0;

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:
(

[aj (x0 )] = [hk (x0 )],z


t
t
[bj (x0 )] = [hk (x0 )],y

sao as linhas de matriz A(x0 ) e B(x0 ).

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)

Substituindo-se agora dy na primeira das expressoes (7.45), obtem-se:


t

df (x0 ) = [f (x0 )],z dz [f (x0 )],y [B(x0 )]

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:

A expressao (7.49) define o gradiente reduzido generalizado gR (x0 ), ou seja:


n
ot
t
1
gR (x0 ) = [f (x0 )],z [B(x0 )]
A(x0 ) [f (x0 )],y

(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)

As variaveis dependentes podem ser atualizadas utilizando-se o metodo de Newton-Raphson de modo


que o ponto x satisfaca as restricoes h(x) = 0, ou seja:

h(z, yi ) + h(z, yi ) ,y yi+1 yi = 0

(7.52)

yi+1 = yi h(zi , yi ) ,y h(z, yi )

(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:

f (xo ) + f (xo )t s + 21 st W(xo ) s

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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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

Problema P1 (problema original)


min
f (x)
s.t. h (x) = 0

(7.55)

Funcao lagrangeana do problema P1


L1 (x, ) = f (x) h(x)

(7.56)

L1 (x, ),x = f (x) h(x) = 0


h(x) = 0

(7.57)

condicoes de Kuhn-Tucher de P1

O primeiro passo da solucao das condicoes de Kuhn-Tucher via metodo de Newton-Raphson e,

L1,x xk + xk , k + k = 0

h xk + xk = 0
ou

(7.58)

Lk1,x + W1k xk k hk,x =

(7.59)

k
hk + hkt
,x x = 0

(7.60)

onde W1k e a matriz hessiana de L1 (x, ) na iteracao k.

7.5.2

Problema P2 (subproblema de PQS relativo a P1)


min f (xo )t s + 21 st W1 (xo )s
h(xo ) + h(xo )t s = 0

(7.61)

Funcao lagrangeana do problema P2

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)

L2 (s, ),s = f (xo ) + W1 (xo ) s k+1 h (xo )

(7.63)

f (xo ) k h (xo ) + W1 (xo ) s k h (xo ) = 0

(7.64)

L1 (xo , ),x + W1 (xo ) s k h (xo ) = 0


t
h (xo ) + h (xo ) s = 0

(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

CAPITULO 7. O PROBLEMA GERAL DE PROGRAMAC


AO
(PNL)

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)

onde rj (x) e a componente j de um vetor de resposta da estrutura e xi e a componente i de um vetor x


de variaveis de projeto ou de parametros da estrutura. Assim, rj pode ser um deslocamento ou um conjunto
de deslocamentos associados a certos graus de liberdade, uma componente ou um vetor de tensoes ou uma
frequencia propria, e xi pode ser a area da secao transversal de um elemento de trelica, a altura da secao
transversal retangular de um elemento de uma viga ou coluna, ou ainda, o modulo de elasticidade do material
de uma dada estrutura. Conceitualmente, a analise de sensibilidade mede o grau de influencia da variavel
ou parametro xi na resposta rj (x) da estrutura.
Quando se utilizam algoritmos de programacao matematica de primeira e segunda ordens para se obter
o projeto
otimo de uma estrutura discretizada por elementos finitos, a analise de sensibilidade precisa ser
empregada.
Analogamente, quando se faz uma analise de confiabilidade pelos metodos FORM ou SORM , e necessario
fazer uso da analise de sensibilidade.
Na proxima secao serao apresentados os principais metodos de analise de sensibilidade, tais como: o
metodo das diferencas finitas, os metodos diretos analtico e semi-analtico e os metodos adjuntos analtico
e semi-analtico.
Nas secoes seguintes essas tecnicas serao empregadas para se obter a analise de sensibilidade de diferentes
respostas estruturais, tais como: deslocamentos em problemas estaticos e dinamicos, tensoes, frequencias
proprias e carga limite.

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)

onde r (x) e um vetor de respostas da estrutura, xi ei e uma perturbacao na componente xi do vetor


das variaveis x e ei e um vetor com a componente i igual a 1 e demais componentes 0.
109


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)

sendo r(x) um vetor de respostas da estrutura.


Utilizando-se a regra da cadeia, e simplificando a notacao:
dc(r, x)
c(r, x) c(r, x) dr
=
+
dxi
xi
r dxi

(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

Seja a restricao de igualdade1 de um problema de otimizacao dada por:


h (r(x), x) = 0

(8.10)

Os algoritmos de programacao matematica de primeira e segunda ordens requerem o calculo da derivada:


h
dr
dh
=
+ t
d xi
xi
d xi
1 As

deduc
oes feitas aqui tamb
em se aplicam a restric
oes de desigualdade.

(8.11)

ENTRE OS METODOS

8.3. COMPARAC
AO
DE ANALISE
DE SENSIBILIDADE

111

que representa a analise de sensibilidade da restricao h em relacao `a variavel ou ao parametro xi , e o


vetor linha dado por:
h
(8.12)
r
O procedimento do metodo adjunto consiste em se somar a derivada total das equacoes de estado, premultiplicadas pelo vetor de multiplicadores de Lagrange, `a derivada total das restricoes. O n
umero de
componentes do vetor , tambem chamado de vetor adjunto, deve ser igual ao n
umero de equacoes de estado
do problema. A nova derivada total de h passa a ser dada por:
=

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)

A Equacao (8.15) permite a obtencao de , o que possibilita calcular finalmente:


h
dh
=
+ t p
d xi
xi

(8.16)

O Metodo Adjunto tambem pode ser analtico ou semi-analtico, dependendo de como as derivadas
explcitas sao obtidas na 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

A equacao de estado deste problema e da seguinte forma:


c (u(x), x) = K(x) u(x) fa (x) = 0

(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)

onde: ue e o vetor dos deslocamentos nodais do elemento e, Be e a matriz de compatibilidade cinematica


do elemento, que relaciona deslocamentos nodais com deformacoes, C e a matriz constitutiva, que transforma
deformacoes em tensoes e que depende do modulo de elasticidade e do coeficiente de Poisson, e e e o tensor
das tensoes no elemento.
8.4.1.1

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:

K(x) u(x) = fa (x) = u(x)


(8.20)

K(x + xi ei ) u(x + xi ei ) = fa (x + xi ei ) = u(x + xi ei )


e, em seguida:
du
u(x + xi ei ) u(x)
=
d xi
xi

(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) = C(x) Be (x) ue (x)


(8.22)

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

Com Z e pi definidos em (8.7).


Para a analise de sensibilidade dos deslocamentos, tem-se r = u.
O problema linear elastico c e dado pela Equacao (8.18), ou seja:
c (u(x), x) = K (x) u (x) fa (x) = 0
logo:

Z=K

pi =

K
xi

(8.24)

fa
xi

Entao:
du
= K1 pi
d xi

(8.25)

O vetor pi e usualmente denominado vetor das pseudo-forcas.


No Metodo Direto Analtico as derivadas explcitas em pi sao calculadas analiticamente, enquanto que
no Metodo Direto Semi-Analtico as mesmas derivadas sao obtidas por diferencas finitas.
8.4.1.3

M
etodo Adjunto

Neste metodo, a sensibilidade da restricao h e dada pela Equacao (8.16), ou seja:


dh
h
=
+ t pi
d xi
xi
onde: e obtido pela Equacao (8.15):
Zt =
sendo Z e pi , definidos na Equacao (8.7):
pi =

c
xi

Z=

c
r

e definido na Equacao (8.12):


h
r
Caso h seja uma restricao que limite a componente j do vetor de deslocamentos nodais, u, a um valor
prescrito uj , ou seja:
=

h (u(x), x) = uj (x) uj 0
e c seja dado conforme a 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)

onde ej e um vetor com valor 1 na posicao j e 0 nas demais.


Assim, as Equacoes (8.15) e (8.16) podem ser reescritas como:
t

K = ej

8.4.2

dh
d xi

= 0 + t

K
xi

fa
xi

(8.27)

Problema de Autovalores e Autovetores

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)

onde K e a matriz de rigidez e M e a matriz de massa (problemas de vibracao) ou a matriz de rigidez


geometrica (problemas de analise de carga crtica). Para o problema de vibracao, representa o quadrado
de uma frequencia natural da estrutura ( = w2 ) e o vetor dos modos de vibracao. Para o problema de
calculo de carga crtica, representa o fator de carga crtica e o modo de flambagem. As duas matrizes
K e M sao simetricas e K e positiva semi-definida.
O vetor e, geralmente, normalizado em relacao `a matriz de massa de modo que:
t M = 1
8.4.2.1

(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 )

As sensibilidades de e sao, entao, obtidas de:

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)

ou, reagrupando-se os termos na forma matricial:

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)

obtido a partir da Equacao (8.36).

M
etodo Adjunto

As expressoes gerais para a analise de sensibilidade da restricao h em relacao `a variavel de projeto ou


parametro xi sao dadas nas Equacoes (8.15) e (8.16) para o Metodo Adjunto. As expressoes gerais para
a matriz Z e o vetor pi , utilizados em (8.15) e (8.16), respectivamente, estao definidas na Equacao (8.7),
enquanto que para o vetor a expressao geral e dada na Equacao (8.12).
Utilizando-se as expressoes acima referidas e as expressoes de estado do problema em questao, dadas
pelas Equacoes (8.28) e (8.29), foram obtidas no item anterior as expressoes de Z e pi para o problema
particular de autovalores e autovetores definidas em (8.37).
Um restricao tpica do problema de autovalor e autovetor procura impor limites inferiores e superiores
para as frequencias proprias no problema dinamico e um limite inferior para o parametro de carga crtica no
problema de analise de carga crtica.
Tomando-se esse u
ltimo caso para se definir uma restricao, obtem-se:
h(, ) = min 0

(8.41)

Nesse caso, o vetor , definido em (8.26), passa a ser dado por:

=
o que permitiria obter e

dh
d xi

= e1

(8.42)

por meio das Equacoes (8.15) e (8.16), respectivamente, sendo:


h
=0
xi

8.4.3

Problema de An
alise N
ao Linear Est
atica

A equacao de estado para a analise nao linear de estruturas pode ser escrita como:
f (u, x) = fa (x)

(8.43)

onde f (u, x) e o vetor das forcas internas resistentes nodais geradas pelos deslocamentos u e fa (x) e o
vetor das forcas externas aplicadas.
Em analises nao lineares, o modulo do vetor da resposta em deslocamentos u nao e proporcional a ,
como nas analises lineares. Para se obter a curva |u| e preciso incrementar gradualmente e, para cada
valor de , obter o correspondente vetor u.
A equacao basica do Metodo de Newton-Raphson para a analise de estruturas de comportamento nao
linear pode ser obtida derivando-se a Equacao (8.43) em relacao ao vetor u (ver item XXXX), ou seja:
Kt (u0 , x) u = fa (x) f (u0 , x)

(8.44)

onde u0 sao os deslocamentos acumulados ate o pen


ultimo incremento de , Kt (u0 , x) e a matriz de
rigidez tangente, avaliada em u = u0 , e u sao os deslocamentos da u
ltima iteracao do incremento atual.
O vetor u deve ser atualizado da seguinte forma:
u = u0 + u

(8.45)

O processo iterativo termina quando o modulo de u for menor do que uma dada tolerancia numerica.

DOS METODOS

8.4. APLICAC
AO
DE ANALISE
DE SENSIBILIDADE
8.4.3.1

117

M
etodo das Diferen
cas Finitas

Para a analise de sensibilidade do vetor de deslocamentos u em relacao a uma dada variavel (ou parametro)
xi , o primeiro passo consiste em realizar uma analise nao linear com valores de e x que forneca u(x). Para
essa analise pode-se usar o Metodo de NewtonRaphson, um Metodo QuaseNewton ou outros que forneca
u(x), ou seja:
f (u, x) = fa (x)

u(x)

(8.46)

Em seguida, uma nova analise nao linear deve ser realizada para um valor de xi perturbado de xi , tal
que forneca u(x + xi ei ), isto e:
f (u, x + xi ei ) = fa (x + xi ei )

u(x + xi ei )

(8.47)

A sensibilidade de u em relacao a xi e, entao, dada por:


du
u
u(x + xi ei ) u(x)

=
d xi
xi
xi
8.4.3.2

(8.48)

M
etodo Direto

Reescrevendo-se a equacao de estado (8.43) como:


c (u(x), x) = f (u(x), x) fa (x) = 0

(8.49)

pode-se obter as expressoes dadas em (8.7) particularizadas para o problema nao linear, ou seja:
Z=

c
= Kt (u(x), x)
u

(8.50)

e:
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)

onde uj e a componente j do vetor de deslocamentos nodais u e uj e um deslocamento prescrito associado


ao mesmo grau de liberdade. Sendo, neste caso, r = u, tem-se:
h
h
=
= ej
(8.54)
r
u
Com pode-se calcular por meio da Equacao (8.15) e, em seguida, a sensibilidade de h em relacao a
xi por meio da Equacao (8.16), considerando-se que a derivada explcita de h em relacao a xi e nula.
=


CAPITULO 8. ANALISE
DE SENSIBILIDADE

118

8.4.4

Problemas de Carga Limite

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)

Em um ponto crtico, Kt e singular. Denominando-se de v, o autovetor associado ao autovalor nulo de


Kt no ponto crtico, pode-se escrever:
vt Kt = 0

(8.56)

onde o asterisco () designa grandezas calculadas no ponto crtico.


Pre-multiplicando-se a Equacao (8.55) por vt , obtem-se:
d t
v fa (x) = 0
d

(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:

indicando que o modo de flambagem v e ortogonal ao vetor de cargas fa .


8.4.4.1

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)

Alem disso, a matriz de rigidez tangente em u , ou seja:

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)

Pre-multiplicando-se a Equacao (8.63) por vt , considerando-se a Equacao (8.56) e explicitando-se dd xi


obtem-se:


vt fxi xfai
d
=
(8.64)
d xi
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

expressao (8.67) por vt , o vetor dd uxi e eliminado do sistema, pois:


vt Kt = 0
e, assim, a solucao apresentada na Equacao (8.64) e obtida. Vale observar que o vetor pi , em (8.66),
representa a sensibilidade da forca desequilibrada em relacao a xi , que pode ser obtida pelo metodo analtico
ou semi-analtico.
8.4.4.3

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

A sensibilidade de h e apresentada na Equacao (8.16), ou seja:

(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

sendo um vetor de dimensao n 1, onde n e o n


umero de graus de liberdade do sistema.
Particularizando a Equacao (8.15) para o presente problema, tem-se:

t
(Kt )
0
=

t
1
(fa )

(8.71)

Na Equacao (8.71), o vetor multiplica uma matriz Z de dimensao (n + 1) n e o produto e igual a um


vetor de dimensao (n + 1) 1. A dimensao de e, portanto, n 1.
importante observar que, se for dado por:
E
= v
onde v e o autovetor associado ao autovalor nulo de

fat v = 1

Kt ,

(8.72)
ele satisfaz `a Equacao (8.71), desde que:

ou

1
v

fat

(8.73)

Substituindo-se na Equacao (8.69), chega-se a:


v t pi
h
= t
xi
v fa

(8.74)

que, nao por acaso, e a mesma expressao dada em (8.64) para a sensibilidade de em relacao a xi pelo
Metodo Direto, ja que a derivada explcita de h em relacao a xi e nula.

8.4.5

Problemas de Fluxo T
ermico Transiente

A equacao de estado de um problema de fluxo termico transiente com o meio discretizado por elementos
finitos e dada por:
= q(t)
KT+CT

(8.75)

onde K e a matriz de condutividade termica, positiva semi-definida, C e a matriz de capacidade termica,


e a derivada de T em relacao ao tempo t e q(t) e o vetor das cargas
T e o vetor das temperaturas nodais, T
termicas.
Quando se usam algoritmos de integrac
ao direta para resolver o sistema representado pela Equacao (8.75)
o vetor T e interpolado no intervalo de tempo t, entre os tempos t0 e t1 . Uma das maneiras de se fazer
isto e usar uma interpolacao linear do tipo:

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)

O algoritmo de integracao direta, com = 0 e denominado explcito. Para = 1 o algoritmo e dito


implcito e para = 12 tem-se o algoritmo mais preciso, sendo tambem incondicionalmente estavel, e por
isso e o mais utilizado. O algoritmo para = 12 e conhecido na literatura tecnica como algoritmo de CrankNicholson, Central ou Trapezoidal. Valores de entre 12 e 1 fornecem algoritmos incondicionalmente estaveis
e convergem para qualquer valor de t.
A Equac
ao (8.81) e a equacao de estado do problema de fluxo termico transiente entre os instantes t0 e
t1 . Para uma analise ao longo do tempo, ela deve ser resolvida a cada passo, adotando-se T0 como sendo o
valor de T1 do passo anterior.
8.4.5.1

M
etodo das Diferen
cas Finitas

No Metodo das Diferencas Finitas a solucao da Equacao (8.81) deve ser obtida passo a passo (de t em
t), ao longo do tempo para x e para x + xi ei , ou seja, com as matrizes K e C e os vetores q0 e q1
montados com x na primeira analise e x + xi ei na segunda. Na primeira analise obtem-se T(t, x) e na
segunda T(t, x + xi ei ) no instante t. Caso a sensibilidade para uma nova variavel xi seja necessaria, uma
nova analise ao longo do tempo precisa ser feita ate o instante t.
A sensibilidade de T em 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)

A partir da Equacao (8.83) e possvel obter Z e pi , ou seja:

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

que permitem obter a sensibilidade de T1 em relacao a xi conforme a Equacao (8.9), ou seja:

(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 =

e, finalmente, a sensibilidade de h e obtida por meio da Equacao (8.16), ou seja:


dh
h
=
+ t pi
d xi
xi
onde:
h
=0
xi
Observe que so precisa ser calculado uma u
nica vez e que apenas o vetor pi se modifica ao longo do
tempo para o calculo da sensibilidade de h em relacao a xi pelo Metodo Adjunto, enquanto que uma solucao
do sistema de equacoes do tipo (8.85) precisa ser obtida em cada passo de tempo no Metodo Direto.

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)

onde M e a matriz de massa, C e a matriz de amortecimento, K e a matriz de rigidez, u, v e a sao,


respectivamente, os vetores de deslocamento, velocidade e aceleracao e f (t) e o vetor de cargas nodais aplicadas. Quando se utilizam algoritmos de integracao direta para a solucao do sistema de equacoes diferenciais
de segunda ordem dado em (8.88), um sistema de equacoes algebricas deve ser resolvido em cada passo de
tempo para se obter as respostas no final do intervalo. Para exemplificar a analise de sensibilidade em
problemas dinamicos resolvidos por integracao direta, o algoritmo de Newmark sera utilizado.
No Metodo de Newmark as seguintes equacoes cinematicas sao adotadas:

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)

u0 , v0 e a0 sao, respectivamente, os vetores de deslocamentos, velocidades e aceleracoes no instante t0 , u1 ,


v1 e a1 sao as mesmas grandezas no instante t1 e, finalmente, e sao parametros do algoritmo. Um dos
mais populares algoritmos da famlia dos algoritmos de Newmark e o que considera = 41 e = 12 . Este
algoritmo e incondicionalmente estavel. Para esses valores de e as expressoes (8.89) podem ser rescritas
como:

u1 = u0 + t v0 +

v1 = v0 +

t
2

t2
4

(a0 + a1 )

Explicitando-se a1 na primeira das Equacoes (8.91) e substituindo-se na segunda, obtem-se:

a1 = 4t2 (u1 u0 ) 4 t v0 a0

v1 =

2
t

(8.91)

(a0 + a1 )

(8.92)

(u1 u0 ) v0

Substituindo-se as expressoes de v1 e a1 , dadas em (8.92), na equacao de equilbrio dinamico (8.88) para


o instante t = t1 , ou seja:
M a 1 + C v 1 + K u 1 = f1

(8.93)

e, reagrupando-se os termos, obtem-se:

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

que permitem obter:


u1
= Z1 pi
xi
Quando as derivadas explcitas de K, C e M sao obtidas analiticamente o metodo Direto e dito Analtico,
se obtidas por diferencas finitas, o metodo e dito Semi-analtico.
8.4.6.3

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)

O vetor pode ser obtido a partir de usando a Equacao 8.15, ou seja:


Zt =

e finalmente a sensibilidade de h usando a Equacao 8.16, ou seja:


h
dh
=
+ t pi
d xi
xi
onde:
h
=0
xi
As observacoes feitas no final da secao sobre problemas de fluxo termico transiente valem tambem agora.

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)

As expressoes A.1 permitem mapear um ponto P (, ) do quadrado representado no plano parametrico


para um ponto P (x, y) no quadrilatero representado no plano cartesiano como indicado na Figura A.1.

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

Pode-se definir agora a matriz Jacobiana J(, ) como,


"
J (, ) =

dx
d
dx
d

#(

d
dx
d
dy

)
;

(A.5)

dy
d
dy
d

(A.6)

e, fazendo uso de A.1, obtem-se:


" P4
J (, ) = Pi=1
4

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)

onde o sub-ndice , ou , significam a derivada em relacao a e respectivamente.


Sucintamente, A.8 pode ser reescrita como:
J (, )22 = DNx (, )24 X42 ;

(A.9)

129
Observando-se A.5, pode-se deduzir que a inversa da matriz Jacobiana (, ), dada por,
1

(, ) = J (, )

transforma derivadas parametricas de em derivadas cartesianas de .

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)

sendo d o vetor dos deslocamentos nodais.


possvel demonstrar tambem que o determinante da matriz Jacobiana e o fator de escala que transforma
E
a area elementar dd no quadrado parametrico em area elementar correspondente no quadrilatero do plano
cartesiano dA, como indicado a seguir.
dA = det (J (, ))dd;
A matriz de rigidez de um elemento finito qualquer pode ser obtida por:
Z
K = Bt CBdv;

(A.15)

(A.16)

onde a matriz B e a matriz de compatibilidade cinematica que transforma deslocamentos nodais em


deformacoes no interior do elemento.
= Bd;

(A.17)

E a matriz C e a matriz constitutiva que transforma o vetor de deformacoes em vetor de tensoes


para o material de comportamento linear elastico ( lei de Hooke ).
= C;
No caso de um problema plano, as componentes do vetor de deformacao sao:

(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)

O que permite concluir que para o elemento em questao vale,


B (, )38 = H34 u (, )44 DNd (, )48 ;

(A.23)

e a matriz de rigidez pode ser dada por:


Z

K88 = t

B (, )
1

83 C33 B (, )38 det (J (, ))dd;

(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)

sendo E o modulo de elasticidade e o coeficiente de Poisson do material.


A integracao da matriz de rigidez e feita por integracao numerica pelo Metodo de Gauss. Se forem usados
ng pontos de Gauss com coordenadas parametricas gi e gi e pesos de integracao wi e wi , A.24 pode ser
reescrita como:
K88 = t

ng
X

B (g i , g i )

83 C33 B (g i , g i )38 det (J (g i , g i ))w i w 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

(1) DNx(, )1,i

nP
4

m=1

(A.29)

A sensibilidade da matriz B em relacao a xij e dada por:


dB(, )
d(u (, ))
= H34
DNd (, )48 ;
dxij 38
dxij
44

(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)

Derivando-se os dois lados da equacao A.32 chega-se a,


d(J)
d()
d(J)
=
+J
= 0;
dxij
dxij
dxij

(A.33)

d()
d(J)
d(J)
= J1
=
;
dxij
dxij
dxij

(A.34)

Da qual se pode obter,

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.

S-ar putea să vă placă și