Anda di halaman 1dari 203

UM CURSO DE OTIMIZAC

AO

Ademir Alves Ribeiro


Elizabeth Wegner Karas

Curitiba
2011

Sum
ario
Pref
acio

Introduc
ao

1 Revis
ao de Conceitos
1.1 Sequencias . . . . . . . . . . . . . . . .
1.1.1 Definicoes e resultados classicos
1.1.2 Ordem de convergencia . . . . .
1.2 Nocoes de topologia . . . . . . . . . . .
1.3 Resultados de algebra linear . . . . . .
1.4 Formula de Taylor e teorema da funcao
1.5 Exerccios do captulo . . . . . . . . . .

.
.
.
.
.
.
.

4
4
4
6
9
11
16
22

2 Introduc
ao `
a Otimizac
ao
2.1 O problema de otimizacao . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Condicoes de otimalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Exerccios do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25
25
27
32

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
implcita
. . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

3 Convexidade
34
3.1 Conjuntos convexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Funcoes convexas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 Exerccios do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 Algoritmos
4.1 Algoritmos de descida . . . . . . . . . . . . . . . . .
4.2 Metodos de busca unidirecional . . . . . . . . . . . .
4.2.1 Busca exata - metodo da secao aurea . . . . .
4.2.2 Busca inexata - condicao de Armijo . . . . . .
4.3 Convergencia global de algoritmos . . . . . . . . . . .
4.3.1 Convergencia global de algoritmos de descida
4.3.2 Teorema de Polak . . . . . . . . . . . . . . . .
4.4 Exerccios do captulo . . . . . . . . . . . . . . . . . .

ii

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

44
44
47
47
52
55
55
58
59

5 M
etodos de Otimizac
ao Irrestrita
5.1 Metodo do gradiente . . . . . . . . . . . . . .
5.1.1 Algoritmo . . . . . . . . . . . . . . . .
5.1.2 Convergencia global . . . . . . . . . . .
5.1.3 Velocidade de convergencia . . . . . . .
5.2 Metodo de Newton . . . . . . . . . . . . . . .
5.2.1 Motivacao . . . . . . . . . . . . . . . .
5.2.2 Algoritmo . . . . . . . . . . . . . . . .
5.2.3 Convergencia . . . . . . . . . . . . . .
5.3 Metodo de direcoes conjugadas . . . . . . . .
5.3.1 Direcoes conjugadas . . . . . . . . . .
5.3.2 Algoritmo de gradientes conjugados . .
5.3.3 Extensao para funcoes nao quadraticas
5.3.4 Complexidade algortmica . . . . . . .
5.4 Metodos quase-Newton . . . . . . . . . . . . .
5.4.1 O algoritmo basico . . . . . . . . . . .
5.4.2 O metodo DFP . . . . . . . . . . . . .
5.4.3 O metodo BFGS . . . . . . . . . . . .
5.5 Metodo de regiao de confianca . . . . . . . . .
5.5.1 Algoritmo . . . . . . . . . . . . . . . .
5.5.2 O passo de Cauchy . . . . . . . . . . .
5.5.3 Convergencia . . . . . . . . . . . . . .
5.5.4 O metodo dogleg . . . . . . . . . . . .
5.5.5 O metodo GC-Steihaug . . . . . . . . .
5.6 Exerccios do captulo . . . . . . . . . . . . . .
6 Implementac
ao Computacional
6.1 Banco de funcoes . . . . . . . . . . .
6.2 Implementacao dos algoritmos . . . .
6.3 Comparacao de diferentes algoritmos
6.4 Outras discussoes . . . . . . . . . . .
6.5 Exerccios do captulo . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

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

.
.
.
.
.

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

.
.
.
.
.

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

.
.
.
.
.

7 Otimizac
ao com Restrico
es
7.1 Cones . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Condicoes de Karush-Kuhn-Tucker . . . . . . . . .
7.2.1 O cone viavel linearizado . . . . . . . . . . .
7.2.2 O cone gerado pelos gradientes das restricoes
7.2.3 O cone tangente . . . . . . . . . . . . . . . .
7.2.4 O teorema de Karush-Kuhn-Tucker . . . . .

iii

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

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

.
.
.
.
.

.
.
.
.
.
.

61
61
61
63
63
65
66
67
68
71
72
75
78
78
85
86
87
90
92
93
94
96
100
103
104

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

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

.
.
.
.
.

108
. 108
. 112
. 113
. 115
. 116

.
.
.
.
.
.

118
. 119
. 125
. 126
. 127
. 128
. 132

7.3

7.4

7.5

7.2.5 A direcao do gradiente projetado . . . . . . . . . . .


Condicoes de qualificacao . . . . . . . . . . . . . . . . . . . .
7.3.1 Problemas com restricoes lineares . . . . . . . . . . .
7.3.2 Condicao de qualificacao de Slater . . . . . . . . . . .
7.3.3 Condicao de qualificacao de independencia linear . .
7.3.4 Condicao de qualificacao de Mangasarian-Fromovitz .
Condicoes de otimalidade de segunda ordem . . . . . . . . .
7.4.1 Problemas com restricoes de igualdade . . . . . . . .
7.4.2 Problemas com restricoes de igualdade e desigualdade
Exerccios do captulo . . . . . . . . . . . . . . . . . . . . . .

8 M
etodos para Otimizac
ao com Restrico
es
8.1 Programacao quadratica sequencial . . . .
8.1.1 Algoritmo . . . . . . . . . . . . . .
8.1.2 Convergencia local . . . . . . . . .
8.2 Metodos de filtro . . . . . . . . . . . . . .
8.2.1 O algoritmo geral de filtro . . . . .
8.2.2 Convergencia global . . . . . . . . .
8.3 Exerccios do captulo . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

134
136
137
138
139
140
143
144
146
150

.
.
.
.
.
.
.

155
. 155
. 156
. 157
. 161
. 162
. 164
. 168

Ap
endice: Dicas ou Soluco
es dos Exerccios

169

Refer
encias Bibliogr
aficas

196

iv

Pref
acio
O presente texto foi escrito com o proposito de servir como material didatico
para um curso de otimizacao. Procuramos abordar aspectos teoricos e computacionais.
Interpretacoes geometricas sao evocadas sempre que possvel com o auxlio de diversas
figuras que aparecem no texto para ilustrar conceitos, exemplos e teoremas. A teoria de
otimizacao com restricoes e apresentada com uma abordagem de cones que, alem de ter
um forte apelo geometrico, consideramos ser mais moderna.
Para um bom aproveitamento do livro, e desejavel que o estudante tenha co
nhecimentos de Algebra
Linear e Analise no IRn . Alem disso, e importante dar especial
atencao aos varios exerccios que aparecem no final de cada captulo. Muitos exerccios
servem para fixar os conceitos, outros para verificar se o leitor consegue identificar e aplicar certos conceitos para resolver um determinado problema e outros ainda servem para
complementar a teoria. Apresentamos, no final do livro, dicas, solucoes ou respostas de
alguns dos exerccios propostos. Entretanto, recomendamos fortemente que o estudante
tente fazer os exerccios antes de ver a solucao, pois e desta forma que o aprendizado
e bem sucedido. Este livro pode ser usado tanto em cursos de graduacao quanto na
pos-graduacao. Entretanto, para alunos de graduacao, que ainda nao possuem uma certa
maturidade matematica, algumas secoes podem ser omitidas, pois apresentam argumentos
mais elaborados.
Gostaramos de manifestar nossa imensa gratidao ao Professor Clovis Caesar
Gonzaga, com quem aprendemos muito. Estamos certos que neste livro ha muito dele e
esperamos que estas paginas reflitam sua maneira de fazer matematica com simplicidade
e elegancia, de quem sempre busca uma forte motivacao geometrica na abordagem dos
conceitos.
Agradecemos a` Professora Sandra Augusta Santos, que tem nos apoiado em nossa
trajetoria academica e que contribuiu muito para a melhoria deste trabalho.
Tambem somos gratos aos nossos alunos que acompanharam o desenvolvimento
deste trabalho, atraves de seminarios e sugestoes: Flavia Fernandes, Gislaine Pericaro,
Karla Arsie, Leonardo Moreto, Paulo Conejo, Priscila Savulski, Rodrigo Eustaquio e
Tuanny Brufati.
Ademir e Elizabeth
Curitiba, 03 de Dezembro de 2011.

Introdu
c
ao
Otimizacao, direta ou indiretamente, faz parte do nosso dia a dia. Varios campos
da ciencia fazem uso das ferramentas apresentadas neste texto, com o objetivo de ajudar
na tomada de decisoes. Dentre eles, podemos citar a confiabilidade estrutural, economia,
informatica, logstica, medicina, processos ssmicos e transporte. Quase sempre o objetivo e minimizar ou maximizar certa variavel, como o custo ou o lucro em determinado
processo.
Mais formalmente, podemos dizer que otimizacao consiste em encontrar pontos
de mnimo ou de maximo de uma funcao real sobre um conjunto IRn . Isto pode ser
colocado na forma
(P )

minimizar f (x)
sujeito a x .
Em geral, o conjunto e definido por restricoes de igualdade e/ou desigualdade,

ou seja,
= {x IRn | cE (x) = 0,

cI (x) 0},

onde cE : IRn IRm e cI : IRn IRp sao funcoes quaisquer. O problema de otimizacao
pode entao ser reescrito como

(P )

minimizar f (x)
sujeito a cE (x) = 0
cI (x) 0,

Conforme as caractersticas do conjunto e as propriedades das funcoes objetivo,


teremos os diferentes problemas de otimizacao. Por exemplo, as funcoes envolvidas no
problema podem ser contnuas ou nao, diferenciaveis ou nao, lineares ou nao. O caso
particular em que a funcao objetivo e as funcoes que definem sao funcoes lineares e
conhecido como um Problema de Programacao Linear (PPL) e e resolvido por metodos
especficos [38], como o famoso Metodo Simplex. Esta abordagem nao sera tratada neste
trabalho. Estudaremos aqui problemas onde todas as funcoes usadas para defin-los sao
continuamente diferenciaveis e, normalmente, nao lineares, isto e, estudaremos o problema
geral de Programacao Nao Linear (PNL).
Um caso particular e o problema irrestrito, quando = IRn . O problema irrestrito

Introducao

pode ser considerado simples em comparacao com o problema geral de PNL e o estudo de
suas propriedades bem como dos metodos que o resolvem e de fundamental importancia
em otimizacao, porque muitos metodos para resolver o problema geral de PNL fazem uso
dos metodos que resolvem o caso irrestrito.
conhecido na literatura que se o conjunto viavel e formado apenas por resE
tricoes de igualdade e x e um minimizador, entao existe IRm tal que

f (x ) +

m
X

i ci (x ) = 0.

i=1

As componentes do vetor sao chamadas de Multiplicadores de Lagrange e a condicao


acima e um resultado central na teoria de otimizacao.
Contudo, um pouco antes de 1950, foi observado que existiam aplicacoes importantes nos problemas em que eram envolvidas restricoes representadas por desigualdades.
Por esta razao, alguns matematicos tem desenvolvido metodos para tratar de problemas
com este tipo de restricoes. As primeiras condicoes de otimalidade neste sentido foram
estabelecidas por Fritz-John [24] em 1948 e depois por Kuhn e Tucker [27] em 1951. Mais
tarde foi descoberto que as condicoes de Kuhn-Tucker ja teriam sido estabelecidas por
W. Karush em 1939 em sua dissertacao de mestrado, porem essa dissertacao nunca foi
publicada, mas partes essenciais foram reproduzidas por Kuhn [28] em 1976. Assim as
condicoes de Kuhn-Tucker passaram a ser chamadas de condicoes de Karush-Kuhn-Tucker
(KKT).
Este trabalho apresenta o desenvolvimento teorico das condicoes de otimalidade
para o problema geral de otimizacao, bem como metodos iterativos para obter solucoes.

Captulo 1
Revis
ao de Conceitos
Neste captulo apresentamos algumas definicoes basicas e alguns resultados de

Analise e Algebra
Linear relevantes para este trabalho. As principais referencias deste
captulo sao [21, 29, 30, 31].

1.1

Sequ
encias

Uma sequencia em IRn e uma aplicacao k IN xk IRn , definida no conjunto


IN dos n
umeros naturais. Denotaremos uma sequencia por (xk )kIN , ou simplesmente por
(xk ). Por conveniencia, consideramos que IN = {0, 1, 2, 3, . . .}.

1.1.1

Defini
c
oes e resultados cl
assicos

Definic
ao 1.1 Diz-se que o ponto x IRn e o limite da sequencia (xk ) quando, para todo
> 0 dado, e possvel obter k0 IN tal que
k k0 kxk xk < .
Neste caso, tambem dizemos que a sequencia (xk ) converge para x e indicamos este fato
por xk x ou lim xk = x.
k

Vemos da Definicao 1.1 que o ponto x IRn e o limite da sequencia (xk ) se para
cada > 0, o conjunto IN1 = {k IN | kxk xk } e finito, ou seja, fora da bola B(
x, )
so poderao estar, no maximo, os termos x0 , . . . , xk0 1 .
Uma subsequencia de (xk ) e a restricao desta sequencia a um subconjunto infinito
IN0 = {k1 < k2 < . . . < ki < . . .} IN. Equivalentemente, uma subsequencia de (xk ) e
uma sequencia do tipo (xk )kIN0 ou (xki )iIN , onde (ki )iIN e uma sequencia crescente de
inteiros positivos. Note que ki i, para todo i IN.
Teorema 1.2 Se uma sequencia (xk ) converge para um limite x, entao toda subsequencia
(xki )iIN tambem converge para x.
4

Revisao de Conceitos

Demonstracao. Dado > 0 existe um k0 tal que para todo k > k0 tem-se kxk xk < .
Como os ndices da subsequencia formam um subconjunto infinito, existe entre eles um
ki0 k0 . Entao para ki ki0 temos ki k0 . Logo kxki xk < .
O limite de uma subsequencia (xk )kIN0 e chamado valor de aderencia ou ponto
de acumulacao da sequencia (xk ).
1
tem dois pontos de acumulacao e portanto
Exemplo 1.3 A sequencia xk = (1)k +
k+1
nao e convergente.
De fato, temos x2i 1 e x2i+1 1.


1
1
1
Exemplo 1.4 A sequencia 1, , 3, , 5, , . . . tem um u
nico ponto de acumulacao. En2
4
6
tretanto, nao e convergente.
Exemplo 1.5 Considere uma sequencia (tk ) IR tal que tk t > 0. Dado < t, existe
k0 IN tal que para k k0 tem-se tk > .
De fato, para = t > 0, existe k0 IN tal que para k k0 tem-se |tk t| < . Assim,
tk > .
Definic
ao 1.6 Uma sequencia (xk ) IRn e limitada, quando o conjunto formado pelos
seus elementos e limitado, ou seja, quando existe um n
umero real M > 0 tal que kxk k M
para todo k IN.
Definic
ao 1.7 Seja (xk ) IR uma sequencia limitada. Definimos o limite inferior da
sequencia (xk ) como seu menor ponto de acumulacao e denotamos por lim inf xk . Analogamente definimos o limite superior da sequencia como seu maior ponto de acumulac
ao
k
e denotamos por lim sup x .
Exemplo 1.8 Determine lim inf xk e lim sup xk , sendo xk = (1)k +

1
.
k+1

Como vimos no Exemplo 1.3, a sequencia (xk ) tem somente dois pontos de acumulacao,
1 = lim inf xk e 1 = lim sup xk .
Exemplo 1.9 Faca o mesmo para (xk ) = (1, 2, 3, 1, 2, 3, . . .).
Neste caso temos lim inf xk = 1 e lim sup xk = 3.
Definic
ao 1.10 Sejam (v k ) IRn e (k ) IR {0} sequencias com k 0. Dizemos
vk
que v k = o(k ) quando
0. Mais geralmente, considere g : J IR 7 IRn com 0
k
sendo um ponto de acumulacao de J. Dizemos que g() = o() quando g(k ) = o(k )
para toda sequencia (k ) J com k 0.

Revisao de Conceitos

A seguir enunciaremos alguns resultados importantes. As demonstracoes podem


ser encontradas em [30, 31].
Teorema 1.11 Toda sequencia convergente e limitada.
Teorema 1.12 Toda sequencia (xk ) IR monotona limitada e convergente.
Teorema 1.13 (Bolzano-Weierstrass) Toda sequencia limitada em IRn possui uma
subsequencia convergente.
Teorema 1.14 Uma sequencia limitada em IRn e convergente se, e somente se, possui
um u
nico ponto de acumulacao.
` luz do Teorema 1.14, reveja o Exemplo 1.4.
A
O proximo resultado sera u
til na analise da convergencia de algoritmos, que trataremos no Captulo 4.
Teorema 1.15 Seja (xk ) IR uma sequencia monotona que possui uma subsequencia
IN0
convergente, digamos xk x. Entao xk x.
Demonstracao. Suponha que (xk ) e nao crescente (os demais casos sao analogos). Afirmamos que xk x, para todo k IN. De fato, do contrario existiria k0 IN tal que
xk xk0 < x, para todo k IN, k k0 . Assim nenhuma subsequencia de (xk ) poderia
convergir para x. Provamos entao que (xk ) e limitada, pois x xk x0 , para todo
k IN. Pelo Teorema 1.12, temos que (xk ) e convergente e aplicando o Teorema 1.2 segue
que xk x.

1.1.2

Ordem de converg
encia

No contexto de otimizacao existe outro aspecto importante a ser analisado em


uma sequencia: a velocidade de convergencia. Este conceito sera discutido em seguida
e denominado ordem de convergencia. Para um estudo mais aprofundado, indicamos a
referencia [37], que apresenta uma ampla discussao sobre este assunto.
Considere as sequencias
xk =

1
,
k+6

yk =

1
,
3k

wk =

1
2k2

e zk =

1
.
22k

Vemos que todas elas convergem para 0, mas nao com a mesma rapidez, conforme sugere
a Tabela 1.1.
Diante disto, e conveniente estabelecer uma maneira de medir a velocidade de
sequencias convergentes. Considere entao uma sequencia (xk ) IRn convergente para
x IRn . Assim, ek = kxk xk 0. O que faremos e avaliar como o erro ek tende para
0. Na primeira forma o erro a cada iteracao nao supera uma fracao do erro anterior.

Revisao de Conceitos
k
xk
yk
wk
zk

0
0,1667
1,0000
1,0000
0,5000

1
0,1429
0,3333
0,5000
0,2500

7
2
0,1250
0,1111
0,0625
0,0625

3
4
0,1111
0,1000
0,0370
0,0123
0,0020 1,5105
0,0039 1,5105

5
0,0909
0,0041
3108
2,31010

6
0,0833
0,0014
1,41011
5,41020

Tabela 1.1: Termos iniciais de algumas sequencias.


Definic
ao 1.16 Dizemos que a sequencia (xk ) IRn converge linearmente para x IRn ,
com razao de convergencia r [0, 1), quando
lim sup

kxk+1 xk
= r.
kxk xk

(1.1)

Note que a condicao (1.1) implica que xk x, pois tomando s (r, 1), temos
kxk+1 xk > skxk xk para no maximo uma quantidade finita de ndices. Assim, existe
k0 IN tal que
kxk0 +p xk sp kxk0 xk,
para todo p IN.
Exemplo 1.17 A sequencia xk =

1
converge para 0 mas nao linearmente.
k+6

De fato, temos
k+6
kxk+1 k
=
1.
kxk k
k+7

Exemplo 1.18 A sequencia y k =

1
converge linearmente para 0.
3k

Basta notar que


ky k+1 k
1
= .
k
ky k
3
Vejamos agora uma forma mais veloz de convergencia.
Definic
ao 1.19 A sequencia (xk ) IRn converge superlinearmente para x IRn quando
kxk+1 xk
0.
kxk xk

(1.2)

Note que a condicao (1.2) tambem implica que xk x. Alem disso, e imediato
verificar que a convergencia superlinear implica na convergencia linear.
Exemplo 1.20 A sequencia xk =

1
converge superlinearmente para 0.
2k2

Revisao de Conceitos

Temos

2k
kxk+1 k
1
=
0.
2 =
k
2k+1
(k+1)
kx k
2
2
Outra forma de convergencia, ainda mais rapida, e definida a seguir.

Definic
ao 1.21 A sequencia (xk ) IRn converge quadraticamente para x IRn quando
xk x e existe uma constante M > 0 tal que
kxk+1 xk
M.
kxk xk2

(1.3)

importante observar que apenas a condicao (1.3) nao implica que xk x, como
E
podemos ver na sequencia xk = 2k com x = 0.
Exemplo 1.22 A sequencia z k =

1
converge quadraticamente para 0.
22k

Temos

(22 )2
kxk+1 k
=
= 1.
kxk k2
22k+1

Nao e difcil provar que a convergencia quadratica implica na convergencia superlinear (veja o Exerccio 1.5). No entanto, a recproca e falsa, conforme vemos no proximo
exemplo.
1
converge superlinearmente mas nao quadraticaExemplo 1.23 A sequencia xk =
k!
mente para 0.
Temos

kxk+1 k
k!
1
=
=
0.
k
kx k
(k + 1)!
k+1
kxk+1 k
(k!)2
k!
k
=
=
=
(k 1)! .
k
2
kx k
(k + 1)!
k+1
k+1



1
1
k+1
k
k
Exemplo 1.24 Considere a sequencia (x ) definida por x = e x
=x x +
.
2
10
Mostre que (xk ) e convergente, calcule o seu limite e determine a ordem de convergencia.
k

9
, para todo k IN. Alem disso,
10




1
9
1
k
k
k
=x x +
<x
+
= xk .
10
10 10

Vemos por inducao que 0 xk <


xk+1

Revisao de Conceitos

k
Como (xk ) e mon
otona e limitada, conclumos que e convergente, digamos x x.
9
1
1
. Donde segue que x = 0 ou x =
. Como x0 =
e a
Portanto, x = x x +
10
10
2
1
sequencia e decrescente, temos que x = 0. A convergencia e linear com razao
, pois
10

xk+1
1
1
.
= xk +
k
x
10
10

Exemplo 1.25 Considere 0 < r < s < 1 e a sequencia (xk ) definida por x0 = 1 e
(
xk+1 =

rxk , se k e par
sxk , se k e mpar.

Mostre que (xk ) e convergente, calcule o seu limite e determine a ordem de convergencia.
Note que xk+1 < xk , para todo k IN. Portanto, 0 xk x0 , para todo k IN. Sendo
(xk ) decrescente e limitada, conclumos que e convergente, digamos xk x. Portanto,
x = r
x, donde segue que x = 0. Como
lim sup

xk+1
= s < 1,
xk

temos que a convergencia e linear com razao s.

1.2

Noc
oes de topologia

Definic
ao 1.26 Um ponto x IRn e dito ponto de fronteira de um conjunto X IRn
quando qualquer vizinhanca de x contem algum elemento de X e algum elemento do
complementar de X. O conjunto dos pontos fronteira de X e chamado de fronteira de X
e sera denotado por X.
O fecho de um conjunto X e a uniao de X com a fronteira de X e sera denotado
por X.
Definic
ao 1.27 Um conjunto X e fechado quando contem sua fronteira, ou seja, quando
X X. Se alem disso X for limitado, diremos que ele e compacto.
De forma equivalente, podemos dizer que X IRn e fechado se, e somente se,
toda sequencia convergente formada por elementos de X tem seu limite em X. Tambem
podemos caracterizar a compacidade de X em termos de sequencias. O conjunto X e
compacto se, e somente se, toda sequencia de elementos de X possui uma subsequencia
que converge para algum elemento de X (Veja os Exerccios 1.9 e 1.10).

Revisao de Conceitos

10

Exemplo 1.28 Dados X IRn e x X, existem sequencias (xk ) X e (y k ) IRn \ X


tais que xk x e y k x.




1
1
Temos que B x,
X 6= e B x,
(IRn \ X) 6= , para todo k IN.
k
k
Exemplo 1.29 Determine a fronteira dos conjuntos dados e verifique se sao compactos.


1. X = x IR2 | x41 + 8x22 16 ;
2. B = {x IRn | kxk < 1};
3. S = {x IRn | kxk = 1};


4. = x IRn | uT x b , onde u IRn \ {0} e b IR sao dados.
Temos


X = x IR2 | x41 + 8x22 = 16 , B = S = S.
Quanto ao conjunto , note que se uT x < b, entao a desigualdade e mantida em uma
vizinhanca de x. O mesmo ocorre se uT x > b. Por outro lado, se uT x = b, temos que
uT (x + tu) = b + tkuk2 , para todo t IR. Assim, qualquer vizinhanca de x contem pontos
de e de IRn \ . Portanto,


= x IRn | uT x = b .

Vejamos agora que X e compacto. Se x X, entao 2 x1 2 e 2 x2 2.


Assim, X e limitado. Alem disso, se xk X e xk x, entao
xk1 x1

xk2 x2

e (xk1 )4 + 8(xk2 )2 16.

Portanto, x41 + 8x22 16, donde segue que X e fechado. O conjunto B nao e compacto
pois nao contem sua fronteira; S e compacto; nao e compacto, pois nao e limitado (note
que tomando um elemento x e um vetor v u, temos x + tv , para todo t IR).
A Figura 1.1 ilustra o conjunto X e sua fronteira.
1.5
1
0.5
0
0.5
1
2

Figura 1.1: Ilustracao do conjunto X do Exemplo 1.29.

Revisao de Conceitos

11

Definic
ao 1.30 Um ponto x X IRn e chamado um ponto interior de X quando
e centro de alguma bola aberta contida em X, ou seja, quando existe > 0 tal que
B(
x, ) X.
O interior de um conjunto X e formado pelos pontos interiores a X e denotado
por intX.
Definic
ao 1.31 Um conjunto X IRn e aberto quando todos os seus pontos sao interiores, ou seja, intX = X.
Exemplo 1.32 Determine o interior dos conjuntos dados no Exemplo 1.29 e verifique se
sao abertos.


Podemos verificar que intX = x IR2 | x41 + 8x22 < 16 , intB = B, intS = e


int = x IRn | uT x < b . Desta forma, apenas o conjunto B e aberto.
Definic
ao 1.33 Dado um conjunto X IR, limitado inferiormente, existe um u
nico
c IR tal que
(i) c x, para todo x X;
(ii) Para todo > 0, existe x X tal que x < c + .
Dizemos que c e o nfimo do conjunto X e denotamos c = inf X.
Podemos dizer que inf X e a maior das cotas inferiores do conjunto X. De modo
analogo, definimos a menor das cotas superiores como o supremo do conjunto.
Definic
ao 1.34 Se X IR e limitado superiormente, entao existe um u
nico s IR tal
que
(i) x s, para todo x X;
(ii) Para todo > 0, existe x X tal que x > s .
Dizemos que s e o supremo do conjunto X e denotamos s = sup X.

1.3

Resultados de
algebra linear
As principais referencias desta secao sao [21, 29].

Definic
ao 1.35 O n
ucleo de uma matriz A IRmn , denotado por N (A), e um subconjunto de IRn formado por todas as solucoes do sistema homogeneo Ax = 0, ou seja,
N (A) = {x IRn | Ax = 0}.

Revisao de Conceitos

12

Temos que N (A) e um subespaco vetorial de IRn . O n


umero dim(N (A)) e chamado nulidade de A.
Lema 1.36 Considere A IRmn . Entao N (AT A) = N (A).
Demonstracao. Seja x N (AT A), isto e, AT Ax = 0. Multiplicando por xT , obtemos
0 = xT AT Ax = (Ax)T Ax = kAxk2 . Assim, Ax = 0, logo x N (A). Reciprocamente,
se x N (A), entao Ax = 0. Multiplicando por AT , obtemos AT Ax = AT 0 = 0, o que
completa a prova.
Definic
ao 1.37 A imagem de uma matriz A IRmn e o conjunto
Im(A) = {y IRm | y = Ax, para algum x IRn }.
Note que Im(A) e o espaco vetorial gerado pelas colunas de A, chamado espaco
coluna de A. O posto de A e definido por posto(A) = dim(Im(A)).
Prova-se em algebra linear que posto(A) = posto(AT ), ou seja, o espaco-linha e
o espaco-coluna de A tem a mesma dimensao. Portanto, posto(A) min{m, n}. Quando
ocorre a igualdade na expressao acima, dizemos que a matriz A tem posto cheio ou
posto completo e em consequencia disto, ou as colunas ou as linhas de A sao linearmente
independentes.
Outro fato classico afirma que dim(N (A)) + dim(Im(A)) = n, o que equivale a
dim(N (A)) + posto(A) = n.

(1.4)

Exemplo 1.38 Dada uma matriz A IRmn , temos posto(A) = posto(AT A).
Segue direto do Lema 1.36 e da relacao (1.4).
Exemplo 1.39 Dada a matriz A = (1 1 0), determine N (A) e Im(AT ). Represente
geometricamente estes subespacos.

1
0

Temos que x N (A) se, e somente se, x1 + x2 = 0. Assim, N (A) = 1 , 0 .
1
0

1

T
Alem disso, Im(A ) = 1 .

0
Exemplo 1.40 Considere uma matriz A IRmn . Mostre que N (A) Im(AT ).
Dados x N (A) e z Im(AT ), temos xT z = xT AT y = (Ax)T y = 0.

Revisao de Conceitos

13

Definic
ao 1.41 Seja Y IRn . O complemento ortogonal de Y e o conjunto dado por
Y = {x IRn | xT y = 0 para todo

y Y }.

Lema 1.42 Se A IRmn , entao N (A) = Im(AT ) .


Demonstracao. Dado x Im(AT ) , temos (Ax)T y = xT AT y = 0, para todo y IRm .
Portanto, Ax = 0, o que implica que x N (A). Reciprocamente, se x N (A), entao
Ax = 0. Logo xT (AT y) = (Ax)T y = 0, para todo y IRm , isto e, x Im(AT ) . Portanto
N (A) = Im(AT ) .
A definicao que segue e de fundamental importancia em otimizacao. Ela sera
usada mais adiante para estabelecer condicoes de otimalidade de um problema de otimizacao.
Definic
ao 1.43 Seja A IRnn uma matriz simetrica. Dizemos que A e definida positiva
quando xT Ax > 0, para todo x IRn \ {0}. Tal propriedade e denotada por A > 0. Se
xT Ax 0, para todo x IRn , A e dita semidefinida positiva, fato este denotado por
A 0.
Cabe salientar que a definicao geral de positividade de uma matriz nao exige que
ela seja simetrica. No entanto, no contexto deste livro vamos supor a simetria quando
considerarmos matrizes positivas.
!
a b
Exemplo 1.44 Considere A =
. Se A > 0, entao a > 0 e det(A) > 0.
b c
De fato, dado x =

!
x1
, temos
x2
xT Ax = ax21 + 2bx1 x2 + cx22 > 0.

!
!
1
t
Em particular, fazendo x =
, obtemos a > 0. Alem disso, tomando x =
,
0
1
obtemos at2 + 2bt + c > 0, para todo t IR. Isto implica que o discriminante 4b2 4ac e
negativo, donde segue que det(A) = ac b2 > 0.
A recproca do fato provado no exemplo anterior tambem e verdadeira. Mais
ainda, o resultado vale em IRnn . Veja o Exerccio 1.14 no final do captulo.
O proximo lema nos permite provar a positividade de uma matriz sem ter que
verificar a desigualdade em todo o IRn .
Lema 1.45 Sejam A IRnn uma matriz simetrica e > 0. Se xT Ax 0, para todo
x IRn tal que kxk = , entao xT Ax 0, para todo x IRn .

Revisao de Conceitos

14

x
, temos que kyk = . Portanto,
Demonstracao. Considere x IRn \{0}. Tomando y =
kxk

2

usando a hipotese, temos que


xT Ax = y T Ay 0. Assim, xT Ax 0.
kxk
Podemos inverter as desigualdades na Definicao 1.43 para dizer o que e uma
matriz definida negativa ou semidefinida negativa. Entretanto, existem matrizes que nao
sao nem positivas nem negativas, o que motiva a seguinte definicao.
Definic
ao 1.46 Seja A IRnn uma matriz simetrica. Dizemos que A e indefinida
quando existem x, y IRn tais que xT Ax < 0 < y T Ay.
Sabemos que toda matriz simetrica A IRnn possui uma base ortonormal de
autovetores, digamos {v 1 , v 2 , . . . , v n }. Indicando por 1 , 2 , . . . , n os autovalores correspondentes, P = (v 1 v 2 . . . v n ) e D = diag(1 , 2 , . . . , n ), temos
AP = (Av 1 Av 2 . . . Av n ) = (1 v 1 2 v 2 . . . n v n ) = P D.
Alem disso, P T P = I e, portanto,
A = P DP T .

(1.5)

A relacao (1.5) permite caracterizar a positividade de uma matriz em funcao dos


seus autovalores. Basta notar que dado x IRn , definindo y = P T x, temos
T

x Ax = y Dy =

n
X

i yi2 .

(1.6)

i=1

Os detalhes sao deixados para o Exerccio 1.15, no final do captulo.


Outros resultados importantes que decorrem de (1.5) sao apresentados nos seguintes lemas.
Lema 1.47 Se A IRnn e uma matriz simetrica com 1 e n sendo o menor e o maior
autovalor, respectivamente, entao
1 kxk2 xT Ax n kxk2 ,
para todo x IRn .
Demonstracao. Use a relacao (1.6) e note que kyk2 = y T y = xT x = kxk2 .
Lema 1.48 Seja A IRnn uma matriz definida positiva. Entao existe B IRnn tal
que A = BB T . Alem disso, dado x IRn , temos
(xT x)2 (xT Ax)(xT A1 x).

Revisao de Conceitos

15

Demonstracao. No contexto da relacao (1.5), definindo D = diag( 1 , 2 , . . . , n )

e B = P D, podemos escrever A = BB T . Fazendo u = B T x e v = B 1 x, temos que


uT v = xT x, uT u = xT Ax e v T v = xT A1 x. Aplicando a desigualdade de Cauchy-Schwarz,
obtemos a outra afirmacao do lema.
Vamos agora relacionar os autovalores de um polinomio avaliado em uma matriz
A IR
com os autovalores de A. Para isto, se q(t) = a0 + a1 t + + ak tk usaremos a
notacao
q(A) = a0 I + a1 A + + ak Ak .
nn

Lema 1.49 Seja A IRnn uma matriz simetrica com autovalores 1 , 2 , . . . , n . Se


q : IR IR e um polinomio, entao q(1 ), q(2 ), . . . , q(n ) sao os autovalores de q(A).
Demonstracao. Por (1.5), temos A = P DP T , onde P T P = I e D = diag(1 , 2 , . . . , n ).
Se q(t) = a0 + a1 t + + ak tk , entao

q(A) = a0 I + a1 P DP T + + ak (P DP T )k = P a0 I + a1 D + + ak Dk P T .
Notando que

a0 I + a1 D + + ak Dk = diag q(1 ), q(2 ), . . . , q(n )
conclumos a demonstracao.
No proximo resultado utilizaremos a norma de uma matriz, definida por
kAk = sup {kAxk | kxk = 1} .

(1.7)

Lema 1.50 Seja A IRnn uma matriz simetrica com autovalores 1 , 2 , . . . , n . Se


considerarmos a norma euclideana em (1.7), entao
kAk = max {|1 |, |2 |, . . . , |n |} .
Demonstracao. Considere x IRn tal que kxk = 1. Temos
kAxk2 = xT A2 x = xT P D2 P T x.
Definindo y = P T x e r = argmax {|i | | i = 1, 2, . . . , n}, podemos escrever
kAxk2 = y T D2 y =

n
X
i=1

2i yi2 2r kyk2 .

Revisao de Conceitos

16

Como kyk2 = xT P P T x = kxk2 = 1, temos kAk |r |. Alem disso, existe v IRn tal que
kvk = 1 e Av = r v. Assim,
kAvk2 = v T A2 v = 2r v T v = 2r ,
Portanto, kAk = |r |, o que completa a demonstracao.

1.4

F
ormula de Taylor e teorema da fun
c
ao implcita

As aproximacoes de Taylor para uma funcao constituem uma das mais importantes ferramentas em otimizacao, tanto no desenvolvimento da teoria quanto na construcao
de algoritmos. Aparecem por exemplo, na demonstracao das condicoes de otimalidade
de segunda ordem, que veremos no proximo captulo, bem como na ideia do Metodo de
Newton. Tambem apresentaremos nesta secao o teorema da funcao implcita, um outro
conceito de analise que sera importante no desenvolvimento teorico na parte de otimizacao
com restricoes.
A Figura 1.2 ilustra as aproximacoes de Taylor de ordens 1 e 2 da funcao seno.
2

1.5

1.5

0.5

0.5

0.5

0.5

1.5

1.5

2
6

2
6

Figura 1.2: Aproximacoes de Taylor de ordens 1 e 2.


Trabalharemos aqui com aproximacoes de primeira e segunda ordem. As de ordem
superior, apesar de serem mais precisas (veja Figura 1.3), deixam de ser convenientes pelo
alto custo computacional para o calculo das derivadas.
2

1.5

1.5

1.5

0.5

0.5

0.5

0.5

0.5

0.5

1.5

1.5

1.5

2
6

2
6

2
6

Figura 1.3: Aproximacoes de Taylor de ordens 3, 4 e 5.

Revisao de Conceitos

17

Antes de apresentar as formulas de Taylor vamos trabalhar um pouco com derivadas em varias variaveis. Inicialmente, considere f : IRn IR uma funcao de classe C 2 .
Indicaremos o gradiente e a hessiana de f , respectivamente, por

f
x1
.
.
f =
.
f
xn

2f
x1 x1

..
...
e 2 f =
.

2f

xn x1

Agora considere uma funcao vetorial f : IRn IRm .


e a matriz

f1
x1
.
..
.
Jf = f 0 =
.
.
fm

x1

2f
x1 xn

..
.
.

2f
xn xn

Sua derivada, chamada de jacobiana,

f1
xn
..
.
.
fm
xn

Note que a linha i da jacobiana de f e o gradiente transposto da componente fi . Em


particular, para m = 1, temos f 0 = (f )T . Alem disso, 2 f = Jf .
Exemplo 1.51 Considere f : IRn IR dada por f (x) = kxk2 = xT x. Calcule f (x) e
2 f (x). Generalizando, faca o mesmo para g : IRn IR dada por g(x) = xT Ax, onde
A IRnn e uma matriz arbitraria.
Temos f (x) = 2x e 2 f (x) = 2I, onde I IRnn e a matriz identidade. Para o caso
geral, note que
g(x + tei ) g(x)
= eTi (A + AT )x + teTi Aei .
t
Portanto, g(x) = (A + AT )x e 2 g(x) = A + AT .
O gradiente de uma funcao tem propriedades muito interessantes, tanto algebricas
quanto geometricas. Destacamos algumas delas.
1. O gradiente e uma direcao de crescimento da funcao;
2. e a direcao de crescimento mais rapido e
3. o gradiente e perpendicular `a curva de nvel da funcao.
As justificativas dessas afirmacoes podem ser encontradas no Captulo 3 de [31]. A Figura
1.4 ilustra as propriedades citadas.
Outra relacao importante surge quando restringimos uma funcao definida em IRn
aos pontos de um segmento de reta. Mais formalmente, dados x, d IRn e f : IRn IR,
definimos : I IR IR por (t) = f (
x + td). Vamos calcular as derivadas de . Temos
(t + s) (t)
f
=
(
x + td) = f (
x + td)T d.
s0
s
d

0 (t) = lim

Revisao de Conceitos

18

Figura 1.4: Propriedades do vetor gradiente.


00

Para calcular , note que (t) =

n
X
j=1

00

(t) =

n
X
j=1

dj

dj

f
(
x + td). Assim
xj

f
(
x + td)T d = dT 2 f (
x + td)d.
xj

Na Figura 1.5 temos uma superfcie ilustrando o grafico de f , um segmento de reta


representando os pontos x + td e uma curva sendo o grafico de . Uma generalizacao da
discussao anterior e proposta no Exerccio 1.25, onde trocamos o segmento x + td por uma
curva diferenciavel.

Figura 1.5: Restricao de uma funcao a um segmento.


Finalmente vamos apresentar as Formulas de Taylor. As demonstracoes podem
ser encontradas em [31].

Revisao de Conceitos

19

Teorema 1.52 (Taylor de primeira ordem) Considere f : IRn IR uma funcao diferenciavel e x IRn . Entao podemos escrever
f (x) = f (
x) + f (
x)T (x x) + r(x),
r(x)
= 0.
x
x kx x
k

com lim

O polinomio p1 (x) = f (
x) + f (
x)T (x x) e chamado polinomio de Taylor de
ordem 1 da funcao f . Dentre todos os polinomios de grau menor ou igual a 1, ele e o que
tambem o u
melhor aproxima f . E
nico que satisfaz
p(
x) = f (
x) e p0 (
x) = f 0 (
x).
Na Figura 1.6 ilustramos o erro cometido ao se aproximar f por p1 .

f(x)
r(x)
f(x)T(xx)
f(x)
x

Figura 1.6: Resto de Taylor de ordem 1.


O limite nulo no Teorema 1.52 significa que para x proximo de x o resto r(x) e
muito pequeno e vai para zero mais rapido que kx xk.
Tambem e conveniente observar que podemos reescrever o Teorema 1.52 fazendo
uma simples mudanca de variavel. De fato, definindo d = x x, temos
f (
x + d) = f (
x) + f (
x)T d + r(d),
com lim

d0

r(d)
= 0.
kdk

Agora podemos nos perguntar qual e a melhor quadratica que aproxima uma
dada funcao em uma vizinhanca de um ponto. A resposta e dada pelo proximo teorema.
Teorema 1.53 (Taylor de segunda ordem) Se f : IRn IR e uma funcao duas vezes
diferenciavel e x IRn , entao
1
f (x) = f (
x) + f (
x)T (x x) + (x x)T 2 f (
x)(x x) + r(x),
2

Revisao de Conceitos

20

r(x)
= 0.
x
x kx x
k2

com lim

Analogamente ao que vimos anteriormente, o polinomio


1
p2 (x) = f (
x) + f (
x)T (x x) + (x x)T 2 f (
x)(x x)
2
e chamado polinomio de Taylor de ordem 2 da funcao f e e a melhor aproximacao para f
dentre todos os polinomios de grau menor ou igual a 2. Alem disso e o u
nico que satisfaz
p(
x) = f (
x),

p0 (
x) = f 0 (
x) e p00 (
x) = f 00 (
x).

Na Figura 1.7 ilustramos o erro cometido ao se aproximar f por p2 .

f(x)

r(x)
1(xx)T2f(x)(xx)
2
f(x)T(xx)

f(x)
x

Figura 1.7: Resto de Taylor de ordem 2.


O limite nulo no Teorema 1.53 significa que para x proximo de x, o resto r(x) e
muito pequeno e vai para zero muito mais rapido que kx xk2 .
Aqui tambem podemos reescrever o Teorema 1.53 fazendo d = x x. Ficamos
com
1
f (
x + d) = f (
x) + f (
x)T d + dT 2 f (
x)d + r(d),
2
r(d)
= 0.
d0 kdk2

com lim

Exemplo 1.54 Considere a funcao f : IR2 IR dada por f (x) = x1 cos x2 + x2 sin x1 .
Determine as aproximacoes de Taylor de ordens 1 e 2 para f em torno de 0. Estime o
erro da aproximacao linear na regiao [1, 1] [1, 1].
!
cos x2 + x2 cos x1
Temos f (x) =
. Assim, p1 (x) = f (0) + f (0)T x = x1 . Para
sin x1 x1 sin x2

1
3
estimar o erro, note que se |z| 1, entao cos z > e | sin z| <
. Portanto,
2
2
|f (x) p1 (x)| = |f (x) x1 | |x1 || cos x2 1| + |x2 sin x1 | < 1,367.

Revisao de Conceitos

21




Esta estimativa e razoavel pois f

1
1




1 1,3.

Veremos agora outra formula de Taylor, na qual nao supomos d 0 para estimar
a diferenca f (
x + d) f (
x). Para ordem 1, ela e exatamente o Teorema do Valor Medio.
De modo geral a chamamos de Taylor com resto de Lagrange.
Teorema 1.55 (Teorema do Valor M
edio) Sejam f : IRn IR contnua e x, d
IRn . Se f e diferenciavel no segmento (
x, x + d), entao existe t (0, 1) tal que
f (
x + d) = f (
x) + f (
x + td)T d.
A Figura 1.8 ilustra o TVM.

x+td

x+d

Figura 1.8: Teorema do Valor Medio.

Teorema 1.56 (Taylor com resto de Lagrange) Considere f : IRn IR uma func
ao
de classe C 1 e x, d IRn . Se f e duas vezes diferenciavel no segmento (
x, x + d), ent
ao
existe t (0, 1) tal que
1
f (
x + d) = f (
x) + f (
x)T d + dT 2 f (
x + td)d.
2
O proximo teorema garante que, sob certas hipoteses, podemos definir implicitamente uma variavel como funcao de outra em uma equacao. A prova deste resultado
tambem pode ser encontrada em [31].
Teorema 1.57 (Teorema da func
ao implcita) Seja : IRn+1 IRn uma funcao de
classe C 1 . Considere o sistema de n equacoes e n + 1 variaveis definido por

x
t

!
= 0,

(1.8)

Revisao de Conceitos

22

!
x

onde x IRn e t IR. Se o ponto


e uma solucao de (1.8), na qual a jacobiana de
0
em relacao!a x tem posto n, entao existe uma curva diferenciavel : (, ) IRn tal
(t)
que
= 0, para todo t (, ). Alem disso, a funcao e u
nica.
t

1.5

Exerccios do captulo

1.1. Considere a sequencia definida por x1 = 1, xk+1 =

1 + xk . Mostre que:

(a) 1 xk 2 para todo k IN;


(b) (xk ) e crescente;
(c) (xk ) e convergente e calcule seu limite.
1.2. Considere a sequencia definida por y 1 = 0, y k+1 =

1
. Mostre que:
1 + 2y k

(a) 0 y k 1 para todo k IN;


(b) (y 2k1 )kIN e crescente e (y 2k )kIN e decrescente;
1
(c) y k .
2
1.3. Considere as sequencias definidas por a1 = 0, a2 = 1, ak+2 =
x2 = 1, xk+2 = xk+1 + 2xk . Mostre que:

ak+1 + ak
e x1 = 0,
2

xk
(a) a = k2 para todo k IN;
2
k

(b) xk+1 + xk = 2k1 para todo k IN;


(c)

1
xk
;
k+1
x
2

2
(d) ak .
3
1.4. Generalize o exerccio anterior. Considere a sequencia definida por a1 = , a2 = ,
ak+1 + ak
2
ak+2 =
, com < e mostre que ak + ( ).
2
3
1.5. Mostre que a convergencia quadratica implica na superlinear.
2k
, k IN. Mostre que (xk ) converge para zero com ordem superlinear
k!
1
2
mas nao quadratica. Faca o mesmo para xk = k e xk = ek .
k

1.7. Considere a sequencia definida por x1 = 2, xk+1 = 2 + xk . Mostre que:


1.6. Seja xk =

Revisao de Conceitos

23

(a) 1 xk 2 para todo k IN;


(b) (xk ) e crescente;
(c) xk 2 linearmente com taxa

1
.
4

1.8. Sejam A IRmn uma matriz de posto n e xk x. Defina y k = Axk e y = A


x.
Mostre que se a convergencia de (xk ) e superlinear, entao o mesmo vale para (y k ). Isto
continua valido se trocarmos superlinear por linear?
1.9. Mostre que X IRn e fechado se, e somente se, dada (xk ) X tal que xk x,
temos x X.
1.10. Mostre que X IRn e compacto se, e somente se, toda sequencia (xk ) X possui
uma subsequencia que converge para algum elemento de X.
1.11. Considere X IRn e (z k ) X, tal que z k x. Mostre que x X.
1.12. Se V e um subespaco de IRn , entao IRn = V V .
1.13. Seja A IRnn uma matriz simetrica. Sendo {v 1 , v 2 , . . . , v n } uma base ortonormal de autovetores e {1 , 2 , . . . , n } os autovalores associados. Supondo que nenhum
autovalor e nulo, obtenha uma expressao para a inversa A1 .
1.14. A matriz simetrica A IRnn e definida positiva se, e somente se, os determinantes
principais sao positivos.
1.15. A matriz simetrica A IRnn e definida positiva se, e somente se, todos os seus
autovalores sao positivos.
1.16. Seja A IRmn uma matriz de posto n. Mostre que AT A e definida positiva.
1.17. Suponha que as matrizes A, B IRnn sao definidas positivas e que A2 = B 2 .
Mostre que A = B.
1.18. Sejam A IRmn e B IRnn tais que posto(A) = m e B e definida positiva
no n
ucleo!de A, isto e, dT Bd > 0 para todo d 6= 0, d N (A). Mostre que a matriz
B AT
e inversvel.
A 0
1.19. Considere A IRnn simetrica singular e {v 1 , . . . , v n } uma base ortonormal de
autovetores de A tal que v 1 , . . . , v `1 sao os autovetores associados ao autovalor nulo e
v ` , . . . , v n os autovetores associados aos autovalores nao nulos. Mostre que
[v 1 , . . . , v `1 ] = N (A) e [v ` , . . . , v n ] = Im(A).

Revisao de Conceitos

24

1.20. Considere A IRnn semidefinida positiva singular e b Im(A). Mostre existe


um u
nico x Im(A) satisfazendo Ax + b = 0. Alem disso, se ` e o menor autovalor
positivo de A, entao kAx k ` kx k.
1.21. Considere A IRmn com posto(A) = n. Mostre existe c > 0 tal que kAxk ckxk,
para todo x IRn .
1.22. [Sherman-Morrison] Considere uma matriz inversvel Q IRnn e dois vetores
arbitrarios u, v IRn . Mostre que Q + uv T e inversvel se, e somente se, 1 + v T Q1 u 6= 0.
Alem disso, verifique a igualdade
(Q + uv T )1 = Q1

Q1 uv T Q1
.
1 + v T Q1 u

1.23. Considere g : IRn IRm e defina f (x) = kg(x)k22 . Calcule f (x) e 2 f (x).
1.24. Considere f : IRn IR dada por f (x) = kAx bk22 , onde A IRmn e b IRm .
Calcule f (x).
1.25. Considere uma funcao f : IRn IR e uma curva : I IR IRn , ambas duas

vezes diferenciaveis. Defina : I IR por (t) = f (t) . Obtenha expressoes para as
derivadas 0 (t) e 00 (t).
1.26. Obtenha os polinomios de Taylor de ordens 1 e 2 das funcoes dadas em torno do
ponto 0 IR2 .
x1
;
1 + x2
p
(b) f (x) = ex1 1 + x22 .
(a) f (x) =

1.27. Aproxime f (x) = ex em x = 0 pelos polinomios de Taylor de ordem 3 e 4. A


seguir, calcule os valores dessas aproximacoes em x = 0,2 e x = 1 e compare com os
valores corretos.

1.28. Calcule os polinomios de Taylor de ordem 1, 2 e 3 das funcoes f (x) = x + 1 e


g(x) = ln(x + 1) em x = 0. A seguir, calcule os valores dessas aproximacoes em x = 0,2
e x = 1 e compare com os valores corretos.

Captulo 2
Introdu
c
ao `
a Otimiza
c
ao
Estudaremos neste captulo os conceitos basicos de otimizacao. Comecamos com
algumas situacoes que garantem a existencia de um minimizador e em seguida discutimos as condicoes de otimalidade para o problema de minimizacao irrestrita. Algumas
referencias para este assunto sao [13, 14, 22, 35].

2.1

O problema de otimiza
c
ao
Vamos considerar aqui o problema
minimizar f (x)
sujeito a x ,

(2.1)

onde f : IRn IR e uma funcao arbitraria e IRn e um conjunto qualquer.


Definic
ao 2.1 Considere uma funcao f : IRn IR e x IRn . Dizemos que x e
um minimizador local de f em quando existe > 0, tal que f (x ) f (x), para todo
x B(x , ) . Caso f (x ) f (x), para todo x , x e dito minimizador global de
f em .
Quando as desigualdades na Definicao 2.1 forem estritas para x 6= x , diremos
que x e minimizador estrito. Se nao for mencionado o conjunto , significa que = IRn
e portanto estamos trabalhando com um problema irrestrito.
Veremos em seguida condicoes que garantem a existencia de minimizadores. Na
Secao 2.2 discutiremos criterios de otimalidade.
Teorema 2.2 (Weierstrass) Sejam f : IRn IR contnua e IRn compacto n
ao
vazio. Entao existe minimizador global de f em .
Demonstracao. Vejamos primeiro que o conjunto f () = {f (x) | x } e limitado
inferiormente. Suponha por absurdo que nao. Entao, para todo k IN, existe xk
25

Otimizacao Irrestrita

26

tal que f (xk ) k. Como a sequencia (xk ) esta no compacto , ela possui uma
IN0
subsequencia convergente para um ponto de , digamos xk x . Pela continuidade
IN0
de f , temos f (xk ) f (
x), uma contradicao. Portanto, f () = {f (x) | x } e limitado
inferiormente. Considere f = inf{f (x) | x }. Entao, para todo k IN, existe xk
tal que
1
f f (xk ) f + ,
k
IN0

o que implica f (xk ) f . Repetindo o argumento acima, obtemos f (xk ) f (x ), com


x . Pela unicidade do limite, temos f (x ) = f f (x), para todo x , o que
completa a demonstracao.
O Teorema 2.2 tem uma consequencia interessante, que pode garantir a existencia
de minimizador global em IRn .
Corol
ario 2.3 Seja f : IRn IR contnua e suponha que existe c IR tal que o conjunto
L = {x IRn | f (x) c} e compacto nao vazio. Entao f tem um minimizador global.
Demonstracao. Pelo Teorema 2.2, existe x L tal que f (x ) f (x), para todo x L.
Por outro lado, se x
/ L, temos f (x) > c f (x ). Assim, f (x ) f (x), para todo
x IRn .
Exemplo 2.4 Seja f : IRn IR dada por f (x) = xT Ax, onde A IRnn e uma matriz
simetrica. Mostre que f tem um minimizador global x em S = {x IRn | kxk = 1}.
Mostre tambem que existe IR tal que xT Ax kxk2 , para todo x IRn .
Como f e contnua e S e compacto, a primeira afirmacao segue do Teorema 2.2. Alem
x
disso, dado x IRn \ {0}, temos que
S. Portanto, definindo = (x )T Ax , temos
kxk
xT Ax kxk2 , para todo x IRn .
Veremos agora outro resultado que garante a existencia de minimizador global
em IR , sem supor compacidade. Em contrapartida, fazemos uma hipotese a mais sobre
a funcao.
n

Definic
ao 2.5 Dizemos que a funcao f : IRn IR e coerciva quando lim f (x) = .
kxk

Teorema 2.6 Seja f : IRn IR uma funcao contnua e coerciva. Entao, f tem um
minimizador global.
Demonstracao. Considere a IRn e b = f (a). Como lim f (x) = , existe r > 0 tal que
kxk

f (x) > b, sempre que kxk > r. Como o conjunto B = {x IRn | kxk r} e compacto,
o Teorema 2.2 garante que existe x B tal que f (x ) f (x), para todo x B. Alem
disso, a B, pois f (a) = b. Para x
/ B, temos f (x) > b = f (a) f (x ). Isto prova que
x e minimizador de f .
Observacao: o Exerccio 2.11 no final do captulo fornece outra demonstracao
para o Teorema 2.6.

Otimizacao Irrestrita

27

Exemplo 2.7 Sejam A IRnn uma matriz simetrica, b IRn e c IR. Suponha que a
funcao f : IRn IR dada por
1
f (x) = xT Ax + bT x + c
2
tem um minimizador local x . Mostre que Ax + b = 0. Mostre tambem que x e minimizador global.
Dado d IRn , temos
1
f (x + td) f (x ) = t2 dT Ad + t(Ax + b)T d.
2
1
Como x e minimizador local, temos que tdT Ad+(Ax +b)T d 0 para t suficientemente
2
pequeno e positivo. Portanto, Ax + b = 0. Para ver que x e global, note que
1 T
d Ad = f (x + d) f (x ) 0
2
para d proximo de 0, donde segue que dT Ad 0 para todo d IRn , tendo em vista o
Lema 1.45.
Exemplo 2.8 Considere a quadratica definida no Exemplo 2.7 e suponha que A e definida
positiva. Mostre que f e coerciva.
Se e o menor autovalor de A, temos f (x)

2.2

kxk2 kbkkxk + c.
2

Condic
oes de otimalidade

Veremos agora as condicoes necessarias e suficientes para caracterizar um minimizador de um problema irrestrito.
Teorema 2.9 (Condic
ao necess
aria de 1a ordem) Seja f : IRn IR diferenci
avel
n
no ponto x IR . Se x e um minimizador local de f , entao
f (x ) = 0.

(2.2)

Demonstracao. Considere d IRn \ {0} arbitrario. Como x e minimizador local, existe


> 0 tal que
f (x ) f (x + td),
(2.3)
para todo t (0, ). Pela expansao de Taylor,
f (x + td) = f (x ) + tf (x )T d + r(t),

Otimizacao Irrestrita

28

r(t)
r(t)
= 0. Usando (2.3) e dividindo por t, obtemos 0 f (x )T d+
. Passando
t0 t
t
o limite quando t 0, obtemos f (x )T d 0. Se f (x ) nao fosse nulo, poderamos
escolher d = f (x ), resultando em kf (x )k2 = f (x )T d 0, o que e uma
contradicao. Logo f (x ) = 0.
com lim

Definic
ao 2.10 Um ponto x IRn que cumpre a condicao (2.2) e dito ponto crtico ou
estacionario da funcao f .
2
2
2
2
Exemplo 2.11 Seja f : IR3 IR dada por f (x) = sen(3x
1 +x2 )+cos(x1 x2 )+5x3 . Veri
x22 x23
3
3
2
+
1 ?
fique se f tem minimizadores em IR . E no conjunto B = x IR | x1 +
4
9

f
(x) = 5. Portanto, pelo Teorema 2.9,
x3
nao existe minimizador de f em IR3 . Por outro lado, como B e compacto, o Teorema 2.2
garante que existe minimizador de f em B.

Note que f (x) 6= 0, para todo x IR3 , pois

Teorema 2.12 (Condic


ao necess
aria de 2a ordem) Seja f : IRn IR duas vezes
diferenciavel no ponto x IRn . Se x e um minimizador local de f , entao a matriz
Hessiana de f no ponto x e semidefinida positiva, isto e,
dT 2 f (x )d 0,

(2.4)

para todo d IRn .


Demonstracao. Considere d IRn \ {0} arbitrario. Por Taylor,
f (x + td) = f (x ) + tf (x )T d +

t2 T 2
d f (x )d + r(t),
2

r(t)
com lim 2 = 0. Como x e minimizador local, o Teorema 2.9 garante que f (x ) = 0.
t0 t
Portanto, para t suficientemente pequeno,
0 f (x + td) f (x ) =

t2 T 2
d f (x )d + r(t),
2

Dividindo por t2 e passando o limite quando t 0, obtemos dT 2 f (x )d 0.


Exemplo 2.13 [13, Exerc. 2.6] Seja f : IR2 IR dada por f (x) = (x1 x22 )(x1 12 x22 ).
Verifique que x = 0 e o u
nico ponto estacionario de f e nao e minimizador. No entanto,
fixada qualquer direcao d IRn \ {0}, x minimiza localmente f ao longo de d.
!
2x1 23 x22
. Assim, se f (x) = 0, entao x = 0. Alem disso,
Temos f (x) =
3x1 x2 + 2x32
!
2 2
x
x42
3 2
f
=
< 0, o que significa que x = 0 nao e minimizador local de f . Porem,
18
x2

Otimizacao Irrestrita

29

dado d IRn \ {0}, temos


f (
x + td) = t2 d1 td22



1 
d1 td22 .
2

Se d1 = 0, entao f (
x + td) = 12 t4 d42 0. Caso d1 6= 0, a expressao (d1 td22 )(d1 21 td22 ) e
positiva em t = 0 e, por continuidade, tambem para t proximo de 0. A Figura 2.1 ilustra
este exemplo.

Figura 2.1: Ilustracao do Exemplo 2.13.


Convem observar aqui que se x e minimizador local de f , entao dado d IRn \{0},
existe > 0 tal que
f (x ) f (x + td),
para todo t (, ). Este argumento foi usado, por exemplo, na demonstracao do
Teorema 2.9. Entretanto, o Exemplo 2.13 mostra que a recproca nao e verdadeira.
Teorema 2.14 (Condic
ao suficiente de 2a ordem) Seja f : IRn IR duas vezes diferenciavel no ponto x IRn . Se x e um ponto estacionario da funcao f e 2 f (x ) e
definida positiva, entao x e minimizador local estrito de f .
Demonstracao. Seja o menor autovalor de 2 f (x ). Como esta matriz e definida positiva, temos > 0. Alem disso, pelo Lema 1.47 (veja tambem o Exemplo 2.4 da Secao
2.1), dT 2 f (x )d kdk2 , para todo d IRn . Por Taylor, ja usando o fato de x ser
estacionario, temos
1
1
f (x + d) = f (x ) + dT 2 f (x )d + r(d) f (x ) + kdk2 + r(d),
2
2
r(d)
f (x + d) f (x )

r(d)
onde lim
=
0.
Podemos
ent
a
o
escrever

+
. Como
2
2
kdk0 kdk
kdk
2
kdk2


r(d)

r(d)
lim
+
> 0, existe > 0 tal que +
> 0, para todo d B(0, ) \ {0},
2
kdk0
2 kdk
2 kdk2
donde segue que f (x + d) f (x ) > 0, para todo d B(0, ) \ {0}, ou, equivalentemente,
f (x ) < f (x),

Otimizacao Irrestrita

30

para todo x B(x , ) \ {x }.


Salientamos que as definicoes e resultados envolvendo minimizadores podem ser
reformulados para maximizadores de forma inteiramente analoga. No entanto, convem
estudar com mais detalhes alguns pontos que nao sao nem minimizadores nem maximizadores.
Definic
ao 2.15 Considere uma funcao diferenciavel f : IRn IR e x IRn um ponto
estacionario de f . Dizemos que x e um ponto de sela da funcao f quando para todo > 0,
existem x, y B(
x, ) tais que
f (x) < f (
x) < f (y).
O proximo teorema nos fornece uma condicao suficiente (mas nao necessaria)
para que um ponto seja sela.
Teorema 2.16 Seja f : IRn IR duas vezes diferenciavel no ponto estacionario x IRn .
Se 2 f (
x) e indefinida, entao x e ponto de sela de f .
Demonstracao. Considere d IRn tal que dT 2 f (
x)d < 0. Por Taylor, ja usando o fato
de x ser estacionario, temos
1 T 2
r(t)
f (
x + td) f (
x)
=
d

f
(
x
)d
+
,
t2
2
t2
com lim
t0

r(t)
= 0. Portanto,
t2

f (
x + td) < f (
x),

para todo t suficientemente pequeno. Considere agora v IRn tal que v T 2 f (


x)v > 0.
Analogamente, podemos concluir que f (
x + tv) > f (
x), para t suficientemente pequeno.
Isto prova que x e ponto de sela.
Exemplo 2.17 [13, Exerc. 2.5] Seja f : IR2 IR dada por
f (x) = 2x31 3x21 6x1 x2 (x1 x2 1).
Descreva os pontos estacionarios da funcao f .
!
6x21 12x1 x2 6x1 + 6x22 + 6x2
Temos f (x) =
. Logo, os pontos estacionarios sao
6x21 + 12x1 x2 + 6x1
solucoes do sistema
(
6x22 + 6x2 = 0
,
6x21 12x1 x2 6x1 = 0

Otimizacao Irrestrita

31

que podemos verificar que sao x1 =

!
0
, x2 =
0

!
1
, x3 =
0

0
1

!
e x4 =

!
1
. Alem
1

disso,
!
12x

12x

6
12x
+
12x
+
6
1
2
1
2
2 f (x) =
.
12x1 + 12x2 + 6
12x1
!
!
!
1
1
1
1
1
1
Fazendo Aj = 16 2 f (xj ), temos A1 =
, A2 =
, A3 =
1 0
1
2
1
0
!
!
!
1
1
1
1
e A4 =
. Note que A1 e indefinida, pois u =
e v =
fornecem
1 2
0
1
uT A1 u < 0 e v T A1 v > 0. Portanto x1 e ponto de sela. Ja o ponto x2 e minimizador local,
pois A2 > 0. Alem disso, A3 = A1 tambem e indefinida, sendo entao x3 ponto de sela.
Finalmente, A4 = A2 < 0, o que implica que x4 e maximizador local. A Figura 2.2
ilustra este exemplo.
0.5
0
0.5
1
1.5
2
2

Figura 2.2: Ilustracao do Exemplo 2.17.


Exemplo 2.18 [22, Exerc. 1.3.5] Dado > 1, mostre que o sistema
(

cos x1 sin x2 + x1 ex1 +x2 = 0


2
2
sin x1 cos x2 + x2 ex1 +x2 = 0

tem uma solucao x 6= 0.


2

Considere f : IR2 IR dada por f (x) = !


sin x1 sin x2 + 21 ex1 +x2 . Fazendo u = x21 + x22 ,
cos x1 sin x2 + x1 eu
temos que f (x) =
e
sin x1 cos x2 + x2 eu
2 f (x) =

sin x1 sin x2 + eu + 2x21 eu


cos x1 cos x2 + 2x1 x2 eu
cos x1 cos x2 + 2x1 x2 eu
sin x1 sin x2 + eu + 2x22 eu

!
.

!
1

Portanto, 2 f (0) =
. Como > 1, 2 f (0) nao e semidefinida positiva e assim,
1
x = 0 nao pode ser minimizador local de f . Mas f e coerciva e portanto tem um
minimizador local x 6= 0.

Otimizacao Irrestrita

2.3

32

Exerccios do captulo

Alguns dos exerccios propostos abaixo foram tirados ou reformulados a partir


daqueles apresentados em [13, Captulo 2]. Indicaremos, quando for o caso, o exerccio
correspondente desta referencia.
2.1. [13, Exerc. 2.1] Sejam g : IR IR uma funcao estritamente crescente e f : IRn IR.

Prove que minimizar f (x) e equivalente a minimizar g f (x) .
2.2. [13, Exerc. 2.3(a)] Considere n
umeros reais a < b < c e as funcoes f, g : IR IR,
definidas por
f (x) = |x a| + |x b| e g(x) = |x a| + |x b| + |x c|.
Determine os minimizadores destas funcoes.
2.3. [13, Exerc. 2.4] Sejam a, b IR dois n
umeros reais positivos. Considere a funcao
unico) ponto estacionario
de Rosenbrock f (x) = a(x2 x21 )2 + b(1 x1 )2 . Encontre o (
2
de f e verifique se e minimizador local. Prove que f (x) e singular se e somente se
b
x2 x21 = .
2a
2.4. Sejam f : IRn IR contnua, x IRn e f = f (x ). Suponha que todo x, tal que
f (x) = f , e um minimizador local de f . Mostre que x e um minimizador global de f .
2

2.5. Seja f : IR2 IR dada por f (x) = sin x1 sin x2 + ex1 +x2 . Mostre que x = 0 e ponto
estacionario de f . Diga se e minimizador, maximizador ou sela.
2.6. Verifique se a funcao f (x) = (x1 + x2 )2 + x31 tem algum ponto estacionario. Caso
afirmativo diga se e minimizador, maximizador ou sela.
2.7. Seja f : IR2 IR dada por f (x) = x21 + x22 x1 x22 . Determine e faca um esboco do
conjunto {x IR2 | 2 f (x) > 0}.
2.8. Seja f : IR2 IR dada por f (x) = x21 x1 x2 + 2x22 2x1 + 32 x2 + ex1 +x2 .
!
1
1
e um ponto estacionario de f ;
(a) Mostre que x =
3 1
(b) Calcule 2 f (
x) e diga se x e minimizador local.
2.9. [13, Exerc. 2.10] Considere o problema irrestrito
minimizar f (x) = x21 x1 x2 + 2x22 2x1 + ex1 +x2
sujeito a x IR2 .
(a) Verifique que o ponto x = 0 nao e otimo;

Otimizacao Irrestrita

33

(b) Minimize a funcao a partir de x na direcao d = f (


x).
2.10. [13, Exerc. 2.17] Se for possvel, determine a e b de modo que f (x) = x3 + ax2 + bx
tenha um maximo local em x = 0 e um mnimo local em x = 1.
2.11. Seja f : IRn IR uma funcao contnua e coerciva. Dado a IRn , mostre que o
conjunto L = {x IRn | f (x) f (a)} e compacto nao vazio.
2.12. Sejam f : IRn IR contnua e x IRn tal que {x IRn | f (x) f (
x)} e limitado.
Mostre que f tem minimizador global.
2.13. Resolva o Exerccio 1.21 usando a continuidade da funcao x 7 kAxk na esfera
unitaria.
2.14. Considere f : IRn IR dada por f (x) = xT Ax + bT x, onde A IRnn e uma
matriz simetrica e b IRn \ Im(A). Prove que f nao possui minimizador.

Captulo 3
Convexidade
Dentre as varias classes de funcoes estudadas em matematica, existe uma que
se destaca pelas excelentes propriedades que possui: a classe das funcoes convexas. Em
otimizacao, a convexidade permite por exemplo concluir que minimizadores locais sao
globais, ou ainda, que pontos estacionarios sao minimizadores. Algumas referencias para
este assunto sao [2, 19, 40].

3.1

Conjuntos convexos

Os conjuntos convexos constituem o domnio natural para as funcoes convexas,


conforme veremos agora.
Definic
ao 3.1 Um conjunto C IRn e dito convexo quando dados x, y C, o segmento
[x, y] = {(1 t)x + ty | t [0, 1]} estiver inteiramente contido em C.
Na Figura 3.1 ilustramos 2 conjuntos, um convexo e outro nao.

y
x

Figura 3.1: Conjuntos convexo e nao convexo.

Exemplo 3.2 Sejam Ci , i = 1, . . . , m conjuntos convexos. Entao o conjunto C =

m
\

Ci

i=1

tambem e convexo. Por outro lado, a uniao de convexos nao e convexa.


Exemplo 3.3 Mostre que o conjunto solucao de um sistema de equacoes lineares e convexo.
34

Convexidade

35


Seja C = {x IRn | Ax = b}. Se Ax = b e Ay = b, entao A (1 t)x + ty = b.
Veremos agora alguns resultados que alem de sua importancia em analise convexa,
podem tambem ser usados para provar o classico Lema de Farkas, fundamental para a
obtencao das condicoes de Karush-Kuhn-Tucker para problemas com restricoes.
Lema 3.4 Sejam u, v IRn com u 6= v. Se kuk2 = kvk2 = r, entao k(1 t)u + tvk2 < r,
para todo t (0, 1).
Demonstracao. Pela desigualdade triangular, temos
k(1 t)u + tvk2 (1 t)kuk2 + tkvk2 = r.
Suponha, por absurdo, que k(1 t)u + tvk2 = r. Entao
(1 t)2 uT u + 2t(1 t)uT v + t2 v T v = k(1 t)u + tvk22 = r2 .
Como uT u = v T v = r2 e t (0, 1), obtemos uT v = r2 . Portanto,
ku vk2 = uT u 2uT v + v T v = 0,
o que e uma contradicao. Isto nos permite concluir que k(1 t)u + tvk2 < r, completando
a demonstracao.
Considere agora um conjunto S IRn , um ponto z IRn e o problema de
encontrar um ponto de S mais proximo de z. Este problema pode nao ter solucao e
quando tem, nao garantimos unicidade. No entanto, conforme provaremos a seguir, se S
e fechado, entao existe solucao. Se alem de fechado, for convexo, a solucao e u
nica e sera
chamada de projecao de z sobre S, denotada por projS (z). Veja ilustracao na Figura 3.2.

projSz

Figura 3.2: Minimizacao da distancia de um ponto a um conjunto.

Lema 3.5 Seja S IRn um conjunto fechado nao vazio. Dado z IRn , existe z S tal
que
kz zk kz xk,
para todo x S.

Convexidade

36

Demonstracao. Seja = inf{kz xk | x S}. Entao, para todo k IN, existe xk S tal
que
1
(3.1)
kz xk k + .
k
Em particular, kz xk k + 1, para todo k IN. Logo, existe uma subsequencia
IN0
convergente, digamos, xk z. Sendo S fechado, temos que z S. Alem disso,
IN0

kz xk k kz zk.
Mas por (3.1), kz xk k , donde segue que kz zk = , completando a prova.
Ao contrario do lema anterior, o proximo resultado depende da norma e sera
estabelecido usando a norma euclidiana.
Lema 3.6 Seja S IRn um conjunto nao vazio, convexo e fechado. Dado z IRn , existe
um u
nico z S tal que
kz zk2 kz xk2 ,
para todo x S.
Demonstracao. A existencia e garantida pelo Lema 3.5. Para provar a unicidade, suponha
que existam z 6= z em S tais que
kz zk2 kz xk2

e kz zk2 kz xk2 ,

(3.2)

para todo x S. Tomando x = z na primeira desigualdade e x = z na segunda, obtemos


kz zk2 = kz zk2 .
1
(
z + z) esta no convexo S. Alem disso, pelo Lema 3.4,
2
1
com r = kz zk2 = kz zk2 e t = , temos
2
Por outro lado, o ponto z =

kz z k2 = k(1 t)(z z) + t(z z)k2 < r,


contradizendo (3.2).
No contexto do Lema 3.6, denotaremos
z = projS (z).
Veja a terceira situacao na Figura 3.2.
Vejamos agora um dos principais resultados desta secao. Por simplicidade vamos
indicar a norma euclidiana por k k.

Convexidade

37

Teorema 3.7 Sejam S IRn um conjunto nao vazio, convexo e fechado, z IRn e
z = projS (z). Entao
(z z)T (x z) 0,
para todo x S.
Demonstracao. Considere um ponto arbitrario x S. Dado t (0, 1), pela convexidade
de S, temos que (1 t)
z + tx S. Portanto,
kz zk kz (1 t)
z txk = kz z + t(
z x)k.
Assim,
kz zk2 kz z + t(
z x)k2 = kz zk2 + 2t(z z)T (
z x) + t2 k
z xk2 .
Como t > 0, temos que 2(z z)T (x z) tk
z xk2 . Passando o limite quando t 0,
obtemos
(z z)T (x z) 0,
completando a demonstracao (veja ilustracao na Figura 3.3).

projSz

Figura 3.3: Ilustracao do Teorema 3.7.


A condicao dada no Teorema 3.7, alem de necessaria, e tambem suficiente para
caracterizar a projecao. Isto e provado no seguinte resultado.
Lema 3.8 Sejam S IRn um conjunto nao vazio, convexo e fechado e z IRn . Se z S
satisfaz
(z z)T (x z) 0,
para todo x S, entao z = projS (z).
Demonstracao. Dado x S, temos
kz zk2 kz xk2 = 2z T z + zT z + 2z T x xT x
= (x z)T (2z x z)

= (x z)T 2(z z) (x z) 0.
Isto prova que z = projS (z).
O Lema 3.8 pode ser usado para se obter uma condicao necessaria de otimalidade
quando se deseja minimizar uma funcao em um conjunto convexo fechado.

Convexidade

38

Teorema 3.9 Sejam f : IRn IR uma funcao diferenciavel e C IRn convexo e fechado.
Se x C e minimizador local de f em C, entao

projC x f (x ) = x ,
para todo 0.

Demonstracao. Fixado x C, temos f (x ) f (1 t)x + tx , para todo t 0, suficientemente pequeno. Portanto,

0 f x + t(x x ) f (x ) = tf (x )T (x x ) + r(t),
r(t)
= 0. Dividindo por t e passando o limite, obtemos f (x )T (x x ) 0.
onde lim
t0 t
Assim, dado 0, temos
x f (x ) x

T

(x x ) 0.

Pelo Lema 3.8, temos o resultado desejado (veja a Figura 3.4).

C
f

C
x

Figura 3.4: Ilustracao do Teorema 3.9.


A recproca da afirmacao feita no Teorema 3.9 tambem e verdadeira para uma
classe especial de funcoes, conforme veremos no Teorema 3.15 da proxima secao.

3.2

Func
oes convexas

As funcoes que trataremos agora tem otimas propriedades, particularmente no


contexto de otimizacao.
Definic
ao 3.10 Seja C IRn um conjunto convexo. Dizemos que a funcao f : IRn IR
e convexa em C quando

f (1 t)x + ty (1 t)f (x) + tf (y),
para todos x, y C e t [0, 1].

Convexidade

39

Geometricamente, podemos dizer que qualquer arco no grafico de uma funcao


convexa esta sempre abaixo do segmento que liga as extremidades. Veja na Figura 3.5
uma funcao convexa e outra nao convexa.

f(y)

f(y)
f((1t)x+ty)

(1t)f(x)+tf(y)

(1t)f(x)+tf(y)

f((1t)x+ty)

f(x)
x

f(x)
(1t )x+ty

(1t)x+ty

Figura 3.5: Funcoes convexa e nao convexa.


Apesar deste conceito ser muito simples, pode nao ser tao facil provar diretamente
da definicao que uma funcao e convexa, mesmo ela sendo elementar.
Exemplo 3.11 Mostre, pela definicao, que as funcoes f, g : IR IR dadas por f (x) = x2
e g(x) = ex sao convexas.
A convexidade de f decorre de
x + t(y x)

2

= x2 + 2tx(y x) + t2 (y x)2
x2 + 2tx(y x) + t(y x)2
= x2 + t(y 2 x2 ).

Para ver que g e convexa, considere z = (1 t)x + ty. Como ed 1 + d, para todo d IR,
temos
ex ez + ez (x z) e ey ez + ez (y z).
Multiplicando a primeira por (1 t) e a segunda por t, obtemos ez (1 t)ex + tey .
O teorema seguinte justifica o fato de funcoes convexas serem muito bem vistas
em otimizacao.
Teorema 3.12 Sejam C IRn convexo e f : C IR uma funcao convexa. Se x C e
minimizador local de f , entao x e minimizador global de f .
Demonstracao. Seja > 0 tal que f (x ) f (x), para todo x B(x , ) C. Dado y C,
y
/ B(x , ), tome t > 0 de modo que tky x k < . Assim, o ponto x = (1 t)x + ty
satisfaz
kx x k = tky x k <

Convexidade

40

e portanto, x B(x , ) C (veja a Figura 3.6). Deste modo temos


f (x ) f (x) (1 t)f (x ) + tf (y),
donde segue que f (x ) f (y).

x*

Figura 3.6: Ilustracao auxiliar para o Teorema 3.12.


Quando temos diferenciabilidade, podemos caracterizar a convexidade de forma
mais simples. Apresentamos a seguir dois resultados importantes.
Teorema 3.13 Sejam f : IRn IR uma funcao diferenciavel e C IRn convexo. A
funcao f e convexa em C se, e somente se,
f (y) f (x) + f (x)T (y x)
para todos x, y C.
Demonstracao. Seja f convexa. Para x, y C e t (0, 1] quaisquer, definindo d = y x,
temos x + td C e

f (x + td) = f (1 t)x + ty (1 t)f (x) + tf (y).
Portanto,
f (y) f (x) lim+
t0

f (x + td) f (x)
= f (x)T d = f (x)T (y x).
t

Para provar a recproca, considere z = (1 t)x + ty e observe que


f (x) f (z) + f (z)T (x z) e f (y) f (z) + f (z)T (y z).
Multiplicando a primeira por (1 t) e a segunda por t obtemos

(1 t)f (x) + tf (y) f (1 t)x + ty ,
completando a demonstracao.
Podemos interpretar geometricamente este resultado dizendo que uma funcao
convexa esta sempre acima da sua aproximacao linear. Veja a Figura 3.7.

Convexidade

41

Figura 3.7: Aproximacao linear de f .


O Teorema 3.13 tambem tem uma consequencia forte em otimizacao, dada no
seguinte resultado.
Corol
ario 3.14 Sejam f : IRn IR uma funcao convexa, diferenciavel e C IRn
convexo. Se f (x )T (y x ) 0, para todo y C, entao x e um minimizador global de
f em C. Em particular, todo ponto estacionario e minimizador global.
A Figura 3.8 ilustra uma situacao que satisfaz as condicoes do Corolario 3.14 e
outra onde isto nao se verifica.

y
x*

y
C

x
f

Figura 3.8: Ilustracao do Corolario 3.14.


Utilizando o resultado anterior podemos provar a recproca do Teorema 3.9 no
caso de f ser convexa.
Teorema 3.15 Sejam f : IRn IR uma funcao convexa diferenciavel e C IRn convexo
e fechado. Se

projC x f (x ) = x ,
entao x C e minimizador global de f em C.
Demonstracao. Pelo Teorema 3.7, temos
f (x ) = x f (x ) x

T

(x x ) 0.

Portanto, o Corolario 3.14 garante que x C e minimizador global de f em C.

Convexidade

42

O proximo teorema nos fornece outro criterio para caracterizar convexidade.


Teorema 3.16 Sejam f : IRn IR uma funcao de classe C 2 e C IRn convexo.
(i) Se 2 f (x) 0, para todo x C, entao f e convexa em C.
(ii) Se f e convexa em C e int(C) 6= , entao 2 f (x) 0, para todo x C.
Demonstracao. (i) Dados x C e d IRn tal que x + d C, pelo Teorema 1.56,
1
f (x + d) = f (x) + f (x)T d + dT 2 f (x + td)d
2
para algum t (0, 1). Como 2 f (x) 0, conclumos que f (x + d) f (x) + f (x)T d.
Pelo Teorema 3.13, f e convexa.
(ii) Considere primeiro x int(C). Dado d IRn , temos que x + td C, para t
suficientemente pequeno. Portanto, pela convexidade de f , Teorema 3.13 e Teorema 1.53,
obtemos
t2
0 f (x + td) f (x) tf (x)T d = dT 2 f (x)d + r(t),
2
r(t)
onde lim 2 = 0. Dividindo por t2 e passando o limite, obtemos dT 2 f (x)d 0. Agora
t0 t
considere x C, arbitrario. Como existe y int(C), o Exerccio 3.1 garante que todos
os pontos do segmento (x, y] estao em int(C). Pelo que ja provamos, dados d IRn e

t (0, 1], vale dT 2 f (1 t)x + ty d 0. Fazendo t 0+ e usando a continuidade de
2 f , obtemos dT 2 f (x)d 0, completando a demonstracao.

3.3

Exerccios do captulo

3.1. Sejam C IRn convexo, x C e y int(C). Mostre que (x, y] int(C).


3.2. Mostre que o interior de um conjunto convexo e convexo.
3.3. Sejam T : IRn IRm linear e C IRn convexo. Mostre que T (C) e convexo.
3.4. Seja S IRn convexo. Mostre que o fecho S e convexo.
3.5. Seja S IRn convexo fechado. Mostre que dados x, y IRn , temos
kprojS (x) projS (y)k kx yk.
3.6. Sejam a, x IRn , S IRn convexo fechado e L = x + S = {
x + d | d S}. Mostre
que L e convexo fechado e que projL (a) = x + projS (a x).
3.7. Seja S IRn um subespaco vetorial. Mostre que se z = projS (z), entao z z S .

Convexidade

43

3.8. Seja L = {x IRn | Ax + b = 0}, onde A IRmn e tal que posto(A) = m e b IRm .
Dado a IRn , mostre que projL (a) = a AT (AAT )1 (Aa + b).
3.9. Sejam C IRn convexo e f : C IR convexa. Mostre que o conjunto C onde
f atinge seu valor mnimo e convexo.
3.10. Sejam A IRmn e C = {x IRn | Ax 0}. Mostre que C e um conjunto convexo.
3.11. Mostre que

x

x2 x3 x4 4 x41 x42 x43 x44


+
+

+
+
+ .
3
12 12
2
3
12 12

3.12. Considere f : IRn IR uma funcao convexa. Mostre que o conjunto de nvel
L = {x IRn | f (x) 0} e convexo.
3.13. Seja C (
IRn convexo.
A funcao f : C )
IR e convexa se, e somente se, o seu
!
x
epigrafo epi(f ) =
IRn+1 | x C, y f (x) e convexo.
y
3.14. Considere C um conjunto convexo e f, g : C IR funcoes convexas.
(a) Mostre que f + g e convexa;
(b) A diferenca f g e uma funcao convexa? Justifique;
(c) Que condicao sobre a IR, garante que a funcao af e convexa.
3.15. Seja f : IR2 IR dada por f (x) = x21 x1 x2 + 2x22 2x1 + 23 x2 + ex1 +x2 . Mostre
que f e convexa.
3.16. Considere a funcao quadratica
1
f (x) = xT Ax + bT x,
2
com A IRnn simetrica e b IRn . Mostre que se f e limitada inferiormente, entao A e
semidefinida positiva e f possui minimizador global.
3.17. Dentre todos os minimizadores da funcao f do Exerccio 3.16, mostre que existe
um u
nico que pertence a Im(A).
3.18. Refazer o Exemplo 3.11 da Secao 3.2 usando o Teorema 3.13 e tambem usando o
Teorema 3.16.

Captulo 4
Algoritmos
Em um problema de otimizacao, dificilmente conseguimos resolver, de forma direta, o sistema (normalmente nao linear) de n equacoes e n incognitas dado por f (x) = 0.
Normalmente, a solucao e obtida por meio de um processo iterativo. Consideramos
um ponto inicial x0 , obtemos um ponto melhor x1 e repetimos o processo gerando uma
sequencia (xk ) IRn na qual a funcao objetivo decresce.
Basicamente temos tres aspectos concernentes aos metodos de otimizacao. O
primeiro consiste na criacao do algoritmo propriamente dito, que deve levar em conta a
estrutura do problema e as propriedades satisfeitas pelas solucoes, entre outras coisas.
O segundo aspecto se refere `as sequencias geradas pelo algoritmo, onde a principal
questao e se tais sequencias realmente convergem para uma solucao do problema. Um
algoritmo e dito globalmente convergente quando para qualquer sequencia (xk ) gerada
pelo algoritmo e qualquer ponto de acumulacao x de (xk ), temos que x e estacionario.
Apresentamos na Secao 4.3 uma discussao mais detalhada deste conceito.
O terceiro ponto a ser considerado e a velocidade com que a sequencia converge
para uma solucao, o que e conhecido como convergencia local (reveja a Secao 1.1.2).
preciso
Naturalmente, para fins praticos, nao basta que uma sequencia seja convergente. E
que uma aproximacao do limite possa ser obtida em um tempo razoavel. Deste modo, bons
algoritmos sao os que geram sequencias que convergem rapidamente para uma solucao.
Vamos agora descrever um modelo geral de algoritmo para minimizar uma funcao
em IRn . No Captulo 5, estudaremos algoritmos especficos, analisando os aspectos mencionados acima. Algumas referencias para este assunto sao [13, 14, 32, 39].

4.1

Algoritmos de descida

Uma forma geral de construir um algoritmo consiste em escolher, a partir de


cada ponto obtido, uma direcao para dar o proximo passo. Uma possibilidade razoavel e
determinar uma direcao segundo a qual f decresce.

44

Algoritmos

45

Definic
ao 4.1 Considere uma funcao f : IRn IR, um ponto x IRn e uma direc
ao
n
d IR \ {0}. Dizemos que d e uma direcao de descida para f , a partir de x, quando
existe > 0 tal que f (
x + td) < f (
x), para todo t (0, ).
Apresentamos abaixo uma condicao suficiente para uma direcao ser de descida.
Teorema 4.2 Se f (
x)T d < 0, entao d e uma direcao de descida para f , a partir de x.
Demonstracao. Sabemos que
f (
x)T d =

f (
x + td) f (
x)
f
(
x) = lim
.
t0
d
t

Pela hipotese e pela preservacao do sinal, existe > 0 tal que


f (
x + td) f (
x)
< 0,
t
para todo t (, ), t 6= 0. Portanto, f (
x + td) < f (
x), para todo t (0, ), o que
completa a demonstracao.
Quando n = 2 ou n = 3, podemos interpretar geometricamente o Teorema 4.2,
dizendo que as direcoes que formam um angulo obtuso com f (
x) sao de descida. Veja
a Figura 4.1.
f(x)

x
d

Figura 4.1: Ilustracao do Teorema 4.2.


!
1
1
Exemplo 4.3 Sejam f : IR2 IR dada por f (x) = (x21 x22 ) e x =
. Se d =
2
0
e tal que d1 0, entao d e uma direcao de descida para f , a partir de x.

d1
d2

Temos f (
x)T d = d1 . Caso d1 < 0, podemos aplicar o Teorema 4.2 para concluir o
que se pede. Entretanto,
se d1 = 0, nao podemos usar o teorema, mas basta notar que
!
1
(td2 )2
. A Figura 4.2 ilustra este caso.
f (
x + td) = f
= f (
x)
2
td2

Algoritmos

46

Exemplo 4.4 Considere a mesma funcao do Exemplo 4.3 e x =


!
1
dizer sobre d =
?
0

!
0
. O que podemos
1

Nao podemos aplicar o Teorema 4.2, pois f (


x!
)T d = 0. Procedendo de modo analogo ao
t
t2
exemplo anterior, obtemos f (
x + td) = f
= f (
x) + . Portanto, a funcao cresce
2
1
ao longo de d. A Figura 4.2 ilustra este exemplo.

d
f

f
d

Figura 4.2: Ilustracao dos Exemplos 4.3 e 4.4.


Os dois exemplos anteriores mostram que nada se pode afirmar, a princpio,
quando f (
x)T d = 0.
Vamos agora apresentar um algoritmo basico para minimizar f e discutir a sua
convergencia.
Algoritmo 4.1 Algoritmo basico
Dado: x0 IRn
k=0
repita enquanto f (xk ) 6= 0
Calcule dk tal que f (xk )T dk < 0
Escolha tk > 0 tal que f (xk + tk dk ) < f (xk )
Faca xk+1 = xk + tk dk
k =k+1
O Algoritmo 4.1 ou encontra um ponto estacionario em um n
umero finito de
iteracoes ou gera uma sequencia ao longo da qual f decresce. A questao agora e saber
se esta sequencia tem algum ponto de acumulacao e, caso afirmativo, se este ponto e
estacionario. Infelizmente, nao podemos tirar conclusoes boas. Considere f : IR IR
1
(1)k
dada por f (x) = x2 e as sequencias xk = 1 +
e y k = (1)k +
. Ambas
k+1
k+1
podem ser obtidas pelo algoritmo, xk 1 e (y k ) tem dois pontos de acumulacao, 1 e 1.
Entretanto, nenhum desses pontos e estacionario. Veja a Figura 4.3.

Algoritmos

47

Figura 4.3: O Algoritmo 4.1 pode nao encontrar um ponto estacionario.


Deste modo, se queremos garantir convergencia, a escolha da direcao dk e do
tamanho do passo tk , no Algoritmo 4.1, nao pode ser arbitraria. Discutiremos na proxima
secao como obter tk , tendo dada uma direcao. A determinacao de uma direcao de busca
sera tratada no Captulo 5.

4.2

M
etodos de busca unidirecional

Dada uma funcao f : IRn IR, um ponto x IRn e uma direcao de descida
d IRn , queremos encontrar t > 0 tal que
f (
x + td) < f (
x).
Como vimos anteriormente precisamos balancear o tamanho do passo t com o decrescimo
promovido em f . Veremos duas abordagens para este problema. A primeira consiste em
fazer uma busca exata a partir do ponto x segundo a direcao d. A segunda procura uma
reducao suficiente de f que seja de certo modo proporcional ao tamanho do passo.

4.2.1

Busca exata - m
etodo da sec
ao
aurea

Nosso objetivo neste caso e ambicioso e consiste em minimizar f a partir do ponto


x na direcao d (veja a Figura 4.4). Mais precisamente, temos que resolver o problema
minimizar f (
x + td)
sujeito a t > 0.

(4.1)

Este problema e, em geral, difcil de se resolver. Entretanto, para certas funcoes


especiais, existem algoritmos para resolve-lo. Veremos adiante tais funcoes, bem como
um algoritmo. Antes porem vamos fazer um exemplo que pode ser resolvido de forma
direta.

Algoritmos

48

Figura 4.4: Busca unidirecional exata.


1
Exemplo 4.5 Considere f : IR2 IR dada por f (x) = (x1 2)2 + (x2 1)2 , x =
2
!
3
ed=
. Faca a busca exata a partir de x, na direcao d.
1

1
0

Note primeiro que d e de fato uma direcao de descida, pois


3
1

f (
x)T d = (1 2)

!
= 5 < 0.

Para fazer a busca, considere


(t) = f (
x + td) = f

1 + 3t
t

!
=

11t2
3
5t + ,
2
2

cujo minimizador satisfaz 0 (t) = 11t 5 = 0. Assim,


5
t =
11

1
e x + td =
11

26
5

2, 36
0, 45

!
.

A Figura 4.5 ilustra este exemplo.


Na pratica e claro que os problemas sao bem mais complexos que o Exemplo 4.5
e so podem ser resolvidos por meio de algoritmos. Vamos agora definir funcao unimodal,
para a qual existem algoritmos para minimiza-la. Em seguida veremos o algoritmo da
secao aurea, que encontra um ponto proximo de um minimizador com a precisao que se
queira. Este algoritmo sera entao aplicado para a funcao : [0, ) IR definida por
(t) = f (
x + td).

Algoritmos

49
3
2.5
2
1.5

1
0.5

x+td

0
0.5
1

1.5
1

Figura 4.5: Ilustracao do Exemplo 4.5.


Definic
ao 4.6 Uma funcao contnua : [0, ) IR e dita unimodal quando admite
um conjunto de minimizadores [t1 , t2 ], e estritamente decrescente em [0, t1 ] e estritamente
crescente em [t2 , ).
Na Figura 4.6 temos duas funcoes unimodais. Na segunda o intervalo de minimizadores e degenerado.

t1

t2

t1=t2

Figura 4.6: Exemplos de funcoes unimodais.


Para facilitar a descricao do algoritmo, vamos considerar a Figura 4.7.
Suponha que um minimizador de pertence ao intervalo [a, b].
(i) Considere a < u < v < b em [0, );
(ii) Se (u) < (v) entao o trecho [v, b] nao pode conter um minimizador e pode ser
descartado;
(iii) Se (u) (v) entao o trecho [a, u] pode ser descartado;
(iv) Particione o intervalo que ficou e repita o processo.
Vamos discutir agora como particionar o intervalo [a, b]. A obtencao deste intervalo, que deve conter um minimizador de , sera tratada adiante.

Algoritmos

50

Figura 4.7: Secao aurea.


Uma estrategia que parece natural e dividir o intervalo em tres partes iguais, ou
seja, definir
2
1
u = a + (b a) e v = a + (b a).
3
3
Assim, descartamos 13 do intervalo corrente a cada etapa. Entretanto, esta forma de
particionar o intevalo tem uma desvantagem. Precisamos fazer duas novas avaliacoes de
funcao por etapa, pois o ponto que sobrou, u ou v, nao pode ser aproveitado. Veja a
Figura 4.8.
a

a+

u+

v+

b+

Figura 4.8: Particao do intervalo [a, b].


Uma estrategia que veremos ser mais inteligente consiste em escolher os pontos
u e v que dividem o segmento [a, b] na razao aurea, de acordo com a seguinte definicao.
Definic
ao 4.7 Um ponto c divide o segmento [a, b] na razao aurea quando a razao entre o
maior segmento e o segmento todo e igual `a razao entreo menor e o maior dos segmentos.
51
Tal razao e conhecida como o n
umero de ouro e vale
0, 618.
2
Desta forma, temos que u e v devem satisfazer
bu
ua
=
ba
bu

va
bv
=
.
ba
va

Considerando 1 e 2 tais que


u = a + 1 (b a) e v = a + 2 (b a),

(4.2)

Algoritmos

obtemos 1 1 =

51
1 2
1
e 2 =
. Portanto,
1 1
2

3 5
51
0, 382 e 2 =
0, 618.
1 =
2
2

Note que
1 + 2 = 1 e 22 = 1 .

(4.3)

Uma das vantagens da divisao na razao aurea em relacao a` divisao em tres partes
iguais e que descartamos mais de 38% do intervalo ao inves de 33, 33%. Outra vantagem
se refere a economia em avaliacao de funcao como veremos a seguir.
No processo iterativo, a cada etapa descartamos o intervalo [a, u] ou [v, b], obtendo
um novo segmento que devera ser particionado novamente. Indicamos por [a+ , b+ ] o novo
intervalo que sera particionado pelos ponto u+ e v + .
Conforme veremos no proximo resultado, o ponto u e aproveitado na proxima
etapa e passa a ser v + quando descartamos [v, b]. Assim, o valor da funcao (u) e aproveitado para a proxima etapa.
Lema 4.8 No metodo da secao aurea, se [v, b] e descartado entao v + = u.
Demonstracao. Como [v, b] foi descartado b+ = v e a+ = a. Portanto, usando (4.2), temos
que
v + = a+ + 2 (b+ a+ ) = a + 2 (v a)
Usando (4.2) novamente e a relacao (4.3), obtemos
v + = a + 22 (b a) = a + 1 (b a) = u,
completando a prova.
A Figura 4.9 ilustra esta propriedade.
a

a+

u+

v+

b+

Figura 4.9: Particao do intervalo [a, b].


Apresentamos agora o algoritmo da secao aurea, que tem duas fases. Na primeira,
obtemos um intervalo [a, b] que contem um minimizador de . A ideia desta etapa e
considerar um intervalo inicial [0, 2], com > 0, e amplia-lo, deslocando para a direita,
ate que um crescimento de seja detectado.

Algoritmos

52

Na segunda fase, o intervalo [a, b] e reduzido, por meio do descarte de subintervalos, ate que reste um intervalo de tamanho suficiente para que uma precisao seja
alcancada.

Algoritmo 4.2 Secao Aurea

3 5
Dados: > 0, > 0, 1 =
, 2 = 1 1
2
Fase 1: Obtencao do intervalo [a, b]
a = 0, s = e b = 2
repita enquanto (b) < (s)
a = s, s = b e b = 2b
Fase 2: Obtencao de t [a, b]
u = a + 1 (b a), v = a + 2 (b a)
repita enquanto b a >
se (u) < (v)
b = v, v = u, u = a + 1 (b a)
o
sena
a = u, u = v, v = a + 2 (b a)
u+v
Defina t =
2
Caso seja unimodal, o Algoritmo 4.2 funciona perfeitamente e encontra uma
aproximacao para um minimizador dentro de uma tolerancia dada. Caso a funcao nao
seja unimodal, o algoritmo pode nao ser eficaz. Um estudo mais detalhado sobre o metodo
da secao aurea pode ser encontrado em [9].

4.2.2

Busca inexata - condic


ao de Armijo

Em muitas situacoes nao convem aplicar a busca exata, ou porque nao e unimodal, ou pelo alto custo computacional de se fazer uma busca exata a cada iteracao do
Algoritmo 4.1. O metodo de Armijo procura uma boa reducao da funcao ao longo da
direcao, sem tentar minimiza-la.
Considere entao um ponto x IRn , uma direcao de descida d IRn e (0, 1).
Basicamente, a regra de Armijo encontra t > 0 tal que
f (
x + td) f (
x) + tf (
x)T d.

(4.4)

A condicao acima significa que queremos mais que uma simples reducao em f .
Esta reducao deve ser proporcional ao tamanho do passo. O proximo resultado garante
que isto pode ser de fato obtido.

Algoritmos

53

Teorema 4.9 Considere uma funcao diferenciavel f : IRn IR, um ponto x IRn , uma
direcao de descida d IRn e (0, 1). Entao existe > 0 tal que
f (
x + td) f (
x) + tf (
x)T d,
para todo t [0, ).
Demonstracao. Caso f (
x)T d = 0, o resultado segue da definicao de direcao de descida.
Suponha entao que f (
x)T d < 0. Assim, como < 1, temos
f (
x + td) f (
x)
= f (
x)T d < f (
x)T d.
t0
t

lim

Portanto, existe > 0 tal que


f (
x + td) f (
x)
< f (
x)T d,
t
para todo t (0, ). Isto implica que
f (
x + td) f (
x) + tf (
x)T d,
o que completa a demonstracao.
A condicao de Armijo pode parecer artificial mas na realidade pode ser interpretada de forma bem interessante. Considere a funcao : [0, ) IR dada por
(t) = f (
x + td).
A aproximacao de primeira ordem de em torno de t = 0, tambem chamada de modelo
linear, e
p(t) = (0) + t0 (0) = f (
x) + tf (
x)T d.
Assim, podemos reescrever a relacao (4.4) como

(0) (t) = f (
x) f (
x + td) p(0) p(t) .
Isto significa que procuramos um passo cuja reducao na funcao objetivo seja pelo menos
uma fracao da reducao obtida no modelo linear. Veja uma ilustracao na Figura 4.10.
Note tambem nesta figura a reta dada por
q(t) = f (
x) + tf (
x)T d.
A condicao de Armijo e satisfeita para os pontos tais que esta abaixo de q.
Tanto do ponto de vista computacional quanto teorico, e importante que o tamanho de passo t, satisfazendo (4.4), nao seja muito pequeno. Uma maneira de garantir

Algoritmos

54

p(0)=f(x)
f(x+td)

t
p(t)

Figura 4.10: Interpretacao da condicao de Armijo.


tal propriedade consiste em iniciar com t = 1 e, se necessario, reduzir t ate que (4.4) seja
satisfeita. Sintetizamos isto no seguinte algoritmo.
Algoritmo 4.3 Busca de Armijo
Dados: x IRn , d IRn (direcao de descida), , (0, 1)
t=1
repita enquanto f (
x + td) > f (
x) + tf (
x) T d
t = t
O metodo de Armijo nao encontra um ponto proximo a um minimizador unidirecional, mas e muito eficiente. Para algoritmos bem projetados, faz um n
umero muito
pequeno de calculos de funcao, sendo portanto muito rapido.
!
1
1
Exemplo 4.10 Considere f : IR2 IR dada por f (x) = (x1 2)2 + (x2 1)2 , x =
2
0
!
3
ed=
. Faca uma busca de Armijo a partir de x, na direcao d.
1
Temos que d e uma direcao de descida, pois
f (
x)T d = (1 2)

3
1

!
= 5 < 0.

Alem disso, a relacao f (


x + td) f (
x) + tf (
x)T d pode ser escrita como
f

1 + 3t
t

!
f

1
0

!
+ t(1 2)

o que equivale a
t

10(1 )
.
11

3
1

!
,

Algoritmos

55

1
15
Considere por exemplo = e = 0, 8. Entao qualquer t satisfazendo t
0, 6818
4
22
e aceitavel. Comecando com t = 1, teremos o passo recusado. Entao fazemos t = 0, 8 1,
que tambem e recusado. Enfim, fazendo t = 0, 8 0, 8 = 0, 64, teremos o passo aceito.
Assim,
!
2, 92
t = 0, 64 e x + td =
.
0, 64
Veja a Figura 4.11, onde tambem representamos o ponto obtido pela busca exata, xex .
3.5
3
2.5
2
1.5

xex x+td

0.5

0
0.5

1
1.5
1

Figura 4.11: Ilustracao do Exemplo 4.10.


Salientamos que, normalmente, nao conseguimos explicitar t, na condicao de
Armijo, como fizemos no exemplo anterior e portanto, temos que seguir os passos do
Algoritmo 4.3, testando a desigualdade para cada valor particular de t.

4.3

Converg
encia global de algoritmos

Nesta secao discutiremos a convergencia global de algoritmos de descida. Primeiro, vamos considerar o Algoritmo 4.1 com a direcao definida por uma transformacao
do gradiente via matrizes definidas positivas. Em seguida, apresentaremos uma discussao
mais geral sobre convergencia de algoritmos, sintetizada no Teorema de Polak [43].

4.3.1

Converg
encia global de algoritmos de descida

Seja H : IRn IRnn uma funcao contnua que associa a cada x IRn uma matriz
definida positiva H(x) IRnn . Assim, se f (x) 6= 0, temos que d = H(x)f (x) e
uma direcao de descida. De fato, f (x)T d = f (x)T H(x)f (x) < 0.
Temos assim uma maneira de obter direcoes de descida para o Algoritmo 4.1.
Para facilitar, vamos reescrever o algoritmo com esta escolha da direcao de busca. A
determinacao do tamanho do passo pode ser feita pela busca exata ou de acordo com o
criterio de Armijo, pelo Algoritmo 4.3.

Algoritmos

56

Algoritmo 4.4 Algoritmo de descida


Dado: x0 IRn
k=0
repita enquanto f (xk ) 6= 0
Defina dk = H(xk )f (xk )
Obtenha tk > 0 tal que f (xk + tk dk ) < f (xk )
Faca xk+1 = xk + tk dk
k =k+1
Vamos analisar a convergencia global do Algoritmo 4.4 de acordo com a seguinte
definicao.
Definic
ao 4.11 Um algoritmo e dito globalmente convergente quando para qualquer sequencia (xk ) gerada pelo algoritmo e qualquer ponto de acumulacao x de (xk ), temos que
x e estacionario.
Nos dois teoremas que seguem, vamos supor que a funcao f , a ser minimizada, e
de classe C 1 .
Teorema 4.12 O Algoritmo 4.4, com o tamanho do passo calculado pela busca exata, e
globalmente convergente.
Demonstracao. Sejam (xk ) uma sequencia gerada pelo algoritmo e x um ponto de acuIN0
mulacao de (xk ), digamos xk x. Suponha por absurdo que x nao seja estacionario,
isto e, f (
x) 6= 0. Assim, d = H(
x)f (
x) e uma direcao de descida, o que garante a
> 0. Considere h : IRn IR dada por
existencia de t > 0 tal que = f (
x) f (
x + td)

IN0
h(x) = f (x) f x tH(x)f (x) . Como h e contnua, temos que h(xk ) h(
x) = .
Portanto,

f (xk ) f (xk + tdk ) = h(xk ) ,


2
0
para todo k IN , suficientemente grande. Deste modo, como tk foi obtido pela busca
exata, podemos concluir que
f (xk+1 ) = f (xk + tk dk ) f (xk + tdk ) f (xk )

,
2

ou seja,

,
(4.5)
2
para todo k IN0 , suficientemente grande. Por outro lado, pela continuidade de f , temos
IN0
f (xk ) f (
x). Como a sequencia (f (xk ))kIN e decrescente, o Teorema 1.15 garante que
f (xk ) f (
x), contradizendo (4.5).
Se utilizarmos a busca de Armijo para calcular tk , tambem podemos garantir a
convergencia.
f (xk ) f (xk+1 )

Algoritmos

57

Teorema 4.13 O Algoritmo 4.4, com o tamanho do passo calculado pela condicao de
Armijo (Algoritmo 4.3), e globalmente convergente.
Demonstracao. Sejam (xk ) uma sequencia gerada pelo algoritmo e x um ponto de acuIN0
mulacao de (xk ), digamos xk x. Suponha por absurdo que x nao seja estacionario, isto
IN0
x). Como a sequencia (f (xk )) e
e, f (
x) 6= 0. Pela continuidade de f , temos f (xk ) f (
decrescente, podemos aplicar o Teorema 1.15 para concluir que f (xk ) f (
x). Por outro
lado, pela condicao de Armijo, temos
f (xk+1 ) = f (xk + tk dk ) f (xk ) + tk f (xk )T dk .
Usando a definicao de dk e a positividade de H(xk ), obtemos
f (xk ) f (xk+1 ) tk f (xk )T H(xk )f (xk ) 0.
Portanto, tk f (xk )T H(xk )f (xk ) 0. Mas
IN0

f (xk )T H(xk )f (xk ) f (


x)T H(
x)f (
x) 6= 0,
IN0

donde segue que tk 0. Entao, tk < 1, para todo k IN0 , suficientemente grande. Pelo
tk
existiu e foi recusado. Assim,
Algoritmo 4.3, o passo

k T k

f (x + tk d ) f (x ) + tk f (x ) d

tk k 
tk
e f x + d > f (xk ) + f (xk )T dk .

k T k
Como a funcao (t) = f (xk + tdk ) f (xk )
 tf(x ) d e contnua, o teorema do valor
tk
intermediario garante a existencia de sk tk ,
tal que (sk ) = 0, isto e,

f (xk + sk dk ) f (xk ) = sk f (xk )T dk .


Aplicando agora o teorema do valor medio (Teorema 1.55), obtemos
f (xk + k sk dk )T (sk dk ) = f (xk + sk dk ) f (xk ) = sk f (xk )T dk ,
com k (0, 1). Portanto,
f (xk + k sk dk )T H(xk )f (xk ) = f (xk )T H(xk )f (xk ).


tk
Como sk 0, pois sk tk ,

IN0

IN0

e tk 0, podemos concluir que

f (
x)T H(
x)f (
x) = f (
x)T H(
x)f (
x),
o que e uma contradicao.

Algoritmos

4.3.2

58

Teorema de Polak

Apresentamos aqui alguns conceitos gerais sobre convergencia de algoritmos. Basicamente, se o passo for eficiente, no sentido de que, perto de um ponto nao desejavel a
funcao objetivo decresce bastante, entao o algoritmo nao erra. Esta condicao, que sera
formalizada a seguir, e conhecida como criterio de Polak [43] para convergencia global de
algoritmos.
Definic
ao 4.14 Seja IRn e P uma propriedade qualquer. Dizemos que x e
desejavel quando satisfaz a propriedade P.
Dado um conjunto fechado IRn e uma propriedade P, considere o seguinte
problema geral
(P )

Encontrar um ponto desejavel x .

Definic
ao 4.15 Um algoritmo e dito globalmente convergente quando para qualquer sequencia (xk ) gerada pelo algoritmo e qualquer ponto de acumulacao x de (xk ), temos que
x e desejavel.
Um algoritmo que gera apenas sequencias que nao tem pontos de acumulacao e
um algoritmo globalmente convergente. De fato, nao podemos encontrar uma sequencia
gerada pelo algoritmo com um ponto de acumulacao nao desejavel. Veja o Exemplo 4.16.
Exemplo 4.16 O algoritmo
Dado: x0 IR
k=0
repita
xk+1 = xk 1
k =k+1
gera sequencias sem pontos de acumulacao, pois |xm xn | 1 para todos m, n IN.
Definic
ao 4.17 Considere uma funcao : IR. Dizemos que um algoritmo e de
descida para o problema (P ), com relacao a , quando para qualquer sequencia (xk )
gerada pelo algoritmo temos (xk+1 ) (xk ), para todo k IN. Tal funcao e chamada
funcao de merito.
Teorema 4.18 (Polak) Considere o problema (P ) e suponha que existe uma funcao de
merito contnua : IR tal que para toda sequencia (xk ) gerada pelo algoritmo e todo
ponto x nao desejavel, existe uma vizinhanca V de x e uma constante > 0 tais
que se xk V , entao (xk+1 ) (xk ) . Entao todo ponto de acumulacao de (xk ) e
desejavel.

Algoritmos

59

Demonstracao. Sejam (xk ) uma sequencia gerada pelo algoritmo e x um ponto de acuIN0
mulacao de (xk ), digamos xk x. Suponha por absurdo que x nao seja desejavel. Entao
existe uma vizinhanca V de x e uma constante > 0 tais que
(xk+1 ) (xk ) ,
IN0

se xk V . Como xk x, podemos redefinir IN0 , se necessario, de modo que xk V , para


todo k IN0 . Assim,
(xk ) (xk+1 ) ,
(4.6)
IN0

para todo k IN0 . Por outro lado, utilizando a continuidade de , temos (xk ) (
x).
k
Como a sequencia ((x ))kIN e monotona nao crescente, podemos aplicar o Teorema 1.15
para concluir que (xk ) (
x), o que contradiz 4.6. Portanto, x e desejavel.

4.4

Exerccios do captulo
!
1
. Mostre
0

1
4.1. Considere f : IR2 IR dada por f (x) = (x1 2)2 + (x2 1)2 e x =
2
!
0
que d =
e uma direcao de descida para f e faca a busca exata a partir de x, na
1
direcao d.
!
!
1
d
1
1
ed=
. Mostre
4.2. Sejam f : IR2 IR dada por f (x) = (x21 + x22 ), x =
2
0
d2
que se d1 < 0, entao d e uma direcao de descida para f , a partir de x. Estude o caso
d1 = 0.
4.3. [13, Exerc. 4.6 e 4.7] Considere f : IRn IR dada por f (x) =
onde A IRnn e uma matriz definida positiva, b IRn e c IR.

1 T
x Ax + bT x + c,
2

(a) Mostre que se f (x)T d = 0, entao a funcao cresce a partir de x ao longo de d;


(b) Suponha que d e uma direcao de descida a partir de x. Mostre que a busca exata
f (x)T d
fornece t = T
;
d Ad
(c) Mostre que se t satisfaz a condicao de Armijo
f (x + t d) f (x) + t f (x)T d,
1
entao .
2
1 T
x Ax + bT x + c, onde
2
e uma matriz definida positiva, b IRn e c IR. Sejam x o minimizador de

4.4. [13, Exerc. 6.7] Considere f : IRn IR dada por f (x) =


A IRnn

Algoritmos

60

f e v IRn um autovetor de A. Faca uma busca exata a partir do ponto x = x + v,


na direcao d = f (x). Que ponto e obtido? Qual e a interpretacao geometrica deste
exerccio?
4.5. [13, Exerc. 4.9] Sejam f : IRn IR, f C 2 e x IRn tal que f (
x) = 0 e 2 f (
x)
nao e semidefinida positiva. Prove que existe uma direcao de descida d em x.
4.6. Prove que se [a, u] e descartado no algoritmo da secao aurea, entao u+ = v.

Captulo 5
M
etodos de Otimiza
c
ao Irrestrita
No Captulo 4 vimos modelos gerais de algoritmos com o proposito de resolver o
problema irrestrito
minimizar f (x)
(5.1)
sujeito a x IRn .
Vamos agora estudar alguns metodos especficos de minimizacao para o problema (5.1).
Abordaremos aspectos de convergencia global bem como a velocidade de convergencia de
tais metodos. Para o desenvolvimento dos conceitos neste captulo suporemos que f e
uma funcao de classe C 2 . Algumas referencias para este assunto sao [13, 14, 23, 32, 39].

5.1

M
etodo do gradiente

Uma das estrategias mais conhecidas para minimizar uma funcao e o metodo
um processo iterativo que
classico do gradiente, tambem chamado metodo de Cauchy. E
a cada etapa faz uma busca na direcao oposta ao vetor gradiente da funcao objetivo no
ponto corrente. A justificativa desta escolha se baseia no fato de que, dentre as direcoes
ao longo das quais f decresce, a direcao oposta ao gradiente e a de decrescimento mais
acentuado. De fato, se d = f (x) e v IRn e tal que kvk = kdk, entao
f
f
(x) = f (x)T d = kf (x)k2 = kf (x)kkvk f (x)T v =
(x).
d
v

5.1.1

Algoritmo

No algoritmo apresentado a seguir, deixamos em aberto a determinacao do tamanho do passo. Dentre as diversas formas de busca existentes, podemos utilizar a busca
exata (algoritmo da secao aurea) ou inexata (busca de Armijo) ja discutidas anteriormente.

61

Metodos para Otimizacao Irrestrita

62

Algoritmo 5.1 Metodo do Gradiente


Dado: x0 IRn
k=0
repita enquanto f (xk ) 6= 0
Defina dk = f (xk )
Obtenha tk > 0 tal que f (xk + tk dk ) < f (xk )
Faca xk+1 = xk + tk dk
k =k+1
Cabe salientar que este algoritmo e exatamente o Algoritmo 4.4, onde consideramos H(xk ) = I IRnn , para todo k IN. Isto nos permite aplicar aqui a analise de
convergencia feita no Captulo 4, conforme veremos no Teorema 5.2.
A Figura 5.1 mostra 4 iteracoes do algoritmo com a busca exata aplicado para
minimizar uma funcao quadratica convexa. Esta figura sugere duas propriedades do
algoritmo. Uma delas, formalizada no Lema 5.1, e o fato de duas direcoes consecutivas
serem ortogonais. A outra propriedade se refere a` convergencia, que sera discutida na
proxima secao.

Figura 5.1: Passos do algoritmo do gradiente.

Lema 5.1 No Algoritmo 5.1, se tk e obtido por uma minimizacao local de f (xk + tdk ),
entao (dk+1 )T dk = 0.
Demonstracao. Definindo : IR IR por (t) = f (xk + tdk ), temos
0 (tk ) = f (xk + tk dk )T dk = f (xk+1 )T dk .
Portanto, como a busca e feita por uma minimizacao local, conclumos que
(dk+1 )T dk = f (xk+1 )T dk = 0 (tk ) = 0,
o que prova a afirmacao.

Metodos para Otimizacao Irrestrita

5.1.2

63

Converg
encia global

A convergencia global do Algoritmo do gradiente e uma consequencia imediata


do que foi estabelecido no Captulo 4.
Teorema 5.2 O Algoritmo 5.1, com o tamanho do passo tk calculado pela busca exata, e
globalmente convergente, segundo a Definicao 4.11. O mesmo resultado vale se utilizarmos
a busca de Armijo para calcular tk .
Demonstracao. As afirmacoes seguem diretamente dos Teoremas 4.12 e 4.13, considerando
H(x) = I IRnn .
Salientamos que a convergencia no caso da busca de Armijo e assegurada se
utilizarmos o Algoritmo 4.3 para calcular tk . Caso o tamanho do passo seja escolhido
apenas pela relacao (4.4), ele pode ficar arbitrariamente pequeno e o algoritmo pode nao
convergir. Veja o Exerccio 5.3 no final do captulo.

5.1.3

Velocidade de converg
encia

Os resultados mais importantes sobre a velocidade de convergencia do algoritmo


do gradiente sao revelados quando a funcao objetivo e quadratica. Vamos entao considerar
1
f (x) = xT Ax + bT x + c,
2

(5.2)

com A IRnn definida positiva, b IRn e c IR. Assim, f e convexa e tem um u


nico

minimizador x , que e global e satisfaz


Ax + b = f (x ) = 0.

(5.3)

Mostraremos agora que, usando a norma euclidiana, a sequencia gerada pelo


Algoritmo 5.1 com busca exata converge linearmente para x , com taxa de convergencia
r
1

1
,
n

onde 1 e o menor e n o maior autovalor de A. Esta abordagem nao aparece na literatura classica de otimizacao, que estabelece a convergencia linear da sequencia (f (xk ))
ou, equivalentemente, a convergencia linear da sequencia (xk ), na norma induzida pela
Hessiana da quadratica. Para mais detalhes sobre esta discussao, veja [25].
Primeiramente, note que o comprimento do passo otimo e dado por
tk =

(dk )T dk
.
(dk )T Adk

(5.4)

Metodos para Otimizacao Irrestrita

64

De fato, como pode ser visto no Exerccio 4.3, basta fazer


f (xk + tdk )T dk =

d
f (xk + tdk ) = 0.
dt

Vejamos agora um lema tecnico que sera u


til na analise da velocidade de convergencia do metodo do gradiente, que sera feita em seguida.
Lema 5.3 Dado x IRn , x 6= 0, considere d = Ax. Entao,
xT Ax
dT d

.
dT Ad
xT A2 x
Demonstracao. Temos xT Ax = dT A1 d e xT A2 x = dT d. Portanto,
dT d xT A2 x
(dT d)2
=
.
dT Ad xT Ax
(dT Ad)(dT A1 d)
Como A e definida positiva, podemos usar o Lema 1.48 para concluir que
d T d xT A 2 x
1,
dT Ad xT Ax
completando a prova.
Teorema 5.4 Considere a funcao quadraticardada em (5.2) e a sequencia (xk ) gerada
1
pelo Algoritmo 5.1, com busca exata. Se = 1 , entao
n
kxk+1 x k2 kxk x k2 ,
para todo k IN.
Demonstracao. Para simplificar a notacao, vamos assumir que x = 0 e f (x ) = 0, isto e,
1
f (x) = xT Ax.
2
Isto nao tira a generalidade da demonstracao em virtude do Exerccio 5.6. Temos entao
dk = f (xk ) = Axk , donde segue que
kxk+1 k22 = (xk + tk dk )T (xk + tk dk )
= (xk )T xk + 2tk (xk )T dk + t2k (dk )T dk
= kxk k22 2tk (xk )T Axk + t2k (xk )T A2 xk .
Usando (5.4) e o Lemma 5.3, obtemos
kxk+1 k22 kxk k22 2tk (xk )T Axk + tk (xk )T Axk = kxk k22 tk (xk )T Axk .

Metodos para Otimizacao Irrestrita

65

Caso xk = 0 nao ha nada a fazer. Suponha entao que xk 6= 0. Usando novamente (5.4),
obtemos
(dk )T dk (xk )T Axk
kxk+1 k22

.
kxk k22
(dk )T Adk (xk )T xk
Utilizando o Lema 1.47, segue que
kxk+1 k22
1
1 ,
2
k
kx k2
n
completando a prova.
Este teorema tem uma interpretacao geometrica interessante. As curvas de nvel
de f sao elipsoides cuja excentricidade depende da diferenca entre o maior e o menor
autovalor de A. Se 1 = n , entao as curvas de nvel sao esferas e a convergencia ocorre
em um u
nico passo. Entretanto, se 1  n , entao os elipsoides ficam muito excentricos
e a convergencia se da de forma lenta. Veja ilustracao na Figura 5.2.

Figura 5.2: Excentricidade no algoritmo do gradiente.


Os resultados estabelecidos para funcoes quadraticas podem ser estendidos para
funcoes gerais, como vemos no seguinte teorema, demonstrado em [32].
Teorema 5.5 Seja f : IRn IR de classe C 2 . Suponha que x IRn seja um minimizador
local de f , com 2 f (x ) definida positiva, e que a sequencia (xk ), gerada pelo algoritmo

do gradiente, com busca exata, converge para x . Entao a sequencia f (xk ) converge

2
n 1

linearmente para f (x ) com taxa nao superior a


, onde 1 e o menor e n o
n + 1
maior autovalor de 2 f (x ).

5.2

M
etodo de Newton

O metodo de Newton e uma das ferramentas mais importantes em otimizacao.


Tanto o algoritmo basico, chamado de Newton Puro, quanto suas variantes, que incorporam busca linear, sao muito utilizados para resolver sistemas nao lineares e tambem para
minimizacao de funcoes.

Metodos para Otimizacao Irrestrita

5.2.1

66

Motiva
c
ao

Considere uma funcao f : IRn IR de classe C 2 . Nosso objetivo consiste em


encontrar um minimizador de f . De acordo com as condicoes necessarias de otimalidade,
devemos resolver o sistema de n equacoes e n incognitas dado por f (x) = 0.
Generalizando, considere F : IRn IRn de classe C 1 e o problema de resolver o
sistema (normalmente nao linear)
F (x) = 0.
Como na maioria das vezes nao conseguimos resolve-lo de forma direta, os processos
iterativos constituem a forma mais eficiente de lidar com tais situacoes.
A ideia e aproximar F por seu polinomio de Taylor de primeira ordem. Dada
uma estimativa x, considere o sistema linear
F (
x) + JF (
x)(x x) = 0,

(5.5)

onde JF representa a matriz jacobiana de F . Caso JF (


x) seja inversvel, o sistema (5.5)
pode ser resolvido, fornecendo
1
x+ = x JF (
x) F (
x).
Isto corresponde a uma iteracao do metodo de Newton para resolucao de equacoes (veja
a Figura 5.3).

x+

Figura 5.3: Uma iteracao do metodo de Newton.


Voltando agora ao problema de minimizar f , aplicamos a estrategia acima para
F = f , obtendo
1
x) f (
x).
(5.6)
x+ = x 2 f (

Metodos para Otimizacao Irrestrita

5.2.2

67

Algoritmo

Com base na relacao (5.6) podemos agora formalizar o metodo de Newton para
minimizar a funcao f . Basicamente, temos tres variantes no algoritmo. Uma delas e
o metodo puro, onde nao fazemos busca unidirecional e aceitamos o passo completo
(tk = 1, para todo k IN). As outras duas fazem uso de busca (exata ou Armijo).
Algoritmo 5.2 Newton
Dado: x0 IRn
k=0
repita enquanto f (xk ) 6= 0
1
Defina dk = 2 f (xk ) f (xk )
Determine o tamanho do passo tk > 0
Faca xk+1 = xk + tk dk
k =k+1
Cabe ressaltar que do ponto de vista computacional, o calculo da direcao dk e
feito resolvendo-se o sistema de equacoes lineares
2 f (xk )d = f (xk ),
que tem um custo computacional menor do que o gasto para inverter uma matriz. Outra
observacao e que, diferentemente do que acontece no algoritmo do gradiente, o passo
de Newton pode nao estar bem definido, caso a matriz Hessiana 2 f (xk ) seja singular.
Alem disso, mesmo que o passo dk seja calculado, esta direcao pode nao ser de descida.
Entretanto, se 2 f (xk ) e definida positiva, entao o passo dk esta bem definido e e uma
direcao de descida.
O passo de Newton tambem pode ser obtido por uma abordagem diferente da
que foi exposta acima. Para isto considere a aproximacao de Taylor de segunda ordem de
f , dada por
1
p(x) = f (xk ) + f (xk )T (x xk ) + (x xk )T 2 f (xk )(x xk ).
2
Com o objetivo de minimizar p, fazemos
f (xk ) + 2 f (xk )(x xk ) = p(x) = 0,
obtendo exatamente o passo dk do Algoritmo 5.2. Desta forma, se 2 f (xk ) e definida
positiva, entao o passo de Newton minimiza o modelo quadratico de f em torno de xk .
A Figura 5.4 ilustra esta abordagem. O primeiro grafico mostra, para n = 1, a funcao
e o modelo, bem como os pontos xk e xk+1 . O outro grafico ilustra o passo para n = 2.

Metodos para Otimizacao Irrestrita

68

Neste caso, mostramos as curvas de nvel da funcao e do modelo, bem como os pontos xk
e xk+1 .

xk+1

xk

xk+1
xk

Figura 5.4: Uma iteracao do metodo de Newton.


Esta u
ltima abordagem sugere que se o metodo de Newton for aplicado em uma
funcao quadratica, entao basta uma iteracao para resolver o problema. De fato, considere
a quadratica dada em (5.2). Dado x0 IRn , o passo obtido e
1
d0 = 2 f (x0 ) f (x0 ) = A1 (Ax0 + b) = x0 A1 b.
Portanto, o minimizador x e obtido em um so passo, pois
x1 = x0 + d0 = A1 b = x .

5.2.3

Converg
encia

Como ja observamos antes, a direcao de Newton pode nao ser de descida. Portanto, nao garantimos convergencia global quando o problema a ser resolvido envolver
uma funcao arbitraria. No entanto, para uma classe de funcoes convexas, podemos tirar
conclusoes positivas, pois podemos aplicar o que foi estabelecido no Captulo 4.
Teorema 5.6 Suponha que 2 f (x) e definida positiva, para todo x IRn . Ent
ao o
Algoritmo 5.2, com o tamanho do passo tk calculado pela busca exata, e globalmente
convergente, segundo a Definicao 4.11. O mesmo resultado vale se utilizarmos a busca de
Armijo para calcular tk .
Demonstracao. Note que o algoritmo de Newton pode ser considerado situacao particular
1
do Algoritmo 4.4, com H(xk ) = 2 f (xk ) , para todo k IN. Assim, as afirmacoes
feitas seguem diretamente dos Teoremas 4.12 e 4.13.
Para estabelecer propriedades a respeito da ordem de convergencia do metodo de
Newton, vamos precisar dos seguintes resultados.

Metodos para Otimizacao Irrestrita

69

Lema 5.7 Suponha que 2 f (


x) e definida positiva. Entao existem constantes , M > 0
tais que 2 f (x) e definida positiva e
2

f (x) 1 M,
para todo x B(
x, ).
Demonstracao. Seja > 0 o menor autovalor de 2 f (
x). Pela continuidade de 2 f ,
existe > 0 tal que

(5.7)
k2 f (x) 2 f (
x)k < ,
2
para todo x B(
x, ). Assim, dado d IRn , com kdk = 1, podemos usar o Lema 1.47 e
a desigualdade de Cauchy-Schwarz para concluir que
dT 2 f (x)d = dT 2 f (
x)d + dT [2 f (x) 2 f (
x)]d

= ,
2
2

provando que 2 f (x) e definida positiva para todo x B(


x, ). Para provar a outra
afirmacao, considere x B(
x, ). Vamos denotar A = 2 f (
x) e B = 2 f (x). Usando
novamente o Lema 1.47, agora aplicado em A2 , obtemos
kAdk2 = dT A2 d 2 kdk2 ,
para todo d IRn . Portanto, usando (5.7), conclumos que

kBdk = kAd + (B A)dk kAdk k(B A)dk kdk kdk = kdk.


2
2
Considere agora y IRn , com kyk = 1. Aplicando a relacao acima para d = B 1 y,
conclumos que

1 = kyk = kBB 1 yk kB 1 yk.


2

1
2
Portanto, para M = , temos 2 f (x) = kB 1 k M , completando a demons
tracao.
Lema 5.8 Seja U IRn um conjunto aberto e convexo. Suponha que existe > 0 tal
que sup k2 f (x) 2 f (y)k . Entao
x,yU

kf (x) f (y) 2 f (y)(x y)k kx yk,


para todos x, y U .
Demonstracao. Fixado y U , considere h : IRn IRn dada por h(x) = f (x) 2 f (y)x.
Assim,
kJh (x)k = k2 f (x) 2 f (y)k ,

Metodos para Otimizacao Irrestrita

70

para todo x U . Usando a desigualdade do valor medio, obtemos


kf (x) f (y) 2 f (y)(x y)k = kh(x) h(y)k kx yk,
completando a demonstracao.
Lema 5.9 Seja U IRn aberto e convexo. Se 2 f e Lipschitz com constante L, ent
ao
kf (x) f (y) 2 f (y)(x y)k Lkx yk2 ,
para todos x, y U .
Demonstracao. Fixados x, y U , defina = Lkx yk e h : IRn IRn dada por
h(z) = f (z) 2 f (y)z. Assim, para todo z [x, y], temos
kJh (z)k = k2 f (z) 2 f (y)k Lkz yk Lkx yk = .
Usando a desigualdade do valor medio, obtemos
kf (x) f (y) 2 f (y)(x y)k = kh(x) h(y)k kx yk = Lkx yk2 ,
completando a demonstracao.
O proximo resultado estabelece a convergencia quadratica do metodo de Newton
puro, isto e, com tk = 1, para todo k IN.
Teorema 5.10 Seja f : IRn IR de classe C 2 . Suponha que x IRn seja um minimizador local de f , com 2 f (x ) definida positiva. Entao existe > 0 tal que se x0 B(x , ),
o Algoritmo 5.2, aplicado com tk = 1 para todo k IN, gera uma sequencia (xk ) tal que:
(i) 2 f (xk ) e definida positiva, para todo k IN;
(ii) (xk ) converge superlinearmente para x ;
(iii) Se 2 f e Lipschitz, entao a convergencia e quadratica.
Demonstracao. Sejam e M as constantes definidas no Lema 5.7 e U = B(x , ). Assim,
se xk U , o passo de Newton esta bem definido e, como f (x ) = 0, vale
1

xk+1 x = 2 f (xk )
f (x ) f (xk ) 2 f (xk )(x xk ) .

(5.8)

Podemos diminuir , se necessario, de modo que sup k2 f (x) 2 f (y)k <

1
. Pelos
2M

x,yU

Lemas 5.7 e 5.8, conclumos que


1
kxk+1 x k kxk x k.
2

Metodos para Otimizacao Irrestrita

71

Isto prova que a sequencia (xk ) esta bem definida, que xk U , para todo k IN e
que xk x , donde segue (i). Vejamos que a convergencia e superlinear. Dado > 0,

, onde U0 = B(x , 0 ). Tome


considere 0 < tal que sup k2 f (x) 2 f (y)k <
M
x,yU0
k0 IN tal que xk U0 , para todo k k0 . Aplicando novamente os Lemas 5.7 e 5.8 na
relacao (5.8), obtemos
kxk+1 x k kxk x k,
provando assim (ii). Finalmente, se 2 f e Lipschitz, podemos usar os Lemas 5.7 e 5.9
em (5.8) para obter
kxk+1 x k M Lkxk x k2 ,
completando a demonstracao.
Podemos reescrever os resultados anteriores para o contexto de equacoes. Para
referencia, vamos enunciar o teorema que estabelece a convergencia quadratica do metodo
de Newton para resolucao de sistemas de equacoes.
Teorema 5.11 Seja F : IRn IRn de classe C 1 . Suponha que x IRn seja uma raiz de
F , com JF (
x) inversvel. Entao existe > 0 tal que se x0 B(
x, ), o metodo de Newton
k
para equacoes gera uma sequencia (x ) tal que:
(i) JF (xk ) e inversvel, para todo k IN;
(ii) (xk ) converge superlinearmente para x;
(iii) Se JF e Lipschitz, entao a convergencia e quadratica.
O Teorema 5.10 significa que se o palpite inicial esta perto de um minimizador
de f , a convergencia e muito rapida, o que e uma caracterstica desejavel em otimizacao.
Entretanto, o metodo de Newton tem um alto custo computacional, pois faz uso de
derivadas de segunda ordem. No metodo de Cauchy, o custo e baixo, mas a convergencia
e lenta. Veremos agora uma classe de metodos que tenta obter as qualidades de ambos.

5.3

M
etodo de dire
co
es conjugadas

Metodos de direcoes conjugadas sao metodos de primeira ordem (usam apenas


informacoes da funcao e do gradiente) com convergencia mais rapida que o metodo de
Cauchy e custo computacional menor do que Newton. Enquanto Cauchy pode gastar
uma infinidade de passos para resolver uma quadratica, Newton a resolve em um passo.
Veremos que os metodos de direcoes conjugadas minimizam uma quadratica definida em
IRn usando no maximo n passos.

Metodos para Otimizacao Irrestrita

5.3.1

72

Dire
co
es conjugadas

Apresentamos nesta secao a definicao e os principais resultados sobre direcoes


conjugadas.
Definic
ao 5.12 Seja A IRnn uma matriz definida positiva. Dizemos que os vetores
d0 , d1 , . . . , dk IRn \ {0} sao A-conjugados se
(di )T Adj = 0,
para todos i, j = 0, 1, . . . , k, com i 6= j.
Note que, no caso particular onde A e a matriz identidade, vetores A-conjugados
sao ortogonais no sentido usual. No caso geral, podemos provar a independencia linear
de vetores A-conjugados.
Lema 5.13 Seja A IRnn uma matriz definida positiva. Um conjunto qualquer de
vetores A-conjugados e linearmente independente.
Demonstracao. Sejam d0 , d1 , . . . , dk IRn \ {0} vetores A-conjugados. Considere constantes a0 , a1 , . . . , ak IR tais que
a0 d0 + a1 d1 + . . . + ak dk = 0.
Dado i {0, 1, . . . , k}, multiplicando os dois membros da igualdade acima por (di )T A,
obtemos
ai (di )T Adi = 0,
donde segue que ai = 0, pois A e definida positiva.
Veremos agora que o conhecimento de direcoes conjugadas permite obter o minimizador de uma funcao quadratica. Considere a funcao f : IRn IR dada por
1
f (x) = xT Ax + bT x + c,
2

(5.9)

com A IRnn definida positiva, b IRn e c IR. A funcao f tem um u


nico minimizador

x , que e global e satisfaz


Ax + b = f (x ) = 0.
(5.10)
Dado um conjunto qualquer de direcoes A-conjugadas {d0 , d1 , . . . , dn1 }, vamos
definir uma sequencia finita do seguinte modo: tome x0 IRn arbitrario e defina para
k = 0, 1, . . . , n 1,
xk+1 = xk + tk dk ,
(5.11)
onde


tk = argmin f (xk + tdk ) .
tIR

Metodos para Otimizacao Irrestrita

73

Note que a minimizacao acima e calculada sobre toda a reta e nao apenas para valores
positivos de t, pois a direcao dk pode nao ser de descida para f no ponto xk . Alem disso,
como f e quadratica, podemos obter uma formula explcita para tk . Para isso, defina
: IR IR por (t) = f (xk + tdk ). Usando a definicao de tk , obtemos
f (xk+1 )T dk = f (xk + tk dk )T dk = 0 (tk ) = 0.

(5.12)

Por outro lado, temos


f (xk+1 ) = A(xk + tk dk ) + b = f (xk ) + tk Adk .

(5.13)

Substituindo isto em (5.12), obtemos


tk =

f (xk )T dk
.
(dk )T Adk

(5.14)

O teorema a seguir mostra que o algoritmo dado por (5.11) minimiza a quadratica
definida em (5.9) com no maximo n passos.
Teorema 5.14 Considere a funcao quadratica dada por (5.9) e seu minimizador x , definido em (5.10). Dado x0 IRn , a sequencia finita definida em (5.11) cumpre xn = x .
Demonstracao. Pelo Lema 5.13, o conjunto {d0 , d1 , . . . , dn1 } e uma base de IRn . Portanto,
existem escalares i IR, i = 0, 1, . . . , n 1, tais que
x x0 =

n1
X

i di .

(5.15)

i=0

Considere k {0, 1, . . . , n 1} arbitrario. Multiplicando a relacao (5.15) por (dk )T A e


levando em conta que as direcoes sao A-conjugadas, temos que
(dk )T A(x x0 ) = k (dk )T Adk .
Assim,
k =

(dk )T A(x x0 )
.
(dk )T Adk

Por outro lado, pela definicao de xk em (5.11), temos


xk = x0 + t0 d0 + t1 d1 + + tk1 dk1 ,
que multiplicando por (dk )T A, implica
(dk )T Axk = (dk )T Ax0 ,

(5.16)

Metodos para Otimizacao Irrestrita

74

pois as direcoes sao A-conjugadas. Substituindo isto em (5.16) e usando (5.10), obtemos
k =

(dk )T (b + Axk )
(dk )T f (xk )
=

= tk .
(dk )T Adk
(dk )T Adk

Portanto, de (5.15) segue que


x = x0 +

n1
X

ti di = xn ,

i=0

completando a demonstracao.
Veremos agora um resultado que sera usado para provar que o ponto xk minimiza
a quadratica nao apenas em uma reta como tambem na variedade afim de dimensao k,
dada por x0 + [d0 , d1 , . . . , dk1 ].
Lema 5.15 Dado x0 IRn , considere a sequencia finita definida em (5.11). Entao
f (xk )T dj = 0,
para todo j = 0, 1, . . . , k 1.
Demonstracao. Pela relacao (5.12), temos que f (xk )T dk1 = 0, provando a afirmacao
para j = k 1. Considere agora j < k 1. Usando (5.13) e o fato das direcoes serem
A-conjugadas, obtemos
f (xk )T dj = f (xk1 ) + tk1 Adk1

T

dj = f (xk1 )T dj .

O resultado desejado segue por inducao.


Teorema 5.16 Dado x0 IRn , considere a sequencia finita definida em (5.11). Ent
ao o
k
0
0 1
k1
ponto x minimiza f sobre a variedade afim C = x + [d , d , . . . , d ].
Demonstracao. Note primeiro que, por (5.11), temos xk C. Assim,
x xk [d0 , d1 , . . . , dk1 ],
para todo x C. Portanto, pelo Lema 5.15, temos que
f (xk )T (x xk ) = 0.
Como f e convexa e C e um conjunto convexo, podemos aplicar o Corolario 3.14 para
concluir a demonstracao.
A abordagem classica do metodo de direcoes conjugadas que vimos aqui considera
minimizacao unidirecional e em seguida estabelece a equivalencia com a minimizacao em

Metodos para Otimizacao Irrestrita

75

variedades afins de dimensao crescente, partindo de 1 e chegando em n. Contudo, e


possvel inverter a apresentacao destes temas, comecando com variedades e depois obtendo
minimizacao unidirecional. Este tratamento, que pode ser encontrado em Conn, Gould e
Toint [6], e resumido nos Exerccios 5.13 a 5.16.

5.3.2

Algoritmo de gradientes conjugados

Vimos na Secao 5.3.1 como obter o minimizador de uma funcao quadratica estritamente convexa a partir de um conjunto de direcoes conjugadas. Veremos agora um
modo de gerar tais direcoes.
Dado x0 IRn , defina d0 = f (x0 ) e, para k = 0, 1, . . . , n 2,
dk+1 = f (xk+1 ) + k dk ,

(5.17)

onde xk+1 e dado por (5.11) e k e calculado de modo que dk e dk+1 sejam A-conjugadas,
ou seja,

(dk )T A f (xk+1 ) + k dk = (dk )T Adk+1 = 0.
Isto nos fornece
k =

(dk )T Af (xk+1 )
.
(dk )T Adk

(5.18)

Podemos agora apresentar o algoritmo de gradientes conjugados.


Algoritmo 5.3 Gradientes conjugados
Dado x0 IRn , faca d0 = f (x0 )
k=0
repita enquanto f (xk ) 6= 0
f (xk )T dk
tk = k T k
(d ) Ad
k+1
x
= xk + tk dk
(dk )T Af (xk+1 )
k =
(dk )T Adk
dk+1 = f (xk+1 ) + k dk
k =k+1
Salientamos que o Algoritmo 5.3 esta bem definido, isto e, se f (xk ) 6= 0, entao
dk =
6 0 e assim o novo ponto pode ser calculado. De fato, usando a relacao (5.12), obtemos

f (xk )T dk = f (xk )T f (xk ) + k1 dk1 = kf (xk )k2 .

(5.19)

Outra caracterstica deste algoritmo, que nao era necessariamente valida para
direcoes conjugadas em geral, e que as direcoes geradas aqui sao de descida, como pode
ser visto pela relacao (5.19).

Metodos para Otimizacao Irrestrita

76

O proximo resultado estabelece que as direcoes geradas pelo algoritmo sao, de


fato, A-conjugadas e que os gradientes sao ortogonais.
Teorema 5.17 Se xk e dk foram gerados pelo Algoritmo 5.3, entao
f (xk )T f (xj ) = 0 e

(dk )T Adj = 0,

para todo j = 0, 1, . . . , k 1.
Demonstracao. Para simplificar a notacao, vamos escrever gi = f (xi ). O resultado sera
provado usando inducao em k. Para k = 1, usando (5.12), obtemos g1T g0 = g1T d0 = 0.
Alem disso, a definicao de 0 em (5.18) implica (d1 )T Ad0 = 0. Suponha agora que o
resultado vale ate k. Vamos provar que vale para k + 1. Pela hipotese de inducao, as
direcoes d0 , d1 , . . . , dk sao A-conjugadas. Assim, podemos aplicar o Lema 5.15 e concluir
T
que gk+1
dj = 0, para j = 0, 1, . . . , k. Assim, usando (5.17), obtemos

T
T
gk+1
gj = gk+1
dj + j1 dj1 = 0,

(5.20)

para j = 0, 1, . . . , k. Finalmente, da definicao de k em (5.18), temos que (dk+1 )T Adk = 0.


Alem disso, para j < k, a hipotese de inducao nos fornece
(dk+1 )T Adj = gk+1 + k dk

T

T
Adj = gk+1
Adj .

Usando a relacao (5.13) e o que foi estabelecido em (5.20), obtemos


(d

k+1 T

) Ad =

T
gk+1

gj+1 gj
tj


= 0.

A Figura 5.5 ilustra a aplicacao do algoritmo de gradientes conjugados para a


minimizacao de uma funcao quadratica em IR2 . Note a ortogonalidade dos gradientes nos
iterandos e que a solucao e obtida em 2 passos.
f1
x1

x2

x0
f0

Figura 5.5: Minimizacao de uma quadratica pelo metodo de gradientes conjugados.


O Teorema 5.17 e os resultados da Secao 5.3.1 garantem que o Algoritmo 5.3
minimiza qualquer quadratica definida em IRn com no maximo n passos. No entanto, vale

Metodos para Otimizacao Irrestrita

77

dizer que se pode tirar esta conclusao sem apelar para o que foi visto naquela secao. De
fato, se o ponto xn foi gerado pelo algoritmo, entao os gradientes f (xj ), j = 0, 1, . . . , n1
sao nao nulos. Assim, pelo Teorema 5.17, eles formam uma base (ortogonal) de IRn e
f (xn )T f (xj ) = 0,
para todo j = 0, 1, . . . , n 1. Portanto, f (xn ) = 0.
O calculo de k pela formula original, dada em (5.18), pode ser caro em virtude
dos produtos pela matriz Hessiana. Apresentamos a seguir outras formas de calcular este
coeficiente. Uma delas, proposta por Polak e Ribi`ere [44], e dada por
kPR


f (xk+1 )T f (xk+1 ) f (xk )
,
=
f (xk )T f (xk )

(5.21)

enquanto a outra, devida a Fletcher e Reeves [12], considera


kFR =

f (xk+1 )T f (xk+1 )
.
f (xk )T f (xk )

(5.22)

Tais expressoes tem a vantagem computacional de utilizar apenas produto de vetores e


coincidem no caso quadratico, o que e estabelecido no proximo teorema. No entanto, para
funcoes nao quadraticas tais expressoes podem nao ser iguais, o que fornece variantes do
metodo de gradientes conjugados, conforme veremos na proxima secao.
Teorema 5.18 Se f e uma funcao quadratica, entao as expressoes (5.18), (5.21) e (5.22)
coincidem, ou seja
k = kPR = kFR .
Demonstracao. Usaremos novamente a notacao gi = f (xi ). Por (5.13), temos que
Adk =

gk+1 gk
.
tk

Portanto,
k =

T
T
gk+1
Adk
gk+1
(gk+1 gk )
=
.
k
T
k
k
T
(d ) Ad
(d ) (gk+1 gk )

Usando o Lema 5.15 e (5.19), obtemos


k =

T
gk+1
(gk+1 gk )
,
gkT gk

T
provando assim a primeira igualdade. A outra expressao segue do fato de que gk+1
gk = 0,
provado no Teorema 5.17.

Metodos para Otimizacao Irrestrita

5.3.3

78

Extens
ao para funco
es n
ao quadr
aticas

O metodo de gradientes conjugados visto na secao anterior pode ser adaptado


para minimizar funcoes nao quadraticas. Para tanto, e necessario discutir como calcular
o tamanho do passo tk e o coeficiente k . A busca linear, que no caso quadratico era feita
de forma fechada pela formula (5.14), agora pode ser executada por meio dos metodos
unidimensionais discutidos no Captulo 4, como busca exata (secao aurea) ou inexata
(Armijo). Para o calculo de k , podemos utilizar a expressao de Polak-Ribi`ere (5.21)
ou de Fletcher-Reeves (5.22). Combinando estas escolhas, obtemos diversas variantes do
metodo.
Cabe ressaltar que estas variantes para funcoes nao quadraticas nao terminam
necessariamente em n passos. Desta forma e usual considerar uma reinicializacao das
direcoes de busca a cada n passos, fazendo k = 0, o que equivale a tomar a direcao
do gradiente. Tais consideracoes dao origem ao seguinte algoritmo para minimizacao
irrestrita.
Algoritmo 5.4 Gradientes conjugados para funcoes nao quadraticas
Dado x0 IRn , faca d0 = f (x0 )
k=0
repita enquanto f (xk ) 6= 0
Calcule o comprimento do passo tk
Faca xk+1 = xk + tk dk
se (k + 1) mod n 6= 0
Calcule k por (5.21) ou por (5.22)
o
sena
k = 0
Defina dk+1 = f (xk+1 ) + k dk
k =k+1
Note que se tk for calculado por uma minimizacao unidirecional local, entao as
direcoes geradas pelo Algoritmo 5.4 sao de descida, pois a relacao (5.19) tambem se verifica
neste caso. Entretanto, a busca de Armijo nao assegura tal propriedade. Para contornar
esta dificuldade existem salvaguardas que podem ser encontradas com detalhes em [39].

5.3.4

Complexidade algortmica

Nesta secao veremos que o metodo de gradientes conjugados


 minimizacao de
 para
1
. Para estabelecer
funcoes quadraticas tem complexidade algortmica da ordem O
k2
este resultado precisaremos estudar dois conceitos fundamentais, que sao os espacos de
Krylov e os polinomios de Chebyshev.

Metodos para Otimizacao Irrestrita

79

Vamos considerar aqui a funcao quadratica f : IRn IR dada por


1
f (x) = xT Ax + bT x + c,
2

(5.23)

com A IRnn definida positiva, b IRn e c IR. Como ja sabemos, o minimizador de


f , indicado por x , e global e satisfaz
Ax + b = f (x ) = 0.

(5.24)

Espacos de Krylov
Os espacos de Krylov desempenham um papel importante em otimizacao, tanto
no aspecto teorico quanto no computacional. Eles sao definidos por potencias de A multiplicadas pelo gradiente de f em um ponto dado.
Definic
ao 5.19 Dados x0 IRn e k IN, definimos o k-esimo espaco de Krylov por
Kk = [A(x0 x ), A2 (x0 x ), . . . , Ak (x0 x )].
Note que, por (5.24), A(x0 x ) = Ax0 + b = f (x0 ). Assim, podemos escrever
o espaco de Krylov como
Kk = [f (x0 ), Af (x0 ), . . . , Ak1 f (x0 )].

(5.25)

O proximo teorema relaciona o espaco gerado pelos gradientes f (xk ) e o espaco


gerado pelas direcoes dk , obtidos pelo algoritmo de gradientes conjugados, com os espacos
de Krylov.
Teorema 5.20 Considere as sequencias (xk ) e (dk ), geradas pelo Algoritmo 5.3. Se o
metodo nao termina em xk1 , entao
(i) Kk = [f (x0 ), f (x1 ), . . . , f (xk1 )];
(ii) Kk = [d0 , d1 , . . . , dk1 ].
Demonstracao. Vamos provar simultaneamente (i) e (ii) por inducao. Isto e imediato
para k = 1 em virtude de (5.25). Suponha agora que o teorema e valido para um certo
k. Pela relacao (5.13), temos
f (xk ) = f (xk1 ) + tk1 Adk1 .
Usando a hipotese de inducao, podemos concluir que
f (xk1 ) Kk Kk+1

e dk1 Kk .

Metodos para Otimizacao Irrestrita

80

Portanto, Adk1 Kk+1 , donde segue que f (xk ) Kk+1 . Isto prova que
[f (x0 ), f (x1 ), . . . , f (xk )] Kk+1 .
Por outro lado, como o algoritmo nao termina em xk , os gradientes f (xj ), j = 0, 1, . . . , k
sao nao nulos. Assim, pelo Teorema 5.17 eles geram um espaco de dimensao k + 1. Mas
dim (Kk+1 ) k + 1. Logo
Kk+1 = [f (x0 ), f (x1 ), . . . , f (xk )],
provando (i). Finalmente, pela hipotese de inducao, temos dk1 Kk Kk+1 . Portanto,
pelo Algoritmo 5.3 e o que acabamos de provar, obtemos
dk = f (xk ) + k1 dk1 Kk+1 .
Alem disso, por (5.19), os vetores dj , j = 0, 1, . . . , k sao nao nulos e pelo Teorema 5.17, sao
A-conjugados. Consequentemente, pelo Lema 5.13, eles geram um espaco de dimensao
k + 1. Assim,
Kk+1 = [d0 , d1 , . . . , dk ],
completando a demonstracao.
Estamos interessados em discutir as propriedades de minimizacao de f na variedade afim
V k = x0 + K k .
(5.26)
Considere Pk o conjunto dos polinomios p : IR IR de grau menor ou igual a k tais que
p(0) = 1, ou seja,


Pk = 1 + a1 t + a2 t2 + + ak tk | ai IR, i = 1, . . . , k .
Lema 5.21 Temos x Vk se, e somente se,
x x = p(A)(x0 x ),
para algum polinomio p Pk .
Demonstracao. Dado x Vk temos
x = x0 + a1 A(x0 x ) + a2 A2 (x0 x ) + + ak Ak (x0 x ).
Subtraindo x de ambos os membros, obtemos
x x = (I + a1 A + a2 A2 + + ak Ak )(x0 x ).

(5.27)

Metodos para Otimizacao Irrestrita

81

A recproca se prova de modo analogo.


Lema 5.22 Considere xk = argmin {f (x)}. Entao,
xVk

2
1
f (xk ) f (x ) (x0 x )T A p(A) (x0 x ),
2
para todo polinomio p Pk .
Demonstracao. Considere p Pk arbitrario. Pelo Lema 5.21, o ponto
x = x + p(A)(x0 x )

(5.28)

pertence a` variedade Vk . Como xk e minimizador em Vk , temos f (xk ) f (x), donde


segue que
f (xk ) f (x ) f (x) f (x ).
(5.29)
Pela definicao de f em (5.23) e por (5.24), podemos escrever
1
f (x) f (x ) = (x x )T A(x x ).
2
Portanto, substituindo (5.28) nesta u
ltima expressao e usando (5.29), obtemos
T
1
f (xk ) f (x ) (x0 x )T p(A) Ap(A)(x0 x ).
2
Como A e simetrica, p(A)

T

A = Ap(A). Assim,

2
1
f (xk ) f (x ) (x0 x )T A p(A) (x0 x ),
2
completando a demonstracao.
Uma consequencia do Teorema 5.20 e que a sequencia definida no Lema 5.22
coincide com a sequencia gerada pelo Algoritmo 5.3. De fato, o Teorema 5.16 pode ser
aplicado nas sequencias (xk ) e (dk ), geradas pelo algoritmo de gradientes conjugados.
Polin
omios de Chebyshev
Estudaremos agora os polinomios de Chebyshev, que desempenham um papel
importante em diversos campos da ciencia e, particularmente, no estudo da complexidade
algortmica do algoritmo de gradientes conjugados.
Definic
ao 5.23 O polinomio de Chebyshev de grau k, Tk : [1, 1] IR, e definido por

Tk (t) = cos k arccos(t) .

Metodos para Otimizacao Irrestrita

82

Naturalmente, a primeira coisa que devemos fazer e verificar que Tk e, de fato,


um polinomio. Isto sera consequencia imediata do proximo lema.
Lema 5.24 Temos T0 (t) = 1 e T1 (t) = t, para todo t [1, 1]. Alem disso,
Tk+1 (t) = 2tTk (t) Tk1 (t),
para todo k 1.
Demonstracao. A primeira parte segue direto da definicao. Para provar a relacao de
recorrencia, considere : [1, 1] [0, ], dada por (t) = arccos(t). Assim,





Tk+1 (t) = cos (k + 1)(t) = cos k(t) cos (t) sen k(t) sen (t)
e





Tk1 (t) = cos (k 1)(t) = cos k(t) cos (t) + sen k(t) sen (t) .


Mas cos k(t) = Tk (t) e cos (t) = t. Portanto,
Tk+1 (t) + Tk1 (t) = 2tTk (t),
completando a demonstracao.
Exemplo 5.25 Determine os polinomios de Chebyshev Tk , com k = 0, 1, . . . , 6 e faca o
grafico para k = 1, . . . , 4.
Temos T0 (t) = 1 e T1 (t) = t, para todo t [1, 1]. Alem disso, pelo Lema 5.24,
T2 (t) = 2t2 1 ,

T3 (t) = 4t3 3t ,

T4 (t) = 8t4 8t2 + 1

T5 (t) = 16t5 20t3 + 5t e T6 (t) = 32t6 48t4 + 18t2 1.


A Figura 5.6 ilustra alguns polinomios de Chebyshev.
O que vimos no Exemplo 5.25 tambem sugere algumas propriedades que serao
fundamentais aqui. Uma delas e sobre a norma de Tk , definida por
kTk k = sup {|Tk (t)| | t [1, 1]} .
Lema 5.26 Temos kTk k = 1, para todo k 0.

Demonstracao. Dados k 0 e t [1, 1], temos |Tk (t)| = | cos k arccos(t) | 1. Alem
disso,

Tk (1) = cos k arccos(1) = cos(0) = 1,
completando a demonstracao.

Metodos para Otimizacao Irrestrita

83

0.5

0.5
T1
T2
T3
T4

1
1

0.5

0.5

Figura 5.6: Grafico de alguns polinomios de Chebyshev.


A outra propriedade diz que o polinomio de Chebyshev de grau k tem a mesma
paridade do natural k.
Lema 5.27 Se Tk (t) = ak tk + + a2 t2 + a1 t + a0 , entao ak = 2k1 . Alem disso,
k

(i) Se k e par, entao a0 = (1) 2 e a2j1 = 0, para todo j = 1, . . . , k2 ;


(ii) Se k e mpar, entao a1 = (1)

k1
2

k e a2j = 0, para todo j = 0, 1, . . . , k1


.
2

Demonstracao. Vamos provar por inducao. O lema e trivialmente verdadeiro para k = 0


e k = 1. Suponha agora que seja valido para todos os naturais menores ou iguais a k.
Vamos provar que o lema vale para k + 1. Ja utilizando a hipotese de inducao, considere
Tk (t) = 2k1 tk + + a1 t + a0

e Tk1 (t) = 2k2 tk1 + + b1 t + b0 .

Pelo Lema 5.24, temos


Tk+1 (t) = 2t(2k1 tk + + a1 t + a0 ) (2k2 tk1 + + b1 t + b0 ),

(5.30)

donde segue a primeira afirmacao. Para provar o que falta, considere primeiro k + 1 par.
Entao k e mpar e k 1 e par. Assim, pela hipotese de inducao, Tk so tem potencias
mpares de t e Tk1 so potencias pares. Deste modo, por (5.30), Tk+1 tera apenas potencias
pares de t. Alem disso, seu termo independente sera
b0 = (1)

k1
2

= (1)

k+1
2

Por outro lado, se k + 1 e mpar, entao k e par e k 1 e mpar. Novamente pela hipotese
de inducao, Tk so tem potencias pares de t e Tk1 so potencias mpares. Assim, por (5.30),
Tk+1 tera apenas potencias mpares de t. Alem disso, seu termo linear sera
k

2ta0 b1 t = 2t(1) 2 (1)

k2
2

(k 1)t = (1) 2 (k + 1)t,

Metodos para Otimizacao Irrestrita

84

o que completa a demonstracao.


Uma das consequencias do lema anterior e que Tk e uma funcao par (mpar)
quando k e par (mpar). Agora veremos uma relacao entre polinomios de Chebyshev de
grau mpar e polinomios do conjunto Pk , definido em (5.27).
Lema 5.28 Sejam L > 0 e k IN. Entao existe p Pk tal que

 
t
t
k
= (1) (2k + 1) p(t),
T2k+1
L
L
para todo t [0, L].
Demonstracao. Pelo Lema 5.27, temos, para todo t [1, 1],

T2k+1 (t) = t 22k t2k + + (1)k (2k + 1) ,
onde o polinomio que esta no parenteses tem apenas potencias pares de t. Portanto,

 
t
t
=
T2k+1
L
L

!
 k
t
22k
+ + (1)k (2k + 1) ,
L

para todo t [0, L]. Definindo


1
p(t) =
(1)k (2k + 1)

!
 k
t
+ + (1)k (2k + 1) ,
22k
L

completamos a demonstracao.
Complexidade algortmica do Algoritmo 5.3
Temos agora todas as ferramentas para obter o principal resultado desta secao. O
proximo teorema, provado em [45], garante que a complexidade algortmica do metodo de
gradientes
ordem
  conjugados para minimizacao de uma funcao quadratica convexa e da 

1
1
O
. Ressaltamos que o metodo do gradiente tem complexidade da ordem O
.
k2
k
Teorema 5.29 Considere a sequencia (xk ), gerada pelo Algoritmo 5.3 para minimizar a
quadratica definida em (5.23). Entao,
f (xk ) f (x )

Lkx0 x k2
,
2(2k + 1)2

onde x e o minimizador de f e L o maior autovalor de A.


Demonstracao. Sendo d0 , d1 , . . . , dk1 as direcoes conjugadas geradas pelo Algoritmo 5.3,
podemos aplicar o Teorema 5.16 para concluir que xk e o minimizador de f na variedade

Metodos para Otimizacao Irrestrita

85

afim
x0 + [d0 , d1 , . . . , dk1 ].
Por outro lado, pelo Teorema 5.20, temos
x0 + [d0 , d1 , . . . , dk1 ] = Vk ,
onde Vk e a variedade afim definida em (5.26). Portanto, pelo Lema 5.22 e pelas propriedades de norma, temos que

2 0
2
1 0
1 0

T

2
f (x ) f (x ) (x x ) A p(A) (x x ) kx x k A p(A) ,
2
2
k

(5.31)

para todo polinomio p Pk , onde Pk e definido em (5.27). Alem disso, pelos Teoremas
1.49 e 1.50, temos

n
o
2
2


A
p(A)
=
max

p()
|

e
autovalor
de
A
.


Considerando o polinomio p, definido no Lema 5.28, e usando o fato de que os autovalores
de A estao todos no intervalo (0, L], obtemos

n
2 o
2

max
t
p(t)
=
A
p(A)


t[0,L]

Pelo Lema 5.26,



max
t[0,L]


 
t
L
2

max
T
.
2k+1
(2k + 1)2 t[0,L]
L

(5.32)

 
t
2

1,
T2k+1
L

que junto com (5.31) e (5.32) nos fornece


f (xk ) f (x )

Lkx0 x k2
,
2(2k + 1)2

completando a demonstracao.

5.4

M
etodos quase-Newton

Veremos agora outra classe de metodos que tambem estao entre Cauchy e Newton
no sentido de melhorar a performance em relacao a Cauchy e ser computacionalmente
mais baratos quando comparados com Newton. A ideia e construir aproximacoes para a
Hessiana da funcao objetivo ao longo das iteracoes.
Assim como no caso de direcoes conjugadas, os metodos quase-Newton tambem
minimizam uma quadratica em um n
umero finito de passos.

Metodos para Otimizacao Irrestrita

5.4.1

86

O algoritmo b
asico

O procedimento iterativo que estudaremos para minimizar uma funcao f considera as direcoes de busca dadas por
dk = Hk f (xk ),

(5.33)

onde Hk IRnn e definida positiva. Tal expressao surge de modo natural quando pensamos, como no caso de Newton, em aproximar f por um modelo quadratico em torno de
xk . Entretanto, aqui consideramos
1
mk (d) = f (xk ) + f (xk )T d + dT Bk d,
2
onde Bk IRnn e uma matriz simetrica qualquer ao inves de 2 f (xk ). Se Bk for definida
positiva, o minimizador do modelo quadratico e dado por
Bk1 f (xk ).
Deste modo, obtemos (5.33) escolhendo Bk = Hk1 . Mais formalmente, vamos trabalhar
em cima do seguinte algoritmo basico.
Algoritmo 5.5 Quase-Newton
Dados x0 IRn , H0 IRnn definida positiva
k=0
repita enquanto f (xk ) 6= 0
Defina dk = Hk f (xk )
Obtenha tk > 0 que minimiza f (xk + tdk ) em [0, )
Faca xk+1 = xk + tk dk
Determine Hk+1 definida positiva
k =k+1
Note que se Hk = I, a direcao de busca e a de Cauchy. Por outro lado, se
1
Hk = 2 f (xk ) , temos a direcao de Newton.
Veremos adiante duas maneiras classicas de atualizar a matriz Hk de modo que ao
longo das iteracoes as matrizes obtidas se aproximem da inversa de 2 f (x ). O objetivo
e utilizar informacoes de primeira ordem para obter a Hessiana de f .
Para entender uma condicao que sera imposta sobre as matrizes e instrutivo
analisar o que ocorre no caso quadratico. Considere entao
1
f (x) = xT Ax + bT x + c,
2

(5.34)

Metodos para Otimizacao Irrestrita

87

com A IRnn definida positiva, b IRn e c IR. Dados xk , xk+1 IRn e definindo
pk = xk+1 xk , temos
f (xk+1 ) = f (xk ) + Apk ,
(5.35)
que pode ser escrito como
q k = Apk ,

(5.36)

onde q k = f (xk+1 ) f (xk ).


Assim, se obtemos x0 , x1 , . . . , xn , de modo que os passos p0 , p1 , . . . , pn1 sejam
linearmente independentes e conhecemos os gradientes f (x0 ), f (x1 ), . . . , f (xn ), entao
a matriz A fica unicamente determinada, isto e, se uma matriz H satisfaz
Hq j = pj ,

(5.37)

para todo j = 0, 1, . . . , n 1, entao H = A1 . De fato, escrevendo P = (p0 p1 . . . pn1 )


e Q = (q 0 q 1 . . . q n1 ), temos por (5.36) e (5.37),
HAP = HQ = P,
donde segue que HA = I.
Em vista da relacao (5.37) vamos impor que a matriz Hk+1 , a ser determinada
no Algoritmo 5.5, satisfaca a condicao
Hk+1 q j = pj ,

(5.38)

para todo j = 0, 1, . . . , k.

5.4.2

O m
etodo DFP

Uma das formas mais conhecidas para a obtencao da matriz Hk+1 foi proposta
por Davidon, Fletcher e Powell. O metodo, referenciado como DFP, considera correcoes
de posto 2 e tem varias propriedades desejaveis, dentre as quais a positividade, o cumprimento da relacao (5.38) e o fato de gerar direcoes conjugadas, como provaremos adiante.
A formula para a nova matriz e dada por
Hk+1 = Hk +

Hk q k (q k )T Hk
pk (pk )T

.
(pk )T q k
(q k )T Hk q k

(5.39)

Note que Hk+1 e obtida a partir de Hk pela soma de duas matrizes de posto 1. O Exerccio
5.18 ajuda a entender como obter esta expressao.
Vamos agora apresentar as principais propriedades desta matriz. Naturalmente,
a primeira coisa que devemos verificar e que a formula esta bem definida, ou seja, que os
denominadores nao se anulam.

Metodos para Otimizacao Irrestrita

88

Lema 5.30 Suponha que no Algoritmo 5.5 o tamanho do passo tk e obtido por uma
minimizacao local de f (xk + tdk ) e que Hk e definida positiva. Entao,
(pk )T q k > 0 e (q k )T Hk q k > 0.
Alem disso, Hk+1 calculada por (5.39) e definida positiva.
Demonstracao. Como tk > 0 e minimizador local de (t) = f (xk + tdk ), temos
f (xk+1 )T pk = tk f (xk+1 )T dk = tk 0 (tk ) = 0.
Portanto,

(pk )T q k = (pk )T f (xk+1 ) f (xk ) = tk f (xk )T Hk f (xk ) > 0,

(5.40)

pois Hk e definida positiva e f (xk ) 6= 0. Em particular, temos q k 6= 0, donde segue que


(q k )T Hk q k > 0. Para provar que Hk+1 e definida positiva note que, dado y IRn \ {0},
y T Hk+1 y = y T Hk y +

(y T pk )2 (y T Hk q k )2

.
(pk )T q k (q k )T Hk q k

Pelo Lema 1.48, existe Q IRnn tal que Hk = QQT . Fazendo u = QT y e v = QT q k ,


temos que
uT u = y T Hk y , v T v = (q k )T Hk q k e uT v = y T Hk q k .
Desta forma, usando a desigualdade de Cauchy-Schwarz e (5.40), podemos concluir que
(uT u)(v T v) (uT v)2 (y T pk )2
y Hk+1 y =
+ k T k 0.
vT v
(p ) q
T

Resta verificar que esta soma nao se anula. De fato, se a primeira parcela e nula, entao
existe 6= 0 tal que u = v, o que equivale a y = q k . Assim,
y T pk = (pk )T q k 6= 0,
completando a demonstracao.
O Lema 5.30 e valido para funcoes gerais, nao necessariamente quadraticas. No
entanto, no caso quadratico podemos provar tambem que a atualizacao pelo metodo DFP
tem outras propriedades interessantes.
Teorema 5.31 Suponha que o Algoritmo 5.5 e aplicado para minimizar a funcao quadratica dada em (5.34), com tk obtido por uma minimizacao local de f (xk + tdk ) e Hk+1
calculada por (5.39). Entao, para todo j = 0, 1, . . . , k,
(i) Hk+1 q j = pj ;

Metodos para Otimizacao Irrestrita

89

(ii) f (xk+1 )T dj = 0;
(iii) (dk+1 )T Adj = 0;
(iv) (pk+1 )T q j = (q k+1 )T pj = 0.
Demonstracao. Vamos provar por inducao em k. Para k = 0, temos
H1 q 0 = H0 q 0 +

p0 (p0 )T 0 H0 q 0 (q 0 )T H0 0
q
q = p0 .
(p0 )T q 0
(q 0 )T H0 q 0

Como t0 > 0 e minimizador local de (t) = f (x0 + td0 ), temos f (x1 )T d0 = 0 (t0 ) = 0.
Usando (5.36) e o que acabamos de provar, obtemos
t0 (d1 )T Ad0 = (d1 )T Ap0 = f (x1 )T H1 q 0 = t0 f (x1 )T d0 = 0.
Au
ltima afirmacao tambem segue de (5.36). De fato,
(p1 )T q 0 = (q 1 )T p0 = (p1 )T Ap0 = t1 t0 (d1 )T Ad0 = 0.
Supondo agora que o teorema e valido para k 1, vamos provar que vale para k. Para
j = k, a verificacao das afirmacoes e feita exatamente como fizemos no caso k = 0,
substituindo 0 e 1 por k e k + 1, respectivamente. Considere entao j k 1. Pela
hipotese de inducao,
Hk q j = pj , (pk )T q j = 0 e (q k )T Hk q j = (q k )T pj = 0.
Portanto,
Hk+1 q j = Hk q j +

pk (pk )T j Hk q k (q k )T Hk j
q
q = pj ,
k
T
k
k
T
k
(p ) q
(q ) Hk q

provando (i). Usando a relacao (5.35) e a hipotese de inducao, obtemos


f (xk+1 )T dj = f (xk ) + Apk

T

dj = f (xk )T dj + tk (dk )T Adj = 0,

o que prova (ii). Para provar (iii) basta usar (5.36) e o que acabamos de provar, obtendo
tj (dk+1 )T Adj = (dk+1 )T Apj = f (xk+1 )T Hk+1 q j = tj f (xk+1 )T dj = 0.
Novamente por (5.36), temos
(pk+1 )T q j = (q k+1 )T pj = (pk+1 )T Apj = tk+1 tj (dk+1 )T Adj = 0,
provando (iv) e completando a demonstracao.
Podemos concluir do Teorema 5.31 que o metodo DFP termina em no maximo

Metodos para Otimizacao Irrestrita

90

n passos, caso em que as direcoes d0 , d1 , . . . , dn1 sao A-conjugadas, o mesmo valendo


para p0 , p1 , . . . , pn1 . Alem disso, como Hn satisfaz (5.37), temos que Hn = A1 . Outras
propriedades do metodo DFP estao propostas nos Exerccios 5.19 a 5.21.

5.4.3

O m
etodo BFGS

Outro modo classico para atualizar as matrizes no Algoritmo 5.5 e devido a


Broyden, Fletcher, Goldfarb e Shanno (BFGS) e tambem tem boas propriedades teoricas
como o metodo DFP. Alem disso o desempenho computacional do metodo BFGS e superior
ao DFP, razao pela qual ele e amplamente utilizado em implementacoes de algoritmos para
problemas de grande porte.
A ideia tem uma certa simetria com a do metodo DFP. Consiste em olhar para
a relacao (5.38), mas pensando em uma aproximacao para a Hessiana, ao inves da sua
inversa. Desta forma, motivados por (5.36), procuramos uma matriz Bk+1 tal que
Bk+1 pj = q j ,

(5.41)

para todo j = 0, 1, . . . , k.
Para simplificar a notacao e entender melhor como obter a nova matriz, vamos
suprimir os ndices dos elementos envolvidos. Desta forma, considere B IRnn definida
positiva e p, q IRn tais que pT q > 0. Queremos obter B+ IRnn por uma correcao
simetrica de posto 2 na matriz B, de modo que B+ p = q. Para isto, devem existir escalares
a, b IR e vetores u, v IRn tais que
q = B+ p = (B + auuT + bvv t )p = Bp + a(uT p)u + b(v t p)v.
Uma possvel escolha para satisfazer esta condicao e
a(uT p)u = q

e b(v t p)v = Bp.

Multiplicando por pT , obtemos a(uT p)2 = pT q e b(v t p)2 = pT Bp. Assim, considerando
a = 1 e b = 1, temos que
u=

q
p
=
uT p
pT q
q

e v=

Bp
Bp
p
=
.
vT p
pT Bp

Portanto,
B+ = B + auuT + bvv t = B +

qq T
BppT B

.
pT q
pT Bp

(5.42)

Note a relacao desta formula com a obtida por DFP. Uma segue da outra trocando os
papeis de B e H, bem como de p e q.
O metodo BFGS consiste em escolher a nova H como a inversa de B+ . Isto pode

Metodos para Otimizacao Irrestrita

91

ser feito com auxlio da formula de Sherman-Morrison (veja o Exerccio 1.22), a saber
(Q + uv T )1 = Q1

Q1 uv T Q1
.
1 + v T Q1 u

Aplicando esta formula em (5.42), cujos detalhes sao deixados para o Exerccio 5.22, e
voltando com os ndices, obtemos
BF GS
Hk+1



(q k )T Hk q k pk (pk )T
pk (q k )T Hk + Hk q k (pk )T
= Hk + 1 +

,
(pk )T q k
(pk )T q k
(pk )T q k

(5.43)

onde Hk = Bk1 .
Apresentamos a seguir algumas propriedades do metodo BFGS, dentre as quais
a positividade. Alem disso, no caso quadratico temos terminacao finita como ocorre com
o metodo DFP.
Lema 5.32 Suponha que no Algoritmo 5.5 o tamanho do passo tk e obtido por uma
minimizacao local de f (xk + tdk ) e que Hk e definida positiva. Entao (pk )T q k > 0 e
BF GS
Hk+1
e definida positiva.
Demonstracao. A prova de que (pk )T q k > 0 e exatamente a mesma feita no Lema 5.30.
1
BF GS
Para verificar a positividade, note que Hk+1
= Bk+1
, onde
Bk+1 = Bk +

Bk pk (pk )T Bk
q k (q k )T

(pk )T q k
(pk )T Bk pk

e Bk = Hk1 . Assim, trocando H por B e p por q na prova do Lema 5.30, podemos


BF GS
concluir que Hk+1
e definida positiva, completando a demonstracao.
Teorema 5.33 Suponha que o Algoritmo 5.5 e aplicado para minimizar a funcao quadr
aBF GS
tica dada em (5.34), com tk obtido pela busca exata e Hk+1
calculada por (5.43). Ent
ao,
para todo j = 0, 1, . . . , k,
BF GS j
(i) Hk+1
q = pj ;

(ii) f (xk+1 )T dj = 0;
(iii) (dk+1 )T Adj = 0;
(iv) (pk+1 )T q j = (q k+1 )T pj = 0.
Demonstracao. A prova segue exatamente as mesmas ideias usadas no Teorema 5.31,
1
BF GS
levando em conta que Hk+1
= Bk+1
, onde
Bk+1
e Bk = Hk1 .

q k (q k )T
Bk pk (pk )T Bk
= Bk + k T k
(p ) q
(pk )T Bk pk

Metodos para Otimizacao Irrestrita

5.5

92

M
etodo de regi
ao de confian
ca

O metodo de regiao de confianca define um modelo da funcao objetivo e uma


regiao em torno do ponto corrente na qual confiamos no modelo. Calculamos entao, um
minimizador aproximado do modelo na regiao de confianca. Caso este ponto forneca uma
reducao razoavel no valor da funcao objetivo ele e aceito e repete-se o processo. Caso
contrario, pode ser que o modelo nao represente adequadamente a funcao. Neste caso, o
ponto e recusado e o tamanho da regiao e reduzido para encontrar um novo minimizador.
Em geral, a direcao do passo pode mudar quando o tamanho da regiao e alterado. Isto
significa que a filosofia deste metodo e diferente da que aparece nos metodos discutidos
anteriormente. A ideia ate entao era fixar uma direcao e, em seguida, determinar quanto
caminhar nesta direcao para reduzir a funcao objetivo. Agora, dizemos primeiro quanto
podemos caminhar e depois calculamos a direcao.
Vamos considerar uma funcao f : IRn IR de classe C 2 e, dado um ponto
xk IRn , o modelo quadratico de f em torno de xk definido por
1
qk (x) = f (xk ) + f (xk )T (x xk ) + (x xk )T Bk (x xk ),
2
onde Bk IRnn pode ser a Hessiana 2 f (xk ) ou qualquer outra matriz simetrica que
satisfaca kBk k , para alguma constante > 0, independente de k IN.
O modelo definido acima aproxima bem a funcao f numa vizinhanca de xk .
Vamos portanto considerar k > 0 e a regiao



x IRn | kx xk k k ,

em que confiamos no modelo. Para simplificar a notacao, considere


d = x xk

e mk (d) = qk (xk + d).

Na primeira etapa do metodo, resolvemos (possivelmente de forma aproximada) o subproblema


1
minimizar mk (d) = f (xk ) + f (xk )T d + dT Bk d
(5.44)
2
sujeito a kdk k ,
obtendo um passo dk . A outra etapa consiste em avaliar o passo. Esperamos que o ponto
xk + dk proporcione uma reducao na funcao objetivo que seja no mnimo uma fracao da
reducao do modelo. Para formalizar este conceito definimos a reducao real na funcao
objetivo e a reducao predita pelo modelo como
ared = f (xk ) f (xk + dk ) e pred = mk (0) mk (dk ).
Se o ponto xk nao for estacionario, entao mk (0) 6= 0 e portanto a reducao predita sera

Metodos para Otimizacao Irrestrita

93

positiva. Desta forma, podemos considerar a seguinte razao, que sera usada na avaliacao
do passo.
ared
.
(5.45)
k =
pred
O passo dk sera aceito quando a razao k for maior que uma constante 0 dada.
Neste caso, definimos xk+1 = xk + dk e repetimos o processo. Caso contrario, recusamos
o passo dk , reduzimos o raio k e resolvemos o subproblema (5.44) com o novo raio. A
Figura 5.7 ilustra um passo do metodo de regiao de confianca. Note que no grafico da
direita o minimizador irrestrito do modelo esta na regiao de confianca. Neste caso, se
Bk = 2 f (xk ), entao o passo de regiao de confianca e exatamente o passo de Newton.

xk+1
xk+1

xk

xk
Figura 5.7: Uma iteracao do metodo de regiao de confianca.

5.5.1

Algoritmo

Vamos agora formalizar a discussao anterior no seguinte algoritmo, que se baseia


no proposto em [39]. Tambem consideramos importante citar [6], uma referencia moderna
sobre metodos de regiao de confianca.
Algoritmo 5.6 Regiao de confianca
> 0, 0 (0, )
e [0, 1 )
Dados: x0 IRn ,
4
k=0
repita enquanto f (xk ) 6= 0
Obtenha dk , solucao aproximada de (5.44)
Calcule k usando (5.45)
se k >
xk+1 = xk + dk
o
sena
xk+1 = xk

Metodos para Otimizacao Irrestrita

94

1
4
k
k+1 =
2
o
sena
3
se k > e kdk k = k
4


k+1 = min 2k ,
o
sena
k+1 = k
k =k+1
se k <

Note que aumentamos o raio da regiao de confianca quando a reducao da funcao


objetivo e grande e o passo dk esta na fronteira da regiao de confianca. Se o passo
fica estritamente dentro da regiao, podemos inferir que o raio atual k nao interfere no
progresso do algoritmo e podemos deixar inalterado o seu valor para a proxima iteracao.

5.5.2

O passo de Cauchy

Vamos discutir agora como obter uma solucao aproximada do subproblema (5.44)
que seja suficiente para garantir a convergencia global do Algoritmo 5.6. Isto e importante
pois muitas vezes nao conseguimos resolver o subproblema de forma exata. O passo de
Cauchy, que definiremos abaixo, fornece uma reducao no modelo que nos permite provar
a convergencia do algoritmo.
Para facilitar o desenvolvimento, vamos denotar gk = f (xk ). Definimos o passo
de Cauchy como sendo o minimizador de mk ao longo da direcao oposta ao gradiente,
sujeito `a regiao de confianca, isto e,
dkc = tk gk ,

(5.46)

1
minimizar mk (tgk ) = f (xk ) tkgk k2 + t2 gkT Bk gk
2
sujeito a ktgk k k .

(5.47)

onde tk > 0 e solucao do problema

A Figura 5.8 mostra o ponto de Cauchy em uma iteracao k. Nesta figura, as elipses
representam as curvas de nvel do modelo mk . A area hachurada corresponde ao conjunto
de pontos que satisfazem a relacao
pred mk (0) mk (dkc ).

(5.48)

Esta condicao sera a base de uma das hipoteses na analise de convergencia, isto e, vamos
supor que a solucao aproximada do subproblema (5.44) forneca uma reducao de pelo
menos uma fracao da reducao obtida pelo passo de Cauchy.

Metodos para Otimizacao Irrestrita

95

x kc
xk

Figura 5.8: O ponto de Cauchy e pontos melhores.


Vamos agora fazer uma estimativa da reducao do modelo no passo de Cauchy.
Lema 5.34 O passo de Cauchy, definido em (5.46), satisfaz
mk (0)

mk (dkc )



kgk k
1
.
kgk k min k ,
2
kBk k

Demonstracao. Primeiramente, vamos obter tk , solucao do problema (5.47), isto e, o


minimizador da funcao quadratica
1
(t) = f (xk ) tkgk k2 + t2 gkT Bk gk
2
k
. Para isto considere dois casos: gkT Bk gk > 0 e gkT Bk gk 0.
kgk k
(i) Se gkT Bk gk > 0, entao a funcao e convexa (veja a Figura 5.9) e tem minimizador irrestrito
kgk k2
t = T
.
(5.49)
gk Bk gk
no intervalo 0 t

Dois subcasos podem ocorrer. O primeiro e quando t


e portanto
mk (0) mk (dkc ) =

k
. Neste caso temos tk = t
kgk k

1 kgk k4
.
2 gkT Bk gk

Usando a desigualdade de Cauchy-Schwarz, obtemos


mk (0) mk (dkc )

1 kgk k2
.
2 kBk k

(5.50)

k
, o que implica que o minimizador de esta na
kgk k
fronteira. Assim, usando (5.49), obtemos

No segundo subcaso temos t >

tk =

k
kgk k2
< T
,
kgk k
gk Bk gk

(5.51)

Metodos para Otimizacao Irrestrita

96

implicando em
t2k gkT Bk gk < tk kgk k2 = kgk kk .
Portanto,
1
1
mk (dkc ) < f (xk ) kgk kk + kgk kk = f (xk ) kgk kk ,
2
2
donde segue que
1
mk (0) mk (dkc ) > kgk kk .
2

(5.52)

(ii) Agora o caso em que gkT Bk gk 0, fornecendo


1
mk (dkc ) = f (xk ) tk kgk k2 + t2k gkT Bk gk f (xk ) tk kgk k2 .
2

(5.53)

Neste caso, a funcao e decrescente para t 0 (veja a Figura 5.9) e assim o ponto de
k
Cauchy tambem esta na fronteira da regiao de confianca, ou seja, tk =
. Portanto,
kgk k
por (5.53),
1
(5.54)
mk (0) mk (dkc ) kgk kk kgk kk .
2
De (5.50), (5.52) e (5.54) segue que
mk (0)

mk (dkc )



1
kgk k
kgk k min k ,
,
2
kBk k

o que demonstra o resultado.

t*

t*
g

Figura 5.9: A funcao .

5.5.3

Converg
encia

Para estabelecer a convergencia do metodo de regiao de confianca vamos supor


que o Algoritmo 5.6 gera uma sequencia infinita (xk ) em IRn e que sao satisfeitas as
seguintes hipoteses.
H1 A funcao objetivo f e de classe C 1 , com f Lipschitz.

Metodos para Otimizacao Irrestrita

97

H2 A solucao aproximada dk de (5.44) satisfaz




kf (xk )k
,
pred = mk (0) mk (d ) c1 kf (x )k min k ,
kBk k
k

onde c1 (0, 1) e uma constante.


H3 O passo dk satisfaz kdk k k , para alguma constante 1.
H4 A funcao f e limitada inferiormente no conjunto de nvel


N = x IRn | f (x) f (x0 ) .
H5 As Hessianas Bk sao uniformemente limitadas, isto e, que existe uma constante
> 0 tal que kBk k para todo k IN.
As Hipoteses H1, H4 e H5 sao comuns em analise de convergencia. Em vista
do Lema 5.34, a Hipotese H2 significa obter um passo cuja reducao no modelo seja uma
fracao da reducao proporcionada pelo passo de Cauchy. A condicao assumida em H3
significa que o passo pode exceder a regiao de confianca, contanto que permaneca dentro
de algum m
ultiplo fixo do raio.
O primeiro resultado nos da uma estimativa da razao k , definida em (5.45).
Lema 5.35 Suponha que sejam satisfeitas as Hipoteses H1-H5. Entao existe uma constante c > 0 tal que
|k 1|

c2k

.
kf (xk )k
k
kf (x )k min k ,

Demonstracao. Pelo teorema do valor medio, existe k (0, 1) tal que


f (xk + dk ) = f (xk ) + f (xk + k dk )T dk .
Portanto,
T
1
ared pred = (dk )T Bk dk f (xk + k dk ) f (xk ) dk ,
2
Usando o fato de que f e Lipschitz e a desigualdade de Cauchy-Schwarz, podemos
concluir que existe c0 > 0 tal que
|ared pred| c0 2k .

Metodos para Otimizacao Irrestrita

98

Assim,


ared pred

|k 1| =

pred

c0 2k

,
k
kf
(x
)k
c1 kf (xk )k min k ,

c0
.
c1
Uma consequencia importante do Lema 5.35 e que o Algoritmo 5.6 esta bem
definido. De fato, apos uma quantidade finita de insucessos, teremos
provando o lema para c =


k min

kf (xk )k kf (xk )k
,

2c


.

Portanto, pelo Lema 5.35,


|k 1|

ck
1
.
k
kf (x )k
2

1
1
> e, pelo Algoritmo 5.6, o passo sera aceito.
2
4
O proximo teorema ja nos permite concluir algo sobre convergencia, a saber, que
se a sequencia (xk ) for limitada, entao ela possui um ponto de acumulacao estacionario.
Assim, k

Teorema 5.36 Suponha que sejam satisfeitas as Hipoteses H1-H5. Entao


lim inf kf (xk )k = 0.
k

Demonstracao. Suponha por absurdo que isto seja falso.


ao existe > 0 tal que
 Ent


= min
kf (xk )k , para todo k IN. Considere
,
, onde e a constante
2c
entao
dada em H5 e c e definida no Lema 5.35. Se k ,
k

kf (xk )k

e k

.
2c

Portanto, pelo Lema 5.35,


|k 1|

ck
1
.

1
1
> e pelo Algoritmo 5.6 temos k+1 k . Isto significa que o raio e
2
4

caso em que k+1 = k > . Podemos entao concluir que


reduzido somente se k > ,
2
2
(
)

k min 0 ,
,
(5.55)
2
Assim, k

para todo k IN. Considere agora o conjunto




1
K = k IN | k
.
4

Metodos para Otimizacao Irrestrita

99

Dado k K, pelo mecanismo do Algoritmo 5.6 e pela Hipotese H2 temos


f (xk ) f (xk+1 ) = f (xk ) f (xk + dk )

1

mk (0) mk (dk )
4


1

c1 min k ,
.
4

Em vista de (5.55), temos que existe uma constante > 0 tal que

f (xk ) f (xk+1 ) ,

(5.56)

para todo k K. Por outro lado, a sequencia (f (xk )) e nao crescente e, por H4, limitada
inferiormente, donde segue que f (xk ) f (xk+1 ) 0. Portanto, de (5.56), podemos
1
concluir que o conjunto K e finito. Assim, k < , para todo k IN suficientemente
4
grande e entao k sera reduzido a` metade em cada iteracao. Isto implica k 0, o que
contradiz (5.55). Deste modo, a afirmacao no teorema e verdadeira.
O resultado de convergencia estabelecido no Teorema 5.36 pode tambem ser obtido com uma hipotese mais fraca que H1. Nos Exerccios 5.23 e 5.24 trocamos a condicao
de Lipschitz de f pela continuidade uniforme.
Finalmente, podemos provar a convergencia global do metodo de regiao de confianca. Salientamos que no Algoritmo 5.6, podemos considerar = 0 e entao qualquer
decrescimo na funcao objetivo e aceito. Com isso pudemos provar o Teorema 5.36, que e
uma versao fraca de convergencia global. Para o proximo teorema, vamos exigir > 0 e
provar um resultado mais forte.
Teorema 5.37 Suponha que sejam satisfeitas as Hipoteses H1-H5 e que > 0 no Algoritmo 5.6. Entao
f (xk ) 0.
Demonstracao. Suponha por absurdo que para algum > 0 o conjunto


K = k IN | kf (xk )k

seja infinito. Dado k K, considere o primeiro ndice lk > k tal que kf (xlk )k . A
2
existencia de lk e assegurada pelo Teorema 5.36. Como f e Lipschitz, temos

kf (xk ) f (xlk )k Lkxk xlk k,


2
para alguma constante L > 0. Portanto, usando a Hipotese H3,
X
X

kxk xlk k
kxj xj+1 k
j ,
2L
jS
jS
k

(5.57)

Metodos para Otimizacao Irrestrita

100

onde Sk = {j IN | k j < lk e xj+1 6= xj }. Pelo mecanismo do Algoritmo 5.6, Hipoteses


H2 e H5, mais a definicao de lk , temos
f (xk ) f (xlk ) =


f (xj ) f (xj+1 )

jS
Xk


mj (0) mj (dj )
jSk


X

c1 min j ,
.
2
2
jS
>

Definindo = min

c1 2 c1 2
,
4L 4


e usando (5.57), obtemos
f (xk ) f (xlk ) > 0,

(5.58)

para todo k K. Por outro lado, a sequencia (f (xk )) e nao crescente e, por H4, limitada
inferiormente, donde segue que f (xk ) f (xlk ) 0, contradizendo (5.58). Deste modo, a
afirmacao no teorema e verdadeira.
Uma consequencia imediata do Teorema 5.37 e que todo ponto de acumulacao
IN0
de uma sequencia gerada pelo Algoritmo 5.6 e estacionario. De fato, se xk x, entao a
IN0
continuidade de f garante que f (xk ) f (
x). Por outro lado, pelo Teorema 5.37,
temos f (xk ) 0. Assim, f (
x) = 0.

5.5.4

O m
etodo dogleg

Como vimos, o passo de Cauchy ja e suficiente para provar a convergencia global


do Algoritmo 5.6. No entanto, podemos acelerar o metodo obtendo uma solucao aproximada do subproblema (5.44) que seja melhor que a de Cauchy. Uma forma e dada pelo
metodo dogleg, que cumpre tal objetivo, obtendo inclusive o ponto de Newton, caso ele
esteja dentro da bola.
Este metodo se aplica quando a Hessiana do modelo e definida positiva. Consiste
em minimizar o modelo, sujeito `a regiao de confianca, na poligonal que liga os pontos xk ,
xku e xkN , sendo xk o ponto corrente, xku o minimizador do modelo na direcao oposta ao
gradiente e xkN o minimizador irrestrito do modelo, isto e, o ponto de Newton. Na Figura
5.10 ilustramos duas situacoes. Uma em que xku esta na bola e outra quando xku esta fora.
O ponto obtido pelo metodo dogleg e indicado por xkd . Tambem esta representado o ponto
xk , minimizador global do modelo na bola.
A Figura 5.11 mostra a trajetoria do ponto dogleg, xkd , bem como dos pontos
xk = xk + dk , onde dk e a solucao exata do subproblema (5.44), ambas como funcao do
raio da regiao de confianca.
O metodo dogleg pode ser formalizado no seguinte algoritmo, no qual utilizamos
a notacao gk = f (xk ).

Metodos para Otimizacao Irrestrita

k
x ku x d

xk

101

xNk
x ku

xk

xkd

xNk
xk

xk

Figura 5.10: O metodo dogleg.

Figura 5.11: Trajetorias do ponto dogleg e minimizador exato do modelo na bola.


Algoritmo 5.7 Dogleg
Dados: xk IRn , k > 0
g T gk
Calcule dku = T k
gk
gk Bk gk
se kdku k > k
k
dk =
gk
kgk k
o
sena
Determine dkN tal que Bk dkN = gk
se kdkN k k
dk = dkN
o
sena
Determine k [0, 1] tal que kdku + k (dkN dku )k = k
dk = dku + k (dkN dku )
Com as notacoes da Figura 5.10 e do Algoritmo 5.7, temos
xku = xk + dku

xkN = xk + dkN

e xkd = xk + dk .

Para verificar que este metodo esta bem definido, vamos mostrar agora que o
modelo decresce ao longo da poligonal e que a distancia ao ponto corrente cresce quando
caminhamos na poligonal, saindo de xk indo para xkN . Isto significa que esta poligonal
cruza a fronteira da bola no maximo uma vez, justamente no ponto dogleg. Se o raio

Metodos para Otimizacao Irrestrita

102

for suficientemente grande, a poligonal estara inteiramente contida na bola, e neste caso,
teremos xkd = xkN . Como as afirmacoes se referem a uma iteracao fixada, vamos simplificar
a notacao, suprimindo o ndice k.
Lema 5.38 Sejam B IRnn uma matriz definida positiva e g IRn . Considere a
quadratica
1
m(d) = g T d + dT Bd
2
e os minimizadores de m,
a=

gT g
g
g T Bg

e b = B 1 g,

ao longo de g e irrestrito, respectivamente. Entao,


(i) O modelo e nao crescente ao longo da poligonal [0, a] [a, b];
(ii) A funcao d [0, a] [a, b] kdk2 e crescente.
Demonstracao. (i) Para o trecho [0, a] a afirmacao segue diretamente da definicao de a.

Vejamos entao que (t) = m a + t(b a) e nao crescente. Temos
0 (t) = m a + t(b a)

T



T
(b a) = B a + t(b a) + g (b a).

Usando o fato de que b = B 1 g, obtemos


0 (t) = (1 t)(Ba + g)T (b a).

(5.59)

Substituindo as expressoes de a e b, segue que


gT g T
gT g T
(g T g)2
gT g T
(Ba) (b a) = T
g Bb + T
g Ba = T
T
g B
g Bg
g Bg
g Bg
g Bg
T

e
g T (b a) = g T B 1 g +

gT g
g
g T Bg


=0

(g T g)2 (g T Bg)(g T B 1 g)
(g T g)2
=
.
g T Bg
g T Bg

Portanto, de (5.59) e do Lema 1.48, podemos concluir que 0 (t) 0, para t 1. Isto
implica, em particular, que m e nao crescente no trecho [a, b].
(ii) No trecho [0, a] a afirmacao e imediata. Vamos entao provar que (t) = ka + t(b a)k22
e crescente. Note primeiro que

0 (t) = 2 aT (b a) + tkb ak22 .
Pelo Lema 1.48, temos que
T

a (b a) =

gT g
g T Bg

(g T Bg)(g T B 1 g) (g T g)2
0,
g T Bg

Metodos para Otimizacao Irrestrita

103

o que implica que 0 (t) 0, para todo t 0. Portanto, e nao decrescente. Finalmente,
usando Lema 3.4, podemos concluir que e estritamente crescente.

5.5.5

O m
etodo GC-Steihaug

O metodo dogleg e vantajoso para dimensoes nao muito grandes e quando a


Hessiana do modelo e definida positiva. Para situacoes em que estas hipoteses nao sao
satisfeitas, podemos aplicar um metodo baseado em gradientes conjugados proposto por
Steihaug [47], que tambem nos fornece uma solucao aproximada do subproblema (5.44).
Apresentamos a seguir o algoritmo GC-Steihaug, que se baseia no proposto em [6],
e encontra um ponto pelo menos tao bom quanto o de Cauchy. Aqui tambem simplificamos
a notacao, suprimindo o ndice k. Desta forma, vamos resolver o problema quadratico
1
minimizar m(d) = g T d + dT Bd
2
sujeito a kdk ,
obtendo um passo dk para ser avaliado no Algoritmo 5.6.
Algoritmo 5.8 GC-Steihaug
Dados: d0s = 0, r0 = g, p0 = r0
j=0
repita enquanto o passo dk nao for obtido
se (pj )T Bpj 0
Calcule t IR tal que d = djs + tpj minimiza m e kdk =
Faca dk = d
o
sena
(rj )T rj
Calcule tj = j T j
(p ) Bp
j+1
Defina ds = djs + tj pj
se kdj+1
s k
Calcule t IR tal que d = djs + tpj satisfaz kdk =
Faca dk = d
o
sena
rj+1 = rj + tj Bpj
se rj+1 = 0
Faca dk = dj+1
s
o
sena
(rj+1 )T rj+1
j =
(rj )T rj
pj+1 = rj+1 + j pj
j =j+1

(5.60)

Metodos para Otimizacao Irrestrita

5.6

104

Exerccios do captulo

Alguns dos exerccios propostos abaixo foram tirados ou reformulados a partir


daqueles apresentados em [13, Captulo 6]. Indicaremos, quando for o caso, o exerccio
correspondente desta referencia.
5.1. [13, Exerc. 6.1] Seja f : IRn R, diferenciavel em x e sejam d1 , ..., dn IRn vetores
linearmente independentes. Suponha que o mnimo de f (
x + tdj ) com t IR ocorra em
t = 0 para cada j = 1, ..., n. Prove que f (
x) = 0. Isso implica que f tem um mnimo
local em x?
5.2. [13, Exerc. 6.3] Seja f : IRn R, f C 1 . Defina xk+1 = xk tk f (xk ), onde
tk t > 0 para todo k IN. Suponha que xk x. Prove que f (
x) = 0.
5.3. Mostre que o metodo do gradiente com busca de Armijo pode nao convergir se o
tamanho do passo for obtido apenas satisfazendo a relacao (4.4), ao inves da utilizacao
do Algoritmo 4.3.
5.4. [13, Exerc. 6.6] Desenhe as curvas de nvel da funcao f (x) = x21 + 4x22 4x1 8x2 .
Encontre o ponto x que minimiza f . Prove que o metodo do gradiente, aplicado a partir
de x0 = 0 nao pode convergir para x em um n
umero finito de passos, se usarmos busca
0
linear exata. Ha algum ponto x para o qual o metodo converge em um n
umero finito de
passos?
1
5.5. [13, Exerc. 6.8] Seja f : IRn IR dada por f (x) = xT Ax+bT x+c, onde A IRnn
2
e uma matriz definida positiva, b IRn e c IR. Prove que se ao aplicarmos o metodo
do gradiente a partir de um certo x0 , com f (x0 ) 6= 0, encontramos a solucao em uma
iteracao, entao v = x1 x0 e um autovetor da Hessiana. Reveja o Exerccio 4.4.
1
5.6. Considere h : IRn IR dada por h(x) = xT Ax + bT x + c, onde A IRnn e uma
2
matriz definida positiva, b IRn e c IR. Sejam x o minimizador de h,
1
f (x) = h(x + x ) h(x ) = xT Ax
2
e (xk ) a sequencia gerada pelo metodo do gradiente com busca exata aplicado em f .
Defina y k = xk + x . Mostre que o metodo do gradiente com busca exata aplicado em h,
a partir de y 0 , gera justamente a sequencia (y k ).
5.7. Suponha que o metodo do gradiente com busca exata e aplicado para minimizar a
funcao f (x) = 5x21 + 5x22 x1 x2 11x1 + 11x2 + 11.
(a) Qual a taxa de convergencia em kxk x k?
(b) E em |f (xk ) f (x )|?

Metodos para Otimizacao Irrestrita

105

(c) Se x0 = 0, quantas iteracoes sao necessarias para se obter uma precisao de 106 no
valor otimo de f ?
1
1
1
5.8. Considere f (x) = x21 + x42 x22 .
2
4
2
(a) Determine e classifique os pontos estacionarios de f ;
!
1
(b) A partir de x0 =
faca uma iteracao do metodo do gradiente;
0
(c) Discuta a possvel convergencia da sequencia (xk ), gerada pelo metodo do gradiente
a partir do ponto x0 dado no item anterior.
5.9. Considere um n
umero real a > 0. Mostre que o metodo de Newton para resolver a
2
equacao x a = 0 e dado por
x

k+1

a
1 k
x + k .
=
2
x

Faca tres iteracoes deste metodo para calcular uma aproximacao para
x0 = 2.

5, iniciando com

5.10. A Figura 5.12 ilustra uma situacao na qual o metodo de Newton (para equacoes)
pode falhar. A funcao e dada por f (x) = x4 x2 . Determine quais devem ser os pontos
iniciais para que isto aconteca.

Figura 5.12: O metodo de Newton pode falhar.

5.11. [13, Exerc. 6.9] Seja f (x) = 12 (x21 x2 )2 + 21 (1 x1 )2 . Qual e o minimizador


! de f ?
2
um
. E
Faca uma iteracao do metodo de Newton para minimizar f a partir de x0 =
2
0
1
bom passo? Antes de decidir, calcule f (x ) e f (x ).
5.12. Sejam A IRnn uma matriz simetrica e u, v IRn autovetores de A, associados
a autovalores distintos. Mostre que u e v sao A-conjugados.

Metodos para Otimizacao Irrestrita

106

1 T
x Ax + bT x + c, onde A IRnn e
2
uma matriz definida positiva, b IRn e c IR. Seja S IRnr uma matriz cujas colunas
sao linearmente independentes. Dado x IRn , mostre que o minimizador da funcao
quadratica f na variedade afim V = {
x + S | IRr } e dado por
5.13. Considere f : IRn IR dada por f (x) =

x+ = x S(S T AS)1 S T f (
x).
Alem disso, S T f (x+ ) = 0.
5.14. Considere S IRnr , a variedade afim V = {
x + S | IRr } e x V . Mostre
que {
x + S | IRr } = V .
5.15. Considere a funcao f definida no Exerccio 5.13, {d0 , d1 , . . . , dn1 } uma base de
IRn e Sk IRn(k+1) a matriz cujas colunas sao os vetores d0 , d1 , . . . , dk . Dado x0 IRn ,
sabemos, pelo Exerccio 5.13, que o ponto
xk+1 = x0 Sk (SkT ASk )1 SkT f (x0 )
e o minimizador de f na variedade afim x0 + [d0 , d1 , . . . , dk ] (em particular, xn minimiza
f em IRn ). Mostre que
xk+1 = xk Sk (SkT ASk )1 SkT f (xk )
e SkT f (xk ) =

!
0
.
(dk )T f (xk )

5.16. Considere a sequencia definida no Exerccio 5.15. Se os vetores d0 , d1 , . . . , dn1 sao


A-conjugados, entao
xk+1 = xk + tk dk ,
f (xk )T dk
. Conclua que xk+1 pode ser obtido por uma busca exata a partir
(dk )T Adk
de xk , na direcao dk .
onde tk =

5.17. Considere o conjunto Pk , dos polinomios p : IR IR de grau menor ou igual a k


tais que p(0) = 1, definido em (5.27). Fixado L > 0, defina a funcao : Pk IR por
n
o
2
(p) = max t p(t) | 0 t L .
Resolva o problema
minimizar (p)
sujeito a p Pk .
5.18. O objetivo deste exerccio e obter a expressao do metodo DFP, dada em (5.39).
Considere H IRnn definida positiva e p, q IRn tais que pT q > 0. Suponha que

Metodos para Otimizacao Irrestrita

107

H+ IRnn e obtida por uma correcao simetrica de posto 2 (isto e, H+ = H +auuT +bvv t )
e H+ q = p. Encontre a, b, u e v que fornecem
H+ = H +

ppT
Hqq T H

.
pT q
q T Hq

5.19. Suponha que o Algoritmo 5.5 e aplicado para minimizar a funcao quadratica dada
em (5.34), com H0 = I, tk obtido pela busca exata e Hk+1 calculada por (5.39). Entao,
Hk q k [f (x0 ), f (x1 ), . . . , f (xk+1 )].
5.20. Nas mesmas condicoes do Exerccio 5.19, mostre que
[d0 , d1 , . . . , dk ] = [f (x0 ), f (x1 ), . . . , f (xk )].
5.21. Mostre que a sequencia gerada pelo metodo DFP, no contexto do Exerccio 5.19,
coincide com aquela gerada pelo algoritmo de gradientes conjugados (Algoritmo 5.3).
5.22. Considere B IRnn definida positiva, H = B 1 e p, q IRn tais que pT q > 0.
Mostre que a inversa da matriz
B+ = B +

BppT B
qq T

pT q
pT Bp

e dada por
q T Hq
H+ = H + 1 + T
p q


pq T H + HqpT
ppT

.
pT q
pT q

5.23. Seja (xk ) uma sequencia gerada pelo Algoritmo 5.6. Suponha que f seja de classe
C 1 e que sejam satisfeitas as Hipoteses H2-H5. Mostre que
k
|k 1|

!


k + sup kf (xk + tdk ) f (xk )k


2
t[0,1]


,
k
kf
(x
)k
c1 kf (xk )k min k ,

onde c1 , e sao as constantes das Hipoteses H2, H3 e H5, respectivamente.


5.24. Seja (xk ) uma sequencia gerada pelo Algoritmo 5.6. Suponha que f seja de classe
C 1 , com f uniformemente contnua e que sejam satisfeitas as Hipoteses H2-H5. Mostre
que
lim inf kf (xk )k = 0.
k

Captulo 6
Implementa
c
ao Computacional
No Captulo 5 estudamos, do ponto de vista teorico, diversos metodos para resolver problemas de otimizacao irrestrita. Vamos agora verificar como eles se comportam
na pratica. Para isso vamos elaborar programas em alguma linguagem computacional e
resolver uma famlia de problemas teste. O objetivo e avaliar e comparar o desempenho
dos metodos. Estamos interessados em analisar algumas informacoes, como o n
umero de
iteracoes, tempo computacional e quantidade de avaliacoes de funcao, gastos para resolver
um problema ou um conjunto de problemas.
Tambem e instrutivo gerar graficos mostrando a variacao da funcao objetivo ou
da norma do gradiente ao longo das iteracoes. Alem disso, para problemas em IR2 , graficos
com as curvas de nvel da funcao objetivo e a trajetoria da sequencia gerada pelos algoritmos sao muito u
teis para ilustrar conceitos e propriedades dos metodos.
Neste captulo vamos apresentar inicialmente um banco de funcoes para serem
testadas pelos metodos implementados. Em seguida propomos um roteiro do que e interessante discutir na resolucao de problemas por um determinado metodo. Alem disso,
discutimos uma metodologia usada para comparar o desempenho de diferentes metodos
para resolver um conjunto de problemas.

6.1

Banco de func
oes

O objetivo desta secao e organizar um banco de funcoes a serem testadas pelos


diferentes algoritmos. Com o proposito de uniformizar o tratamento, vamos considerar a
seguinte rotina que pode ser implementada para avaliar uma funcao e suas derivadas.
Considere f : IRn IR uma funcao de classe C 2 . Dados um ponto x IRn e um
parametro ordem {0, 1, 2}, queremos como sada o valor da funcao, do gradiente ou da
Hessiana de f , conforme o parametro ordem seja 0, 1 ou 2, respectivamente.

108

Implementacao Computacional

109

Rotina 6.1 Avaliacao de funcao e derivadas


Dados de entrada: x IRn , ordem {0, 1, 2}
se ordem = 0
y = f (x)
o
sena
se ordem = 1
y = f (x)
se ordem = 2
y = 2 f (x)
No proximo exemplo consideramos a Rotina 6.1 para uma funcao particular definida em IR2 .
Exemplo 6.1 Considere f : IR2 IR definida por f (x) = x21 + 6x1 x2 + 4x22 . Implemente
a Rotina 6.1 para esta funcao e use o programa
implementado para avaliar a func
ao, o
!
3
gradiente e a Hessiana no ponto x =
.
2
A rotina para a funcao deste exemplo e apresentada abaixo.
Dados de entrada: x IR2 , ordem {0, 1, 2}
se ordem = 0
y = x21 + 6x1 x2 + 4x22
o se ordem = 1
sena
!
y=

2x1 + 6x2
6x1 + 8x2

o se ordem = 2
sena
!
2 6
y=
6 8
o
sena
Mensagem: Reveja a variavel ordem
Alem disso, no ponto dado, o algoritmo fornece como sada
y = 11 ,

y=

6
2

!
ou y =

2 6
6 8

!
,

conforme o parametro de entrada ordem seja 0, 1 ou 2, respectivamente.


Algumas funcoes podem ser implementadas de forma mais geral, sem fazer men o caso da funcao do exemplo anterior
cao explcita a cada componente do ponto x. E
conforme discutiremos a seguir.

Implementacao Computacional

110

Exemplo 6.2 (Func


ao Quadr
atica) Observe que a funcao do exemplo anterior e uma
quadratica da forma
1
(6.1)
f (x) = xT Ax
2
!
2 6
com A =
. Implemente a Rotina 6.1 para a funcao dada por (6.1). Dada a
6 8
matriz A acima como variavel global, teste a rotina implementada com o ponto do exemplo
anterior. Compare os resultados.
A rotina para a funcao quadratica (6.1) e apresentada abaixo.
Variavel global: A IRnn simetrica
Dados de entrada: x IRn , ordem {0, 1, 2}
se ordem = 0
1
y = xT Ax
2
o se ordem = 1
sena
y = Ax
o se ordem = 2
sena
y=A
o
sena
Mensagem: Reveja a variavel ordem

Alem da implementacao ficar mais simples, ela e bastante geral. Dada qualquer
matriz simetrica A IRnn , a funcao quadratica (6.1) pode ser calculada por esta rotina.
O proximo exemplo discute como gerar uma matriz definida positiva arbitraria.
Exemplo 6.3 Dada a dimensao n do espaco e dois reais positivos 0 < < L, implemente
uma rotina que forneca:
(a) um vetor d IRn com componentes uniformemente distribudas entre e L.
(b) uma matriz simetrica A IRnn cujos autovalores sejam as componentes de d.
Use a rotina implementada para gerar uma matriz simetrica 4 4 com autovalores entre
= 1 e L = 1000.
A rotina abaixo calcula d e A como sugerido.
Dados: n IN, 0 < < L
v = rand(n, 1) Vetor rand^
omico com componentes entre 0 e 1
L
(v min(v) e)
d=+
max(v) min(v)
Obtenha uma matriz Q IRnn ortogonal
A = QT diag(d)Q

Implementacao Computacional

111

Note que a obtencao de uma matriz ortogonal Q IRnn pode ser feita pela
decomposicao QR de uma matriz arbitraria em IRnn . Se tiver d
uvida a respeito consulte

um livro de Algebra Linear, por exemplo [29].


Teste a rotina implementada e verifique que ela fornece uma matriz, de fato,
simetrica com autovalores entre e L.
Ja temos assim um banco de funcoes quadraticas. A cada vez que executamos
a rotina acima, gera-se randomicamente uma matriz A e consequentemente teremos uma
funcao quadratica diferente.
Existem na literatura diversos bancos de funcoes para serem testadas pelos algoritmos, como por exemplo [17, 20, 36]. O banco de funcoes proposto por More, Garbow e
Hillstrom [36] consiste de uma famlia de 35 funcoes dadas como somatorio de quadrados.
Isto significa que cada funcao e da forma
f (x) =

m
X

2
fi (x) ,

(6.2)

i=1

onde fi : IRn IR, i = 1, . . . , m, sao funcoes dadas. Para algumas funcoes a dimensao
e fixada e em outras pode ser escolhida pelo usuario. O codigo em Matlab e em Fortran
deste banco de funcoes esta disponvel em
http://www.mat.univie.ac.at/neum/glopt/test.html#test unconstr
Baixe os codigos e o artigo [36] que iremos trabalhar com eles.
Cada funcao tem quatro dados de entrada: a dimensao n do espaco; o n
umero
n
m de funcoes usadas para definir a funcao; o ponto x IR onde se deseja calcula-la e
um parametro opt {1, 2, 3} que discutiremos a seguir. A versao implementada de cada
funcao fornece o vetor fvec IRm cuja i-esima componente e o valor fi (x), caso opt seja
1. Se opt = 2, a sada e a matriz jacobiana de (f1 , f2 , . . . , fm ), isto e, uma matriz J, cuja
i-esima linha e fi (x)T . Se opt = 3, sao fornecidos o vetor fvec e a matriz J. A matriz
Hessiana nao e fornecida. Note que nesta notacao a funcao f dada em (6.2) pode ser
escrita como
f (x) = fvecT fvec
e o gradiente de f pode ser calculado como
f (x) = 2

m
X

fi (x)fi (x) = 2JT fvec.

i=1

Exemplo 6.4 Para as seguintes funcoes, calcule o vetor fvec, a matriz J, o valor de f
e seu gradiente no ponto x0 fornecido em [36].
(a) Rosenbrock function, numerada como (1) em [36].

Implementacao Computacional

112

(b) Jennrich and Sampson, numerada como (6) em [36], com m = 10.
(c) Extended Rosenbrock function, numerada como (21) em [36], com n = 4 e m = n.
Indicamos abaixo o ponto x0 e fornecemos
neste ponto.
!
1.2
(a) x0 =
, f (x0 ) = 24.2 e
1
!
0.3
(b) x0 =
, f (x0 ) = 4171.3 e
0.4

1.2

1
0

(c) x0 =
1.2 , f (x ) = 48.4 e

as respostas do valor da f e do seu gradiente


!
215.6
f (x0 ) =
.
88.0
!
33796.6
f (x0 ) =
.
87402.1

215.6

88.0

f (x0 ) =
215.6 .

88.0

O proximo exemplo generaliza o exemplo anterior criando uma interface para


avaliar qualquer uma das funcoes de [36] no formato da Rotina 6.1.
Exemplo 6.5 (Interface com Mor
e, Garbow e Hillstrom) Defina variaveis globais
FUNC e MM que devem receber o nome da funcao que se quer avaliar e o valor de m
correspondente. Dado x IRn e ordem, implemente uma rotina que forneca o valor da
funcao e do gradiente de FUNC no ponto x, dependendo se ordem e 0 ou 1. Teste a rotina
implementada calcular o valor da funcao e do seu gradiente no ponto x0 fornecido, para
as funcoes do exemplo anterior.
Variaveis globais: FUNC e MM
Dados de entrada: x, ordem {0, 1}
Defina n como a dimensao de x
se ordem = 0
Calcule fvec avaliando FUNC em x com opt = 1
y = kfveck2
se ordem = 1
Calcule fvec e J avaliando FUNC em x com opt = 3
y = 2JT fvec

6.2

Implementac
ao dos algoritmos

O objetivo desta secao e a programacao dos metodos estudados para resolver


um problema ou um conjunto de problemas. Comecamos resolvendo um problema por

Implementacao Computacional

113

um determinado algoritmo. Em seguida, resolvemos este problema por varios algoritmos.


Finalmente, vamos propor a resolucao de um banco de problemas por varios algoritmos.
Vamos avaliar e comparar o desempenho dos metodos no que diz respeito ao
n
umero de iteracoes, tempo computacional e quantidade de avaliacoes de funcao. Tambem
vamos gerar graficos mostrando a variacao da funcao objetivo ou da norma do gradiente
ao longo das iteracoes e, para problemas em IR2 , graficos com as curvas de nvel da
funcao objetivo e a trajetoria da sequencia gerada pelos algoritmos, ilustrando conceitos
e propriedades dos metodos. Por exemplo, a Figura 6.1 mostra 4 iteracoes do algoritmo
de Cauchy com a busca exata aplicado para minimizar uma funcao quadratica convexa.
Esta figura ilustra duas propriedades do algoritmo. Uma delas, formalizada no Lema 5.1,
e o fato de duas direcoes consecutivas serem ortogonais. A outra propriedade se refere `a
convergencia e foi provada no Teorema 5.4.

Figura 6.1: Passos do algoritmo de Cauchy.

6.3

Comparac
ao de diferentes algoritmos

Para facilitar a comparacao entre varios metodos e indicada a analise de desempenho introduzida por Dolan e More [7], que fornece um meio de avaliar e comparar o
desempenho de um conjunto S de ns algoritmos aplicados a um conjunto P de np problemas teste. Por exemplo, considere tp,s o tempo de processamento necessario para resolver
o problema p P pelo algoritmo s S. Se o algoritmo s nao resolveu o problema p, faca
tp,s = . Definimos o ndice de desempenho rp,s por
rp,s =

tp,s
.
min {tp,j | j S}

Este ndice vale 1 para o algoritmo mais eficiente e quanto maior for seu valor, pior sera o
desempenho do algoritmo. Alem disso, para cada algoritmo s consideramos a funcao de
desempenho s : [1, ) [0, 1] definida por
s ( ) =

1
card {p P | rp,s } .
np

Implementacao Computacional

114

Assim, s (1) e a proporcao de problemas que o algoritmo s resolve no menor tempo. De


forma geral, considerando uma medida de desempenho arbitraria, s ( ) e a porcentagem
de problemas que o algoritmo s resolve em vezes o valor da medida de desempenho do
algoritmo mais eficiente.
Para facilitar a visualizacao, construimos o grafico da funcao s , chamado de
grafico de perfil de desempenho. Como exemplo, suponha que resolvemos uma bateria
de 30 problemas por 4 algoritmos diferentes e armazenamos uma matriz T IR304 cuja
p-esima linha corresponde ao tempo gasto por cada um dos algoritmos para resolver o
problema p. Se o algoritmo s nao resolveu o problema p, defina T (p, s) como sendo um
valor arbitrariamente grande.
Vamos implementar um programa que, dada a matriz T , forneca o grafico de
perfil de desempenho.
Algoritmo 6.1 Perfil de desempenho
Dados: T IR304 ,
repita para p = 1, . . . , 30
Tmin (p) = min {T (p, s) | s = 1, . . . , 4}
repita para s = 1, . . . , 4
T (p, s)
r(p, s) =
Tmin (p)
repita para s = 1, . . . , 4
repita para 1
1
s ( ) = card {p P | rp,s }
30
Plote o grafico s ( )
Na Figura 6.2 mostramos os graficos das funcoes de desempenho dos 4 algoritmos.
1
0.93
0.9
0.8
0.63
0.46
0.33

Algoritmo 1
Algoritmo 2
Algoritmo 3
Algoritmo 4

0.23
0.13

1.57

3.1

4.4

6.6

Figura 6.2: Perfil de desempenho.

Implementacao Computacional

6.4

115

Outras discuss
oes

Quando implementamos uma funcao com base na Rotina 6.1 devemos calcular e
fornecer o gradiente e a Hessiana da funcao. Para funcoes mais complexas, isto pode ocasionar erros de digitacao e desta forma comprometer a resolucao do problema que envolve
tal funcao. Para tentar diminuir o risco deste tipo de erro, sugerimos a implementacao de
um algoritmo que procura verificar se as expressoes fornecidas para o gradiente e Hessiana
da funcao foram digitadas corretamente.
De acordo com o que vimos na Secao 1.4, fixando um ponto x IRn e definindo
r1 (d) = f (
x + d) f (
x) f (
x)T d
e

temos

1
x)d,
r2 (d) = f (
x + d) f (
x) f (
x)T d dT 2 f (
2
r1 (d)
=0 e
d0 kdk
lim

r2 (d)
= 0.
d0 kdk2
lim

(6.3)

Isto significa que a diferenca entre o valor da funcao e sua aproximacao de Taylor deve
ser muito pequena. Alem disso, para qualquer outro vetor diferente do gradiente e outra
matriz que nao seja a Hessiana, os limites em (6.3) nao sao validos. O algoritmo que
segue se baseia em um programa escrito pelo Professor Clovis Caesar Gonzaga, da UFSC,
e encontra possveis erros no gradiente ou na Hessiana da funcao. Consideramos uma
amostra aleatoria de vetores com norma tendendo para zero. Se os valores encontrados
para
r2 (d)
r1 (d)
ou
kdk
kdk2
nao forem pequenos, isto pode significar alguma diferenca no gradiente ou na Hessiana.
Sugerimos a sua implementacao na linguagem que for conveniente.
Usaremos a notacao feval(func,x,ordem) para indicar o valor da funcao func,
do seu gradiente ou da sua Hessiana, calculados em x pela Rotina 6.1, conforme o
parametro ordem seja 0, 1 ou 2, respectivamente.
Algoritmo 6.2 Testa modelo
Dados de entrada: func, x IRn , ordem {1, 2}
Parametros: K IN, > 0
Defina n como a dimensao de x
f = feval(func, x , 0)
g = feval(func, x , 1)
se ordem = 2
B = feval(func, x , 2)
k=0

Implementacao Computacional

116

repita enquanto k < K


v = rand(n, 1 )
1 v
d= k
2 kvk
+
f = feval(func, x + d , 0)
f + f gT d
r1 =
kdk
se r1
Mensagem: Modelo linear OK!
Pare
se ordem = 2
f + f g T d 21 dT Bd
r2 =
kdk2
se r2
Mensagem: Modelo quadratico OK!
Pare
k =k+1
se k K, Mensagem: Reveja a implementacao da funcao testada

No algoritmo acima sugerimos os seguintes valores para os parametros: K = 30


e = 10 5.
No Exerccio 6.6 pedimos a implementacao do Algoritmo 6.2 para analisar o que
ocorre com algumas funcoes definidas em IR2 .

6.5

Exerccios do captulo

6.1. Implemente em alguma linguagem computacional a Rotina 6.1 e use o programa


!
3
implementado para avaliar a funcao, o gradiente e a Hessiana no ponto x =
, para
5
cada funcao f : IR2 IR dada a seguir:
(a) f (x) = (x1 x22 )(x1 12 x22 );
(b) f (x) = 2x31 3x21 6x1 x2 (x1 x2 1);
2

(c) f (x) = 12 sin x1 sin x2 + 12 ex1 +x2 ;


(d) f (x) = 100(x2 x21 )2 + (1 x1 )2 .
6.2. Dados n IN, 1 IR e 2 IR, implemente uma rotina que forneca VETORb IRn
cujas componentes estejam uniformemente distribudas entre os valores 1 IR e 2 IR.
6.3. Dados n IN, p {1, 2, 3, 4, 5, 6}, = 0.1, implemente uma rotina que forneca:

Implementacao Computacional

117

(a) um vetor D cujas componentes estejam distribudas nos intervalos [10j , 10j + ]
com j = 0, . . . , p.
(b) MATRIZA simetrica cujos autovalores sejam as componentes de D.
6.4. Para as seguintes funcoes descritas em [36], use a implementacao proposta no
Exemplo 6.5 para avaliar a funcao e seu gradiente no ponto x0 fornecido.
(a) Beale function (5).
(b) Brown and Dennis function (16), com m = 10.
(c) Watson function (20), com n = 8.
6.5. Faca o mesmo que foi pedido no Exerccio 6.4, mas agora para as funcoes do Exemplo
6.4. Compare com as respostas obtidas neste exemplo.
6.6. Implemente o Algoritmo 6.2 para cada funcao do Exerccio 6.1.

Captulo 7
Otimiza
c
ao com Restri
c
oes
Nosso objetivo neste captulo e discutir as condicoes de otimalidade para o problema geral de otimizacao que consiste em
minimizar f (x)
sujeito a cE (x) = 0
cI (x) 0,

(7.1)

onde f : IRn IR, ci : IRn IR, i E I, sao funcoes de classe C 2 . O conjunto


= {x IRn | cE (x) = 0, cI (x) 0}

(7.2)

e chamado conjunto viavel.


A abordagem que apresentamos para a obtencao das condicoes de Karush-KuhnTucker e baseada na teoria de cones, cujo apelo geometrico e a principal caracterstica.
Algumas referencias para este assunto sao [1, 2, 8, 19, 22].
!
1
Exemplo 7.1 Verifique que o ponto x =
e a solucao global do problema
1
minimizar f (x) = (x1 2)2 + (x2 1)2
sujeito a c1 (x) = x1 + x2 2 0
c2 (x) = x21 x2 0.
Dado x , temos x21 x2 2 x1 , o que implica que x21 + x1 2 0, ou seja,
2 x1 1. Portanto,
f (x) = (x1 2)2 + (x2 1)2 (x1 2)2 1 = f (x ),
Na Figura 7.1 ilustramos este problema. Note que f (x ) e uma combinacao positiva de
c1 (x ) e c2 (x ). Isto informalmente significa que para diminuir o valor de f teramos
que sair do conjunto viavel. O que faremos neste captulo e formalizar esta afirmacao.
118

Otimizacao com Restricoes

119

c1

x*

f
c2

Figura 7.1: Ilustracao do Exemplo 7.1.

7.1

Cones

Vamos discutir nesta secao alguns aspectos gerais da teoria de cones que serao
fundamentais para estabelecer as condicoes de KKT. Dentre outras coisas destacamos o
classico Lema de Farkas, que sera tratado tanto na sua forma classica, quanto em uma
versao geometrica.
Definic
ao 7.2 Um subconjunto nao vazio C IRn e um cone quando, para todo t 0 e
d C tem-se td C.
Informalmente, um cone e um conjunto de direcoes. Note que o vetor nulo pertence a
qualquer cone. Alem disso, um cone e um conjunto ilimitado. Na Figura 7.2 temos dois
exemplos de cones, um convexo e outro nao.
C

td

td

Figura 7.2: Exemplos de cone.

Exemplo 7.3 Considere os vetores v 1 =

!
1
, v2 =
1

2
1

!
e v3 =

conjunto


C = y1 v 1 + y2 v 2 + y3 v 3 | yj 0, j = 1, 2, 3
e um cone convexo. Generalizando, dada B IRnm , mostre que
C = {By | y IRm , y 0}

!
1
. Mostre que o
1

Otimizacao com Restricoes

120

e um cone convexo.
Dados t 0 e d = By C temos td = tBy = B(ty) C. Alem disso, dados d1 = By 1 e

d2 = By 2 em C e t [0, 1], temos (1 t)d1 + td2 = B (1 t)y 1 + ty 2 C.
Um exemplo de cone que sera u
til mais adiante e o de cone polar, que em IR2 ou
IR3 pode ser caracterizado pelos vetores que formam um angulo maior ou igual a 90o com
os elementos de um conjunto dado.
Definic
ao 7.4 Dado um conjunto S IRn , definimos o polar de S por


P (S) = p IRn | pT x 0, x S .
A Figura 7.3 ilustra o polar de alguns conjuntos.
S
S

P(S)

P(S)

Figura 7.3: Exemplos de cone polar.

Lema 7.5 Dado S IRn , P (S) e cone, convexo e fechado.


Demonstracao. Dados t 0 e d P (S) temos (td)T x = t(dT x) 0, para todo x S.
Assim, td P (S), o que significa que P (S) e um cone. Para verificar a convexidade,
considere u, v P (S) e t [0, 1]. Para qualquer x S, temos que
(1 t)u + tv

T

x = (1 t)uT x + tv T x 0.

Assim (1 t)u + tv P (S), provando que P (S) e convexo. Para mostrar que P (S)
e fechado, considere uma sequencia (dk ) P (S) com dk d. Dado x S, temos
(dk )T x 0, logo dT x 0. Portanto, d P (S), completando a demonstracao.
Exemplo 7.6 Dados A, B IRn , tais que A B, temos P (B) P (A).
De fato, se p P (B), entao pT x 0, para todo x B. Logo, pT x 0, para todo x A,
donde segue que p P (A).

Otimizacao com Restricoes

121

!



1 3
Exemplo 7.7 Considere A =
, B = 2 0 , S1 = d IR2 | Ad 0 e
2
1



2
2
S2 = d IR | Ad 0 d IR | Bd 0 . Mostre que S1 e S2 sao cones e representeos geometricamente. Diga se podem ser obtidos como o polar de algum conjunto.
Dados t 0 e d S1 temos A(td) = tAd 0. Portanto, td S1 , o que significa que
S1 e cone. Analogamente, vemos que S2 tambem e cone.
podemos escrever
! Alem disso, !


1
2
S1 = d IR2 | uT d 0 e v T d 0 , onde u =
e v =
. Desta forma,
3
1
S1 = P ({u, v}). Por outro lado, como S2 nao e convexo, nao pode ser o polar de nenhum
conjunto, em virtude do Lema 7.5. A Figura 7.4 ilustra este exemplo.

S1

S2

Figura 7.4: Ilustracao do Exemplo 7.7.


Como a propria Figura 7.3 sugere, aplicar o polar duas vezes nem sempre fornece
o conjunto original. No entanto, temos o seguinte resultado.

Lema 7.8 Dado S IRn , temos S P P (S) .
Demonstracao. Considere x S e C = P (S). Dado d C, temos xT d 0. Logo

x P (C) = P P (S) , completando a demonstracao (veja ilustracao na Figura 7.5).

P(P(S))
S

0
P(S)

Figura 7.5: Ilustracao do Lema 7.8.

Otimizacao com Restricoes

122

Basicamente, temos tres motivos que impedem a igualdade entre o duplo polar e
o conjunto: o fato de nao ser cone, nao ser convexo ou nao ser fechado. Estas situacoes
aparecem na Figura 7.6. O classico Lema de Farkas, apresentado em seguida, garante a
igualdade.

S
0

P(S)

P(S)

P(S)


Figura 7.6: Situacoes onde nao vale S = P P (S) .

Lema 7.9 (Farkas geom


etrico) Considere C IRn um cone convexo fechado nao va
zio. Entao P P (C) = C.

Demonstracao. Em virtude do Lema 7.8 basta mostrar que P P (C) C. Considere

entao z P P (C) . Seja z = projC (z) C. Vamos provar que z = z. Pelo Teorema 3.7,
(z z)T (x z) 0,

(7.3)

para todo x C. Como C e um cone, x = 0 e x = 2


z sao elementos de C. Assim,

z T (z z) 0 e zT (z z) 0,
donde segue que
zT (z z) = 0.

(7.4)

Substituindo isto em (7.3), podemos concluir que (z z)T x 0, para todo x C.



Portanto, (z z) P (C). Como z P P (C) , temos que (z z)T z 0. Usando (7.4),
obtemos
kz zk2 = (z z)T z (z z)T z = (z z)T z 0,
o que implica que z = z C, completando a demonstracao.
Outra propriedade muito importante se refere ao cone gerado por um conjunto
finito de vetores, dada no lema abaixo. A demonstracao apresentada aqui e direta, mas
existem outras formas de provar este resultado. Uma delas segue dos Exerccios 7.7 e 7.8,
no final do captulo.

Otimizacao com Restricoes

123

Lema 7.10 Dados os vetores v 1 , v 2 , . . . , v m IRn \ {0}, o conjunto


C=

( m
X

)
yi v i | yi 0, i = 1, ..., m

i=1

e um cone convexo e fechado (veja ilustracao na Figura 7.7).

vm

v2
v1

Figura 7.7: Ilustracao do Lema 7.10.


Demonstracao. Considerando a matriz B = (v 1 v 2 v m ) IRnm , temos
C = {By | y IRm , y 0} .
Para mostrar que C e cone, tome d = By C e t 0. Assim, td = B(ty) C, pois

ty 0. A convexidade segue da relacao (1 t)By + tBw = B (1 t)y + tw . Agora a
parte difcil: provar que C e fechado. Faremos por inducao em m.
(i) m = 1. Seja (dk ) C, tal que dk d. Temos dk = y k v 1 , com y k 0. Assim,
kv 1 k2 y k = (v 1 )T dk (v 1 )T d,
implicando em y k y, onde y =

(v 1 )T d
0, pois y k 0. Portanto, dk = y k v 1 yv 1 e
kv 1 k2

assim, d = yv 1 C.
(ii) Suponha que o lema seja valido para m 1. Vamos provar que vale para m.
Considere primeiro o caso em que posto(B) = m. Seja (dk ) C, tal que dk d. Entao,
dk = By k , com y k 0. Deste modo,
B T By k = B T dk B T d,
donde segue que y k y, com y = (B T B)1 B T d. Como y k 0, temos y 0. Portanto,
dk = By k By e assim, d = By C.
Suponha agora que posto(B) < m. Assim, as colunas de B sao linearmente dependentes.

Otimizacao com Restricoes

124

Isto implica que existe IRm tal que


B = 0

(7.5)

e i > 0 para algum i = 1, ..., m. Considere, para cada j = 1, ..., m, a matriz


Bj = (v 1 v j1 v j+1 v m ) IRn(m1) ,
obtida suprimindo a j-esima coluna de B. Usando a hipotese de inducao, temos que o
conjunto


Cj = Bj z | z IRm1 , z 0
e fechado para todo j = 1, ..., m. Portanto, a uniao

m
[

Cj e um conjunto fechado. Para

concluir a demonstracao, vamos mostrar que C =

m
[

Cj . Para isso, tome inicialmente

d C. Entao d = By, para algum y 0. Considere




yi

t = max | i > 0 ,
i
onde e dado por (7.5). Assim, para todo i tal que i > 0, temos yi + ti 0. Alem disso,
yj
como t 0, tambem vale yi + ti 0 para cada i tal que i 0. Seja j tal que t = .
j

Definindo y = y + t, temos que y 0 e yj = 0. Portanto, usando (7.5), obtemos


d = By = B(y + t) = B y Cj .
Como a inclusao

m
[

Cj C e imediata, completamos a prova.

O Lema 7.10 pode ser usado para estabelecer uma relacao entre a versao geometrica do Lema de Farkas (Lema 7.9) e sua forma algebrica, muito encontrada na literatura.
Lema 7.11 (Farkas alg
ebrico) Considere A IRmn e c IRn . Entao exatamente um
dos dois sistemas abaixo tem solucao.
cT x > 0

(7.6)

AT y = c e y 0.

(7.7)

Ax 0 e

Demonstracao. Se o sistema (7.7) tem solucao, entao c = AT y com y 0. Assim, dado


x IRn tal que Ax 0, temos cT x = y T Ax 0, o que implica que (7.6) nao tem solucao.
Suponha agora que o sistema (7.7) nao tem solucao. Portanto,


c 6 C = AT y | y 0 .

Otimizacao com Restricoes

125



Pelos Lemas 7.9 e 7.10 temos C = P P (C) . Logo, c 6 P P (C) , o que significa que
existe x P (C) tal que cT x > 0. Alem disso,
(Ax)T y = xT AT y 0,
para todo y 0. Em particular, tomando y = ej , j = 1, . . . , m, obtemos Ax 0. Assim,
o sistema (7.6) tem solucao.
Mesmo sendo uma versao algebrica, o Lema 7.11 pode ser interpretado geometricamente, conforme vemos na Figura 7.8. Os vetores v 1 , v 2 , . . . , v m IRn sao as linhas de
A. Na ilustracao do lado esquerdo temos o caso em que o sistema (7.6) tem solucao. No
lado direito, (7.7) tem solucao.

C
vm

C
v2

vm
1

v2

c
1

P(C)

P(C)
x

Figura 7.8: Ilustracao do Lema 7.11.


Note que provamos a versao algebrica do Lema de Farkas utilizando a versao
geometrica. No entanto, tambem e possvel mostrar que a versao algebrica implica na
versao geometrica para um certo conjunto C. Veja o Exerccio 7.6 no final do captulo.
Temos agora as ferramentas necessarias para provar as condicoes necessarias de
otimalidade para problemas com restricoes de igualdade e desigualdade.

7.2

Condic
oes de Karush-Kuhn-Tucker

Para estabelecer o Teorema de KKT, vamos estudar os cones relacionados com o


problema geral de otimizacao definido em (7.1). Alguns desses cones podem ser interpretados como aproximacoes lineares do conjunto viavel (7.2).
Definic
ao 7.12 Seja x . Uma restricao de desigualdade ci , i I, e dita ativa em x,
se ci (
x) = 0. Caso ci (
x) < 0, dizemos que ci e inativa em x.
Vamos denotar por I(
x) o conjunto de ndices das restricoes de desigualdade ativas em
um ponto viavel x, isto e,
I(
x) = {i I | ci (
x) = 0} .

Otimizacao com Restricoes

7.2.1

126

O cone vi
avel linearizado
A primeira forma de aproximar o conjunto viavel e dada na seguinte definicao.

Definic
ao 7.13 Dado x , definimos o cone viavel linearizado de em torno de x por


D(
x) = d IRn | ci (
x)T d = 0, se i E e ci (
x)T d 0, se i I(
x) .
Note que o conjunto D(
x) pode ser visto como um conjunto viavel, onde linearizamos as restricoes de igualdade e as de desigualdade ativas. Isto se deve ao fato de
que
ci (
x)T d = ci (
x) + ci (
x)T d ci (
x + d)
para i E I(
x).
Na Figura 7.9 temos algumas das situacoes que surgem quando consideramos o
cone D(
x). Na primeira, temos desigualdades e os gradientes ativos sao linearmente independentes. Isto confere uma certa regularidade ao conjunto , que e bem aproximado
por D(
x) em uma vizinhanca de x. Na segunda, temos uma igualdade e tambem podemos
dizer que D(
x) e uma boa aproximacao para . No entanto, a u
ltima situacao mostra
um caso onde o cone e uma reta, mas o conjunto viavel e uma regiao do plano. Note que,
neste caso, os gradientes ativos sao linearmente dependentes.

c2

D(x)

c2

x
c1

D(x)

D(x)

c1

Figura 7.9: Exemplos ilustrando o cone viavel linearizado.


Lema 7.14 O conjunto D(
x) e um cone convexo fechado nao vazio.
Demonstracao. De fato, basta notar que D(
x) = P (S), onde
S = {ci (
x), ci (
x), i E} {ci (
x) | i I(
x)}
e aplicar o Lema 7.5.
Exemplo 7.15 Considere c1 , c2 : IR2 IR definidas por c1 (x) = x21 2x1 x2 e
c2 (x) = x21 2x1 + x2 . Representamos na Figura 7.10 o conjunto viavel


= x IR2 | c(x) 0

Otimizacao com Restricoes

127

e o cone D(
x), em x = 0.

c2

D(x)

c1

Figura 7.10: O cone D(


x) do Exemplo 7.15.

7.2.2

O cone gerado pelos gradientes das restrico


es

Outro cone relacionado com o problema de otimizacao e cone gerado pelos gradientes das restricoes. Mais precisamente, dado x , considere o conjunto

G(
x) =

i ci (
x) +

iE

X
iI(
x)

i ci (
x) | i 0, i I(
x) .

(7.8)

Este conjunto tem duas propriedades muito importantes, que provaremos a seguir.
Uma delas e que seu polar e justamente o cone D(
x). A outra propriedade diz que G(
x)
e um cone convexo fechado. Veja a Figura 7.11.

c2

D(x)

G(x)

c1

Figura 7.11: O cone G(


x).


Lema 7.16 Dado x , temos que D(
x) = P G(
x) .
Demonstracao. Dados d D(
x) e s G(
x), temos
dT s =

X
iE

i dT ci (
x) +

X
iI(
x)

i dT ci (
x).

Otimizacao com Restricoes

128

Como d D(
x), temos dT ci (
x) = 0 para todo i E e dT ci (
x) 0 para todo i I(
x).

Assim, dT s 0, pois i 0. Portanto, d P G(
x) . Para provar a inclusao contraria,

T
tome d P G(
x) . Entao, d s 0, para todo s G(
x). Em particular, para i E,
temos que ci (
x) e ci (
x) sao elementos de G(
x). Portanto,

x) 0,
dT ci (
x) 0 e dT ci (
donde segue que dT ci (
x) = 0. Alem disso, para i I(
x), temos ci (
x) G(
x) e assim,
T
d ci (
x) 0. Desta forma, d D(
x), o que completa a demonstracao.
Lema 7.17 O conjunto G(
x) definido em (7.8) e um cone convexo fechado.
Demonstracao. Note que um elemento qualquer de G(
x) pode ser escrito como
X

i ci (
x) +

i 0

 X
(i ) ci (
x) +
i ci (
x)

i <0

iI(
x)

com i 0 para todo i I(


x). Desta forma, temos
G(
x) = {By | y 0} ,
onde B e a matriz cujas colunas sao ci (
x), ci (
x) e cj (
x), com i E e j I(
x).
Pelo Lema 7.10, temos o resultado desejado.
Tendo em vista os Lemas 7.9 e 7.17, podemos reescrever o Lema 7.16 como

P D(
x) = G(
x).

(7.9)

Esta relacao e a chave da demonstracao das condicoes de KKT.

7.2.3

O cone tangente

Veremos nesta secao um outro cone que tambem aproxima o conjunto viavel ,
mas diferentemente do cone D(
x), que se baseia nas derivadas das restricoes, este novo
cone considera os vetores que tangenciam ou penetram em .
Definic
ao 7.18 Uma direcao d IRn e dita tangente a IRn a partir de x quando
e nula ou existe uma sequencia de pontos viaveis (xk ) tal que xk x e
xk x
d

.
k
kx xk
kdk
Na Figura 7.12 ilustramos este conceito. Na esquerda o conjunto viavel e uma curva
definida por uma restricao de igualdade, na qual representamos uma direcao tangente
d e a convergencia indicada na definicao. Na outra ilustracao o conjunto viavel e uma

Otimizacao com Restricoes

129

regiao determinada por duas restricoes de desigualdade. Nesta figura aparecem algumas
direcoes tangentes. Note que uma direcao que penetra no conjunto viavel tambem
satisfaz a Definicao 7.18.
x1

x2

x3
x4
x

x5

Figura 7.12: Direcoes tangentes.


Segue diretamente da definicao que se d e tangente, o mesmo vale para td, qualquer que seja t 0. Assim, o conjunto formado pelos vetores tangentes a em x e um
cone, chamado de cone tangente a no ponto x e denotado por T (
x).
Exemplo 7.19 Considere as funcoes c1 , c2 : IR2 IR dadas por c1 (x) = x21 2x1 x2
e c2 (x) = x21 2x1 + x2 . Determine o cone tangente T (
x), associado ao conjunto vi
avel


2
= x IR | c(x) 0 em torno do ponto x = 0.
Sejam xk =

sk
tk

!
uma sequencia de pontos de e d =

xk x e

d1
d2

!
IR2 tais que

d
xk x

.
kxk xk
kdk

(7.10)

Vamos provar que 2d1 d2 2d1 . Como xk , temos s2k 2sk tk 2sk s2k .
Portanto,
s2 2sk
t
2s s2k
pk
p k
pk

.
(7.11)
s2k + t2k
s2k + t2k
s2k + t2k
De (7.10), podemos concluir que
sk 0 ,

s
d1
p k

2
2
kdk
sk + tk

t
d2
p k

.
2
2
kdk
sk + tk

2d1
d2
2d1
Assim, passando o limite na relacao (7.11), obtemos

, donde segue
kdk
kdk
kdk
que


T (
x) d IR2 | 2d1 d2 2d1 .

Otimizacao com Restricoes

130

Para provar a inclusao contraria, tome primeiro d =

!
1
. Considere
2

1
sk =
k

sk
tk

tk = 2sk s2k

e xk =

!
.

1
2
sk
1
tk
= p
. Portanto,

e p 2
Assim, xk x , p 2
2
2
5
5
sk + tk
sk + tk
1 + (2 sk )2 !
1
d
xk x

. Considere agora d =
, com [0, 2). Para todo k IN,
k
kx xk
kdk

!
1
1
1
suficientemente grande, temos < 2 , implicando em y k =
. Alem disso,
k
k
y k x e

d
y k x

.
k
ky xk
kdk

Como T (
x) e um cone, podemos concluir que todo vetor d IR2 tal que 0 d2 2d1 e
tangente. O caso 2d1 d2 0 e analogo. Com isto, obtemos


T (
x) = d IR2 | 2d1 d2 2d1 .
Na Figura 7.13 representamos o cone T (
x).
1.5
1

T(x)

0.5

0
0.5
1
1.5
0.5

0.5

1.5

2.5

Figura 7.13: O cone tangente do Exemplo 7.19.


No Exemplo 7.19 temos a igualdade entre os cones T (
x) e D(
x), mas isto nao e
regra geral. Alias, o cone tangente pode nao ser convexo. No entanto, pode-se mostrar
que e fechado (veja o Exerccio 7.9).
Exemplo 7.20 Considere c : IR2 IR3 definida por c1 (x) = x1 x2 , c2 (x) = x1 e
c3 (x) = x2 . Determine os cones D(
x), G(
x) e T (
x), associados ao conjunto viavel


= x IR2 | c1 (x) = 0, c2 , c3 (x) 0

Otimizacao com Restricoes

131

em torno do ponto x = 0.
!
0
Temos c1 (
x) =
, c2 (
x) =
0

1
0

!
e c3 (
x) =

D(
x) = {(d1 , d2 ) | d1 0, d2 0} ,

!
0
. Assim,
1

G(
x) = {(d1 , d2 ) | d1 0, d2 0}

e
T (
x) = {(d1 , d2 ) | d1 0, d2 0, d1 d2 = 0}.
Na Figura 7.14 estao representados estes cones. Note que T (
x) 6= D(
x) e T (
x) nao e
convexo.

D(x)
c2
G(x)

=T(x)

c3

Figura 7.14: Exemplo onde T (


x) 6= D(
x).
O proximo resultado estabelece uma relacao entre os cones T (
x) e D(
x).
Lema 7.21 Dado x , temos T (
x) D(
x).
Demonstracao. Considere d T (
x), d 6= 0. Entao existe uma sequencia (xk ) tal que
xk x
d
xk x e k

. Pela diferenciabilidade de c segue que


kx xk
kdk
c(xk ) = c(
x) + c(
x)T (xk x) + o(kxk xk).
Considere i E e j I(
x). Como xk , x , temos
ci (
x) T

(xk x)
o(kxk xk)
+
=0
kxk xk
kxk xk

Passando o limite, obtemos ci (


x)T
completando a prova.

cj (
x) T

(xk x)
o(kxk xk)
+
0.
kxk xk
kxk xk

d
d
= 0 e cj (
x)T
0. Assim, d D(
x),
kdk
kdk

Otimizacao com Restricoes

7.2.4

132

O teorema de Karush-Kuhn-Tucker

Temos agora todas as ferramentas para provar as condicoes de KKT. Vamos


comecar com um resultado que tambem pode ser visto como uma condicao necessaria de
otimalidade.
Lema 7.22 Se x e um minimizador local do problema (7.1), entao f (x )T d 0,
para todo d T (x ).
Demonstracao. Seja d T (x ), d 6= 0. Entao existe uma sequencia (xk ) tal que
d
xk x

. Por outro lado, temos


xk x e k

kx x k
kdk
0 f (xk ) f (x ) = f (x )T (xk x ) + o(kxk x k),
para todo k suficientemente grande. Dividindo por kxk x k e passando o limite obtemos
f (x )T d 0, completando a prova.
Na Figura 7.15 ilustramos uma situacao que satisfaz as condicoes do Lema 7.22
e outra onde isto nao se verifica.

x*

x
f

Figura 7.15: Relacoes entre direcoes tangentes e o gradiente da funcao objetivo.


O Lema 7.22 tem um interesse teorico, pois sera usado para provar o Teorema de
KKT. No entanto, este lema e pouco pratico, no sentido de que nao podemos usa-lo para
calcular os possveis minimizadores. O teorema seguinte nos da esta possibilidade.
Teorema 7.23 (KKT) Seja x um minimizador local do problema (7.1) e suponha


que P T (x ) = P D(x ) . Entao existem vetores e tais que
f (x ) =

i ci (x ) +

i ci (x ),

iI

iE

i 0,

i I,

i ci (x ) = 0,

i I.

Demonstracao. Pelo Lema 7.22, temos f (x )T d 0, para todo d T (x ). Assim,


usando a hipotese e a relacao (7.9), obtemos


f (x ) P T (x ) = P D(x ) = G(x ).

Otimizacao com Restricoes

133

Isto significa que existem vetores e , tais que 0 e


f (x ) =

i ci (x ) +

Definindo i =

i ci (x ).

iI(x )

iE

i , para i I(x )
e = , completamos a prova.
0, para i I \ I(x )

Definic
ao 7.24 Um ponto viavel x e dito estacionario quando cumpre as condic
oes
necessarias do Teorema 7.23.
A hipotese sobre os cones T (x ) e D(x ) feita no Teorema 7.23 e chamada de
condicao de qualificacao. Ela foi introduzida por Monique Guignard [18] para dimensao
infinita e reformulada para o caso finito por Gould and Tolle [16]. Esta condicao e a
mais fraca possvel para se provar as condicoes de KKT. Entretanto, como ja vimos em
exemplos anteriores, pode ser muito difcil obter os cones T (x ) e D(x ) e verificar se a


condicao P T (x ) = P D(x ) e satisfeita. Veremos na Secao 7.3 outras condicoes de
qualificacao, tais como Slater, Mangasarian-Fromovitz, independencia linear dos gradientes, que implicam na que usamos acima e sao mais facilmente verificadas.
Exemplo 7.25 Vamos refazer o Exemplo 7.1 usando KKT. O problema e dado por
minimizar f (x) = (x1 2)2 + (x2 1)2
sujeito a c1 (x) = x1 + x2 2 0
c2 (x) = x21 x2 0.
Note primeiro que o conjunto viavel e compacto. De fato, como
x21 x2 2 x1 ,
temos x21 + x1 2 0. Portanto, 2 x1 1 e 0 x2 4. Alem disso, temos
T (x) = D(x), para todo ponto viavel x. Portanto, o minimizador deve satisfazer
2

x1 2
x2 1

!
= 1

1
1

!
+ 2

2x1
1

!
(7.12)

alem de i 0 e i ci (x) = 0, i = 1, 2. Como nenhum ponto de cumpre x1 = 2, pelo


menos um dos multiplicadores deve ser nao nulo. Veremos agora que os dois sao nao
nulos. De fato, se fosse 1 = 0 e 2 > 0, teramos x21 x2 = 0 (restricao ativa) e x2 > 1
(relacao (7.12)). Assim, x1 1, o que contradiz (7.12). Por outro lado, se 1 > 0 e
2 = 0, entao x1 + x2 = 2 (restricao ativa) e x1 2 = x2 1 (relacao (7.12)). Assim,
Agora fica facil! resolver o sistema KKT, pois
x1 = 32 , o que tambem e uma contradicao. !
1
2
x1 + x2 = 2 e x21 = x2 , fornecem x =
e x =
. Como x nao satisfaz (7.12)
1
4

Otimizacao com Restricoes

134

para i 0, a solucao e x com multiplicador =

!
2/3
. Reveja a Figura 7.1, que
2/3

ilustra este problema.

7.2.5

A dire
c
ao do gradiente projetado

Vamos apresentar nesta secao uma caracterizacao alternativa de estacionaridade


para o problema (7.1), que nao depende de nenhuma condicao de qualificacao. Para isso,
considere um ponto x IRn e a aproximacao linear do conjunto viavel dada por
L(
x) = {
x + d IRn | cE (
x) + AE (
x)d = 0 , cI (
x) + AI (
x)d 0} ,

(7.13)

onde AE e AI denotam as jacobianas de cE e cI , respectivamente. Definimos a direcao do


gradiente projetado por

x) = projL(x) x f (
x) x.
dc (

(7.14)

A relacao desta direcao com a estacionaridade de x e dada no seguinte teorema.


Teorema 7.26 Um ponto viavel x cumpre as condicoes de KKT se, e somente se,
dc (
x) = 0. Alem disso, se x nao e estacionario, entao f (
x)T dc (
x) < 0.
Demonstracao. Considere o cone G(
x), definido em (7.8). Se x satisfaz KKT, entao

f (
x) G(
x). Assim, pela relacao (7.9), temos que f (
x) P D(
x) , o que significa
que
f (
x)T d 0,
(7.15)
para todo d D(
x). Dado x = x + d L(
x), como x e viavel, temos
AE (
x)d = 0 e cI (
x) + AI (
x)d 0,
donde segue que d D(
x). Portanto, por (7.15), obtemos
x f (
x) x

T

(x x) = f (
x)T d 0.


Pelo Lema 3.8, segue que projL(x) x f (
x) = x, ou seja, dc (
x) = 0. Para provar a

recproca, note que dado d P G(
x) = D(
x), temos
AE (
x)(td) = 0 e AI(x) (
x)(td) 0,
para todo t > 0. Alem disso, para i I \ I(
x), podemos tomar t > 0 suficientemente
pequeno, tal que
ci (
x) + ci (
x)T (td) 0.

Otimizacao com Restricoes

135


Assim, considerando d = td, temos x + d L(
x) e, como projL(x) x f (
x) = x, o
Teorema 3.7 nos fornece
f (
x)T d = x f (
x) x

T

(
x + d x) 0.


Portanto, f (
x)T d 0, o que implica que f (
x) P D(
x) = G(
x) e assim podemos
concluir que x cumpre as condicoes de KKT. Finalmente, vamos provar que dc (
x) e uma
direcao de descida quando x nao for KKT. Definindo

z = projL(x) x f (
x) ,
temos dc (
x) = z x e, novamente pelo Teorema 3.7,
T
T
dc (
x) + f (
x) dc (
x) = x f (
x) z (
x z) 0.
Portanto, como x nao e KKT, podemos usar o que foi provado anteriormente para concluir
que
f (
x)T dc (
x) kdc (
x)k2 < 0,
completando a demonstracao.
Salientamos que a igualdade dc (
x) = 0 nao pode ser vista como uma condicao
necessaria de otimalidade, como ocorre no Teorema 3.9. De fato, aqui podemos ter um
minimizador no qual dc nao se anula, conforme vemos no seguinte exemplo.
Exemplo 7.27 Considere c : IR2 IR2 definida por c1 (x) = x1 x2 , c2 (x) = x1 x2 e o
problema de minimizar f (x) = x1 + 2x2 no conjunto


= x IR2 | c1 (x) = 0 , c2 (x) 0 .
Verifique que o ponto x = 0 e uma solucao global, mas dc (
x) 6= 0.
Note que qualquer ponto viavel, que nao seja x, tem uma componente nula e a outra
positiva. Portanto, x = 0 e o minimizador global de f em . Alem disso, temos
c1 (
x) =

0
0

!
, c2 (
x) =

1
1

!
e f (
x) =



Assim, L(
x) = d IR2 | d1 + d2 0 e
z = projL(x)
A Figura 7.16 ilustra este exemplo.

1
x f (
x) =
2


1
1

!
6= x.

1
2

!
.

Otimizacao com Restricoes

136

L(x)
x
c2

Figura 7.16: Um minimizador no qual dc 6= 0.

7.3

Condic
oes de qualifica
c
ao

Vimos neste captulo que pode ser muito difcil verificar se a hipotese sobre os
cones T (
x) e D(
x) feita no Teorema 7.23 e satisfeita. Veremos agora outras condicoes de
qualificacao, mais simples de serem verificadas, que tambem garantem que um minimizador satisfaz as relacoes de KKT. Salientamos que se nao for verificada nenhuma hipotese
sobre as restricoes, podemos ter minimizadores que nao cumprem KKT, dificultando assim
a caracterizacao de tais pontos. Tal fato pode ser visto no seguinte exemplo.
Exemplo 7.28 Considere o problema
minimizar f (x) = x1
sujeito a c1 (x) = x31 + x2 0
c2 (x) = x2 0.
O ponto x = 0 e o minimizador deste problema, mas nao cumpre as condicoes de KKT.
De fato, de 0 x2 x31 , segue que f (x) = x1 0 = f (x ), para todo ponto viavel x.
Alem disso,
f (x ) =

1
0

!
,

c1 (x ) =

0
1

!
e c2 (x ) =

0
1

!
,

o que significa que nao vale KKT. Veja uma ilustracao deste exemplo na Figura 7.17.
Para continuar nossa discussao, vamos apresentar uma definicao precisa de condicao de qualificacao. Considere ci : IRn IR, i E I, funcoes continuamente diferenciaveis em IRn e o conjunto viavel
= {x IRn | cE (x) = 0, cI (x) 0} .

(7.16)

Definic
ao 7.29 Dizemos que as restricoes cE (x) = 0 e cI (x) 0 cumprem uma condic
ao
de qualificacao em x quando, dada qualquer funcao diferenciavel f , que tenha

Otimizacao com Restricoes

137

c1
f

x*

c2
Figura 7.17: Ilustracao do Exemplo 7.28.
mnimo em x , relativamente a , sejam satisfeitas as condicoes de otimalidade de KKT.
Trataremos primeiramente de uma situacao particular, mas de muita importancia,
em que as restricoes sao lineares.

7.3.1

Problemas com restrico


es lineares
Considere o problema
minimizar f (x)
sujeito a Ax = b
M x r,

(7.17)

onde A IRmn , M IRpn , b IRm e r IRp . Como veremos no proximo teorema, as


condicoes de otimalidade de KKT se verificam em um minimizador.
Teorema 7.30 Se x e um minimizador local do problema (7.17), entao x satisfaz as
condicoes de KKT.
Demonstracao. Usando o Lema 7.21 e o Teorema 7.23, basta provar que D(x ) T (x ).
Dado d D(x ), temos Ad = 0 e M d 0. Se d = 0, temos trivialmente d T (x ). Caso
1
d 6= 0, defina xk = x + d. Assim,
k
Axk = b , M xk r , xk x

xk x
d
=
.
kxk x k
kdk

Portanto, d T (x ), completando a prova.


A proxima condicao de qualificacao exige a existencia de um ponto no interior
relativo do conjunto viavel.

Otimizacao com Restricoes

7.3.2

138

Condi
c
ao de qualificac
ao de Slater

Considere o conjunto , definido em 7.16. Dizemos que a condicao de qualificacao


de Slater e satisfeita quando cE e linear, cada componente ci , i I, e convexa e existe
x tal que
cE (
x) = 0 e cI (
x) < 0.
(7.18)
Vejamos que Slater e, de fato, uma condicao de qualificacao.
Teorema 7.31 Se vale a condicao de Slater, entao T (
x) = D(
x), para todo x .
Demonstracao. Em virtude do Lema 7.21, basta provar que D(
x) T (
x). Considere uma
direcao arbitraria d D(
x) e defina d = x x, onde x e o ponto que satisfaz (7.18).
Pela convexidade de ci , temos

0 > ci (
x) ci (
x) + ci (
x)T d.
Assim, para i I(
x), temos ci (
x)T d < 0. Dado t (0, 1), defina

d = (1 t)d + td.
Vamos provar que d T (
x), para todo t (0, 1) (veja a Figura 7.18). Dado i I(
x),
T
T
T
temos ci (
x) d 0 e ci (
x) d < 0. Consequentemente, ci (
x) d < 0. Definindo
1
xk = x + d e aplicando o Teorema 4.2, podemos concluir que
k
ci (xk ) < ci (
x) = 0,
para todo k suficientemente grande. Por outro lado, se i
/ I(
x), vale ci (
x) < 0. Assim,
k
pela continuidade de ci , tambem temos ci (x ) < 0, para todo k suficientemente grande.
Alem disso, como cE e linear, digamos, cE (x) = Ax b, temos Ad = cE (
x)T d = 0, pois
d D(
x). Tambem temos que Ad = A(
x x) = cE (
x) cE (
x) = 0. Consequentemente,
Ad = 0. Portanto,
1
cE (xk ) = Axk b = A
x b + Ad = 0.
k
Conclumos entao que a sequencia (xk ) e viavel. Alem disso, como
xk x
d
=
,

kxk xk
kdk
temos que d T (
x). Mas T (
x) e fechado (veja o Exerccio 7.9). Logo d T (
x), completando a prova.

Otimizacao com Restricoes

139

d
x

d
d

~
x

Figura 7.18: Ilustracao auxiliar para o Teorema 7.31.

7.3.3

Condi
c
ao de qualificac
ao de independ
encia linear

Apresentamos agora uma das condicoes de qualificacao mais conhecidas e comuns


na literatura.
Definic
ao 7.32 Dizemos que a condicao de qualificacao de independencia linear (LICQ)
e satisfeita em x quando o conjunto formado pelos gradientes das restricoes de igualdade
e das restricoes de desigualdade ativas e linearmente independente, isto e,
{ci (
x) | i E I(
x)} e LI.
Esta condicao e bem mais facil de verificar do que aquela que colocamos na
hipotese do Teorema 7.23, envolvendo cones. Para exemplificar, vamos retomar as restricoes do Exemplo 7.19, onde apenas a determinacao do cone tangente T (
x) ja foi consideravelmente trabalhosa.
Exemplo 7.33 Considere duas restricoes de desigualdades definidas por c1 , c2 : IR2 IR,
onde c1 (x) = x21 2x1 x2 e c2 (x) = x21 2x1 + x2 . Verifique que o ponto x = 0 cumpre
LICQ.
!
!
2
2
As duas restricoes sao ativas em x e os vetores c1 (
x) =
e c2 (
x) =
sao
1
1
linearmente independentes.
Apesar desta simplicidade, LICQ tem a desvantagem de ser uma hipotese muito
forte para garantir KKT. Existem muitos problemas em que temos KKT sem que LICQ
seja satisfeita.
Exemplo 7.34 Considere o problema
minimizar f (x) = x1
sujeito a c1 (x) = x21 2x1 x2 0
c2 (x) = x21 2x1 + x2 0
c3 (x) = x1 0.
O ponto x = 0 e o minimizador deste problema, cumpre as condicoes de KKT mas n
ao
satisfaz LICQ.

Otimizacao com Restricoes

140

De fato, as tres restricoes sao ativas em x e os vetores


c1 (x ) =

2
1

!
,

c2 (x ) =

2
1

!
e c3 (x ) =

sao linearmente dependentes. Alem disso, f (x ) =

1
0

1
0

!
= c3 (x ), ou seja, vale

KKT.
Este exemplo motiva o estudo de hipoteses mais fracas mas que ainda sejam facilmente verificadas. Uma delas, atribuda a Mangasarian e Fromovitz, e apresentada na
proxima secao, onde tambem provamos que LICQ e realmente uma condicao de qualificacao.

7.3.4

Condi
c
ao de qualificac
ao de Mangasarian-Fromovitz

Enquanto que na condicao de Slater exigimos um ponto no interior relativo do


conjunto viavel, aqui pedimos que o conjunto viavel linearizado, D(
x), tenha interior
relativo nao vazio.
Definic
ao 7.35 A condicao de qualificacao de Mangasarian-Fromovitz (MFCQ) e satisfeita em x quando os gradientes das restricoes de igualdade sao linearmente independentes
e existir um vetor d IRn tal que
ci (
x)T d = 0 e cj (
x)T d < 0,
para todos i E e j I(
x).

d=

1
0

As restricoes do Exemplo 7.34 cumprem MFCQ no ponto x = 0, pois o vetor


!
satisfaz ci (
x)T d < 0, i = 1, 2, 3.

Vamos agora provar que MFCQ e LICQ sao, de fato, condicoes de qualificacao.
Isto sera feito em duas etapas. Primeiro, veremos que LICQ implica MFCQ. Em seguida,
provaremos que MFCQ implica T (
x) = D(
x).
Teorema 7.36 Se x satisfaz LICQ, entao x satisfaz MFCQ.
Demonstracao. Podemos supor, sem perda de generalidade, que E = {1, . . . , m} e
I(
x) = {m + 1, . . . , m + q}. Considere a matriz

M = c1 (
x) cm (
x) cm+1 (
x) cm+q (
x)
e b IRm+q dado por bi = 0, para i = 1, . . . , m e bi = 1, para i = m + 1, . . . , m + q.
Como as colunas de M sao linearmente independentes, o sistema M T d = b e possvel, ja

Otimizacao com Restricoes

141

que a matriz de coeficientes tem posto linha completo e portanto igual ao posto da matriz
ampliada. Sendo d uma solucao do sistema, temos
ci (
x)T d = 0 e cj (
x)T d = 1 < 0,
para todos i E e j I(
x). Assim, MFCQ e satisfeita, completando a prova.
Para provar a outra afirmacao precisaremos de dois resultados auxiliares, apresentados nos seguintes lemas.
Lema 7.37 Sejam x, d IRn tais que cE (
x) = 0 e ci (
x)T d = 0, para todo i E.
Suponha que os gradientes ci (
x), i E, sao linearmente independentes. Entao, existe

uma curva diferenciavel : (, ) IRn tal que cE (t) = 0, para todo t (, ),
(0) = x e 0 (0) = d.
Demonstracao. Como anteriormente, vamos considerar E = {1, . . . , m}. Assim, a matriz

M = c1 (
x) cm (
x) IRnm tem posto m. Portanto, existe uma matriz Z
IRn(nm) , cujas colunas formam uma base de N (M T ). Como Im(M ) N (M T ) = IRn , a
matriz (M Z) IRnn e inversvel. Defina : IRn+1 IRn por

x
t

!
=

cE (x)
Z T (x x td)

!
.

!
x
Como x = (M Z) e inversvel e
= 0, o Teorema 1.57 (teorema da funcao
0
n
implcita)
! garante a existencia de uma curva diferenciavel : (, ) IR tal que
(t)

= 0, para todo t (, ). Assim,


t

cE (t) = 0 e Z T ((t) x td) = 0.

(7.19)

Pela unicidade de , temos que (0) = x. Derivando a primeira equacao de (7.19) em


t = 0, obtemos
M T 0 (0) = 0.
(7.20)
Dividindo a segunda equacao de (7.19) por t 6= 0 e tomando o limite quando t 0, sai

Z T 0 (0) d = 0.

(7.21)

Como M T d = 0, usando (7.20) e (7.21), obtemos


MT
ZT

!
0 (0) =

donde segue que 0 (0) = d, completando a prova.

MT
ZT

!
d,

Otimizacao com Restricoes

142

Lema 7.38 Seja : (, ) IRn uma curva


todo t (, ). Se (0) = x e 0 (0) = d 6= 0,
cE (xk ) = 0, xk x e
xk x

kxk xk


diferenciavel tal que cE (t) = 0, para
entao existe uma sequencia (xk ) tal que
d
.
kdk

Demonstracao. Temos
lim
t0

(t) (0)
(t) x
= lim
= 0 (0) = d 6= 0,
t0
t
t

o que implica que (t) 6= x, para todo t 6= 0 suficientemente pequeno. Tomando uma
sequencia (tk ), com tk > 0 e tk 0, defina xk = (tk ). Assim,
xk x
tk
d
xk x
=

,
k
k
kx xk
tk kx xk
kdk
completando a prova.
Teorema 7.39 Se x satisfaz MFCQ, entao T (
x) = D(
x).
Demonstracao. Considere uma direcao arbitraria d D(
x) e d um vetor que cumpre
MFCQ. Dado t (0, 1), defina

d = (1 t)d + td.
Vamos provar que d T (
x). Como d, d D(
x), temos ci (
x)T d = 0, para todo i E.

Pelo Lema 7.37, existe uma curva diferenciavel : (, ) IRn tal que cE (t) = 0,
Aplicando o Lema 7.38, conclumos que
para todo t (, ), (0) = x e 0 (0) = d.
existe uma sequencia (xk ) tal que cE (xk ) = 0, xk x e
d
xk x
.

kxk xk
kdk
Para concluir que d T (
x) basta mostrar que cI (xk ) 0, para todo k suficientemente
grande. Se i I \ I(
x), entao ci (
x) < 0 e, pela continuidade de ci , temos ci (xk ) 0,
para todo k suficientemente grande. Por outro lado, se i I(
x), temos ci (
x)T d 0 e
ci (
x)T d < 0. Portanto, ci (
x)T d < 0. Pela diferenciabilidade de ci , segue que
ci (xk ) = ci (
x) + ci (
x)T (xk x) + o(kxk xk).
Assim,
k

ci (xk )

o(kxk xk)
T x x
T d
=
c
(
x
)
+

c
(
x
)
< 0,
i
i

kxk xk
kxk xk
kxk xk
kdk

o que implica ci (xk ) < 0, para todo k suficientemente grande. Conclumos entao que
d T (
x). Como T (
x) e fechado, temos que d T (
x), completando a prova.

Otimizacao com Restricoes

143

Os Teoremas 7.36 e 7.39 nos permitem concluir que tanto LICQ quanto MFCQ
sao condicoes de qualificacao. A condicao de MFCQ, apesar de ser uma hipotese mais
fraca, nao e necessaria para termos KKT. Veja o exemplo seguinte.
Exemplo 7.40 Considere o problema
minimizar f (x) = x1
sujeito a c1 (x) = x31 + x2 0
c2 (x) = x31 x2 0
c3 (x) = x1 0.
O ponto x = 0 e o minimizador e satisfaz KKT, mas nao e um ponto MFCQ.
De fato, as tres restricoes sao ativas em x e
c1 (x ) =

0
1

!
,

c2 (x ) =

0
1

!
e c3 (x ) =

1
0

!
.

2
Note que nao existe um vetor d IR
x)T d < 0 para i = 1, 2, 3. Alem disso,
! tal que ci (
1
temos KKT, pois f (x ) =
= c3 (x ). A Figura 7.19 ilustra este exemplo.
0

c1
f=c3

x*
c2

Figura 7.19: Ilustracao do Exemplo 7.40.


Salientamos que algoritmos de otimizacao que tem convergencia estabelecida utilizando hipoteses mais fracas sao mais abrangentes, ou seja, resolvem mais problemas.
Assim, um algoritmo que usa a hipotese MFCQ para provar sua convergencia e mais
poderoso que um algoritmo baseado em LICQ. Neste sentido, se um certo algoritmo se


baseia apenas na condicao P T (
x) = P D(
x) , entao ele e mais poderoso ainda e pode
resolver uma classe muito maior de problemas.

7.4

Condic
oes de otimalidade de segunda ordem

Vimos na Secao 7.2.4 as condicoes de otimalidade de primeira ordem que caracterizam minimizadores de problemas com restricoes. Veremos agora as condicoes que levam

Otimizacao com Restricoes

144

em conta as informacoes sobre a curvatura das funcoes envolvidas no problema. Para


simplificar a discussao, vamos considerar inicialmente problemas que envolvem apenas
restricoes de igualdade. Em seguida, trataremos dos problemas gerais de otimizacao, com
igualdades e desigualdades.

7.4.1

Problemas com restrico


es de igualdade
Considere o problema
minimizar f (x)
sujeito a c(x) = 0,

(7.22)

onde f : IRn IR e c : IRn IRm sao funcoes de classe C 2 .


O Lagrangiano associado ao problema (7.22) e dado por
(x, ) IRn IRm 7 `(x, ) = f (x) + T c(x),
onde o vetor e chamado multiplicador de Lagrange. Denotamos a matriz jacobiana de
c no ponto x por A(x), o gradiente parcial do Lagrangiano por
x `(x, ) = f (x) +

m
X

i ci (x) = f (x) + A(x)T

i=1

e a Hessiana parcial do Lagrangiano,


2xx `(x, )

= f (x) +

m
X

i 2 ci (x).

i=1

Nos dois resultados que seguem vamos estabelecer as condicoes necessarias e


suficientes de 2a ordem para o problema (7.22).
Teorema 7.41 (Condic
oes necess
arias de 2a ordem) Suponha que x e um minimizador local do problema (7.22) e que a condicao de qualificacao de independencia linear e
satisfeita em x . Entao, existe IRm tal que
dT 2xx `(x , )d 0,

para todo d N A(x ) .

Demonstracao. Considere d N A(x ) arbitrario. Pelo Lema 7.37 e pelo fato de c C 2 ,
podemos concluir que existe uma curva duas vezes diferenciavel : (, ) IRn tal que

c (t) = 0, para todo t (, ), (0) = x e 0 (0) = d. Fazendo 00 (0) = w e utilizando

Otimizacao com Restricoes

145

o Exerccio 1.25 obtemos, para cada i = 1, . . . , m,


dT 2 ci (x )d + ci (x )T w = 0.

(7.23)

Pelo Teorema 7.23, existe IRm tal que


x `(x , ) = f (x ) + A(x )T = 0

(7.24)

Multiplicando cada equacao de (7.23) pelo correspondente i e fazendo o somatorio,


obtemos
m
X
T
T
(7.25)
i 2 ci (x )d + A(x )T w = 0.
d
i=1


Alem disso, t = 0 e um minimizador local da funcao (t) = f (t) . Portanto, novamente
pelo Exerccio 1.25,
dT 2 f (x )d + f (x )T w = 00 (0) 0.
Somando com (7.25) e levando em conta (7.24), segue que
dT 2xx `(x , )d 0,
completando a demonstracao.
Cabe salientar aqui que o multiplicador IRm , satisfazendo (7.24) e u
nico. De
fato, se
f (x ) + A(x )T = f (x ) + A(x )T ,

entao A(x )T ( ) = 0. Como posto A(x ) = m, conclumos que = .
Teorema 7.42 (Condic
oes suficientes de 2a ordem) Sejam x IRn e IRm tais
que c(x ) = 0 e f (x ) + A(x )T = 0. Suponha tambem que as restricoes do problema
(7.22) cumprem a condicao de qualificacao de independencia linear em x e que
dT 2xx `(x , )d > 0,

para todo d N A(x ) \ {0}. Entao, existem > 0 e uma vizinhanca V de x tal que
f (x) f (x ) kx x k2 ,
para todo x V com c(x) = 0. Em particular, segue que x e um minimizador local
estrito do problema (7.22).
Demonstracao. Suponha, por absurdo, que exista uma sequencia (xk ) tal que c(xk ) = 0,
xk x e
1
f (xk ) f (x ) < kxk x k2 .
k

Otimizacao com Restricoes

146

Entao, fazendo y k = xk x , obtemos


1
1
f (x )T y k + (y k )T 2 f (x )y k + o(ky k k2 ) < ky k k2 .
2
k

(7.26)

Como c(xk ) = c(x ) = 0, temos, para cada i = 1, . . . , m,


1
ci (x )T y k + (y k )T 2 ci (x )y k + o(ky k k2 ) = 0,
2
donde segue que
A(x )T

T

m
X
1
y k + (y k )T
i 2 ci (x )y k + o(ky k k2 ) = 0.
2
i=1

Somando com (7.26) e lembrando que f (x ) + A(x )T = 0, obtemos


(y k )T 2xx `(x , )y k + o(ky k k2 ) <

2 k 2
ky k .
k

(7.27)

y k IN0
Alem disso, existe uma subsequencia convergente k d 6= 0. Pelo Lema 7.21, temos
ky k

que d D(x ) = N A(x ) . Por outro lado, dividindo (7.27) por ky k k2 e passando o
limite, obtemos
dT 2xx `(x , )d 0,
fornecendo uma contradicao e completando a demonstracao.

7.4.2

Problemas com restrico


es de igualdade e desigualdade

Vamos agora discutir as condicoes de 2a ordem para problemas gerais de otimizacao, da forma (7.1). Neste caso, o Lagrangiano associado e dado por
(x, , ) IRn IRm IRq 7 `(x, , ) = f (x) + T cE (x) + T cI (x),
Indicando as jacobianas de cE e cI por AE e AI , respectivamente, temos
x `(x, , ) = f (x) + AE (x)T + AI (x)T
e
2xx `(x, , ) = 2 f (x) +

X
iE

i 2 ci (x) +

i 2 ci (x).

iI

Lembramos que o conjunto de ndices das restricoes ativas em um ponto viavel x e indicado
por
I(x) = {i I | ci (x) = 0} .
Para os dois teoremas que seguem, vamos considerar um ponto x IRn , viavel

Otimizacao com Restricoes

147

para o problema (7.1), no qual a condicao de qualificacao de independencia linear e satisfeita.


Teorema 7.43 (Condic
oes necess
arias de 2a ordem) Suponha que x e um minimizador local do problema (7.1). Considere os multiplicadores e , que satisfazem as
condicoes de KKT, dadas no Teorema 7.23. Entao,
dT 2xx `(x , , )d 0,


para todo d N AE (x ) N AI(x ) (x ) .
Demonstracao. A prova segue os mesmos passos da que foi feita no Teorema 7.41, considerando as restricoes de desigualdade ativas como sendo de igualdades.
Assim como no caso para igualdades, aqui tambem temos a unicidade dos multiplicadores.
Agora provaremos que um ponto estacionario e minimizador, contanto que a
Hessiana do Lagrangiano seja definida positiva em um espaco maior do que o utilizado
no Teorema 7.43. Isso se deve ao fato de existirem restricoes ativas degeneradas, isto e,
com o correspondente multiplicador nulo.
Teorema 7.44 (Condic
oes suficientes de 2a ordem) Suponha que existem IRm
e IRq+ tais que ( )T cI (x ) = 0 e
f (x ) + AE (x )T + AI (x )T = 0.
Considere I + = {i I(x ) | i > 0}. Se
dT 2xx `(x , , )d > 0,


para todo d N AE (x ) N AI + (x ) , entao existem > 0 e uma vizinhanca V de x
tal que
f (x) f (x ) kx x k2 ,
para todo ponto viavel x V . Em particular, segue que x e um minimizador local estrito
do problema (7.1).
Demonstracao. Suponha, por absurdo, que exista uma sequencia viavel xk x tal que
f (xk ) f (x ) <

1 k
kx x k2 .
k

Entao, fazendo y k = xk x , obtemos


1
1
f (x )T y k + (y k )T 2 f (x )y k + o(ky k k2 ) < ky k k2 .
2
k

(7.28)

Otimizacao com Restricoes

148

Como cE (xk ) = cE (x ) = 0, temos, para cada i E,


1
ci (x )T y k + (y k )T 2 ci (x )y k + o(ky k k2 ) = 0,
2
donde segue que
AE (x )T

T

X
1
y k + (y k )T
i 2 ci (x )y k + o(ky k k2 ) = 0.
2
iE

(7.29)

Alem disso, como cI + (xk ) 0 e cI + (x ) = 0, temos


AI + (x )T I +

T

X
1
y k + (y k )T
i 2 ci (x )y k + o(ky k k2 ) 0.
2
+
iI

Somando com (7.28) e (7.29) e notando que


f (x ) + AE (x )T + AI + (x )T I + = 0,
obtemos
(y k )T 2xx `(x , , )y k + o(ky k k2 ) <

2 k 2
ky k .
k

(7.30)

(7.31)

y k IN0
Alem disso, existe uma subsequencia convergente k d 6= 0. Pelo Lema 7.21, temos
ky k
que


d D(x ) = d IRn | ci (x )T d = 0, se i E e ci (x )T d 0, se i I(x ) .
Dividindo (7.31) por ky k k2 e passando o limite, obtemos
dT 2xx `(x , , )d 0.

Portanto, pela hipotese de positividade, d
/ N AI + (x ) , o que significa que existe i I + ,
tal que ci (x )T d < 0. Assim, por (7.30), f (x )T d > 0. No entanto, dividindo (7.28)
por ky k k e passando o limite, obtemos f (x )T d 0. Esta contradicao completa a
demonstracao.
Cabe salientar que a hipotese de positividade no Teorema 7.44 nao pode ser en

fraquecida trocando N AI + (x ) por N AI(x ) (x ) . Por outro lado, a conclusao obtida


no Teorema 7.43 nao e valida se considerarmos N AI + (x ) no lugar de N AI(x ) (x ) .
um bom exerccio identificar na demonstracao sugerida para este teorema, bem como
E
na demonstracao do Teorema 7.44, o ponto onde elas iriam falhar com as referidas substituicoes. Os exemplos a seguir confirmam que, de fato, tais trocas nao podem ser feitas.

Otimizacao com Restricoes

149

Exemplo 7.45 Considere o problema


minimizar f (x) = x1 + x22 + 3x2 x3 + x23
sujeito a c1 (x) = x1 0
c2 (x) = x2 0
c3 (x) = x3 0.
Verifique que o ponto x = 0 e um minimizador para este problema, o qual cumpre as

hipoteses do Teorema 7.43, mas existe d N AI + (x ) tal que dT 2xx `(x , )d < 0.
Temos I(x ) = {1, 2, 3},



1
1
0


f (x ) = 0 , c1 (x ) = 0 , c2 (x ) = 1
0
0
0

0

e c3 (x ) = 0 .
1

Portanto, 1 = 1, 2 = 3 = 0 e

0 0 0

2xx `(x , ) = 0 2 3 .
0 3 2


0
0
0



Alem disso, N AI + (x ) = 1 , 0 . Tomando d = 1 N AI + (x ) , temos


0
1
1

T 2
que d xx `(x , )d < 0.
Exemplo 7.46 Considere o problema
minimizar f (x) = (x1 2)2 x22 + x23
sujeito a c1 (x) = x21 x22 + 1 0
c2 (x) = x2 0.

1

Verifique que o ponto x = 0 cumpre as hipoteses do Teorema 7.44, com I(
x) no lugar
0
+
de I , mas nao e um minimizador local deste problema.
Temos I(
x) = {1, 2},


2
2


f (
x) = 0 , c1 (
x) = 0
0
0

0

e c2 (
x) = 1 .
0

Otimizacao com Restricoes

150

Portanto,
1 = 1,
2 = 0 e

4
0 0

2xx `(
x,
) = 0 4 0 .
0
0 2

0

Alem disso, N AI(x) (
x) = 0 , donde segue que
1
dT 2xx `(
x,
)d > 0,

para todo d N AI(x) (
x) \ {0}. Para ver que x nao e minimizador local, note que


1
0



f t < f (
x), para todo t > 0. Observe tambem que d = 1 N AI + (
x) e que
0
x,
)d < 0.
d 2xx `(

possvel, no entanto, mostrar que os dois teoremas podem ser melhorados,


E


trabalhando com um conjunto intermediario, entre N AI(x ) (x ) e N AI + (x ) . Para
isto, considere o conjunto I 0 = {i I(x ) | i = 0} e o cone


b ) = d IRn | ci (x )T d = 0, i E I + , ci (x )T d 0, i I 0 .
D(x

(7.32)

Note que




b ) N AE (x ) N AI + (x ) .
N AE (x ) N AI(x ) (x ) D(x
Nos Exerccios 7.26 e 7.27, discutimos as condicoes necessarias e suficientes, respectivab ).
mente, considerando o conjunto D(x

7.5

Exerccios do captulo



7.1. Seja S = d IR2 | d 0 , d1 d2 = 0 .
(a) Mostre que S e um cone nao convexo;


(b) Determine P (S) = p IR2 | pT d 0, d S , o polar de S;
(c) Represente geometricamente os conjuntos S e P (S).
7.2. Para cada um dos conjuntos abaixo, diga se e um cone e represente geometricamente.


(a) S = d IR2 | d21 d2 0 ;

Otimizacao com Restricoes

151



(b) S = d IR2 | d21 d2 0 .
7.3. Suponha que S1 e S2 sejam cones do IRn . Mostre que S = S1 S2 e um cone e que
P (S) = P (S1 ) P (S2 ).
!
!
!
1
3
4
7.4. Sejam u =
, v =
e x =
. Represente geometricamente o cone
2
1
3
S = {1 u + 2 v | j 0, j = 1, 2} e a sua translacao x + S = {
x + d | d S}.
7.5. Se S IRn e 0 int(S), entao P (S) = {0}.
7.6. Sejam B IRnm e C = {By | y IRm , y 0}. Usando o Lema 7.11, mostre que

P P (C) = C.
7.7. [Caratheodory] Sejam B = (v 1 v 2 v m ) IRnm e C = {By | y IRm , y 0}.
Considere o conjunto J = {J {1, . . . , m} | {v j | j J} e LI}. Usando ideias da de[
monstracao do Lema 7.10, mostre que C =
CJ , onde CJ = {BJ yJ | yJ 0}.
JJ

7.8. Sejam B IRnm e C = {By | y IRm , y 0}. Usando o Exerccio 7.7, mostre
que C e um conjunto fechado.
7.9. Considere IRn e x . Entao T (
x) e um conjunto fechado.
7.10. Considere c : IR2 IR2 dada por
c(x) =

x21 x2
x21 + x2

!
.

Usando ideias similares a`s do Exemplo 7.19, determine o cone T (


x), associado ao conjunto


2
viavel = x IR | c(x) 0 em torno do ponto x = 0. Obtenha tambem o cone D(
x).
7.11. Escreva as condicoes de KKT para o problema de minimizar f (x) = x1 x2 na
circunferencia x21 + x22 = 1. Encontre os minimizadores e represente geometricamente.

2
1
x21
x21
5
2
7.12. Dadas f (x) = (x1 3) + 2 x2
, c1 (x) =
x2 e c2 (x) =
+ x2 ,
3
3
2
6


considere = x IR2 | c(x) 0 . Encontre, geometricamente, o minimizador de f em
. Escreva as condicoes de KKT.
7.13. Considere o problema
min f (x) = x1
s. a c1 (x) = x2 (1 x1 )3 0
c2 (x) = x2 0.
Mostre que x =

1
0

!
e um minimizador, mas as condicoes KKT nao se verificam.

Otimizacao com Restricoes

152

7.14. Faca o mesmo para o problema


min f (x) = x1
s. a c1 (x) = x2 + (x1 1)3 0
c2 (x) = x2 + (x1 1)3 0.
7.15. Formule e resolva algebricamente, por meio das condicoes de otimalidade de primeira ordem, o problema
! de encontrar o ponto da curva x2 = x1 (3 x1 ) que esta mais
3
proximo do ponto
. Qual a garantia de que o ponto obtido e de fato a solucao dese3
jada? Explique. Sugestao: explore a visualizacao geometrica dos elementos do problema
para auxilia-lo na analise algebrica.
7.16. Seja L = {x IRn | Ax + b = 0}, onde A IRmn e tal que posto(A) = m e
b IRm . Dado a IRn , faca o mesmo que foi pedido no Exerccio 7.15 para o problema
de encontrar projL (a). Conclua que projL (a) = a AT (AAT )1 (Aa + b). Depois reveja o
Exerccio 3.8.
7.17. Mostre que o problema abaixo tem um minimizador global e encontre-o usando
KKT.
min x1 + x2 + + xn
s. a x1 x2 xn = 1
x 0.
x1 + x2 + + xn

n
.
x1 x2 xn
n


7.18. Princpio de Fermat na otica. Sejam = x IR2 | c(x) = 0 e a, b IR2 conforme
a figura abaixo. Mostre que se x minimiza a soma das distancias aos pontos a e b, dentre
os pontos de , entao o vetor c(x ) forma angulos iguais com a x e b x . (Sugestao:
mostre primeiro que se u, v IR2 sao vetores de mesma norma e w = u + v, entao w forma
angulos iguais com u e v.)
Conclua que

b
x*

c
a

Otimizacao com Restricoes

153

7.19. Mostre que o problema abaixo tem 4 minimizadores globais e encontre-os usando
KKT.
min x21 + x22 + x23
s. a x1 x2 x3 = 1.
7.20. Mostre que o problema abaixo pode ter 1 ou 2 minimizadores globais, dependendo
do valor de > 0. Faca uma representacao geometrica.
min x21 + (x2 1)2
s. a x2 x21 .
7.21. Seja A IRnn uma matriz definida positiva. Considere os problemas
min xT x
s. a xT Ax = 1

min xT Ax
s. a xT x = 1.

Mostre que minimizadores destes problemas sao autovetores de A e obtenha o autovalor


como funcao do autovetor correspondente.
7.22. [13, Exerc. 9.6] Considere os problemas primal e dual de programacao linear
min cT x
s. a Ax = b
x0

max bT y
s. a AT y c.

Suponha que x seja um minimizador do primal e o multiplicador associado `a restricao


de igualdade b Ax = 0.
(a) Mostre que bT y cT x, para todos x e y viaveis;
(b) Prove que cT x = bT ;
(c) Prove que e solucao do problema dual;
(d) Conclua que o valor otimo primal e dual coincidem.
1
7.23. Seja f : IRn IR dada por f (x) = xT Ax + bT x + c, onde A IRnn e uma
2
matriz indefinida, b IRn , c IR e > 0. Considere o problema
min f (x)
s. a xT x 2 .
Mostre que este problema possui pelo menos um minimizador global e que tal ponto esta
na fronteira do conjunto viavel.

Otimizacao com Restricoes

154

7.24. Considere a funcao quadratica


1
f (x) = xT Ax + bT x,
2
com A IRnn simetrica e b IRn . No Exerccio 3.17 vimos que se f e limitada inferiormente, entao f possui um u
nico minimizador global pertencente a Im(A). Mostre que
este ponto e exatamente a solucao do problema
min xT x
s. a Ax + b = 0.
7.25. Considere o problema quadratico
1
min f (x) = xT Bx + bT x
2
s. a Ax + c = 0,
onde A IRmn e B IRnn sao tais que posto(A) = m e B e definida positiva no n
ucleo
T
de A, isto e, d Bd > 0 para todo d 6= 0, d N (A). Mostre que este problema tem um
u
nico ponto estacionario, que e minimizador global.
7.26. [CN2 forte] Suponha que x e um minimizador local do problema (7.1) e que a
condicao de qualificacao de independencia linear e satisfeita em x . Considere os multiplicadores e , que satisfazem as condicoes de KKT, dadas no Teorema 7.23. Entao,
dT 2xx `(x , , )d 0,
b ), o cone definido em (7.32).
para todo d D(x
7.27. [CS2 forte] Seja x um ponto viavel para o problema (7.1), no qual a condicao
de qualificacao de independencia linear e satisfeita. Suponha que existem IRm e
IRq+ tais que ( )T cI (x ) = 0 e
f (x ) + AE (x )T + AI (x )T = 0.
Se
dT 2xx `(x , , )d > 0,
b ), entao existem > 0 e uma vizinhanca V de x tal que
para todo d D(x
f (x) f (x ) kx x k2 ,
para todo ponto viavel x V .

Captulo 8
M
etodos para Otimiza
c
ao com
Restri
co
es
No Captulo 7 vimos as condicoes que caracterizam minimizadores de problemas
de otimizacao com restricoes. Vamos agora discutir alguns metodos cujo objetivo e obter
pontos estacionarios para tais problemas.
Nossa intencao nao e abordar os diversos metodos existentes, mas sim apresentar
o classico metodo de programacao quadratica sequencial e em seguida algumas ideias de
uma classe particular de algoritmos de otimizacao, conhecidos como algoritmos de filtro.
Algumas referencias para o que trataremos neste captulo sao [3, 6, 35, 39].

8.1

Programac
ao quadr
atica sequencial

O metodo de programacao quadratica sequencial (PQS) e um dos metodos mais


eficazes para otimizacao nao linear com restricoes. O princpio que norteia este metodo
e comum quando se pretende resolver, de forma aproximada, um problema matematico:
a solucao de um problema difcil vai sendo aproximada por uma sequencia de pontos
obtidos como solucao de um problema facil, que muda a cada iteracao de acordo com
as informacoes disponveis no ponto corrente. O metodo de Newton para a resolucao de
sistemas de equacoes nao lineares e um exemplo disso. Neste caso os problemas faceis
sao obtidos tomando-se a linearizacao do sistema que queremos resolver, em torno do
ponto corrente. Temos assim um sistema de equacoes lineares, cuja solucao e tomada
como proximo ponto da sequencia.
Nos metodos de programacao quadratica sequencial a ideia consiste em substituir,
a cada iteracao, a funcao objetivo por um modelo quadratico da lagrangiana e as restricoes
por equacoes ou inequacoes lineares, aproximacoes de Taylor de primeira ordem em torno
do ponto corrente.
Para simplificar a exposicao vamos considerar problemas apenas com restricoes

155

Metodos para Otimizacao com Restricoes

156

de igualdade, ou seja,
minimizar f (x)
sujeito a c(x) = 0,

(8.1)

onde f : IRn IR e c : IRn IRm sao funcoes de classe C 2 .


Denotamos a matriz jacobiana de c no ponto x por A(x). O lagrangiano associado
ao problema (8.1) e dado por
x IRn , IRm 7 `(x, ) = f (x) + T c(x),
onde o vetor e chamado multiplicador de Lagrange. A Hessiana parcial do lagrangiano,
2xx `(x, ), e denotada por B(x, ).

8.1.1

Algoritmo

Dados xk e k , o algoritmo basico de PQS consiste em resolver a cada iteracao o


seguinte problema quadratico
1
minimizar `(xk , k ) + x `(xk , k )T d + dT B(xk , k )d
2
sujeito a A(xk )d + c(xk ) = 0,

(8.2)

que sob certas hipoteses tem solucao u


nica dk . Definimos entao xk+1 = xk + dk , calculamos o multiplicador de Lagrange k+1 e repetimos o processo com o novo problema
quadratico. Com este procedimento, esperamos obter uma sequencia que tenha algum
ponto de acumulacao (x , ) que satisfaca as condicoes de otimalidade de primeira ordem para o problema (8.1), dadas pelo Teorema 7.23. Tais condicoes podem ser escritas
como
!
!

T
f
(x
)
+
A(x
)

0
`(x , ) =
=
.
c(x )
0
Podemos colocar a discussao anterior de modo mais preciso no seguinte algoritmo.
Algoritmo 8.1 PQS basico
Dados: k = 0, (x0 , 0 ) IRn IRm
Enquanto `(xk , k ) 6= 0
Resolva o problema (8.2), obtendo uma solucao primal-dual (dk , k )
Faca xk+1 = xk + dk
Defina k+1 = k + k
k =k+1
Quando falamos em obter uma solucao primal-dual (dk , k ) do subproblema quadratico (8.2), queremos dizer que devemos resolver as condicoes de KKT para este sub-

Metodos para Otimizacao com Restricoes

157

problema. Isto significa resolver o sistema


(

B(xk , k )d + A(xk )T = x `(xk , k )


A(xk )d
= c(xk ).

(8.3)

Veremos agora que este procedimento, quando iniciado em uma vizinhanca de um


ponto estacionario onde sao satisfeitas as condicoes suficientes de segunda ordem, esta bem
definido e produz uma sequencia que converge quadraticamente para este ponto.

8.1.2

Converg
encia local

Para estabelecer a convergencia do algoritmo vamos considerar uma solucao


primal-dual (x , ) do problema (8.1) e assumir que valem as seguintes condicoes.
H1 As funcoes 2 f e 2 ci , i = 1, . . . , m, sao lipschitzianas em uma vizinhanca de x .
H2 A jacobiana das restricoes, A(x ), tem posto linha completo e a Hessiana parcial
B(x , ) e definida positiva no espaco nulo de A(x ), isto e, dT B(x , )d > 0 para todo
d 6= 0, d N (A(x )).
O seguinte lema garante que se (xk , k ) esta proximo de (x , ), o passo (dk , k )
satisfazendo (8.3) esta bem definido e e u
nico.
Lema 8.1 Seja (x , ) uma solucao primal-dual do problema (8.1) e suponha que a
Hipotese H2 seja satisfeita. Entao existe uma vizinhanca V1 de (x , ), tal que se
(xk , k ) V1 , o sistema (8.3) tem uma u
nica solucao (dk , k ).
Demonstracao. Usando o Exerccio 1.18, podemos concluir que a matriz
B(x , ) A(x )T
A(x )
0

e nao singular. Por continuidade, segue que existe uma vizinhanca V1 de (x , ) tal que
se (xk , k ) V1 , entao
!
B(xk , k ) A(xk )T
A(xk )
0
tambem e nao singular. Mas isto significa que o sistema (8.3), que pode ser escrito como
B(xk , k ) A(xk )T
A(xk )
0

!
=

x `(xk , k )
c(xk )

!
,

tem uma u
nica solucao (dk , k ), completando a demonstracao.
Nas condicoes do Lema 8.1, o vetor dk e minimizador global do subproblema
(8.2), de acordo com o Exerccio 7.25.

Metodos para Otimizacao com Restricoes

158

Vamos agora provar o principal resultado desta secao, que estabelece a convergencia local do Algoritmo 8.1 ao mesmo tempo que evidencia a relacao com o metodo
de Newton.
Teorema 8.2 Seja (x , ) uma solucao primal-dual do problema (8.1) e suponha que
as Hipoteses H1 e H2 sejam satisfeitas. Entao existe uma vizinhanca V de (x , ), tal
que se (x0 , 0 ) V , o Algoritmo 8.1 esta bem definido e, se o criterio de parada n
ao
k
k
for satisfeito, gera uma sequencia (x , )kIN que converge quadraticamente para esta
solucao.
Demonstracao. Basta notar que o passo (dk , k ) definido pelo Algoritmo 8.1 e exatamente
o passo de Newton para o sistema de equacoes
`(x, ) =

f (x) + A(x)T
c(x)

!
=

0
0

!
.

(8.4)

B(x, ) A(x)T
A(x)
0

De fato, a jacobiana da funcao (x, ) 7 `(x, ) e a matriz

!
e assim

k
o passo de Newton para (8.4), (dkN , N
), e dado por

B(xk , k ) A(xk )T
A(xk )
0

dkN
k
N

!
=

f (xk ) + A(xk )T k
c(xk )

!
=

x `(xk , k )
c(xk )

!
,

ou seja, pelo sistema (8.3). Se (xk , k ) esta na vizinhanca dada no Lema 8.1, bem como
na regiao de convergencia do metodo de Newton, entao o passo PQS coincide com o passo
k
(dkN , N
) e o Algoritmo 8.1 esta bem definido. Alem disso, a convergencia quadratica segue
do Teorema 5.11.
Ressaltamos que a convergencia quadratica estabelecida no Teorema 8.2 e da
sequencia (xk , k )kIN e isto nao implica que a convergencia de (xk ) seja quadratica, conforme podemos ver no exemplo seguinte.
Exemplo 8.3. [3, Exerccio 12.8] Defina x0 = 0 = 1 e, para k 1,
(
xk =

2 , se k e mpar
xk1 , se k e par

k1

k = 2

onde (0, 1). A sequencia (xk , k )kIN converge quadraticamente para (0, 0), enquanto
que a convergencia de (xk ) para 0 nao e sequer linear.
Temos xk = k , se k e par e xk = (k )2 < k , se k e mpar. Alem disso, k+1 = (k )2 ,
para todo k 1 e portanto,
k+1
k(xk+1 , k+1 )k
=
= 1.
k(xk , k )k2
(k )2

Metodos para Otimizacao com Restricoes

159

xk+1
Por outro lado, temos k = 1, se k e mpar.
x
possvel, entretanto, modificar o Algoritmo 8.1 de modo a transforma-lo em um
E
algoritmo puramente primal e ter convergencia quadratica na sequencia (xk ). Podemos
encontrar tal abordagem em [3, Teorema 12.5].
O algoritmo PQS, discutido aqui, pode ser interpretado de outro modo. Fazendo
= + k , a relacao (8.3) pode ser reescrita como
(

B(xk , k )d + f (xk ) + A(xk )T = 0


A(xk )d + c(xk )
= 0,

que representa as condicoes de otimalidade do problema quadratico


1
minimizar f (xk ) + f (xk )T d + dT B(xk , k )d
2
sujeito a A(xk )d + c(xk ) = 0.

(8.5)

Podemos assim fazer uma releitura do algoritmo PQS e dizer que minimizamos a cada
iteracao um modelo quadratico da funcao objetivo, sujeito a linearizacao das restricoes.
Entretanto, neste modelo quadratico incorporamos na Hessiana informacoes sobre a curvatura das restricoes.
interessante notar que considerando em (8.5) o modelo
E
1
f (xk ) + f (xk )T d + dT 2 f (xk )d,
2

(8.6)

isto e, a aproximacao de Taylor de segunda ordem de f , o algoritmo nao funciona, conforme nos mostra o exemplo seguinte.
Exemplo 8.4. [3, Exerccio 12.1] Considere o problema
x21
+ 2x2
2
c(x) = x21 + x22 1 = 0,

minimizar f (x) =
sujeito a

(8.7)

!
0
cuja solucao (
unica e global) e o ponto x =
, com multiplicador correspondente
1
!

= 1. Suponha que o ponto corrente seja x =


, com > 0 suficientemente
1 2
pequeno. Mostre que se o passo for calculado utilizando (8.6) como modelo, entao o novo
ponto se distancia da solucao. Calcule tambem o passo obtido por PQS.
O subproblema quadratico associado a (8.7), utilizando o modelo (8.6), fica
d21
d1 + 2d2
2
d1 1 2 d2 = 0,

minimizar
sujeito a

(8.8)

Metodos para Otimizacao com Restricoes

160

ja desconsiderando os termos constantes. Resolvendo as condicoes de KKT para (8.8),


obtemos
2 2
2
2

e
d2 =
.
d1 =

1 2
1 2
1 2
Para suficientemente pequeno o ponto x fica muito proximo da solucao x . No entanto,
temos
kx + d x k 2kx x k.
Ou seja, mesmo estando o ponto corrente arbitrariamente proximo da solucao, o passo
determinado por (8.8) aproximadamente duplica a distancia ao minimizador. Vamos
agora calcular o passo verdadeiro de PQS, solucao do subproblema
minimizar
sujeito a

1 2
(d + 2d2 ) d1 + 2d2
2 1 2
d1 1 2 d2 = 0,

que e o problema (8.5) com B(xk , k ) = 2xx `(x, ) =


vetor
dpqs
Neste caso temos

( 1 2 2)
=
1 + 2

1 0
0 2
!

1 2

(8.9)

!
. A solucao de (8.9) e o

kx + dpqs x k
1
,

2
kx x k
2

o que esta em conformidade com o Teorema 8.2. A Figura 8.1 ilustra este exemplo, onde
o conjunto viavel esta representado pela linha circular cheia, as curvas de nvel da funcao
objetivo pelas linhas tracejadas e x+ = x + dpqs .

c(x)=0

x+d
x*
x+

Figura 8.1: O passo de Pseudo PQS para o Exemplo 8.4.

Metodos para Otimizacao com Restricoes

8.2

161

M
etodos de filtro

Do mesmo modo como acontece com o metodo de Newton, nao temos a convergencia global para PQS, isto e, se o ponto inicial nao estiver suficientemente proximo
de uma solucao, nao se garante que a sequencia gerada pelo algoritmo seja convergente,
nem mesmo que tenha algum ponto de acumulacao estacionario. Isto se deve ao fato de
que os passos obtidos nao passam por nenhum criterio de aceitacao.
necessario, portanto, considerar estrategias que submetem o passo calculado a
E
um teste, so aceitando se for razoavelmente bom. As formas classicas sao a busca linear
e regiao de confianca com funcao de merito. Nesta secao, entretanto, discutiremos outra
abordagem, apresentada com mais detalhes em [41, 42], que tambem permite estabelecer
convergencia global.
Vamos considerar problemas gerais de otimizacao, dados por (7.1). Como o
metodo apresentado aqui e iterativo e aceita pontos inviaveis no decorrer das iteracoes,
vamos definir uma funcao para medir o quanto um iterando esta proximo do conjunto
viavel. Desta forma, definimos a medida de inviabilidade h : IRn IR+ dada por


h(x) = c+ (x) ,

(8.10)

onde k k e uma norma arbitraria e c+ : IRn IRm e definida por


(
c+
i (x) =

ci (x),
max{0, ci (x)},

se i E
se i I.

(8.11)

Os metodos de filtro, introduzidos por Fletcher e Leyffer em [10], definem uma


regiao proibida armazenando pares (f (xj ), h(xj )) escolhidos convenientemente das iteracoes anteriores, formando assim um conjunto de pares que denominamos filtro. Um ponto
tentativo x+ e aceito se o par (f (x+ ), h(x+ )) nao for dominado por nenhum elemento
do filtro, segundo a regra: (f (x+ ), h(x+ )) e dominado por (f (x), h(x)) se, e somente se,
f (x+ ) f (x) e h(x+ ) h(x). No entanto, para garantir propriedades de convergencia
global dos metodos de filtro, esses mesmos autores sugerem que uma margem seja criada
em torno da regiao proibida, na qual os pontos tambem serao considerados proibidos.
Desta forma, o metodo de filtro proposto em [10] evita pontos nas regioes


Rj = x IRn | f (x) f (xj ) h(xj ) e h(x) (1 )h(xj )

(8.12)

onde (0, 1) e uma constante dada. Temos tambem uma maneira um pouco diferente
de definir a regra de dominacao, proposta inicialmente por Chin [4], que considera as
regioes


Rj = x IRn | f (x) + h(x) f (xj ) e h(x) (1 )h(xj ) .
(8.13)
O algoritmo de filtro baseado na regra (8.12) e denominado filtro original e aquele baseado

Metodos para Otimizacao com Restricoes

162

em (8.13) e chamado filtro inclinado.


Na Figura 8.2 ilustramos as regioes em IR2 formadas pelos pares (f (x), h(x))
associados aos pontos x Rj , com Rj dado em (8.12) e (8.13), respectivamente. Tais
pontos sao recusados pelo filtro e, por esse motivo, denominamos cada uma dessas regioes
de regiao proibida no plano f h. Nesta figura, e sempre que for conveniente, simplificamos
a notacao usando (f j , hj ) para representar o par (f (xj ), h(xj )).
h

(f j, h j)

(f j, h j)

Figura 8.2: Regiao proibida.

8.2.1

O algoritmo geral de filtro

Apresentamos aqui um algoritmo geral de filtro que permite uma grande liberdade
no calculo do passo e na escolha do criterio de filtro, original ou inclinado.
O algoritmo constroi uma sequencia de conjuntos F0 , F1 , . . . , Fk , compostos de

pares f j , hj IR2 , onde Fk e denominado filtro corrente. Em nossa analise consideramos
tambem o conjunto Fk , que e uma regiao permanentemente proibida em IRn e uma regiao
S
temporariamente proibida dada por Fk = Fk
Rk .
Na Figura 8.3 temos o filtro permanente, representado pelo conjunto


Fk = (f i , hi ), (f j , hj ), (f l , hl ) ,


e o filtro temporario, dado por Fk = Fk (f k , hk ) , para ambos os criterios, original e
inclinado. As regioes hachuradas sao formadas pelos pares (f (x), h(x)) correspondentes
aos pontos x Fk .
Algoritmo 8.2 Filtro
Dados: x0 IRn , F0 = , F0 = , (0, 1).
k=0
repita
S
Defina Fk = Fk
{(f k , hk )} e
S
Fk = Fk
Rk , com Rk dado em (8.12) ou (8.13)

Metodos para Otimizacao com Restricoes

163

Passo:
se xk e estacionario, pare com sucesso
o, calcule xk+1
sena
/ Fk .
Atualizacao do filtro:
se f (xk+1 ) < f (xk ),
Fk+1 = Fk , Fk+1 = Fk
o,
sena
Fk+1 = Fk , Fk+1 = Fk
k = k + 1.
h

(iteracao f )
(iteracao h)

(f i,hi)

(f i,hi)

(f j,hj)

(f j,hj)

(f k,hk)

(f k,hk)
(f l,hl)

(f l,hl)
f

Figura 8.3: Regioes proibidas no plano f h.


No incio de cada iteracao, o par (f k , hk ) e temporariamente introduzido no filtro,
definindo a regiao proibida Rk . Ao final da iteracao, o par (f k , hk ) se tornara permanente
no filtro somente se a iteracao nao produzir uma reducao em f , ou seja, se a iteracao
for do tipo h. Na iteracao do tipo f o novo elemento e descartado, ou seja, nao havera
atualizacao do filtro.
Note que se xk e viavel, entao qualquer ponto x nao proibido deve satisfazer
f (x) < f (xk ). A Figura 8.4 ilustra esta situacao para ambos os criterios de filtro, original
e inclinado.
h

(f ,h)
(f k, hk)

Figura 8.4: Caso em que xk e viavel.


O Lema 8.5, apresentado a seguir, estabelece que o Algoritmo 8.2 e bem definido.
Dada a generalidade do algoritmo, e suficiente mostrar que sempre que o ponto corrente

Metodos para Otimizacao com Restricoes

164

e nao estacionario, um novo ponto nao proibido pode ser escolhido, a menos que o ponto
corrente seja uma solucao global do problema (7.1).
Lema 8.5 Considere o Algoritmo 8.2. Para todo k IN tal que xk e nao estacion
ario,
as seguintes afirmacoes sao validas:
(i) Temos hj > 0, para todo j IN tal que (f j , hj ) Fk ;
(ii) Existe xk+1
/ Fk .
Demonstracao. Vamos provar este lema por inducao. Para k = 0, temos que F0 = e
F0 = {(f 0 , h0 )}, logo (i) e valida. Para provar (ii), considere inicialmente que h0 > 0.
Nesse caso, podemos tomar x1 como qualquer ponto viavel. Por outro lado, se h0 = 0,
existe um ponto viavel x1 tal que f 1 < f 0 , uma vez que x0 nao e um minimizador do
problema (7.1). Em ambos os casos, conclumos que x1
/ F0 . Agora, suponha que (i)
e (ii) sao validas para k 1. Se a iteracao k 1 e uma iteracao f , entao Fk = Fk1 e
consequentemente, pela hipotese de inducao, temos que a afirmacao (i) e verdadeira para


k. Caso contrario, k 1 e uma iteracao h e Fk = Fk1 (f k1 , hk1 ) . Nesse caso, e
suficiente provar que hk1 > 0. Suponha por contradicao que hk1 = 0. Pela hipotese de
inducao, existe xk
/ Fk1 . Isto significa que f k < f k1 , contradizendo o fato de que k e
uma iteracao h. Entao, hk1 > 0 e, deste modo, (i) e valida para k. Resta provar (ii).
Se hk > 0, podemos tomar xk+1 como qualquer ponto viavel. Por outro lado, se hk = 0,
como xk nao e um minimizador do problema (7.1), existe um ponto viavel xk+1 tal que
f k+1 < f k . Em ambos os casos, usando (i), conclumos que xk+1
/ Fk .
Desta forma, vamos assumir que o Algoritmo 8.2 gera uma sequencia infinita (xk )
e, na proxima secao, provaremos que este algoritmo e globalmente convergente.

8.2.2

Converg
encia global

Assumindo uma hipotese sobre desempenho do passo, vamos provar nesta secao
que qualquer sequencia gerada pelo Algoritmo 8.2 tem pelo menos um ponto de acumulacao estacionario. No decorrer desta secao procuramos enfatizar as diferencas entre
as propriedades de convergencia que uma escolha particular da regra de filtro proporciona.
Primeiramente, vamos estabelecer as hipoteses necessarias para a analise de convergencia do Algoritmo 8.2.
H3 A sequencia (xk ) permanece em um conjunto convexo e compacto X IRn .
H4 As funcoes f, ci , i E I, sao duas vezes continuamente diferenciaveis.
H5 Dado um ponto viavel nao estacionario x X, existem M > 0 e uma vizinhanca V
de x tal que se xk V , entao
f (xk ) f (xk+1 ) M vk ,

Metodos para Otimizacao com Restricoes

165





e definido como a altura do filtro.
onde vk = min 1, min (1 )hj | f j , hj Fk
As duas primeiras hipoteses sao classicas e, embora H3 seja uma hipotese sobre a
sequencia gerada pelo algoritmo, esta pode ser garantida incluindo restricoes de caixa ao
problema. Por outro lado, a Hipotese H5, proposta por Ribeiro, Karas e Gonzaga [46],
assume que o passo deve ser eficiente no sentido de que, perto de um ponto viavel nao
estacionario, a reducao na funcao objetivo e relativamente grande.
Considere o conjunto das iteracoes h dado por



Ka = k IN | f k , hk e adicionado ao filtro .

(8.14)

No lema a seguir vamos mostrar o que acontece quando este conjunto e infinito.
Lema 8.6 Suponha que as Hipoteses H3 e H4 sejam satisfeitas. Se o conjunto Ka e
infinito, entao
K
h(xk ) a 0.
Demonstracao. Assuma por contradicao que, para algum > 0, o conjunto


K = k Ka | h(xk )
e infinito. A suposicao de compacidade em H3 e a continuidade de (f, h), assegurada por
H4, garantem que existe uma subsequencia convergente (f k , hk )kK1 , K1 K. Portanto,
como (0, 1), podemos tomar ndices j, k K1 , com j < k tais que
j
k k

(f , h ) (f j , hj ) < h(x ) .
2
2

Este resultado implica em xk Fj = Fj+1 (veja a Figura 8.5), o que e uma contradicao,
temos que
uma vez que, devido ao criterio de atualizacao do filtro e a` definicao de F,
xk
/ Fk1 Fk Fj+1 .

Vamos provar agora que a sequencia (xk ) tem um ponto de acumulacao viavel.
Lema 8.7 Suponha que as Hipoteses H3 e H4 sejam satisfeitas e considere a sequencia
(xk )kIN gerada pelo Algoritmo 8.2. Entao, existe um conjunto infinito IN0 IN tal que
IN0
h(xk ) 0.
Demonstracao. Se Ka e infinito, este resultado segue diretamente do Lema 8.6 e, nesse
caso, IN0 = Ka . Por outro lado, se Ka e finito, existe k0 IN tal que toda iteracao k k0
e uma iteracao f . Deste modo, (f (xk ))kk0 e decrescente e, pelas Hipoteses H3 e H4,
f (xk ) f (xk+1 ) 0.

(8.15)

Metodos para Otimizacao com Restricoes

166

k
j

Figura 8.5: Ilustracao auxiliar para o Lema 8.6.


Considere agora o conjunto


K1 = k IN | h(xj ) < f (xk ) f (xk+1 )
onde j = k se usamos o filtro original e j = k + 1 se o filtro inclinado e usado. Se
K1 e finito, existe k1 IN tal que h(xk+1 ) < (1 )h(xk ) para todo k k1 , o que
IN0
implica em h(xk ) 0. Caso contrario, usando (8.15) conclumos que h(xk ) 0, com
IN0 = K1 ou IN0 = {k + 1 | k K1 }, dependendo da regra de filtro, original ou inclinado,
respectivamente. De qualquer modo, (xk )kIN tem um ponto de acumulacao viavel.
No lema a seguir apresentamos um resultado de convergencia para pontos viaveis
mais forte do que o apresentado no lema anterior. Este resultado, cuja prova e dada
em [26], estabelece que se a regra de filtro inclinado e usada, entao qualquer ponto de
acumulacao da sequencia gerada pelo algoritmo e viavel. Isto tambem e provado por Chin
e Fletcher [5] e por Fletcher, Leyffer e Toint [11], assumindo que um n
umero infinito de
j
j
pares (f , h ) sao adicionados ao filtro. Ja Karas, Oening e Ribeiro [26] nao fazem esta
exigencia.
Lema 8.8 Suponha que as Hipoteses H3 e H4 sejam satisfeitas e considere a sequencia
(xk )kIN gerada pelo Algoritmo 8.2, com Rk e definido por (8.13). Entao h(xk ) 0 e,
consequentemente, qualquer ponto de acumulacao da sequencia (xk ) e viavel.
Demonstracao. [26, Teorema 2.3].
O proximo lema mostra que se x e um ponto nao estacionario, em uma vizinhanca
de x, toda iteracao k e uma iteracao do tipo f .
Lema 8.9 Suponha que as Hipoteses H3 e H5 sejam satisfeitas. Se x X e um ponto
nao estacionario, entao nenhuma subsequencia de (xk )kKa converge para x.
Demonstracao. Se x e um ponto viavel, entao pela Hipotese H5 exitem M > 0 e uma
vizinhanca V de x tais que para todo xk V ,
f (xk ) f (xk+1 ) M vk .

Metodos para Otimizacao com Restricoes

167

Como vk > 0, temos que f (xk+1 ) < f (xk ). Assim, k


/ Ka . Agora, assuma que x e inviavel
K
e suponha por contradicao que existe um conjunto infinito K Ka tal que xk x. Como
K
K
h e contnua, temos que h(xk ) h(
x). Por outro lado, o Lema 8.6 garante que h(xk ) 0.
Assim, h(
x) = 0, o que contradiz a hipotese de que x e inviavel, completando a prova.
Apresentamos a seguir a prova de que o Algoritmo 8.2 e globalmente convergente.
Teorema 8.10 Suponha que as Hipoteses H3 e H5 sejam satisfeitas. Entao a sequencia
(xk ) tem um ponto de acumulacao estacionario.
Demonstracao. Se Ka e infinito, entao pela Hipotese H3 existem K Ka e x X tais que
K
xk x. Portanto, pelo Lema 8.9, x e estacionario. Caso contrario, existe k0 IN tal que

toda iteracao k k0 e uma iteracao do tipo f . Deste modo, f (xk ) kk0 e decrescente e
por H3 e H4,
f (xk ) f (xk+1 ) 0.
(8.16)
Alem disso, por construcao do Algoritmo 8.2, temos Fk = Fk0 para todo k k0 . Portanto,
a sequencia (vk ), definida em H5, satisfaz
vk = vk0 > 0

(8.17)

para todo k k0 . Seja x um ponto de acumulacao viavel de (xk ), cuja existencia e


garantida pelo Lema 8.7. Vamos provar que este ponto e estacionario. Seja K um conjunto
K
de ndices tal que xk x. Assuma por contradicao que x e nao estacionario. Pela Hipotese
H5, existem M > 0 e uma vizinhanca V de x tal que se xk V , entao
f (xk ) f (xk+1 ) M vk .
K

Como xk x, entao existe k1 > k0 tal que para todo k > k1 , k K, temos xk V .
Portanto, para todo k > k1 , k K, temos f (xk ) f (xk+1 ) M vk = M vk0 > 0,
contradizendo (8.16).
O Teorema 8.10 estabelece que o Algoritmo 8.2 gera uma sequencia infinita (xk )
que tem um ponto de acumulacao estacionario. No entanto, se a regra de filtro inclinado
e usada e se o conjunto Ka e finito, podemos mostrar que qualquer ponto de acumulacao
da sequencia gerada pelo algoritmo e estacionario. Provamos este resultado no proximo
teorema.
Teorema 8.11 Se Ka e finito e Rk e definido por (8.13), entao qualquer ponto de acumulacao de (xk ) e estacionario.
Demonstracao. Do Lema 8.8, temos que qualquer ponto de acumulacao da sequencia (xk )
e viavel. Assim, pelos mesmos argumentos usados na prova do Teorema 8.10 quando Ka
e finito, podemos concluir que qualquer ponto de acumulacao de (xk ) e estacionario.

Metodos para Otimizacao com Restricoes

168

Salientamos que a teoria de convergencia apresentada nesta secao so e valida se


existirem formas de calcular o ponto xk+1
/ Fk de modo que a Hipotese H5 seja satisfeita.
De fato, pode-se provar que existem pelo menos duas maneiras de se fazer isso. Uma delas,
baseada em programacao quadratica sequencial, pode ser encontrada em [41]. A outra
usa as ideias de restauracao inexata [33, 34] e foi estabelecida em [15].

8.3

Exerccios do captulo

8.1. Mostre que se o par (xk , k ) cumpre as condicoes de KKT para o problema (8.1),
entao d = 0 e um ponto estacionario para o subproblema (8.2). Mostre tambem que se
d = 0 e um ponto estacionario para o subproblema (8.2), entao xk e um ponto estacionario
para o problema (8.1).
8.2. No contexto do Teorema 8.2, mostre que a jacobiana da funcao (x, ) 7 `(x, ) e
lipschitziana em uma vizinhanca de (x , ).

Ap
endice: Dicas ou Solu
c
oes dos
Exerccios
Apresentamos aqui dicas ou solucoes para alguns dos exerccios propostos no
texto. Convem lembrar que tais exerccios tem basicamente tres finalidades. Alguns
servem para fixar os conceitos, outros para verificar se o leitor consegue identificar e
aplicar os conhecimentos adquiridos para resolver um determinado problema e outros
ainda servem para complementar a teoria. Em qualquer caso, recomendamos fortemente
que o estudante tente fazer os exerccios antes de ver a solucao de modo a garantir um
aprendizado mais solido.

Captulo 1
2k+1 k!
2
xk+1
=
=
0, o que implica na convergencia superlinear.
xk
(k + 1)! 2k
k+1
xk+1
2k+1 (k!)2
k (k 1)!
Alem disso, k 2 =
=
. Mas podemos verificar por inducao
k
2
(x )
(k + 1)! (2 )
k + 1 2k1
k1
xk+1
(k 1)!
>
,
para
todo
k

6.
Portanto,
.
que
2k1
2
(xk )2
1.6. Temos

1.7. Usaremos inducao em (a) e (b).


(a) Temos 1 x1 2. Supondo agora 1 xk 2, temos 3 2 + xk 4. Portanto,

1 2 + xk 2, ou seja, 1 xk+1 2.
p

(b) Temos x2 = 2 + 2 > 2 = x1 . Alem disso, se xk+1 > xk , entao 2 + xk+1 > 2 + xk ,

donde segue que xk+2 = 2 + xk+1 > 2 + xk = xk+1 .


(c) Pelo que foi provado em (a) e (b), (xk ) e convergente, digamos xk x. Assim,

xk+1 x e tambem xk+1 = 2 + xk 2 + x. Desta forma, temos x = 2 + x, o que


fornece x = 2. Finalmente, para ver que a convergencia e linear, temos
|xk+1 2|
=
|xk 2|

1
1
2 + xk 2
=
.
k
k
x 2
4
2+x +2

1.8. Note primeiro que Ax = 0 se, e somente se, x = 0. Assim, c = min {kAyk} > 0, o
kyk=1

169

Dicas ou Solucoes dos Exerccios

170

que significa que kAxk ckxk, para todo x IRn . Portanto,


ky k+1 yk
kA(xk+1 x)k
kAkkxk+1 xk
=

,
ky k yk
kA(xk x)k
ckxk xk
provando entao que a convergencia superlinear nao e afetada por transformacoes injetivas.
No entanto, o mesmo nao se pode afirmar para
no
! a convergencia linear,
! conforme vemos !
1
1 1
1 1
1
seguinte exemplo. Considere A =
e defina x2k = k
e x2k+1 = k 2 .
2
2
0 1
1
1
k
A sequencia (x ) converge linearmente, pois
kx2k+1 k
=
kx2k k

5
8

kx2k+2 k
=
kx2k+1 k

2
.
5

kAx2k+1 k
5
No entanto,
=
.
kAx2k k
2
1.9. Suponha que X e fechado e considere (xk ) X tal que xk x. Caso x X, temos
x X. Por outro lado, se x
/ X, entao existe uma vizinhanca de x que nao possui
nenhum ponto do complementar de X. Isto significa que esta vizinhanca esta contida em
X, provando a necessidade. Reciprocamente, suponha que dada (xk ) X tal que xk x,
temos x X. Vamos provar que X X. Dado x X, temos que existe (xk ) X tal
que xk x. Logo, x X.
1.10. Suponha que X e compacto e considere (xk ) X. Como X e limitado, a sequencia
(xk ) tambem e limitada. Pelo Teorema 1.13, existe uma subsequencia convergente, digaIN0
mos xk x. Usando o Exerccio 1.9, temos que x X. Para provar a recproca, note
que a hipotese implica que X e fechado. Alem disso, se X nao fosse limitado, existiria
uma sequencia (xk ) X tal que kxk k > k, para todo k IN. Tal sequencia nao poderia
ter uma subsequencia convergente, contradizendo a hipotese.

1.11. Dado > 0, existe k IN tal que kz k ak < . Alem disso, como z k X,
2

k
k
existem x X e y
/ X, tais que kx z k < e ky z k < . Portanto, kx ak < e
2
2
ky ak < .
!
A B
1.14. (=) Seja Q =
, onde A IRkk . Se x IRk e nao nulo, entao
BT C


xT Ax = xT 0

A B
BT C

x
0

!
= y T Qy > 0.

Portanto, A e definida positiva, o que implica que seus autovalores sao positivos e assim
det(A) > 0.
(=) Vamos provar por inducao em n. Para n = 1 nao ha o que provar. Suponha que

Dicas ou Solucoes dos Exerccios

171

!
A b
a propriedade e valida para n 1 e considere Q =
, onde A IR(n1)(n1) ,
T
b c
n1
b IR
e c IR. Assim, os determinantes principais de A sao positivos. Pela hipotese
de inducao, A e definida positiva. Dado y IRn , caso yn = 0, temos


y T Qy = xT 0

Caso yn 6= 0, podemos escrever y = yn

y T Qy = yn2 xT 1

A b
bT c

x
0

!
= xT Ax > 0.

!
x
. Deste modo temos
1

A b
bT c

x
1

!

= yn2 xT Ax + 2bT x + c .

Para concluir a demonstracao basta mostrar que f (x) = xT Ax + 2bT x + c > 0, o que sera
feito provando que f (x) f (x ) > 0, onde x = A1 b. Note que A e de fato inversvel
pois det(A) > 0. Fazendo v = x x , temos
f (x) = (x + v)T A(x + v) + 2bT (x + v) + c
= f (x ) + 2v T (Ax + b) + v T Av
= f (x ) + v T Av f (x ).
Alem disso,
f (x ) = (x )T Ax + 2bT x + c
= (x )T (b) + 2(x )T b + c
= bT x + c = c bT A1 b.
Finalmente,
Q=

A b
bT c

!
=

I
0
T 1
b A
1

A
b
T 1
0 cb A b

!
.

Como (c bT A1 b) det(A) = det(Q) > 0 e det(A) > 0, temos f (x ) = c bT A1 b > 0.


P
1.15. Temos xT Ax = y T Dy = ni=1 i yi2 , onde y = P T x. Como P e inversvel, x 6= 0 se, e
somente se, y 6= 0. Suponha que A e definida positiva. Em particular, para x = P ej 6= 0,
temos 0 < xT Ax = j . Reciprocamente, se todos os autovalores sao positivos, entao
P
xT Ax = ni=1 i yi2 > 0, para todo x 6= 0.
1.17. Considere {v 1 , . . . , v n } uma base de autovetores de A e 1 , . . . , n os autovalores
associados. Dado j = 1, . . . , n, afirmamos que Bv j = j v j . De fato, se nao fosse assim, o
vetor u = Bv j j v j seria autovetor de B com um autovalor negativo, pois
Bu = B 2 v j j Bv j = A2 v j j Bv j = 2j v j j Bv j = j u.
Portanto, Bv j = j v j = Av j , para todo j = 1, . . . , n. Isto significa que A = B.

Dicas ou Solucoes dos Exerccios

172

!
!
!
(
B AT
x
0
Bx + AT y = 0
1.18. Suponha que
=
. Entao,
MultipliA 0
y
0
Ax
= 0.
cando a primeira equacao por xT e usando a segunda equacao, obtemos xT Bx = 0.
Portanto, a positividade de B no n
ucleo de A implica em x = 0. Substituindo na primeira equacao, segue que AT y = 0. Finalmente, usando o fato de que as linhas de A sao
linearmente independentes, obtemos y = 0.
1.19. Para i = 1, . . . , ` 1 e j = `, . . . , n, temos
i

Av = 0 e v = A


1 j
v .
j

Desta forma, [v 1 , . . . , v `1 ] N (A) e [v ` , . . . , v n ] Im(A). Por outro lado, temos


dim(N (A)) + dim(Im(A)) = n, donde segue que
[v 1 , . . . , v `1 ] = N (A) e [v ` , . . . , v n ] = Im(A).
1.20. Temos que Im(A2 ) Im(A) e dim(Im(A2 )) = dim(Im(AT A)) = dim(Im(A)).
Assim, Im(A2 ) = Im(A). Como b Im(A) = Im(A2 ), existe u IRn tal que A2 u = b.
Isto significa que A(Au) + b = 0, ou seja, x = Au Im(A) e Ax + b = 0. Para
provar a unicidade, note que se x , x Im(A) sao tais que Ax + b = 0 e A
x + b = 0,
entao x x Im(A) = Im(AT ) e A(x x) = 0. Mas isto significa que x x = 0. Para
estabelecer a desigualdade, considere {v 1 , . . . , v n } uma base ortonormal de autovetores tal
que v 1 , . . . , v `1 sao os autovetores associados ao autovalor nulo e v ` , . . . , v n os autovetores
associados aos autovalores positivos. Definindo P = (v 1 v n ), D = diag(1 , . . . , n ) e
c = P T b, temos que se
z Im(D) e Dz + c = 0,
(8.18)
entao x = P z Im(A) e Ax + b = 0. De fato,
x = P z = P Dw = AP w Im(A)
e
Ax + b = P (Dz + c) = 0.
Vamos agora encontrar z satisfazendo (8.18). Defina w IRn por

0,
se i = 1, . . . , ` 1
ci
wi =
2 , se i = `, . . . , n
i
e z = Dw . Usando o Exerccio 1.19, obtemos b N (A) = [v 1 , . . . , v `1 ] . Assim,
ci = (v i )T b = 0, para i = 1, . . . , ` 1 e, consequentemente, Dz + c = 0. Para concluir,

Dicas ou Solucoes dos Exerccios

173

note que
2

kz k =

2
n 
X
ci
i=`

n
1
1 X 2
ci = 2 kck2 .
2
` i=`
`

Como x = P z , Ax + b = 0 e c = P T b, temos kx k = kz k e kAx k = kbk = kck.


Portanto,
1
1
kx k2 2 kbk2 = 2 kAx k2 .
`
`
1.21. Suponha, por absurdo, que para todo k IN, existe xk IRn com
kAxk k <

1 k
kx k.
k

(8.19)

0
xk
k IN

y, com kyk = 1. Portanto, usando (8.19),


,
temos
y
kxk k

Entao, definindo y k =
IN0

obtemos Ay k Ay = 0, contradizendo o fato das colunas de A serem linearmente


independentes.
1.22. Primeiramente, note que dados x, y IRn , temos
det(I + xy T ) = 1 + y T x.
De fato, se v y , entao (I + xy T )v = v. Alem disso, (I + xy T )x = (1 + y T x)x. Portanto,
a matriz I + xy T tem um autovalor = 1, com multiplicidade n 1 e o autovalor simples
1 + y T x. Para provar a primeira parte do exerccio note que
det(I + Q1 uv T ) = 1 + v T Q1 u
e Q + uv T e inversvel se, e somente se, a matriz I + Q1 uv T = Q1 (Q + uv T ) tambem
e inversvel. Finalmente, para verificar a formula para a inversa, basta desenvolver o
produto


Q1 uv T Q1
T
1
(Q + uv ) Q
.
1 + v T Q1 u
1.25. Temos

n
X
T 0

f
(t) = f (t) (t) =
(t) i0 (t).
xi
j=1
0

Usando isto, obtemos


n
X
T 0

f
f
0
(t) =

(t) (t)i (t) +


(t) i00 (t),
xi
xi
j=1
j=1
00

n
X

que pode ser escrito como



T
00 (t) = 0 (t)T 2 f (t) 0 (t) + f (t) 00 (t).

Dicas ou Solucoes dos Exerccios

174

Captulo 2
!
2ax1 (x21 x2 ) + b(x1 1)
. Logo, o u
nico ponto estacionario
2.3. Temos f (x) = 2
a(x2 x21 )
!
!
2
1
6ax

2ax
+
b
2ax
2
1
1
de f e x =
. Alem disso, 2 f (x) = 2
e portanto,
1
2ax1
a
!
4a
+
b
2a
2 f (x ) = 2
> 0, o que significa que x e minimizador local de f . A
2a
a

u
ltima parte do exerccio decorre de det 2 f (x) = 8a2 (x21 x2 ) + 4ab.
2.4. Suponha por absurdo que x nao seja um minimizador global de f . Entao existe
x IRn tal que f (
x) < f (x ). Considere A = {x IRn | f (x) f }. O conexo [x , x] tem
um ponto de A e um ponto de Ac . Pelo Teorema da Alfandega, existe y [x , x] A.
Vejamos que f (y) = f . De fato, existem sequencias (y k ) A e (z k ) Ac tais que y k y
e z k y. Portanto, f (y k ) f (y) e f (z k ) f (y). Como f (y k ) f e f (z k ) < f , temos
f (y) = f . Alem disso, y nao e minimizador local, pois f (z k ) < f = f (y).

Outra solucao (sem usar o Teor. da Alfandega). Defina g : [0, 1] IR por g(t) = f x(t) ,
onde x(t) = (1 t)x + t
x. Seja t = sup {t [0, 1] | g(t) f }. Temos g(t ) f . Alem
disso, g(1) < f , o que implica t < 1. Entao existe uma sequencia (sk ) (t , 1] com
sk t . Portanto g(sk ) < f e, por continuidade, g(t ) f . Conclumos assim que

x = x(t ) satisfaz f (x ) = f , mas nao e minimizador local, pois f x(sk ) < f .
!
cos x1 sin x2 + 2x1 eu
e
2.5. Temos f (x) =
sin x1 cos x2 + 2x2 eu
2

f (x) =

cos x1 cos x2 + 4x1 x2 eu


sin x1 sin x2 + 2eu (1 + 2x21 )
cos x1 cos x2 + 4x1 x2 eu
sin x1 sin x2 + 2eu (1 + 2x22 )

x) = 0. Alem disso, temos


onde u = x21 + !
x22 . O ponto x e estacionario, pois f (
2 1
2 f (
x) =
definida positiva, garantindo que x e minimizador local de f .
1 2
!
2(x1 + x2 ) + 3x21
2.6. Temos f (x) =
. Assim, f (x) = 0 se, e somente se, x = 0.
2(x1 + x2 )
!
t
Alem disso, temos f
= t3 , o que significa que x = 0 e um ponto de sela. Note que
t
!
2
2
2 f (0) =
e semidefinida positiva, nao permitindo concluir que o ponto e sela
2 2
usando o Teorema 2.16.
!
!
2x1 x22
2
2x
2
2.7. Temos f (x) =
e 2 f (x) =
. Portanto, 2 f (x)
2x2 2x1 x2
2x2 2 2x1
e definida positiva se, e somente se, x1 < 1 x22 . Veja a Figura 8.6.

Dicas ou Solucoes dos Exerccios

175

Figura 8.6: Ilustracao do Exerccio 2.7.

2.8. Temos f (x) =

2x1 x2 2 + eu
x1 + 4x2 + 23 + eu

!
e 2 f (x) =

!
2 + eu 1 + eu
, onde
1 + eu 4 + eu

u = x1 + x2 .
(a) f (
x) = 0. Logo,!x e um ponto estacionario de f .
3 0
(b) 2 f (
x) =
> 0. Logo, x e minimizador local de f .
0 5
2.11. Temos que L 6= , pois a L. Alem disso, como f e contnua, L e fechado. Resta
ver que e limitado. Como lim f (x) = , existe r > 0 tal que f (x) > f (a), sempre que
kxk

kxk > r. Portanto, se x L, entao kxk r, isto e, L B[0, r].


2.13. Considere f : IRn IR dada por f (x) = kAxk e S = {x IRn | kxk = 1}. Como f
e contnua e S e compacto, existe x S tal que f (x ) f (x), para todo x S. Como as
colunas de A sao linearmente independentes, temos f (x ) = kAx k > 0. Assim, definindo
x
S.
c = kAx k, temos kAxk c, para todo x S. Dado x IRn \ {0}, temos
kxk
Portanto, kAxk ckxk.

Captulo 3
3.1. Provaremos que se B(y, ) C, t (0, 1] e z = (1 t)x + ty, entao B(z, t) C.
Veja a Figura 8.7. Tome w B(z, t). Sabemos que existe (xk ) C tal que xk x.
Definindo q k = 1t w 1t
xk , temos w = (1 t)xk + tq k e q k 1t w 1t
x. Alem disso,
t
t
1
1t
1
k t w t xyk = t kw (1t)xtyk < . Portanto, existe k0 IN tal que kq k0 yk < ,
o que implica que q k0 C. Consequentemente, w = (1 t)xk0 + tq k0 C.
3.2. Dados a, b int(C) e t [0, 1], considere c = (1 t)a + tb. Vamos mostrar que
c int(C). Seja > 0 tal que B(a, ) C e B(b, ) C. Dado z B(c, ), temos que
x = a + (z c) B(a, ) e y = b + (z c) B(b, ). Veja a Figura 8.8. Pela convexidade
de C, temos que z = (1 t)x + ty C.

Dicas ou Solucoes dos Exerccios

176

qk

xk

w
z

Figura 8.7: Ilustracao do Exerccio 3.1.


x
a

Figura 8.8: Ilustracao do Exerccio 3.2.


3.3. Dados u = T (x), v = T (y) T (C) e t [0, 1], temos

(1 t)u + tv = T (1 t)x + ty T (C),
pois (1 t)x + ty C.
3.4. Dados x, y S e t [0, 1], temos x = lim xk e y = lim y k , com xk , y k S. Assim,

(1 t)x + ty = lim (1 t)xk + ty k S,
pois (1 t)xk + ty k S.
3.5. Denotando z = projS (z) e aplicando o Teorema 3.7, temos que
(x x)T (
y x) 0 e (y y)T (
x y) 0.
Portanto,
k
x yk2 (
x y)T (x y) = (
x y)T (
x x + y y) 0.
O resultado segue aplicando a desigualdade de Cauchy-Schwarz.
3.6. Dados x + d, x + v L e t [0, 1], temos
(1 t)(
x + d) + t(
x + v) = x + (1 t)d + tv L,
pois (1 t)d + tv S, provando que L e convexo. Considere agora xk = x + dk L, com
xk x. Entao, dk = xk x x x S pois S e fechado. Assim, x = x + x x L, o
que prova que L e fechado. Finalmente, seja x + d = projL (a). Assim,
kd (a x)k = k
x + d ak k
x + d ak = kd (a x)k,
para todo d S, ou seja, projS (a x) = d = projL (a) x.

Dicas ou Solucoes dos Exerccios

177

3.7. Como 0 e 2
z sao elementos de S, pelo Teorema 3.7, temos que
(z z)T (0 z) 0 e (z z)T (2
z z) 0,
o que implica em (z z)T z = 0. Seja agora d S arbitrario. Entao,
(z z)T d = (z z)T (d z + z) = (z z)T (d z) 0.
Trocando d por d, obtemos (z z)T d = 0.
3.8. Note primeiro que dado x L, temos L = x + N (A). De fato, dado x L, temos
x x N (A). Alem disso, dado d N (A), temos x + d L. Em particular, como A tem
posto linha completo, x = AT (AAT )1 b L. Portanto, usando o Exerccio 3.6, temos
que
projL (a) = x + projN (A) (a x).
(8.20)
Para calcular a projecao no n
ucleo, note que se z = projN (A) (z), entao o Exerccio 3.7 nos
garante que
z z N (A) = Im(AT ).
Assim, z z = AT , o que resulta em z = z AT (AAT )1 Az. Finalmente, por (8.20),
projL (a) = x + a x AT (AAT )1 A(a x) = a AT (AAT )1 (Aa + b).
3.11. A funcao f : IR IR, dada por f (x) = x4 e convexa, pois f 00 (x) = 12x2 0.
Portanto,
f (t1 x1 + t2 x2 + t3 x3 + t4 x4 ) t1 f (x1 ) + t2 f (x2 ) + t3 f (x3 ) + t4 f (x4 ),
para todos t1 , . . . , t4 tais que tj 0 e

4
X

tj = 1. Em particular, para t1 =

j=1

1
1
, t2 = ,
2
3

x
1
1
x2 x3 x4 4 x41 x42 x43 x44
1
t3 =
e t4 = , temos
+
+
+

+
+
+ .
12
12
2
3
12 12
2
3
12 12
!
!
x
u
3.13. Suponha primeiro f convexa e considere
,
epi(f ) e t [0, 1]. Portanto,
y
v

(1 t)

x
y

!
+t

u
v

!
=

(1 t)x + tu
(1 t)y + tv

!
epi(f ),

pois

(1 t)y + tv (1 t)f (x) + tf (u) f (1 t)x + tu .
Reciprocamente, supondo agora que epi(f ) e convexo, considere x, u C e t [0, 1].

Dicas ou Solucoes dos Exerccios

Como

x
f (x)

!
,

u
f (u)

178

!
epi(f ), temos que

(1 t)x + tu
(1 t)f (x) + tf (u)

!
= (1 t)

x
f (x)

!
+t

u
f (u)

!
epi(f ).


Isto significa que f (1 t)x + tu (1 t)f (x) + tf (u).
!
!
u
u
2x1 x2 2 + eu
2
+
e
1
+
e
3.15. Temos f (x) =
e 2 f (x) =
, onde
x1 + 4x2 + 23 + eu
1 + eu 4 + eu
u = x1 + x2 . Assim, 2 f (x) e definida positiva, para todo x IR2 , pois 2 + eu > 0 e

det 2 f (x) = 7 + 8eu > 0.
3.16. Note primeiro se e um autovalor de A, com autovetor v, entao
1
f (tv) = t2 v T v + tbT v.
2
Como f e limitada inferiormente, temos 0. Para provar a outra afirmacao, considere
w N (A). Assim, f (tw) = tbT w e portanto, usando novamente a limitacao de f ,
conclumos que bT w = 0. Isto significa que b N (A) = Im(AT ) = Im(A), ou seja, existe
y IRn tal que Ay = b. Definindo x = y , temos f (x ) = Ax + b = 0. Portanto,
usando o Teorema 3.13, segue que x e um minimizador global de f .
3.17. Como Im(A2 ) Im(A) e dim(Im(A2 )) = dim(Im(AT A)) = dim(Im(A)), temos que
Im(A2 ) = Im(A). Pelo Exerccio 3.16, b Im(A) = Im(A2 ). Assim, existe u IRn tal que
A2 u = b. Isto significa que A(Au) + b = 0, ou seja, x = Au Im(A) e Ax + b = 0.
Para provar a unicidade, note que se x , x Im(A) sao tais que Ax + b = 0 e A
x + b = 0,

entao x x Im(A) = Im(A ) e A(x x) = 0. Mas isto significa que x x = 0.


3.18. Considere primeiro f (x) = x2 . Como y 2 2xy + x2 0, temos que
f (y) = y 2 x2 + 2x(y x) = f (x) + f 0 (x)(y x).
Isto garante que f e convexa pelo Teorema 3.13. Alem disso, como f 00 (x) = 2 > 0, a
convexidade de f tambem segue do Teorema 3.16. Agora vejamos a funcao f (x) = ex .
Temos que ed 1 + d, para todo d IR. Portanto, ex+d ex (1 + d). Assim,
f (y) = ex+(yx) ex + ex (y x) = f (x) + f 0 (x)(y x),
provando que f e convexa pelo Teorema 3.13. Alem disso, como f 00 (x) = ex > 0, o
Teorema 3.16 garante a convexidade de f .

Dicas ou Solucoes dos Exerccios

179

Captulo 4
4.2. Temos f (
x)T d = d1 . Caso d1 < 0, podemos aplicar
! o Teorema 4.2 para concluir
1
(td2 )2
. Portanto, a
o que se pede. Para d1 = 0 temos f (
x + td) = f
= f (
x) +
2
td2
funcao cresce ao longo de d.
1
4.3. (a) Note que f (x + v) f (x) = v T Av + f (x)T v. Assim, como f (x)T d = 0,
2
temos
t2
f (x + td) f (x) = dT Ad 0,
2
para todo t IR. Portanto, a funcao cresce ao longo de d.
(b) Considere (t) = f (x + td). Entao,
0 (t) = f (x + td)T d = A(x + td) + b

T

d = f (x)T d + tdT Ad.

Igualando a zero, temos o resultado desejado.


t2
(c) Temos f (x + td) f (x) = dT Ad + tf (x)T d. Assim, a condicao de Armijo pode ser
2
reescrita como
(t )2 T
d Ad + t f (x)T d t f (x)T d.
2
Mas t =

f (x)T d
, o que implica (t )2 dT Ad = t f (x)T d. Portanto,
T
d Ad
1
t f (x)T d t f (x)T d.
2

1
Como t f (x)T d < 0, temos que .
2
4.4. Seja o autovalor associado a v. Note que d = (Ax + b) = Av = v. Assim, o
f (x)T d
1
passo otimo e dado por t = T
= e o ponto obtido pela busca e
d Ad

1
x + t d = x + v + d = x .

A interpretacao deste exerccio e que se fizermos uma busca exata, a partir de um vertice de
um elipsoide (curva de nvel de f ), na direcao oposta ao gradiente, obtemos o minimizador
da quadratica em uma iteracao.
4.5. Veja a demonstracao do Teorema 2.16.

Captulo 5
5.1. Defina, para cada j = 1, ..., n, j (t) = f (
x + tdj ). Como t = 0 e minimizador de
j , temos f (
x)T dj = 0j (0) = 0. Mas d1 , ..., dn IRn sao linearmente independentes,

Dicas ou Solucoes dos Exerccios

180

implicando em f (
x) = 0. Tal condicao nao garante
! que f tem!um mnimo local em x.
1
2
De fato, considere f (x) = x21 x22 , x = 0, d1 =
e d2 =
. Sabemos que x e um
0
1
ponto de sela, mas 1 (t) = f (
x + td1 ) = t2 e 2 (t) = f (
x + td2 ) = 3t2 tem mnimo em
t = 0. Reveja o Exemplo 2.13.
k+1
k
k
k+1
5.2. Temos
0. Por outro lado, a
 x  x, donde segue que tk f (x ) = x x
1
1
1
sequencia
e limitada, pois 0 <
. Assim,
t
tk
tk

f (xk ) =

1
tk f (xk ) 0.
tk

Mas f (xk ) f (
x). Logo, f (
x) = 0.
1
5.3. Considere f (x) = x2 e d = f 0 (x) = 2x. A condicao de Armijo com = e dada
2
por
1
(x + td)2 < x2 + t(2x)(2x)
(8.21)
2
ou, equivalentemente, 2txd + t2 d2 < 2tx2 . Como d = 2x e t deve ser positivo, segue
1
1
que qualquer t < satisfaz a relacao (8.21). Definindo x0 = 1 e escolhendo tk = k+2 ,
2
2
obtemos


1
1
xk+1 = xk + k+2 (2xk ) = xk 1 k+1 .
2
2

 


1
1
1
1 2 1 k e (xk ) e uma sequencia decrescente de
Note que xk = 1
2
2
2
n
umeros positivos. Vamos provar que x = lim xk > 0, o que significa que x nao e estak
cionario. Primeiramente note que por ser g(x) = ln(x) uma funcao convexa, tomando
1
1
x , 1 , temos x = (1 s) + s, com s [0, 1], 1 s = 2(1 x) e
2
2
 
1
g(x) (1 s)g
+ sg(1) = 2(1 x) ln 2 = (1 x) ln 4.
2
Assim,
 X


k 

k
X
X
1
1
1
g(x ) =
g 1 j <
ln 4 < ln 4
= ln 4
j
j
2
2
2
j=1
j=1
j=1
k

1
1
1
 > . Deste modo, x = lim xk .
k
4
4
exp g(xk )
!
!
2x1 4
2 0
5.4. Temos f (x) =
e 2 f (x) =
. Portanto, o minimizador de f
8x2 8
0 8
!
!
2
4
e o ponto x =
. Como f (0) =
e, pelo Lema 5.1, f (xk+1 )T f (xk ) = 0,
1
8
temos que qualquer vetor f (xk ) ou tem as duas componentes nulas ou as duas nao
nulas. Vamos ver que a primeira opcao nunca ocorre. Suponha por absurdo que exista
e, consequentemente, xk =

Dicas ou Solucoes dos Exerccios

181

um ndice k IN tal que f (xk+1 ) = 0. Sem perda de generalidade, vamos supor que
este e o primeiro ndice com tal propriedade. Assim, xk tk f (xk ) = xk+1 = x , ou seja,
xk1 2
xk2 1

!
=

2tk (xk1 2)
8tk (xk2 1)

!
.

Portanto, xk1 2 = 0 ou xk2 1 = 0, pois


! do contrario teramos 2tk = 1 e 8tk = 1. Conk
2x1 4
tem uma coordenada nula e, consequentemente,
clumos entao que f (xk ) =
8xk2 8
f (xk ) = 0, contradizendo o fato de k ser o primeiro ndice tal que f (xk+1 ) = 0. Isto
prova que nao temos converge!
ncia com !um n
umero finito de passos. Entretanto, se o
a
2
ponto inicial for da forma
ou
, entao basta um passo para obter a solucao.
1
b
!
!
a
2a 4
De fato, considerando x =
, temos f (x) =
e, usando o Exerccio 4.3,
1
0
!
2
1
obtemos t = . Desta forma, x+ = x tf (x) =
= x . O outro caso e analogo.
2
1
Veja a Figura 8.9.

1
1

Figura 8.9: Ilustracao do Exerccio 5.4.


5.5. Note primeiro que v = x1 x0 = tf (x0 ), com t 6= 0. Alem disso, como x1 e a
solucao, temos Ax1 + b = 0. Assim,
1
Av = A(x1 x0 ) = (Ax1 + b) (Ax0 + b) = f (x0 ) = v.
t
5.6. Temos f (x) = h(x + x ) e 2 f = 2 h = A. Alem disso,
x

k+1

f (xk )T f (xk )
=x
f (xk ).
k
T
k
f (x ) Af (x )
k

Dicas ou Solucoes dos Exerccios

182

Somando x e notando que f (xk ) = h(xk + x ) = h(y k ), obtemos


y k+1 = y k

h(y k )T h(y k )
h(y k ).
h(y k )T Ah(y k )

!
1
0
.
e 2 f (x) =
5.8. Temos f (x) =
0 3x22 1
!
!
!
0
0
0
(a) Os pontos estacionarios de f sao x =
, x =
e x =
. Alem disso,
0
1
1
2 f e indefinida em x, o que significa que este e um ponto de sela, e definida positiva em
x e x, donde segue que estes dois sao minimizadores locais.
!
1
(b) No ponto x0 , a direcao de Cauchy e d0 = f (x0 ) =
. Desta forma, o novo
0
!
1

t
0
ponto e x1 = x0 + t0 d0 =
.
0
!
!
a
a
(c) Note que se x =
, entao d = f (x) =
e
0
0
x1
3
x2 x2

1
f (x + td) = (1 t)2 a2 .
2
Portanto, a busca exata fornece t = 1 e x+ = x + d = x. Ou seja, uma iteracao do metodo
de Cauchy encontra o ponto estacionario x.
5.9. Sendo f (x) = x2 a, o metodo de Newton para resolver f (x) = 0 e dado por
xk+1 = xk

 1 k
1
1
a
k
k
k 2
f
(x
)
=
x

x
+
(x
)

a
=
.
f 0 (xk )
2xk
2
xk



1
5
2+
= 2, 25,
Vamos agora calcular 5, partindo de x = 2. Temos x =
2
2




1
5
1
5
2
3
x =
2, 25 +
2, 2361 e x =
2, 2361 +
2, 23606.
2
2, 25
2
2, 2361
0

5.10. Como f (x) = f (x), f e uma funcao par. Assim, seu grafico e simetrico em relacao
ao eixo vertical. Portanto, para que ocorra a situacao ilustrada, o ponto de Newton a
f (x)
partir de x deve ser x, isto e, x 0
= x. Tal equacao se reduz a 7x2 = 3. Entao,
f
(x)
r
r
3
3
se o ponto inicial for
ou
, teremos a divergencia do metodo de Newton ilustrada
7
7
na Figura 5.12.
!
!
2
2x1 (x21 x2 ) + x1 1
6x

2x
+
1
2x
2
1
1
5.11. Temos f (x) =
e 2 f (x) =
.
2
x2 x1
2x1
1
!
!
1
5
2
Assim, f (x) = 0 se, e somente se, x1 = 1 e x2 = 1. Alem disso, 2 f
=
1
2
1

Dicas ou Solucoes dos Exerccios

183

e definida positiva, donde segue que x =

1
1

!
e minimizador local. O passo de Newton

a partir de x0 e dado por


1
d = 2 f (x0 ) f (x0 ) =

21 4
4
1

!1

9
2

1
=
5

1
6

!
9
5
401
1
. Note que f (x0 ) = e f (x1 ) =
, ou seja,
e o novo ponto e x1 = x0 + d =
5 16
2
1250
o passo produziu um ponto mais longe da solucao mas reduziu a funcao objetivo. Veja a
Figura 8.10.
4

x1

3
2

x0

x*

0
1
0.5

0.5

1.5

2.5

Figura 8.10: Ilustracao do Exerccio 5.11.


5.13. Defina : IRr IR por () = f (
x + S). Um minimizador + de satisfaz
S T f (
x + S + ) = ( + ) = 0.

(8.22)

Substituindo a expressao de f , obtemos



S T f (
x) + S T AS + = S T A(
x + S + ) + b = 0.
Note que para qualquer 6= 0, temos S 6= 0, pois as colunas de S sao linearmente
independentes. Como A e definida positiva, S T AS tambem e definida positiva e portanto
inversvel. Assim,
+ = (S T AS)1 S T f (
x).
Alem disso, a positividade de S T AS = 2 implica que e estritamente convexa, donde
segue que + e o minimizador de . Portanto,
x+ = x + S +
e o minimizador de f na variedade linear V . Isto prova a primeira afirmacao. A outra
afirmacao segue diretamente de (8.22).

Dicas ou Solucoes dos Exerccios

184

5.15. Como xk x0 + [d0 , d1 , . . . , dk1 ] x0 + [d0 , d1 , . . . , dk ], o Exerccio 5.14 garante


que
xk + [d0 , d1 , . . . , dk ] = x0 + [d0 , d1 , . . . , dk ]
e portanto podemos tomar x = xk no Exerccio 5.13 e escrever
xk+1 = xk Sk (SkT ASk )1 SkT f (xk ).
T
f (xk ) = 0, donde segue que
Alem disso, tomando x = xk1 , obtemos Sk1

SkT f (xk ) =

0
(dk )T f (xk )

!
.

5.16. Temos

(d0 )T
(d0 )T Ad0
0
.

..
..
..
0
k

.
.
SkT ASk =
.
.
.
. A(d d ) =

k T
k
k T
0
(d ) Ad
(d )
Portanto, pela u
ltima parte do Exerccio 5.15, obtemos

0
(SkT ASk )1 SkT f (xk ) = f (xk )T dk IRk+1 .
(dk )T Adk
Assim, novamente aplicando o referido exerccio,

xk+1



0
k T k
f
(x
)
d
k
k
0
k
= x (d d ) f (xk )T dk = x
dk .
k )T Adk
(d
(dk )T Adk

Para concluir, definindo : IR IR por (t) = f (xk + tdk ), temos


0 (tk ) = f (xk + tk dk )T dk = A(xk + tk dk ) + b

T

dk = f (xk )T dk + tk (dk )T Adk = 0,

donde segue que xk+1 e obtido por uma busca exata a partir de xk , na direcao dk .
5.18. Temos p = H+ q = Hq + auuT q + bvv t q, o que significa que
a(uT q)u + b(v t q)v = p Hq.

(8.23)

Uma possvel escolha e a(uT q)u = p e b(v t q)v = Hq. Multiplicando por q T , obtemos
a(uT q)2 = pT q

e b(v t q)2 = q T Hq.

Dicas ou Solucoes dos Exerccios

185

Assim, considerando a = 1 e b = 1, temos que


u=

p
p
=p
T
u q
pT q

e v=

Hq
Hq
=p
.
T
v q
q T Hq

Portanto,
H+ = H + auuT + bvv t = H +

ppT
Hqq T H

.
pT q
q T Hq

5.19. Vamos provar por inducao em k. Como H0 = I, temos


H0 q 0 = q 0 = f (x1 ) f (x0 ) [f (x0 ), f (x1 )].
Supondo agora que o resultado e valido ate k 1, vamos provar que vale para k. Note
que
k1 j j T
k1
X
X
p (p )
Hj q j (q j )T Hj
Hk = I +

.
j )T q j
j )T H q j
(p
(q
j
j=0
j=0
Assim, utilizando o Teorema 5.31 (iv), obtemos
k

Hk q = q

k1
X

j Hj q j ,

j=0

onde j =

(q j )T Hj q k
. Como q k = f (xk+1 ) f (xk ), segue da hipotese de inducao que
(q j )T Hj q j
Hk q k [f (x0 ), f (x1 ), . . . , f (xk+1 )].

5.20. Vejamos primeiro que


[d0 , d1 , . . . , dk ] [f (x0 ), f (x1 ), . . . , f (xk )].

(8.24)

Tambem faremos por inducao em k. Para k = 0, temos


d0 = H0 f (x0 ) = f (x0 ) [f (x0 )].
Suponha agora que a inclusao e valida para k. Vamos provar que vale para k + 1. Temos
Hk+1 = I +

k
X
pj (pj )T
j=0

(pj )T q j

k
X
Hj q j (q j )T Hj
j=0

(q j )T Hj q j

Portanto, utilizando o Teorema 5.31 (ii), obtemos


k+1

= Hk+1 f (x

k+1

) = f (x

k+1

)+

k
X
j=0

j Hj q j ,

Dicas ou Solucoes dos Exerccios

onde j =

186

(q j )T Hj f (xk+1 )
. Pelo que provamos no Exerccio 5.19,
(q j )T Hj q j
Hj q j [f (x0 ), f (x1 ), . . . , f (xk+1 )],

para todo j = 0, 1, . . . , k. Assim,


dk+1 [f (x0 ), f (x1 ), . . . , f (xk+1 )].
Finalmente, pelo Teorema 5.31 (iii), temos que os vetores d0 , d1 , . . . , dk sao A-conjugados
e consequentemente

dim [d0 , d1 , . . . , dk ] = k + 1,
que junto com (8.24) nos fornece
[d0 , d1 , . . . , dk ] = [f (x0 ), f (x1 ), . . . , f (xk )].
5.21. Temos que provar que dado x0 IRn , vale
xjD = xjG ,
para todo j = 1, . . . , k, onde x1D , . . . , xkD sao os pontos obtidos pelo metodo DFP (com
H0 = I) e x1G , . . . , xkG sao os pontos obtidos pelo algoritmo de gradientes conjugados (GC).
Novamente vamos usar inducao em k. Como d0 = f (x0 ) tanto para DFP quanto para
GC, temos x1D = x1G , o que prova o resultado para k = 1. Suponha agora que a afirmacao
e valida para k. Vamos provar que vale para k + 1. Para simplificar a notacao vamos
escrever para j = 1, . . . , k,
xj = xjD = xjG .
Pelo Exerccio 5.20, as direcoes (conjugadas) geradas pelo metodo DFP satisfazem
[d0D , d1D , . . . , dkD ] = [f (x0 ), f (x1 ), . . . , f (xk )]
e as geradas pelo algoritmo de gradientes conjugados cumprem
[d0G , d1G , . . . , dkG ] = [f (x0 ), f (x1 ), . . . , f (xk )],
em virtude do Teorema 5.20. Portanto, pelo Teorema 5.16, temos que xk+1
e xk+1
miniD
G
mizam f na variedade
x0 + [f (x0 ), f (x1 ), . . . , f (xk )].
Como f e estritamente convexa, temos que
xk+1
= xk+1
D
G .

Dicas ou Solucoes dos Exerccios

187

5.22. Note primeiro que a matriz


Q=B+

qq T
pT q

e inversvel, pois e soma de duas matrizes definidas positivas. Aplicando a formula de


Sherman-Morrison que vimos no Exerccio 1.22 e lembrando que B 1 = H, obtemos
B 1 qq T B 1
Hqq T H
=
H

.
pT q + q T B 1 q
pT q + q T Hq

Q1 = B 1

(8.25)

Assim, fazendo r = pT q + q T Hq, temos


Q1 B = I

Hqq T
r

Considere agora u =

BQ1 = I

qq T H
r

e BQ1 B = B

qq T
.
r

(8.26)

Bp
e v = Bp. Desta forma,
pT Bp
B+ = Q + uv T .

(8.27)

Usando (8.26), segue que


1 + v T Q1 u =

pT Bp pT BQ1 Bp
(pT q)2
=
6= 0,
pT Bp
r(pT Bp)

o que nos permite aplicar a formula de Sherman-Morrison em (8.27) para obter


H+ = Q1

Q1 uv T Q1
r(Q1 BppT BQ1 )
1
=
Q
+
.
1 + v T Q1 u
(pT q)2

Por (8.26), temos


 (pT q)2
r(Q1 BppT BQ1 ) = rppT pT q pq T H + HqpT +
Hqq T H,
r
que substituindo junto com (8.25) em (8.28), nos fornece
q T Hq
H+ = H + 1 + T
p q


ppT
pq T H + HqpT

.
pT q
pT q

5.23. Pelo teorema do valor medio, existe k (0, 1) tal que


f (xk + dk ) = f (xk ) + f (xk + k dk )T dk .
Portanto,
T
1
ared pred = (dk )T Bk dk f (xk + k dk ) f (xk ) dk ,
2

(8.28)

Dicas ou Solucoes dos Exerccios

188

Usando a desigualdade de Cauchy-Schwarz e as Hipoteses H3 e H5, obtemos


!


k + sup kf (xk + tdk ) f (xk )k


.
2
t[0,1]

|ared pred| k



ared pred

e usando H2, obtemos o resultado.
Notando que |k 1| =

pred
5.24. Suponha por absurdo que isto seja falso. Entao existe > 0 tal que kf (xk )k ,
para todo k IN. Pela continuidade uniforme de f , existe > 0 tal que se kdk k ,
entao

c1
.
(8.29)
sup kf (xk + tdk ) f (xk )k
4
t[0,1]



1
= min
Considere
, ,
, onde c1 , e sao as constantes das Hipoteses H2, H3
2 2
entao
e H5, respectivamente. Se k ,
k

kf (xk )k

2 k
1
.
2c1
4

(8.30)

Portanto, pelo Exerccio 5.23 e pelas relacoes (8.29) e (8.30),

|k 1|
c1

c1
k +
2
4


=

2 k 1
1
+ .
2c1
4
2

1
1
> e pelo Algoritmo 5.6 temos k+1 k . Isto significa que o raio e
2
4

caso em que k+1 = k > . Podemos entao concluir que


reduzido somente se k > ,
2
2
(
)

k min 0 ,
,
(8.31)
2
Assim, k

para todo k IN. Considere agora o conjunto




1
K = k IN | k
.
4
Dado k K, pelo mecanismo do Algoritmo 5.6 e pela Hipotese H2 temos
f (xk ) f (xk+1 ) = f (xk ) f (xk + dk )

1

mk (0) mk (dk )
4


1

c1 min k ,
.
4

Dicas ou Solucoes dos Exerccios

189

Em vista de (8.31), temos que existe uma constante > 0 tal que

f (xk ) f (xk+1 ) ,

(8.32)


para todo k K. Por outro lado, a sequencia f (xk ) e nao crescente e, por H4, limitada
inferiormente, donde segue que f (xk ) f (xk+1 ) 0. Portanto, de (8.32), podemos
1
concluir que o conjunto K e finito. Assim, k < , para todo k IN suficientemente
4
grande e entao k sera reduzido a` metade em cada iteracao. Isto implica k 0, o que
contradiz (8.31). Deste modo, a afirmacao no feita no exerccio e verdadeira.

Captulo 7
7.5. Suponha por absurdo que existe u P (S), u 6= 0. Como 0 int(S), existe > 0 tal
que v = u S. Como u P (S), v tambem pertence, pois P (S) e um cone. Por outro
lado, v S, donde segue que v T v 0 o que e uma contradicao.


7.6. Pelo Lema 7.8, basta mostrar que P P (C) C. Para isso, considere c P P (C) ,
A = B T e x IRn tal que
Ax 0.
(8.33)
Portanto, xT (AT y) = (Ax)T y 0, para todo y 0, donde segue que x P (C). Como

c P P (C) , obtemos
cT x 0,
que junto com (8.33) significa que o primeiro sistema no Lema 7.11 nao tem solucao.
Entao o segundo sistema do lema e possvel, ou seja, c C.
7.7. Dado d C, temos d = By, para algum y 0. Caso posto(B) = m, temos
[
d
CJ , pois J = {1, . . . , m} J . Caso contrario, existe IRm \{0} tal que B = 0.
JJ

Assim, d = By = B(y +t), para todo t IR. Escolhendo t tal que y = y + t 0 e yj = 0


para algum j (veja os detalhes na demonstracao do Lema 7.10), obtemos d = B y = BJ yJ ,
onde J = {1, . . . , m} \ {j}. Repetindo este argumento ate que J J , conclumos o
exerccio.
7.8. Considere primeiro o caso em que posto(B) = m. Seja (dk ) C, tal que dk d 6= 0.
yk
Entao, dk = By k , com y k 0. Sem perda de generalidade, podemos supor que k u,
ky k
com kuk = 1. Deste modo,
1 k
d =B
ky k k

yk
ky k k


Bu 6= 0.

(8.34)

Como (dk ) e convergente, temos que (y k ) e limitada (se nao fosse, o limite em (8.34) seria
nulo) e, novamente s.p.g., vamos supor que y k y. Assim, dk = By k By, com y 0.

Dicas ou Solucoes dos Exerccios

190

Portanto, d = By C. O caso em que posto(B) < m decorre imediatamente do que


fizemos acima e do Exerccio 7.7, tendo em vista que a uniao finita de fechados e um
conjunto fechado.
7.9. Considere (dk ) T (
x), com dk d. Vamos mostrar que d T (
x). Isto e imediato
se d = 0. Suponha entao que d 6= 0 e que (s.p.g.) dk 6= 0, para todo k IN. Fixado
k IN, como dk T (
x), existe sequencia (xk,j )jIN tal que
j

xk,j x e q k,j =

xk,j x j dk
k .
kxk,j xk
kd k

Assim, existe jk IN tal que


1
kx xk <
k
k



k
k
d
q
< 1,

k
kd k k

onde xk = xk,jk e q k = q k,jk . Passando o limite em k, obtemos xk x e




k

k
k
k
d

d
d
d
q
q
+
0.


kdk
kdk k kdk k kdk
Portanto,

d
xk x
= qk
, implicando em d T (
x).
k
kx xk
kdk

7.15. O problema proposto e equivalente a


minimizar (x1 3)2 + (x2 3)2
sujeito a x21 3x1 + x2 = 0.
Note primeiro que o problema tem uma solucao (global), em virtude do Lema 3.5. Tal
minimizador deve satisfazer
!
!
3 x1
2x1 3
2
=
3 x2
1
e tambem a condicao de viabilidade x2 = 3x1 x21 . Por substituicao de variaveis, chegamos
em 2x31 9x21 + 16x1 12 = 0, cuja u
nica raiz real e x1 != 2. Assim, o u
nico ponto
2
estacionario, e portanto a solucao do problema, e x =
. A Figura 8.11 ilustra este
2
exerccio.
7.16. O problema proposto pode ser formulado como
minimizar
sujeito a

1
kx ak2
2
Ax + b = 0.

Este problema tem solucao (global e u


nica), em virtude do Lema 3.6. Tal minimizador

Dicas ou Solucoes dos Exerccios

191

3
2.5
2
1.5
1
0.5
0
0.5
1

Figura 8.11: Ilustracao do Exerccio 7.15.


deve satisfazer
x a + AT = 0
Ax + b = 0,
fornecendo = (AAT )1 (Aa + b) e
x = a AT = a AT (AAT )1 (Aa + b),
exatamente o que foi obtido no Exerccio 3.8.
7.19. Seja x um minimizador global do problema
min f (x) = x21 + x22 + x23
s. a x1 x2 x3 = 1
x21 + x22 + x23 3.

A exist
encia
de x e garantida pois o conjunto viavel deste problema e compacto. Como
1

x = 1 cumpre as restricoes acima, temos que f (x ) f (
x) = 3. Afirmamos que x

1
e solucao global do problema original. De fato, seja x IR3 tal que x1 x2 x3 = 1. Caso
x21 + x22 + x23 3, temos f (x ) f (x). Por outro lado, se x21 + x22 + x23 > 3, entao
f (x ) 3 < x21 + x22 + x23 = f (x).
7.20. Vamos primeiro encontrar os pontos crticos. Note que a equacao
2

x1
x2 1

!
=

2x1
1

!
0
implica que 6= 0, pois do contrario obteramos o ponto
, que nao e viavel. Entao,
1
a restricao e ativa, ou seja, x2 = x21 . Caso x1 = 0, obtemos o ponto x = 0, com
1
2 1
1
e x21 =
. Para
multiplicador = 2. Se x1 6= 0, entao = , x2 = 1

2
22

Dicas ou Solucoes dos Exerccios

192

1
que existam outras solucoes, devemos ter > . Neste caso, os outros dois pontos
!
!

2
4

2
4

1
1
e x =
. Vamos agora verificar se sao
crticos sao x =
2
2
2 1
2 1
1
minimizadores. Caso > , temos tres pontos crticos, x, x e x. O ponto x nao e
2
nem minimizador nem maximizador local de f . De fato, para todo t > 0, suficientemente
pequeno, temos 1 + 2 t2 2 < 0. Portanto,
f

t
t2

!
= t2 + (t2 1)2 = t2 + 2 t4 2t2 + 1 < 1 = f (
x).

!
t
Alem disso, f
= t2 + 1 > 1 = f (
x). Os pontos x e x sao minimizadores globais pois
0
4 1
x2
f (x ) = f (
x) =
e dado x , temos x21 . Assim,
2
4



4 1
1
2
2
2
2 x2 + 1
.
f (x) = x1 + (x2 1) x2 +

42
1
nico ponto crtico e x = 0. Este ponto e minimizador global, pois dado
Caso , o u
2 2
x). A Figura 8.12
x , temos x1 2x2 . Assim, f (x) = x21 + (x2 1)2 x22 + 1 1 = f (

ilustra este exerccio. Salientamos que os fatos de x e x serem minimizadores globais no


2.5

2.5

1.5

1.5

x~

x*

0.5

0
0.5

0.5

1.5

0.5

0.5

1.5

0.5

1.5

0.5

0.5

1.5

Figura 8.12: Ilustracao do Exerccio 7.20.


1
1
caso > e de x = 0 ser minimizador global no caso poderiam ser obtidos com
2
2
o argumento usado no Exerccio 7.15, que utiliza o Lema 3.5. De!fato, o problema aqui e
0
equivalente a encontrar o(s) ponto(s) de mais proximo de
.
1
7.22. Este exerccio estabelece, via teoria de KKT, uma importante relacao entre os
problemas primal e dual de programacao linear.
(a) Dados x e y viaveis temos
bT y = (Ax)T y = xT AT y xT c = cT x.

Dicas ou Solucoes dos Exerccios

193

(b) As condicoes de KKT para o problema primal podem ser escritas como
c = AT
0
( )T x = 0.
Alem disso, pela viabilidade de x , temos Ax = b e x 0. Portanto,
cT x = ( + AT )T x = bT .
(c) Para ver que e solucao do problema dual, note primeiro que AT = c c, o
que significa que e viavel. Considere agora um ponto y viavel para o dual. Usando o
que ja foi provado, temos
bT y c T x = bT .
(d) Pelo que foi provado nos itens anteriores, o valor otimo primal, cT x coincide com o
valor otimo dual, bT .
7.23. Como o conjunto viavel e compacto, existe um minimizador global x . Suponha,
por absurdo, que kx k < . Entao, Ax + b = f (x ) = 0. Sejam < 0 o menor
autovalor de A e v IRn um autovetor associado tal que kx + vk . Assim,
1
f (x + v) f (x ) = kvk2 < 0,
2
o que contradiz o fato de x ser um minimizador global.
7.24. As condicoes de KKT para o problema sao
x + A T = 0
Ax + b = 0.
Como AT = A, temos que x Im(A).
7.25. As condicoes de KKT para o problema sao
Bx + b + AT = 0
Ax + c = 0.
Pelo que vimos no Exerccio 1.18, o sistema acima, que pode ser escrito como
B AT
A 0

!
=

b
c

!
,

tem uma u
nica solucao (x , ). Como as condicoes suficientes de segunda ordem sao
satisfeitas para este problema, podemos concluir que a solucao e um minimizador local.
Para ver que e global, note que dado x IRn , tal que Ax + c = 0, temos x x N (A).

Dicas ou Solucoes dos Exerccios

194

Assim, x = x + d, para algum d N (A). Alem disso,


1
1
f (x) f (x ) = dT Bd + dT (Bx + b) = dT Bd dT (AT ).
2
2
Como d N (A), obtemos f (x) f (x ).


b ) arbitrario e defina J = E I + i I 0 | ci (x )T d = 0 .
7.26. Considere d D(x
Aplicando os Lemas 7.37 e 7.38, com J no lugar de E, conclumos que existe uma sequencia
(xk ) tal que cJ (xk ) = 0, xk x e
xk x
d

.
k

kx x k
kdk
Afirmamos que xk e viavel, a partir de um certo ndice. De fato, se i I \ I(x ), entao
ci (x ) < 0. Por outro lado, se i I(x ) \ J, entao ci (x )T d < 0. Portanto,
k

d
o(kxk x k)
ci (xk )
T x x
=
c
(x
)
+
ci (x )T
< 0.
i
k

kx x k
kx x k
kx x k
kdk

Em qualquer caso, ci (xk ) < 0, para todo k suficientemente grande. Assim, fazendo
y k = xk x e usando o fato de que x e um minimizador local para o problema (7.1),
obtemos
1
f (x )T y k + (y k )T 2 f (x )y k + o(ky k k2 ) = f (xk ) f (x ) 0.
2

(8.35)

Alem disso, para cada i E I + , temos


1
ci (x )T y k + (y k )T 2 ci (x )y k + o(ky k k2 ) = ci (xk ) ci (x ) = 0,
2
donde segue que
AE (x )T

T

X
1
i 2 ci (x )y k + o(ky k k2 ) = 0.
y k + (y k )T
2
iE

e
AI + (x )T I +

T

X
1
y k + (y k )T
i 2 ci (x )y k + o(ky k k2 ) = 0.
2
+

(8.36)

(8.37)

iI

Somando (8.35) - (8.37) e notando que f (x ) + AE (x )T + AI + (x )T I + = 0, obtemos


(y k )T 2xx `(x , , )y k + o(ky k k2 ) 0.
Dividindo (8.38) por ky k k2 e passando o limite, obtemos
dT 2xx `(x , , )d 0.

(8.38)

Dicas ou Solucoes dos Exerccios

195

7.27. A prova e praticamente a mesma do Teorema 7.44, observando apenas que se


b ), entao existe i I + , tal que ci (x )T d < 0.
d D(x ) \ D(x

Captulo 8
8.1. As condicoes de KKT para o subproblema (8.2) sao dadas por
(

B(xk , k )d + A(xk )T = x `(xk , k )


A(xk )d
= c(xk ).

(8.39)

Desta forma, se (xk , k ) e um ponto KKT para o problema (8.1), entao x `(xk , k ) = 0 e
c(xk ) = 0. Portanto, (d, ) = (0, 0) cumpre (8.39). Reciprocamente, se d = 0 e um ponto
estacionario para o subproblema (8.2), entao existe IRm tal que
A(xk )T = x `(xk , k ) e c(xk ) = 0.
Assim, f (xk ) + A(xk )T (k + ) = 0, isto e, xk e um ponto KKT para o problema (8.1).

Refer
encias Bibliogr
aficas
[1] M. S. Bazaraa, H. D. Sherali, and C. M. Shetty. Nonlinear Programming Theory and
Algorithms. John Wiley, New York, 2nd edition, 1993.
[2] D. P. Bertsekas, A. Nedi
c, and A. E. Ozdaglar. Convex Analysis and Optimization.
Athena Scientific, Belmont, USA, 2003.
[3] J. F. Bonnans, J. C. Gilbert, C. Lemarechal, and C. A. Sagastizabal. Numerical
Optimization: Theoretical and Practical Aspects. Springer Verlag, Berlin, 2002.
[4] C. M. Chin. A new trust region based SLP-filter algorithm which uses EQP active set
strategy. PhD thesis, Department of Mathematics, University of Dundee, Scotland,
2001.
[5] C. M. Chin and R. Fletcher. On the global convergence of an SLP-filter algorithm
that takes EQP steps. Mathematical Programming, 96(1):161177, 2003.
[6] A. R. Conn, N. I. M. Gould, and Ph. L. Toint. Trust-Region Methods. MPS-SIAM
Series on Optimization, SIAM, Philadelphia, 2000.
[7] E. D. Dolan and J. J. More. Benchmarking optimization software with performance
profiles. Mathematical Programming, 91:201213, 2002.
[8] R. G. Eustaquio. Condicoes de otimalidade e de qualificacao para problemas de
programacao nao linear. Masters thesis, Universidade Federal do Parana, Curitiba,
PR, 2007.
[9] F. M. Fernandes. Velocidade de convergencia de metodos de otimizacao irrestrita.
Trabalho de conclusao de curso, Universidade Federal do Parana, 2010.
[10] R. Fletcher and S. Leyffer. Nonlinear programming without a penalty function.
Mathematical Programming - Ser. A, 91(2):239269, 2002.
[11] R. Fletcher, S. Leyffer, and Ph. L. Toint. On the global convergence of a filter-SQP
algorithm. SIAM J. Optimization, 13(1):4459, 2002.
[12] R. Fletcher and C. M. Reeves. Function minimization by conjugate gradients. Computer J., 7:149154, 1964.
196

Referencias Bibliograficas

197

[13] A. Friedlander. Elementos de Programacao Nao-Linear. Unicamp, 1994.


[14] C. C. Gonzaga. Um curso de programacao nao linear. Notas de aula - UFSC, 2004.
[15] C. C. Gonzaga, E. W. Karas, and M. Vanti. A globally convergent filter method for
nonlinear programming. SIAM J. Optimization, 14(3):646669, 2003.
[16] F. J. Gould and J. W. Tolle. A necessary and sufficient qualification for constrained
optimization. SIAM Journal on Applied Mathematics, 20:164172, 1971.
[17] N. I. M. Gould, D. Orban, and Ph. L. Toint. CUTEr, a constrained and unconstrained testing environment, revisited. ACM Transactions on Mathematical Software,
29(4):373394, 2003.
[18] M. Guignard. Generalized Kuhn-Tucker conditions for mathematical programming
problems in a Banach space. SIAM Journal on Control and Optimization, 7:232241,
1969.
[19] J-B. Hiriart-Urruty and C. Lemarechal. Convex Analysis and Minimization Algorithms I. Springer-Verlag, New York, 1993.
[20] W. Hock and K. Schittkowski. Test Examples for Nonlinear Programming Codes,
volume 187. Lecture Notes in Economics and Mathematical Systems, Springer, 1981.

[21] A. Howard and C. Rorres. Algebra


Linear com Aplicacoes. Bookman, Porto Alegre,
8nd edition, 2001.
[22] A. Izmailov and M. Solodov. Otimizacao: Condicoes de Otimalidade, Elementos de
Analise Convexa e Dualidade, volume 1. IMPA, Rio de Janeiro, 2005.
[23] A. Izmailov and M. Solodov. Otimizacao: Metodos Computacionais, volume 2. IMPA,
Rio de Janeiro, 2007.
[24] F. John. Extremum Problems with Inequalities as Subsidiary Conditions. In
O. E. Neugebauer K. O. Friedrichs and J. J. Stoker, editors, Studies and Essays:
Courant Anniversary Volume, pages 187204. Wiley-Interscience, New York, 1948.
[25] E. W. Karas, A. M. Mota, and A. A. Ribeiro. On the convergence rate of the cauchy
algorithm in the l2 norm. Technical report, Federal University of Parana, Brazil,
2005.
[26] E. W. Karas, A. P. Oening, and A. A. Ribeiro. Global convergence of slanting
filter methods for nonlinear programming. Applied Mathematics and Computation,
200(2):486500, 2007.

Referencias Bibliograficas

198

[27] H. W. Kuhn and A. W. Tucker. Nonlinear programming. In J. Neyman, editor,


Proceendings of the Second Berkeley Symposium on Mathematical Statistics and Probability, pages 481492. University of California Press, Berkeley, CA, 1951.
[28] Harold W. Kuhn. Nonlinear programming: a historical view. In R. W. Cottle and
C. E. Lemke, editors, Nonlinear Programming, volume IX, pages 126. SIAM-AMS
Proceedings, American Mathematical Society, Providence, RI, New York, 1976.

[29] S. J. Leon. Algebra


Linear com Aplicacoes. LTC, Rio de Janeiro, 1999.
[30] E. L. Lima. Curso de Analise, volume 1. IMPA, Rio de Janeiro, Brasil, 1981.
[31] E. L. Lima. Curso de Analise, volume 2. IMPA, Rio de Janeiro, Brasil, 1981.
[32] D. G. Luenberger. Linear and Nonlinear Programming. Addison - Wesley Publishing
Company, New York, 1986.
[33] J. M. Martnez. Inexact-restoration method with Lagrangian tangent decrease and a
new merit function for nonlinear programming. Journal of Optimization Theory and
Applications, 111:3958, 2001.
[34] J. M. Martnez and E. A. Pilotta. Inexact restoration algorithm for constrained
optimization. Journal of Optimization Theory and Applications, 104:135163, 2000.
[35] J. M. Martnez and S. A. Santos. Metodos computacionais de otimizacao. 20.0
Coloquio Brasileiro de Matematica - IMPA, 1995.
[36] J. J. More, B. S. Garbow, and K. E. Hillstrom. Testing unconstrained optimization
software. ACM Transactions on Mathematical Software, 7(1):1741, 1981.
[37] A. M. Mota. Convergencia de algoritmos para programacao nao linear. Masters
thesis, Universidade Federal do Parana, Curitiba, PR, 2005.
[38] K. G. Murty. Linear Programming. John Wiley, New York, 1983.
[39] J. Nocedal and S. J. Wright. Numerical Optimization. Springer Series in Operations
Research. Springer-Verlag, 1999.
[40] A. L. Peressini, F. E. Sullivan, and Jr J. J. Uhl. The Mathematics of Nonlinear
Programming. Springer-Verlag, New York, 1nd edition, 1988.
[41] G. A. Pericaro. Algoritmos de Filtro Globalmente Convergentes: Teoria, Implementacao e Aplicacao. PhD thesis, Universidade Federal do Parana, Curitiba, PR,
2011.
[42] G. A. Pericaro, A. A. Ribeiro, and E. W. Karas. Global convergence of general filter
algorithms. Technical report, Federal University of Parana, Brazil, 2011.

Referencias Bibliograficas

199

[43] E. Polak. Computational Methods in Optimization: A Unified Approach. Academic


Press, New York, 1971.
[44] E. Polak and G. Ribi`ere. Note sur la convergence de methodes de directions conjuguees. Revue Francaise dInformatique et de Recherche Operationnelle, 16:3543,
1969.
[45] B. T. Polyak. Introduction to Optimization. Optimization Software, Inc, New York,
1987.
[46] A. A. Ribeiro, E. W. Karas, and C. C. Gonzaga. Global convergence of filter methods
for nonlinear programming. SIAM Journal on Optimization, 19(3):12311249, 2008.
[47] T. Steihaug. The conjugate gradient method and trust regions in large scale optimization. SIAM Journal on Numerical Analysis, 20:626637, 1983.