Beruflich Dokumente
Kultur Dokumente
Curitiba
2013
Sumário
Prefácio 1
Introdução 3
1 Revisão de Conceitos 5
1.1 Sequências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Definições e resultados clássicos . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Ordem de convergência . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Noções de topologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Resultados de álgebra linear . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Fórmula de Taylor e teorema da função implı́cita . . . . . . . . . . . . . . 17
1.5 Exercı́cios do capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Introdução à Otimização 27
2.1 O problema de otimização . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Condições de otimalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Exercı́cios do capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3 Convexidade 36
3.1 Conjuntos convexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Funções convexas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3 Exercı́cios do capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4 Algoritmos 46
4.1 Algoritmos de descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Métodos de busca unidirecional . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.1 Busca exata - método da seção áurea . . . . . . . . . . . . . . . . . 49
4.2.2 Busca inexata - condição de Armijo . . . . . . . . . . . . . . . . . . 54
4.3 Convergência global de algoritmos . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.1 Convergência global de algoritmos de descida . . . . . . . . . . . . 57
4.3.2 Teorema de Polak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4 Exercı́cios do capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ii
5 Métodos de Otimização Irrestrita 63
5.1 Método do gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1.2 Convergência global . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.1.3 Velocidade de convergência . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.2 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2.3 Convergência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.4 Região de convergência . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.3 Método de direções conjugadas . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3.1 Direções conjugadas . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3.2 Algoritmo de gradientes conjugados . . . . . . . . . . . . . . . . . . 78
5.3.3 Extensão para funções não quadráticas . . . . . . . . . . . . . . . . 81
5.3.4 Complexidade algorı́tmica . . . . . . . . . . . . . . . . . . . . . . . 82
5.4 Métodos quase-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4.1 O algoritmo básico . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4.2 O método DFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.3 O método BFGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.5 Método de região de confiança . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.5.2 O passo de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.3 Convergência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.5.4 O método dogleg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.5 O método GC-Steihaug . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.6 Exercı́cios do capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
iii
7.2.2 O cone gerado pelos gradientes das restrições . . . . . . . . . . . . . 139
7.2.3 O cone tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.2.4 O teorema de Karush-Kuhn-Tucker . . . . . . . . . . . . . . . . . . 144
7.2.5 Medidas de estacionariedade . . . . . . . . . . . . . . . . . . . . . . 146
7.3 Condições de qualificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7.3.1 Problemas com restrições lineares . . . . . . . . . . . . . . . . . . . 151
7.3.2 Condição de qualificação de Slater . . . . . . . . . . . . . . . . . . . 151
7.3.3 Condição de qualificação de independência linear . . . . . . . . . . 152
7.3.4 Condição de qualificação de Mangasarian-Fromovitz . . . . . . . . . 153
7.4 Condições de otimalidade de segunda ordem . . . . . . . . . . . . . . . . . 157
7.4.1 Problemas com restrições de igualdade . . . . . . . . . . . . . . . . 158
7.4.2 Problemas com restrições de igualdade e desigualdade . . . . . . . . 160
7.5 Exercı́cios do capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
iv
Prefácio
O presente texto foi escrito com o propósito de servir como material didático
para um curso de otimização. Procuramos abordar aspectos teóricos e computacionais.
Interpretações geométricas são evocadas sempre que possı́vel com o auxı́lio de diversas
figuras para ilustrar conceitos, exemplos e teoremas. A teoria de otimização com restrições
é apresentada com uma abordagem de cones que, além de ter um forte apelo geométrico,
consideramos ser mais moderna.
Para um bom aproveitamento do livro, é desejável que o estudante tenha conheci-
mentos de Álgebra Linear e Análise no IRn . Além disso, é importante dar especial atenção
aos vários exercı́cios que aparecem no final de cada capı́tulo. Muitos exercı́cios 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 complemen-
tar a teoria. Apresentamos, no final do livro, dicas, soluções ou respostas de alguns dos
exercı́cios propostos. Entretanto, recomendamos fortemente que o estudante tente fazer
os exercı́cios antes de ver a solução, pois é desta forma que o aprendizado é bem suce-
dido. Este livro pode ser usado tanto em cursos de graduação quanto na pós-graduação.
Entretanto, para alunos de graduação, que ainda não possuem uma certa maturidade
matemática, algumas seções podem ser omitidas, pois apresentam argumentos mais elab-
orados.
Gostarı́amos de manifestar nossa imensa gratidão ao Professor Clóvis Caesar
Gonzaga, com quem aprendemos muito. Estamos certos que neste livro há muito dele e
esperamos que estas páginas reflitam sua maneira de fazer matemática com simplicidade
e elegância, de quem sempre busca uma forte motivação geométrica na abordagem dos
conceitos.
Agradecemos à Professora Sandra Augusta Santos, que tem nos apoiado em nossa
trajetória acadêmica e que contribuiu muito para a melhoria deste trabalho, ao professor
Marcelo Queiroz, pela leitura minuciosa e pelas diversas sugestões apresentadas e aos
colegas Lucas Garcia Pedroso e Mael Sachine pelas discussões que ajudaram a enriquecer
este texto.
Também somos gratos aos nossos alunos que acompanharam o desenvolvimento
deste trabalho, através de seminários e sugestões: Flavia Mescko Fernandes, Gislaine
Aparecida Periçaro, Karla Cristiane Arsie, Leonardo Moreto Elias, Paulo Domingos Conejo,
2
Priscila Savulski Ferreira, Rodrigo Garcia Eustáquio, Tatiane Cazarin da Silva, Tuanny
Elyz Brandeleiro Brufati e Wagner Augusto Almeida de Moraes.
Ademir e Elizabeth
Curitiba, 15 de Junho de 2012.
Introdução
Otimização, direta ou indiretamente, faz parte do nosso dia a dia. Vários campos
da ciência fazem uso das ferramentas apresentadas neste texto, com o objetivo de ajudar
na tomada de decisões. Dentre eles, podemos citar a confiabilidade estrutural, economia,
informática, logı́stica, medicina, processos sı́smicos e transporte. Quase sempre o obje-
tivo é minimizar ou maximizar certa variável, como o custo ou o lucro em determinado
processo.
Mais formalmente, podemos dizer que otimização consiste em encontrar pontos
de mı́nimo ou de máximo de uma função real sobre um conjunto Ω ⊂ IRn . Isto pode ser
colocado na forma
minimizar f (x)
(PΩ )
sujeito a x ∈ Ω.
onde cE : IRn → IRm e cI : IRn → IRp são funções quaisquer. O problema de otimização
pode então ser reescrito como
minimizar f (x)
(P ) sujeito a cE (x) = 0
cI (x) ≤ 0.
pode ser considerado simples em comparação com o problema geral de PNL e o estudo de
suas propriedades bem como dos métodos que o resolvem é de fundamental importância
em otimização, porque muitos métodos para resolver o problema geral de PNL fazem uso
dos métodos que resolvem o caso irrestrito.
É conhecido na literatura que se o conjunto viável Ω é formado apenas por re-
strições de igualdade e x∗ ∈ Ω é um minimizador, então existe λ∗ ∈ IRm tal que
X
m
∗
∇f (x ) + λ∗i ∇ci (x∗ ) = 0.
i=1
Revisão de Conceitos
1.1 Sequências
Uma sequência em IRn é uma aplicação k ∈ IN → xk ∈ IRn , definida no conjunto
IN dos números naturais. Denotaremos uma sequência por (xk )k∈IN , ou simplesmente por
(xk ). Por conveniência, consideramos que IN = {0, 1, 2, 3, . . .}.
Neste caso, também dizemos que a sequência (xk ) converge para x̄ e indicamos este fato
por xk → x̄ ou lim xk = x̄.
k→∞
Teorema 1.2 Se uma sequência (xk ) converge para um limite x̄, então toda subsequência
(xki )i∈IN também converge para x̄.
5
Revisão de Conceitos 6
Demonstração. Dado ε > 0, existe um k̄ ∈ IN tal que para todo k ≥ k̄ tem-se kxk − x̄k < ε.
Assim, dado i ≥ k̄, temos ki ≥ kk̄ ≥ k̄. Portanto, kxki − x̄k < ε.
O limite de uma subsequência (xk )k∈IN0 é chamado valor de aderência ou ponto
de acumulação da sequência (xk ).
1
Exemplo 1.3 A sequência xk = (−1)k + tem dois pontos de acumulação e portanto
k+1
não é convergente.
Exemplo 1.5 Considere uma sequência (tk ) ⊂ IR tal que tk → t̄. Dado α < t̄, existe
k̄ ∈ IN tal que para k ≥ k̄ tem-se tk > α.
De fato, para ε = t̄ − α > 0, existe k̄ ∈ IN tal que para k ≥ k̄ tem-se |tk − t̄| < ε. Assim,
tk > α.
Definição 1.6 Uma sequência (xk ) ⊂ IRn é limitada, quando o conjunto formado pelos
seus elementos é limitado, ou seja, quando existe um número real M > 0 tal que kxk k ≤ M
para todo k ∈ IN.
Teorema 1.8 (Bolzano-Weierstrass) Toda sequência limitada em IRn possui uma sub-
sequência convergente.
Teorema 1.9 Uma sequência limitada em IRn é convergente se, e somente se, possui um
único ponto de acumulação.
Definição 1.10 Dizemos que a sequência (xk ) é não-decrescente quando xk+1 ≥ xk para
todo k ∈ IN e é não-crescente quando xk+1 ≤ xk para todo k ∈ IN. Se as desigualdades
forem estritas, diremos que (xk ) é crescente no primeiro caso e decrescente no segundo.
Em qualquer uma destas situações a sequência (xk ) é dita monótona.
Teorema 1.12 Seja (xk ) ⊂ IR uma sequência monótona que possui uma subsequência
IN0
convergente, digamos xk → x̄. Então xk → x̄.
Demonstração. Suponha que (xk ) é não-crescente (os demais casos são análogos). Afir-
mamos que xk ≥ x̄, para todo k ∈ IN. De fato, do contrário existiria k̄ ∈ IN tal que
xk ≤ xk̄ < x̄, para todo k ∈ IN, k ≥ k̄. Assim nenhuma subsequência de (xk ) poderia
convergir para x̄. Provamos então que (xk ) é limitada, pois x̄ ≤ xk ≤ x0 , para todo
k ∈ IN. Pelo Teorema 1.11, temos que (xk ) é convergente e aplicando o Teorema 1.2 segue
que xk → x̄.
Definição 1.13 Seja (xk ) ⊂ IR uma sequência limitada. Definimos o limite inferior da
sequência (xk ) como seu menor ponto de acumulação e denotamos por lim inf xk . Analoga-
mente definimos o limite superior da sequência como seu maior ponto de acumulação e
denotamos por lim sup xk .
1
Exemplo 1.14 Determine lim inf xk e lim sup xk , sendo xk = (−1)k + .
k+1
Como vimos no Exemplo 1.3, a sequência (xk ) tem somente dois pontos de acumulação,
−1 = lim inf xk e 1 = lim sup xk .
1 1 1 1
xk = , yk = , wk = e zk = .
k+6 3k 2k2 22k
Vemos que todas elas convergem para 0, mas não com a mesma rapidez, conforme sugere
a Tabela 1.1.
Revisão de Conceitos 8
k 0 1 2 3 4 5 6
xk 0,1667 0,1429 0,1250 0,1111 0,1000 0,0909 0,0833
yk 1,0000 0,3333 0,1111 0,0370 0,0123 0,0041 0,0014
wk 1,0000 0,5000 0,0625 0,0020 1,5×10−5 3×10−8 1,4×10−11
zk 0,5000 0,2500 0,0625 0,0039 1,5×10−5 2,3×10−10 5,4×10−20
Definição 1.17 Dizemos que a sequência (xk ) ⊂ IRn converge linearmente para x̄ ∈ IRn ,
com razão de convergência r ∈ [0, 1), quando
kxk+1 − x̄k
lim sup = r. (1.1)
kxk − x̄k
Note que a condição (1.1) implica xk → x̄. De fato, tomando s ∈ (r, 1), temos
kxk+1 − x̄k > skxk − x̄k para no máximo uma quantidade finita de ı́ndices. Assim, existe
k̄ ∈ IN tal que
kxk̄+p − x̄k ≤ sp kxk̄ − x̄k,
1
Exemplo 1.19 A sequência y k = converge linearmente para 0.
3k
Basta notar que
ky k+1 k 1
= .
ky k k 3
Definição 1.20 A sequência (xk ) ⊂ IRn converge superlinearmente para x̄ ∈ IRn quando
kxk+1 − x̄k
→ 0. (1.2)
kxk − x̄k
Revisão de Conceitos 9
Note que a condição (1.2) também implica xk → x̄. Além disso, é imediato
verificar que a convergência superlinear implica na convergência linear.
1
Exemplo 1.21 A sequência xk = converge superlinearmente para 0.
2k2
Temos 2
kxk+1 k 2k 1
= 2 = → 0.
kxk k 2(k+1) 22k+1
Definição 1.22 A sequência (xk ) ⊂ IRn converge quadraticamente para x̄ ∈ IRn quando
xk → x̄ e existe uma constante M > 0 tal que
kxk+1 − x̄k
≤ M. (1.3)
kxk − x̄k2
É importante observar que apenas a condição (1.3) não implica xk → x̄, como
podemos ver na sequência xk = 2k com x̄ = 0.
1
Exemplo 1.23 A sequência xk = converge quadraticamente para 0.
22k
Temos k
kxk+1 k (22 )2
= 2k+1 = 1.
kxk k2 2
1
Exemplo 1.24 A sequência xk = converge superlinearmente mas não quadratica-
k!
mente para 0.
Temos
kxk+1 k k! 1
= = → 0.
kx k
k (k + 1)! k+1
e
kxk+1 k (k!)2 k! k
= = = (k − 1)! → ∞.
kx k
k 2 (k + 1)! k+1 k+1
k 0 1 k+1 k k 1
Exemplo 1.25 Considere a sequência (x ) definida por x = e x =x x + .
2 10
Mostre que (xk ) é convergente, calcule o seu limite e determine a ordem de convergência.
Revisão de Conceitos 10
9
Podemos ver por indução que 0 ≤ xk < , para todo k ∈ IN. Portanto,
10
1 9 1
xk+1 k
=x x +k
<x k
+ = xk .
10 10 10
Como (xk ) é monótona e limitada, concluı́mos que é convergente, digamos xk → x̄. Assim,
como (xk+1 ) é uma subsequência de (xk ), temos também xk+1 → x̄. Passando o limite
nos dois membros da relação que define a sequência, obtemos
1
x̄ = x̄ x̄ + ,
10
9 1
donde segue que x̄ = 0 ou x̄ = . Como x0 = e a sequência é decrescente, temos que
10 2
1
x̄ = 0. A convergência é linear com razão , pois
10
xk+1 1 1
k
= xk + → .
x 10 10
Exemplo 1.26 Considere 0 < r < s < 1 e a sequência (xk ) definida por x0 = 1 e
(
rxk , se k é par
xk+1 =
sxk , se k é ı́mpar.
Mostre que (xk ) é convergente, calcule o seu limite e determine a ordem de convergência.
Note que xk+1 < xk , para todo k ∈ IN. Portanto, 0 ≤ xk ≤ x0 , para todo k ∈ IN. Sendo
(xk ) decrescente e limitada, concluı́mos que é convergente, digamos xk → x̄. Portanto,
x̄ = rx̄, donde segue que x̄ = 0. Como
xk+1
lim sup = s < 1,
xk
Definição 1.28 Um conjunto X é fechado quando contém sua fronteira, ou seja, quando
FrX ⊂ X.
De forma equivalente, podemos dizer que X ⊂ IRn é fechado se, e somente se,
toda sequência convergente formada por elementos de X tem seu limite em X (veja o
Exercı́cio 1.11).
Definição 1.29 Um conjunto X ⊂ IRn é limitado quando existe M > 0 tal que kxk ≤ M ,
para todo x ∈ X.
Quando X ⊂ IRn for fechado e limitado, dizemos que ele é compacto. Também
podemos caracterizar a compacidade de X em termos de sequências. O conjunto X é
compacto se, e somente se, toda sequência de elementos de X possui uma subsequência
que converge para algum elemento de X (veja o Exercı́cio 1.12).
Exemplo 1.31 Determine a fronteira dos conjuntos dados e verifique se são compactos.
1. X = x ∈ IR2 | x41 + 8x22 ≤ 16 ;
Temos
FrX = x ∈ IR2 | x41 + 8x22 = 16 , FrB = FrS = S.
Portanto, x41 + 8x22 ≤ 16, donde segue que X é fechado. O conjunto B não é compacto
pois não contém sua fronteira; S é compacto; Ω não é compacto, pois não é 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
0.5
−0.5
−1
−2 −1 0 1 2
Definição 1.37 O núcleo de uma matriz A ∈ IRm×n , denotado por N (A), é um subcon-
junto de IRn formado por todas as soluções do sistema homogêneo Ax = 0, ou seja,
Note que Im(A) é o espaço vetorial gerado pelas colunas de A, chamado espaço
coluna de A. O posto de A é definido por posto(A) = dim(Im(A)).
Prova-se em álgebra linear que posto(A) = posto(AT ), ou seja, o espaço-linha e
o espaço-coluna de A tem a mesma dimensão. Portanto, posto(A) ≤ min{m, n}. Quando
ocorre a igualdade na expressão acima, dizemos que a matriz A tem posto cheio ou
posto completo e em consequência disto, ou as colunas ou as linhas de A são linearmente
independentes.
Outro fato clássico afirma que dim(N (A)) + dim(Im(A)) = n, o que equivale a
Exemplo 1.40 Dada uma matriz A ∈ IRm×n , temos posto(A) = posto(AT A).
Exemplo 1.41 Dada a matriz A = (1 1 0), determine N (A) e Im(AT ). Qual é a repre-
sentação geométrica destes subespaços?
Revisão de Conceitos 14
1 0
Temos que x ∈ N (A) se, e somente se, x1 + x2 = 0. Assim, N (A) = −1 , 0 .
0 1
1
Além disso, Im(A ) = 1 . Geometricamente, temos que N (A) é um plano e Im(AT )
T
0
é uma reta perpendicular a este plano. Isto é generalizado no próximo exemplo.
Exemplo 1.42 Considere uma matriz A ∈ IRm×n . Mostre que N (A) ⊥ Im(AT ).
Definição 1.45 Seja A ∈ IRn×n uma matriz simétrica. Dizemos que A é definida positiva
quando xT Ax > 0, para todo x ∈ IRn \ {0}. Tal propriedade é denotada por A > 0. Se
xT Ax ≥ 0, para todo x ∈ IRn , A é dita semidefinida positiva, fato este denotado por
A ≥ 0.
Cabe salientar que a definição geral de positividade de uma matriz não exige que
ela seja simétrica. No entanto, no contexto deste livro vamos supor a simetria quando
considerarmos matrizes positivas.
!
a b
Exemplo 1.46 Considere A = . Se A > 0, então a > 0 e det(A) > 0.
b c
!
x1
De fato, dado x = , temos
x2
! !
1 t
Em particular, fazendo x = , obtemos a > 0. Além disso, tomando x = ,
0 1
obtemos at2 + 2bt + c > 0, para todo t ∈ IR. Isto implica que o discriminante 4b2 − 4ac é
negativo, donde segue que det(A) = ac − b2 > 0.
A recı́proca do fato provado no exemplo anterior também é verdadeira. Mais
ainda, o resultado vale em IRn×n . Veja o Exercı́cio 1.16 no final do capı́tulo.
O próximo lema nos permite provar a positividade de uma matriz sem ter que
verificar a desigualdade em todo o IRn .
Lema 1.47 Sejam A ∈ IRn×n uma matriz simétrica e δ > 0. Se xT Ax ≥ 0, para todo
x ∈ IRn tal que kxk = δ, então xT Ax ≥ 0, para todo x ∈ IRn .
δx
Demonstração. Considere x ∈ IRn \{0}. Tomando y = , temos que kyk = δ. Portanto,
kxk
δ2 T
usando a hipótese, temos que x Ax = y T Ay ≥ 0. Assim, xT Ax ≥ 0.
kxk2
Podemos inverter as desigualdades na Definição 1.45 para dizer o que é uma
matriz definida negativa ou semidefinida negativa. Entretanto, existem matrizes que não
são nem positivas nem negativas, o que motiva a seguinte definição.
Definição 1.48 Seja A ∈ IRn×n uma matriz simétrica. Dizemos que A é indefinida
quando existem x, y ∈ IRn tais que xT Ax < 0 < y T Ay.
Sabemos que toda matriz simétrica A ∈ IRn×n possui uma base ortonormal de
autovetores, digamos {v 1 , v 2 , . . . , v n }. Indicando por λ1 , λ2 , . . . , λn os autovalores corre-
spondentes, 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.
A = P DP T . (1.5)
X
n
T T
x Ax = y Dy = λi yi2 . (1.6)
i=1
Lema 1.49 Se A ∈ IRn×n é uma matriz simétrica com λ1 e λn sendo o menor e o maior
autovalor, respectivamente, então
λ1 kxk2 ≤ xT Ax ≤ λn kxk2 ,
Lema 1.50 Seja A ∈ IRn×n uma matriz definida positiva. Então existe B ∈ IRn×n tal
que A = BB T . Além disso, dado x ∈ IRn , temos
Notando que
a0 I + a1 D + · · · + ak Dk = diag q(λ1 ), q(λ2 ), . . . , q(λn )
concluı́mos a demonstração.
A norma de uma matriz A ∈ IRm×n é definida por
kAxk ≤ kAkkxk,
kAxk2 = xT A2 x = xT P D2 P T x.
X
n
kAxk2 = y T D2 y = λ2i yi2 ≤ λ2r kyk2 .
i=1
Como kyk2 = xT P P T x = kxk2 = 1, temos kAk ≤ |λr |. Além disso, existe v ∈ IRn tal que
kvk = 1 e Av = λr v. Assim,
2 2
1.5 1.5
1 1
0.5 0.5
0 0
−0.5 −0.5
−1 −1
−1.5 −1.5
−2 −2
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
1 1 1
0 0 0
−1 −1 −1
−2 −2 −2
−6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6
Agora considere uma função vetorial f : IRn → IRm . Sua derivada, chamada de Jacobiana,
é a matriz
∂f1 ∂f1
∂x1 · · · ∂xn
. ... ..
Jf = f 0 = .
. .
.
∂fm ∂fm
···
∂x1 ∂xn
Note que a linha i da Jacobiana de f é o gradiente transposto da componente fi . Em
particular, para m = 1, temos f 0 = (∇f )T . Além disso, ∇2 f = J∇f
T
.
Revisão de Conceitos 19
Exemplo 1.53 Considere f : IRn → IR dada por f (x) = kxk2 = xT x. Calcule ∇f (x) e
∇2 f (x). Generalizando, faça o mesmo para g : IRn → IR dada por g(x) = xT Ax, onde
A ∈ IRn×n é uma matriz arbitrária.
Temos ∇f (x) = 2x e ∇2 f (x) = 2I, onde I ∈ IRn×n é 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 função tem propriedades muito interessantes, tanto algébricas
quanto geométricas. Destacamos algumas delas.
1. O gradiente é uma direção de crescimento da função;
2. é a direção de crescimento mais rápido e
3. o gradiente é perpendicular à curva de nı́vel da função.
As justificativas dessas afirmações podem ser encontradas no Capı́tulo 3 de [29]. A Figura
1.4 ilustra as propriedades citadas.
Outra relação importante surge quando restringimos uma função 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
ϕ0 (t) = lim = (x̄ + td) = ∇f (x̄ + td)T d.
s→0 s ∂d
X
n
∂f
Para calcular ϕ00 , note que ϕ0 (t) = dj (x̄ + td). Assim, lembrando que ∇2 f (x) é
j=1
∂xj
simétrica, temos
X
n
∂f
00
ϕ (t) = dj ∇ (x̄ + td)T d = dT ∇2 f (x̄ + td)d.
j=1
∂xj
Revisão de Conceitos 20
r(x)
com lim = 0.
x→x̄ kx − x̄k
f(x)
r(x)
∇f(x̄)T(x−x̄)
f(x̄)
x̄ x
Agora vamos ver uma função quadrática que aproxima uma dada função na viz-
inhança de um ponto.
Teorema 1.55 (Taylor de segunda ordem) Se f : IRn → IR é uma função duas vezes
diferenciável e x̄ ∈ IRn , então
1
f (x) = f (x̄) + ∇f (x̄)T (x − x̄) + (x − x̄)T ∇2 f (x̄)(x − x̄) + r(x),
2
r(x)
com lim = 0.
x→x̄ kx − x̄k2
1
p2 (x) = f (x̄) + ∇f (x̄)T (x − x̄) + (x − x̄)T ∇2 f (x̄)(x − x̄)
2
1
f (x̄ + d) = f (x̄) + ∇f (x̄)T d + dT ∇2 f (x̄)d + o(kdk2 ).
2
Exemplo 1.56 Considere a função f : IR2 → IR dada por f (x) = x1 cos x2 + x2 sen x1 .
Determine as aproximações de Taylor de ordens 1 e 2 para f em torno de 0. Estime o
erro da aproximação linear na região [−1, 1] × [−1, 1].
Revisão de Conceitos 22
f(x) r(x)
1 T 2
2 (x−x̄) ∇ f(x̄)(x−x̄)
∇f(x̄)T(x−x̄)
f(x̄)
x̄ x
Teorema 1.58 (Taylor com resto de Lagrange) Considere f : IRn → IR uma função
de classe C 1 e x̄, d ∈ IRn . Se f é duas vezes diferenciável no segmento (x̄, x̄ + d), então
existe t ∈ (0, 1) tal que
1
f (x̄ + d) = f (x̄) + ∇f (x̄)T d + dT ∇2 f (x̄ + td)d.
2
Para funções f : IRn → IRm , com m > 1, não podemos garantir uma igualdade,
como no Teorema 1.57. No entanto, ainda podemos obter informação da variação da
função a partir de uma estimativa da limitação da sua derivada. Isto é formalizado no
seguinte teorema.
Revisão de Conceitos 23
x̄ x̄ +td x̄ +d
O próximo teorema garante que, sob certas hipóteses, podemos definir implici-
tamente uma variável como função de outra em uma equação. A prova deste resultado
também pode ser encontrada em [29].
Teorema 1.60 (Teorema da função implı́cita) Seja ϕ : IRn+1 → IRn uma função de
classe C 1 . Considere o sistema de n equações e n + 1 variáveis definido por
!
x
ϕ = 0, (1.8)
t
!
x̄
onde x ∈ IRn e t ∈ IR. Se o ponto é uma solução de (1.8), na qual a Jacobiana de
0
ϕ em relação!a x tem posto n, então existe uma curva diferenciável γ : (−ε, ε) → IRn tal
γ(t)
que ϕ = 0, para todo t ∈ (−ε, ε). Além disso, a função γ é única.
t
(i) Considere [a0 , b0 ] um intervalo que contém a sequência toda e escolha um elemento
xk0 qualquer;
(ii) Dividindo o intervalo [a0 , b0 ] ao meio, sabemos que em pelo menos um dos dois inter-
valos resultantes há uma infinidade de termos da sequência. Indique este intervalo
por [a1 , b1 ] e escolha um elemento xk1 ∈ [a1 , b1 ], com k1 > k0 ;
(iii) Indutivamente, repetindo o procedimento anterior, escolha xki ∈ [ai , bi ], com ki >
ki−1 .
Mostre que:
2k
1.8. Seja xk = , k ∈ IN. Mostre que (xk ) converge para zero com ordem superlinear
k!
1 2
mas não quadrática. Faça o mesmo para xk = k e xk = e−k .
k
√ √
1.9. Considere a sequência definida por x0 = 2, xk+1 = 2 + xk . Mostre que:
1.11. Mostre que X ⊂ IRn é fechado se, e somente se, dada (xk ) ⊂ X tal que xk → x̄,
temos x̄ ∈ X.
1.12. Mostre que X ⊂ IRn é compacto se, e somente se, toda sequência (xk ) ⊂ X possui
uma subsequência que converge para algum elemento de X.
1.13. Considere X ⊂ IRn e (z k ) ⊂ FrX, tal que z k → x̄. Mostre que x̄ ∈ FrX.
1.15. Seja A ∈ IRn×n uma matriz simétrica. Sendo {v 1 , v 2 , . . . , v n } uma base ortonor-
mal de autovetores e {λ1 , λ2 , . . . , λn } os autovalores associados. Supondo que nenhum
autovalor é nulo, obtenha uma expressão para a inversa A−1 .
1.16. A matriz simétrica A ∈ IRn×n é definida positiva se, e somente se, os determinantes
principais são positivos.
1.17. A matriz simétrica A ∈ IRn×n é definida positiva se, e somente se, todos os seus
autovalores são positivos.
1.18. Seja A ∈ IRm×n uma matriz de posto n. Mostre que AT A é definida positiva.
1.23. Considere A ∈ IRm×n com posto(A) = n. Mostre existe c > 0 tal que kAxk ≥ ckxk,
para todo x ∈ IRn .
Q−1 uv T Q−1
(Q + uv T )−1 = Q−1 − .
1 + v T Q−1 u
1.25. Considere g : IRn → IRm diferenciável e defina f (x) = kg(x)k22 . Calcule ∇f (x) e
∇2 f (x).
1.26. Considere f : IRn → IR dada por f (x) = kAx − bk22 , onde A ∈ IRm×n e b ∈ IRm .
Calcule ∇f (x).
1.27. Dada f : IRn → IR diferenciável, defina f + (x) = max {0, f (x)} e g(x) = f + (x)2 .
Mostre que ∇g(x) = 2f + (x)∇f (x).
1.28. Considere uma função f : IRn → IR e uma curva γ : I ⊂ IR → IRn , ambas duas
vezes diferenciáveis. Defina ϕ : I → IR por ϕ(t) = f γ(t) . Obtenha expressões para as
derivadas ϕ0 (t) e ϕ00 (t).
Introdução à Otimização
minimizar f (x)
(2.1)
sujeito a x ∈ Ω,
27
Otimização Irrestrita 28
Ω tal que f (xk ) ≤ −k. Como a sequência (xk ) está no compacto Ω, ela possui uma
IN0
subsequência convergente para um ponto de Ω, digamos xk → x̄ ∈ Ω. Pela continuidade
IN0
de f , temos f (xk ) → f (x̄), uma contradição. Portanto, f (Ω) = {f (x) | x ∈ Ω} é limitado
inferiormente. Considere f ∗ = inf{f (x) | x ∈ Ω}. Então, 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 demonstração.
O Teorema 2.2 tem uma consequência interessante, que pode garantir a existência
de minimizador global em IRn .
Corolário 2.3 Seja f : IRn → IR contı́nua e suponha que existe c ∈ IR tal que o conjunto
L = {x ∈ IRn | f (x) ≤ c} é compacto não vazio. Então f tem um minimizador global.
Demonstração. 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 ∈ IRn×n é uma matriz
simétrica. Mostre que f tem um minimizador global x∗ em S = {x ∈ IRn | kxk = 1}.
Mostre também que existe λ ∈ IR tal que xT Ax ≥ λkxk2 , para todo x ∈ IRn .
Definição 2.5 Dizemos que a função f : IRn → IR é coerciva quando lim f (x) = ∞,
kxk→∞
ou seja, quando para todo M > 0, existe r > 0 tal que f (x) > M sempre que kxk > r.
Teorema 2.6 Seja f : IRn → IR uma função contı́nua e coerciva. Então, f tem um
minimizador global.
Demonstração. Considere a ∈ IRn e b = f (a). Pela coercividade de f , existe r > 0 tal que
f (x) > b sempre que kxk > r. Como o conjunto B = {x ∈ IRn | kxk ≤ r} é compacto,
o Teorema 2.2 garante que existe x∗ ∈ B tal que f (x∗ ) ≤ f (x), para todo x ∈ B. Além
disso, a ∈ B, pois f (a) = b. Para x ∈/ B, temos f (x) > b = f (a) ≥ f (x∗ ). Isto prova que
x∗ é minimizador de f .
Observação: o Exercı́cio 2.12 no final do capı́tulo fornece outra demonstração
para o Teorema 2.6.
Otimização Irrestrita 29
Exemplo 2.7 Sejam A ∈ IRn×n uma matriz simétrica, b ∈ IRn e c ∈ IR. Suponha que a
função 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 também que x∗ é mini-
mizador global.
1
f (x∗ + td) − f (x∗ ) = t2 dT Ad + t(Ax∗ + b)T d.
2
1
Como x∗ é 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∗ é global, note que
1 T
d Ad = f (x∗ + d) − f (x∗ ) ≥ 0
2
para d próximo de 0, donde segue que dT Ad ≥ 0 para todo d ∈ IRn , tendo em vista o
Lema 1.47.
Exemplo 2.8 Considere a quadrática definida no Exemplo 2.7 e suponha que A é definida
positiva. Mostre que f é coerciva.
λ
Se λ é o menor autovalor de A, temos f (x) ≥ kxk2 − kbkkxk + c.
2
∇f (x∗ ) = 0. (2.2)
r(t) r(t)
com lim = 0. Usando (2.3) e dividindo por t, obtemos 0 ≤ ∇f (x∗ )T d+ . Passando
t→0 t t
o limite quando t → 0, obtemos ∇f (x∗ )T d ≥ 0. Se ∇f (x∗ ) não fosse nulo, poderı́amos
escolher d = −∇f (x∗ ), resultando em k∇f (x∗ )k2 = −∇f (x∗ )T d ≤ 0, o que é uma
contradição. Logo ∇f (x∗ ) = 0.
Definição 2.10 Um ponto x∗ ∈ IRn que cumpre a condição (2.2) é dito ponto crı́tico ou
estacionário da função f .
∂f
Note que ∇f (x) 6= 0, para todo x ∈ IR3 , pois (x) = 5. Portanto, pelo Teorema 2.9,
∂x3
não existe minimizador de f em IR3 . Por outro lado, como B é compacto, o Teorema 2.2
garante que existe minimizador de f em B.
dT ∇2 f (x∗ )d ≥ 0, (2.4)
t2 T 2
f (x∗ + td) = f (x∗ ) + t∇f (x∗ )T d + d ∇ f (x∗ )d + r(t),
2
r(t)
com lim 2 = 0. Como x∗ é minimizador local, o Teorema 2.9 garante que ∇f (x∗ ) = 0.
t→0 t
Portanto, para t suficientemente pequeno,
t2 T 2
0 ≤ f (x∗ + td) − f (x∗ ) = d ∇ f (x∗ )d + r(t),
2
Exemplo 2.13 [13, Exerc. 2.6] Seja f : IR2 → IR dada por f (x) = (x1 − x22 )(x1 − 12 x22 ).
Verifique que x̄ = 0 é o único ponto estacionário de f e não é minimizador. No entanto,
fixada qualquer direção d ∈ IRn \ {0}, x̄ minimiza localmente f ao longo de d.
!
2x1 − 23 x22
Temos ∇f (x) = . Assim, se ∇f (x) = 0, então x = 0. Além disso,
−3x1 x2 + 2x32
x4
f 23 x22 , x2 = − 2 < 0, o que significa que x̄ = 0 não é minimizador local de f . Porém,
18
Otimização Irrestrita 31
1
f (x̄ + td) = t2 d1 − td22 d1 − td22 .
2
Se d1 = 0, então f (x̄ + td) = 12 t4 d42 ≥ 0. Caso d1 6= 0, a expressão (d1 − td22 )(d1 − 21 td22 ) é
positiva em t = 0 e, por continuidade, também para t próximo de 0. A Figura 2.1 ilustra
este exemplo.
Convém observar aqui que se x∗ é minimizador local de f , então dado d ∈ IRn \{0},
existe δ > 0 tal que
f (x∗ ) ≤ f (x∗ + td),
para todo t ∈ (−δ, δ). Este argumento foi usado, por exemplo, na demonstração do
Teorema 2.9. Entretanto, o Exemplo 2.13 mostra que a recı́proca não é verdadeira.
1 1
f (x∗ + d) = f (x∗ ) + dT ∇2 f (x∗ )d + r(d) ≥ f (x∗ ) + λkdk2 + r(d),
2 2
r(d)
onde lim = 0. Podemos então escrever
d→0 kdk2
λ r(d) λ r(d)
Como lim + > 0, existe δ > 0 tal que + > 0, para todo d ∈ B(0, δ)\{0},
d→0 2 kdk 2 2 kdk2
donde segue que f (x∗ + d) − f (x∗ ) > 0, para todo d ∈ B(0, δ) \ {0}, ou, equivalentemente,
O próximo teorema nos fornece uma condição suficiente (mas não necessária)
para que um ponto seja sela.
Teorema 2.16 Seja f : IRn → IR duas vezes diferenciável no ponto estacionário x̄ ∈ IRn .
Se ∇2 f (x̄) é indefinida, então x̄ é ponto de sela de f .
Demonstração. Considere d ∈ IRn tal que dT ∇2 f (x̄)d < 0. Por Taylor, já usando o fato
de x̄ ser estacionário, temos
r(t)
com lim = 0. Portanto,
t→0 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̄ é ponto de sela.
!
6x21 − 12x1 x2 − 6x1 + 6x22 + 6x2
Temos ∇f (x) = . Logo, os pontos estacionários são
−6x21 + 12x1 x2 + 6x1
soluções do sistema (
6x22 + 6x2 = 0
,
6x21 − 12x1 x2 − 6x1 = 0
! ! ! !
0 1 0 −1
que podemos verificar que são x1 = , x2 = , x3 = e x4 = . Além
0 0 −1 −1
disso, !
12x 1 − 12x 2 − 6 −12x 1 + 12x 2 + 6
∇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 é indefinida, pois u = e v = fornecem
1 −2 0 1
uT A1 u < 0 e v T A1 v > 0. Portanto x1 é ponto de sela. Já o ponto x2 é minimizador local,
pois A2 > 0. Além disso, A3 = −A1 também é indefinida, sendo então x3 ponto de sela.
Finalmente, A4 = −A2 < 0, o que implica que x4 é maximizador local. A Figura 2.2
ilustra este exemplo.
0.5
−0.5
−1
−1.5
−2
−2 −1 0 1 2
Exemplo 2.18 [22, Exerc. 1.3.5] Dado σ > 1, mostre que o sistema
( 2 2
σ cos x1 sen x2 + x1 ex1 +x2 = 0
2 2
σsen x1 cos x2 + x2 ex1 +x2 = 0
2 2
Considere f : IR2 → IR dada por f (x) = σsen 1 x1 +x2
! x1 sen x2 + 2 e . Fazendo u = x21 + x22 ,
σ cos x1 sen x2 + x1 eu
temos que ∇f (x) = e
σsen x1 cos x2 + x2 eu
!
2 −σsen x1 sen x2 + eu + 2x21 eu σ cos x1 cos x2 + 2x1 x2 eu
∇ f (x) = .
σ cos x1 cos x2 + 2x1 x2 eu −σsen x1 sen x2 + eu + 2x22 eu
!
1 σ
Portanto, ∇2 f (0) = . Como σ > 1, ∇2 f (0) não é semidefinida positiva e assim,
σ 1
x = 0 não pode ser minimizador local de f . Mas f é coerciva e portanto tem um
minimizador local x̄ 6= 0.
2.1. [13, Exerc. 2.1] Sejam g : IR → IR uma função estritamente crescente e f : IRn → IR.
Prove que minimizar f (x) é equivalente a minimizar g f (x) .
2.2. [13, Exerc. 2.3(a)] Considere números reais a < b < c e as funções f, g : IR → IR,
definidas por
2.3. [13, Exerc. 2.4] Sejam a, b ∈ IR dois números reais positivos. Considere a função
de Rosenbrock f (x) = a(x2 − x21 )2 + b(1 − x1 )2 . Encontre o (único) ponto estacionário
de f e verifique se é minimizador local. Prove que ∇2 f (x) é singular se e somente se
b
x2 − x21 = .
2a
2.4. Sejam f : IRn → IR contı́nua, x∗ ∈ IRn e f ∗ = f (x∗ ). Suponha que todo x, tal que
f (x) = f ∗ , é um minimizador local de f . Mostre que x∗ é um minimizador global de f .
2 2
2.5. Seja f : IR2 → IR dada por f (x) = sen x1 sen x2 + ex1 +x2 . Mostre que x̄ = 0 é ponto
estacionário de f . Diga se é minimizador, maximizador ou sela.
2.6. Verifique se a função f (x) = (x1 + x2 )2 + x31 tem algum ponto estacionário. Caso
afirmativo diga se é minimizador, maximizador ou sela.
x2 + x2
2.7. Seja f : IR2 → IR dada por f (x) = 1x2 +x22 . Encontre todos os pontos estacionários
e1 2
de f e mostre que tais pontos são extremos globais.
Otimização Irrestrita 35
2.8. Seja f : IR2 → IR dada por f (x) = x21 + x22 − x1 x22 . Determine e faça um esboço do
conjunto {x ∈ IR2 | ∇2 f (x) > 0}.
2.9. Seja f : IR2 → IR dada por f (x) = x21 − x1 x2 + 2x22 − 2x1 + 23 x2 + ex1 +x2 .
!
1 1
(a) Mostre que x̄ = é um ponto estacionário de f ;
3 −1
2.11. [13, Exerc. 2.17] Se for possı́vel, determine a e b de modo que f (x) = x3 + ax2 + bx
tenha um máximo local em x = 0 e um mı́nimo local em x = 1.
2.12. Seja f : IRn → IR uma função contı́nua e coerciva. Dado a ∈ IRn , mostre que o
conjunto L = {x ∈ IRn | f (x) ≤ f (a)} é compacto não vazio.
2.13. Sejam f : IRn → IR contı́nua e x̄ ∈ IRn tal que {x ∈ IRn | f (x) ≤ f (x̄)} é limitado.
Mostre que f tem minimizador global.
Convexidade
y
y
x
x
\
m
Exemplo 3.2 Sejam Ci , i = 1, . . . , m conjuntos convexos. Então o conjunto C = Ci
i=1
também é convexo. Por outro lado, a união de convexos não é convexa.
Exemplo 3.3 Mostre que o conjunto solução de um sistema de equações lineares é con-
vexo.
36
Convexidade 37
Seja C = {x ∈ IRn | Ax = b}. Se Ax = b e Ay = b, então A (1 − t)x + ty = b.
Veremos agora alguns resultados que além de sua importância em análise convexa,
podem também ser usados para provar o clássico Lema de Farkas, fundamental para a
obtenção das condições de Karush-Kuhn-Tucker para problemas com restrições.
Lema 3.4 Sejam u, v ∈ IRn com u 6= v. Se kuk2 = kvk2 = r, então k(1 − t)u + tvk2 < r,
para todo t ∈ (0, 1).
ku − vk2 = uT u − 2uT v + v T v = 0,
o que é uma contradição. Isto nos permite concluir que k(1 − t)u + tvk2 < r, completando
a demonstração.
Considere agora um conjunto S ⊂ IRn , um ponto z ∈ IRn e o problema de
encontrar um ponto de S mais próximo de z. Este problema pode não ter solução e
quando tem, não garantimos unicidade. No entanto, conforme provaremos a seguir, se S
é fechado, então existe solução. Se além de fechado, for convexo, a solução é única e será
chamada de projeção de z sobre S, denotada por projS (z). Veja ilustração na Figura 3.2.
S
S z z S projS (z) z
Lema 3.5 Seja S ⊂ IRn um conjunto fechado não vazio. Dado z ∈ IRn , existe z̄ ∈ S tal
que
kz − z̄k ≤ kz − xk,
para todo x ∈ S.
Convexidade 38
Demonstração. Seja α = inf{kz − xk | x ∈ S}. Então, para todo k ∈ IN, existe xk ∈ S tal
que
1
α ≤ kz − xk k ≤ α + . (3.1)
k
Em particular, kz − xk k ≤ α + 1, para todo k ∈ IN. Logo, existe uma subsequência
IN0
convergente, digamos, xk → z̄. Sendo S fechado, temos que z̄ ∈ S. Além disso,
IN0
kz − xk k → kz − z̄k.
Lema 3.6 Seja S ⊂ IRn um conjunto não vazio, convexo e fechado. Dado z ∈ IRn , existe
um único z̄ ∈ S tal que
kz − z̄k2 ≤ kz − xk2 ,
para todo x ∈ S.
Demonstração. A existência é garantida pelo Lema 3.5. Para provar a unicidade, suponha
que existam z̄ 6= z̃ em S tais que
kz − z̄k2 = kz − z̃k2 .
1
Por outro lado, o ponto z ∗ = (z̄ + z̃) está no convexo S. Além disso, pelo Lema 3.4,
2
1
com r = kz − z̄k2 = kz − z̃k2 e t = , temos
2
contradizendo (3.2).
No contexto do Lema 3.6, denotaremos
z̄ = projS (z).
Teorema 3.7 Sejam S ⊂ IRn um conjunto não vazio, convexo e fechado, z ∈ IRn e
z̄ = projS (z). Então
(z − z̄)T (x − z̄) ≤ 0,
para todo x ∈ S.
Assim,
Como t > 0, temos que 2(z − z̄)T (x − z̄) ≤ tkz̄ − xk2 . Passando o limite quando t → 0,
obtemos
(z − z̄)T (x − z̄) ≤ 0,
S projS (z) z
Lema 3.8 Sejam S ⊂ IRn um conjunto não vazio, convexo e fechado e z ∈ IRn . Se z̄ ∈ S
satisfaz
(z − z̄)T (x − z̄) ≤ 0,
Teorema 3.9 Sejam f : IRn → IR uma função diferenciável e C ⊂ IRn convexo e fechado.
Se x∗ ∈ C é minimizador local de f em C, então
projC x∗ − α∇f (x∗ ) = x∗ ,
para todo α ≥ 0.
Demonstração. Fixado x ∈ C, temos f (x∗ ) ≤ f (1 − t)x∗ + tx , para todo t ≥ 0, suficien-
temente pequeno. Portanto,
0 ≤ f x∗ + t(x − x∗ ) − f (x∗ ) = t∇f (x∗ )T (x − x∗ ) + r(t),
r(t)
onde lim = 0. Dividindo por t e passando o limite, obtemos ∇f (x∗ )T (x − x∗ ) ≥ 0.
t→0 t
Assim, dado α ≥ 0, temos
T
x∗ − α∇f (x∗ ) − x∗ (x − x∗ ) ≤ 0.
C −∇f C
−∇f
x
x
Definição 3.10 Seja C ⊂ IRn um conjunto convexo. Dizemos que a função f : IRn → IR
é convexa em C quando
f (1 − t)x + ty ≤ (1 − t)f (x) + tf (y),
f(y)
f(y)
¡ ¢
f (1−t)x+ty
(1−t)f(x)+tf(y) (1−t)f(x)+tf(y)
¡ ¢
f (1−t)x+ty
f(x) f(x)
x (1−t)x+ty y x (1−t)x+ty y
Apesar deste conceito ser muito simples, pode não ser tão fácil provar diretamente
da definição que uma função é convexa, mesmo ela sendo elementar.
Exemplo 3.11 Mostre, pela definição, que as funções f, g : IR → IR dadas por f (x) = x2
e g(x) = ex são convexas.
A convexidade de f decorre de
2
x + t(y − x) = 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 é convexa, considere z = (1 − t)x + ty. Como ed ≥ 1 + d, para todo d ∈ IR,
fazendo d = x − z e depois d = y − z, obtemos
ex ≥ ez + ez (x − z) e ey ≥ ez + ez (y − z).
Demonstração. 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 42
x∗ x y
para todos x, y ∈ C.
Portanto,
f (x + td) − f (x)
f (y) − f (x) ≥ lim+ = ∇f (x)T d = ∇f (x)T (y − x).
t→0 t
completando a demonstração.
Podemos interpretar geometricamente este resultado dizendo que uma função
convexa está sempre acima da sua aproximação linear. Veja a Figura 3.7.
Convexidade 43
x̄
A Figura 3.8 ilustra uma situação que satisfaz as condições do Corolário 3.14 e
outra onde isto não se verifica.
y C
y
C
x∗ ∇f x̄
∇f
Teorema 3.15 Sejam f : IRn → IR uma função convexa diferenciável e C ⊂ IRn convexo
e fechado. Se
projC x∗ − ∇f (x∗ ) = x∗ ,
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+td) ≥ 0, concluı́mos que f (x+d) ≥ f (x)+∇f (x)T d.
Pelo Teorema 3.13, f é convexa.
(ii) Considere primeiro x ∈ intC. Dado d ∈ IRn , temos que x + td ∈ C, para t sufi-
cientemente pequeno. Portanto, pela convexidade de f , Teorema 3.13 e Teorema 1.55,
obtemos
t2
0 ≤ f (x + td) − f (x) − t∇f (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
t→0 t
considere x ∈ C, arbitrário. Como existe y ∈ intC, o Exercı́cio 3.1 garante que todos
os pontos do segmento (x, y] estão em intC. Pelo que já 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 demonstração.
3.3. Sejam T : IRn → IRm linear e C ⊂ IRn convexo. Mostre que T (C) é convexo.
3.5. Seja S ⊂ IRn convexo fechado. Mostre que dados x, y ∈ IRn , temos
3.7. Seja S ⊂ IRn um subespaço vetorial. Mostre que se z̄ = projS (z), então z − z̄ ∈ S ⊥ .
Convexidade 45
3.8. Seja L = {x ∈ IRn | Ax + b = 0}, onde A ∈ IRm×n é tal que posto(A) = m e b ∈ IRm .
Dado a ∈ IRn , mostre que projL (a) = a − AT (AAT )−1 (Aa + b).
3.15. Seja f : IR2 → IR dada por f (x) = x21 − x1 x2 + 2x22 − 2x1 + 23 x2 + ex1 +x2 . Mostre
que f é convexa.
x22
3.16. Mostre que f : (0, ∞) × IR → IR dada por f (x) = é convexa.
x1
1
f (x) = xT Ax + bT x,
2
3.18. Dentre todos os minimizadores da função f do Exercı́cio 3.17, mostre que existe
um único que pertence a Im(A).
3.19. Refazer o Exemplo 3.11 da Seção 3.2 usando o Teorema 3.13 e também usando o
Teorema 3.16.
Capı́tulo 4
Algoritmos
46
Algoritmos 47
Definição 4.1 Considere uma função f : IRn → IR, um ponto x̄ ∈ IRn e uma direção
d ∈ IRn \ {0}. Dizemos que d é uma direção 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 condição suficiente para uma direção ser de descida.
Teorema 4.2 Se ∇f (x̄)T d < 0, então d é uma direção de descida para f , a partir de x̄.
para todo t ∈ (−δ, δ), t 6= 0. Portanto, f (x̄ + td) < f (x̄), para todo t ∈ (0, δ), o que
completa a demonstração.
Quando n = 2 ou n = 3, podemos interpretar geometricamente o Teorema 4.2,
dizendo que as direções que formam um ângulo obtuso com ∇f (x̄) são de descida. Veja
a Figura 4.1.
∇f(x̄)
x̄
d
! !
1 1 d1
Exemplo 4.3 Sejam f : IR2 → IR dada por f (x) = (x21 −x22 ) e x̄ = . Se d =
2 0 d2
é tal que d1 ≤ 0, então d é uma direção de descida para f , a partir de x̄.
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, não podemos usar o teorema, mas basta notar que
(td2 )2
f (x̄ + td) = f (1, td2 ) = f (x̄) − . A Figura 4.2 ilustra este caso.
2
Algoritmos 48
!
0
Exemplo 4.4 Considere a mesma função do Exemplo 4.3 e x̄ = . O que podemos
−1
!
1
dizer sobre d = ?
0
Não podemos aplicar o Teorema 4.2, pois ∇f (x̄)T d = 0. Procedendo de modo análogo ao
t2
exemplo anterior, obtemos f (x̄ + td) = f (t, −1) = f (x̄) + . Portanto, a função cresce
2
ao longo de d. A Figura 4.2 ilustra este exemplo.
∇f ∇f
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 )
Faça xk+1 = xk + tk dk
k =k+1
4 4
3 3
2 2
1 1
0 0
−1 −1
−2 −1 0 1 2 −2 −1 0 1 2
podem ser obtidas pelo algoritmo, xk → 1 e (y k ) tem dois pontos de acumulação, 1 e −1.
Entretanto, nenhum desses pontos é estacionário. Veja a Figura 4.3.
Deste modo, se queremos garantir convergência, a escolha da direção dk e do
tamanho do passo tk , no Algoritmo 4.1, não pode ser arbitrária. Discutiremos na próxima
seção como obter tk , tendo dada uma direção. A determinação de uma direção de busca
será tratada no Capı́tulo 5.
Este problema é, em geral, difı́cil de se resolver. Entretanto, para certas funções
especiais, existem algoritmos para resolvê-lo. Veremos adiante tais funções, bem como
Algoritmos 50
um algoritmo. Antes porém vamos fazer um exemplo que pode ser resolvido de forma
direta.
!
1 1
Exemplo 4.5 Considere f : IR2 → IR dada por f (x) = (x1 − 2)2 + (x2 − 1)2 , x̄ =
2 0
!
3
ed= . Faça a busca exata a partir de x̄, na direção d.
1
11t2 3
ϕ(t) = f (x̄ + td) = f (1 + 3t, t) = − 5t + ,
2 2
2.5
1.5
1 d
0.5
x̄ x̄ + t̄d
0
−0.5
−1
∇f
−1.5
−1 0 1 2 3 4 5
queira. Este algoritmo será então aplicado para a função ϕ : [0, ∞) → IR definida por
Definição 4.6 Uma função contı́nua ϕ : [0, ∞) → IR é dita unimodal quando admite
um conjunto de minimizadores [t1 , t2 ], é estritamente decrescente em [0, t1 ] e estritamente
crescente em [t2 , ∞).
t1 t2 t1=t2
(ii) Se ϕ(u) < ϕ(v) então o trecho [v, b] não pode conter um minimizador e pode ser
descartado;
a u v b
Vamos discutir agora como particionar o intervalo [a, b]. A obtenção deste inter-
valo, que deve conter um minimizador de ϕ, será tratada adiante.
Uma estratégia que parece natural é dividir o intervalo em três partes iguais, ou
seja, definir
1 2
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 avaliações de
função por etapa, pois o ponto que sobrou, u ou v, não pode ser aproveitado. Veja a
Figura 4.8.
a u v b
a+ u+ v+ b+
Uma estratégia que veremos ser mais inteligente consiste em escolher os pontos
u e v que dividem o segmento [a, b] na razão áurea, de acordo com a seguinte definição.
Definição 4.7 Um ponto c divide o segmento [a, b] na razão áurea quando a razão entre o
maior segmento e o segmento todo é igual à razão entre√o menor e o maior dos segmentos.
5−1
Tal razão é conhecida como o número de ouro e vale ≈ 0, 618.
2
Desta forma, temos que u e v devem satisfazer
u = a + θ1 (b − a) e v = a + θ2 (b − a), (4.2)
θ1 1 − θ2
obtemos 1 − θ1 = e θ2 = . Portanto,
1 − θ1 θ2
√ √
3− 5 5−1
θ1 = ≈ 0, 382 e θ2 = ≈ 0, 618.
2 2
Note que
θ1 + θ2 = 1 e θ22 = θ1 . (4.3)
Uma das vantagens da divisão na razão áurea em relação à divisão em três partes
iguais é que descartamos mais de 38% do intervalo ao invés de 33, 33%. Outra vantagem
se refere a economia em avaliação de função como veremos a seguir.
No processo iterativo, a cada etapa descartamos o intervalo [a, u] ou [v, b], obtendo
um novo segmento que deverá ser particionado novamente. Indicamos por [a+ , b+ ] o novo
intervalo que será particionado pelos ponto u+ e v + .
Conforme veremos no próximo resultado, o ponto u é aproveitado na próxima
etapa e passa a ser v + quando descartamos [v, b]. Assim, o valor da função ϕ(u) é
aproveitado para a próxima etapa.
v + = a + θ22 (b − a) = a + θ1 (b − a) = u,
a u v b
a+ u+ v+ b+
Apresentamos agora o algoritmo da seção áurea, que tem duas fases. Na primeira,
obtemos um intervalo [a, b] que contém um minimizador de ϕ. A ideia desta etapa é
considerar um intervalo inicial [0, 2ρ], com ρ > 0, e ampliá-lo, deslocando para a direita,
até que um crescimento de ϕ seja detectado.
Na segunda fase, o intervalo [a, b] é reduzido, por meio do descarte de subin-
tervalos, até que reste um intervalo de tamanho suficiente para que uma precisão ε seja
alcançada.
A condição acima significa que queremos mais que uma simples redução em f .
Algoritmos 55
Esta redução deve ser proporcional ao tamanho do passo. O próximo resultado garante
que isto pode ser de fato obtido.
Teorema 4.9 Considere uma função diferenciável f : IRn → IR, um ponto x̄ ∈ IRn , uma
direção de descida d ∈ IRn e η ∈ (0, 1). Então existe δ > 0 tal que
Isto significa que procuramos um passo cuja redução na função objetivo seja pelo menos
uma fração η da redução obtida no modelo linear. Veja uma ilustração na Figura 4.10.
Note também nesta figura a reta dada por
p(0)=f(x)
f(x+td)
q
t
p(t)
Então, fazemos t = 0, 8×1, que também é recusado. Enfim, fazendo t = 0, 8×0, 8 = 0, 64,
teremos o passo aceito. Assim,
!
2, 92
t̄ = 0, 64 e x̄ + t̄d = .
0, 64
Veja a Figura 4.11, onde também representamos o ponto obtido pela busca exata, xex .
Note que neste caso podemos escrever a relação de Armijo como
5
f (1 + 3t, t) ≤ f (1, 0) − t,
4
15
o que equivale a t ≤ ≈ 0, 6818.
22
3
2.5
1.5
1 d
xex x̄ + t̄d
0.5
x̄
0
−0.5
−1
∇f
−1.5
−1 0 1 2 3 4 5
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 )
Faça xk+1 = xk + tk dk
k =k+1
Definição 4.11 Um algoritmo é dito globalmente convergente quando para qualquer se-
quência (xk ) gerada pelo algoritmo e qualquer ponto de acumulação x̄ de (xk ), temos que
x̄ é estacionário.
Nos dois teoremas que seguem, vamos supor que a função f , a ser minimizada, é
de classe C 1 .
Teorema 4.12 O Algoritmo 4.4, com o tamanho do passo calculado pela busca exata, é
globalmente convergente.
Demonstração. Sejam (xk ) uma sequência gerada pelo algoritmo e x̄ um ponto de acu-
IN0
mulação de (xk ), digamos xk → x̄. Suponha por absurdo que x̄ não seja estacionário,
isto é, ∇f (x̄) 6= 0. Assim, d¯ = −H(x̄)∇f (x̄) é uma direção de descida, o que garante a
existência de t̄ > 0 tal que β = f (x̄) − f (x̄ + t̄d)¯ > 0. Considere h : IRn → IR dada por
IN0
h(x) = f (x) − f x − t̄H(x)∇f (x) . Como h é contı́nua, temos que h(xk ) → h(x̄) = β.
Portanto,
β
f (xk ) − f (xk + t̄dk ) = 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 + t̄dk ) ≤ f (xk ) − ,
2
ou seja,
β
f (xk ) − f (xk+1 ) ≥ , (4.5)
2
para todo k ∈ IN0 , suficientemente grande. Por outro lado, pela continuidade de f , temos
IN0
f (xk ) → f (x̄). Como a sequência (f (xk ))k∈IN é decrescente, o Teorema 1.12 garante que
f (xk ) → f (x̄), contradizendo (4.5).
Se utilizarmos a busca de Armijo para calcular tk , também podemos garantir a
convergência.
Algoritmos 59
Teorema 4.13 O Algoritmo 4.4, com o tamanho do passo calculado pela condição de
Armijo (Algoritmo 4.3), é globalmente convergente.
Demonstração. Sejam (xk ) uma sequência gerada pelo algoritmo e x̄ um ponto de acu-
IN0
mulação de (xk ), digamos xk → x̄. Suponha por absurdo que x̄ não seja estacionário, isto
IN0
é, ∇f (x̄) 6= 0. Pela continuidade de f , temos f (xk ) → f (x̄). Como a sequência (f (xk )) é
decrescente, podemos aplicar o Teorema 1.12 para concluir que f (xk ) → f (x̄). Por outro
lado, pela condição de Armijo, temos
IN0
∇f (xk )T H(xk )∇f (xk ) → ∇f (x̄)T H(x̄)∇f (x̄) 6= 0,
IN0
donde segue que tk → 0. Então, tk < 1, para todo k ∈ IN0 , suficientemente grande. Pelo
tk
Algoritmo 4.3, o passo existiu e foi recusado. Assim,
γ
tk k tk
k k k k T k
f (x + tk d ) ≤ f (x ) + ηtk ∇f (x ) d e f x + d > f (xk ) + η ∇f (xk )T dk .
k
γ γ
Definição 4.15 Um algoritmo é dito globalmente convergente quando para qualquer se-
quência (xk ) gerada pelo algoritmo e qualquer ponto de acumulação x̄ de (xk ), temos que
x̄ é desejável.
Um algoritmo que gera apenas sequências que não tem pontos de acumulação é
um algoritmo globalmente convergente. De fato, não podemos encontrar uma sequência
gerada pelo algoritmo com um ponto de acumulação não desejável. Veja o Exemplo 4.16.
Dado: x0 ∈ IR
k=0
repita
xk+1 = xk − 1
k =k+1
gera sequências sem pontos de acumulação, pois |xm − xn | ≥ 1 para todos m, n ∈ IN.
Teorema 4.18 (Polak) Considere o problema (P ) e suponha que existe uma função de
mérito contı́nua ϕ : Ω → IR tal que para toda sequência (xk ) gerada pelo algoritmo e todo
ponto x̄ ∈ Ω não desejável, existe uma vizinhança V de x̄ e uma constante β > 0 tais
que se xk ∈ V , então ϕ(xk+1 ) ≤ ϕ(xk ) − β. Então todo ponto de acumulação de (xk ) é
desejável.
Algoritmos 61
Demonstração. Sejam (xk ) uma sequência gerada pelo algoritmo e x̄ um ponto de acu-
IN0
mulação de (xk ), digamos xk → x̄. Suponha por absurdo que x̄ não seja desejável. Então
existe uma vizinhança V de x̄ e uma constante β > 0 tais que
ϕ(xk+1 ) ≤ ϕ(xk ) − β,
IN0
se xk ∈ V . Como xk → x̄, podemos redefinir IN0 , se necessário, 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̄).
Como a sequência (ϕ(xk ))k∈IN é monótona não crescente, podemos aplicar o Teorema 1.12
para concluir que ϕ(xk ) → ϕ(x̄), o que contradiz 4.6. Portanto, x̄ é desejável.
(b) Suponha que d é uma direção 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 condição de Armijo
1
então η ≤ .
2
1 T
4.4. [13, Exerc. 6.7] Considere f : IRn → IR dada por f (x) = x Ax + bT x + c, onde
2
A ∈ IRn×n é uma matriz definida positiva, b ∈ IRn e c ∈ IR. Sejam x∗ o minimizador de
Algoritmos 62
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̄)
não é semidefinida positiva. Prove que existe uma direção de descida d em x̄.
∂f ∂f
(x) = ∇f (x)T d = −k∇f (x)k2 = −k∇f (x)kkvk ≤ ∇f (x)T v = (x).
∂d ∂v
5.1.1 Algoritmo
No algoritmo apresentado a seguir, deixamos em aberto a determinação do tamanho
do passo. Dentre as diversas formas de busca existentes, podemos utilizar a busca exata
(algoritmo da seção áurea) ou inexata (busca de Armijo) já discutidas anteriormente.
Dado: x0 ∈ IRn
63
Métodos para Otimização Irrestrita 64
k=0
repita enquanto ∇f (xk ) 6= 0
Defina dk = −∇f (xk )
Obtenha tk > 0 tal que f (xk + tk dk ) < f (xk )
Faça xk+1 = xk + tk dk
k =k+1
Cabe salientar que este algoritmo é exatamente o Algoritmo 4.4, onde consider-
amos H(xk ) = I ∈ IRn×n , para todo k ∈ IN. Isto nos permite aplicar aqui a análise de
convergência feita no Capı́tulo 4, conforme veremos no Teorema 5.2.
A Figura 5.1 mostra 4 iterações do algoritmo com a busca exata aplicado para
minimizar uma função quadrática convexa. Esta figura sugere duas propriedades do
algoritmo. Uma delas, formalizada no Lema 5.1, é o fato de duas direções consecutivas
serem ortogonais. A outra propriedade se refere à convergência, que será discutida na
próxima seção.
Lema 5.1 No Algoritmo 5.1, se tk é obtido por uma minimização local de f (xk + tdk ),
então (dk+1 )T dk = 0.
Portanto, como a busca é feita por uma minimização local, concluı́mos que
Teorema 5.2 O Algoritmo 5.1, com o tamanho do passo tk calculado pela busca exata, é
globalmente convergente, segundo a Definição 4.11. O mesmo resultado vale se utilizarmos
a busca de Armijo para calcular tk .
1
f (x) = xT Ax + bT x + c, (5.2)
2
com A ∈ IRn×n definida positiva, b ∈ IRn e c ∈ IR. Assim, f é convexa e tem um único
minimizador x∗ , que é global e satisfaz
(dk )T dk
tk = k T k . (5.4)
(d ) Ad
d
∇f (xk + tdk )T dk = f (xk + tdk ) = 0.
dt
Vejamos agora um lema técnico que será útil na análise da velocidade de con-
Métodos para Otimização Irrestrita 66
dT d xT Ax
≤ .
dT Ad xT A2 x
dT d xT A2 x (dT d)2
= .
dT Ad xT Ax (dT Ad)(dT A−1 d)
Como A é definida positiva, podemos usar o Lema 1.50 para concluir que
d T d xT A 2 x
≤ 1,
dT Ad xT Ax
completando a prova.
kxk+1 − x∗ k2 ≤ γkxk − x∗ k2 ,
Demonstração. Para simplificar a notação, vamos assumir que x∗ = 0 e f (x∗ ) = 0, isto é,
1
f (x) = xT Ax.
2
Isto não tira a generalidade da demonstração em virtude do Exercı́cio 5.6. Temos então
dk = −∇f (xk ) = −Axk , donde segue que
kxk+1 k22 ≤ kxk k22 − 2tk (xk )T Axk + tk (xk )T Axk = kxk k22 − tk (xk )T Axk .
Caso xk = 0 não há nada a fazer. Suponha então que xk 6= 0. Usando novamente (5.4),
obtemos
kxk+1 k22 (dk )T dk (xk )T Axk
≤ 1 − .
kxk k22 (dk )T Adk (xk )T xk
Métodos para Otimização Irrestrita 67
kxk+1 k22 λ1
2
≤1− ,
kx k2
k λn
completando a prova.
Este teorema tem uma interpretação geométrica interessante. As curvas de nı́vel
de f são elipsóides cuja excentricidade depende da diferença entre o maior e o menor
autovalor de A. Se λ1 = λn , então as curvas de nı́vel são esferas e a convergência ocorre
em um único passo. Entretanto, se λ1 λn , então os elipsóides ficam muito excêntricos
e a convergência se dá de forma lenta. Veja ilustração na Figura 5.2.
5.2.1 Motivação
Considere uma função f : IRn → IR de classe C 2 . Nosso objetivo consiste em
encontrar um minimizador de f . De acordo com as condições necessárias de otimalidade,
Métodos para Otimização Irrestrita 68
Como na maioria das vezes não conseguimos resolvê-lo de forma direta, os processos
iterativos constituem a forma mais eficiente de lidar com tais situações.
A ideia é aproximar F por seu polinômio de Taylor de primeira ordem. Dada
uma estimativa x̄, considere o sistema linear
onde JF representa a matriz Jacobiana de F . Caso JF (x̄) seja inversı́vel, o sistema (5.5)
pode ser resolvido, fornecendo
−1
x+ = x̄ − JF (x̄) F (x̄).
Isto corresponde a uma iteração do método de Newton para resolução de equações (veja
a Figura 5.3).
x+ x̄
5.2.2 Algoritmo
Com base na relação (5.6) podemos agora formalizar o método de Newton para
minimizar a função f . Basicamente, temos três variantes no algoritmo. Uma delas é
o método “puro”, onde não fazemos busca unidirecional e aceitamos o passo completo
(tk = 1, para todo k ∈ IN). As outras duas fazem uso de busca (exata ou Armijo).
Métodos para Otimização Irrestrita 69
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
Faça xk+1 = xk + tk dk
k =k+1
que tem um custo computacional menor do que o gasto para inverter uma matriz. Outra
observação é que, diferentemente do que acontece no algoritmo do gradiente, o passo
de Newton pode não estar bem definido, caso a matriz Hessiana ∇2 f (xk ) seja singular.
Além disso, mesmo que o passo dk seja calculado, esta direção pode não ser de descida.
Entretanto, se ∇2 f (xk ) é definida positiva, então o passo dk está bem definido e é uma
direção de descida.
O passo de Newton também pode ser obtido por uma abordagem diferente da
que foi exposta acima. Para isto considere a aproximação 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
xk+1 xk
xk+1
xk
x1 = x0 + d0 = −A−1 b = x∗ .
5.2.3 Convergência
Como já observamos antes, a direção de Newton pode não ser de descida. Por-
tanto, não garantimos convergência global quando o problema a ser resolvido envolver
uma função arbitrária. No entanto, para uma classe de funções convexas, podemos tirar
conclusões positivas, pois podemos aplicar o que foi estabelecido no Capı́tulo 4.
Teorema 5.6 Suponha que ∇2 f (x) é definida positiva, para todo x ∈ IRn . Então o
Algoritmo 5.2, com o tamanho do passo tk calculado pela busca exata, é globalmente
convergente, segundo a Definição 4.11. O mesmo resultado vale se utilizarmos a busca de
Armijo para calcular tk .
Demonstração. Note que o algoritmo de Newton pode ser considerado situação particular
−1
do Algoritmo 4.4, com H(xk ) = ∇2 f (xk ) , para todo k ∈ IN. Assim, as afirmações
feitas seguem diretamente dos Teoremas 4.12 e 4.13.
Para estabelecer propriedades a respeito da ordem de convergência do método de
Newton, vamos precisar dos seguintes resultados.
Lema 5.7 Suponha que ∇2 f (x̄) é definida positiva. Então existem constantes δ, M > 0
tais que ∇2 f (x) é definida positiva e
2
∇ f (x) −1
≤ M,
λ λ
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) é definida positiva para todo x ∈ B(x̄, δ). Para provar a outra
afirmação, considere x ∈ B(x̄, δ). Vamos denotar A = ∇2 f (x̄) e B = ∇2 f (x). Usando
novamente o Lema 1.49, agora aplicado em A2 , obtemos
kAdk2 = dT A2 d ≥ λ2 kdk2 ,
λ λ
kBdk = kAd + (B − A)dk ≥ kAdk − k(B − A)dk ≥ λkdk − kdk = kdk.
2 2
Lema 5.8 Seja U ⊂ IRn um conjunto aberto e convexo. Suponha que existe β > 0 tal
que sup k∇2 f (x) − ∇2 f (y)k ≤ β. Então
x,y∈U
para todos x, y ∈ U .
Demonstração. Fixado y ∈ U , considere h : IRn → IRn dada por h(x) = ∇f (x) − ∇2 f (y)x.
Assim,
kJh (x)k = k∇2 f (x) − ∇2 f (y)k ≤ β,
completando a demonstração.
Métodos para Otimização Irrestrita 72
Lema 5.9 Seja U ⊂ IRn aberto e convexo. Se ∇2 f é Lipschitz com constante L, então
para todos x, y ∈ U .
k∇f (x) − ∇f (y) − ∇2 f (y)(x − y)k = kh(x) − h(y)k ≤ βkx − yk = Lkx − yk2 ,
completando a demonstração.
O próximo resultado estabelece a convergência quadrática do método de Newton
puro, isto é, com tk = 1, para todo k ∈ IN.
Teorema 5.10 Seja f : IRn → IR de classe C 2 . Suponha que x∗ ∈ IRn seja um min-
imizador local de f , com ∇2 f (x∗ ) definida positiva. Então existe δ > 0 tal que se
x0 ∈ B(x∗ , δ), o Algoritmo 5.2, aplicado com tk = 1 para todo k ∈ IN, gera uma sequência
(xk ) tal que:
1
Podemos diminuir δ, se necessário, de modo que sup k∇2 f (x) − ∇2 f (y)k < . Pelos
x,y∈U 2M
Lemas 5.7 e 5.8, concluı́mos que
1
kxk+1 − x∗ k ≤ kxk − x∗ k. (5.9)
2
Isto prova que a sequência (xk ) está bem definida e que xk ∈ U , para todo k ∈ IN, donde
segue (i). Para ver que a convergência é superlinear, note primeiro que (5.9) implica
ε
xk → x∗ . Assim, dado ε > 0, considere δ0 < δ tal que sup k∇2 f (x) − ∇2 f (y)k < ,
x,y∈U0 M
Métodos para Otimização Irrestrita 73
kxk+1 − x∗ k ≤ εkxk − x∗ k,
provando assim (ii). Finalmente, se ∇2 f é 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 demonstração.
Podemos reescrever os resultados anteriores para o contexto de equações. A
próxima seção apresenta a convergência quadrática do método de Newton para resolução
de sistemas de equações. Mais ainda, obtemos explicitamente a região na qual se garante
a convergência.
F (x) = 0. (5.10)
Como vimos na Seção 5.2.1, caso a matriz Jacobiana JF (x̄) seja inversı́vel, o passo de
Newton é dado por
−1
d = − JF (x̄) F (x̄).
Dado: x0 ∈ IRn
k=0
repita enquanto F (xk ) 6= 0
−1
Defina dk = − JF (xk ) F (xk )
Faça xk+1 = xk + dk
k =k+1
Lema 5.11 Suponha que JF (x∗ ) é inversı́vel, cujo menor valor singular é λ > 0. Dado
cλ 1
c ∈ (0, 1), defina δ = eM= . Então, JF (x) é inversı́vel e
L (1 − c)λ
JF (x) −1
≤ M,
Métodos para Otimização Irrestrita 74
Demonstração. Temos
kJF (x∗ )dk ≥ λkdk, (5.11)
para todo x ∈ B(x∗ , δ). Para concluir, considere x ∈ B(x∗ , δ), A = JF (x∗ ) e B = JF (x).
Assim, usando (5.11) e (5.12), concluı́mos que
implicando que JF (x) é inversı́vel. Considere agora y ∈ IRn , com kyk = 1. Aplicando a
relação acima para d = B −1 y, concluı́mos que
−1
1
provando que
JF (x)
= kB −1 k ≤ .
(1 − c)λ
L
kF (x) − F (y) − JF (y)(x − y)k ≤ kx − yk2 ,
2
para todos x, y ∈ U .
Portanto,
Z 1
kF (x) − F (y) − JF (y)(x − y)k ≤
JF (y + tv) − JF (y) v
dt ≤ L kx − yk2 ,
0 2
completando a demonstração.
O próximo resultado estabelece a convergência quadrática do método de Newton
para equações.
2λ
Teorema 5.13 Sejam x∗ ∈ IRn uma raiz de F , com JF (x∗ ) inversı́vel e δ = , onde
∗ 0 ∗
3L
λ > 0 é o menor valor singular de JF (x ). Se x ∈ B(x , δ), então o Algoritmo 5.3 gera
uma sequência (xk ) tal que xk → x∗ e a convergência é quadrática.
Métodos para Otimização Irrestrita 75
2
Demonstração. Se xk ∈ U = B(x∗ , δ), então existe c < tal que
3
cλ
kxk − x∗ k < .
L
Pelo Lema 5.11, o passo de Newton está bem definido. Além disso, como F (x∗ ) = 0,
temos
−1
xk+1 − x∗ = JF (xk ) F (x∗ ) − F (xk ) − JF (xk )(x∗ − xk ) . (5.13)
L c
kxk+1 − x∗ k ≤ kxk − x∗ k2 ≤ kxk − x∗ k, (5.14)
2(1 − c)λ 2(1 − c)
2 c
Como c < , temos < 1 e isto prova que a sequência (xk ) está bem definida, que
3 2(1 − c)
xk ∈ U , para todo k ∈ IN e que xk → x∗ . A convergência quadrática decorre da primeira
desigualdade na relação (5.14), completando a demonstração.
O Teorema 5.10 significa que se o palpite inicial está perto de um minimizador
de f , a convergência é muito rápida, o que é uma caracterı́stica desejável em otimização.
Entretanto, o método de Newton tem um alto custo computacional, pois faz uso de
derivadas de segunda ordem. No método de Cauchy, o custo é baixo, mas a convergência
é lenta. Veremos agora uma classe de métodos que tenta obter as qualidades de ambos.
(di )T Adj = 0,
Lema 5.15 Seja A ∈ IRn×n uma matriz definida positiva. Um conjunto qualquer de
vetores A-conjugados é linearmente independente.
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,
1
f (x) = xT Ax + bT x + c, (5.15)
2
com A ∈ IRn×n definida positiva, b ∈ IRn e c ∈ IR. A função f tem um único minimizador
x∗ , que é global e satisfaz
Ax∗ + b = ∇f (x∗ ) = 0. (5.16)
onde
tk = argmin f (xk + tdk ) .
t∈IR
Note que a minimização acima é calculada sobre toda a reta e não apenas para valores
positivos de t, pois a direção dk pode não ser de descida para f no ponto xk . Além disso,
como f é quadrática, podemos obter uma fórmula explı́cita para tk . Para isso, defina
ϕ : IR → IR por ϕ(t) = f (xk + tdk ). Usando a definição de tk , obtemos
∇f (xk )T dk
tk = − . (5.20)
(dk )T Adk
O teorema a seguir mostra que o algoritmo dado por (5.17) minimiza a quadrática
definida em (5.15) com no máximo n passos.
Teorema 5.16 Considere a função quadrática dada por (5.15) e seu minimizador x∗ ,
definido em (5.16). Dado x0 ∈ IRn , a sequência finita definida em (5.17) cumpre xn = x∗ .
Demonstração. Pelo Lema 5.15, o conjunto {d0 , d1 , . . . , dn−1 } é uma base de IRn . Portanto,
existem escalares αi ∈ IR, i = 0, 1, . . . , n − 1, tais que
X
n−1
∗ 0
x −x = αi di . (5.21)
i=0
Assim,
(dk )T A(x∗ − x0 )
αk = . (5.22)
(dk )T Adk
Por outro lado, pela definição de xk em (5.17), temos
xk = x0 + t0 d0 + t1 d1 + · · · + tk−1 dk−1 ,
pois as direções são A-conjugadas. Substituindo isto em (5.22) e usando (5.16), obtemos
X
n−1
∗ 0
x =x + ti di = xn ,
i=0
completando a demonstração.
Métodos para Otimização Irrestrita 78
Veremos agora um resultado que será usado para provar que o ponto xk minimiza
a quadrática não apenas em uma reta como também na variedade afim de dimensão k,
dada por x0 + [d0 , d1 , . . . , dk−1 ].
Lema 5.17 Dado x0 ∈ IRn , considere a sequência finita definida em (5.17). Então
∇f (xk )T dj = 0,
para todo j = 0, 1, . . . , k − 1.
Demonstração. Pela relação (5.18), temos que ∇f (xk )T dk−1 = 0, provando a afirmação
para j = k − 1. Considere agora j < k − 1. Usando (5.19) e o fato das direções serem
A-conjugadas, obtemos
T
∇f (xk )T dj = ∇f (xk−1 ) + tk−1 Adk−1 dj = ∇f (xk−1 )T dj .
Teorema 5.18 Dado x0 ∈ IRn , considere a sequência finita definida em (5.17). Então o
ponto xk minimiza f sobre a variedade afim C = x0 + [d0 , d1 , . . . , dk−1 ].
x − xk ∈ [d0 , d1 , . . . , dk−1 ],
∇f (xk )T (x − xk ) = 0.
onde xk+1 é dado por (5.17) e βk é 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.
Salientamos que o Algoritmo 5.4 está bem definido, isto é, se ∇f (xk ) 6= 0, então
dk 6= 0, como pode ser visto pela relação (5.25) a seguir. Assim, o novo ponto pode ser
calculado. Outra caracterı́stica deste algoritmo, que não era necessariamente válida para
direções conjugadas em geral, é que as direções geradas aqui são de descida. De fato,
usando a relação (5.18), obtemos
∇f (xk )T dk = ∇f (xk )T − ∇f (xk ) + βk−1 dk−1 = −k∇f (xk )k2 . (5.25)
para todo j = 0, 1, . . . , k − 1.
Além disso, a definição de β0 em (5.24) implica (d1 )T Ad0 = 0. Suponha agora que o
resultado vale até k. Vamos provar que vale para k + 1. Pela hipótese de indução, as
direções d0 , d1 , . . . , dk são A-conjugadas. Assim, podemos aplicar o Lema 5.17 e concluir
T
que gk+1 dj = 0, para j = 0, 1, . . . , k. Assim, usando (5.23), obtemos
T T
gk+1 gj = gk+1 − dj + βj−1 dj−1 = 0, (5.26)
∇f1
x1
x2
x0
∇f0
∇f (xn )T ∇f (xj ) = 0,
coeficiente. Uma delas, proposta por Polak e Ribière [42], é dada por
∇f (xk+1 )T ∇f (xk+1 ) − ∇f (xk )
βkPR = , (5.27)
∇f (xk )T ∇f (xk )
∇f (xk+1 )T ∇f (xk+1 )
βkFR = . (5.28)
∇f (xk )T ∇f (xk )
Teorema 5.20 Se f é uma função quadrática, então as expressões (5.24), (5.27) e (5.28)
coincidem, ou seja
βk = βkPR = βkFR .
gk+1 − gk
Adk = .
tk
Portanto,
T
gk+1 Adk T
gk+1 (gk+1 − gk )
βk = = .
k T
(d ) Ad k (d ) (gk+1 − gk )
k T
T
gk+1 (gk+1 − gk )
βk = ,
gkT gk
T
provando assim a primeira igualdade. A outra expressão segue do fato de que gk+1 gk = 0,
provado no Teorema 5.19.
Cabe ressaltar que estas variantes para funções não quadráticas não terminam
necessariamente em n passos. Desta forma é usual considerar uma reinicialização das
direções de busca a cada n passos, fazendo βk = 0, o que equivale a tomar a direção
do gradiente. Tais considerações dão origem ao seguinte algoritmo para minimização
irrestrita.
Note que se tk for calculado por uma minimização unidirecional local, então as
direções geradas pelo Algoritmo 5.5 são de descida, pois a relação (5.25) também se verifica
neste caso. Entretanto, a busca de Armijo não assegura tal propriedade. Para contornar
esta dificuldade existem salvaguardas que podem ser encontradas com detalhes em [37].
1
f (x) = xT Ax + bT x + c, (5.29)
2
com A ∈ IRn×n definida positiva, b ∈ IRn e c ∈ IR. Como já sabemos, o minimizador de
f , indicado por x∗ , é global e satisfaz
Espaços de Krylov
Definição 5.21 Dados x0 ∈ IRn e k ∈ IN, definimos o k-ésimo espaço de Krylov por
Note que, por (5.30), A(x0 − x∗ ) = Ax0 + b = ∇f (x0 ). Assim, podemos escrever
o espaço de Krylov como
Teorema 5.22 Considere as sequências (xk ) e (dk ), geradas pelo Algoritmo 5.4. Se o
método não termina em xk−1 , então
Demonstração. Vamos provar simultaneamente (i) e (ii) por indução. Isto é imediato
para k = 1 em virtude de (5.31). Suponha agora que o teorema é válido para um certo
k. Pela relação (5.19), temos
Portanto, Adk−1 ∈ Kk+1 , donde segue que ∇f (xk ) ∈ Kk+1 . Isto prova que
provando (i). Finalmente, pela hipótese de indução, temos dk−1 ∈ Kk ⊂ Kk+1 . Portanto,
pelo Algoritmo 5.4 e o que acabamos de provar, obtemos
Além disso, por (5.25), os vetores dj , j = 0, 1, . . . , k são não nulos e pelo Teorema 5.19, são
A-conjugados. Consequentemente, pelo Lema 5.15, eles geram um espaço de dimensão
k + 1. Assim,
Kk+1 = [d0 , d1 , . . . , dk ],
completando a demonstração.
Estamos interessados em discutir as propriedades de minimização de f na var-
iedade afim
V k = x0 + K k . (5.32)
x − x∗ = p(A)(x0 − x∗ ),
x − x∗ = (I + a1 A + a2 A2 + · · · + ak Ak )(x0 − x∗ ).
1 2
f (xk ) − f (x∗ ) ≤ (x0 − x∗ )T A p(A) (x0 − x∗ ),
2
x = x∗ + p(A)(x0 − x∗ ) (5.34)
1
f (x) − f (x∗ ) = (x − x∗ )T A(x − x∗ ).
2
1 T
f (xk ) − f (x∗ ) ≤ (x0 − x∗ )T p(A) Ap(A)(x0 − x∗ ).
2
T
Como A é simétrica, p(A) A = Ap(A). Assim,
1 2
f (xk ) − f (x∗ ) ≤ (x0 − x∗ )T A p(A) (x0 − x∗ ),
2
completando a demonstração.
Uma consequência do Teorema 5.22 é que a sequência definida no Lema 5.24
coincide com a sequência gerada pelo Algoritmo 5.4. De fato, o Teorema 5.18 pode ser
aplicado nas sequências (xk ) e (dk ), geradas pelo algoritmo de gradientes conjugados.
Polinômios de Chebyshev
Naturalmente, a primeira coisa que devemos fazer é verificar que Tk é, de fato,
um polinômio. Isto será consequência imediata do próximo lema.
Lema 5.26 Temos T0 (t) = 1 e T1 (t) = t, para todo t ∈ [−1, 1]. Além disso,
para todo k ≥ 1.
Métodos para Otimização Irrestrita 86
e
Tk−1 (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,
completando a demonstração.
Temos T0 (t) = 1 e T1 (t) = t, para todo t ∈ [−1, 1]. Além disso, pelo Lema 5.26,
0.5
−0.5
T1
T2
T3
−1
T4
−1 −0.5 0 0.5 1
O que vimos no Exemplo 5.27 também sugere algumas propriedades que serão
fundamentais aqui. Uma delas é sobre a norma de Tk , definida por
Demonstração. Dados k ≥ 0 e t ∈ [−1, 1], temos |Tk (t)| = | cos k arccos(t) | ≤ 1. Além
disso,
Tk (1) = cos k arccos(1) = cos(0) = 1,
completando a demonstração.
A outra propriedade diz que o polinômio de Chebyshev de grau k tem a mesma
paridade do natural k.
donde segue a primeira afirmação. Para provar o que falta, considere primeiro k + 1 par.
Então k é ı́mpar e k − 1 é par. Assim, pela hipótese de indução, Tk só tem potências
ı́mpares de t e Tk−1 só potências pares. Deste modo, por (5.36), Tk+1 terá apenas potências
pares de t. Além disso, seu termo independente será
k−1 k+1
−b0 = −(−1) 2 = (−1) 2 .
Por outro lado, se k + 1 é ı́mpar, então k é par e k − 1 é ı́mpar. Novamente pela hipótese
de indução, Tk só tem potências pares de t e Tk−1 só potências ı́mpares. Assim, por (5.36),
Tk+1 terá apenas potências ı́mpares de t. Além disso, seu termo linear será
k k−2 k
2ta0 − b1 t = 2t(−1) 2 − (−1) 2 (k − 1)t = (−1) 2 (k + 1)t,
onde o polinômio que está no parênteses tem apenas potências pares de t. Portanto,
√ √ k !
t t t
T2k+1 √ =√ 22k + · · · + (−1)k (2k + 1) ,
L L L
completamos a demonstração.
Temos agora todas as ferramentas para obter o principal resultado desta seção. O
próximo teorema, provado em [43], garante que a complexidade algorı́tmica do método de
gradientes
conjugados para minimização de uma função quadrática convexa é da ordem
1 1
O . Ressaltamos que o método do gradiente tem complexidade da ordem O .
k2 k
Teorema 5.31 Considere a sequência (xk ), gerada pelo Algoritmo 5.4 para minimizar a
quadrática definida em (5.29). Então,
Lkx0 − x∗ k2
f (xk ) − f (x∗ ) ≤ ,
2(2k + 1)2
x0 + [d0 , d1 , . . . , dk−1 ] = Vk ,
Métodos para Otimização Irrestrita 89
onde Vk é a variedade afim definida em (5.32). Portanto, pelo Lema 5.24 e pelas proprie-
dades de norma, temos que
1 2 1
2
f (xk ) − f (x∗ ) ≤ (x0 − x∗ )T A p(A) (x0 − x∗ ) ≤ kx0 − x∗ k2
A p(A)
, (5.37)
2 2
para todo polinômio p ∈ Pk , onde Pk é definido em (5.33). Além disso, pelos Teoremas
1.51 e 1.52, temos
2
n 2 o
A p(A)
= max λ p(λ) | λ é autovalor de A .
Lkx0 − x∗ k2
f (xk ) − f (x∗ ) ≤ ,
2(2k + 1)2
completando a demonstração.
onde Hk ∈ IRn×n é definida positiva. Tal expressão surge de modo natural quando pen-
samos, como no caso de Newton, em aproximar f por um modelo quadrático em torno
de xk . Entretanto, aqui consideramos
1
mk (d) = f (xk ) + ∇f (xk )T d + dT Bk d,
2
onde Bk ∈ IRn×n é uma matriz simétrica qualquer ao invés de ∇2 f (xk ). Se Bk for definida
positiva, o minimizador do modelo quadrático é dado por
−Bk−1 ∇f (xk ).
Deste modo, obtemos (5.39) escolhendo Bk = Hk−1 . Mais formalmente, vamos trabalhar
em cima do seguinte algoritmo básico.
1
f (x) = xT Ax + bT x + c, (5.40)
2
com A ∈ IRn×n 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.41)
Hq j = pj , (5.43)
HAP = HQ = P,
Hk+1 q j = pj , (5.44)
para todo j = 0, 1, . . . , k.
pk (pk )T Hk q k (q k )T Hk
Hk+1 = Hk + − , (5.45)
(pk )T q k (q k )T Hk q k
Lema 5.32 Suponha que no Algoritmo 5.6 o tamanho do passo tk é obtido por uma
minimização local de f (xk + tdk ) e que Hk é definida positiva. Então,
Portanto,
(pk )T q k = (pk )T ∇f (xk+1 ) − ∇f (xk ) = tk ∇f (xk )T Hk ∇f (xk ) > 0, (5.46)
(y T pk )2 (y T Hk q k )2
y T Hk+1 y = y T Hk y + − .
(pk )T q k (q k )T Hk q k
Resta verificar que esta soma não se anula. De fato, se a primeira parcela é nula, então
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 demonstração.
O Lema 5.32 é válido para funções gerais, não necessariamente quadráticas. No
entanto, no caso quadrático podemos provar também que a atualização pelo método DFP
tem outras propriedades interessantes.
Teorema 5.33 Suponha que o Algoritmo 5.6 é aplicado para minimizar a função qua-
drática dada em (5.40), com tk obtido por uma minimização local de f (xk + tdk ) e Hk+1
calculada por (5.45). Então, para todo j = 0, 1, . . . , k,
(i) Hk+1 q j = pj ;
(ii) ∇f (xk+1 )T dj = 0;
p0 (p0 )T 0 H0 q 0 (q 0 )T H0 0
H1 q 0 = H0 q 0 + q − q = p0 .
(p0 )T q 0 (q 0 )T H0 q 0
Como t0 > 0 é minimizador local de ϕ(t) = f (x0 + td0 ), temos ∇f (x1 )T d0 = ϕ0 (t0 ) = 0.
Usando (5.42) e o que acabamos de provar, obtemos
Supondo agora que o teorema é válido para k − 1, vamos provar que vale para k. Para
j = k, a verificação das afirmações é feita exatamente como fizemos no caso k = 0,
substituindo 0 e 1 por k e k + 1, respectivamente. Considere então j ≤ k − 1. Pela
hipótese de indução,
Hk q j = pj , (pk )T q j = 0 e (q k )T Hk q j = (q k )T pj = 0.
Portanto,
pk (pk )T j Hk q k (q k )T Hk j
Hk+1 q j = Hk q j + q − q = pj ,
(pk )T q k (q k )T Hk q k
provando (i). Usando a relação (5.41) e a hipótese de indução, obtemos
T
∇f (xk+1 )T dj = ∇f (xk ) + Apk dj = ∇f (xk )T dj + tk (dk )T Adj = 0,
o que prova (ii). Para provar (iii) basta usar (5.42) e o que acabamos de provar, obtendo
Bk+1 pj = q j , (5.47)
para todo j = 0, 1, . . . , k.
Para simplificar a notação e entender melhor como obter a nova matriz, vamos
suprimir os ı́ndices dos elementos envolvidos. Desta forma, considere B ∈ IRn×n definida
positiva e p, q ∈ IRn tais que pT q > 0. Queremos obter B+ ∈ IRn×n por uma correção
simétrica 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
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
q q Bp Bp
u= =p e v= =p .
uT p pT q T
v p pT Bp
Portanto,
qq T BppT B
B+ = B + auuT + bvv t = B + − . (5.48)
pT q pT Bp
Note a relação desta fórmula com a obtida por DFP. Uma segue da outra trocando os
papéis de B e H, bem como de p e q.
O método BFGS consiste em escolher a nova H como a inversa de B+ . Isto pode
ser feito com auxı́lio da fórmula de Sherman-Morrison (veja o Exercı́cio 1.24), a saber
Q−1 uv T Q−1
(Q + uv T )−1 = Q−1 − .
1 + v T Q−1 u
Aplicando esta fórmula em (5.48), cujos detalhes são deixados para o Exercı́cio 5.23, e
Métodos para Otimização Irrestrita 95
onde Hk = Bk−1 .
Apresentamos a seguir algumas propriedades do método BFGS, dentre as quais
a positividade. Além disso, no caso quadrático temos terminação finita como ocorre com
o método DFP.
Lema 5.34 Suponha que no Algoritmo 5.6 o tamanho do passo tk é obtido por uma
minimização local de f (xk + tdk ) e que Hk é definida positiva. Então (pk )T q k > 0 e
BF GS
Hk+1 é definida positiva.
Demonstração. A prova de que (pk )T q k > 0 é exatamente a mesma feita no Lema 5.32.
BF GS −1
Para verificar a positividade, note que Hk+1 = Bk+1 , onde
q k (q k )T Bk pk (pk )T Bk
Bk+1 = Bk + −
(pk )T q k (pk )T Bk pk
Teorema 5.35 Suponha que o Algoritmo 5.6 é aplicado para minimizar a função quadrá-
BF GS
tica dada em (5.40), com tk obtido pela busca exata e Hk+1 calculada por (5.49). Então,
para todo j = 0, 1, . . . , k,
BF GS j
(i) Hk+1 q = pj ;
(ii) ∇f (xk+1 )T dj = 0;
q k (q k )T Bk pk (pk )T Bk
Bk+1 = Bk + −
(pk )T q k (pk )T Bk pk
e Bk = Hk−1 .
Métodos para Otimização Irrestrita 96
1
qk (x) = f (xk ) + ∇f (xk )T (x − xk ) + (x − xk )T Bk (x − xk ),
2
onde Bk ∈ IRn×n pode ser a Hessiana ∇2 f (xk ) ou qualquer outra matriz simétrica que
satisfaça kBk k ≤ β, para alguma constante β > 0, independente de k ∈ IN.
O modelo definido acima aproxima bem a função f numa vizinhança de xk .
Vamos portanto considerar ∆k > 0 e a região
x ∈ IRn | kx − xk k ≤ ∆k ,
obtendo um passo dk . A outra etapa consiste em avaliar o passo. Esperamos que o ponto
xk + dk proporcione uma redução na função objetivo que seja no mı́nimo uma fração da
redução do modelo. Para formalizar este conceito definimos a redução real na função
objetivo e a redução predita pelo modelo como
Se o ponto xk não for estacionário, então ∇mk (0) 6= 0 e portanto a redução predita será
Métodos para Otimização Irrestrita 97
positiva. Desta forma, podemos considerar a seguinte razão, que será usada na avaliação
do passo.
ared
ρk = . (5.51)
pred
O passo dk será aceito quando a razão ρk for maior que uma constante η ≥ 0 dada.
Neste caso, definimos xk+1 = xk + dk e repetimos o processo. Caso contrário, recusamos
o passo dk , reduzimos o raio ∆k e resolvemos o subproblema (5.50) com o novo raio. A
Figura 5.7 ilustra um passo do método de região de confiança. Note que no gráfico da
direita o minimizador irrestrito do modelo está na região de confiança. Neste caso, se
Bk = ∇2 f (xk ), então o passo de região de confiança é exatamente o passo de Newton.
xk+1
xk+1 xk
xk
5.5.1 Algoritmo
Vamos agora formalizar a discussão anterior no seguinte algoritmo, que se baseia
no proposto em [37]. Também consideramos importante citar [6], uma referência moderna
sobre métodos de região de confiança.
∆k
∆k+1 =
2
senão
3
se ρk > e kdk k = ∆k
4
∆k+1 = 2∆k
senão
∆k+1 = ∆k
k =k+1
1
minimizar mk (−tgk ) = f (xk ) − tkgk k2 + t2 gkT Bk gk
2 (5.53)
sujeito a ktgk k ≤ ∆k .
A Figura 5.8 mostra o ponto de Cauchy em uma iteração k. Nesta figura, as elipses
representam as curvas de nı́vel do modelo mk . A área hachurada corresponde ao conjunto
de pontos que satisfazem a relação
Esta condição será a base de uma das hipóteses na análise de convergência, isto é, vamos
supor que a solução aproximada do subproblema (5.50) forneça uma redução de pelo
menos uma fração da redução obtida pelo passo de Cauchy.
Vamos agora fazer uma estimativa da redução do modelo no passo de Cauchy.
Métodos para Otimização Irrestrita 99
xkc
xk
1
ξ(t) = f (xk ) − tkgk k2 + t2 gkT Bk gk
2
∆k
no intervalo 0 ≤ t ≤ . Para isto considere dois casos: gkT Bk gk > 0 e gkT Bk gk ≤ 0.
kgk k
(i) Se gkT Bk gk > 0, então a função ξ é convexa (veja a Figura 5.9) e tem minimizador
irrestrito
kgk k2
t∗ = T . (5.55)
gk Bk gk
∆k
Dois subcasos podem ocorrer. O primeiro é quando t∗ ≤ . Neste caso temos tk = t∗
kgk k
e portanto
1 kgk k4
mk (0) − mk (dkc ) = .
2 gkT Bk gk
Usando a desigualdade de Cauchy-Schwarz, obtemos
1 kgk k2
mk (0) − mk (dkc ) ≥ . (5.56)
2 kBk k
∆k
No segundo subcaso temos t∗ > , o que implica que o minimizador de ξ está na
kgk k
fronteira. Assim, usando (5.55), obtemos
∆k kgk k2
tk = < T , (5.57)
kgk k gk Bk gk
Métodos para Otimização Irrestrita 100
1 1
mk (dkc ) < f (xk ) − kgk k∆k + kgk k∆k = f (xk ) − kgk k∆k ,
2 2
(ii) No caso em que gkT Bk gk ≤ 0, temos que a função ξ é decrescente para t ≥ 0. De fato,
se gkT Bk gk = 0, a função ξ é afim com coeficiente angular negativo. Por outro lado, se
gkT Bk gk < 0, seu maximizador, dado por (5.55), é negativo (veja a Figura 5.9). Assim,
∆k
o ponto de Cauchy também está na fronteira da região de confiança, ou seja, tk = .
kgk k
Desta forma, temos
1 1
mk (0) − mk (dkc ) = tk kgk k2 − t2k gkT Bk gk ≥ tk kgk k2 ≥ kgk k∆k . (5.59)
2 2
ξ ξ
ξ
t∗ ∆ ∆ t∗ ∆
kgk kgk kgk
5.5.3 Convergência
Para estabelecer a convergência do método de região de confiança vamos supor
que o Algoritmo 5.7 gera uma sequência infinita (xk ) em IRn e que são satisfeitas as
seguintes hipóteses.
H1 A função objetivo f é de classe C 1 , com ∇f Lipschitz.
H4 As Hessianas Bk são uniformemente limitadas, isto é, existe uma constante β > 0
tal que kBk k ≤ β para todo k ∈ IN.
Lema 5.37 Suponha que sejam satisfeitas as Hipóteses H1-H4. Então existe uma con-
stante c > 0 tal que
c∆2k
|ρk − 1| ≤ .
k∇f (xk )k
k∇f (x )k min ∆k ,
k
β
Portanto,
1 T
ared − pred = (dk )T Bk dk − ∇f (xk + θk dk ) − ∇f (xk ) dk .
2
c0
provando o lema para c = .
c1
Métodos para Otimização Irrestrita 102
Uma consequência importante do Lema 5.37 é que o Algoritmo 5.7 está bem
definido. De fato, após uma quantidade finita de insucessos consecutivos, teremos
k∇f (xk )k k∇f (xk )k
∆k ≤ min , .
β 2c
ε k∇f (xk )k ε
∆k ≤ ≤ e ∆k ≤ .
β β 2c
Em vista de (5.60), temos que existe uma constante δ̃ > 0 tal que
para todo k ∈ K. Por outro lado, a sequência (f (xk )) é não crescente e, por H5, limitada
inferiormente, donde segue que f (xk ) − f (xk+1 ) → 0. Portanto, de (5.61), podemos
1
concluir que o conjunto K é finito. Assim, ρk < , para todo k ∈ IN suficientemente
4
grande e então ∆k será reduzido à metade em cada iteração. Isto implica ∆k → 0, o que
contradiz (5.60). Deste modo, a afirmação no teorema é verdadeira.
O resultado de convergência estabelecido no Teorema 5.38 pode também ser
obtido com uma hipótese mais fraca que H1. Nos Exercı́cios 5.24 e 5.25 trocamos a
condição de Lipschitz de ∇f pela continuidade uniforme.
Finalmente, podemos provar a convergência global do método de região de con-
fiança. Salientamos que no Algoritmo 5.7, podemos considerar η = 0 e então qualquer
decréscimo na função objetivo é aceito. Com isso pudemos provar o Teorema 5.38, que é
uma versão fraca de convergência global. Para o próximo teorema, vamos exigir η > 0 e
provar um resultado mais forte.
Teorema 5.39 Suponha que sejam satisfeitas as Hipóteses H1-H5 e que η > 0 no Algo-
ritmo 5.7. Então
∇f (xk ) → 0.
ε
seja infinito. Dado k ∈ K, considere o primeiro ı́ndice lk > k tal que k∇f (xlk )k ≤ . A
2
existência de lk é assegurada pelo Teorema 5.38. Como ∇f é Lipschitz, temos
ε
≤ k∇f (xk ) − ∇f (xlk )k ≤ Lkxk − xlk k,
2
ε X X
≤ kxk − xlk k ≤ kxj − xj+1 k ≤ γ∆j , (5.62)
2L j∈S j∈S
k k
Métodos para Otimização Irrestrita 104
para todo k ∈ K. Por outro lado, a sequência (f (xk )) é não crescente e, por H5, limitada
inferiormente, donde segue que f (xk ) − f (xlk ) → 0, contradizendo (5.63). Deste modo, a
afirmação no teorema é verdadeira.
Uma consequência imediata do Teorema 5.39 é que todo ponto de acumulação
IN0
de uma sequência gerada pelo Algoritmo 5.7 é estacionário. De fato, se xk → x̄, então a
IN0
continuidade de ∇f garante que ∇f (xk ) → ∇f (x̄). Por outro lado, pelo Teorema 5.39,
temos ∇f (xk ) → 0. Assim, ∇f (x̄) = 0.
xku xkd
xkN
xk∆
xku
x k xkN
xkd
xk∆
xk
a notação gk = ∇f (xk ).
Para verificar que este método está bem definido, vamos mostrar agora que o
modelo decresce ao longo da poligonal e que a distância ao ponto corrente cresce quando
caminhamos na poligonal, saindo de xk indo para xkN . Isto significa que esta poligonal
Métodos para Otimização Irrestrita 106
cruza a fronteira da bola no máximo uma vez, justamente no ponto dogleg. Se o raio
for suficientemente grande, a poligonal estará inteiramente contida na bola, e neste caso,
teremos xkd = xkN . Como as afirmações se referem a uma iteração fixada, vamos simplificar
a notação, suprimindo o ı́ndice k.
Lema 5.40 Sejam B ∈ IRn×n uma matriz definida positiva e g ∈ IRn . Considere a
quadrática
1
m(d) = g T d + dT Bd
2
e os minimizadores de m,
gT g
a=− g e b = −B −1 g,
g T Bg
e
(g T g)2 (g T g)2 − (g T Bg)(g T B −1 g)
g T (b − a) = −g T B −1 g + = .
g T Bg g T Bg
Portanto, de (5.64) e do Lema 1.50, podemos concluir que ξ 0 (t) ≤ 0, para t ≤ 1. Isto
implica, em particular, que m é não crescente no trecho [a, b].
(ii) No trecho [0, a] a afirmação é imediata. Vamos então provar que ζ(t) = ka + t(b − a)k22
é crescente. Note primeiro que
ζ 0 (t) = 2 aT (b − a) + tkb − ak22 .
Métodos para Otimização Irrestrita 107
1
minimizar m(d) = g T d + dT Bd
2 (5.65)
sujeito a kdk ≤ ∆,
se kdj+1
s k ≥ ∆
Calcule t ∈ IR tal que d = djs + tpj satisfaz kdk = ∆
Faça dk = d
senão
rj+1 = rj + tj Bpj
se rj+1 = 0
Faça dk = dj+1
s
senão
Métodos para Otimização Irrestrita 108
(rj+1 )T rj+1
βj =
(rj )T rj
pj+1 = −rj+1 + βj pj
j =j+1
5.1. [13, Exerc. 6.1] Seja f : IRn → R, diferenciável em x̄ e sejam d1 , ..., dn ∈ IRn vetores
linearmente independentes. Suponha que o mı́nimo 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 mı́nimo
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 método do gradiente com busca de Armijo pode não convergir se o
tamanho do passo for obtido apenas satisfazendo a relação (4.4), ao invés da utilização
do Algoritmo 4.3.
5.4. [13, Exerc. 6.6] Desenhe as curvas de nı́vel da função f (x) = x21 + 4x22 − 4x1 − 8x2 .
Encontre o ponto x∗ que minimiza f . Prove que o método do gradiente, aplicado a partir
de x0 = 0 não pode convergir para x∗ em um número finito de passos, se usarmos busca
linear exata. Há algum ponto x0 para o qual o método converge em um número 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 ∈ IRn×n
2
é uma matriz definida positiva, b ∈ IRn e c ∈ IR. Prove que se ao aplicarmos o método
do gradiente a partir de um certo x0 , com ∇f (x0 ) 6= 0, encontramos a solução em uma
iteração, então v = x1 − x0 é um autovetor da Hessiana. Reveja o Exercı́cio 4.4.
Métodos para Otimização Irrestrita 109
1
5.6. Considere h : IRn → IR dada por h(x) = xT Ax + bT x + c, onde A ∈ IRn×n é 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 sequência gerada pelo método do gradiente com busca exata aplicado em f .
Defina y k = xk + x∗ . Mostre que o método do gradiente com busca exata aplicado em h,
a partir de y 0 , gera justamente a sequência (y k ).
5.7. Suponha que o método do gradiente com busca exata é aplicado para minimizar a
função f (x) = 5x21 + 5x22 − x1 x2 − 11x1 + 11x2 + 11.
(c) Se x0 = 0, quantas iterações são necessárias para se obter uma precisão de 10−6 no
valor ótimo de f ?
1 1 1
5.8. Considere f (x) = x21 + x42 − x22 .
2 4 2
(a) Determine e classifique os pontos estacionários de f ;
!
1
(b) A partir de x0 = faça uma iteração do método do gradiente;
0
(c) Discuta a possı́vel convergência da sequência (xk ), gerada pelo método do gradiente
a partir do ponto x0 dado no item anterior.
5.9. Considere um número real a > 0. Mostre que o método de Newton para resolver a
equação x2 − a = 0 é dado por
1 k a
xk+1 = x + k .
2 x
√
Faça três iterações deste método para calcular uma aproximação para 5, iniciando com
x0 = 2.
5.10. A Figura 5.12 ilustra uma situação na qual o método de Newton (para equações)
pode falhar. A função é dada por f (x) = x4 − x2 . Determine quais devem ser os pontos
iniciais para que isto aconteça.
5.12. Seja f : IR → IR tal que f 0 (x) > 0 e f 00 (x) > 0, para todo x ∈ IR. Suponha que
existe x∗ ∈ IR tal que f (x∗ ) = 0. Mostre que qualquer que seja o ponto inicial x0 ∈ IR,
a sequência gerada pelo método de Newton satisfaz x∗ < xk+1 < xk , para todo k ≥ 1 e
xk → x∗ .
5.16. Considere a função f definida no Exercı́cio 5.14, {d0 , d1 , . . . , dn−1 } uma base de
IRn e Sk ∈ IRn×(k+1) a matriz cujas colunas são os vetores d0 , d1 , . . . , dk . Dado x0 ∈ IRn ,
sabemos, pelo Exercı́cio 5.14, que o ponto
Resolva o problema
minimizar ϕ(p)
sujeito a p ∈ Pk .
5.19. O objetivo deste exercı́cio é obter a expressão do método DFP, dada em (5.45).
Considere H ∈ IRn×n definida positiva e p, q ∈ IRn tais que pT q > 0. Suponha que
H+ ∈ IRn×n é obtida por uma correção simétrica de posto 2 (isto é, H+ = H +auuT +bvv t )
e H+ q = p. Encontre a, b, u e v que fornecem
ppT Hqq T H
H+ = H + − .
pT q q T Hq
5.20. Suponha que o Algoritmo 5.6 é aplicado para minimizar a função quadrática dada
em (5.40), com H0 = I, tk obtido pela busca exata e Hk+1 calculada por (5.45). Então,
5.22. Mostre que a sequência gerada pelo método DFP, no contexto do Exercı́cio 5.20,
coincide com aquela gerada pelo algoritmo de gradientes conjugados (Algoritmo 5.4).
qq T BppT B
B+ = B + −
pT q pT Bp
é dada por
q T Hq ppT pq T H + HqpT
H+ = H + 1 + T − .
p q pT q pT q
Métodos para Otimização Irrestrita 112
5.24. Seja (xk ) uma sequência gerada pelo Algoritmo 5.7. Suponha que f seja de classe
C 1 e que sejam satisfeitas as Hipóteses H2-H4. Mostre que
!
β
γ∆k γ∆k + sup k∇f (xk + tdk ) − ∇f (xk )k
2 t∈[0,1]
|ρk − 1| ≤ k
,
k∇f (x )k
c1 k∇f (xk )k min ∆k ,
β
5.25. Seja (xk ) uma sequência gerada pelo Algoritmo 5.7. Suponha que f seja de classe
C 1 , com ∇f uniformemente contı́nua e que sejam satisfeitas as Hipóteses H2-H4. Mostre
que
lim inf k∇f (xk )k = 0.
k→∞
Capı́tulo 6
Implementação Computacional
113
Implementação Computacional 114
y = ∇f (x)
senão, se ordem = 2
y = ∇2 f (x)
senão
mensagem: Erro na variável ordem!
Vejamos agora a Rotina 6.1 para uma função particular definida em IR2 .
Exemplo 6.1 Considere f : IR2 → IR definida por f (x) = x21 + 4x1 x2 + 6x22 . Implemente
a Rotina 6.1 para esta função e use o programa
! implementado para avaliar a função, o
1
gradiente e a Hessiana no ponto x = .
2
Exemplo 6.2 (Função Quadrática) Implemente a Rotina 6.1 para a função dada por
(6.1), considerando uma matriz simétrica arbitrária A ∈ IRn×n . Denomine esta rotina
Implementação Computacional 115
Exemplo 6.3 Implemente uma rotina que, dados a dimensão n do espaço e dois reais
λ1 < λn , forneça uma matriz simétrica A ∈ IRn×n cujos autovalores estejam uniforme-
mente distribuı́dos entre λ1 e λn . Use a rotina implementada para gerar uma matriz
simétrica 4 × 4 com autovalores entre λ1 = 1 e λn = 100.
Note que a obtenção de uma matriz ortogonal Q ∈ IRn×n pode ser feita pela decomposição
QR de uma matriz arbitrária em IRn×n (veja por exemplo [27]).
Já temos assim um banco de funções quadráticas. A cada vez que executamos a
rotina acima, gera-se randomicamente uma matriz A e consequentemente podemos definir
uma função quadrática diferente.
Existem na literatura diversos bancos de funções para testar os algoritmos, como
por exemplo [17, 20, 34]. O banco de funções proposto por Moré, Garbow e Hillstrom [34]
Implementação Computacional 116
consiste de uma famı́lia de 35 funções dadas como somatório de quadrados. Isto significa
que cada função é da forma
Xm
2
f (x) = fi (x) , (6.2)
i=1
n
onde fi : IR → IR, i = 1, . . . , m, são funções dadas. Para algumas funções a dimensão
é fixada e em outras pode ser escolhida pelo usuário. O código em Matlab e em Fortran
deste banco de funções está disponı́vel em
http://www.mat.univie.ac.at/∼neum/glopt/test.html#test unconstr
Cada função tem quatro dados de entrada: a dimensão n do espaço; o número m de
funções usadas para definir a função objetivo; o ponto x ∈ IRn onde se deseja calculá-la e
um parâmetro opt ∈ {1, 2, 3} que discutiremos a seguir. A versão implementada de cada
função fornece o vetor fvec ∈ IRm cuja i-ésima componente é o valor fi (x), caso opt seja
1. Se opt = 2, a saı́da é a matriz Jacobiana de (f1 , f2 , . . . , fm ), isto é, uma matriz J,
cuja i-ésima linha é ∇fi (x)T . Se opt = 3, são fornecidos o vetor fvec e a matriz J. A
matriz Hessiana não é fornecida. Note que nesta notação a função f dada em (6.2) pode
ser escrita como
f (x) = fvecT fvec
X
m
∇f (x) = 2 fi (x)∇fi (x) = 2JT fvec.
i=1
Exemplo 6.4 Para as seguintes funções, calcule o vetor fvec, a matriz J, o valor de f
e seu gradiente no ponto x0 fornecido em [34].
Apresentamos a seguir uma rotina que generaliza o exemplo anterior criando uma
interface para avaliar qualquer uma das funções de [34] no formato da Rotina 6.1. Defina
variáveis globais FUNC e mm que devem receber o nome da função que se quer avaliar e o
valor de m correspondente. Dados x ∈ IRn e ordem ∈ {0, 1}, a rotina fornece o valor da
função FUNC ou do seu gradiente no ponto x, dependendo se ordem é 0 ou 1.
Exemplo 6.5 Teste a Rotina 6.3 para calcular o valor da função e do seu gradiente no
ponto x0 fornecido, para as funções do Exemplo 6.4 e compare os resultados obtidos.
ϕ(t) = f (x + td).
Apresentamos a seguir a rotina para o método da seção áurea, que faz a minimização da
função ϕ. Esta rotina é uma implementação do Algoritmo 4.2 com ε = 10−5 e ρ = 1.
Também consideramos um limitante superior bmax = 108 , para o valor de b.
f (x + t1 d) = 8 < 33 = f (x).
Por outro lado, a Rotina 6.5 fornece t2 = 1, significando que o passo inicial foi aceito.
Além disso,
f (x + t2 d) = 24 < 33 = f (x).
Uma vez fornecidos os dados de entrada, ou seja, a variável fun com o nome da
função, o ponto inicial x0 ∈ IRn , a tolerância para o critério de parada ε e o número
máximo de iterações kmax , a seguinte rotina pode ser executada para se obter o que foi
discutido.
k=0
x = x0
g = feval(fun, x, 1), normg = kgk
Para gerar os gráficos
f = feval(fun, x, 0), F = {f }, G = {normg}
Imprima na tela: k, f , normg
repita enquanto normg > ε e k < kmax
Calcule t pela busca exata a partir de x na direção −g (Rotina 6.4)
x = x − tg
g = feval(fun, x, 1), normg = kgk
k =k+1
Para gerar os gráficos
f = feval(fun, x, 0), F = F ∪ {f }, G = G ∪ {normg}
Imprima na tela: k, f , normg
se k = kmax
mensagem: Atingiu o número máximo de iterações!
K = {0, 1, . . . , k}
plote os gráficos: K × F e K × G
Exemplo 6.7 !Teste a Rotina 6.6 para minimizar a função do Exemplo 6.1 a partir do
1
ponto x0 = . Considere os parâmetros ε = 10−5 e kmax = 1000.
2
k f kgk
0 33.000000 29.732137
1 0.021607 0.160609
2 0.000032 0.029354
3 0.000000 0.000239
4 0.000000 0.000053
5 0.000000 0.000001
5 2
10 10
0
0 10
10
−2
10
−5
10
−4
10
−10
10 −6
10
−15 −8
10 10
0 1 2 3 4 5 0 1 2 3 4 5
pela rotina, com a variação da função e da norma do gradiente ao longo das iterações.
Foi utilizada a escala logarı́tmica no eixo vertical para uma melhor visualização.
Exemplo 6.8 Na Rotina 6.6, substitua a busca exata pela de Armijo, ou seja, calcule
o comprimento do passo utilizando a Rotina 6.5. Chame esta rotina de grad !armijo e
1
teste-a para minimizar a função do Exemplo 6.1 a partir do ponto x0 = com os
2
parâmetros ε = 10−5 e kmax = 1000.
Neste caso o método gasta 48 iterações para obter uma solução com a mesma precisão
para o critério de parada. A Figura 6.2 mostra os gráficos com a variação da função e da
norma do gradiente ao longo das iterações.
5 2
10 10
0 0
10 10
−5 −2
10 10
−10 −4
10 10
−15 −6
10 10
0 10 20 30 40 50 0 10 20 30 40 50
cara que com Armijo. Além disso, em algumas situações o método com busca inexata gasta
menos iterações (veja o Exercı́cio 6.5). Desta forma, outros critérios, além do número de
iterações, também devem ser analisados para medir o desempenho de um método, como
o número de avaliações de função e o tempo gasto para resolver um problema (veja o
Exercı́cio 6.6).
Outra questão importante está relacionada à robustez de um algoritmo e diz
respeito à capacidade do método em resolver uma bateria de problemas. Para analisar
tal caracterı́stica, precisamos verificar quantos problemas de uma dada biblioteca são
resolvidos com sucesso por este método. Portanto, é conveniente que o fornecimento dos
problemas e a chamada do método sejam feitos de modo automático. O próximo exemplo
apresenta uma sugestão para tratar disto.
Exemplo 6.9 Resolva os problemas da coleção Moré, Garbow e Hillstrom pelo método
do gradiente com busca exata. Considere os parâmetros ε = 10−3 e kmax = 3000. Calcule
o percentual de sucesso, isto é, dos problemas que foram resolvidos sem atingir o número
máximo de iterações.
se k < kmax
sucesso = sucesso + 1
total = total + 1
Total de problemas: total
Problemas resolvidos: sucesso
Percentual de sucesso: sucesso/total
tp,s
rp,s = .
min {tp,j | j ∈ S}
Este ı́ndice vale 1 para o algoritmo mais eficiente e quanto maior for seu valor, pior será o
desempenho do algoritmo. Além disso, para cada algoritmo s consideramos a função de
desempenho ρs : [1, ∞) → [0, 1] definida por
1
ρs (τ ) = card {p ∈ P | rp,s ≤ τ } .
np
Aplique estes algoritmos para resolver os primeiros 25 problemas da coleção Moré, Garbow
e Hillstrom. Considere os parâmetros ε = 10−3 e kmax = 3000. Armazene uma matriz
T ∈ IR25×4 cuja p-ésima linha corresponde ao tempo gasto pelos algoritmos para resolver
o problema p. Se o algoritmo s não resolveu o problema p, defina T (p, s) como sendo um
valor arbitrariamente grande. Em seguida, implemente uma rotina que forneça o gráfico
de perfil de desempenho dos 4 algoritmos.
0.8
0.6
0.4
A1
0.2
A2
A3
A4
0
10 20 30 40 50 60
dos problemas e consegue resolver 56% deles. O algoritmo A3 resolve 48% dos problemas
usando 40 vezes o melhor tempo. O pior desempenho foi do algoritmo A4. Note também
que o fato de muitos problemas não serem resolvidos motiva o estudo de outros métodos
de otimização.
A discussão anterior foi feita em termos de tempo computacional gasto pelos
algoritmos para resolver um conjunto de problemas. Uma discussão análoga pode ser feita
considerando o número de iterações, número de avaliações de função ou qualquer outra
medida de desempenho de um conjunto de algoritmos, bastando armazenar a informação
desejada na matriz T da Rotina 6.9.
e
1
r2 (d) = f (x̄ + d) − f (x̄) − ∇f (x̄)T d − dT ∇2 f (x̄)d,
2
temos
r1 (d) r2 (d)
lim =0 e lim = 0. (6.3)
d→0 kdk d→0 kdk2
Isto significa que a diferença entre o valor da função e sua aproximação de Taylor deve
Implementação Computacional 126
ser muito pequena. Além disso, para qualquer outro vetor diferente do gradiente e outra
matriz que não seja a Hessiana, os limites em (6.3) não são válidos. A rotina que segue
identifica a existência de possı́veis erros no gradiente ou na Hessiana da função. Consid-
eramos uma amostra aleatória de vetores com norma tendendo para zero. Se os valores
encontrados para
r1 (d) r2 (d)
ou
kdk kdk2
não forem pequenos, isto pode significar alguma diferença no gradiente ou na Hessiana.
Rotina 6.11 - testa modelo - Compara a função com sua aproximação de Taylor
6.2. Dados n ∈ IN, p ∈ {1, 2, 3, 4, 5, 6}, ε = 0.1, implemente uma rotina que forneça:
(a) Um vetor v cujas componentes estejam distribuı́das nos intervalos [10j − ε, 10j + ε]
com j = 0, . . . , p.
6.3. Para as seguintes funções descritas em [34], use a implementação proposta na Rotina
6.3 para avaliar a função e seu gradiente no ponto x0 fornecido.
6.4. Implemente a função do Exemplo 4.5 e faça a busca exata considerada. Compare
com as respostas obtidas no referido exemplo. Faça a busca de Armijo com γ = 0.8 e
η = 0.25 e compare com as respostas obtidas no Exemplo 4.10.
6.5. Use a Rotina 6.6 e sua variante com busca de Armijo para minimizar ! a função
0.5
Freudenstein e Roth, numerada como (2) em [34] a partir do ponto x0 = e compare
−1
o número de iterações gasto por cada método para resolver o problema. Considere os
parâmetros ε = 10−3 e kmax = 1000.
Implementação Computacional 128
6.8. Aplique os 4 algoritmos ! do Exemplo 6.10 para minimizar a função do Exemplo 6.1
1
a partir do ponto x0 = . Plote em um gráfico a variação da função ao longo das
2
iterações para os 4 métodos. Faça o mesmo em outro gráfico considerando a variação da
norma do gradiente.
6.9. Considere o Exemplo 6.10. Faça o gráfico de perfil de desempenho para o número
de iterações.
6.10. Implemente e teste a Rotina 6.11 para cada função do Exercı́cio 6.1. Teste também
para as funções do Exercı́cio 6.3.
6.11. Implemente a função f : IR2 → IR definida por f (x) = x21 + 2x32 + x2 , com o nome
funtestmod. Introduza um erro no gradiente e na Hessiana fazendo
! !
2x1 2 0
∇f (x) = 2
e ∇2 f (x) =
6x2 + 1.001 0 12.001x2
6.12. Implemente o método do gradiente com busca exata para minimizar a quadrática
(6.1), com a matriz A ∈ IRn×n obtida pela Rotina 6.2, a partir de um ponto x0 ∈ IRn
arbitrário. Considere λ1 = 1 e λn = 20. Note que neste caso o tamanho do passo pode ser
calculado diretamente pela fórmula (5.4). Teste o algoritmo implementado com diferentes
valores de n e compare o tempo computacional com o tempo gasto ao se utilizar a Rotina
6.6.
6.14. Implemente o método DFP, ou seja, o Algoritmo 5.6 com a atualização da Hessiana
dada por (5.45). Considere H0 = I e busca exata. Use-o para minimizar as funções
discutidas no Exercı́cio 6.12 e verifique que a minimização também ocorre em no máximo
n iterações.
Implementação Computacional 129
6.15. Refaça o exercı́cio anterior trocando DFP por BFGS, ou seja, atualizando a Hes-
siana por (5.49).
6.16. Execute os algoritmos implementados nos Exercı́cios 6.12 - 6.15 para minimizar, a
partir de um ponto x0 ∈ IRn arbitrário, uma função quadrática em IRn obtendo a matriz
A ∈ IRn×n pela Rotina 6.2 com n = 30, λ1 = 1 e λn = 10. Faça um gráfico mostrando
a variação da função e outro com a variação da norma do gradiente para os 4 métodos.
Note a semelhança de desempenho dos algoritmos de gradientes conjugados, DFP e BFGS
(veja o Exercı́cio 5.22). Em seguida, faça testes com diferentes valores de n e λn . Note
a sensibilidade do método do gradiente com relação ao λn , fato que não ocorre com os
outros métodos.
minimizar f (x)
sujeito a cE (x) = 0 (7.1)
cI (x) ≤ 0,
Na Figura 7.1 ilustramos este problema. Note que −∇f (x∗ ) é uma combinação positiva de
∇c1 (x∗ ) e ∇c2 (x∗ ). Isto informalmente significa que para diminuir o valor de f terı́amos
que sair do conjunto viável. O que faremos neste capı́tulo é formalizar esta afirmação.
130
Otimização com Restrições 131
Ω ∇c1
2
1 x∗ −∇f
∇c2
0
−2 −1 0 1 2 3 4
7.1 Cones
Vamos discutir nesta seção alguns aspectos gerais da teoria de cones que serão
fundamentais para estabelecer as condições de KKT. Dentre outras coisas destacamos o
clássico Lema de Farkas, que será tratado tanto na sua forma clássica, quanto em uma
versão geométrica.
Definição 7.2 Um subconjunto não vazio C ⊂ IRn é um cone quando, para todo t ≥ 0 e
d ∈ C tem-se td ∈ C.
C C
td td
d d
0 0
! ! !
1 2 1
Exemplo 7.3 Considere os vetores v 1 = , v2 = e v3 = . Mostre que o
1 1 −1
conjunto
C = y1 v 1 + y2 v 2 + y3 v 3 | yj ≥ 0, j = 1, 2, 3
C = {By | y ∈ IRm , y ≥ 0}
Otimização com Restrições 132
é um cone convexo.
S
S
0 0
P(S) P(S)
Assim (1 − t)u + tv ∈ P (S), provando que P (S) é convexo. Para mostrar que P (S)
é fechado, considere uma sequência (dk ) ⊂ P (S) com dk → d. Dado x ∈ S, temos
(dk )T x ≤ 0, logo dT x ≤ 0. Portanto, d ∈ P (S), completando a demonstração.
!
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 são cones e represente-
os 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 é cone. Analogamente, vemos que S2 também é cone. ! Além disso, !podemos escrever
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 não é convexo, não pode ser o polar de nenhum
conjunto, em virtude do Lema 7.5. A Figura 7.4 ilustra este exemplo.
S1 S2
v v
u u
Lema 7.8 Considere C ⊂ IRn um cone convexo fechado, z ∈ IRn e z̄ = projC (z). Então,
z − z̄ ∈ {z̄}⊥ ∩ P (C).
Demonstração. Seja z̄ = projC (z) ∈ C. Pelo Teorema 3.7,
donde segue que (z − z̄)T z̄ = 0. Substituindo isto na relação (7.3), podemos concluir que
(z − z̄) ∈ P (C), completando a demonstração.
O próximo lema generaliza um resultado clássico de álgebra linear, sobre a de-
composição de IRn como soma direta de um subespaço vetorial com seu complemento
ortogonal.
Lema 7.9 (Decomposição de Moreau) Considere C ⊂ IRn um cone convexo fechado.
Então, para todo z ∈ IRn , temos
Demonstração. Considere z̄ = projC (z) e ẑ = z − z̄. Vamos mostrar que ẑ = projP (C) (z).
Pelo Lema 7.8, temos que z̄ T ẑ = 0 e ẑ ∈ P (C). Assim,
(z − ẑ)T (y − ẑ) = z̄ T y ≤ 0,
para todo y ∈ P (C). Portanto, o Lema 3.8 garante que ẑ = projP (C) (z), completando a
demonstração.
Como a própria Figura 7.3 sugere, aplicar o polar duas vezes nem sempre fornece
o conjunto original. No entanto, temos o seguinte resultado.
Lema 7.10 Dado S ⊂ IRn , temos S ⊂ P P (S) .
¡ ¢
P P (S)
S
0
P(S)
Basicamente, temos três motivos que impedem a igualdade entre o duplo polar e
o conjunto: o fato de não ser cone, não ser convexo ou não ser fechado. Estas situações
aparecem na Figura 7.6. O clássico Lema de Farkas, apresentado em seguida, garante a
igualdade.
S
S S
0
0 0
P(S)
P(S) P(S)
Figura 7.6: Situações onde não vale S = P P (S) .
Otimização com Restrições 135
Lema 7.11 (Farkas geométrico) Considere C ⊂ IRn um cone convexo fechado não
vazio. Então P P (C) = C.
Demonstração. Em virtude do Lema 7.10 basta mostrar que P P (C) ⊂ C. Considere
então z ∈ P P (C) e z̄ = projC (z). Vamos provar que z = z̄. Pelo Lema 7.8, temos que
(z − z̄) ∈ P (C). Como z ∈ P P (C) , vale (z − z̄)T z ≤ 0. Usando novamente o Lema 7.8,
obtemos
kz − z̄k2 = (z − z̄)T z − (z − z̄)T z̄ = (z − z̄)T z ≤ 0,
C = {By | y ∈ IRm , y ≥ 0} .
B T By k = B T dk → B T d,
onde γ é dado por (7.4). Assim, para todo i tal que γi > 0, temos yi + t̄γi ≥ 0. Além disso,
yj
como t̄ ≤ 0, também vale yi + t̄γi ≥ 0 para cada i tal que γi ≤ 0. Seja j tal que t̄ = − .
γj
Definindo ȳ = y + t̄γ, temos que ȳ ≥ 0 e ȳj = 0. Portanto, usando (7.4), obtemos
d = By = B(y + t̄γ) = B ȳ ∈ Cj .
[
m
Como a inclusão Cj ⊂ C é imediata, completamos a prova.
j
vm v2
v1
0
O Lema 7.12 pode ser usado para estabelecer uma relação entre a versão geométri-
ca do Lema de Farkas (Lema 7.11) e sua forma algébrica, muito encontrada na literatura.
Ax ≤ 0 e cT x > 0 (7.5)
Otimização com Restrições 137
AT y = c e y ≥ 0. (7.6)
(Ax)T y = xT AT y ≤ 0,
C C
vm v2 vm v2 c
v1 v1
P (C) P (C)
c
x
Vamos denotar por I(x̄) o conjunto de ı́ndices das restrições de desigualdade ativas em
um ponto viável x̄, isto é,
I(x̄) = {i ∈ I | ci (x̄) = 0} .
Note que o conjunto D(x̄) pode ser visto como um conjunto viável, onde lin-
earizamos as restrições 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 situações que surgem quando consideramos o
cone D(x̄). Na primeira, temos desigualdades e os gradientes ativos são linearmente inde-
pendentes. Isto confere uma certa regularidade ao conjunto Ω, que é “bem” aproximado
por D(x̄) em uma vizinhança de x̄. Na segunda, temos uma igualdade e também podemos
dizer que D(x̄) é uma boa aproximação para Ω. No entanto, a última situação mostra
um caso onde o cone é uma reta, mas o conjunto viável é uma região do plano. Note que,
neste caso, os gradientes ativos são linearmente dependentes.
D(x̄)
∇c2
∇c2 Ω
Ω
x̄ Ω x̄ D(x̄)
x̄
e o cone D(x̄), em x̄ = 0.
∇c2 D(x̄)
x̄ Ω
∇c1
Caso E ∪I(x̄) = ∅, consideramos G(x̄) = {0}. Este conjunto tem duas propriedades muito
importantes, que provaremos a seguir. Uma delas é que seu polar é justamente o cone
D(x̄). A outra propriedade diz que G(x̄) é um cone convexo fechado. Veja a Figura 7.11.
Lema 7.18 Dado x̄ ∈ Ω, temos que D(x̄) = P G(x̄) .
Demonstração. Caso E ∪ I(x̄) = ∅, temos D(x̄) = IRn e o resultado segue. No outro caso,
considere d ∈ D(x̄) e s ∈ G(x̄). Assim,
X X
dT s = λi dT ∇ci (x̄) + µi dT ∇ci (x̄).
i∈E i∈I(x̄)
Otimização com Restrições 140
D(x̄)
∇c2
Ω
G(x̄) x̄
∇c1
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 inclusão contrária,
tome d ∈ P G(x̄) . Então, dT s ≤ 0, para todo s ∈ G(x̄). Em particular, para i ∈ E,
temos que ∇ci (x̄) e −∇ci (x̄) são elementos de G(x̄). Portanto,
dT ∇ci (x̄) ≤ 0 e dT − ∇ci (x̄) ≤ 0,
donde segue que dT ∇ci (x̄) = 0. Além disso, para i ∈ I(x̄), temos ∇ci (x̄) ∈ G(x̄) e assim,
dT ∇ci (x̄) ≤ 0. Desta forma, d ∈ D(x̄), o que completa a demonstração.
G(x̄) = {By | y ≥ 0} ,
onde B é a matriz cujas colunas são ∇ci (x̄), −∇ci (x̄) e ∇cj (x̄), com i ∈ E e j ∈ I(x̄).
Pelo Lema 7.12, temos o resultado desejado.
Tendo em vista os Lemas 7.11 e 7.19, podemos reescrever o Lema 7.18 como
P D(x̄) = G(x̄). (7.8)
Definição 7.20 Uma direção d ∈ IRn é dita tangente a Ω ⊂ IRn no ponto x̄ ∈ Ω quando
é nula ou existe uma sequência de pontos viáveis (xk ) ⊂ Ω tal que xk → x̄ e
xk − x̄ d
→ .
kx − x̄k
k kdk
Segue diretamente da definição que se d é tangente, o mesmo vale para td, qualquer que
seja t ≥ 0. Assim, o conjunto formado pelos vetores tangentes a Ω em x̄ é um cone,
chamado de cone tangente a Ω no ponto x̄ e denotado por T (x̄).
Na Figura 7.12 ilustramos este conceito. Na esquerda o conjunto viável é uma
curva definida por uma restrição de igualdade, na qual representamos uma direção tan-
gente d e a convergência indicada na definição. Na outra ilustração o conjunto viável é
uma região determinada por duas restrições de desigualdade. Nesta figura aparecem algu-
mas direções tangentes. Note que uma direção que “penetra” no conjunto viável também
satisfaz a Definição 7.20.
x1
Ω
x2
Ω
3
x
x̄
x4
5 d
x
x̄
Exemplo 7.21 Considere as funções 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ável
Ω = x ∈ IR2 | c(x) ≤ 0 em torno do ponto x̄ = 0.
! !
sk d1
Sejam xk = uma sequência de pontos de Ω e d = ∈ IR2 tais que
tk d2
xk − x̄ d
xk → x̄ e → . (7.9)
kxk − x̄k kdk
Otimização com Restrições 142
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.10)
s2k + t2k s2k + t2k s2k + t2k
De (7.9), podemos concluir que
s d1 t d2
sk → 0 , p k → e p k → .
2 2
sk + tk kdk 2 2
sk + tk kdk
−2d1 d2 2d1
Assim, passando o limite na relação (7.10), obtemos ≤ ≤ , donde segue
kdk kdk kdk
que
T (x̄) ⊂ d ∈ IR2 | −2d1 ≤ d2 ≤ 2d1 .
!
1
Para provar a inclusão contrária, tome primeiro d = . Considere
2
!
1 sk
sk = , tk = 2sk − s2k e xk = .
k tk
sk 1 1 t 2
Assim, xk → x̄ , p 2 = p → √ e p k → √ . Portanto,
sk + t2k 1 + (2 − sk )2 ! 5 s2k + t2k 5
xk − x̄ d 1
→ . Considere agora d = , com γ ∈ [0, 2). Para todo k ∈ IN,
kx − x̄k
k kdk γ
!
1 1 1
suficientemente grande, temos γ < 2 − , o que implica y k = ∈ Ω. Além disso,
k k γ
y k − x̄ d
y k → x̄ e → .
ky k − x̄k kdk
Como T (x̄) é um cone, podemos concluir que todo vetor d ∈ IR2 tal que 0 ≤ d2 ≤ 2d1 é
tangente. O caso −2d1 ≤ d2 ≤ 0 é análogo. Com isto, obtemos
T (x̄) = d ∈ IR2 | −2d1 ≤ d2 ≤ 2d1 .
Exemplo 7.22 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 viável
Ω = x ∈ IR2 | c1 (x) = 0, c2 , c3 (x) ≤ 0
Otimização com Restrições 143
1.5
T(x̄)
0.5
Ω
0 x̄
−0.5
−1
−1.5
−0.5 0 0.5 1 1.5 2 2.5
em torno do ponto x̄ = 0.
! ! !
0 −1 0
Temos ∇c1 (x̄) = , ∇c2 (x̄) = e ∇c3 (x̄) = . Assim,
0 0 −1
e
T (x̄) = {(d1 , d2 ) | d1 ≥ 0, d2 ≥ 0, d1 d2 = 0}.
Na Figura 7.14 estão representados estes cones. Note que T (x̄) 6= D(x̄) e T (x̄) não é
convexo.
D(x̄)
∇c2 x̄
Ω =T(x̄)
G(x̄)
∇c3
d d
Passando o limite, obtemos ∇ci (x̄)T = 0 e ∇cj (x̄)T ≤ 0. Assim, d ∈ D(x̄),
kdk kdk
completando a prova.
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 situação que satisfaz as condições do Lema 7.24
e outra onde isto não se verifica.
Ω
Ω
x∗ ∇f
x̄
∇f
O Lema 7.24 tem um interesse teórico, pois será usado para provar o Teorema de
KKT. No entanto, este lema é pouco prático, no sentido de que não podemos usá-lo para
calcular os possı́veis minimizadores. O teorema seguinte nos dá esta possibilidade.
Teorema 7.25 (KKT) Seja x∗ ∈ Ω um minimizador local do problema (7.1) e suponha
que P T (x∗ ) = P D(x∗ ) . Então existem vetores λ∗ e µ∗ tais que
X X
−∇f (x∗ ) = λ∗i ∇ci (x∗ ) + µ∗i ∇ci (x∗ ),
i∈E i∈I
Otimização com Restrições 145
µ∗i ≥ 0, i ∈ I,
µ∗i ci (x∗ ) = 0, i ∈ I.
Demonstração. Pelo Lema 7.24, temos −∇f (x∗ )T d ≤ 0, para todo d ∈ T (x∗ ). Assim,
usando a hipótese e a relação (7.8), obtemos
−∇f (x∗ ) ∈ P T (x∗ ) = P D(x∗ ) = G(x∗ ).
(
µi , para i ∈ I(x∗ )
Definindo µ∗i = ∗
e λ∗ = λ, completamos a prova.
0, para i ∈ I \ I(x )
Exemplo 7.27 Vamos refazer o Exemplo 7.1 usando KKT. O problema é dado por
x21 ≤ x2 ≤ 2 − x1 ,
Note que L(x̄) é um conjunto convexo e fechado. Portanto, o Lema 3.6 garante que esta
direção está bem definida. O próximo teorema relaciona tal direção com a estacionar-
iedade de x̄.
Teorema 7.28 Um ponto viável x̄ ∈ Ω cumpre as condições de KKT se, e somente se,
dc (x̄) = 0. Além disso, se x̄ não é estacionário, então ∇f (x̄)T dc (x̄) < 0.
Otimização com Restrições 147
Demonstração. Considere o cone G(x̄), definido na Seção 7.2.2. Se x̄ satisfaz KKT, então
−∇f (x̄) ∈ G(x̄). Assim, pela relação (7.8), temos que −∇f (x̄) ∈ P D(x̄) , o que significa
que
−∇f (x̄)T d ≤ 0, (7.14)
para todo t > 0. Além disso, para i ∈ I \ I(x̄), podemos tomar t > 0 suficientemente
pequeno, tal que
ci (x̄) + ∇ci (x̄)T (td) ≤ 0.
Assim, considerando d˜ = td, temos x̄ + d˜ ∈ L(x̄) e, como projL(x̄) x̄ − ∇f (x̄) = x̄, o
Teorema 3.7 nos fornece
T
−∇f (x̄)T d˜ = x̄ − ∇f (x̄) − x̄ (x̄ + d˜ − x̄) ≤ 0.
Portanto, −∇f (x̄)T d ≤ 0, o que implica −∇f (x̄) ∈ P D(x̄) = G(x̄) e assim podemos
concluir que x̄ cumpre as condições de KKT. Finalmente, vamos provar que dc (x̄) é uma
direção de descida quando x̄ não cumprir as condições de KKT. Definindo
z̄ = projL(x̄) x̄ − ∇f (x̄) ,
Como x̄ não satisfaz KKT, podemos usar o que foi provado na primeira parte do teorema
para concluir que dc (x̄) 6= 0. Portanto,
completando a demonstração.
Otimização com Restrições 148
Salientamos que a igualdade dc (x̄) = 0 não pode ser vista como uma condição
necessária de otimalidade, como ocorre no Teorema 3.9. De fato, aqui podemos ter um
minimizador no qual dc não se anula, conforme vemos no seguinte exemplo.
Exemplo 7.29 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 .
Note que qualquer ponto viável, que não seja x̄, tem uma componente nula e a outra
positiva. Portanto, x̄ = 0 é o minimizador global de f em Ω. Além disso, temos
! ! !
0 −1 1
∇c1 (x̄) = , ∇c2 (x̄) = e ∇f (x̄) = .
0 −1 2
Assim, L(x̄) = d ∈ IR2 | d1 + d2 ≥ 0 e
!
1 1
z̄ = projL(x̄) x̄ − ∇f (x̄) = 6= x̄.
2 −1
L(x̄)
x̄
Ω
∇c2 z̄
−∇f
min ∇f (x̄)T d
s. a x̄ + d ∈ L(x̄) (7.15)
kdk ≤ 1.
Demonstração. Supondo χ(x̄) = 0, temos ∇f (x̄)T d ≥ 0, para todo d ∈ IRn tal que
x̄ + d ∈ L(x̄) e kdk ≤ 1. Considere agora d ∈ D(x̄). Com o mesmo argumento usado na
prova do Teorema 7.28, podemos concluir que x̄ + td ∈ L(x̄) e ktdk ≤ 1, para todo t > 0
suficientemente pequeno. Consequentemente, ∇f (x̄)T (td) ≥ 0, donde segue que
−∇f (x̄) ∈ P D(x̄) = G(x̄),
completando a demonstração.
hipótese sobre as restrições, podemos ter minimizadores que não cumprem KKT, dificul-
tando assim a caracterização de tais pontos. Tal fato pode ser visto no seguinte exemplo.
minimizar f (x) = x1
sujeito a c1 (x) = −x31 + x2 ≤ 0
c2 (x) = −x2 ≤ 0.
De fato, de 0 ≤ x2 ≤ x31 , segue que f (x) = x1 ≥ 0 = f (x∗ ), para todo ponto viável x.
Além disso,
! ! !
1 0 0
∇f (x∗ ) = , ∇c1 (x∗ ) = e ∇c2 (x∗ ) = ,
0 1 −1
o que significa que não vale KKT. Note que P T (x∗ ) 6= P D(x∗ ) . Veja uma ilustração
deste exemplo na Figura 7.17.
∇c1
−∇f x∗
∇c2
Para continuar nossa discussão, vamos apresentar uma definição precisa de con-
dição de qualificação. Considere ci : IRn → IR, i ∈ E ∪ I, funções continuamente difer-
enciáveis em IRn e o conjunto viável
Definição 7.33 Dizemos que as restrições cE (x) = 0 e cI (x) ≤ 0 cumprem uma condição
de qualificação em x∗ ∈ Ω quando, dada qualquer função diferenciável f , que tenha
mı́nimo em x∗ , relativamente a Ω, sejam satisfeitas as condições de otimalidade de KKT.
minimizar f (x)
sujeito a Ax = b (7.17)
M x ≤ r,
Demonstração. Usando o Lema 7.23 e o Teorema 7.25, 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
xk − x∗ d
Axk = b , M xk ≤ r , xk → x∗ e = .
kxk − x∗ k kdk
Teorema 7.35 Se vale a condição de Slater, então T (x̄) = D(x̄), para todo x̄ ∈ Ω.
Demonstração. Em virtude do Lema 7.23, basta provar que D(x̄) ⊂ T (x̄). Considere uma
direção arbitrária d ∈ D(x̄) e defina d¯ = x̃ − x̄, onde x̃ ∈ Ω é 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.
¯
Otimização com Restrições 152
Vamos provar que dˆ ∈ T (x̄), para todo t ∈ (0, 1) (veja a Figura 7.18). Dado i ∈ I(x̄),
temos ∇ci (x̄)T d ≤ 0 e ∇ci (x̄)T d¯ < 0. Consequentemente, ∇ci (x̄)T dˆ < 0. Definindo
1
xk = x̄ + dˆ e aplicando o Teorema 4.2, podemos concluir que
k
para todo k suficientemente grande. Por outro lado, se i ∈ / I(x̄), vale ci (x̄) < 0. Assim,
pela continuidade de ci , temos ci (xk ) < 0, para todo k suficientemente grande. Além disso,
como cE é linear, digamos, cE (x) = Ax − b, temos Ad = ∇cE (x̄)T d = 0, pois d ∈ D(x̄).
Também temos que Ad¯ = A(x̃ − x̄) = cE (x̃) − cE (x̄) = 0. Consequentemente, Adˆ = 0.
Portanto,
1
cE (xk ) = Axk − b = Ax̄ − b + Adˆ = 0.
k
Concluı́mos então que a sequência (xk ) é viável. Além disso, como
xk − x̄ dˆ
= ,
kxk − x̄k ˆ
kdk
temos que dˆ ∈ T (x̄). Mas T (x̄) é fechado (veja o Exercı́cio 7.10). Logo d ∈ T (x̄),
completando a prova.
d
Ω
dˆ
x̄
x̃
d¯
Esta condição é bem mais fácil de verificar do que aquela que colocamos na
hipótese do Teorema 7.25, envolvendo cones. Para exemplificar, vamos retomar as re-
Otimização com Restrições 153
strições do Exemplo 7.21, onde apenas a determinação do cone tangente T (x̄) já foi
consideravelmente trabalhosa.
Exemplo 7.37 Considere duas restrições 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 restrições são ativas em x̄ e os vetores ∇c1 (x̄) = e ∇c2 (x̄) = são
−1 1
linearmente independentes.
Apesar desta simplicidade, LICQ tem a desvantagem de ser uma hipótese muito
forte para garantir KKT. Existem muitos problemas em que temos KKT sem que LICQ
seja satisfeita.
minimizar f (x) = x1
sujeito a c1 (x) = x21 − 2x1 − x2 ≤ 0
c2 (x) = x21 − 2x1 + x2 ≤ 0
c3 (x) = −x1 ≤ 0.
Lema 7.41 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, são linearmente independentes. Então, existe
uma curva diferenciável γ : (−ε, ε) → IRn tal que cE γ(t) = 0, para todo t ∈ (−ε, ε),
γ(0) = x̄ e γ 0 (0) = d.
Pela unicidade de γ, temos que γ(0) = x̄. Derivando a primeira equação de (7.19) em
t = 0, obtemos
M T γ 0 (0) = 0. (7.20)
o que implica γ(t) 6= x̄, para todo t 6= 0 suficientemente pequeno. Tomando uma sequência
(tk ), com tk > 0 e tk → 0, defina xk = γ(tk ). Assim,
xk − x̄ xk − x̄ tk d
= → ,
kx − x̄k
k tk kx − x̄k
k kdk
completando a prova.
Otimização com Restrições 156
Vamos provar que dˆ ∈ T (x̄). Como d, d¯ ∈ D(x̄), temos ∇ci (x̄)T dˆ = 0, para todo i ∈ E.
Pelo Lema 7.41, existe uma curva diferenciável γ : (−ε, ε) → IRn tal que cE γ(t) = 0,
para todo t ∈ (−ε, ε), γ(0) = x̄ e γ 0 (0) = d. ˆ Aplicando o Lema 7.42, concluı́mos que
existe uma sequência (xk ) tal que cE (xk ) = 0, xk → x̄ e
xk − x̄ dˆ
→ .
kxk − x̄k ˆ
kdk
Para concluir que dˆ ∈ T (x̄) basta mostrar que cI (xk ) ≤ 0, para todo k suficientemente
grande. Se i ∈ I \ I(x̄), então 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
Assim,
ci (xk ) k
o(kxk − x̄k) ˆ
T x − x̄ T d
= ∇c i (x̄) + → ∇c i (x̄) < 0,
kxk − x̄k kxk − x̄k kxk − x̄k ˆ
kdk
o que implica ci (xk ) < 0, para todo k suficientemente grande. Concluı́mos então que
dˆ ∈ T (x̄). Como T (x̄) é fechado, temos que d ∈ T (x̄), completando a prova.
Os Teoremas 7.40 e 7.43 nos permitem concluir que tanto LICQ quanto MFCQ
são condições de qualificação. Desta forma, sob uma destas hipóteses, o Teorema 7.25
garante a existência de multiplicadores de Lagrange associados a um minimizador. No
caso da hipótese LICQ, é imediato verificar a unicidade de tais multiplicadores. Por outro
lado, supondo MFCQ, podemos provar que o conjunto dos multiplicadores é compacto
(veja o Exercı́cio 7.27).
Também é importante notar que a condição de MFCQ, apesar de ser uma hipótese
mais fraca, não é necessária para termos KKT, conforme ocorre no seguinte exemplo.
minimizar f (x) = x1
sujeito a c1 (x) = −x31 + x2 ≤ 0
c2 (x) = −x31 − x2 ≤ 0
c3 (x) = −x1 ≤ 0.
Otimização com Restrições 157
2 T
Note que não existe um vetor d ∈ IR
! tal que ∇ci (x̄) d < 0 para i = 1, 2, 3. Além disso,
−1
temos KKT, pois −∇f (x∗ ) = = ∇c3 (x∗ ). A Figura 7.19 ilustra este exemplo.
0
∇c1
−∇f =∇c3 x∗
∇c2
minimizar f (x)
(7.22)
sujeito a c(x) = 0,
X
m
∇x `(x, λ) = ∇f (x) + λi ∇ci (x) = ∇f (x) + A(x)T λ
i=1
X
m
∇2xx `(x, λ) 2
= ∇ f (x) + λi ∇2 ci (x).
i=1
dT ∇2xx `(x∗ , λ∗ )d ≥ 0,
para todo d ∈ N A(x∗ ) .
Demonstração. Considere d ∈ N A(x∗ ) arbitrário. Pelo Lema 7.41 e pelo fato de c ∈ C 2 ,
podemos concluir que existe uma curva duas vezes diferenciável γ : (−ε, ε) → IRn tal que
c γ(t) = 0, para todo t ∈ (−ε, ε), γ(0) = x∗ e γ 0 (0) = d. Fazendo γ 00 (0) = w e utilizando
o Exercı́cio 1.28 obtemos, para cada i = 1, . . . , m,
dT ∇2xx `(x∗ , λ∗ )d ≥ 0,
completando a demonstração.
Cabe salientar aqui que o multiplicador λ∗ ∈ IRm , satisfazendo (7.24) é único. De
fato, se
∇f (x∗ ) + A(x∗ )T λ∗ = ∇f (x∗ ) + A(x∗ )T ξ ∗ ,
então A(x∗ )T (λ∗ − ξ ∗ ) = 0. Como posto A(x∗ ) = m, concluı́mos que λ∗ = ξ ∗ .
Demonstração. Suponha, por absurdo, que exista uma sequência (xk ) tal que c(xk ) = 0,
xk → x∗ e
1
f (xk ) − f (x∗ ) < kxk − x∗ k2 .
k
Então, 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 . (7.26)
2 k
1
∇ci (x∗ )T y k + (y k )T ∇2 ci (x∗ )y k + o(ky k k2 ) = 0,
2
Otimização com Restrições 160
1 k TX ∗ 2
m
∗ T
∗ T
A(x ) λ k
y + (y ) λi ∇ ci (x∗ )y k + o(ky k k2 ) = 0.
2 i=1
2 k 2
(y k )T ∇2xx `(x∗ , λ∗ )y k + o(ky k k2 ) < ky k . (7.27)
k
y k IN0
Além disso, existe uma subsequência convergente k → d 6= 0. Pelo Lema 7.23, 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,
e
X X
∇2xx `(x, λ, µ) = ∇2 f (x) + λi ∇2 ci (x) + µi ∇2 ci (x).
i∈E i∈I
Lembramos que o conjunto de ı́ndices das restrições ativas em um ponto viável x é indicado
por
I(x) = {i ∈ I | ci (x) = 0} .
Para os dois teoremas que seguem, vamos considerar um ponto x∗ ∈ IRn , viável
para o problema (7.1), no qual a condição de qualificação de independência linear é sat-
isfeita.
dT ∇2xx `(x∗ , λ∗ , µ∗ )d ≥ 0,
Otimização com Restrições 161
para todo d ∈ N AE (x∗ ) ∩ N AI(x∗ ) (x∗ ) .
Demonstração. A prova segue os mesmos passos da que foi feita no Teorema 7.45, con-
siderando as restrições de desigualdade ativas como sendo de igualdades.
Assim como no caso para igualdades, aqui também temos a unicidade dos multi-
plicadores.
Agora provaremos que um ponto estacionário é minimizador, contanto que a
Hessiana do Lagrangiano seja definida positiva em um espaço maior do que o utilizado
no Teorema 7.47. Isso se deve ao fato de existirem restrições ativas degeneradas, isto é,
com o correspondente multiplicador nulo.
para todo ponto viável x ∈ V . Em particular, segue que x∗ é um minimizador local estrito
do problema (7.1).
Demonstração. Suponha, por absurdo, que exista uma sequência viável xk → x∗ tal que
1 k
f (xk ) − f (x∗ ) < kx − x∗ k2 .
k
1 1
∇f (x∗ )T y k + (y k )T ∇2 f (x∗ )y k + o(ky k k2 ) < ky k k2 . (7.28)
2 k
1
∇ci (x∗ )T y k + (y k )T ∇2 ci (x∗ )y k + o(ky k k2 ) = 0,
2
T 1 X
AE (x∗ )T λ∗ y k + (y k )T λ∗i ∇2 ci (x∗ )y k + o(ky k k2 ) = 0. (7.29)
2 i∈E
Otimização com Restrições 162
T 1 X
AI + (x∗ )T µ∗I + y k + (y k )T µ∗i ∇2 ci (x∗ )y k + o(ky k k2 ) ≤ 0.
2 +
i∈I
obtemos
2 k 2
(y k )T ∇2xx `(x∗ , λ∗ , µ∗ )y k + o(ky k k2 ) < ky k . (7.31)
k
y k IN0
Além disso, existe uma subsequência convergente k → d 6= 0. Pelo Lema 7.23, 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∗ ) .
dT ∇2xx `(x∗ , λ∗ , µ∗ )d ≤ 0.
/ N AI + (x∗ ) , o que significa que existe i ∈ I + ,
Portanto, pela hipótese de positividade, d ∈
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 contradição completa a
demonstração.
Cabe salientar que a hipótese de positividade no Teorema 7.48 não pode ser en-
fraquecida trocando N AI + (x∗ ) por N AI(x∗ ) (x∗ ) . Por outro lado, a conclusão obtida
no Teorema 7.47 não é válida se considerarmos N AI + (x∗ ) no lugar de N AI(x∗ ) (x∗ ) .
É um bom exercı́cio identificar na demonstração sugerida para este teorema, bem como
na demonstração do Teorema 7.48, o ponto onde elas iriam falhar com as referidas sub-
stituições. Os exemplos a seguir confirmam que, de fato, tais trocas não podem ser feitas.
0
Além disso, N AI(x̄) (x̄) = 0 , donde segue que
1
Note que
b ∗ ) ⊂ N AE (x∗ ) ∩ N AI + (x∗ ) .
N AE (x∗ ) ∩ N AI(x∗ ) (x∗ ) ⊂ D(x
Nos Exercı́cios 7.29 e 7.30, discutimos as condições de segunda ordem necessárias e sufi-
cientes, respectivamente, considerando o conjunto D(x b ∗ ).
7.2. Para cada um dos conjuntos abaixo, diga se é um cone e represente geometricamente.
(a) S = d ∈ IR2 | d21 − d2 ≤ 0 ;
(b) S = d ∈ IR2 | d21 − d2 ≥ 0 .
7.3. Suponha que S1 e S2 sejam cones do IRn . Mostre que S = S1 ∪ S2 é um cone e que
P (S) = P (S1 ) ∩ P (S2 ).
Otimização com Restrições 165
! ! !
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 translação x̄ + S = {x̄ + d | d ∈ S}.
7.7. Sejam B ∈ IRn×m e C = {By | y ∈ IRm , y ≥ 0}. Usando o Lema 7.13, mostre que
P P (C) = C.
7.9. Sejam B ∈ IRn×m e C = {By | y ∈ IRm , y ≥ 0}. Usando o Exercı́cio 7.8, mostre
que C é um conjunto fechado.
Usando ideias similares às do Exemplo 7.21, determine o cone T (x̄), associado ao conjunto
viável Ω = x ∈ IR2 | c(x) ≤ 0 em torno do ponto x̄ = 0. Obtenha também o cone D(x̄).
2 x2 x2 5
7.13. Dadas f (x) = (x1 − 3)2 + 2 x2 − 31 , c1 (x) = 1 − x2 e c2 (x) = 1 + x2 − ,
3 2 6
considere Ω = x ∈ IR2 | c(x) ≤ 0 . Encontre, geometricamente, o minimizador de f em
Ω. Escreva as condições de KKT.
min −x1
s. a x2 − (1 − x1 )3 ≤ 0
−x2 ≤ 0.
!
1
Mostre que x∗ = é um minimizador, mas as condições KKT não se verificam.
0
Otimização com Restrições 166
min −x1
s. a x2 + (x1 − 1)3 ≤ 0
−x2 + (x1 − 1)3 ≤ 0.
7.18. 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
Conclua que n
x1 x2 · · · xn ≤ .
n
7.19. Princı́pio de Fermat na ótica. Sejam Ω = x ∈ IR2 | c(x) = 0 e a, b ∈ IR2 conforme
a figura abaixo. Mostre que se x∗ minimiza a soma das distâncias aos pontos a e b, dentre
os pontos de Ω, então o vetor ∇c(x∗ ) forma ângulos iguais com a − x∗ e b − x∗ . (Sugestão:
mostre primeiro que se u, v ∈ IR2 são vetores de mesma norma e w = u + v, então w forma
ângulos iguais com u e v.)
x∗ ∇c
a
Otimização com Restrições 167
7.20. 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.21. Mostre que o problema abaixo pode ter 1 ou 2 minimizadores globais, dependendo
do valor de α > 0. Faça uma representação geométrica.
min xT x min xT Ax
e
s. a xT Ax = 1 s. a xT x = 1.
7.23. [13, Exerc. 9.6] Considere os problemas primal e dual de programação linear
min cT x
max bT y
s. a Ax = b e
s. a AT y ≤ c.
x≥0
1
7.24. Seja f : IRn → IR dada por f (x) = xT Ax + bT x + c, onde A ∈ IRn×n é 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 está
na fronteira do conjunto viável.
Otimização com Restrições 168
1
f (x) = xT Ax + bT x,
2
com A ∈ IRn×n simétrica e b ∈ IRn . No Exercı́cio 3.18 vimos que se f é limitada infe-
riormente, então f possui um único minimizador global pertencente a Im(A). Mostre que
este ponto é exatamente a solução do problema
min xT x
s. a Ax + b = 0.
1
min f (x) = xT Bx + bT x
2
s. a Ax + c = 0,
onde A ∈ IRm×n e B ∈ IRn×n são tais que posto(A) = m e B é definida positiva no núcleo
de A, isto é, dT Bd > 0 para todo d 6= 0, d ∈ N (A). Mostre que este problema tem um
único ponto estacionário, que é minimizador global.
é compacto.
implica µ = 0. Mostre que existe d ∈ IRn tal que dT v j < 0, para todo j = 1, . . . , q.
dT ∇2xx `(x∗ , λ∗ , µ∗ )d ≥ 0,
7.30. Seja x∗ um ponto viável para o problema (7.1), no qual a condição de qualificação
de independência linear é 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 ∗ ), então existem δ > 0 e uma vizinhança V de x∗ tal que
para todo d ∈ D(x
170
Métodos para Otimização com Restrições 171
de igualdade, ou seja,
minimizar f (x)
(8.1)
sujeito a c(x) = 0,
onde f : IRn → IR e c : IRn → IRm são funções de classe C 2 .
Denotamos a matriz Jacobiana de c no ponto x por A(x). O Lagrangiano asso-
ciado ao problema (8.1) é dado por
8.1.1 Algoritmo
Dados xk e λk , o algoritmo básico de PQS consiste em resolver a cada iteração o
seguinte problema quadrático
1
minimizar `(xk , λk ) + ∇x `(xk , λk )T d + dT B(xk , λk )d
2 (8.2)
sujeito a A(xk )d + c(xk ) = 0,
que sob certas hipóteses tem solução única dk . Definimos então xk+1 = xk + dk , calcu-
lamos o multiplicador de Lagrange λk+1 e repetimos o processo com o novo problema
quadrático. Com este procedimento, esperamos obter uma sequência que tenha algum
ponto de acumulação (x∗ , λ∗ ) que satisfaça as condições de otimalidade de primeira or-
dem para o problema (8.1), dadas pelo Teorema 7.25. Tais condições podem ser escritas
como ! !
∗ ∗ T ∗
∇f (x ) + A(x ) λ 0
∇`(x∗ , λ∗ ) = = .
c(x∗ ) 0
Podemos colocar a discussão anterior de modo mais preciso no seguinte algoritmo.
H2 A Jacobiana das restrições, A(x∗ ), tem posto linha completo e a Hessiana parcial
B(x∗ , λ∗ ) é definida positiva no espaço nulo de A(x∗ ), isto é, dT B(x∗ , λ∗ )d > 0 para todo
d 6= 0, d ∈ N (A(x∗ )).
O seguinte lema garante que se (xk , λk ) está próximo de (x∗ , λ∗ ), o passo (dk , ξ k )
satisfazendo (8.3) está bem definido e é único.
Lema 8.1 Seja (x∗ , λ∗ ) uma solução primal-dual do problema (8.1) e suponha que a
Hipótese H2 seja satisfeita. Então existe uma vizinhança V1 de (x∗ , λ∗ ), tal que se
(xk , λk ) ∈ V1 , o sistema (8.3) tem uma única solução (dk , ξ k ).
é não singular. Por continuidade, segue que existe uma vizinhança V1 de (x∗ , λ∗ ) tal que
se (xk , λk ) ∈ V1 , então !
B(xk , λk ) A(xk )T
A(xk ) 0
também é não singular. Mas isto significa que o sistema (8.3), que pode ser escrito como
! ! !
B(xk , λk ) A(xk )T d −∇x `(xk , λk )
= ,
A(xk ) 0 ξ −c(xk )
Vamos agora provar o principal resultado desta seção, que estabelece a con-
vergência local do Algoritmo 8.1 ao mesmo tempo que evidencia a relação com o método
de Newton.
Teorema 8.2 Seja (x∗ , λ∗ ) uma solução primal-dual do problema (8.1) e suponha que
as Hipóteses H1 e H2 sejam satisfeitas. Então existe uma vizinhança V de (x∗ , λ∗ ), tal
que se (x0 , λ0 ) ∈ V , o Algoritmo 8.1 está bem definido e, se o critério de parada não
for satisfeito, gera uma sequência (xk , λk )k∈IN que converge quadraticamente para esta
solução.
Demonstração. Basta notar que o passo (dk , ξ k ) definido pelo Algoritmo 8.1 é exatamente
o passo de Newton para o sistema de equações
! !
∇f (x) + A(x)T λ 0
∇`(x, λ) = = . (8.4)
c(x) 0
!
B(x, λ) A(x)T
De fato, a Jacobiana da função (x, λ) 7→ ∇`(x, λ) é a matriz e assim
A(x) 0
k
o passo de Newton para (8.4), (dkN , ξN ), é dado por
! ! ! !
B(xk , λk ) A(xk )T dkN ∇f (xk ) + A(xk )T λk −∇x `(xk , λk )
=− = ,
A(xk ) 0 ξNk
c(xk ) −c(xk )
ou seja, pelo sistema (8.3). Se (xk , λk ) está na vizinhança dada no Lema 8.1, bem como
na região de convergência do método de Newton, então o passo PQS coincide com o passo
(dkN , ξN
k
) e o Algoritmo 8.1 está bem definido. Além disso, a convergência quadrática segue
do Teorema 5.13.
Ressaltamos que a convergência quadrática estabelecida no Teorema 8.2 é da
sequência (xk , λk )k∈IN e isto não implica que a convergência de (xk ) seja quadrática (veja
o Exercı́cio 8.5). Entretanto, é possı́vel modificar o Algoritmo 8.1 de modo a transformá-
lo em um algoritmo puramente primal e ter convergência quadrática na sequência (xk ).
Podemos encontrar tal abordagem em [4, Teorema 12.5].
O algoritmo PQS, discutido aqui, pode ser interpretado de outro modo. Fazendo
µ = ξ + λk , a relação (8.3) pode ser reescrita como
(
B(xk , λk )d + ∇f (xk ) + A(xk )T µ = 0
A(xk )d + c(xk ) = 0,
1
minimizar f (xk ) + ∇f (xk )T d + dT B(xk , λk )d
2 (8.5)
sujeito a A(xk )d + c(xk ) = 0.
Métodos para Otimização com Restrições 174
Podemos assim fazer uma releitura do algoritmo PQS e dizer que minimizamos a cada
iteração um modelo quadrático da função objetivo, sujeito a linearização das restrições.
Entretanto, neste modelo quadrático incorporamos na Hessiana informações sobre a cur-
vatura das restrições.
É interessante notar que considerando em (8.5) o modelo
1
f (xk ) + ∇f (xk )T d + dT ∇2 f (xk )d, (8.6)
2
isto é, a aproximação de Taylor de segunda ordem de f , o algoritmo pode não funcionar
bem, conforme nos mostra o exemplo seguinte.
x21
minimizar f (x) = − + 2x2
2 (8.7)
sujeito a c(x) = x21 + x22 − 1 = 0,
!
0
cuja solução (única e global) é 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, então o novo
ponto se distancia da solução. Calcule também o passo obtido por PQS.
d21
minimizar − − δd1 + 2d2
2 √ (8.8)
sujeito a δd1 − 1 − δ 2 d2 = 0,
1 2
minimizar (d + 2d2 ) − δd1 + 2d2
2 1 √ 2 (8.9)
sujeito a δd1 − 1 − δ 2 d2 = 0,
Métodos para Otimização com Restrições 175
!
1 0
que é o problema (8.5) com B(xk , λk ) = ∇2xx `(xk , λ∗ ) = . A solução de (8.9) é o
0 2
vetor √ √ !
( 1 − δ 2 − 2)δ 1 − δ2
dpqs = .
1 + δ2 δ
Neste caso temos
kx + dpqs − x∗ k 1
∗
≈ ,
kx − x k 2 2
o que está em conformidade com o Teorema 8.2. A Figura 8.1 ilustra este exemplo, onde
o conjunto viável está representado pela linha circular cheia, as curvas de nı́vel da função
objetivo pelas linhas tracejadas e x+ = x + dpqs .
c(x)=0
0.5
−0.5
x+d
∗ x
x
−1
x+
−1 −0.5 0 0.5 1 1.5
viável. Desta forma, definimos a medida de inviabilidade h : IRn → IR+ dada por
h(x) =
c+ (x)
, (8.10)
onde α ∈ (0, 1) é uma constante dada. Temos também uma maneira um pouco diferente
de definir a regra de dominação, proposta por Chin e Fletcher [5], que considera as regiões
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) é denominado filtro original e aquele baseado
em (8.13) é chamado filtro inclinado.
Na Figura 8.2 ilustramos as regiões 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 são recusados pelo filtro e, por esse motivo, denominamos cada uma dessas regiões
de região proibida no plano f ×h. Nesta figura, e sempre que for conveniente, simplificamos
a notação usando (f j , hj ) para representar o par (f (xj ), h(xj )).
também o conjunto Fk , que é uma região permanentemente proibida em IRn e uma região
S
temporariamente proibida dada por F̄k = Fk Rk .
Métodos para Otimização com Restrições 177
h h
(f j,hj) (f j,hj)
f f
h 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 f
Note que se xk é viável, então qualquer ponto x não proibido deve satisfazer
f (x) < f (xk ). A Figura 8.4 ilustra esta situação para ambos os critérios de filtro, original
e inclinado.
h
(f,h)
(f k,hk) f
O Lema 8.4, apresentado a seguir, estabelece que o Algoritmo 8.2 é bem definido.
Dada a generalidade do algoritmo, é suficiente mostrar que sempre que o ponto corrente
é não estacionário, um novo ponto não proibido pode ser escolhido, a menos que o ponto
corrente seja uma solução global do problema (7.1).
Lema 8.4 Considere o Algoritmo 8.2. Para todo k ∈ IN tal que xk é não estacionário,
as seguintes afirmações são válidas:
Demonstração. Vamos provar este lema por indução. Para k = 0, temos que F0 = ∅ e
F̄0 = {(f 0 , h0 )}, logo (i) é válida. Para provar (ii), considere inicialmente que h0 > 0.
Nesse caso, podemos tomar x1 como qualquer ponto viável. Por outro lado, se h0 = 0,
existe um ponto viável x1 tal que f 1 < f 0 , uma vez que x0 não é um minimizador do
problema (7.1). Em ambos os casos, concluı́mos que x1 ∈ / F̄0 . Agora, suponha que (i)
e (ii) são válidas para k − 1. Se a iteração k − 1 é uma iteração f , então Fk = Fk−1 e
Métodos para Otimização com Restrições 179
consequentemente, pela hipótese de indução, temos que a afirmação (i) é verdadeira para
k. Caso contrário, k − 1 é uma iteração h e Fk = Fk−1 ∪ (f k−1 , hk−1 ) . Nesse caso, é
suficiente provar que hk−1 > 0. Suponha por contradição que hk−1 = 0. Pela hipótese de
indução, existe xk ∈
/ F̄k−1 . Isto significa que f k < f k−1 , contradizendo o fato de que k é
uma iteração h. Então, hk−1 > 0 e, deste modo, (i) é válida para k. Resta provar (ii).
Se hk > 0, podemos tomar xk+1 como qualquer ponto viável. Por outro lado, se hk = 0,
como xk não é um minimizador do problema (7.1), existe um ponto viável xk+1 tal que
f k+1 < f k . Em ambos os casos, usando (i), concluı́mos que xk+1 ∈ / F̄k .
Desta forma, vamos assumir que o Algoritmo 8.2 gera uma sequência infinita (xk )
e, na próxima seção, provaremos que este algoritmo é globalmente convergente.
f (xk ) − f (xk+1 ) ≥ M vk ,
onde vk = min 1, min (1 − α)hj | f j , hj ∈ Fk é definido como a altura do filtro.
As duas primeiras hipóteses são clássicas e, embora H3 seja uma hipótese sobre a
sequência gerada pelo algoritmo, esta pode ser garantida incluindo restrições de caixa ao
problema. Por outro lado, a Hipótese H5, proposta por Ribeiro, Karas e Gonzaga [44],
assume que o passo deve ser eficiente no sentido de que, perto de um ponto viável não
estacionário, a redução na função objetivo é relativamente grande.
Considere o conjunto das iterações h dado por
Ka = k ∈ IN | f k , hk é adicionado ao filtro . (8.14)
No lema a seguir vamos mostrar o que acontece quando este conjunto é infinito.
Métodos para Otimização com Restrições 180
k k
j
(f , h ) − (f j , hj )
< αδ ≤ αh(x ) .
2 2
Este resultado implica xk ∈ F̄j = Fj+1 (veja a Figura 8.5), o que é uma contradição, uma
vez que, devido ao critério de atualização do filtro e à definição de F̄, temos que
xk ∈
/ F̄k−1 ⊃ Fk ⊃ Fj+1 .
k
j
Vamos provar agora que a sequência (xk ) tem um ponto de acumulação viável.
f (xk ) − f (xk+1 ) ≥ M vk .
Como vk > 0, temos que f (xk+1 ) < f (xk ). Assim, k ∈ / Ka . Agora, assuma que x̄ é inviável
K
e suponha por contradição que existe um conjunto infinito K ⊂ Ka tal que xk → x̄. Como
K K
h é contı́nua, temos que h(xk ) → h(x̄). Por outro lado, o Lema 8.5 garante que h(xk ) → 0.
Assim, h(x̄) = 0, o que contradiz a hipótese de que x̄ é inviável, completando a prova.
Apresentamos a seguir a prova de que o Algoritmo 8.2 é globalmente convergente.
Além disso, por construção do Algoritmo 8.2, temos Fk = Fk0 para todo k ≥ k0 . Portanto,
a sequência (vk ), definida em H5, satisfaz
f (xk ) − f (xk+1 ) ≥ M vk .
K
Como xk → x̄, então 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.9 estabelece que o Algoritmo 8.2 gera uma sequência infinita (xk )
que tem um ponto de acumulação estacionário. No entanto, se a regra de filtro inclinado
é usada e se o conjunto Ka é finito, podemos mostrar que qualquer ponto de acumulação
da sequência gerada pelo algoritmo é estacionário. Provamos este resultado no próximo
teorema.
Teorema 8.10 Se Ka é finito e Rk é definido por (8.13), então qualquer ponto de acu-
mulação de (xk ) é estacionário.
Demonstração. Do Lema 8.7, temos que qualquer ponto de acumulação da sequência (xk )
é viável. Assim, pelos mesmos argumentos usados na prova do Teorema 8.9 quando Ka é
finito, podemos concluir que qualquer ponto de acumulação de (xk ) é estacionário.
Salientamos que a teoria de convergência apresentada nesta seção só é válida se
existirem formas de calcular o ponto xk+1 ∈ / F̄k de modo que a Hipótese H5 seja satisfeita.
De fato, pode-se provar que existem pelo menos duas maneiras de se fazer isso. Uma delas,
baseada em programação quadrática sequencial, pode ser encontrada em [39]. A outra
usa as ideias de restauração inexata [31, 32] e foi estabelecida em [15].
Métodos para Otimização com Restrições 183
kxk+1 − x∗ k
;
kxk − x∗ k2
8.3. Mostre que se o par (xk , λk ) cumpre as condições de KKT para o problema (8.1),
então d = 0 é um ponto estacionário para o subproblema (8.2). Mostre também que se
d = 0 é um ponto estacionário para o subproblema (8.2), então xk é um ponto estacionário
para o problema (8.1).
8.4. No contexto do Teorema 8.2, mostre que a Jacobiana da função (x, λ) 7→ ∇`(x, λ)
é lipschitziana em uma vizinhança de (x∗ , λ∗ ).
onde β ∈ (0, 1). Mostre que a sequência (xk , λk )k∈IN converge quadraticamente para (0, 0),
mas a convergência de (xk ) para 0 não é sequer linear.
Apêndice A
Dicas ou Soluções dos Exercı́cios
Capı́tulo 1
1.1. Usaremos indução em (a) e (b).
(a) Temos 1 ≤ x0 ≤ 2. Supondo agora 1 ≤ xk ≤ 2, temos 2 ≤ 1 + xk ≤ 3. Portanto,
√
1 ≤ 1 + xk ≤ 2, ou seja, 1 ≤ xk+1 ≤ 2.
√
(b) Temos x1 = 2 > x0 . Além disso, se xk+1 > xk , então 1 + xk+1 > 1 + xk , donde segue
√ √
que xk+2 = 1 + xk+1 > 1 + xk = xk+1 .
(c) Pelo que foi provado em (a) e (b), (xk ) é convergente, digamos xk → x̄. Assim,
√ √ √
xk+1 → x̄ e também √ x
k+1
= 1 + xk → 1 + x̄. Desta forma, temos x̄ = 1 + x̄, o que
1+ 5
fornece x̄ = , o inverso do número de ouro.
2
1.2. Também por indução em (a) e (b).
(a) Temos 0 ≤ y 0 ≤ 1. Supondo agora 0 ≤ y k ≤ 1, temos 1 ≤ 1 + 2y k ≤ 3. Portanto,
0 ≤ y k+1 ≤ 1.
(b) Temos y 2 > y 0 e y 3 < y 1 . Além disso, supondo y 2k+2 > y 2k e y 2k+1 < y 2k−1 , temos
1 + 2y 2k+2 > 1 + 2y 2k , que implica y 2k+3 < y 2k+1 . Isto por sua vez implica 1 + 2y 2k+3 <
1 + 2y 2k+1 , donde segue que y 2k+4 > y 2k+2 .
(c) Como (y 2k )k∈IN e (y 2k+1 )k∈IN são monótonas e limitadas, ambas convergem, digamos
1 1
y 2k → a e y 2k+1 → b. Vamos mostrar que a = b = . Note que y 2k+1 = e
2 1 + 2y 2k
1 1
y 2k+2 = 2k+1
. Logo, como (y 2k+2 ) é subsequência de (y 2k ), obtemos b = e
1 + 2y 1 + 2a
1
a= . Portanto, b + 2ab = 1 e a + 2ab = 1, donde segue que a = b. Para ver que
1 + 2b
184
Dicas ou Soluções dos Exercı́cios 185
1
este valor é , basta notar que a + 2a2 = 1 e a = lim y 2k ≥ 0.
2 k→∞
1.5. (a) Para todo k ∈ IN, temos
a0 ≤ a1 ≤ · · · ≤ ak ≤ b k ≤ · · · b 1 ≤ b 0 .
1
Portanto, (ak ) e (bk ) são convergentes. Como bk − ak = k (b0 − a0 ) → 0, temos que o
2
limite é o mesmo, digamos, ak → c e bk → c.
(b) Como ai ≤ xki ≤ bi , segue que lim xki = c.
i→∞
k+1 k+1
x 2 k! 2
1.8. Temos = = → 0, o que implica a convergência superlinear.
xk (k + 1)! 2k k+1
xk+1 2k+1 (k!)2 k (k − 1)!
Além disso, k 2 = k 2
= . Mas podemos verificar por indução
(x ) (k + 1)! (2 ) k + 1 2k−1
(k − 1)! k−1 xk+1
que > , para todo k ≥ 6. Portanto, k 2 → ∞.
2k−1 2 (x )
1.9. Usaremos indução em (a) e (b).
(a) Temos 1 ≤ x0 ≤ 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 x1 = 2 + 2 > 2 = x0 . Além disso, se xk+1 > xk , então 2 + xk+1 > 2 + xk ,
√ √
donde segue que xk+2 = 2 + xk+1 > 2 + xk = xk+1 .
(c) Por (a) e (b), (xk ) é convergente, digamos xk → x̄. Assim, xk+1 → x̄ e também
√ √ √
xk+1 = 2 + xk → 2 + x̄. Desta forma, temos x̄ = 2 + x̄, o que fornece x̄ = 2.
Finalmente, para ver que a convergência é linear, temos
√
|xk+1 − 2| 2 + xk − 2 1 1
= =√ → .
|xk − 2| x −2
k k
2+x +2 4
1.10. Note primeiro que Ax = 0 se, e somente se, x = 0. Assim, c = min {kAyk} > 0, o
kyk=1
que significa que kAxk ≥ ckxk, para todo x ∈ IRn . Portanto,
provando então que a convergência superlinear não é afetada por transformações injetivas.
No entanto, o mesmo não se pode afirmar para
! a convergência linear, ! conforme vemos ! no
1
−1 1 1 1 1
seguinte exemplo. Considere A = e defina x2k = k e x2k+1 = k 2 .
0 1 2 1 2 1
k
A sequência (x ) converge linearmente, pois
r r
kx2k+1 k 5 kx2k+2 k 2
= e = .
kx2k k 8 kx2k+1 k 5
√
kAx2k+1 k 5
No entanto, = .
kAx2k k 2
Dicas ou Soluções dos Exercı́cios 186
1.11. Suponha que X é fechado e considere (xk ) ⊂ X tal que xk → x̄. Caso x̄ ∈ FrX,
temos x̄ ∈ X. Por outro lado, se x̄ ∈ / FrX, então existe uma vizinhança de x̄ que não
possui nenhum ponto do complementar de X. Isto significa que esta vizinhança está
contida em X, provando a necessidade. Reciprocamente, suponha que dada (xk ) ⊂ X tal
que xk → x̄, temos x̄ ∈ X. Vamos provar que X ⊃ FrX. Dado x̄ ∈ FrX, temos que
existe (xk ) ⊂ X tal que xk → x̄. Logo, x̄ ∈ X.
1.12. Suponha que X é compacto e considere (xk ) ⊂ X. Como X é limitado, a sequência
(xk ) também é limitada. Pelo Teorema 1.8, existe uma subsequência convergente, digamos
IN0
xk → x̄. Usando o Exercı́cio 1.11, temos que x̄ ∈ X. Para provar a recı́proca, note que
a hipótese implica que X é fechado. Além disso, se X não fosse limitado, existiria uma
sequência (xk ) ⊂ X tal que kxk k > k, para todo k ∈ IN. Tal sequência não poderia ter
uma subsequência convergente, contradizendo a hipótese.
ε
1.13. Dado ε > 0, existe k ∈ IN tal que kz k − ak < . Além disso, como z k ∈ FrX,
2
ε ε
existem x ∈ X e y ∈ k
/ X, tais que kx − z k < e ky − z k k < . Portanto, kx − ak < ε e
2 2
ky − ak < ε.
!
A B
1.16. (=⇒) Seja Q = , onde A ∈ IRk×k . Se x ∈ IRk é não nulo, então
BT C
! !
A B x
T
x Ax = xT 0 = y T Qy > 0.
BT C 0
Portanto, A é definida positiva, o que implica que seus autovalores são positivos e assim
det(A) > 0.
(⇐=) Vamos provar por indução em n. Para n = 1 não há o!que provar. Suponha que
A b
a propriedade é válida para n − 1 e considere Q = T
, onde A ∈ IR(n−1)×(n−1) ,
b c
n−1
b ∈ IR e c ∈ IR. Assim, os determinantes principais de A são positivos. Pela hipótese
de indução, A é definida positiva. Dado y ∈ IRn , caso yn = 0, temos
! !
A b x
y T Qy = xT 0 = xT Ax > 0.
bT c 0
!
x
Caso yn 6= 0, podemos escrever y = yn . Deste modo temos
1
! !
A b x
y T Qy = yn2 xT 1 = yn2 xT Ax + 2bT x + c .
bT c 1
Para concluir a demonstração basta mostrar que f (x) = xT Ax + 2bT x + c > 0, o que será
feito provando que f (x) ≥ f (x∗ ) > 0, onde x∗ = −A−1 b. Note que A é de fato inversı́vel
Dicas ou Soluções dos Exercı́cios 187
Além disso,
f (x∗ ) = (x∗ )T Ax∗ + 2bT x∗ + c
= (x∗ )T (−b) + 2(x∗ )T b + c
= bT x∗ + c = c − bT A−1 b.
Finalmente, ! ! !
A b I 0 A b
Q= = T −1 T −1
.
bT c b A 1 0 c−b A b
Como (c − bT A−1 b) det(A) = det(Q) > 0 e det(A) > 0, temos f (x∗ ) = c − bT A−1 b > 0.
P
1.17. Temos xT Ax = y T Dy = ni=1 λi yi2 , onde y = P T x. Como P é inversı́vel, x 6= 0 se, e
somente se, y 6= 0. Suponha que A é definida positiva. Em particular, para x = P ej 6= 0,
temos 0 < xT Ax = λj . Reciprocamente, se todos os autovalores são positivos, então
P
xT Ax = ni=1 λi yi2 > 0, para todo x 6= 0.
1.19. 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 não 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.
x∗ = P z ∗ = P Dw∗ = AP w∗ ∈ Im(A)
e
Ax∗ + b = P (Dz ∗ + c) = 0.
1.23. Suponha, por absurdo, que para todo k ∈ IN, existe xk ∈ IRn com
1 k
kAxk k < kx k. (8.20)
k
xk IN0
Então, definindo y k = , temos y k → y, com kyk = 1. Portanto, usando (8.20),
kx k
k
IN0
obtemos Ay k → Ay = 0, contradizendo o fato das colunas de A serem linearmente
independentes.
Dicas ou Soluções dos Exercı́cios 189
det(I + xy T ) = 1 + y T x.
1.27. Considere x ∈ IRn arbitrário. Caso f (x) < 0, temos f < 0 em uma vizinhança de x
e portanto, f + = 0 e g = 0 nesta vizinhança, donde segue a relação desejada. Por outro
lado, se f (x) > 0, então f > 0 em uma vizinhança de x. Assim, g = f 2 nesta vizinhança,
o que nos permite concluir que
temos
g(x + tei ) − g(x) f (x + tei ) − f (x)
= f (x + tei )
t t
para t ∈ X+ e
g(x + tei ) − g(x)
=0
t
para t ∈ X− . De qualquer modo, o limite se anula, provando que
1.28. Temos
T 0 Xn
∂f
0
ϕ (t) = ∇f γ(t) γ (t) = γ(t) γi0 (t).
j=1
∂xi
Dicas ou Soluções dos Exercı́cios 190
X
n
∂f T 0 Xn
∂f
00 0
ϕ (t) = ∇ γ(t) γ (t)γi (t) + γ(t) γi00 (t),
j=1
∂xi j=1
∂xi
Capı́tulo 2
!
2ax1 (x21 − x2 ) + b(x1 − 1)
2.3. Temos ∇f (x) = 2 . Logo, o único ponto estacionário
a(x2 − x21 )
! !
2
1 6ax 1 − 2ax 2 + b −2ax 1
de f é x∗ = . Além disso, ∇2 f (x) = 2 e portanto,
1 −2ax1 a
!
4a + b −2a
∇2 f (x∗ ) = 2 > 0, o que significa que x∗ é minimizador local de f . A
−2a a
última parte do exercı́cio decorre de det ∇2 f (x) = 8a2 (x21 − x2 ) + 4ab.
2.4. Suponha por absurdo que x∗ não seja um minimizador global de f . Então 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 Alfândega, existe y ∈ [x∗ , x̂] ∩ FrA.
Vejamos que f (y) = f ∗ . De fato, existem sequências (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 ∗ . Além disso, y não é minimizador local, pois f (z k ) < f ∗ = f (y).
Outra solução (sem usar o Teor. da Alfândega). Defina g : [0, 1] → IR por g(t) = f x(t) ,
onde x(t) = (1 − t)x∗ + tx̂. Seja t∗ = sup {t ∈ [0, 1] | g(t) ≥ f ∗ }. Temos g(t∗ ) ≥ f ∗ . Além
disso, g(1) < f ∗ , o que implica t∗ < 1. Então existe uma sequência (sk ) ⊂ (t∗ , 1] com
sk → t∗ . Portanto g(sk ) < f ∗ e, por continuidade, g(t∗ ) ≤ f ∗ . Concluı́mos assim que
x∗ = x(t∗ ) satisfaz f (x∗ ) = f ∗ , mas não é minimizador local, pois f x(sk ) < f ∗ .
!
cos x1 sen x2 + 2x1 eu
2.5. Temos ∇f (x) = e
sen x1 cos x2 + 2x2 eu
!
−sen x1 sen x2 + 2eu (1 + 2x21 ) cos x1 cos x2 + 4x1 x2 eu
∇2 f (x) =
cos x1 cos x2 + 4x1 x2 eu −sen x1 sen x2 + 2eu (1 + 2x22 )
onde u = x21 + !x22 . O ponto x̄ é estacionário, pois ∇f (x̄) = 0. Além disso, temos
2 1
∇2 f (x̄) = definida positiva, garantindo que x̄ é minimizador local de f .
1 2
Dicas ou Soluções dos Exercı́cios 191
!
2(x1 + x2 ) + 3x21
2.6. Temos ∇f (x) = . Assim, ∇f (x) = 0 se, e somente se, x = 0.
2(x1 + x2 )
Além disso, temos!f (t, −t) = t3 , o que significa que x = 0 é um ponto de sela. Note que
2 2
∇2 f (0) = é semidefinida positiva, não permitindo concluir que o ponto é sela
2 2
usando o Teorema 2.16.
2(1 − u)
2.7. Temos ∇f (x) = x, onde u = x21 + x22 . Assim, o ponto x∗ = 0 é esta-
eu
cionário. Mais ainda, é minimizador global estrito, pois f (x∗ ) = 0 < f (x), para todo
x ∈ IR2 \ {0}. Os outros pontos estacionários são os pontos da circunferência C =
x ∈ IR2 | x21 + x22 = 1 . Tais pontos são maximizadores globais pois se x̃ ∈ C, então
1 u u
f (x̃) = ≥ u , para todo u ∈ IR (note que a função u 7→ u é crescente em (−∞, 1] e
e e e
decrescente em (1, ∞]). Veja a Figura 8.6.
! !
2x1 − x2 − 2 + eu 2 + eu −1 + eu
2.9. Temos ∇f (x) = e ∇2 f (x) = , onde
−x1 + 4x2 + 32 + eu −1 + eu 4 + eu
u = x1 + x2 .
(a) ∇f (x̄) = 0. Logo,!x̄ é um ponto estacionário de f .
3 0
(b) ∇2 f (x̄) = > 0. Logo, x̄ é minimizador local de f .
0 5
2.12. Temos que L 6= ∅, pois a ∈ L. Além disso, como f é contı́nua, L é fechado. Resta
ver que é limitado. Como lim f (x) = ∞, existe r > 0 tal que f (x) > f (a), sempre que
kxk→∞
kxk > r. Portanto, se x ∈ L, então kxk ≤ r, isto é, L ⊂ B[0, r].
2.14. Considere f : IRn → IR dada por f (x) = kAxk e S = {x ∈ IRn | kxk = 1}. Como f
é contı́nua e S é compacto, existe x∗ ∈ S tal que f (x∗ ) ≤ f (x), para todo x ∈ S. Como as
colunas de A são linearmente independentes, temos f (x∗ ) = kAx∗ k > 0. Assim, definindo
x
c = kAx∗ k, temos kAxk ≥ c, para todo x ∈ S. Dado x ∈ IRn \ {0}, temos ∈ S.
kxk
Portanto, kAxk ≥ ckxk.
Capı́tulo 3
3.1. Provaremos que se B(y, ε) ⊂ C, t ∈ (0, 1] e z = (1 − t)x + ty, então B(z, tε) ⊂ C.
Veja a Figura 8.8. Tome w ∈ B(z, tε). Sabemos que existe (xk ) ⊂ C tal que xk → x.
Definindo q k = 1t w − 1−t t
xk , temos w = (1 − t)xk + tq k e q k → 1t w − 1−tt
x. Além disso,
k 1t w − 1−t
t
x − yk = 1t kw − (1 − t)x − tyk < ε. Portanto, existe k̄ ∈ IN tal que kq k̄ − yk < ε,
o que implica q k̄ ∈ C. Consequentemente, w = (1 − t)xk̄ + tq k̄ ∈ C.
qk
xk w
x z y
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.9. Pela convexidade
de C, temos que z = (1 − t)x + ty ∈ C.
x z y
a c b
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
Portanto,
kx̄ − ȳk2 − (x̄ − ȳ)T (x − y) = (x̄ − ȳ)T (x̄ − x + y − ȳ) ≤ 0.
que
projL (a) = x̄ + projN (A) (a − x̄). (8.21)
Para calcular a projeção no núcleo, note que se z̄ = projN (A) (z), então o Exercı́cio 3.7 nos
garante que
z − z̄ ∈ N (A)⊥ = Im(AT ).
projL (a) = x̄ + a − x̄ − AT (AAT )−1 A(a − x̄) = a − AT (AAT )−1 (Aa + b).
3.11. A função f : IR → IR, dada por f (x) = x4 é convexa, pois f 00 (x) = 12x2 ≥ 0.
Portanto,
X
4
1 1
para todos t1 , . . . , t4 tais que tj ≥ 0 e tj = 1. Em particular, para t1 = , t2 = ,
j=1
2 3
1 1 x
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
! ! !
x u (1 − t)x + tu
(1 − t) +t = ∈ epi(f ),
y v (1 − t)y + tv
pois
(1 − t)y + tv ≥ (1 − t)f (x) + tf (u) ≥ f (1 − t)x + tu .
Reciprocamente,
! supondo! agora que epi(f ) é convexo, considere x, u ∈ C e t ∈ [0, 1].
x u
Como , ∈ epi(f ), temos que
f (x) f (u)
! ! !
(1 − t)x + tu x u
= (1 − t) +t ∈ epi(f ).
(1 − t)f (x) + tf (u) f (x) f (u)
Isto significa que f (1 − t)x + tu ≤ (1 − t)f (x) + tf (u).
! !
2x1 − x2 − 2 + eu 2 + e u
−1 + e u
3.15. Temos ∇f (x) = e ∇2 f (x) = , onde
−x1 + 4x2 + 32 + eu −1 + eu 4 + eu
u = x1 + x2 . Assim, ∇2 f (x) é definida positiva, para todo x ∈ IR2 , pois 2 + eu > 0 e
det ∇2 f (x) = 7 + 8eu > 0.
! !
−u2 2 u 2
−u x2
3.16. Temos ∇f (x) = e ∇2 f (x) = , onde u = . Tomando
2u x1 −u 1 x1
Dicas ou Soluções dos Exercı́cios 195
!
s
agora d = ∈ IR2 , temos
t
!
2 u2 −u 2 2 2 2
dT ∇2 f (x)d = dT d= (u s − 2ust + t2 ) = (us − t)2 ≥ 0.
x1 −u 1 x1 x1
1
f (tv) = t2 λv T v + tbT v.
2
Isto garante que f é convexa pelo Teorema 3.13. Além disso, como f 00 (x) = 2 > 0, a
convexidade de f também segue do Teorema 3.16. Agora vejamos a função f (x) = ex .
Temos que ed ≥ 1 + d, para todo d ∈ IR. Portanto, ex+d ≥ ex (1 + d). Assim,
provando que f é convexa pelo Teorema 3.13. Além disso, como f 00 (x) = ex > 0, o
Teorema 3.16 garante a convexidade de f .
Capı́tulo 4
4.2. Temos ∇f (x̄)T d = d1 . Caso d1 < 0, podemos aplicar o Teorema 4.2 para concluir o
(td2 )2
que se pede. Para d1 = 0 temos f (x̄ + td) = f (1, td2 ) = f (x̄) + . Portanto, a função
2
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
Dicas ou Soluções dos Exercı́cios 196
temos
t2 T
f (x + td) − f (x) = d Ad ≥ 0,
2
para todo t ∈ IR. Portanto, a função cresce ao longo de d.
(b) Considere ϕ(t) = f (x + td). Então,
T
ϕ0 (t) = ∇f (x + td)T d = A(x + td) + b d = ∇f (x)T d + tdT Ad.
A interpretação deste exercı́cio é que se fizermos uma busca exata, a partir de um vértice de
um elipsóide (curva de nı́vel de f ), na direção oposta ao gradiente, obtemos o minimizador
da quadrática em uma iteração.
4.5. Veja a demonstração do Teorema 2.16.
Capı́tulo 5
5.1. Defina, para cada j = 1, ..., n, ϕj (t) = f (x̄ + tdj ). Como t = 0 é minimizador de
ϕj , temos ∇f (x̄)T dj = ϕ0j (0) = 0. Mas d1 , ..., dn ∈ IRn são linearmente independentes,
implicando ∇f (x̄) = 0. Tal condição não garante!que f tem um ! mı́nimo local em x̄. De
1 2
fato, considere f (x) = x21 − x22 , x̄ = 0, d1 = e d2 = . Sabemos que x̄ é um
0 1
ponto de sela, mas ϕ1 (t) = f (x̄ + td1 ) = t2 e ϕ2 (t) = f (x̄ + td2 ) = 3t2 tem mı́nimo em
t = 0. Reveja o Exemplo 2.13.
5.2. Temos xk+1 → x̄, donde segue que tk ∇f (xk ) = xk − xk+1 → 0. Por outro lado, a
Dicas ou Soluções dos Exercı́cios 197
1 1 1
sequência é limitada, pois 0 < ≤ . Assim,
tk tk t̄
1
∇f (xk ) = tk ∇f (xk ) → 0.
tk
Assim,
Xk Xk X∞
k 1 1 1
g(x ) = g 1− j < j
ln 4 < ln 4 j
= ln 4
j=1
2 j=1
2 j=1
2
1 1 1
e, consequentemente, xk = > . Deste modo, x̄ = lim xk ≥ .
exp g(x )k 4 k→∞ 4
! !
2x1 − 4 2 0
5.4. Temos ∇f (x) = e ∇2 f (x) = . Portanto, o minimizador de f
8x2 − 8 0 8
! !
2 −4
é o ponto x∗ = . Como ∇f (0) = e, pelo Lema 5.1, ∇f (xk+1 )T ∇f (xk ) = 0,
1 −8
k
temos que qualquer vetor ∇f (x ) ou tem as duas componentes nulas ou as duas não
nulas. Vamos ver que a primeira opção nunca ocorre. Suponha por absurdo que exista
um ı́ndice k ∈ IN tal que ∇f (xk+1 ) = 0. Sem perda de generalidade, vamos supor que
este é o primeiro ı́ndice com tal propriedade. Assim, xk − tk ∇f (xk ) = xk+1 = x∗ , ou seja,
! !
xk1 − 2 2tk (xk1 − 2)
= .
xk2 − 1 8tk (xk2 − 1)
Dicas ou Soluções dos Exercı́cios 198
3 3
2 2
1 1
0 0
−1 −1
−1 0 1 2 3 4 5 −1 0 1 2 3 4 5
5.5. Note primeiro que v = x1 − x0 = −t∇f (x0 ), com t 6= 0. Além disso, como x1 é a
solução, temos Ax1 + b = 0. Assim,
1
Av = A(x1 − x0 ) = (Ax1 + b) − (Ax0 + b) = −∇f (x0 ) = v.
t
∇f (xk )T ∇f (xk )
xk+1 = xk − ∇f (xk ).
∇f (xk )T A∇f (xk )
∇h(y k )T ∇h(y k )
y k+1 = y k − ∇h(y k ).
∇h(y k )T A∇h(y k )
! !
x1 1 0
5.8. Temos ∇f (x) = 3
e ∇2 f (x) = .
x2 − x2 0 3x22 − 1
Dicas ou Soluções dos Exercı́cios 199
! ! !
0 0 0
(a) Os pontos estacionários de f são x̄ = , x∗ = e x̃ = . Além disso,
0 1 −1
∇2 f é indefinida em x̄, o que significa que este é um ponto de sela, e definida positiva em
x∗ e x̃, donde segue que estes dois são minimizadores locais. !
−1
(b) No ponto x0 , a direção de Cauchy é d0 = −∇f (x0 ) = . Desta forma, o novo
0
!
1 − t 0
ponto é x1 = x0 + t0 d0 = .
0
! !
a −a
(c) Note que se x = , então d = −∇f (x) = e
0 0
1
f (x + td) = (1 − t)2 a2 .
2
k+1 k 1 k k 1 k 2
1 k a
x = x − 0 k f (x ) = x − k (x ) − a = x + k .
f (x ) 2x 2 x
√ 0 1
1 5
Vamos agora calcular 5, partindo de x = 2. Temos x = 2+ = 2, 25,
2 2
1 5 1 5
x2 = 2, 25 + ≈ 2, 2361 e x3 = 2, 2361 + ≈ 2, 23606.
2 2, 25 2 2, 2361
5.10. Como f (−x) = f (x), f é uma função par. Assim, seu gráfico é simétrico em relação
ao eixo vertical. Portanto, para que ocorra a situação ilustrada, o ponto de Newton a
f (x)
partir de x deve ser −x, isto é, x − 0 = −x. Tal equação se reduz a 7x2 = 3. Então,
r r f (x)
3 3
se o ponto inicial for ou − , teremos a divergência do método de Newton ilustrada
7 7
na Figura 5.12.
! !
2x1 (x21 − x2 ) + x1 − 1 6x 2
1 − 2x 2 + 1 −2x 1
5.11. Temos ∇f (x) = e ∇2 f (x) = .
x2 − x21 −2x1 1
!
1
Assim, ∇f (x) = 0 se, e somente se, x1 = 1 e x2 = 1. Isto significa que x∗ = é o
1
!
5 −2
único ponto estacionário de f . Além disso, ∇2 f (x∗ ) = é definida positiva,
−2 1
donde segue que x∗ é minimizador local. O passo de Newton a partir de x0 é dado por
!−1 ! !
−1 21 −4 9 1 −1
d = − ∇2 f (x0 ) ∇f (x0 ) = − =
−4 1 −2 5 6
Dicas ou Soluções dos Exercı́cios 200
!
1 9 5 401
e o novo ponto é x1 = x0 + d = . Note que f (x0 ) = e f (x1 ) = , ou seja,
5 16 2 1250
o passo produziu um ponto mais longe da solução mas reduziu a função objetivo. Veja a
Figura 8.11.
x1
3
2 x0
1 x∗
−1
Portanto, xk+1 > x∗ , para todo k ≥ 0, pois f é crescente. Vejamos agora que a sequência
decresce para k ≥ 1. De fato, basta notar que
f (xk )
xk − xk+1 = > 0.
f 0 (xk )
f (x̄) f (xk )
= lim = lim (xk − xk+1 ) = 0.
f 0 (x̄) k→∞ f 0 (xk ) k→∞
inversı́vel. Assim,
γ + = −(S T AS)−1 S T ∇f (x̄).
x+ = x̄ + Sγ +
5.17. Temos
(d0 )T (d0 )T Ad0 · · · 0
. .. .. ..
SkT ASk =
.. A(d0 · · · dk ) =
. . . .
k T k T k
(d ) 0 · · · (d ) Ad
donde segue que xk+1 é obtido por uma busca exata a partir de xk , na direção dk .
5.19. Temos p = H+ q = Hq + auuT q + bvv t q, o que significa que
Uma possı́vel escolha é a(uT q)u = p e b(v t q)v = −Hq. Multiplicando por q T , obtemos
p p Hq Hq
u= T
=p e v= T
=p .
u q pT q v q q T Hq
Portanto,
ppT Hqq T H
H+ = H + auuT + bvv t = H + − .
pT q q T Hq
Supondo agora que o resultado é válido até k − 1, vamos provar que vale para k. Note
que
X
k−1 j j T
p (p ) X
k−1
Hj q j (q j )T Hj
Hk = I + − .
j=0
(pj )T q j j=0
(q j )T Hj q j
X
k−1
k k
Hk q = q − σj Hj q j ,
j=0
(q j )T Hj q k
onde σj = . Como q k = ∇f (xk+1 ) − ∇f (xk ), segue da hipótese de indução que
(q j )T Hj q j
Suponha agora que a inclusão é válida para k. Vamos provar que vale para k + 1. Temos
X
k
pj (pj )T X
k
Hj q j (q j )T Hj
Hk+1 = I + − .
j=0
(pj )T q j j=0
(q j )T Hj q j
X
k
k+1 k+1 k+1
d = −Hk+1 ∇f (x ) = −∇f (x )+ ξj Hj q j ,
j=0
(q j )T Hj ∇f (xk+1 )
onde ξj = . Pelo que provamos no Exercı́cio 5.20,
(q j )T Hj q j
Finalmente, pelo Teorema 5.33 (iii), temos que os vetores d0 , d1 , . . . , dk são A-conjugados
e consequentemente
dim [d0 , d1 , . . . , dk ] = k + 1,
xjD = xjG ,
para todo j = 1, . . . , k, onde x1D , . . . , xkD são os pontos obtidos pelo método DFP (com
H0 = I) e x1G , . . . , xkG são os pontos obtidos pelo algoritmo de gradientes conjugados (GC).
Novamente vamos usar indução 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 afirmação
é válida para k. Vamos provar que vale para k + 1. Para simplificar a notação vamos
escrever para j = 1, . . . , k,
xj = xjD = xjG .
Pelo Exercı́cio 5.21, as direções (conjugadas) geradas pelo método DFP satisfazem
em virtude do Teorema 5.22. Portanto, pelo Teorema 5.18, temos que xk+1
D e xk+1
G mini-
mizam f na variedade
x0 + [∇f (x0 ), ∇f (x1 ), . . . , ∇f (xk )].
xk+1
D = xk+1
G .
qq T
Q=B+
pT q
B −1 qq T B −1 Hqq T H
Q−1 = B −1 − = H − . (8.26)
pT q + q T B −1 q pT q + q T Hq
Hqq T qq T H qq T
Q−1 B = I − , BQ−1 = I − e BQ−1 B = B − . (8.27)
r r r
Bp
Considere agora u = − e v = Bp. Desta forma,
pT Bp
B+ = Q + uv T . (8.28)
(pT q)2
r(Q−1 BppT BQ−1 ) = rppT − pT q pq T H + HqpT + Hqq T H,
r
Dicas ou Soluções dos Exercı́cios 205
Portanto,
1 T
ared − pred = (dk )T Bk dk − ∇f (xk + θk dk ) − ∇f (xk ) dk ,
2
ared − pred
Notando que |ρk − 1| = e usando H2, obtemos o resultado.
pred
5.25. Suponha por absurdo que isto seja falso. Então existe ε > 0 tal que k∇f (xk )k ≥ ε,
para todo k ∈ IN. Pela continuidade uniforme de ∇f , existe δ > 0 tal que se kdk k ≤ δ,
então
c1 ε
sup k∇f (xk + tdk ) − ∇f (xk )k ≤ . (8.30)
t∈[0,1] 4γ
˜ ε δ c1 ε
Considere ∆ = min , , , onde c1 , γ e β são as constantes das Hipóteses H2, H3
β γ 2βγ 2
e H4, respectivamente. Se ∆k ≤ ∆, ˜ então
1 1
Assim, ρk ≥ > e pelo Algoritmo 5.7 temos ∆k+1 ≥ ∆k . Isto significa que o raio é
2 4
˜
˜ caso em que ∆k+1 = ∆k > ∆ . Podemos então concluir que
reduzido somente se ∆k > ∆,
2 2
( )
∆˜
∆k ≥ min ∆0 , , (8.32)
2
Dicas ou Soluções dos Exercı́cios 206
Em vista de (8.32), temos que existe uma constante δ̃ > 0 tal que
Capı́tulo 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 também pertence, pois P (S) é um cone. Por outro
lado, v ∈ S, donde segue que v T v ≤ 0 o que é uma contradição.
7.7. Pelo Lema 7.10, 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.34)
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.34) significa que o primeiro sistema no Lema 7.13 não tem solução.
Então o segundo sistema do lema é possı́vel, ou seja, c ∈ C.
7.8. Dado d ∈ C, temos d = By, para algum y ≥ 0. Caso posto(B) = m, temos
[
d∈ CJ , pois J = {1, . . . , m} ∈ J . Caso contrário, existe γ ∈ IRm \{0} tal que Bγ = 0.
J∈J
Assim, d = By = B(y +tγ), para todo t ∈ IR. Escolhendo t̄ tal que ȳ = y + t̄γ ≥ 0 e ȳj = 0
para algum j (veja os detalhes na demonstração do Lema 7.12), obtemos d = B ȳ = BJ ȳJ ,
Dicas ou Soluções dos Exercı́cios 207
1 k yk
d = B → Bu 6= 0. (8.35)
ky k k ky k k
Como (dk ) é convergente, temos que (y k ) é limitada (se não fosse, o limite em (8.35) seria
nulo) e, novamente s.p.g., vamos supor que y k → y. Assim, dk = By k → By, com y ≥ 0.
Portanto, d = By ∈ C. O caso em que posto(B) < m decorre imediatamente do que
fizemos acima e do Exercı́cio 7.8, tendo em vista que a união finita de fechados é um
conjunto fechado.
7.10. Considere (dk ) ⊂ T (x̄), com dk → d. Vamos mostrar que d ∈ T (x̄). Isto é imediato
se d = 0. Suponha então que d 6= 0 e que (s.p.g.) dk 6= 0, para todo k ∈ IN. Fixado
k ∈ IN, como dk ∈ T (x̄), existe sequência (xk,j )j∈IN ⊂ Ω tal que
j xk,j − x̄ j dk
xk,j → x̄ e q k,j = → k .
kxk,j − x̄k kd k
xk − x̄ k d
Portanto, = q → , donde segue que d ∈ T (x̄).
kxk − x̄k kdk
7.16. O problema proposto é equivalente a
Note primeiro que o problema tem uma solução (global), em virtude do Lema 3.5. Tal
minimizador deve satisfazer
! !
3 − x1 2x1 − 3
2 =λ
3 − x2 1
Dicas ou Soluções dos Exercı́cios 208
2.5
1.5
0.5
−0.5
−1
0 1 2 3
1
minimizar kx − ak2
2
sujeito a Ax + b = 0.
Este problema tem solução (global e única), em virtude do Lema 3.6. Tal minimizador
deve satisfazer
x∗ − a + AT λ∗ = 0
Ax∗ + b = 0,
∗
A existência
de x é garantida pois o conjunto viável deste problema é compacto. Como
1
x̃ = 1 cumpre as restrições acima, temos que f (x∗ ) ≤ f (x̃) = 3. Afirmamos que x∗
1
é solução global do problema original. De fato, seja x ∈ IR3 tal que x1 x2 x3 = 1. Caso
Dicas ou Soluções dos Exercı́cios 209
x21 + x22 + x23 ≤ 3, temos f (x∗ ) ≤ f (x). Por outro lado, se x21 + x22 + x23 > 3, então
f (x∗ ) ≤ 3 < x21 + x22 + x23 = f (x).
7.21. Vamos primeiro encontrar os pontos crı́ticos. Note que a equação
! !
x1 −2αx1
−2 =µ
x2 − 1 1
!
0
implica µ 6= 0, pois do contrário obterı́amos o ponto , que não é viável. Então,
1
a restrição é ativa, ou seja, x2 = αx21 . Caso x1 = 0, obtemos o ponto x̄ = 0, com
1 1 2α − 1
multiplicador µ = 2. Se x1 6= 0, então µ = , x2 = 1 − e x21 = . Para
α 2α 2α2
1
que existam outras soluções, devemos ter α > . Neste caso, os outros dois pontos
√ ! √2 !
1 4α − 2 1 − 4α − 2
crı́ticos são x∗ = e x̃ = . Vamos agora verificar se são
2α 2α − 1 2α 2α − 1
1
minimizadores. Caso α > , temos três pontos crı́ticos, x̄, x∗ e x̃. O ponto x̄ não é
2
nem minimizador nem maximizador local de f . De fato, para todo t > 0, suficientemente
pequeno, temos 1 + α2 t2 − 2α < 0. Portanto,
Além disso, f (t, 0) = t2 + 1 > 1 = f (x̄). Os pontos x∗ e x̃ são minimizadores globais pois
4α − 1 x2
f (x∗ ) = f (x̃) = 2
e dado x ∈ Ω, temos x21 ≥ . Assim,
4α α
2 2 2 1 4α − 1
f (x) = x1 + (x2 − 1) ≥ x2 + − 2 x2 + 1 ≥ .
α 4α2
1
Caso α ≤ , o único ponto crı́tico é x̄ = 0. Este ponto é minimizador global, pois dado
2
x ∈ Ω, temos x21 ≥ 2x2 . Assim, f (x) = x21 + (x2 − 1)2 ≥ x22 + 1 ≥ 1 = f (x̄). A Figura 8.13
ilustra este exercı́cio. Salientamos que os fatos de x∗ e x̃ serem minimizadores globais no
2.5 2.5
2 2
1.5 1.5
1 1
0.5 x∗ x̃ 0.5
Ω x̄ Ω
0 0
x̄
−0.5 −0.5
−1.5 −1 −0.5 0 0.5 1 1.5 −1.5 −1 −0.5 0 0.5 1 1.5
1 1
caso α > e de x̄ = 0 ser minimizador global no caso α ≤ poderiam ser obtidos com
2 2
o argumento usado no Exercı́cio 7.16, que utiliza o Lema 3.5. De!fato, o problema aqui é
0
equivalente a encontrar o(s) ponto(s) de Ω mais próximo de .
1
7.23. Este exercı́cio estabelece, via teoria de KKT, uma importante relação entre os
problemas primal e dual de programação linear.
(a) Dados x e y viáveis temos
bT y = (Ax)T y = xT AT y ≤ xT c = cT x.
(b) As condições de KKT para o problema primal podem ser escritas como
−c = −µ∗ − AT λ∗
µ∗ ≥ 0
(µ∗ )T x∗ = 0.
cT x∗ = (µ∗ + AT λ∗ )T x∗ = bT λ∗ .
(c) Para ver que λ∗ é solução do problema dual, note primeiro que AT λ∗ = c − µ∗ ≤ c, o
que significa que λ∗ é viável. Considere agora um ponto y viável para o dual. Usando o
que já foi provado, temos
bT y ≤ c T x ∗ = bT λ ∗ .
(d) Pelo que foi provado nos itens anteriores, o valor ótimo primal, cT x∗ coincide com o
valor ótimo dual, bT λ∗ .
7.24. Como o conjunto viável é compacto, existe um minimizador global x∗ . Suponha,
por absurdo, que kx∗ k < ∆. Então, 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
x∗ + A T λ ∗ = 0
Ax∗ + b = 0.
Bx + b + AT ξ = 0
Ax + c = 0.
Pelo que vimos no Exercı́cio 1.20, o sistema acima, que pode ser escrito como
! ! !
B AT x −b
= ,
A 0 ξ −c
tem uma única solução (x∗ , ξ ∗ ). Como as condições suficientes de segunda ordem são
satisfeitas para este problema, podemos concluir que a solução é um minimizador local.
Para ver que é global, note que dado x ∈ IRn , tal que Ax + c = 0, temos x − x∗ ∈ N (A).
Assim, x = x∗ + d, para algum d ∈ N (A). Além disso,
1 1
f (x) − f (x∗ ) = dT Bd + dT (Bx∗ + b) = dT Bd − dT (AT ξ ∗ ).
2 2
dT w
Portanto, µl ≤ T l , o que prova a limitação de µ. Para verificar que a componente λ
d v
também é limitada, considere as matrizes
A = (u1 u2 · · · um ) e B = (v 1 v 2 · · · v q ).
provando assim que a componente λ também é limitada. Para ver que o conjunto é
fechado, basta considerar ! !
λk λ
→
µk µ
e passar o limite na igualdade
Aλk + Bµk = w.
µk
Sem perda de generalidade, podemos supor que a sequência (γ k ) definida por γ k =
kµk k
é convergente para um vetor (unitário) γ. Como
q
X
µkj dT v j = dT w,
j=1
o que é uma contradição, uma vez que γ ≥ 0 é um vetor não nulo e dT v j < 0, para todo
j ∈ {1, . . . , q}. Finalmente, supondo agora que kλk k → ∞ e considerando a sequência
k k λk
(ξ ) definida por ξ = k , obtemos
kλ k
q
Xm
λki i X µkj j w
u + v = k .
i=1
kλ k
k
j=1
kλ k
k kλ k
X
m
ξi ui = 0,
i=1
Afirmamos que o vetor nulo não é minimizador deste problema. De fato, se fosse, terı́amos
satisfeitas as condições de KKT, uma vez que problemas lineares satisfazem MFCQ. Desta
forma, existiria µ ≥ 0 tal que
! q
! !
0 X vj
0
+ µj = .
1 j=1
−1 0
!
d
contradizendo a hipótese sobre os vetores. Portanto, existe ∈ IRn+1 , satisfazendo as
z
restrições do problema acima, tal que
!
d
z=ϕ < 0.
z
xk − x∗ d
∗
→ .
kx − x k
k kdk
∗
ci (xk ) k
∗ T x −x o(kxk − x∗ k) ∗ T d
= ∇c i (x ) + → ∇c i (x ) < 0.
kxk − x∗ k kxk − x∗ k kxk − 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∗ é 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. (8.36)
2
1
∇ci (x∗ )T y k + (y k )T ∇2 ci (x∗ )y k + o(ky k k2 ) = ci (xk ) − ci (x∗ ) = 0,
2
T 1 X
AE (x∗ )T λ∗ y k + (y k )T λ∗i ∇2 ci (x∗ )y k + o(ky k k2 ) = 0. (8.37)
2 i∈E
e
T 1 X
AI + (x∗ )T µ∗I + y k + (y k )T µ∗i ∇2 ci (x∗ )y k + o(ky k k2 ) = 0. (8.38)
2 +
i∈I
Somando (8.36) - (8.38) e notando que ∇f (x∗ ) + AE (x∗ )T λ∗ + AI + (x∗ )T µ∗I + = 0, obtemos
dT ∇2xx `(x∗ , λ∗ , µ∗ )d ≥ 0.
Capı́tulo 8
8.1. Temos
L(x̄) = x̄ + d ∈ IR2 | 4 + 4d1 − 2d2 = 0 = x ∈ IR2 | x2 = 2x1 − 3
e
2 21
L(x̃) = x ∈ IR | x2 = 2x1 − .
8
1.5
1
Ω
0.5
0
x̃
−0.5
−1 x̄
L(x̃) L(x̄)
−1.5
−2
−1 0 1 2 3
8.2. (a) Desprezando a constante, o subproblema quadrático (8.5) fica neste caso
!
1 −7
e d2 = 4d1 + 5, cuja solução é dk = . Assim, o novo ponto é dado por
9 17
!
1 11
xk+1 = xk + d k = .
9 8
(c) Na Figura 8.15 representamos o conjunto viável, o linearizado, a curva de nı́vel ótimo
da função objetivo (tracejada) e a do modelo quadrático do Lagrangiano (elipse). Também
vemos os pontos envolvidos.
2
1.5
1 x∗ xk+1
Ω
0.5
−0.5
−1 xk
k
L(x )
−1.5
−2
−1 0 1 2 3
Desta forma, se (xk , λk ) é um ponto KKT para o problema (8.1), então ∇x `(xk , λk ) = 0 e
c(xk ) = 0. Portanto, (d, ξ) = (0, 0) cumpre (8.40). Reciprocamente, se d = 0 é um ponto
estacionário para o subproblema (8.2), então existe ξ ∈ IRm tal que
Assim, ∇f (xk ) + A(xk )T (λk + ξ) = 0, isto é, xk é um ponto KKT para o problema (8.1).
8.5. Temos xk = λk , se k é par e xk = (λk )2 < λk , se k é ı́mpar. Além disso, λk+1 = (λk )2 ,
para todo k ≥ 1 e portanto,
xk+1
Por outro lado, temos = 1, se k é ı́mpar.
xk
Apêndice B
Roteiro para o Capı́tulo 6
2. Exemplo 6.1: Editar o arquivo rotina61.m com a função dada e suas derivadas,
renomeando como exquad.m
Avaliar a função, o gradiente e a Hessiana no ponto dado:
>> f=exquad([1;2],0)
>> g=exquad([1;2],1)
>> H=exquad([1;2],2)
217
Roteiro para o Capı́tulo 6 218
12. Exemplo 6.7: Método do gradiente com busca exata para o Exemplo 6.1
>> fun='exquad'
>> x0=[1;2]
>> eps1=1e-5, kmax=1000
>> grad aurea
13. Exemplo 6.8: Método do gradiente com busca de Armijo para o Exemplo 6.1
Abrir, discutir e rodar o arquivo grad armijo.m
>> fun='exquad'
>> x0=[1;2]
>> eps1=1e-5, kmax=1000
>> grad armijo
14. Exemplo 6.9: Método do gradiente com busca exata para a coleção MGH
Abrir e discutir os arquivos problemas mgh.m e resolve problemas.m
Rodar o arquivo resolve problemas.m
>> resolve problemas
15. Exemplo 6.10: Perfil de desempenho para o método do gradiente com busca de
Armijo para a coleção MGH
Abrir, discutir e rodar os arquivos roda metodos.m e perfil desempenho.m
>> roda metodos
>> perfil desempenho
Roteiro para o Capı́tulo 6 219
16. Exercı́cio 6.5: Método do gradiente com busca exata e de Armijo para a função
Freudenstein e Roth
>> global FUNC mm
>> fun='mgh'
>> FUNC='froth', mm=2
>> x0=[0.5;-1], eps1=1e-3, kmax=1000
>> grad aurea
>> grad armijo
Referências Bibliográficas
[11] R. Fletcher, S. Leyffer, and Ph. L. Toint. On the global convergence of a filter-SQP
algorithm. SIAM J. Optimization, 13(1):44–59, 2002.
220
Referências Bibliográficas 221
[14] C. C. Gonzaga. Um curso de programação não 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):646–669, 2003.
[16] F. J. Gould and J. W. Tolle. A necessary and sufficient qualification for constrained
optimization. SIAM Journal on Applied Mathematics, 20:164–172, 1971.
[17] N. I. M. Gould, D. Orban, and Ph. L. Toint. CUTEr, a constrained and uncon-
strained testing environment, revisited. ACM Transactions on Mathematical Soft-
ware, 29(4):373–394, 2003.
[19] J-B. Hiriart-Urruty and C. Lemarechal. Convex Analysis and Minimization Algo-
rithms 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. Álgebra Linear com Aplicações. Bookman, Porto Alegre,
8nd edition, 2001.
[27] S. J. Leon. Álgebra Linear com Aplicações. LTC, Rio de Janeiro, 1999.
Referências Bibliográficas 222
[28] E. L. Lima. Curso de Análise, volume 1. IMPA, Rio de Janeiro, Brasil, 1981.
[29] E. L. Lima. Curso de Análise, volume 2. IMPA, Rio de Janeiro, Brasil, 1981.
[42] E. Polak and G. Ribière. Note sur la convergence de méthodes de directions con-
juguées. Revue Française d’Informatique et de Recherche Opérationnelle, 16:35–43,
1969.
[45] T. Steihaug. The conjugate gradient method and trust regions in large scale opti-
mization. SIAM Journal on Numerical Analysis, 20:626–637, 1983.