Anda di halaman 1dari 125

OTIMIZAO PRTICA USANDO

O LAGRANGIANO AUMENTADO

Jos Mario Martnez

Departamento de Matemtica Aplicada

IMECC-UNICAMP

22 de novembro de 2006. Atualizado: 11 de julho de 2007;

12 de agosto de 2008, 21 de outubro de 2008, 31 de maro

de 2009, 14 de abril de 2009, 3 de agosto de 2009.

i
ii
Prefacio

Estas notas se destinam a fornecer os fundamentos tericos de ALGENCAN, o


mtodo de Lagrangiano Aumentado do Projeto TANGO. (Veja
www.ime.usp.br/egbirgin/tango
ou
www.ime.unicamp.br/martinez/software.)
Ao mesmo tempo, procuram colocar na mesma perspectiva as Condies de
Otimalidade de Programao No-Linear e os critrios de parada usados em algo-
ritmos prticos.
A pergunta subjacente em cada captulo destas notas : De acordo com a
Teoria, o qu acontece na Prtica?
A Teoria totalmente desenvolvida no mundo do contnuo, essencialmente IRn ,
enquanto a Prtica o faz no universo paralelo dos nmeros representveis em ponto
utuante. Portanto, h fennenos da Prtica que a Teoria no pode prever. Nosso
ponto de vista explorar ao mximo a explicao dos comportamentos prticos
que sim podem ser explicados pela Teoria. Consequentemente, consideramos que
a Teoria relevante a que contribui a explicar fenmenos prticos. Diante de cada
resultado terico nos perguntaremos: De acordo com isto, qu deve acontecer com
programas computacionais que implementam este algoritmo? Se a resposta for
pouco signicativa, o resultado terico ser irrelevante ou incompleto.
Na anlise do Mtodo de Lagrangiano Aumentado seguimos, implicitamente, o
seguinte Protocolo, o qual pode ser aplicado anlise terica de qualquer algoritmo
de Programao No Linear:
(a) Estudar em qu condies o algoritmo encontra minimizadores globais. Al-
guns algoritmos, como o de Lagrangiano Aumentado, convergem a minimizadores
globais se se supe que minimizadores globais de problemas mais simples podem
ser encontrados. Acreditamos que sta uma virtude terica com implicaes
prticas.
(b) Estudar as propriedades de convergncia do algoritmo do ponto de vista
da admissibilidade. A pergunta se o mtodo converge a pontos que satisfazem
as restries do problema. Deve haver uma resposta mesmo que o problema no
possua pontos viveis, por exemplo, o algoritmo pode converger a pontos estacio-

iii
iv Prefacio

nrios de uma medida de inviabilidade. Se se supe limitao da seqncia gerada


pelo algoritmo, deve haver condies sucientes razoveis relativas ao problema
que garantam que a limitao da seqncia acontece.
(c) Provar que se um ponto limite vivel satisfaz uma condio de qualicao,
as condies KKT so satisfeitas nesse ponto. A condio de qualicao deve
ser to fraca quanto possvel. Devem ser identicadas condies satisfeitas pela
seqncia gerada pelo algoritmo que possam ser usadas como critrio de parada.
(d) Provar que se o algoritmo converge a um ponto estacionrio com condi-
es adicionais to fracas quanto possvel, boas propriedades de estabilidade ou
velocidade so satisfeitas.
O problema de Programao No-Linear a que nos referimos neste texto o
de minimizar uma funo contnua com restries de igualdade e desigualdade,
contnuas. Em nenhum momento faremos suposies de convexidade. O Mtodo
de Lagrangiano Aumentado possui uma teoria extremamente rica quando aplicado
a problemas convexos (ver, por exemplo, o survey de Iusem [18]) mas ela no ser
considerada aqui.
O Mtodo de Lagrangiano Aumentado no um mtodo de moda na pesquisa
corrente (ano 2006) de Programao No-Linear. Entretanto, as modas passam,
e este mtodo possui um conjunto de caractersticas difceis de emular por outros
algoritmos de PNL:

1. Alto grau de modularidade: a ecincia do mtodo depende em grande me-


dida da ecincia de algoritmos para minimizar em caixas. O problema de
minimizar em caixas relativamente simples e os progressos nesta rea so
permanentes. Tais progressos se reetem rapidamente quando incorporados
metodologia de Lagrangiano Aumentado.

2. Uma conseqncia do tem anterior que merece destaque se refere aos proble-
mas de grande porte, onde o nmero de variveis ou o nmero de restries
muito grande. Neste caso, a diculdade se translada totalmente ao subpro-
blema de minimizar com restries simples. Para este subproblema usual
que bons algoritmos para lidar com o grande porte possam ser denidos.

3. O mtodo pode ser usado quando as restries so naturalmente divididas


em dois grupos: fceis e difceis. Neste caso, as restries fceis permanecem
em um nvel inferior e a tcnica de Lagrangiano Aumentado se aplica s res-
tries difceis. Os subproblemas podem ser resolvidos por qualquer mtodo
sabidamente eciente com esse tipo de restries simples. O caso de caixas
nada mais que um caso particular de restrio simples.

4. O mtodo de Lagrangiano Aumentado pode ser usado sem derivadas com


preservao de teoria rigorosa de convergncia.
Prefacio v

5. A convergncia a minimizadores globais depende apenas de que essa propri-


edade esteja presente para os subproblemas simples.

6. Caractersticas que dicultam a aplicao de outros mtodos (como o excesso


de restries com a consequente diminuio de graus de liberdade) no afetam
o mtodo de Lagrangiano Aumentado.

7. O mtodo pode ser usado com plena teoria de convergncia para alguns pro-
blemas no diferenciveis de importncia prtica, como o de Otimizao do
Menor Valor Ordenado.

Evidentemente, a reputao de um mtodo de Optimizao est ligada quali-


dade dos programas que o implementam. Por esse motivo, nosso software Algencan,
do projeto TANGO, objeto de atualizao permanente, muitas vezes orientada
pelas inquietudes e diculdades dos usurios. Muitos problemas prticos de Pro-
gramao No-Linear no so fceis e sua abordagem ingnua costuma redundar
em fracasso. Entretanto, muitas vezes o sucesso vem de pequenas manipulaes
que, para o usurio experimentado, acabam sendo familiares.
As notas esto em elaborao, e sua atualizao depende de sucessivos semin-
rios realizados em Campinas, Baha Blanca, Novi Sad, Foz de Iguau. Provisori-
amente, devo registrar meus agradecimentos a Viviana Ramrez, Gabriel Haeser,
Shetty, Laura Schuverdt, Lucas Pedroso, Juliano Francisco, Ernesto Birgin, Ro-
berto Andreani, Sergio Ventura, Sandra Santos, Rodrigo Lima, Kleysson Andre-
otti, Marcia A. Gomes-Ruggiero, Ana Friedlander, Leandro Prudente, Jair Silva,
Margarida Pinheiro Mello, Wesley Wakabayashi, Luiz Antonio Medeiros.
vi Prefacio
Sumario

1 Introduo 1
2 Mtodo de Penalidade Externa 3
2.1 Penalidade Externa Pura . . . . . . . . . . . . . . . . . . . . . 3
2.2 Penalidade Externa com Controle de Admissibilidade . . . . . . 7

3 Mtodo de Penalidade Deslocada 11


3.1 Penalidade Deslocada com Controle de Admissibilidade . . . . 16
3.2 Clculo dos Deslocamentos . . . . . . . . . . . . . . . . . . . . 19

4 Condies de Otimalidade e Critrios de Parada 23


4.1 Condies de Qualicao . . . . . . . . . . . . . . . . . . . . . 26
4.2 CPLD uma Condio de Qualicao . . . . . . . . . . . . . 27
4.3 Critrios de Parada . . . . . . . . . . . . . . . . . . . . . . . . 32

5 Subproblemas Irrestritos 37
5.1 Algoritmo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 Boa Denio e Convergncia Global . . . . . . . . . . . . . . . 40
5.3 Convergncia Local . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4 Clculo das Direes de Busca . . . . . . . . . . . . . . . . . . 50
5.4.1 Newton-Truncado . . . . . . . . . . . . . . . . . . . 51
5.4.2 Quase-Newton e Precondicionadores . . . . . . . . 52

6 Subproblemas com Restries Simples 57


6.1 Princpio Forte das Restries Ativas . . . . . . . . . . . . . . . 58
6.2 Princpio Prtico de Restries Ativas . . . . . . . . . . . . . . 59
6.2.1 Esquema bsico de Gencan . . . . . . . . . . . . . . 60

7 Convergncia Global 69
7.1 Convergncia a pontos admissveis . . . . . . . . . . . . . . . . 71
7.2 Convergncia a pontos KKT . . . . . . . . . . . . . . . . . . . 75

vii
viii Sumario

8 Limitao do Parmetro de Penalidade 81


8.1 Restries de Igualdade . . . . . . . . . . . . . . . . . . . . . . 81
8.1.1 Hipteses . . . . . . . . . . . . . . . . . . . . . . . 83
8.1.2 Teorema principal . . . . . . . . . . . . . . . . . . . 84
8.2 Restries de Desigualdade . . . . . . . . . . . . . . . . . . . . 88
8.2.1 Hipteses . . . . . . . . . . . . . . . . . . . . . . . 88
8.2.2 Teorema de limitao . . . . . . . . . . . . . . . . . 89

9 Implementao e Uso de ALGENCAN 93


9.1 Algoritmo para o Subproblema . . . . . . . . . . . . . . . . . . 93
9.2 Parmetro de Penalidade Inicial . . . . . . . . . . . . . . . . . 94
9.3 Critrios de Parada . . . . . . . . . . . . . . . . . . . . . . . . 95
9.3.1 Parada nos subproblemas . . . . . . . . . . . . . . 95
9.3.2 Decises emergenciais . . . . . . . . . . . . . . . . 97
9.3.3 Parada nal . . . . . . . . . . . . . . . . . . . . . . 99
9.4 Usando Algencan . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.4.1 Subrotina Inip . . . . . . . . . . . . . . . . . . . . 102
9.4.2 Subrotinas evalf e evalg . . . . . . . . . . . . . . 104
9.4.3 Subrotinas evalc e evaljac . . . . . . . . . . . . 105
9.4.4 Programa Principal, subrotina param e subrotina endp108
9.4.5 Resultado de Algencan . . . . . . . . . . . . . . . . 112

Referncias Bibliogrcas 115


Captulo 1
Introducao

O problema de Programao No-Linear (PNL) consiste em

Minimizar f (x)

sujeita ahi (x) = 0, i = 1, . . . , m, gi (x) 0, i = 1, . . . , p, x , onde um


n n
subconjunto de IR , geralmente simples. Muitas vezes o prprio IR e, freqen-
temente, um paraleleppedo n-dimensional (ou caixa). As funes f , hi , gi so
contnuas e, em geral, derivveis.
Este problema tem muitas aplicaes prticas e existem muitos mtodos para
resolv-lo. O Mtodo de Lagrangiano Aumentado uma verso moderna de uma
das idias mais antigas sobre como lidar com ele. Tal idia consiste em eliminar
as restries hi (x) = 0 e gi (x) 0, inclundo estas restries na funo objetivo
de maneira que o problema assim transformado tenha solues iguais ou parecidas
s do problema original. Dado um parmetro de penalidade > 0, a funo que
denominamos Lagrangiano Aumentado se dene assim:

 m  p 
X i 2 X i 2
   
L (x, , ) = f (x) + hi (x) + + max 0, gi (x) + .
2 i=1 i=1

Os parmetros i IR e i 0 se chamam multiplicadores. Aqui denimos


L com um nico parmetro de penalidade , embora, s vezes, prera-se denir
um penalizador diferente i para cada restrio. Quando se inicia a execuo do
Mtodo de Lagrangiano Aumentado, os multiplicadores iniciais e o penalizador so
dados, de maneira que os passos fundamentais do mtodo so:

1. Minimizar L (x, , ) sujeita a x .

2. Decidir se o ponto obtido no primeiro passo pode ser aceito como soluo do
problema original. Em caso armativo, parar a execuo do algoritmo.

1
2 Captulo 1. Introducao

3. De acordo com os resultados dos passos anteriores, atualizar os multiplica-


dores e o parmetro de penalidade.

4. Voltar ao primeiro passo.

fcil perceber que, pelo menos no caso em que os multiplicadores so nulos,


a estratgia muito sensata.
Os mtodos de Lagrangiano Aumentado seguem, quase sempre, o esquema
acima. Devem ser diferenciados de outros mtodos para PNL que usam o Lagran-
giano Aumentado como funo de mrito auxiliar.
As denies bsicas usadas ao longo deste texto sero as de minimizador global
e local.

Diremos que x minimizador global de f (x) sujeita a x D quando x D

e f (x) f (x ) para todo x D .

O ponto x D ser minimizador local desse problema quando existe > 0 tal

que f (x) f (x ) sempre que x D e a distncia entre x e x menor que .
Notaes:
kk ser sempre a norma Euclidiana. Muitas vezes poder ser substituda por
uma norma arbitrria.
As componentes de um vetor sero denotadas com subndices.
n
Se v IR , denotaremos v+ o vetor cujas componentes so max{0, v1 }, . . . , max{0, vn }.
IR o conjunto dos nmeros reais, IN o conjunto dos naturais, comeando
com 0.
K IN indica que K um subconjunto innito de IN , preservando a ordem.

Rigorosamente falando, K uma seqncia estritamente crescente de nmeros
naturais. Analogamente, K1 K , etc.

Captulo 2
Metodo de Penalidade
Externa

Neste captulo consideramos a verso mais bsica do chamado Mtodo de Penali-


dade Externa. Apesar desta estratgia raramente poder ser usada na prtica, suas
caractersticas tericas iluminam algoritmos mais sosticados, inclusive o Mtodo
de Lagrangiano Aumentado, nosso objeto de estudo. Veremos tambm que as pro-
priedades do Mtodo de Penalidade Externa fornecem provas simples de resultados
bastante fortes de otimalidade.

Seja IRn um conjunto fechado. Sejam f : IR, h : IRm , g :


p
IR .
Escreveremos h = (h1 , . . . , hm )T , g = (g1 , . . . , gp )T e suporemos que as funes
f, h, g so contnuas em .
Denimos o problema PNL da seguinte maneira:

Minimizar f (x)
sujeita a h(x) = 0, g(x) 0, x .
O problema PNL o problema central encarado neste livro.

2.1 Penalidade Externa Pura


O Mtodo de Penalidade Externa est denido pelo Algoritmo 2.1.

Algoritmo 2.1
Seja {k } uma seqncia de nmeros positivos tal que

lim k = .
k

Para todo k IN , o iterando xk uma soluo global do subproblema


k
Minimizar f (x) + [kh(x)k2 + kg(x)+ k2 ] sujeita a x . (2.1)
2

3
4 Captulo 2. Metodo de Penalidade Externa

Observe que, na descrio do Mtodo de Penalidade Externa dada no Algo-


ritmo 2.1, no existe um critrio de parada. Isto signica que, teoricamente,
k
a seqncia {x } tem innitos termos, onde no se exclui que muitos deles se-
jam iguais. Implementaes prticas, por outro lado, devem estar equipadas com
critrios de parada, como veremos em captulos posteriores.
No Mtodo de Penalidade Externa substitumos o problema original por uma
seqncia de problemas nos quais o conjunto de restries foi reduzido a

x .

Em implementaes prticas, o conjunto ser, geralmente, simples, de ma-


neira que cada subproblema denido pelo Mtodo de Penalidade Externa seja mais
fcil que o problema original PNL. Entretanto, do ponto de vista terico, no h
restries sobre a complexidade de .
k+1
Observamos que, formalmente, o iterando x do mtodo no est conectado
k
em absoluto com o iterando x . Na prtica, entretanto, esta conexo sempre
k
existir, pois x o ponto inicial natural para resolver o subproblema de maneira
iterativa.
A exigncia de obteno de um minimizador global do subproblema um
enorme empecilho para a implementao deste mtodo. Na prtica, salvo casos
muito especcos, isto muito difcil. Mesmo do ponto de vista terico, a exis-
tncia de uma soluo global do subproblema somente garantida supondo, por
k
exemplo, a compacidade do conjunto simples . Quando x existe para todo k IN
dizemos que o mtodo est bem denido.
A idia da penalidade externa substitur a funo objetivo original f por uma
funo onde se castiga a no-admissibilidade de x. Quanto menos admissvel for o
ponto x com respeito s restries h(x) = 0 e g(x) 0, mais castigado ele ser,
mediante um aumento da funo objetivo do subproblema. A penalidade maior
quanto maior for k . Podemos interpretar que, quando k muito grande, a funo
objetivo do subproblema coincide com f (x) se x admissvel e se aproxima de
innito sex no admissvel. A diculdade dos subproblemas aumenta junto com
o valor dek . Apesar de que, em casos simples, comear com valores enormes de
k d bons resultados, em situaes mais complexas valores extremos de k fazem
com que o termo f (x) no subproblema seja cancelado pelo termo de penalidade,
pelo menos quando se trabalha com aproximaes no computador.
Independentemente disso, o que nos interessa neste captulo so as propriedades
tericas do mtodo tal como denido acima. Existem duas perguntas bsicas que,
de fato, so comuns a todos os algoritmos de otimizao com restries:

O mtodo encontra (converge a) pontos admissveis?

O mtodo encontra (converge a) pontos timos?


2.1. Penalidade Externa Pura 5

A primeira resposta no pode ser sempre positiva porque, s vezes, o problema


original no tem pontos admissveis. Logo, nosso interesse seria que o mtodo
encontrasse pontos admissveis quando estes existem e que, em caso contrrio, en-
contrasse algo que nos sirva para garantir a no-existncia de tais pontos. Os
teoremas 2.1 e 2.2 mostram que, felizmente, isso o que acontece com o Mtodo
de Penalidade Externa.

Nos Teoremas 2.12.5 suporemos que a seqncia {xk } est bem denida pelo
Algoritmo 2.1.

Teorema 2.1. Suponhamos que a seqncia {xk } admite um ponto limite x .


Ento, x uma soluo global do problema

Minimizar kh(x)k2 + kg(x)+ k2 sujeita a x . (2.2)

Prova. Seja K IN

tal que

lim xk = x .
kK

Como xk x para k K , xk para todo k, e fechado , temos que



x .
Suponhamos que x no seja um minimizador global de (2.2). Isto implica que
existe z tal que

kh(x )k2 + kg(x )+ k2 > kh(z)k2 + kg(z)+ k2 .

Como heg so contnuas, existe c > 0 tal que, para k K sucientemente grande,

kh(xk )k2 + kg(xk )+ k2 > kh(z)k2 + kg(z)+ k2 + c.

Portanto, para esses ndices k,


k k k c
f (xk )+ [kh(xk )k2 +kg(xk )+ k2 ] > f (z)+ [kh(z)k2 +kg(z)+ k2 ]+ +f (xk )f (z).
2 2 2
Agora, como {xk }kK um conjunto limitado, f contnua e k , temos que,
para kK sucientemente grande,

k c
+ f (xk ) f (z) > 0.
2
Logo,

k k
f (xk ) + [kh(xk )k2 + kg(xk )+ k2 ] > f (z) + [kh(z)k2 + kg(z)+ k2 ],
2 2
6 Captulo 2. Metodo de Penalidade Externa

o que contradiz o fato de que xk


uma soluo global do subproblema denido por
k . Esta contradio decorre de supor que x no era um minimizador global de
(2.2). QED
Teorema 2.2. Suponhamos que a regio admissvel do problema PNL no-vazia.
Suponhamos, alm disso, que a seqncia {xk } admite um ponto limite x . Ento,
x admissvel.

Prova. Pelo Teorema 2.1, x minimizador global de (2.2). Mas, como existe
pelo menos um ponto admissvel z, neste ponto a funo objetivo de (2.2) vale
zero. Portanto, essa funo tambm deve se anular em x , o que implica que x
admissvel. QED
Pelo Teorema 2.2, se existem pontos admissveis e a seqncia gerada pelo
algoritmo limitada, um dos pontos admissveis ser fatalmente encontrado pelo
algoritmo. Por outro lado, o Teorema 2.1 garante que, se a regio admissvel for
vazia, um ponto que minimiza a soma de quadrados das inadmissibilidades (ou
seja, o menos inadmissvel) ser achado .
No Teorema 2.4 veremos que, quando a regio admissvel no-vazia, o Algo-
ritmo 2.1 encontra um minimizador global do problema PNL. Este resultado ser
conseqncia de uma propriedade mais forte, dada no Teorema 2.3. Nele veremos
que os pontos limite do Mtodo de Penalidade Externa minimizam f (x) no con-
junto dos pontos menos inadmissveis.

Teorema 2.3. Seja z um minimizador global de (2.2). Suponhamos que a


seqncia {xk } admite um ponto limite x . Ento x tambm um minimizador
global de (2.2) e, alm disso, f (x ) f (z).

Prova. O fato de que x minimizador global de (2.2) foi provado no Teorema 2.1.
k
Seja K IN tal que limkK x = x .

Pela denio de xk , temos que:

k k
f (xk ) + [kh(xk )k2 + kg(xk )+ k2 ] f (z) + [kh(z)k2 + kg(z)+ k2 ],
2 2
para todo k K.
Mas, como z um minimizador global de (2.2),

k k
[kh(xk )k2 + kg(xk )+ k2 ] [kh(z)k2 + kg(z)+ k2 ].
2 2
Portanto,
f (xk ) f (z) k K.
2.2. Penalidade Externa com Controle de Admissibilidade 7

Tomando limites nesta desigualdade, pela continuidade de f e o fato de que xk x



para k K , obtemos que f (x ) f (z). QED
Teorema 2.4. Suponhamos que a regio admissvel do problema PNL no-vazia
e a seqncia {xk } admite um ponto limite x . Ento, x um minimizador global
de PNL.

Prova. Pelo Teorema 2.3, x admissvel e f (x ) f (z) para qualquer outro ponto
admissvel z . Portanto, x minimizador global de PNL. QED
Usualmente, os iterandos xk
do Mtodo de Penalidade Externa no so pontos
k k
admissveis. Ou seja, alguma restrio do tipo gi (x ) 0 ou hi (x ) = 0 quase
sempre violada. Quando isto no assim, ou seja, quando todas as restries so
k k
satisfeitas em um iterando x , algo bastante surpreendente acontece: x deve ser
soluo do problema PNL. Provamos esta propriedade no Teorema 2.5.

Teorema 2.5. Suponhamos que existe k IN tal que xk admissvel. Ento, xk


minimizador global de PNL.

Prova. Seja z um ponto admissvel. Pela denio de xk temos:

k k
f (xk ) + [kh(xk )k2 + kg(xk )+ k2 ] f (z) + [kh(z)k2 + kg(z)+ k2 ].
2 2
Mas, como xk e z so admissveis,

kh(xk )k2 + kg(xk )+ k2 = kh(z)k2 + kg(z)+ k2 = 0.

Portanto:
f (xk ) f (z).
Como z um ponto admissvel arbitrrio, deduzimos que xk um minimizador
global de PNL. QED

2.2 Penalidade Externa com Controle de Admissibilidade


Dado que trabalhar com parmetros de penalidade muito grandes , via de regra,
inconveniente, procuraremos aumentar o parmetro de penalidade s se for estri-
tamente necessrio. Julgaremos que aumentar k desnecessrio se a medida de
k
inadmissibilidade de x sucientemente menor que a medida de inadmissibilidade
k1
de x .
8 Captulo 2. Metodo de Penalidade Externa

Algoritmo 2.2.
Seja x0 um ponto inicial arbitrrio, 1 > 0 um parmetro inicial de pena-
lidade, [0, 1) e > 1. Inicializar o contador k 1.

Passo 1. Encontrar xk soluo global do subproblema (2.1).

Passo 2. Se

max{kh(xk )k , kg(xk )+ k } max{kh(xk1 )k , kg(xk1 )+ k },

denir k+1 = k . Em caso contrrio, denir k+1 = k .

Passo 3. Atualizar k k+1 e voltar ao Passo 1.

No teste do Passo 2 no obrigatrio usar k k , embora esta norma seja a


mais freqente nas aplicaes prticas.
O leitor ctico pode argumentar que no h nenhuma diferena essencial entre o
Algoritmo 2.2 e o Algoritmo 2.1. De fato, se em determinada iterao o parmetro
de penalidade no aumentado, o subproblema na iterao seguinte ser o mesmo
e, portanto, o mesmo ponto pode ser escolhido como soluo. No novo teste, a
k
menos que x seja admissvel (e, portanto, timo) a reduo da inadmissibilidade
k k1
no poder ocorrer (pois x = x ) e, em conseqncia, o parmetro de penalidade
ser aumentado. Assim, a seqncia k tender a innito e estaremos inteiramente
sob as hipteses do Algoritmo 2.1.
Entretanto, de acordo com o Algoritmo 2.2, se o teste de melhora de admissi-
bilidade for bem sucedido, o ponto x
k+1
mas pode no precisa
ser escolhido igual a
k
x . Ou seja, o subproblema (2.1) embora sendo o mesmo nas duas iteraes, pode
ter mais de uma soluo global e nada impede que na iterao k+1 seja escolhida
uma soluo diferente daquela escolhida na iterao k. Consideremos o exemplo
em uma varivel denido por:

f (x) = x2 , m = 1, p = 0, h1 (x) = x, = IR.

Comeando com 1 = 2 e x0 = 100, a funo objetivo do subproblema nula. Logo


1
podemos escolher o minimizador global x = 10. O teste de melhora de admissi-
bilidade d resultado positivo e, portanto, 2 = 1 = 2. Como a funo objetivo
do subproblema continua sendo a funo nula, podemos escolher agora a soluo
xk = 1 quando k = 2. De novo, o teste positivo e assim por diante. Neste caso,
a seqncia gerada pelo Algoritmo 2.2 poderia ser {100, 10, 1, 0.1, 0.01, 0.001, . . .}
e o parmetro de penalidade no aumentaria nunca.
Claro que no a existncia de exemplos mais ou menos bizarros o que nos
motiva a introduzir este algoritmo. Sua presena aqui se justica, como veremos,
2.2. Penalidade Externa com Controle de Admissibilidade 9

em funo da futura denio de outros mtodos onde o teste de admissibilidade


desempenha um papel mais importante.
Se, no Algoritmo 2.2, o parmetro de penalidade precisa ser aumentado innitas
vezes, o algoritmo se reduz ao Algoritmo 2.1. Portanto, suas propriedades, dadas
pelos Teoremas 2.12.5, so as mesmas. Logo, a nica anlise adicional que merece
o novo algoritmo corresponde ao caso em que, a partir de certo k0 , o parmetro
de penalidade no aumenta mais. O Teorema 2.6 explica o que acontece nesse caso.

Teorema 2.6. Suponhamos que a seqncia {xk } est bem denida pelo Algo-
ritmo 2.2 e que, para todo k k0 , temos que k = k0 . Suponhamos que x um
ponto limite da seqncia. Ento, x um minimizador global de PNL.

Prova. Para todo k k0 o teste de melhora da admissibilidade deve ter dado


resultado positivo, portanto:

max{kh(xk )k , kg(xk )+ k } max{kh(xk1 )k , kg(xk1 )+ k }

para todo k k0 . Portanto, como < 1,

lim max{kh(xk )k , kg(xk )+ k } = 0.


k

Logo, se limkK xk = x ,

lim max{kh(xk )k , kg(xk )+ k } = 0.


kK

Pela continuidade de h e g, isto implica que kh(x )k = kg(x )+ k = 0. Ou seja, x


admissvel.
Seja z outro ponto admissvel arbitrrio. Pela denio do algoritmo,

f (xk ) f (xk ) + k0 [kh(xk )k2 + kg(xk )+ k2 ] = f (xk ) + k [kh(xk )k2 + kg(xk )+ k2 ]

f (z) + k [kh(z)k2 + kg(z)+ k2 ] = f (z).


Logo, f (xk ) f (z) para todo k k0 . Tomando limites nesta desigualdade, pela

continuidade de f , temos que f (x ) f (z). Como z era um ponto admissvel

arbitrrio, se deduz que x soluo global de PNL. QED
10 Captulo 2. Metodo de Penalidade Externa

EXERCCIOS
1. Leia os resultados exibidos neste captulo. O que pode falhar? Procure tradu-
zir cada resultado em termos de funcionamento prtico do mtodo analisado.

2. Considere, nos resultados deste captulo, a possibilidade de substitur as nor-


mas kk e k k por normas arbitrrias. Existe algum impedimento para
proceder assim?

3. Escreva um programa que implemente, de maneira to el quanto for possvel,


os mtodos de penalidade externa. Procure, com ajuda desse programa,
encontrar exemplos de sucesso e fracasso do mtodo. Escreva uma monograa
explicando as formas que o fracasso toma na prtica, e seu correlato terico.

4. Considere o problema de dois nveis

Minimizar f (x)
sujeita condio de que x minimizador global de f1 (x). Analise sua
possvel resoluo atravs de subproblemas do tipo

Minimizar f (x) + f1 (x).


Sugesto: suponha que c um q
limitante inferior de f1 (x) e considere a res-

trio h1 (x) = 0, onde h1 (x) = f1 (x) c.


5. Considere o problema de dois nveis com restries no nvel inferior:

Minimizar x,u f (x, u)

sujeita a que x minimizador (com respeito primeira varivel) de f1 (x, u)


com determinadas restries. Usando o exerccio anterior, dena um m-
todo de penalidade externa dupla para resolver este problema e analise suas
propriedades.

6. Acesse a pgina do projeto TANGO www.ime.usp.br/egbirgin/tango,


copie o programa Algencan, estude os comentrios e o prprio programa
tanto quanto for possvel e use o programa para vericar os resultados
tericos enunciados neste captulo, implementando exemplos adequados de
sua inveno.

7. Prove que, no Mtodo de Penalidade Externa, f (xk+1 ) f (xk ) para todo


k, que os valores das funes objetivo dos subproblemas tambm crescem
monotonamente mas que a medida de no-admissibilidade decresce de uma
iterao para outra.
Captulo 3
Metodo de Penalidade
Deslocada

Consideremos o problema PNL, denido no Captulo 2 com as mesmas hipteses


de continuidade sobre f , h e g enunciadas nesse captulo. Vimos no Teorema 2.5
k
que, se um iterando x for admissvel, ento esse iterando a soluo de PNL. In-
k
felizmente, o caso em que x admissvel pouco freqente. A razo dessa falta de
freqncia fcil de entender: a funo que castiga a no-admissibilidade de um
2 2
ponto x , no Mtodo de Penalidade Externa, k [kh(x)k +kg(x)+ k ]. O parmetro
2
de penalidade k pode ser grande, mas as medidas de no-admissibilidade kh(x)k e
kg(x)+ k aparecem elevadas ao quadrado nesta funo. Isto signica que, para pon-
2
tos x levemente no-admissveis, o castigo brando ( kh(x)k < 1 kh(x)k  1
2
e kg(x)+ k < 1 kg(x)+ k  1). Por outro lado, provvel que a funo objetivo
f (x) tenha, no ponto no-admissvel x, um valor fortemente menor que nos pontos
admissveis mais prximos (se no fosse assim, as restries no seriam necess-
rias!). Em tais circunstncias, para qualquer valor nito de k o baixo valor de
f (x) compensar o castigo pela no-admissibilidade. Logo, possvel armar que,
quase sempre, o Mtodo de Penalidade Externa aproxima a soluo do problema
PNL por meio de uma seqncia de pontos no-admissveis. O leitor car mais
convencido desta propriedade computando os iterandos em um exemplo numrico
simples: Minimizar x, sujeita a x 0.
um pouco frustrante o fato de que todos os iterandos de um mtodo sejam
no-admissveis, embora o mtodo convirja a uma soluo. Isto porque, na prtica,
sempre paramos a execuo de um algoritmo em uma iterao k, no no innito.
Em muitos problemas reais, pontos admissveis levemente no-timos so toler-
veis mas pontos no-admissveis no tm utilidade alguma. Por isso, procuramos
corrigir o Mtodo de Penalidade Externa para aumentar as chances de que um
k k
iterando x seja soluo ou, pelo menos, para que x seja admissvel. Para xar
idias, suponhamos que m = 0, p = 1. (Recomendamos acompanhar esta leitura
com seu desenho favorito.) Se f (x) desce fortemente quando passamos do ponto
timo a pontos no-admissveis o castigo quadrtico no ser suciente para fazer

11
12 Captulo 3. Metodo de Penalidade Deslocada

admissvel nenhum dos iterandos xk . Entretanto, isto acontece porque no Mtodo


de Penalidade Externa estamos castigando o desvio de g(x)+ com respeito ao ve-
tor 0. Se, em vez disso, aplicssemos uma penalidade, no ao desvio em relao
ao 0, mas
ao desvio em relao a um vetor negativo w , o termo de penalidade
2
correspondente seria k(g(x) w)+ k e o minimizador do subproblema caria le-
k
vemente deslocado e mais perto da admissibilidade. Assim, as chances de que x
fosse admissvel e, talvez, quase timo, aumentariam. Fazendo o mesmo raciocnio
em relao ah(x) parece recomendvel que a funo de castigo bsica, em vez de
kh(x)k + kg(x)+ k2 , seja
2

kh(x) v k k2 + k(g(x) wk )+ k2
p
para vetores v k IRm e wk IR que, por enquanto, no sabemos como calcular.
k k
No caso v = 0, w = 0 teremos o Mtodo de Penalidade Externa denido no
Captulo 2. Agora, quando k muito grande a soluo do subproblema no Mtodo
de Penalidade Externa aproxima muito bem a soluo do PNL. Nesse caso, no
parece conveniente afastar-se demasiado de v = 0, w = 0. Este requisito pode ser
forado denindo:
k k
vk = , wk =
k k
p
e impondo a condio de que k IRm e k IR+ estejam em um conjunto
limitado, independentemente de k .
Com isto, e apesar de que no sabemos calcular k nem k , podemos denir o
Mtodo de Penalidade Deslocada da seguinte maneira:

Algoritmo 3.1.
Seja x0
um ponto inicial arbitrrio. Sejam min max e max > 0 os
k k
parmetros que denem a limitao de e . Suponhamos que

1i [min , max ] i = 1, . . . , m

1i [0, max ] i = 1, . . . , p.
Seja {k } uma seqncia de nmeros positivos que tende a innito. Inicializar o
contador k 1.

Passo 1. Encontrar xk soluo global do subproblema

k k 2 k 2
   
Minimizar f (x) + h(x) + + g(x) + sujeita a x . (3.1)
2 k
k +
13

Passo 2. Calcular k+1


i [min , max ] para todo i = 1, . . . , m e k+1
i [0, max ]
para todo i = 1, . . . , p. Atualizar k k + 1 e voltar ao Passo 1.

Observe que, apesar de que para denir o Algoritmo 3.1 usamos o modelo do
Algoritmo 2.2, no ousamos, por enquanto, reproduzir o Passo 2 daquele algoritmo.
Deixaremos a possibilidade de manter sem modicao o parmetro de penalidade
para mais adiante e, por enquanto, nos contentaremos em estudar as propriedades
tericas do Algoritmo 3.1. Estas propriedades sero generalizaes dos teoremas
provados no Captulo 2, o que no surpreendente pois, de fato, o Algoritmo 2.1
k k
o caso particular do Algoritmo 3.1 em que = 0, = 0 para todo k .
Comecemos pelos teoremas relativos admissibilidade dos pontos limites de
seqncias geradas pelo Algoritmo 3.1.

Nos Teoremas 3.13.5 suporemos que a seqncia {xk } est bem denida pelo
Algoritmo 3.1.

Teorema 3.1. Suponhamos que a seqncia {xk } admite um ponto limite x .


Ento, x uma soluo global do problema
Minimizar kh(x)k2 + kg(x)+ k2 sujeita a x . (3.2)

Prova. Esta prova generaliza a do Teorema 2.1. Seja K IN



tal que

lim xk = x .
kK

Como xk x para k K , xk para todo k, e fechado , temos que



x .
Suponhamos que x no um minimizador global de (3.2). Portanto, existe
z tal que
kh(x )k2 + kg(x )+ k2 > kh(z)k2 + kg(z)+ k2 .
Como h e g so contnuas e, alm disso, k e k so limitadas e k , existe
c>0 tal que para kK sucientemente grande:

k 2 k k 2 k
  2   2
h(xk ) + k

+ g(x ) + > h(z) +
+ g(z) + + c.


k k +

k k +

Portanto, para esses ndices k,


k k 2 k 2
   
k k k
f (x ) + h(x ) + + g(x ) +
2 k k +
k k 2 k 2 k c
   
> f (z) + h(z) + + g(z) + + + f (xk ) f (z).
2
k
k + 2
14 Captulo 3. Metodo de Penalidade Deslocada

Agora, como limkK xk = x e f contnua, temos que, para kK sucientemente


grande:
k c
+ f (xk ) f (z) > 0.
2
Logo,

k k 2 k 2 k k 2 k 2
       
k k k
f (x )+ h(x )+ + g(x )+ > f (z)+ h(z)+ + g(z)+ ,
2 k k + 2 k k +

o que contradiz o fato de que xk uma soluo global do subproblema denido por
k . Esta contradio veio de supor que x podia no ser um minimizador global
de (3.2). QED
No seguinte teorema mostramos que o Algoritmo 3.1 encontra pontos admiss-
veis, quando estes existem.

Teorema 3.2. Suponhamos que a regio admissvel do problema PNL no-vazia.


Suponhamos, alm disso, que a seqncia {xk } admite um ponto limite x . Ento,
x admissvel.

Prova. Idntica prova do Teorema 2.2. QED


Nos agradaria provar que, como no Teorema 2.3, os pontos limites do Algo-
ritmo 3.1 minimizam a funo objetivo no conjunto dos minimizadores de (3.2).
Entretanto, esta propriedade no verdade. Considere, por exemplo, o problema
PNL denido por n = 1, m = 3, p = 0, f (x) = x, h1 (x) = x 1, h2 (x) = x + 1,
h3 (x) = 2(x2 1), = IR. A regio
admissvel
obviamente vazia e os minimiza-
dores de (3.2) so dois pontos: 3/2 e 3/2. Portanto, o minimizador da funo
objetivo restrito ao conjunto dos minimizadores da inadmissibilidade o ponto

x = 3/2. Entretanto, se aplicarmos o Algoritmo 3.1 k k k
com 1 = 2, 2 = 3 = 0

k
para todo k , veremos que a seqncia {x } converge a 3/ 2. Com efeito, neste
caso,
k
Lk (x, k , k ) = f (x) + h1 (x)k1 + kh(x)k2 + c
2
k
= x + 2(x 1) + kh(x)k2 + c,
2
2
onde c uma constante. kh(x)k
A funo
par neste caso, portanto toma o
mesmo valor em pontos x prximos a
correspondentes pontos x,
3/2 que nos
prximos a 3/2. Por isso, para cada x prximo a 3/2 existe um ponto prximo

a 3/2 onde Lk vale menos. Desse modo, o nico ponto de acumulao possvel

3/2.
15

Felizmente, a impossibilidade de generalizar o Teorema 2.3 no to relevante.


O realmente importante que o algoritmo tenha a propriedade de minimizar f
no caso em que a regio admissvel no-vazia. A propriedade de minimizar f
no conjunto dos minimizadores de (3.2) pode ser sacricada se o algoritmo tiver
outras virtudes (o que ainda no foi comprovado!)
Vejamos que, com efeito, os pontos limites do Algoritmo 3.1 so solues de
PNL no caso em que h pontos admissveis. Portanto, apesar de que a tese do
Teorema 2.3 no vlida, a generalizao do Teorema 2.4 se sustenta plenamente.

Teorema 3.3. Suponhamos que a regio admissvel do problema PNL no-vazia


e a seqncia {xk } admite um ponto limite x . Ento, x um minimizador global
de PNL.

Prova. Seja K IN

k
tal que limkK x = x . Pelo Teorema 3.2, x admissvel.

Seja z outro ponto admissvel arbitrrio. Pela denio do algoritmo, temos


que

k k 2 k 2
   
k k k
f (x ) + h(x ) + + g(x ) +
2 k
k +

k k 2 k 2
   
f (z) + h(z) + + g(z) + .
2 k k +

Mas h(z) = 0 e g(z)+ = 0, portanto

k 2 k 2


h(z) + =

k k
e
k
 2 k 2



g(z) + .

k +

k

Portanto,

k k 2 k 2
   
k k k k
f (x ) f (x ) + h(x ) + + g(x ) +
2 k k +

kk k2 kk k2
f (z) + + .
2k 2k
Tomando limites para kK e usando que k e que k e k so limitados,
obtemos:
f (x ) f (z).
16 Captulo 3. Metodo de Penalidade Deslocada

Como z um ponto admissvel arbitrrio, resulta que x soluo global de PNL,


como queriamos provar. QED
No Captulo 2 vimos que, no Mtodo de Penalidade Externa, um iterando
admissvel necessariamente deveria ser timo. Essa propriedade no se mantm
no Algoritmo 3.1, como vemos no seguinte exemplo. Seja n = 1, m = 0, p = 1,
f (x) = x, g1 (x) = x, = IR. Claramente, a nica soluo global no PNL assim
denido x = 0. Entretanto, se k1 = k = 20. O subproblema que denir o
k
iterando x ser:
2
Minimizar x + 10 max{0, x + 1} ,

cuja soluo, xk = 1 + 1/20, um ponto admissvel mas no timo.

3.1 Penalidade Deslocada com Controle de Admissibilidade


No Captulo 2 estudamos uma modicao do mtodo bsico de Penalidade Ex-
terna que consistia em aplicar o seguinte ditado: Se a admissibilidade melhorou
k k1
sucientemente em x em relao a x , no aumente o parmetro de penalidade.
Discutamos se possvel fazer a mesma modicao no Algoritmo de Penalidade
Deslocada. A idia seria fazer sempre k+1 = k , exceto nas iteraes em que

max{kh(xk )k , kg(xk )+ k } max{kh(xk1 )k , kg(xk1 )+ k },

nas quais faramos k+1 = k .


No caso em que k , todos os pontos limite deste algoritmo modicado
seriam solues, pois neste caso se aplicaria o Teorema 3.3. Mas vejamos que
aconteceria se, a partir de certo k0 , o parmetro de penalidade permanecesse inal-
terado. Pela denio do algoritmo, se z fosse um ponto admissvel arbitrrio,
teramos:
k k 2 k 2
   
f (x ) + 0 h(xk ) +
k
+ g(x k
) +
2 k0
k 0 +
k0 k 2 k 2
   
f (z) + h(z) + + g(z) +
2 k0
k0 +
para todo k k0 . Como g(z) 0 e k /k0 0,

k
 2 k 2



g(z) + ,

k0 +

k0

portanto, dado que h(z) = 0,

k0 k 2 k 2 k0 k 2 k 2
     
f (xk ) + h(x k
) + + g(x k
) + f (z) + +
2 k0
k 0 + 2 k 0
k0
3.1. Penalidade Deslocada com Controle de Admissibilidade 17

para todo k k0 . Se x
um ponto limite, a limitao do parmetro de penalidade
k k k1
garantiria que admissvel, pois max{h(x ), g(x )+ } max{h(x ), g(xk1 )+ }
para todo k.
Logo, passando ao limite na desigualdade acima, e usando uma
k k
subseqncia convergente adequada de e :

k0 2 2 k0 2 2
    

f (x ) + + g(x
) + f (z) + + .
2 k0
k0 + 2 k0
k 0
Portanto,
k0 2
 2
k0

f (x ) +

g(x ) + f (z) + .
2 k0 +

2 k0
Infelizmente, no podemos avanar mais. Da desigualdade acima no se infere que
f (x ) f (z) porque, se gi (x ) < 0 e i /k0 > 0, teremos que

(gi (x ) + i /k0 )+ < i /k0 ,

o que impossibilita tirar concluses sobre a relao entre f (x ) e f (z). Isto signica
que, para que o algoritmo modicado conserve as propriedades de convergncia

a minimizadores globais de PNL, deve-se garantir que i seja zero sempre que

gi (x ) < 0. Esta propriedade se chama complementaridade
e vemos que essencial
para garantir que pontos limite sejam solues. Tal necessidade induz a seguinte
denio para o Algoritmo de Penalidade Deslocada Modicado.

Algoritmo 3.2
Seja x0 um ponto inicial arbitrrio. Sejam min < max e max > 0 os
parmetros que denem a limitao de k e k . Suponhamos que

1i [min , max ] i = 1, . . . , m

e
1i [0, max ] i = 1, . . . , p.
Seja 1 > 0. Denir V 0 = g(x0 )+ . Inicializar k 1.

Passo 1. Encontrar xk soluo global do subproblema (3.1).

Passo 2. Denir
ki
 
Vik = max gi (xk ), , i = 1, . . . , p.
k
Se
max{kh(xk )k , kV k k } max{kh(xk1 )k , kV k1 k },
denir k+1 = k . Em caso contrrio, denir k+1 = k .
18 Captulo 3. Metodo de Penalidade Deslocada

Passo 3. Calcular k+1


i [min , max ] para todo i = 1, . . . , m e k+1
i [0, max ]
para todo i = 1, . . . , p. Atualizar k k + 1 e voltar ao Passo 1.

k
Observe que Vi uma medida conjunta da admissibilidade e complementari-
k k
dade de x em relao restrio gi (x) 0. Com efeito, Vi vale zero somente se
k k k
gi (x ) 0 e, ao mesmo tempo, i = 0 em caso de que gi (x ) < 0.

Teorema 3.4. Suponhamos que a regio admissvel do problema PNL no-vazia


e que a seqncia {xk } est bem denida pelo Algoritmo 3.2 e admite um ponto
limite x . Ento, x um minimizador global de PNL.

Prova. Se limk k = , o algoritmo um caso particular do Algoritmo 3.1.


Portanto, a tese segue do Teorema 3.3.
Se k
no tende a innito, ento, a partir de certo k0 , temos que k = k0 .
k k
Logo, pelo Passo 2 do algoritmo, limk kV k = 0 e limk kh(x )k = 0. Isto
implica que
lim kh(xk )k = lim kg(xk )+ k = 0.
k k
Portanto, pela continuidade de h e g , todo ponto limite deve ser admissvel.
Seja K IN tal que limkK xk = x . Sem perda de generalidade, suponhamos

que k k0 para todo k K . Como as seqncias {k } e {k } esto em um
compacto, existem K1 K , [min , max ]m , [0, max ]p tais que

lim xk = x , lim k = , lim k = .


kK1 kK1 kK1

k k
Mas, pelo Passo 2 do algoritmo, limk max{gi (x ), i /k0 } = 0. Portanto, se

gi (x ) < 0 devemos ter, forosamente, que i = 0. Em outras palavras,
gi (x )i = 0 para todo i = 1, . . . , p.
Agora, o raciocnio (frustrado) que precede o enunciado deste teorema pode ser
integralmente reproduzido para chegar a:

k 2
 2
k

f (x ) + 0 g(x ) +


f (z) + 0 .
2 k0 +

2 k0
Ou seja,

p  p  2
k0 X i 2 k0 X i


f (x ) + gi (x ) + f (z) + . (3.3)
2 i=1 k0 + 2 i=1 k0
Mas
i i
 2  2
gi (x ) + = max 0, gi (x ) + .
k0 + k0
3.2. Calculo dos Deslocamentos 19

Portanto, se gi (x ) = 0,

2  2



gi (x ) + i = i
k0 + k0
e, se gi (x ) < 0, dado que i = 0,
i
 2

gi (x ) + = 0.
k0 +

Logo, por (3.3),

p  2
k
 2  2
k k 0 X i
 

= f (x ) + 0 g(x ) +

f (x ) + 0 f (z) + .
2 k0
+ 2 k0 +

2 i=1 k0
Isto implica que f (x ) f (z), o que completa a prova. QED

3.2 Calculo dos Deslocamentos


At agora, a escolha dos deslocamentos v k+1 e wk+1 no Passo 2 dos Algoritmos 3.1
k+1
e 3.2 foi quase arbitrria. Escolhemos v = k+1 /k+1 e wk+1 = k+1 /k+1 ,
k+1 k+1
com [min , max ] e [0, max ] e isso suciente para provar os resulta-
dos de convergncia deste captulo. Entretanto, a ecincia dos algoritmos exigir
k+1 k+1
escolhas razoveis dos vetores e .
Lembremos que a motivao para introduzir deslocamentos na penalidade era
que, no Mtodo de Penalidade Externa, as solues dos subproblemas eram quase
sempre no-admissveis. Ao penalizar em relao a um ponto levemente deslocado
pareciam aumentar as chances de que a soluo do subproblema fosse admissvel.
k
Suponhamos que, ao resolver o subproblema na k -sima iterao, obtemos x
k
e que hi (x ) 6= 0. (Recomendamos que o leitor acompanhe este argumento com
k
um desenho adequado e que, para simplicar, pense em hi (x ) > 0.) Este ponto
k
foi obtido usando o deslocamento vi . Ou seja, na funo Lagrangiano Aumentado
k 2 k
apareceu o termo k (hi (x) vi ) . Evidentemente, teriamos apreciado que hi (x )
fosse igual a zero. Entretanto, depois do acontecido, pensamos: Isto ocorreu
k
porque penalizar hi (x) em relao a vi era inadequado. Se tivssemos penalizado
k k
em relao a vi hi (x ) o resultado seria mais razovel.
Ou seja, postulamos que

v correto = vik hi (xk ).


Agora, o deslocamento v correto pode ser expressado como

correto
v correto = .
k
20 Captulo 3. Metodo de Penalidade Deslocada

Como vik = ki /k , resulta que

correto = ki + k hi (xk ).

No temos mais chances de usar o correto na iterao que passou, mas


podemos tentar us-lo na prxima. Por isso, denimos:

k+1
i = ki + k hi (xk ).

Dado que k+1


i no est, necessariamente, entre os limitantes min e max ,
complementamos esta denio com:

k+1
i = min{max , max{min , k+1
i }}.

Vejamos agora o caso de restries de desigualdade. Suponhamos que xk a


soluo do subproblema k.
Esta soluo foi obtida usando o deslocamento wik 0
k k
para cada restrio de desigualdade. Lembremos que wi = i /k .
k k k
Consideremos primeiro o caso em que gi (x ) < wi . Assim, x foi obtido como
minimizador de uma funo que penalizava apenas o fato de que gi (x) fosse maior
que wik e, com este deslocamento, gi (xk ) resultou estritamente menor que wik .
Isto signica que no havia, na realidade, motivos para deslocar a penalidade em
relao a sua posio natural. Deslocamos sem necessidade! Portanto, o prximo
deslocamento deve ser nulo.
Agora consideremos o caso em que gi (xk ) > 0. Ou seja, xk um ponto inad-
missvel devido no-satisfao da restrio gi (x) 0. Como no caso de restries
de igualdade, isto nos leva a denir um w correto como:

w correto = wik gi (xk ).

Portanto, seguindo o mesmo argumento das igualdades:

k+1
i = ki + k gi (xk )

neste caso.
Por ltimo, consideremos o caso 0 > gi (xk ) > wik . Aqui o ponto admissvel
em relao restrio gi (x) 0, mas ele foi obtido penalizando em relao a um
desvio wik e gi no atingiu o valor desse desvio. Portanto, h bons motivos para
k k
pensar que, neste caso, o deslocamento wi foi exagerado e que gi (x ) deveria ter
sido igual a zero. Isto nos conduz a postular, mais uma vez, que

w correto = wik gi (xk ).

Consequentemente,
k+1
i = ki + k gi (xk )
3.2. Calculo dos Deslocamentos 21

Juntando os trs casos, chegamos a que o novo deslocamento deve ser o deslo-
k k
camento antigo menos gi (x ) se gi (x ) maior ou igual que o deslocamento antigo,
e deve ser igual a zero em caso contrrio. Em termos do multipicador, isto :

k+1
i = max{0, ki + k gi (xk )}.

Finalmente,

k+1
i = min{max , max{0, k+1
i }}.

Com estas frmulas para denir a atualizao de e , estamos em condies


de denir um novo algoritmo de penalidade deslocada. A esta altura, podemos
dizer que esta nossa primeira verso do Mtodo de Lagrangiano Aumentado e
k k
podemos chamar a e de Multiplicadores de Lagrange aproximados
.

Algoritmo 3.3
Seja x0 um ponto inicial arbitrrio. Sejam min < 0, max > 0, max > 0.
Suponhamos que
1i [min , max ] i = 1, . . . , m
e
1i [0, max ] i = 1, . . . , p.
Seja 1 > 0. Denir V 0 = g(x0 )+ . Inicializar k 1.

Passo 1. Encontrar xk , soluo global do subproblema (3.1).

Passo 2. Denir
ki
 
Vik = max gi (xk ), , i = 1, . . . , p.
k
Se
max{kh(xk )k , kV k k } max{kh(xk1 )k , kV k1 k },
denir k+1 = k . Em caso contrrio, denir k+1 = k .

Passo 3. Calcular

k+1
i = min{max , max{min , ki + k hi (xk )}}

para i = 1, . . . , m, e

k+1
i = min{max , max{0, ki + k gi (xk )}},

para i = 1, . . . , p.
22 Captulo 3. Metodo de Penalidade Deslocada

Passo 4. Incrementar k k+1 e voltar ao Passo 1.

EXERCCIOS
1. Tente reproduzir os Argumentos do Teorema 2.3 para o Algoritmo 3.1. Onde
a argumentao falha?

2. Suponha que xk gerado pelo Algoritmo 3.1 e que hi (xk ) = 0, gj (xk ) = 0


k
para todo i = 1, . . . , m, j = 1, . . . , p. (Ou seja, x admissvel e todas as
k k
restries so ativas em x .) Prove que, neste caso, x soluo global de
PNL.

3. A denio de Vk envolve a diviso de k


pelo parmetro de penalidade. Mas
k
a motivao desta denio seria vlida mesmo que no fosse dividido por
k . Encontre motivos para dividir por k .

4. Usando o programa Algencan do projeto TANGO, faa experimentos num-


ricos ilustrando as propriedades enunciadas neste captulo.

5. Argumente sobre a denio de k+1 e k+1 supondo que m e p podem ser


maiores que 1. Encontre argumentos a favor e contra a posio de que os
multiplicadores de Lagrange somente devem ser atualizados nas iteraes em
que o parmetro de penalidade no aumentado.

6. Considere um PNL onde entre as restries aparea o requisito de que certas


variveis devem ser inteiras. Expresse essas restries de forma funcional
adequada. Aplique Algencan e observe o comportamento. Analise problemas
com soluo conhecida e tire concluses.

7. H alguma relao entre f (xk+1 ) e f (xk ) no Mtodo de Penalidade Deslo-


cada? E entre os valores das funes objetivo de subproblemas consecutivos?
E entre as medidas de no-admissibilidade? Prove ou d contraexemplos.

k
8. Revise os resultados deste captulo tentando eliminar a restrio de que
k
e descansem em conjuntos compactos. Mais precisamente, mostre que
k 2
os mesmos resultados podem ser provados impondo apenas que ( ) /k e
(k )2 /k tendam a zero sempre que k tende a innito. Discuta se esta
modicao vale a pena.

9. Considere o problema PNL e substitua cada restrio de desigualdade gi (x)


0 pela restrio de igualdade gi (x)+zi2 = 0. Temos assim um problema apenas
com restries de igualdade. Dena o Algoritmo 3.3 para este novo problema.
Mostre que ele coincide com o Algoritmo 3.3 para o problema original.
Captulo 4
Condicoes de Otimalidade
e Criterios de Parada

O problema geral de Otimizao consiste em Minimizar f (x) sujeita a x D .


Neste livroD um subconjunto de IRn . Por ser esta denio to simples, deveria

ser redundante frisar que o que se deseja encontrar x D tal que f (x ) f (x)
para todo x D. Isto , almejamos minimizadores globais do problema.
Entretanto, calcular solues globais , freqentemente, muito difcil e, mesmo
reconhecer se um ponto x D minimizador global resulta, em muitos casos,
impossvel. A maioria dos algoritmos populares de Otimizao no garantem a
descoberta de minimizadores globais. Paradoxalmente, muito fcil denir algo-
ritmos que, teoricamente, convergem a minimizadores globais. Basta usar qualquer
procedimento que, em ltima anlise, possa ser reduzido procura exaustiva em
um subconjunto denso de D. Tais mtodos podem ser mais ou menos teis mas
sua eventual ecincia no explicada por propriedades tericas de convergncia.
Veja Exerccio no nal deste captulo.
Aqui estamos interessados em algoritmos que mais modestos podem conver-
gir ou no a minimizadores globais. Apesar desta fraqueza, o que pode ser provado
sobre convergncia destes algoritmos reete bastante bem o que acontece na pr-
tica.
Formulemos, ento, a pergunta: o que pode ser provado?
Como a propriedade de ser minimizador global desejada, mas excessivamente
ambiciosa, nos interessa analisar propriedades mais fracas que, no entanto, sejam
satisfeitas pelos minimizadores globais do problema. Essas propriedades se denomi-
nam Condies Necessrias de Otimalidade (CNO) e os pontos que as satisfazem se
dizem estacionrios. Via de regra, usaremos a expresso Condio de Otimalidade
como sinnimo de Condio Necessria de Otimalidade. Ou seja, uma condio de
otimalidade se caracteriza pela implicao

Minimizador global Ponto estacionrio.

Entretanto, no qualquer propriedade implicada pelo status de minimizador glo-

23
24 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

bal que merece ser chamada Condio de Otimalidade. Com efeito, com caracte-
rizao to formal do conceito de CNO, o fato de pertencer a D , ou mesmo de
n
pertencer a IR uma condio de otimalidade. Porm, estas so condies ex-
cessivamente fracas e no merecem maior ateno. Assim, uma boa qualidade de
condies necessrias de otimalidade a de serem razoavelmente fortes.
Naturalmente, a CNO mais forte possvel a de ser minimizador global. Mas
j mencionamos que conseguir pontos que a satisfaam ou mesmo veric-la num
ponto dado extremamente difcil. Um pouco mais manejvel a condio de

minimizador local. Um ponto x D uma soluo local (ou minimizador local)

do problema de minimizar f (x) sujeita a x D se existe > 0 tal que f (x ) f (x)

para todo x D cuja distncia a x seja menor que . Certamente, a condio de
minimizador local estritamente mais fraca que a de minimizador global. Porm,
ela no totalmente satisfatria do ponto de vista algortmico porque, em geral,
tampouco fcil de vericar.
Em ltima anlise, gostariamos de uma CNO cuja vericao se limitasse a
um clculo mecnico. O exemplo mais familiar o da minimizao sem restries
n
(D = IR ). Neste caso, se as derivadas parciais de f existem e x um minimizador

local, sabemos que f (x ) = 0. (Ver Exerccio neste captulo.) Portanto, a
vericao desta condio de otimalidade envolve apenas o clculo das derivadas
de f.
Podemos obter condies de otimalidade, razoavelmente fortes e fceis de veri-
car, no problema de minimizao com restries?
Vamos nos concentrar no caso em que o problema de otimizao

Minimizar f (x) sujeita a xD (4.1)

com
D = {x IRn | h(x) = 0, g(x) 0}, (4.2)

onde
h : IRn IRm , g : IRn IRp ,
e as funes f, h e g so diferenciveis em IRn .
Se p=0 temos o problema de minimizao com restries de igualdade, que
aparece com freqncia nos cursos elementares de Clculo em Vrias Variveis.

Neste caso, se desenharmos (desenhe!) o conjunto D e um ponto x tal que h(x ) =

0, podemos formular a pergunta: Como deveria ser f (x ) para que x fosse um

minimizador local? fcil intur como f (x ) no
deveria ser: Se f (x ) no fosse
perpendicular ao conjunto D, o conjunto de nvel de f atravessaria D e, portanto,

deixaria de um lado pontos admissveis arbitrariamente prximos de x , para os

quais f (x) < f (x ). Isto parece indicar que f (x ) deveria ser perpendicular ao

conjunto D no ponto x . Em outras palavras f (x ) deveria ser uma combinao
25

linear dos gradientes das restries h1 (x ), . . . , hm (x ). Portanto, deveria existir


IRm tal que
m
f (x ) + i hi (x ) = 0.
X

i=1
Esta a conhecida condio de Lagrange do clculo elementar e os coecientes i
se chamam Multiplicadores de Lagrange.
No caso em que p > 0, denindo

IA (x) = {i {1, . . . , p} | gi (x) = 0},


podemos reproduzir os argumentos acima para chegar a que, alm de 1 , . . . , m ,
devem existir i , i IA , tais que

m
f (x ) + i hi (x ) + i gi (x ) = 0.
X X

i=1 iIA

Estendemos a denominao Multiplicadores de Lagrange para os coecientes i .


Neste caso, podemos continuar o argumento grco-intuitivo para decidir se cada
i deve ser positivo ou negativo. Com efeito, se i fosse menor que zero, f e gi
apontariam para o mesmo lado. Portanto, quando gi passasse de nulo a negativo,
f diminuiria de valor. Ou seja, ao entrar na admissibilidade, f tomaria valores
menores que em x . Isto no pode acontecer em um minimizador local. Logo,
nos parece que os multiplicadores i , i IA devem ser no-negativos. Resumindo,

temos bom motivos para acreditar que, se x minimizador local de f (x) sujeita
m p
a h(x) = 0, g(x) 0, existem IR , IR+ tais que

f (x ) + h(x ) + g(x ) = 0,
onde
gi (x ) < 0 i = 0.
Quando um ponto admissvel satisfaz estas condies, dizemos que um Ponto
KKT. As condies KKT (Karush-Kuhn-Tucker) so a generalizao para restri-
es de desigualdade das famosas condies de Lagrange. Observe que as condies
KKT so bastante fceis de vericar.
O argumento usado acima para motivar as condies KKT parece bastante
plausvel. Entretanto, no verdade que as condies KKT sejam, rigorosamente
falando, condies necessrias de otimalidade. De fato, nem as condies de La-
grange (caso particular) o so. Considere, por exemplo, o problema

Minimizar x1 sujeita a x21 + x22 = 0.


Claramente, x = 0 o minimizador global do problema, mas as condies KKT
no valem nesse ponto.
26 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

O que tem de estranho este probleminha? Antes de responder pediremos ao


leitor que resolva o Exerccio 3 da lista que segue ao presente captulo.
Cumprida a tarefa, o leitor j deve ter percebido que, se m variveis pudessem
ser colocadas em evidncia de maneira unvoca em uma vizinhana do minimizador
x , as condies KKT seriam vlidas. No exemplinho isso no pode ser feito. A
condio suciente mais popular para que m variveis sejam isolveis que possa
ser aplicado o Teorema da Funo Implcita, o qual pode ser usado se os gradientes
h1 (x ), . . . , hm (x ) so linearmente independentes.

4.1 Condicoes de Qualificacao


Terminamos a Seo anterior mostrando que, em um exemplo simples, as condies
KKT falhavam em um minimizador local aparentemente porque os gradientes das
restries eram linearmente dependentes. Logo, parece sensato conjecturar que se
os gradientes das restries de igualdade junto com os gradientes das restries

onde gi (x ) = 0 so linearmente independentes
, ento as condies KKT valem no
minimizador local. De agora em diante, as restries de igualdade, junto com as
restries de desigualdade tais que gi (x) = 0 no ponto admissvel x sero chama-
das restries ativas em x. Quando os gradientes das restries ativas em x so
linearmente independentes, diremos que o ponto regular.
Diremos que uma propriedade de pontos admissveis da forma (4.2) uma
Condio de Qualicao (CQ) se o fato de ser satisfeita em um minimizador

local x implica que x verica as condies KKT.
Em outras palavras, se CQ uma condio de qualicao, a proposio KKT
ou No-CQ uma condio de otimalidade, isto :
Minimizador local ( KKT ou No-CQ)

qualquer que seja a funo objetivo f. Portanto, assim como boas condies de
otimalidade devem ser fortes, boas condies de qualicao devem ser fracas.
Voltemos independncia linear das restries ativas (regularidade). Conjec-
turamos acima que esta propriedade tem boas chances de ser uma condio de
qualicao. Mas, ser que a mais fraca possvel? Antes de responder rigorosa-
mente esta pergunta, pediremos ao leitor que examine as seguintes denies:

Suponhamos que h(x) = 0, gi (x) 0, IA (x) = {i {1, . . . , p} | gi (x) = 0}.


Dizemos que x satisfaz a Condio de Mangasarian-Fromovitz (MF) se
m
X X
i hi (x) + i gi (x) = 0
i=1 iIA

com i 0 para todo i IA (x) implica que

1 = . . . = m = i = 0
4.2. CPLD e uma Condicao de Qualificacao 27

para todo i IA .

Com a mesma denio de IA , dizemos que x satisfaz a Condio de Depen-


dncia Linear Positiva Constante (CPLD) se a existncia de Ih {1, . . . , m},
Ig IA (x), i IR para todo i Ih , i 0 para todo i Ig tais que

X X
i hi (x) + i gi (x) = 0
iIh iIg

|i | +
P P
com iIh iIg i > 0, implica que os gradientes

{hi (z)}iIh , {gi (z)}iIg

so linearmente dependentes para todo z em uma vizinhana de x.

Observe que Mangasarian-Fromovitz implica CPLD e que a regularidade im-


plica MF. Por outro lado, imagine um problema onde m = 0, p = 2, g1 (x) = g2 (x)

para todo x e g1 (x ) 6= 0. Claramente, a condio MF se satisfaz em x mas
a condio de independncia linear dos gradientes das restries ativas no se sa-

tisfaz. Por outra parte (desenhe!) impossvel que x seja minimizador local
(independentemente de f !) sem que a condio KKT se satisfaa. Este exemplo
parece sugerir que a regularidade no a CQ mais fraca possvel e que, talvez, MF
tambm seja uma CQ.
Entretanto, considere um problema onde m = 0, p = 2, g1 (x) = g2 (x) para

todo x e g1 (x ) 6= 0. Neste caso, MF no se satisfaz (pois g1 (x ) + g(x ) =

0) mas, obviamente, CPLD vale. De novo (desenhe!) impossvel que x seja
minimizador local sem que se satisfaa a condio KKT.
Estas observaes sugerem que CPLD uma CQ. Ao mesmo tempo, como
MF e a independncia linear dos gradientes das restries implicam CPLD, as
mesmas tambm seriam condies (mais fortes) de qualicao. Uma propriedade
importante da CPLD que esta condio se cumpre sempre que as restries so
lineares.

4.2 CPLD e uma Condicao de Qualificacao


O ttulo desta seo expressa totalmente seu objetivo. Forneceremos uma prova
rigorosa de que CPLD uma condio de qualicao. A ferramenta fundamental
para isto ser o Mtodo de Penalidade Externa introduzido no Captulo 2. Um
ingrediente auxiliar importante ser o seguinte Lema de Carathodory.
28 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

Lema 4.1. Suponhamos que


m p
i
j w j ,
X X
u= i v +
i=1 j=1

onde v i IRn , wj IRn para todo i = 1, . . . , m, j = 1, . . . , p, e j 0 para


todo j = 1, . . . , p. Ento, existem I {1, . . . , m}, J {1, . . . , p}, {0i }iI IR,
{0j }jJ IR+ , tais que
0i v i + 0j wj
X X
u=
iI jJ

e os vetores {v i }iI {wj }jJ so linearmente independentes.

Prova. Sem perda de generalidade, suponhamos que i 6= 0, j > 0 para todo


i = 1, . . . , m, j = 1, . . . , p.
Suponhamos que os vetores {v 1 , . . . , v m , w1 , . . . , wp } so linearmente dependen-
tes. Portanto, existem escalares i e j , no todos nulos, tais que:

m p
i v i + j w j .
X X
0=
i=1 j=1

Logo, pela hiptese, temos que

m p
i
(j tj )wj
X X
u= (i ti )v +
i=1 j=1

para todo t IR. Para t = 0, nenhum dos coecientes na igualdade acima se anula.
Seja tmin o t de menor mdulo que anula pelo menos um dos coecientes i ti
ou j tj . Ento:
m p
i
(j tmin j )wj .
X X
u= (i tmin i )v +
i=1 j=1

Claramente, j tmin j 0 para todo j , mas conseguimos escrever u como com-


binao linear de, no mximo, m + p 1 vetores. Este processo pode ser repetido
at que os vetores que contribuem combinao linear sejam todos linearmente
independentes. QED
Os dois resultados principais seguem em continuao. O segundo arma que,
com efeito, a CPLD uma CQ, o que implica que regularidade e MF tambm o
so. Daremos por conhecido o fato de que, se uma funo tem um minimizador
local em um ponto interior admissvel onde as derivadas parciais existem, ento
4.2. CPLD e uma Condicao de Qualificacao 29

estas derivadas devem ser zero nesse ponto. Veja Exerccio 1 deste captulo.

Teorema 4.1. Seja x minimizador local do problema (4.1)-(4.2) onde as funes


f, h, g so derivveis e contnuas. Ento, existem seqncias {xk } IRn , {k }
IRm , {k } IR+p
, tais que:
limk xk = x ,

limk f (xk ) + h(xk )k + g(xk )k = 0,

limk kh(xk )k = limk kg(xk )+ k = 0,

Para todo i = 1, . . . , p e para todo k IN , gi (xk ) < 0 ki = 0.

Prova. Por ser minimizador local, existe >0 tal que x soluo global de

Minimizar f (x)

sujeita a h(x) = 0, g(x) 0, kx x k .


Portanto, x a nica soluo global do problema:

1
Minimizar f (x) + kx x k2 s.a. h(x) = 0, g(x) 0, kx x k . (4.3)
2
Consideremos a aplicao do Mtodo de Penalidade Externa a (4.3). Cada sub-
problema consistir em:

1 k
Minimizar f (x) + kx x k2 + [kh(x)k2 + kg(x)+ k2 ]
2 2
sujeita a kx x k .
Cada um destes subproblemas consiste em minimizar uma funo contnua em um
k
compacto, portanto sua soluo global x existe para todo k IN . Como x a
nica soluo global de (4.3), o Teorema de Convergncia do Mtodo de Penalidade
Externa garante que:
lim xk = x .
k

Logo, kxk x k < para k sucientemente grande, ou seja, xk um ponto interior


do subproblema. Portanto, o gradiente da funo objetivo deste subproblema deve
ser zero. Isto , para todo k IN sucientemente grande,

f (xk ) + h(xk )[k h(xk )] + g(xk )[k g(xk )+ ] + (xk x ) = 0.


30 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

Denamos k = k h(xk ), k = k g(xk )+ . Como limk kxk x k = 0, obtemos:

lim f (xk ) + h(xk )k + g(xk )k = 0.


k

Agora, como k = k g(xk )+ , temos que ki = 0 se gi (xk ) < 0. QED


Corolrio 4.1 Suponhamos as hipteses do Teorema 4.1. Seja > 0. Ento,
existem x IRn , IRm , IR+p tais que:

kf (x) + h(x) + g(x)k ,

kh(x)k , kg(x)+ k ,

Para todo i = 1, . . . , p, gi (x) < 0 i = 0.

Prova. Segue imediatamente do Teorema 4.1. QED


Em continuao, provamos que, se um minimizador local x satisfaz a condio
CPLD, ento deve satisfazer as condies KKT. Em outras palavras, a CPLD
uma condio de qualicao.

Teorema 4.2. Consideremos o problema (4.1)-(4.2), onde as funes f, h, g so


derivveis e as derivadas so contnuas no minimizador local x . Suponhamos
que x satisfaz a condio CPLD. Ento, existem IRm , IR+p , tais que:

f (x ) + h(x ) + g(x ) = 0,

Para todo i = 1, . . . , p, gi (x ) < 0 i = 0.

Prova. Pelo Teorema 4.1, existem seqncias


p
{xk } IRn , {k } IRm , {k } IR+ ,
tais que:

limk xk = x ,

limk f (xk ) + h(xk )k + g(xk )k = 0,

limk h(xk ) = limk g(xk )+ = 0,

Para todo i = 1, . . . , p, gi (xk ) < 0 ki = 0.


4.2. CPLD e uma Condicao de Qualificacao 31

Portanto, para todo k IN , existe k IRn tal que

f (xk ) + k = h(xk )k + g(xk )k

e k 0.
Pelo Lema 4.1, temos que:

f (xk ) + k = b k h (xk ) + b kj gj (xk ),


X X
i i
iIk jJk

onde k 0, os vetores {hi (xk )}iIk {gj (xk )}jJk so linearmente indepen-
k
dentes, e gj (x ) 0 sempre que j Jk .
Como o nmero de possveis subconjuntos Ik , Jk nito, existe K IN tal que

para todo k K , temos que Ik = I {1, . . . , m} e Jk = J {1, . . . , p}. Logo,
para todo k K ,

f (xk ) + k = b k h (xk ) + b kj gj (xk ),


X X
i i
iI jJ

onde k 0 e os vetores {hi (xk )}iI {gj (xk )}jJ so linearmente indepen-
dentes.
Portanto,

lim f (xk ) + b k h (xk ) + b kj gj (xk ) = 0,


X X
i i (4.4)
kK
iI jJ

onde gj (xk ) 0 sempre que j J.


Agora consideremos dois casos. Se as seqncias
bk}
{ e {b kj } esto contidas
i
em um compacto para todo i I, j J, a tese segue passando ao limite em uma
subseqncia convergente. Em caso contrrio, denimos, para todo k,

Mk = max{|ki |, kj , i I, j J}.

Neste caso, existe K1 K tal que limkK1 Mk = . Logo, por (4.4),


f (xk ) X bk
k i
X bk
k j
lim + hi (x ) + gj (x ) = 0.
kK1 Mk iI Mk jJ Mk

Portanto,
bk
b k
hi (xk ) i
gj (xk ) j = 0.
X X
lim +
kK1
iI Mk jJ Mk
Como o nmero de restries (m + p) nito, existem um ndice que realiza o
mximo Mk innitas vezes, digamos, para todo k K2 K1 . Mais ainda, existe

32 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

k bk

K3 K2 tal que as seqncias
b
Mk
e
Mk
convergem a um conjunto de coecientes

no todos nulos, j que pelo menos um dos coecientes tem mdulo sempre igual a
1. Logo, tomando limites para k K3 , obtemos que os gradientes {hi (x )}iI
{gj (x )}jJ so linearmente dependentes com coecientes no-negativos corres-
k k
pondendo a cada gj (x ). Mas os vetores {hi (x )}iI {gj (x )}jJ so line-
k
armente independentes e a seqncia {x } converge a x , portanto x no satisfaz
a condio CPLD, contrariamente ao suposto na hiptese do teorema. QED

4.3 Criterios de Parada


Todos os algoritmos para resolver problemas no triviais de Otimizao so itera-
tivos. Reconhecer se um iterando , ou est perto, de um minimizador global , em
geral, muito difcil, exceto em situaes especiais, por exemplo, quando o valor da
funo objetivo no minimizador global conhecido. Ao mesmo tempo, a maioria
dos algoritmos ecientes no possuem a propriedade de convergir a minimizadores
globais. Por isso, para parar a execuo de um algoritmo se usam as condies
necessrias de otimalidade, ou verses aproximadas das mesmas.
Como vimos na seo anterior, as condies necessrias de otimalidade tem a
forma
KKT ou No-CQ .
Isto parece indicar que um algoritmo deveria parar no iterando (aproximadamente
k
admissvel) x se as condies KKT fossem aproximadamente satisfeitas ou uma
Condio de Qualicao fosse aproximadamente no-satisfeita. Para xar idias,
pensemos na regularidade, que a condio de qualicao mais simples. De acordo
k
com o indicado acima, se x aproximadamente admissvel, deveriamos parar o
algoritmo nesse ponto se uma das seguintes propriedades fosse satisfeita:

O ponto xk satisfaz, aproximadamente, as condies KKT.

Os gradientes das restries ativas em xk so, aproximadamente, linearmente


dependentes.

Entretanto, embora todos os algoritmos conhecidos testem a admissibilidade e


k
as condies KKT nos iterandos x , dicilmente algoritmos ecientes param por
encontrar gradientes de restries quase dependentes. Muito menos os algorit-
mos se preocupam por testar outras condies de qualicao como Mangasarian-
Fromovitz ou CPLD.
O fato que eles tm razo, e a chave da racionalidade de no se preocupar
pelas Condies de Qualicao est expressa no Corolrio 4.1. Este corolrio
diz que em qualquer vizinhana de um minimizador local podem ser encontrados
4.3. Criterios de Parada 33

pontos que, aproximadamente, so admissveis e KKT! Ou seja, a presena de



pontos assim em toda vizinhana de x uma condio necessria de otimalidade.
Temos, assim, a tentao de postular que o critrio de convergncia prtico
para qualquer algoritmo destinado a resolver (4.1)(4.2) deve ser a existncia de
m p
multipicadores IR e IR+ , associados ao iterando x, tais que

kf (x) + h(x) + g(x)k ,

kh(x)k , kg(x)+ k ,

gi (x) < 0 i = 0 para todo i = 1, . . . , p

Entretanto, vejamos em um exemplo simples que a terceira condio acima,


chamada de complementaridade, demasiado exigente e pode no ser satisfeita por
pontos arbitrariamente prximos a um minimizador. Consideremos o problema

Minimizar x sujeita a x 0,

cuja soluo global, bvia, x = 0. Suponhamos que um bom algoritmo produz a
k
seqncia {x }, que converge a x , com todos seus elementos estritamente maiores
k
que zero. Portanto, para todo x , se a complementaridade fosse satisfeita, o mul-
tiplicador associado deveria ser zero. Mas, neste caso, f (x) = 1 para todo x,
portanto a desigualdade kf (x) + h(x) + g(x)k no se cumpriria para
nenhum < 1.
A necessidade de relaxar a condio de complementaridade nos leva seguinte
denio:
Diremos que um ponto x IRn -KKT do problema (4.1)-(4.2) se existem
p
IRm , IR+ tais que:

kf (x) + h(x) + g(x)k ,

kh(x)k , kg(x)+ k ,

gi (x) < i = 0 para todo i = 1, . . . , p.

Diremos, ao mesmo tempo, que x um ponto AKKT (aproximadamente KKT)



se, para todo > 0, existe um ponto -KKT cuja distncia a x menor que .
Pelo Corolrio 4.1, todo minimizador local AKKT. Ou seja, todo minimizador
local aproximvel por pontos -KKT. Isto signica que a existncia de pontos

-KKT arbitrariamente prximos a x uma condio necessria de otimalidade.
Por outro lado, ela mais razovel que a sugerida pela tese do Corolrio 4.1 no
34 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

sentido de que a complementaridade no exigida para pontos admissveis muito



prximos de x . fcil ver que esta condio no falha em pontos muito prximos

de x = 0 no exemplo simples mencionado acima.
Resta se perguntar se AKKT uma condio de otimalidade razoavelmente
forte. Uma resposta vem dada pelo seguinte teorema, onde mostramos que a pre-
sena de uma seqncia de pontos k -KKT, com k 0 tambm implica a condio
KKT ou No-CPLD.

Teorema 4.3. Consideremos o problema (4.1)-(4.2), onde as funes f, h, g so


derivveis e as derivadas so contnuas em x . Suponhamos que existem seqncias
{xk } IRn , {k } IRm , {k } IR+
p
, {k } IR++ tais que
kf (xk ) + h(xk )k + g(xk )k k k ,

kh(xk )k k , kg(xk )+ k k ,

gi (xk ) < k ki = 0 para todo k IN , i = 1, . . . , p

limk xk = x .

limk k = 0.

Ento:
x admissvel;

Se x satisfaz a CPLD, existem IRm , IR+


p
tais que
f (x ) + h(x ) + g(x ) = 0

e
i = 0 para todo i tal que gi (x ) < 0.

Prova. Percorra a prova do Teorema 4.2. Observe que todos os argumentos desta
prova valem neste caso, com os seguintes destaques:

j Jk gj (xk ) k ,

j J gj (xk ) k .
Como conseqncia, se jJ xk x , temos que gj (x ) 0.
e Isto implica que
k k
a condio de quase-complementaridade gi (x ) < k i = 0 suciente para
garantir a complementaridade no limite. QED
EXERCCIOS
4.3. Criterios de Parada 35

1. Provar que, se f : D IR, x um ponto interior de D , x minimizador



local e f (x ) existe, ento f (x ) = 0.

2. A razo principal pela qual as condies sucientes de otimalidade usuais


so menos importantes que as condies necessrias que tais condies cos-
tumam ser sucientes para minimizador local, mas no para minimizador
global. Portanto, procurando condies sucientes, os minimizadores globais
podem escapar. Encontre exemplos de minimizao sem restries (mesmo
em uma variavel) onde o minimizador global no satisfaa a condio suci-
ente usual para minimizador local (Hessiana denida positiva).

3. Considere o problema de minimizar f (x) sujeita a h(x) = 0 e suponha que, no


sistema de equaes h(x) = 0, m variveis podem ser postas em evidncia em
funo das restantes n m variveis, ao menos em uma vizinhana do mini-

mizador local x . Prove que, nesse caso, as condies KKT (ou Lagrange) se
satisfazem. Faa este exerccio sem usar os teoremas provados neste captulo.

4. Usando o Lema de Carathodory, prove que o fecho convexo de um conjunto


compacto deve ser compacto.

5. Prove que, se a propriedade B uma CQ e A implica B, ento a propriedade


A uma CQ.

6. Prove que Regularidade MF CPLD. Analise cada uma destas condies


desde o ponto de vista de facilidade de vericao.

7. Neste captulo consideramos que a regio admissvel do problema central


vem dada por h(x) = 0, g(x) 0. Suponha que, alm destas restries temos
x e prove os resultados do captulo com a hiptese de que o minimizador

local x um ponto interior de .

8. Prove que se x minimizador local e satisfaz MF, ento o conjunto de



multiplicadores associados a x compacto e convexo.

9. No comeo deste captulo declaramos ser muito fcil denir algoritmos (ine-
cientes) tais que todo ponto de acumulao um minimizador global. Dena
um algoritmo desse tipo rigorosamente e medite sobre o assunto.

10. Considere o problema de minimizar f (x, y) sujeita a xy = 0, x 0, y


0. Verique que CPLD no satisfeita em nenhum ponto vivel (portanto
LIAC e Mangasarian-Fromovitz tampouco). Que acontece com a condio
de otimalidade que chamamos AKKT?
36 Captulo 4. Condicoes de Otimalidade e Criterios de Parada

11. Analise as diferentes condies necessrias de otimalidade desde o ponto de


vista da maior ou menor facilidade de vericao.

12. Invente problemas simples (digamos, com n = 2) com diferentes condies


de qualicao. Execute Algencan para resolver esses problemas, observe e
interprete o comportamento do algoritmo. Escreva uma pequena monograa
a respeito.

13. Diremos que um ponto x IR


n
-KKT forte do problema (4.1)-(4.2) se
m p
existem IR , IR+ tais que:

kf (x) + h(x) + g(x)k ,


kh(x)k , kg(x)+ k ,
gi (x) < 0 i = 0. para todo i = 1, . . . , p

Diremos, ao mesmo tempo, que x


um ponto AKKT-forte se, para todo
> 0, existe um ponto -KKT forte cuja distncia a x menor que .
Obviamente,
-KKT forte -KKT
e
AKKT-forte AKKT.

Investigue a seguinte questo: A condio AKKT-forte estritamente mais


forte que AKKT?

14. Se diz que o ponto admissvelx satisfaz a condio AGP( ) (onde (0, ])
k
(introduzida por Martnez e Svaiter, 2003) se existe uma seqncia {x } que
k k k
converge a x e tal que kPAk (x f (x )) x k 0, onde PAk a projeo
em Ak e Ak o poliedro denido por:

h(xk )T (x xk ) = 0,

gi (xk )T (x xk ) 0 se gi (xk ) 0,
gi (xk ) + gi (xk )T (x xk ) 0 se 0 > gi (xk ) .
Interprete geometricamente esta condio. Prove que todo minimizador local
AGP. Estabelea e prove todas as relaes possveis entre AKKT e AGP.

15. Prove que se um ponto KKT satisfaz Mangasarian-Fromovitz, o conjunto dos


multiplicadores de Lagrange associado limitado e convexo.
Captulo 5
Subproblemas Irrestritos

Em cada iterao do Mtodo de Lagrangiano Aumentado precisamos minimizar


L (x, , ) com respeito a x, em um conjunto geralmente simples que
a funo
n
chamamos . Neste captulo consideramos o caso menos complicado: = IR .
Portanto, em cada iterao precisamos resolver um subproblema de minimizao
sem restries. Por tradio, e para simplicar a notao, chamaremos f a funo
objetivo deste subproblema.
Em princpio, vamos supor que f tem derivadas primeiras contnuas para todo
x IRn . Nada diremos, no comeo, sobre derivadas segundas. Esta omisso
conveniente j que a funo Lagrangiano Aumentado no tem derivadas segun-
das contnuas quando o PNL tem desigualdades, independentemente do grau de
suavidade das funes que as denem.

5.1 Algoritmo Geral


Deniremos um algoritmo bastante geral para minimizao sem restries, dentro
do qual se encaixa a maioria dos algoritmos ecientes conhecidos. Como todos os
mtodos para resolver problemas no-lineares, trata-se de um algoritmo iterativo,
k n 0
que gera uma seqncia {x } IR partindo de um ponto inicial x .

Algoritmo 5.1. Sejam (0, 1), (0, 1/2), M > 1, > 0 os parmetros al-
gortmicos. Seja x0 IRn o ponto inicial. Dado xk IRn , os passos para calcular
xk+1 so:

Passo 1. Se kf (xk )k = 0, terminar a execuo do algoritmo.

Passo 2. Calcular dk IRn tal que

f (xk )T dk kdk kkf (xk )k e kdk k kf (xk )k.

37
38 Captulo 5. Subproblemas Irrestritos

Passo 3. Calcular tk > 0, xk+1 IRn , tal que

f (xk+1 ) f (xk + tk dk ) f (xk ) + tk f (xk )T dk

   
k k k k T k
tk 1 ou f (x + tk d ) > f (x ) + tk f (x ) d para algum tk M tk .

Vejamos as razes que fundamentam cada passo deste mtodo.

1. No Passo 1 decretamos que, se o gradiente no ponto atual xk nulo, no vale


a pena continuar a execuo do algoritmo. Ou seja, nos conformamos com
encontrar pontos onde o gradiente zero e no pretendemos ir mais longe
que isso.

2. Se o gradiente no se anula em xk , procuramos uma direo de busca dk no


Passo 2. Duas condies so exigidas a uma direo desse tipo. A primeira
que deve ser uma direo de descida k T k
, isto , a derivada direcional f (x ) d
k k
deve ser menor que zero. Mais precisamente, o ngulo entre d e f (x )
deve ser menor ou igual que um ngulo xo menor que /2, denido pelo
parmetro algortmico . Se dk deveria ser um
fosse igual a 1, a direo
6
mltiplo do gradiente. Em geral somos muito menos exigentes, e = 10 a
tolerncia recomendada pela tradio. A segunda condio que o tamanho
k k
de d deve ser, pelo menos, proporcional ao tamanho de f (x ). A constante
k
de proporcionalidade . A razo para isto que, se f (x ) grande,
provavelmente estamos longe da soluo e, em conseqncia, queremos uma
direo de busca grande.

3. No Passo 3 estabelecemos que o ponto nal de nossa busca linear, xk + tk dk ,


deve satisfazer a Condio de Armijo:

f (xk + tk dk ) f (xk ) + tk f (xk )T dk .

Se denimos (t) = f (xk + tdk ), a condio de Armijo equivale a

(tk ) (0) + tk 0 (0).

Em outras palavras, com esta condio se exige que (tk ) que por baixo da
0
reta que passa por (0, (0)) e tem inclinao (0). Pretendemos assim, no
k k k
apenas que f (x + tk d ) seja menor que f (x ), mas que seja sucientemente
menor. Por isso esta condio se denomina, muitas vezes, de decrscimo
suciente.
5.1. Algoritmo Geral 39

Entretanto, no nos satisfazemos com que a Condio de Armijo se verique.


Temos de garantir que o passo tk s no maior porque tal coisa impossvel,
ou seja, que no tomamos passos articialmente pequenos. Por isso, exigimos
que, ou tk 1, ou h um passo fracassado tk , no muito maior que tk , onde
a Condio de Armijo no se vericou.
k+1
Por ltimo, desejamos deixar a porta aberta para escolher um ponto x
k k
que seja, inclusive, melhor que o prprio ponto x + tk d . Por isso impomos,
k+1
para x , a mera exigncia de que seu valor funcional seja menor ou igual a
f (x + tk dk ). Obviamente, admissvel denir xk+1 = xk + tk dk .
k

O Passo 3 do Algoritmo 5.1 admite muitas implementaes diferentes, algumas


boas, outras no. A estratgia mais elementar consiste em escolher tk como o
`
primeiro nmero da seqncia {2 } que satisfaz a Condio de Armijo. fcil ver
que, dessa maneira, se obtm um passo de acordo com o estabelecido no algoritmo,
k
com M = 2. A direo d tambm pode ser escolhida de muitas maneiras e,
k k
neste caso, a mais bvia d = f (x ). Com essas duas escolhas, obtemos uma
verso do Mtodo de Mxima Descida, um dos procedimentos mais conhecidos para
minimizar sem restries.
O Algoritmo 5.1 tem quatro parmetros algortmicos: , , M e . Os trs
primeiros so adimensionais, isto , servem para calcular magnitudes do mesmo
tipo e, portanto, seu valor recomendado pode ser discutido independentemente dos
dados do problema. Por exemplo, o mnimo valor permitido para o cosseno de
um ngulo, e a frao da derivada direcional que dene o decrscimo suciente.
Neste caso, a tradio usar = 104 .
O valor de M se relaciona com a estratgia usada na busca linear para retroceder
quando o decrscimo suciente no se verica para um passo t. O usual, neste caso,
escolher o novo passo, menor que t, como o minimizador de uma parbola (ou
cbica) que interpola entre t = 0 e t = t. Mas tal minimizador (tmin ) poderia
car muito prximo de 0 ou muito prximo de t, com o qual gastar uma avaliao
em x + tmin d seria pouco econmico. Por isso se usam salvaguardas. Se tmin
k k

menor que t/M ou maior que t(1 1/M ), este passo descartado e substitudo
por tmin = t/2. Com isto, o segundo preceito do Passo 3 do algoritmo obedecido.
O parmetro algortmico mais delicado porque, ao contrrio dos outros, di-
mensional, isto , compara magnitudes de diferente tipo. Com efeito, suponhamos
que, em vez de minimizar a funo f, temos de minimizar a funo f = 10f . Os
dois problemas so totalmente equivalentes e, portanto, desejaramos que o algo-
ritmo de minimizao tivesse idntico comportamento em ambos casos. Entretanto,
f = 10f e, portanto, as condies kdk k kf (xk )k e kdk k kf(xk )k no
so equivalentes. Em outras palavras, deveriam ser usados diferentes valores de
nos dois problemas. Uma anlise mais cuidadosa revelaria que o valor de deve ser
k
proporcional norma da inversa da Hessiana em x . Felizmente, os procedimentos
40 Captulo 5. Subproblemas Irrestritos

usados para calcular dk frequentemente satisfazem a condio kdk k kf (xk )k


automaticamente, para um valor de que no conheceremos, mas pelo qual no
precisaremos nos preocupar.
EmGencan, que o mtodo para resolver subproblemas simples usado em
Algencan, a direo dk calculada por uma estratgia chamada Newton-Truncado
ou, alternativamente, por uma estratgia quase-Newton. O Passo 3 tambm
implementado de maneira sosticada, com a incluso de interpolaes quando
necessrio diminur t e de extrapolaes, quando parece que conveniente avanar.

5.2 Boa Definicao e Convergencia Global


Veremos primeiro que o Algoritmo 5.1 est bem denido. Isto signica que, se o
k k+1
algoritmo no pra em x , sempre possvel obter x .

Teorema 5.1. O Algoritmo 5.1 est bem denido e termina em xk se, e somente
se, f (xk ) = 0.

Prova. Suponhamos que f (xk ) 6= 0. Pelas condies do Passo 2 e a diferenciabi-


lidade de f,
f (xk + tdk ) f (xk )
lim = f (xk )T dk < 0.
t0 t
Logo,
f (xk + tdk ) f (xk )
lim = 1.
t0 tf (xk )T dk
Como < 1, para t sucientemente pequeno, temos:

f (xk + tdk ) f (xk )


.
tf (xk )T dk

Como f (xk )T dk < 0, deduzimos:

f (xk + tdk ) f (xk ) + tf (xk )T dk .

para t
sucientemente pequeno. Logo, se escolhemos tk como o primeiro nmero
`
da seqncia {M } que satisfaz a condio acima, as condies do Passo 3 do
Algoritmo 5.1 cam satisfeitas. QED
O seguinte teorema se diz de Convergncia Global. Ele estabelece que, indepen-
dentemente do ponto inicial, se houver pontos limite, o gradiente deve se anular
nos mesmos.
5.2. Boa Definicao e Convergencia Global 41

Teorema 5.2. Se x um ponto limite de uma seqncia gerada pelo Algoritmo


5.1, ento f (x ) = 0.

Prova. Seja K = {k0 , k1 , k2 , k3 , . . .} IN



uma seqncia de inteiros tais que

lim xk = x .
kK

Pela continuidade de f,
lim f (xk ) = f (x ).
kK

Pela denio do Algoritmo 5.1, como kj+1 kj + 1, temos:

f (xkj+1 ) f (xkj +1 ) f (xkj ) + tkj f (xkj )T dkj < f (xkj )


para todo j IN .
Logo, pela Condio de Armijo, obtemos:

lim tkj f (xkj )T dkj = 0.


j

Portanto, pelas condies do Passo 2,

lim tkj kf (xkj )kkdkj k = 0. (5.1)


j

Portanto, existe K1 K tal que pelo menos uma das duas possibilidades se-

guintes vericada:
(a) limkK1 f (xk ) = 0
(b)
lim tk kdk k = 0. (5.2)
kK1

No Caso (a), deduzimos que f (x ) = 0 e a tese est provada.


No Caso (b), existe K2 K1 tal que pelo menos uma das duas seguintes possi-

bilidades vericada:
(c) limkK2 kdk k = 0.
(d) limkK2 tk = 0.
No caso (c), as condies do Passo 2 tambm implicam que f (xk ) 0 para
k K2 e, portanto, f (x ) = 0.
Consideremos o Caso (d). Sem perda de generalidade, suponhamos que tk < 1
para todo k K2 . Portanto, pelo Passo 3 do algoritmo, para todo k K2 existe
tk > 0 tal que
f (xk + tk dk ) > f (xk ) + tk f (xk )T dk (5.3)

Mais ainda, como tk M tk e, por (5.2), tk kdk k 0,


lim tk kdk k = 0.
kK2
42 Captulo 5. Subproblemas Irrestritos

Portanto, denindo sk = tk dk para todo k K2 , temos:

lim ksk k = 0. (5.4)


kK2

Por (5.3) e o Teorema de Valor Mdio, para todo k K2 existe k [0, 1] tal que

f (xk + k sk )T sk = f (xk + sk ) f (xk ) > f (xk )T sk . (5.5)

Tambm, pelo Passo 2,

f (xk )T sk
kf (xk )k (5.6)
ksk k
para todo k K2 .
Sejam K3 K2 , s IRn k k
tais que limkK1 s /ks k = s.

Por (5.4), dividindo ambos lados da desigualdade (5.5) por ksk k, e tomando
limites para k K3 , obtemos:

f (x )T s f (x )T s.

Como <1 e f (xk )T sk < 0 para k,


isto implica que f (x )T s = 0. Portanto,

tomando limites em (5.6), obtemos que f (x ) = 0. QED

5.3 Convergencia Local


A Convergncia Global no sentido indicado na seo anterior uma propriedade
muito desejvel para algoritmos de minimizao sem restries, pois ela garante
que convergncia a pontos onde o gradiente diferente de zero no pode acontecer.
Entretanto, a ecincia prtica dos algoritmos est (tambm) ligada a ou-
tras propriedades tericas, de Convergncia Local. Estas propriedades dizem que,
quando a seqncia gerada pelo algoritmo passa perto de uma soluo, tal proxi-
midade reconhecida e o algoritmo converge rapidamente a ela.
k+1 k
Para que isso acontea, precisamos que a distncia entre x e x seja pequena
k
quando f (x ) pequeno. Vamos formalizar esse requisito no seguinte axioma.

Axioma 5.1
O Algoritmo 5.1 implementado de maneira que existe b>0 tal que

kxk+1 xk k bkf (xk )k (5.7)

para todo k IN .
5.3. Convergencia Local 43

Este axioma compatvel com buscas lineares que obedecem as condies do


Passo 3.
Nossa estratgia para provar convergncia local superlinear tem trs partes. No

Teorema 5.3 provamos que, se x um ponto limite isolado, a seqncia inteira
converge a ele. No Teorema 5.4 provamos que, se o algoritmo comea perto de
um minimizador local estrito, a seqncia tambm converge. Apesar de anlogos,
nenhum destes teoremas se deduz do outro. Entretanto, ambos mostram que a
convergncia de toda a seqncia para um ponto x pode ser esperada em muitos
k
casos. Com essa hiptese, e supondo que as direes d so obtidas com uma lo-
soa newtoniana, provaremos convergncia superlinear.


Diremos que x um ponto isolado se existe  > 0 tal que f (x) 6= 0 para todo

x B(x , ) {x }.

Teorema 5.3. Suponhamos que x isolado, a seqncia {xk } gerada pelo


Algoritmo 5.1 com o Axioma 5.1 e limkK xk = x para uma subseqncia K

IN .
Ento, f (x ) = 0 e
lim xk = x .
k

Prova. O fato de que f (x ) = 0 conseqncia do Teorema 5.2. Pela conti-


nuidade de f temos, ao mesmo tempo, que limkK f (xk ) = 0. Portanto, pelo
Axioma 5.1,

lim kxk+1 xk k = 0.
kK

Mas, como x isolado, existe  > 0 tal que f (x) 6= 0 para todo x B(x , )

{x }. Logo, pela hiptese do teorema, existe k1 K tal que

kxk+1 xk k < /2 e kxk x k < /2

para todo k K, k k1 .
Denamos
C = {x IRn | /2 kx x k }.
Claramente, C compacto e no contm pontos onde o gradiente se anula.
Portanto, pelo Teorema 5.2, C no contm innitos iterandos. Em conseqncia,
temos duas possibilidades:

1. Existe k2 IN tal que kxk x k /2 para todo k k2 .

2. Existem innitos iterandos k k1 , tais que kxk x k /2 e kxk+1 xk k >


/2.
44 Captulo 5. Subproblemas Irrestritos


No primeiro caso, como x o nico ponto limite possvel na bola com raio /2,
k
temos que a seqncia {x } converge a x .
k k+1
Vejamos o segundo caso. Seja K1 IN tal que kx x k /2 e kx xk k >

/2 para todo k K1 .
k
Como todos os iterandos {x }kK1 esto na bola com raio /2 e x o nico
limite possvel nessa bola, temos que

lim xk = x .
kK1

Portanto,
lim f (xk ) = 0.
kK1

Pelo Axioma 5.1, isto implica que

lim kxk+1 xk k = 0,
kK1

o que contradiz o fato de que kxk+1 xk k /2 k K1 . Portanto, o segundo


caso mencionado acima impossvel e, em conseqncia, a prova est completa.
QED
Teorema 5.4. Suponhamos que o ponto isolado x um minimizador local estrito
e que a seqncia {xk } gerada pelo Algoritmo 5.1 com o Axioma 5.1. Ento,
existe 1 > 0 tal que, sempre que kx0 x k 1 teremos que

lim xk = x .
k

Prova. Seja >0 tal que x minimizador global estrito de f na bola B(x , )
e suponhamos que esta bola no contm nenhum outro ponto onde o gradiente se
anule. Pelo Axioma 5.1, existe (0, /2) tal que

kxk x k kxk+1 xk k /2. (5.8)

Seja agora c o mnimo de f (x) no conjunto denido por kx x k . Seja


1 (0, ) tal que
kx x k 1 f (x) < c.
0 k
Provemos por induo que, tomando kx x k 1 , obtemos kx x k /2 e
f (xk ) < c para todo k . Pela denio de 1 isto verdade se k = 0. Para o passo
indutivo, observe que, por (5.8), temos que kx
k+1
x k . Mas, pela denio
de c e o fato de que f (x
k+1
) < f (x ), isto implica que kxk+1 x k /2.
k

Portanto, a seqncia completa est contida em B(x , /2). Como x o nico
ponto onde o gradiente se anula nesta bola, o Teorema 5.3 implica que a seqncia
5.3. Convergencia Local 45

inteira converge para x , como queriamos provar. QED


O prximo algoritmo um caso particular do Algoritmo 5.1 e estabelece a
k
forma em que a direo d calculada. Esta direo ser a soluo aproximada de
k
um sistema linear Bk d = f (x ), o que aproxima nossa losoa do paradigma
newtoniano. Mais ainda, a opo newtoniana acentuada pelo fato de que o passo
tk = 1 preferencial: se esse passo satisfaz a condio de Armijo, terminamos nele
a busca linear. Por ltimo, o axioma estabelece que as matrizes Bk sero denidas
positivas e as normas de suas inversas limitadas.

Algoritmo 5.2. Na implementao do Algoritmo 5.1:

A direo dk soluo de

Bk d = f (xk ) + rk ,

onde Bk IRnn simtrica e denida positiva, e

krk k k kf (xk )k

com k [0, 1).

Se
f (xk + dk ) f (xk ) + f (xk )T dk ,
escolhemos tk = 1 e xk+1 = xk + dk .

O conjunto {kBk1 k, k IN } limitado.

k
fcil ver que, se o conjunto {kBk k, k IN } limitado, a condio kd k
k
kf (x )k satisfeita, como requerido pelo Algoritmo 5.1. Mais ainda, se o n-
1 1
mero de condio kBk kkBk k menor ou igual que , a condio do ngulo, dada

no Passo 2 do algoritmo, tambm vale. Naturalmente, sempre podem ser encon-
tradas matrizes Bk satisfazendo esses requisitos.
O prximo teorema completa a teoria de convergncia bsica do Algoritmo 5.1
Mostraremos que, sob o Axioma 5.1, se a seqncia gerada pelo Algoritmo 5.2
converge a um minimizador local onde a Hessiana denida positiva e as matrizes
Bk so aproximaes da Hessiana no sentido de Dennis e Mor, ento a conver-
gncia superlinear e, para k sucientemente grande, tk = 1. Isto signica que,
para k sucientemente grande, precisaremos somente uma avaliao de funo por
iterao.

Teorema 5.5. Suponhamos que:


46 Captulo 5. Subproblemas Irrestritos

1. A seqncia {xk } gerada pelo Algoritmo 5.2 com o Axioma 5.1;


2. f admite derivadas segundas contnuas em uma vizinhana de x ;
3. 2 f (x ) > 0;
4. limk xk = x ;
5. A condio Dennis-Mor
k[Bk 2 f (xk )]dk k
lim =0
k kdk k

e a condio Newton-Inexata

lim k = 0
k

se vericam.

Ento,

Existe k0 IN tal que tk = 1 para todo k k0 .

A seqncia {xk } converge superlinearmente a x .

Prova. Pela frmula de Taylor, temos:

1
f (xk +dk )f (xk )f (xk )T dk = (1)f (xk )T dk + (dk )T 2 f (xk )dk +o(kdk k2 )
2
1
 
k T k 2 k k
= (1 )(d ) [f (x ) + f (x )d ] + (dk )T 2 f (xk )dk + o(kdk k2 ).
2
Mas Bk dk + f (xk ) = rk e, pelo Passo 2 do algoritmo e k 0, temos que
kr k = o(kf (xk )k) = o(kdk k). Portanto,
k

f (xk + dk ) f (xk ) f (xk )T dk


1
 
= (1)(d ) r +(1)(d ) [ f (x )Bk ]d + (dk )T 2 f (xk )dk +o(kdk k2 )
k T k k T 2 k k
2
1
 
= (1 )(dk )T [2 f (xk ) Bk ]dk + (dk )T 2 f (xk )dk + o(kdk k2 ).
2
Mas, pela condio Dennis-Mor:

(1 )(dk )T [2 f (xk ) Bk ]dk = o(kdk k2 ),


5.3. Convergencia Local 47

portanto:

1
 
k k k k T k
f (x + d ) f (x ) (d ) f (x ) = (dk )T 2 f (xk )dk + o(kdk k2 ). (5.9)
2
Seja > 0 um limitante inferior para os autovalores de 2 f (x ). Ento, existe
k1 tal que /2 um limitante inferior para os autovalores de 2 f (xk ) para todo
k k1 . Logo, para todo k k1 , temos:

(dk )T 2 f (xk )dk


/2.
kdk k2

Como < 1/2, por (5.9), temos:

f (xk + dk ) f (xk ) (dk )T f (xk ) 1 o(kdk k2 )


 
+ .
kdk k2 2 2 kdk k2
1 k
para k k2 . Mas, como {kBk k, k IN } limitada e f (x ) 0, pela denio
k k
de r e k 0, temos que kd k 0. Portanto, tomando limite no membro da
direita da ltima desigualdade para k , obtemos:

f (xk + dk ) f (xk ) f (xk )T dk 0

para k sucientemente grande. Logo, pela denio do algoritmo, existe k0 IN


tal que tk = 1 para k k0 . Portanto, a primeira parte da tese est provada.
Pela primeira parte da tese e a denio do Algoritmo 5.2, temos que

xk+1 xk = dk para todo k k0 .

Logo, por Taylor,

f (xk+1 ) = f (xk ) + 2 f (xk )dk + o(kdk k)

= Bk dk + f (xk ) + [2 f (xk ) Bk ]dk + o(kdk k)


= rk + [2 f (xk ) Bk ]dk + o(kdk k).
Da mesma maneira que na primeira parte desta prova, temos que krk k = o(kdk k),
portanto:
f (xk+1 ) = [2 f (xk ) Bk ]dk + o(kdk k).
Logo, pela condio Dennis-Mor,

kf (xk+1 )k
lim = 0.
k kxk+1 xk k
48 Captulo 5. Subproblemas Irrestritos

Pelo Axioma 5.1, a continuidade e no-singularidade da Hessiana em x , dedu-


zimos que
kxk+1 x k
lim = 0.
k kxk+1 xk k

Portanto,
kxk+1 x k
lim = 0.
k kxk+1 x k + kxk x k

Logo,
kxk x k
lim 1 + =
k kxk+1 x k
e, em conseqncia,
kxk+1 x k
lim = 0,
k kxk x k

ou seja, a convergncia superlinear. QED


O ltimo teorema de convergncia local supe existncia e continuidade das
derivadas segundas em x . Entretanto, sabemos que a funo Lagrangiano Au-
mentado L (x, , ) no tem derivadas segundas com respeito a x nos pontos em
que gi (x) + i / = 0. Este fato no grave, e no anula o poder explicativo do
teorema por duas razes. A primeira que em muitos problemas de PNL vale a
propriedade chamada Complementaridade Estrita
, que diz que, se gi (x ) = 0, o
multiplicador correspondente maior que zero. Logo, igualdade gi (x) + i / = 0
seria pouco provvel perto de um ponto desse tipo, supondo que fosse uma boa
aproximao dos multiplicadores. A segunda razo que, se as funes f, gi , h tem
derivadas segundas contnuas, o gradiente do Lagrangiano Aumentado tem uma
propriedade chamada semisuavidade, graas a qual a localidade e superlinearidade
de mtodos Newtonianos preservada.
importante interpretar corretamente os resultados desta seo para entender
o que efetivamente acontece em situaes prticas. O Teorema de Convergncia
Global uma espcie de marco geral para o comportamento do algoritmo, mas o
leitor usurio de algoritmos computacionais no observar, na prtica, iterandos
pulando entre diferentes k
pontos de acumulao da seqncia {x }. A razo
dada pelos Teoremas 5.2 e 5.3. Eles armam que pontos estacionrios isolados so
poderosos atratores para o algoritmo. Isto signica que, na prtica, o algoritmo
gerar uma seqncia que tende a innito, sem pontos de acumulao, ou convergir
k
a um ponto x . A possibilidade kx k descartada se os conjuntos de nvel
k
de f so limitados. Neste contexto, a hiptese x x do Teorema 5.3 no
arbitrria. Agora, este teorema inclui hipteses adicionais cuja pertinncia deve
ser discutida.
5.3. Convergencia Local 49

A Condio Dennis-Mor uma dessas hipteses. Ela arma que

k[Bk 2 f (xk )]dk k = o(kdk k).

Esta condio obviamente satisfeita se escolhermos Bk = 2 f (xk ) e tende a


ser satisfeita se Bk prxima da Hessiana verdadeira, em particular, se kBk
2 f (xk )k 0. Entretanto, a Condio Dennis-Mor satisfeita em condies
muitas vezes menos exigentes. Com efeito, observemos primeiro que, por Taylor,

k2 f (xk )dk [f (xk + dk ) f (xk )]k = o(kdk k).

Portanto, a Condio Dennis-Mor ser satisfeita sempre que

kBk dk [f (xk + dk ) f (xk )]k = o(kdk k).

Agora suponhamos que escolhemos as sucessivas matrizes Bk de maneira a satis-


fazer a Equao Secante
Bk+1 dk = f (xk + dk ) f (xk ),

ou a mais freqente (e muitas vezes equivalente) Bk+1 (xk+1 xk ) = f (xk+1 )


f (xk ).
Nesse caso, para que a Condio Dennis-Mor seja satisfeita, ser suciente
que limk kBk+1 Bk k = 0. Durante algumas dcadas, grande parte dos esforos
em Otimizao Numrica estiveram dirigidos construo de mtodos onde os
requisitos acima fossem compatveis. Tais mtodos, chamados secantes, evitam
o clculo de derivadas segundas nas iteraes do algoritmo irrestrito. Aqui nos
bastar observar que a Condio Dennis-Mor a ferramenta chave do ponto de
vista terico e que ela tende a ser satisfeita quando Bk parecida com a Hessiana,
k 2 k k
ou quando Bk d f (x )d .
Outra hiptese importante limk k = 0. A interpretao literal desta hi-
ptese exigiria a denio de uma seqncia innita e convergente a zero, como
{1/k}, {1/k 2 }, etc. Uma interpretao menos vulgar que k a tolerncia para
k
o erro na resoluo do sistema linear Bk d = f (x ), medida por comparao
dos resduos em d=0 e na soluo encontrada. Quanto menor for esta tolerncia,
mais exata a resoluo dos sistemas lineares, e mais podemos esperar algo pare-
cido convergncia superlinear. Na maioria das vezes, haver duas possibilidades:
resolvemos exatamente o sistema linear ou o resolvemos de maneira inexata, por
algum mtodo iterativo, geralmente Gradientes Conjugados. No primeiro caso, k
muito pequeno, mas no exatamente zero, pois no computador trabalhamos com
preciso alta, mas no innita. De todos modos, a resoluo exata do sistema
frequentemente associada observao de convergncia superlinear. Quando se
resolve o sistema por um mtodo iterativo, o mais usual xar um nico valor
50 Captulo 5. Subproblemas Irrestritos

para k , pequeno, aspirando com isso a que a convergncia, se no for superlinear,


seja pelo menos bastante rpida.
Agora: como observada na prtica a convergncia superlinear? Antes de
responder a esta pergunta, formulemos a imediatamente anterior: observvel o
fato de que tk = 1, ou seja, que cada iterao envolve, assintoticamente, uma nica
avaliao de funo? A resposta sim. Em problemas bem comportados se observa
que a primeira tentativa t = 1 produz o decrscimo esperado e, em conseqncia,
xk+1 = xk + dk , quando Bk parecida com a Hessiana verdadeira e a resoluo do
sistema linear razoavelmente precisa. Se tal coisa no acontece, isso se deve, em
geral, a que a Hessiana na soluo quase singular ou muito mal-condicionada.
Por ltimo, a convergncia superlinear consiste em que kx
k+1
x k/kxk x k
0, o que, se 2 f (x ) no-singular, equivale a
kf (xk+1 )k
lim = 0.
k kf (xk )k

k+1
O que se observa, quando tudo vai bem, que kf (x )k decresce signicativa-
k
mente em relao a kf (x )k, mas o usurio no deve esperar uma convergncia
acadmica e impecvel para zero. Ou seja, se observamos que, em sucessivas itera-
es, a norma do gradiente , digamos, da ordem da metade da norma do gradiente
anterior, isto no signica que a convergncia superlinear esteja sendo violada. O
limite, anal de contas, s acontece no innito.

5.4 Calculo das Direcoes de Busca


O Mtodo de Lagrangiano Aumentado especialmente adequado para problemas
k
de grande porte. Por isso, interessam procedimentos para calcular d que envol-
vam pouca memria e pouco tempo computacional. Via de regra, consideramos
proibitivo o armazenamento completo de uma matriz Bk IRnn . A maneira mais
radical de poupar tempo e memria por iterao consiste em escolher Bk como um
mltiplo da matriz Identidade. Isto , Bk = k I , onde k deve ser maior que zero
para que a matriz seja denida positiva. Dessa maneira:

1
dk = (k I)1 f (xk ) = f (xk ).
k
Denamos sk = xk+1 xk , y k = f (xk+1 )f (xk ). A melhor forma de escolher k
nesse caso d origem ao Mtodo de Gradiente Espectral, introduzido por Raydan
k k
em 1997. A idia satisfazer a equao secante Bk+1 s = y da melhor maneira
possvel dentro das limitao de que as matrizes Bk sejam mltiplos da Identidade.
k k 2
Assim, minimizando kIs y k em relao a , obtemos:
(sk )T y k
k+1 = .
(sk )T sk
5.4. Calculo das Direcoes de Busca 51

Como k+1 , assim denido, poderia ser nulo, negativo ou excessivamente grande,
ele corrigido com salvaguardas min , max > 0, ou seja, em denitiva:

k+1 min{max , max{min , k+1 }}.

Desta maneira, as matrizes Bk so denidas positivas e todas as propriedades de


convergncia global e local, exceto o Teorema 5.5, se vericam.
k+1
Com buscas unidimensionais que exijam f (x ) < f (xk ) para todo k (ditas
montonas), o Mtodo do Gradiente Espectral no funciona muito bem. O de-
sempenho melhora extraordinariamente se, em vez de forar o decrscimo de f em
todas as iteraes, se exige apenas que f diminua, digamos, cada 10 passos. Por
exemplo, a Condio de Armijo pode ser substituda por:

f (xk+1 ) f (xk + tk dk ) max{f (xk ), . . . , f (xk10 )} + tk f (xk )T dk .

Na busca unidimensional comeamos nossos testes para t com t = 1, de maneira


de aproveitar as provveis boas propriedades da escolha espectral.
A memria exigida pelo Mtodo do Gradiente Espectral realmente mnima, o
que faz que para dimenses extremamente grandes seja o nico mtodo utilizvel.
Nos ltimos tempos h um revigoramento dos mtodos de gradientes conjugados
para funes gerais (no quadrticas) mas ainda cedo para uma avaliao dos
progressos neste sentido.

5.4.1 Newton-Truncado
Em Algencan h duas formas de calcular as direes de busca: chamadas Newton-
Truncado (NT) e Quase-Newton (QN). Ambas so aptas para lidar com problemas
de grande porte.
A idia NT simples: consideramos o problema quadrtico:

1 T 2
Minimizar d f (xk )d + f (xk )T d
2
e tratamos de encontrar uma soluo aproximada d usando o clssico Mtodo
de Gradientes Conjugados (GC) de Hestenes e Stiefel. Para isso, comeamos as
iteraes de GC por d = 0 e, em cada iteraco GC, testamos as condies do
Passo 2 do Algoritmo 5.1. Tomamos providncias para car com um iterando
d que verique estas condies. Isto no dicil porque na primeira iterao do
Mtodo GC o iterando um mltiplo de f (xk ). Se essas condies se cumprem,
as iteraes GC continuam at que o problema quadrtico resolvido com uma
preciso dada.
Quando a Hessiana 2 f (xk ) no denida positiva, o problema de minimizao
quadrtica acima pode no ter soluo. Nesse caso, o Mtodo GC se interrompe,
52 Captulo 5. Subproblemas Irrestritos

mas a possibilidade de calcular uma direo adequada do ponto de vista do Passo 2


do algoritmo, no afetada. O pior que pode acontecer que sejamos obrigados a
escolher um mltiplo da direo do gradiente.
Em cada passo do Mtodo de Gradientes Conjugados necessrio calcular pro-
dutos Hessiana Vetor. s vezes, no queremos fornecer a Hessiana, porque no
podemos calcul-la ou porque julgamos seu clculo pouco econmico. Nesse caso,
que o mais freqente, cada vez que aparece um produto desse tipo, o substitumos
por um quociente incremental, usando a aproximao:

1
2 f (xk )d [f (xk + hd) f (xk )]
h
com um valor pequeno de h. Nestas circunstncias, cada iterao do Mtodo de
Gradientes Conjugados envolve uma avaliao adicional do gradiente de f.

5.4.2 Quase-Newton e Precondicionadores


Nesta seo abandonamos a simplicao de chamar f funo objetivo dos sub-
problemas de Lagrangiano Aumentado porque planejamos usar a estrutura espec-
ca desta funo.
Se trata de criar uma frmula quase-Newton adequada forma da Hessiana do
Lagrangiano Aumentado. Esta Hessiana est bem denida sempre que i +gi (x) 6=
0. Por clculos diretos, constatamos:

2 L (x, , ) = 2 f (x) + A(x) + G(x),

onde
m
X 
T T
X
A(x) = hi (x)hi (x) + gi (x)gi (x) ,
i=1 iI(x)
m
[i + hi (x)]2 hi (x) + [i + gi (x)]2 gi (x),
X X
G(x) =
i=1 iI(x)
e
I(x) = {i {1, . . . , p} | i + gi (x) > 0}.
Suponhamos que xc a iterao atual no Algoritmo 5.1 e que xp a iterao
anterior.
Por simplicidade, escreveremos L(x) = L (x, , ).
Queremos denir uma aproximao razovel e barata de 2 L(xc ). Denimos:

s = xc xp , y = L(xc ) L(xp ).

Para obter a aproximao da Hessiana, a matriz A(x) ser corrigida duas vezes.
Na primeira correo, acrescentamos uma matriz diagonal I , com o objetivo de
5.4. Calculo das Direcoes de Busca 53

garantir no-singularidade. (Observe que A(x) sempre semidenida positiva.)


Com efeito, seguindo a losoa espectral, denimos:

spec = Argmin k(A(x) + I)s yk2 .

Isto implica:
(y A(x)s)T s
spec = .
sT s
Por segurana, corrigimos:

= max{min , min{max , spec }}

e, nalmente,
A+ = A(x) + I.
Se sT y 108 kskkyk, denimos H = A+ . Em caso contrrio, corrigimos A+ de
maneira a satisfazer a equao secante, mantendo a denio-positiva de H. Como
A+ denida positiva, o natural corrigir esta matriz usando uma frmula famosa
chamada BFGS. Assim:

yy T A+ ssT A+
H = A+ + .
sT y sT A+ s
Com isto, pode-se vericar a equao secante e o fato de que H continua denida
positiva.
Isto completa a denio da aproximao da Hessiana.
A direo de busca ser obtida resolvendo um sistema linear cuja matriz H,
com o Mtodo GC. Um bom precondicionador para este sistema pode ser denido
da seguinte maneira.

1. Dena D = Diag(A(x)).

2. Calcule o coeciente espectral:

(y Ds)T s
  
P = max min , min max , .
sT s

3. Calcule D+ = D + P I .

4. Como no clculo de H, se sT y 108 kskkyk, denimos HP = D+ . Se no,


denimos
yy T D+ ssT D+
HP = D+ + .
sT y sT D+ s
(Observe que HP no precisa ser calculado explicitamente.)
54 Captulo 5. Subproblemas Irrestritos

Neste processo, HP a correo BFGS de uma matriz denida positiva e,


portanto, resulta tambm denida positiva. Sua inversa vem dada por:

1 1 T 1 T
(s D+ y)sT + s(s D+ y) (s D+ y) yssT
HP1 = D+
1
+ .
sT y (sT y)2

A explicitude desta frmula mostra que HP pode ser usado como precondicionador
do Mtodo GC. Mais ainda, nada impede que este precondicionador seja usado
tambm para as iteraes GC no esquema Newton-Truncado, o que de fato feito
como primeira opo em Algencan.

EXERCCIOS

1. Mostre, com um exemplo adequado, a regio onde a funo Lagrangiano


Aumentado no tem derivadas segundas contnuas.

2. Faa desenhos ilustrando a Condio de Armijo.

3. Mostre que, se no Algoritmo 5.1 eliminamos a condio que segue Condio


de Armijo, ento passos tk arbitrariamente e desnecessariamente pequenos
poderiam ser tomados, e o algoritmo poderia convergir a um ponto onde o
gradiente no se anula.

4. Mostre que o ponto xk+1 escolhido no Passo 2 do Algoritmo 5.1 poderia no


satisfazer a Condio de Armijo.

5. Dena explicitamente uma seqncia {z k }, densa em IRn . Modique o Al-


goritmo 5.1 da seguinte maneira. Em primeiro lugar, elimine o Passo 1. Em
segundo lugar, depois de obtido tk de acordo com o especicado no Passo 3,
k k+1
calcule f (z ) e dena x = xk + tk dk se f (xk + tk dk ) f (z k ) e xk+1 = z k
k
em caso contrrio. Prove que, para este algoritmo, temos que f (x )
ou todo ponto limite do algoritmo um minimizador global. Compare este
resultado com os resultados obtidos neste Captulo para o Algoritmo 5.1.
Detecte, critique e resolva o aparente paradoxo.

6. Invente mtodos de busca linear que se ajustem aos Passos 2 e 3 do Algo-


ritmo 5.1.

7. Complete o argumento do Teorema 5.5, pelo qual

kf (xk+1 )k kxk+1 x k
lim = 0 lim = 0.
k kxk+1 xk k k kxk+1 xk k
5.4. Calculo das Direcoes de Busca 55

8. Com base nos resultados tericos deste captulo, tire concluses prticas so-
bre o comportamento do algoritmo Gencan. Rode diversos exemplos de sua
inveno com este algoritmo e verique a correo ou incorreo de suas con-
jecturas. Nos casos negativos, volte sobre os resultados e sua interpretao.

9. Invente problemas de minimizao sem restries com derivadas primeiras


contnuas mas com descontinuidade das derivadas segundas do tipo das pa-
decidas pelo Lagrangiano Aumentado. Faa com que as solues desses pro-
blemas sejam pontos onde as derivadas segundas no existem. Estude em-
piricamente o comportamento de Gencan nesses problemas tire concluses e
faa conjecturas.

10. Complete a seo sobre clculo das direes de busca com as provas insinu-
adas no texto.
56 Captulo 5. Subproblemas Irrestritos
Captulo 6
Subproblemas com
Restricoes Simples

No Mtodo de Lagrangiano Aumentado procuramos minimizar f (x) sujeita a h(x) =


0, g(x) 0 e x . Em cada iterao do mtodo, as restries h(x) = 0 e g(x) 0
passam funo objetivo e o processo consiste em minimizar a funo resultante
restrita a x . Este procedimento supe que contamos com algoritmos sensatos
para minimizar funes no conjunto . Em princpio, no h restries para a
forma que o conjunto pode adotar, mas o caso mais comum que se trate de
uma caixa:
= {x IRn | amin x amax }.
Os vetores amin e amax , amin < amax so os limitantes inferiores e superiores da
caixa , respectivamente.
Seguindo a simplicao de notao adotada no Captulo 5, chamaremos f (x)
funo objetivo do problema de minimizao em caixas. O caso de que a caixa
no possua algum limitante inferior ou superior no ser tratado explicitamente
aqui porque, na prtica, o conveniente adotar limitantes articiais, de mdulos
muito grandes, quando os limitantes naturais no existem.
til considerar como a unio de faces disjuntas. Dado um conjunto de
ndices I {1, . . . , 2n} chamamos FI ao conjunto dos pontos x tais que:

1. xi = amin
i se i I;

2. xi = amax
i se n + i I;

3. amin
i < xi < amax
i se i
/I e n+i
/ I.

Por exemplo, F o interior de , F{1,...,n} o conjunto cujo nico elemento


(amin min
1 , . . . , an ) e assim por diante. Claramente, se I 6= J temos que FI FJ = e
FI = . Uma face tambm se caracteriza por suas variaveis livres e suas variveis
xas. As variveis livres na face FI so aquelas variveis xi tais que i
/ I e n+i
/ I.

57
58 Captulo 6. Subproblemas com Restricoes Simples

As variveis xi tais que i I se dizem xas no extremo inferior e as variveis xi


tais que n + i I se dizem xas no extremo superior.
Denotamos FI o fecho topolgico de FI . Por exemplo, F = .
k
Os algoritmos mais razoveis para minimizar em caixas geram pontos x que
k
pertencem caixa para todo k . Portanto, cada ponto x pertence a uma das faces
de , e somente a uma. A maioria dos algoritmos ecientes se baseiam no Princpio
das Restries Ativas, enunciado em continuao.

6.1 Princpio Forte das Restricoes Ativas


Suponhamos que nosso objetivo encontrar um minimizador global da funo
0
contnua f (x) sujeita a x . Seja x FI(x0 ) . Suponhamos que a seqncia
{xk }, gerada a partir do ponto inicial x0 , obedece os seguintes axiomas:

1. Se xk minimizador global de f em , a seqncia pra em xk . Em caso


k+1
contrrio, o ponto x satisfaz f (xk+1 ) < f (xk ).

2. Se xk no minimizador global de f emFI(xk ) , o ponto xk+1 minimizador


global de f em FI(xk ) ou pertence fronteira FI(xk ) FI(xk ) .

As iteraes de um algoritmo que obedece os axiomas acima so, em conseqn-


cia, de trs tipos diferentes:

k
Iteraes internas: chamamos assim s iteraes nas quais x no minimi-
k+1
zador global de f em FI(xk ) e x FI(xk ) minimizador global de f nessa
face.

Iteraes fronteira: xk no minimizador global de f em FI(xk ) e xk+1


FI(xk ) FI(xk ) .

Iteraes de abandono: xk
minimizador global de f em FI(xk ) mas, no
k+1
sendo minimizador global de f em , x
/ FI(xk ) .

A losoa que est por trs deste princpio que uma face deve ser explorada
at que um minimizador nela seja atingido ou at que seja atingido um ponto de
sua fronteira, o que implica uma mudana de face.

Teorema 6.1. Suponhamos que a seqncia {xk } obedece os axiomas desta seo.
Ento, a seqncia nita, ou seja, existe k tal que xk minimizador global de f
sujeita a x .

Prova. Suponhamos que a seqncia {xk } innita. Como o nmero de faces


k k+1
nito e f (x ) > f (x ) sempre que xk no seja o minimizador global, tanto o
6.2. Princpio Pratico de Restricoes Ativas 59

nmero de iteraes internas como o nmero de iteraes de abandono deve ser


nito. Isto signica que existe k0 tal que para todo k k0 todas as iteraes so do
tipo fronteira. Mas em cada iterao do tipo fronteira o nmero de variveis livres
se reduz em pelo menos um. Portanto, tambm no pode haver innitas iteraes
deste tipo. Logo, a seqncia no pode ser innita. QED

6.2 Princpio Pratico de Restricoes Ativas


O Princpio Forte de Restries Ativas assinala uma direo algortmica, mas no
gera mtodos implementveis. A razo que quase nunca podemos pretender
k
atingir um minimizador global de f na face de x , muito menos em tempo nito.
Entretanto, o princpio de permanecer em uma mesma face enquanto essa per-
manncia seja promissora vlido. A maneira sensata de permanecer na face
k
qual pertence o iterando x pensar no problema irrestrito cujas variveis so as
variveis livres nessa face e aplicar um algoritmo de minimizao sem restries
a esse problema. O algoritmo irrestrito ter, provavelmente, a tendncia de con-
vergir a um ponto estacionrio para as variveis livres (ou seja, um ponto onde se
anulam as derivadas em relao a essas variveis), mas poder trombar em uma
parede, isto , poder se deter em uma face de dimenso menor. Por outro lado,
em cada passo ser necessrio decidir se ainda vale a pena continuar nessa face ou
se desejvel abandon-la para tentar a sorte em uma face de dimenso maior.

O Gradiente Projetado Contnuo


A partir deste momento, neste captulo, suporemos que a funo f tem derivadas
contnuas.
A deciso de continuar na mesma face ou abandon-la pode ser tomada usando
as componentes do chamado Gradiente Projetado Contnuo.
k
Consideremos, dado x , o problema

1
Minimizar f (xk )T (x xk ) + kx xk k2 sujeita a x . (6.1)
2
Completando quadrados na funo objetivo, vemos que este problema equi-
valente a
Minimizar kxk f (xk ) xk2 sujeita a x .
A soluo x deste problema a projeo de xk f (xk ) em . Por inspeo direta,
vemos que esta soluo dada por:

f k
xi = min{amax
i , max{amin
i , xki (x )}}.
xi
60 Captulo 6. Subproblemas com Restricoes Simples

Denotaremos x = P (xk f (xk )). fcil ver, por outra parte, que x o nico
ponto estacionrio (KKT) do problema (6.1) e que x depende continuamente de
xk .
k
Por outro lado, se x fosse um ponto KKT do problema de minimizar f (x) em
, tambm seria um ponto KKT de (6.1), e vice-versa. E esse fato seria equivalente
k
a dizer que kx x k = 0. Todas estas consideraes nos levam a denir o gradiente
k
projetado contnuo gP (x ) como

gP (xk ) = P (xk f (xk )) xk


k
e a denir o grau de estacionariedade de x como a norma deste vetor.
k
Por sua vez, gP (x ) pode ser decomposto de maneira nica como

gP (xk ) = gI (xk ) + [gP (xk ) gI (xk )],


onde gI (xk ) FI(xk ) e gP (xk ) gI (xk ) est no com-
est no subespao associado a
k k
plemento ortogonal. Em outras palavras, gI (x ) igual a gP (x ) para as variveis
k
livres e tem zeros nas variveis xas. Obviamente, gI (x ) tambm depende conti-
k
nuamente de x . Este vetor se chama Gradiente Interno.
k k
Se gI (x ) = 0 temos que x um ponto estacionrio de f (x) restrita a x FI(xk ) .
Neste caso, nada mais cabe esperar de um algoritmo irrestrito que usa gradientes e a
k
recomendao sensata (sempre que gP (x ) 6= 0) seria abandonar a face
. A mesma
k
recomendao deveria ser feita se a norma de gI (x ) for pequena em relao
k k
norma de gP (x ). Resumindo, em um algoritmo prtico, a face FI (x ) deveria ser
abandonada quando
kgI (xk )k kgP (xk )k,
onde (0, 1) seria um parmetro algortmico. Em Gencan o teste padro :

kgI (xk )k 0.1kgP (xk )k.

6.2.1 Esquema basico de Gencan


Gencan o algoritmo para minimizar em caixas adotado no projeto Tango. Este
mtodo usa o princpio prtico de restries ativas descrito acima. Para minimizar
dentro das faces, Gencan emprega um algoritmo do tipo Newton Truncado ou
um algoritmo Quase Newton. Quando o teste padro indica que a face deve ser
abandonada Gencan emprega uma iterao do mtodo de Gradiente Projetado
Espectral (SPG).

Iteracao SPG
Sejam min e max
nmeros positivos pequeno e grande, respectivamente, denidos
1
independentemente de k . Seja (0, ). Se k = 0, escolhemos k [min , max ]
2
6.2. Princpio Pratico de Restricoes Ativas 61

arbitrariamente. Se k > 0, denimos y = f (xk ) f (xk1 ) e s = xk xk1 .


Neste caso, o coeciente espectral k se dene:

sT y
  
k = max min , min max , T .
s s
A direo SPG um gradiente projetado escalado por k :
1
 
k
d = P x f (xk ) xk .
k
k
Uma vez calculada a direo SPG, o seguinte iterando obtido pelos seguintes
passos:
(1) t 1;
(2) Teste da condio de decrscimo suciente de Armijo:

f (xk + tdk ) f (xk ) + tf (xk )T dk .

Se esta condio se verica, dena tk = t e xk+1 = xk + tk dk . Em caso contrrio,


escolha um novo t no intervalo [0.1t, 0.9t] e repita o teste de Armijo.

Lemma 6.1. A iterao SPG est bem denida.


Prova. Suponhamos que gP (xk ) 6= 0. Portanto, xk no minimizador de kx
(xk f (xk )k2 sujeita a x . Logo, xk no satisfaz a condio de otimalidade
deste problema. Mas a condio de otimalidade deste problema a mesma que a
do problema

1
Minimizar kx (xk f (xk )k2 sujeita a x .
k
k k
Logo, x no satisfaz a condio de otimalidade deste problema. Portanto, x 6=
P (xk 1k f (xk ). Mais ainda, a funcao objetivo em P (xk 1k f (xk ) vale menos
k
que em x . Como a funo objetivo uma quadrtica convexa, a funo objetivo
k k k k
ao logo do segmento [x , x + d ] uma parbola convexa. Portanto, a direo d
k
deve ser uma direo de descida para a quadrtica. Como os gradientes em x so
k
iguais, d uma direo de descida para f .
O fato de que, para t sucientemente pequeno, se obtenha a condio de Armijo
segue como no Teorema 5.1. Com isso, ca provado que a iterao SPG est bem
denida. QED
Lemma 6.2. Suponhamos que existe um conjunto innito de ndices K = (k1 , k2 , . . .)
tal que, em Gencan, xk+1 obtido por uma iterao SPG para todo k K . Ento,
62 Captulo 6. Subproblemas com Restricoes Simples

todo ponto limite de {xk }kK estacionrio.

Prova. Pela Condio de Armijo, e o mesmo raciocnio do Teorema 5.2, deduzimos


que
lim tk f (xk )T dk = 0.
kK

Pela denio da direo SPG, temos:

k k 2
0> kd k + f (xk )T dk f (xk )T dk .
2
Portanto,
k k 2
 
lim tk kd k + f (xk )T dk = 0.
kK 2
Consideremos primeiro o caso em que

k k 2
lim kd k + f (xk )T dk = 0.
kK 2
Seja K1 K tal que limkK1 xk = x .

Como k [min , max ] para todo k K , existe um subconjunto innito de
ndices K2 K1 tal que

lim k = > 0.
kK2

Denimos Q(d) =
2
kdk2 + f (x )T d. Suponhamos que existe d IRn tal que

x + d

e
Q(d) < 0.
Seja dk = x + d xk . k
Claramente, x + dk = x + d para todo k K2 . Por
continuidade, temos:

k k 2
lim kd k + f (xk )T dk = Q(d)
< 0.
kK2 2
Mas, pela denio de dk :
k k 2 k
kd k + f (xk )T dk kdk k2 + f (xk )T dk .
2 2
Portanto, para k K2 sucientemente grande,

k k 2 < 0.
kd k + f (xk )T dk Q(d)/2
2

Isto contradiz que


k
2
kdk k2
+ f (xk )T dk 0. A contradio veio de supor que d
com a propriedade < 0 poderia existir.
Q(d)
6.2. Princpio Pratico de Restricoes Ativas 63

Portanto, para todo d IRn tal que x + d , temos que Q(d) 0. Logo, x
estacionrio.
1 1
Passemos agora ao caso em que
2
kdk k2 + k
f (xk )T dk no tende a zero.
Portanto, existe K3 K tal que

1 k 2 1
kd k + f (xk )T dk < c < 0,
2 k
para todo k K3 , tk < 1,
lim tk = 0
kK3
e
lim k = .
kK3

Pelo algoritmo de escolha de tk , isto implica que, para todo k K3 existe


t0k 10tk tal que a Condio de Armijo falha para t0k .
Logo, para todo k K3 ,

f (xk + t0 dk ) > f (xk ) + t0 f (xk )T dk .

Portanto
f (xk + t0 dk ) f (xk )
> f (xk )T dk .
t0k
Pelo Teorema de Valor Mdio, para todo k K3 existe k [0, 1] tal que

f (xk + k t0k dk )T dk > f (xk )T dk .

Como o conjunto de vetores {dk } limitado, existe um subconjunto innito de


k
ndices K4 K3 tal que limkK4 d = d.

Tomando limites para k K4 nos dois lados da desigualdade, obtemos:

f (x )T d f (x )T d.

Como f (xk )T dk < 0 para todo k, isto implica que f (x )T d = 0. Portanto,


kdk2 + f (x )T d 0.
2
Logo,
k k 2
lim kd k + f (xk )T dk 0.
kK4 2
Isto contradiz o fato de que
k
2
kdk k2 +f (xk )T dk c < 0 para todo k K4 . QED
64 Captulo 6. Subproblemas com Restricoes Simples

Axiomas para Iteracoes na Face


Gencan minimiza funes em uma caixa combinando iteraes que no modicam
face qual o iterando pertence com iteraes SPG, que abandonam a face, quando
o teste correspondente indica que isto deve ser feito.
As iteraes dentro da face modicam somente as variveis livres, portanto
podem ser consideradas iteraes de um algoritmo irrestrito, onde a funo objetivo
f , mas sem permitir modicao das variveis xas. Iteraes consecutivas deste
algoritmo devem conduzir a um ponto no qual o gradiente interno se anula ou
devem parar de maneira abrupta na fronteira da face. Esta propriedade pode ser
formulada nos seguinte axioma:
Axioma Interno
Se xk , xk+1 , . . . FI uma seqncia de innitas iteraes obtidas pelo Algo-
ritmo irrestrito interno, ento

f k
lim (x ) = 0
j xj

para todas as variveis livres xj . (Isto implica que gI (xk+j ) 0.)

Os resultados do Captulo 5 indicam que o Axioma Interno fcil de vericar se,


como algoritmo interno se usa qualquer mtodo irrestrito razovel. Esta armao
no est isenta de sutileza, pela existncia de limitantes para as variveis livres.
Ou seja, um algoritmo irrestrito pode indicar como iterando seguinte um ponto
que no verica as restries das variveis livres. Neste caso, o algoritmo deve ter
a capacidade de rejeitar esse iterando voltando ao interior da face, ou de bater na
fronteira diminundo o valor da funo.

Convergencia de Gencan
A descrio algortmica de Gencan pode ser resumida da seguinte maneira:
Algoritmo 6.1.
Seja (0, 1) o parmetro algortmico que fornece o critrio para abandonar
0 k
as faces. Seja x o ponto inicial. Se x um iterando, os passos para
k+1
obter x ou interromper a execuo do algoritmo so os seguintes.
Passo 1. k k
Se gP (x ) = 0, parar. (O ponto x estacionrio do problema de
minimizar f em .)
Passo 2. Se kgI (xk )k kgP (xk )k, obter xk+1 usando uma iterao SPG e voltar
ao Passo 1.
Passo 3. Se o teste de abandono do Passo 2 no se verica, obter x
k+1
tal que
k+1 k k+1
f (x )< f (x ) pelo algoritmo irrestrito interno (logo x FI ) ou de maneira
k+1
que x esteja na fronteira de FI .
6.2. Princpio Pratico de Restricoes Ativas 65

Teorema 6.1. Suponhamos que {xk } obtida pelo Algoritmo 6.1. Ento, a seqn-
cia pra em um ponto estacionrio xk ou admite um ponto de acumulao estaci-
onrio.

Prova. Suponhamos que a seqncia no pra no Passo 1 para nenhum k. Se


innitas iteraes so do tipo SPG, a tese segue do Lema 6.1.
Se apenas um nmero nito de iteraes so do tipo SPG, ento, existe uma
face FI k0 todos os iterandos pertencem a FI . Pelo Axi-
tal que a partir de certo
k k k
oma Interno, isto implica que gI (x ) 0. Mas, pelo Passo 2, kgI (x )k > kgP (x ),
k
portanto gP (x ) 0. Pela continuidade de gP isto implica que em todo ponto de
acumulao gP se anula. QED
O Teorema 6.1 interessante porque mostra que, em ltima anlise, Gencan
encontra pontos estacionrios. Entretanto, resulta um pouco decepcionante a im-
portncia que as iteraes SPG tm na prova. Seria mais nobre que o nmero de
iteraes SPG fosse nito, de maneira que as propriedades ltimas de convergncia
fossem as do algoritmo irrestrito. No Teorema 6.2 mostramos uma condio su-

ciente para essa favorvel circunstncia. Diremos que um ponto estacionrio x
dual-degenerado
se existe i {1, . . . , n} tal que i I(x ) ou n + i I(x ), mas

f
(x ) = 0.
xi
Em outras palavras, em pontos dual-no-degenerados somente podem se anular as
derivadas parciais correspondentes a variveis livres.

Teorema 6.2. Suponhamos que todos os pontos estacionrios do problema so


dual-no-degenerados. Ento o nmero de iteraes SPG nito.

Prova. Seja K o conjunto dos ndices tais que xk+1 obtido por SPG para todo
k K. Pelo Lema 6.1 existe K1 K tal que

lim xk = x
kK1

e x estacionrio. Sem perda de generalidade, podemos supor que existe i


k+1
{1, . . . , n} tal que xki = amin
i mas xi > amin
i para um conjunto innito de in-
min
dices K2 K1 . Por continuidade, xi = ai . Entretanto, como x dual-no-

degenerado,
f
(x ) > 0.
xi
Por continuidade, deduzimos que

f k
(x ) > 0
xi
66 Captulo 6. Subproblemas com Restricoes Simples

para todo k K2 sucientemente grande. Portanto, para esses k,

gP (xk )i = 0.

Isto implica que a restrio x = amin


i no poderia ser abandonada na iterao k.
QED
EXERCCIOS
1. Prove a continuidade de gP e gI .

2. Relacione o gradiente interno com o gradiente (com sentido contrrio) da


funo f considerada apenas como dependente das variveis livres na face
FI(xk ) .

3. Generalize o Princpio Forte das Restries Ativas para restries lineares


gerais, de igualdade e desigualdade.

4. Interprete geometricamente a iterao SPG.

5. Mostre que a direo SPG corrige o gradiente projetado no sentido de res-


peitar a dimensionalidade das quantidades envolvidas em seu clculo. Com-
pare esta propriedade com as propriedades do mtodo de Newton para mi-
nimizar sem restries. Estude o comportamento da direo SPG diante de
mudanas de escala em f ou em x.

6. Podemos denir um mtodo onde todas as iteraes sejam SPG. Tal mtodo
existe e resulta bastante til no caso em que um convexo arbitrrio onde
fcil projetar. A ecincia do mtodo SPG, entretanto, est vinculada a
uma modicao simples, que faz com que no seja necessrio diminur f em
todas as iteraes. Nesse caso, a condio de Armijo substituda por

f (xk + tdk ) max{f (xk ), . . . , f (xk10 } + tf (xk )T dk .

(Denimos f (xk ) k < 0). Discuta a provvel ecincia de SPG


arbitrrio se
em comparao a Gencan quando uma caixa. Prove a convergncia a
pontos estacionrios de SPG.

7. A escolha de um novo t na iterao SPG pode ser feita usando interpola-


es parablicas com as salvaguardas denidas no algoritmo. Desenvolva as
frmulas adequadas para essas interpolaes.

8. Prove que o Axioma Interno implica gI (xk+j ) 0

9. Interprete geometricamente a degenerao dual.


6.2. Princpio Pratico de Restricoes Ativas 67

10. Tire concluses prticas sobre os teoremas sobre Gencan apresentados neste
captulo. Baseados neles, que deveria ser observado quando rodarmos Gencan
em problemas particulares?
68 Captulo 6. Subproblemas com Restricoes Simples
Captulo 7
Convergencia Global

Como no primeiro captulo, denimos o Problema de Programao No-Linear:

Minimizar f (x)

sujeita a h(x) = 0, g(x) 0, x , onde h : IRn IRm , g : IRn IRp e IRn


, em geral, simples.
Aqui daremos uma verso do Mtodo de Lagrangiano Aumentado onde os sub-
problemas de minimizar L (x, , ) no so resolvidos exatamente, mas com uma
aproximao que procuraremos denir com cuidado. Para isso, precisaremos espe-
cicar um pouco mais a forma do conjunto simples . Seguindo [1] denimos:

= {x IRn | h(x) = 0, g(x) 0},

onde
h : IRn IRm , g : IRn IRp
e todas as funes envolvidas tm derivadas primeiras contnuas em um subcon-
n
junto sucientemente grande de IR . O operador denotar sempre derivadas em
relao a x.
Quando uma caixa, temos:

m = 0, p = 2n,

g(x) = (amin
1 x1 , . . . , amin
n xn , x1 amax
1 , . . . , xn amax
n )T .
Quando = IRn temos m = p = 0.
p
Dado > 0, IRm , IR+ , o Lagrangiano Aumentado se dene, como no
Captulo 1,

 m  p 
X i 2 X i 2
   
L (x, , ) = f (x) + hi (x) + + max 0, gi (x) + . (7.1)
2 i=1 i=1

69
70 Captulo 7. Convergencia Global

O algoritmo principal vem dado em continuao.

Algoritmo 7.1.
Seja x0 IRn um ponto inicial arbitrrio.
Os parmetros para a execuo do algoritmo so:

[0, 1), > 1,

< min < max < ,


max > 0,
1 > 0,
1i [min , max ] i = 1, . . . , m,
1i [0, max ] i = 1, . . . , p.
Finalmente, {k } IR+ ser uma seqncia de parmetros de tolerncia tal
que
lim k = 0. (7.2)
k

Passo 1. Inicializao
k 1. Denir V 0 = g(x0 )+ .

Passo 2. Resoluo do subproblema


Calcular (se for possvel) xk IRn tal que existam v k IRm , uk IRp satisfa-
zendo

m p
kLk (xk , k , k ) + vik hi (xk ) + uki g i (xk )k k ,
X X
(7.3)
i=1 i=1
uki 0, g i (xk ) k para todo i = 1, . . . , p, (7.4)

g i (xk ) < k uki = 0 para todo i = 1, . . . , p, (7.5)

kh(xk )k k . (7.6)

Passo 3. Estimar multiplicadores


Para todo i = 1, . . . , m, calcular

k+1
i = ki + k hi (xk ) (7.7)

e
k+1
i [min , max ]. (7.8)
7.1. Convergencia a pontos admissveis 71

Para todo i = 1, . . . , p, calcular

k+1
i = max{0, ki + k gi (xk )}, (7.9)

k
 
Vik = max gi (x ), i ,
k
k
e
k+1
i [0, max ]. (7.10)

k+1 k+1
(Em geral, e sero as projees de k+1 e k+1 em [min , max ]m e
p
[0, max ] , respectivamente.)
Passo 4. Atualizar parmetro de penalidade
Se
max{kh(xk )k , kV k k } max{kh(xk1 )k , kV k1 k },
denir
k+1 = k .
Se no, denir
k+1 = k .
Passo 5. Comear nova iterao
Atualizar k k + 1. Voltar a Passo 2.

Observe que, tal como foi denido, o algoritmo no tem critrio de parada.
k
Isto , mesmo que x seja uma soluo global do problema original, o algoritmo
k
continua, neste caso repetindo o ponto x , para sempre. Naturalmente, isto
um artifcio terico pois, na prtica, se estabelecem critrios para interromper a
execuo em um nmero nito, e moderado, de iteraes.

7.1 Convergencia a pontos admissveis


Nesta seo vamos supor que o algoritmo no pra no Passo 2. Em outras palavras,
k
sempre pode ser encontrado x satisfazendo (7.3)-(7.6).
Ao mesmo tempo, vamos supor que existe pelo menos um ponto limite da
seqncia gerada pelo Algoritmo 7.1. Uma condio suciente para isto que
6= e existe >0 tal que o conjunto

{x IRn | g(x) , kh(x)k }

limitado. Esta condio pode ser forada acrescentando restries articiais no


conjunto .
72 Captulo 7. Convergencia Global

Vamos investigar o status dos pontos limite de seqncias geradas pelo Algo-
ritmo 7.1. Primeiro provaremos um resultado sobre a admissibilidade desses pontos
limite. O Teorema 7.1 mostra que todo ponto limite admissvel, ou um ponto
KKT da soma de quadrados das inviabilidades, ou no satisfaz a condio CPLD
com respeito s restries . Esta ltima alternativa , na prtica, pouco frequente
porque o conjunto costuma ser simples, de maneira que todos seus pontos geral-
mente satisfazem a condio CPLD.

Teorema 7.1. Seja {xk } uma seqncia innita gerada pelo Algoritmo 7.1. Seja
x um ponto limite de {xk }. Ento, se a seqncia de parmetros de penalidade
{k } limitada, x admissvel. Em caso contrrio, pelo menos uma das seguintes
possibilidades acontece:

(i) O ponto x um ponto KKT do problema


m
X p 
Minimizar hi (x)2 + max{0, gi (x)}2 sujeita a x .
X

i=1 i=1

(ii) x no satisfaz a condio CPLD associada a .

Prova. Seja K uma subseqncia de IN tal que

lim xk = x .
kK

Por (7.2), (7.4) e (7.6), temos que g(x ) 0 e h(x ) = 0. Portanto,

x .

Agora consideremos duas possibilidades:

(a) A seqncia {k } limitada.

(b) A seqncia {k } no limitada.

Analisemos primeiro o Caso (a). Neste caso, a partir de certa iterao, o par-
metro de penalidade no mais atualizado. Portanto,

lim kh(xk )k = lim kV k k = 0.


k k

Portanto,
h(x ) = 0.
7.1. Convergencia a pontos admissveis 73

Mais ainda, se gj (x ) > 0 temos que gj (xk ) > c > 0 para kK sucientemente
grande. Isto contradiz o fato de que Vjk 0.
Logo,
gi (x ) 0 para todo i = 1, . . . , p.
Logo, como x e h(x ) = 0, x admissvel.
Assim, a tese est provada no caso em que {k } limitada.
Consideremos agora o Caso (b). Ou seja, {k }kK no limitada. Pela denio
do Lagrangiano Aumentado 7.1 e a condio de Lagrange aproximada (7.3), temos:

m p
f (xk ) + (ki + k hi (xk ))hi (xk ) + max{0, ki + k gi (xk )}gi (xk )
X X

i=1 i=1

m p
vik hi (xk ) uki g i (xk ) = k ,
X X
+ + (7.11)
i=1 i=1

onde, como k 0 (7.2),


lim k k k = 0.
kK

Se g j (x ) < 0, existe g j (xk ) < k para todo k k1 , k K .


k1 IN tal que
k
Portanto, pela complementaridade aproximada (7.5), uj = 0 para todo k K, k
k1 .

Logo, por x e (7.11), para todo k K, k k1 temos que

m p
k
(ki k k
max{0, ki + k gi (xk )}gi (xk )
X X
f (x ) + + k hi (x ))hi (x ) +
i=1 i=1

m
vik hi (xk ) + uki g i (xk ) = k .
X X
+
i=1 g (x )=0
i

Dividindo por k obtemos:

m p
f (xk ) X ki k
   
+ hi (xk ) hi (xk ) + max 0, i + gi (xk ) gi (xk )
X
+
k i=1 k i=1 k
m
vik ukj k
hi (xk ) + g j (xk ) = .
X X
+
i=1 k g

(x )=0 k
k
j

Pelo Lema de Carathodory, existem

Ibk {1, . . . , m}, Jbk {j | g j (x ) = 0},

vbik , i Ibk , ubkj 0, j Jbk


74 Captulo 7. Convergencia Global

tais que os vetores


{hi (xk )}iIbk {g j (xk )}jJbk
so linearmente independentes e

m p
f (xk ) X ki k
   
+ hi (xk ) hi (xk ) + max 0, i + gi (xk ) gi (xk )
X
+
k i=1 k i=1 k

k
vbik hi (xk ) + ubki g k
X X
+ i
(x ) = .
k
iIbk iJbk

Como h um nmero nito de possveis conjuntos Ibk , Jbk , existe um conjunto


innito de ndices K1 tal que

K1 {k K | k k1 },

Ibk = I,
b

e
Jb = Jbk {i | g i (x ) = 0} (7.12)

para todo k K1 . Assim, para todo k K1 obtemos:

m p
f (xk ) X ki k
   
k k
max 0, i + gi (xk ) gi (xk )
X
+ + hi (x ) hi (x ) +
k i=1 k i=1 k

k
vbik hi (xk ) + ubki g i (xk ) =
X X
+ , (7.13)
k
iIb iJb

e os gradientes
{hi (xk )}iIb {g i (xk )}iJb (7.14)

so linearmente independentes para todo k K1 .


Consideramos, de novo, dois casos:

1. A seqncia {k(vbk , ubk )k, k K1 } limitada.

2. A seqncia {k(vbk , ubk )k, k K1 } no limitada.

Se a seqncia {k(vbk , ubk )k}kK1 limitada, existe (vb, ub), ub 0 e um conjunto


innito de indices K2 K1 tal que

lim (vbk , ubk ) = (vb, ub).


kK2
7.2. Convergencia a pontos KKT 75

k k
Como {k } no-limitada, temos que k . Logo, pela limitao de e ,
lim ki /k = 0 = lim kj /k para todo i, j . Como k 0, por (7.8), (7.10), tomando
limites para k K2 in (7.13), obtemos:

m p
hi (x )hi (x ) + max{0, gi (x )}gi (x ) + vbi hi (x ) + ubi g i (x ) = 0,
X X X X

i=1 i=1 iIb iJb

onde J {i {1, . . . , p} | g i (x ) = 0}. Portanto, por x e (7.12), x ponto


KKT da soma de quadrados de inviabilidades, como enunciado na tese do teorema.
(De fato, temos omitido o caso em que Ib = ou Jb = , que deixamos a cargo do
leitor.)
Finalmente, suponhamos que {k(vbk , ubk )k}kK1 no-limitada. Seja K3 K1

tal que bk bk
limkK3 k(v , u )k = e (vb, ub) 6= 0, ub 0 tal que

(vbk , ubk )
lim = (vb, ub).
kK3 k(vbk , ubk )k

Dividindo ambos lados de (7.13) por k(vbk , ubk )k e tomando limites para k K3 ,
obtemos:
vbi hi (x ) + ubj g j (x ) = 0.
X X

iIb jJb

Mas g j (x ) = 0 para todo j Jb. Logo, por (7.14), x no satisfaz a condio

CPLD associada com o conjunto . Com isto, a prova est completa. QED

7.2 Convergencia a pontos KKT


Em continuao provamos um resultado de otimalidade. Vimos que pontos limite
de seqncias geradas pelo Algoritmo 7.1 podem ser admissveis ou no. Essencial-

mente, o Teorema 7.1 diz que, se x no admissvel ento , muito provavelmente,
minimizador local da inadmissibilidade. Agora estamos interessados no status de
pontos limite admissveis.
Provaremos que, sob CPLD, os pontos limite so KKT do problema original.
Antes, provaremos um resultado interessante que independe da CPLD. Este re-
sultado nos diz que, se uma restrio de desigualdade se verica estritamente no
ponto limite, ento a estimativa do multiplicador associado se anula, para k su-
cientemente grande.

Proposio 7.1 Seja {xk }kIN uma seqncia gerada pelo Algoritmo 7.1. Suponha-
mos que x um ponto limite (no necessariamente admissvel!) desta seqncia
76 Captulo 7. Convergencia Global

e K

IN tal que limkK xk = x. Ento, para k K sucientemente grande,

gi (x ) < 0 k+1
i = 0 e g i (x ) < 0 uki = 0. (7.15)

Prova. k
Pelos critrios de parada do subproblema, que denem x no Algoritmo 7.1,
k p k n k
temos que para todo k K , existem u IR+ , IR tal que k k k e

m p m p
k
k+1 hi (xk ) + k+1 gi (xk ) + vik hi (xk ) + uki g i (xk ) = k .
X X X X
f (x ) + i i
i=1 i=1 i=1 i=1
(7.16)
k+1 p
Por (7.9), IR+ para todo k IN .

Suponhamos que g (x ) < 0. Ento, existe
i
k1 IN tal que k K, k
k1 , g i (xk ) < k . Ento, por (7.5),

uki = 0 k K, k k1 .

Provemos agora que uma propriedade similar se verica quando gi (x ) < 0.


Neste caso, existe k2 k1 tal que

gi (xk ) < c < 0 k K, k k2 .

Consideramos dois casos:

1. {k } no limitada.

2. {k } limitada.

No primeiro caso, temos que limkK k = . Como {ki } limitada, existe


k3 k2 tal que, para todo k K, k k3 ,

ki + k gi (xk ) < 0.

Pela denio de k+1 isto implica que

k+1
i =0 k K, k k3 .

Consideremos agora o caso em que {k } limitada. Neste caso,

lim Vik = 0.
k

Portanto, como gi (xk ) < c < 0 para kK sucientemente grande,

lim ki = 0.
kK
7.2. Convergencia a pontos KKT 77

Logo, para kK sucientemente grande,

ki + k gi (xk ) < 0.
Pela denio de k+1 , existe k4 IN tal que k+1
i =0 para k K, k k4 .
Portanto, existe k5 max{k3 , k4 } tal que para todo k K , k k5 ,
gi (x ) < 0 k+1
i =0 e g i (x ) < 0 uki = 0,
como queriamos provar. QED
Teorema 7.2. Seja {xk }kIN uma seqncia gerada pelo Algoritmo 7.1. Suponha-
mos que x um ponto limite admissvel que satisfaz CPLD com respeito a todas
as restries do problema original. Ento , x ponto KKT do problema original.

Prova. Pela Proposio 7.1, existem K IN , k5 IN



tais que para todo k K, k
k5 , temos:
m
f (xk ) + k+1 hi (xk ) + k+1 gi (xk )
X X
i i
i=1 gi (x )=0
m
vik hi (xk ) + ukj g j (xk ) = k ,
X X
+ (7.17)
i=1 g (x )=0
j

p p
com k+1 IR+ , uk IR+ e k k k k .
Pelo Lema de Carathodory, para todo k K, k k5 , existem

Ibk {1, . . . , m}, Jbk {j | gj (x ) = 0}, Ik {1, . . . , m}, Jk {j | g j (x ) = 0},


b k i Ib , k b bk i I , uk
i k b j 0 j Jk , v i k bj 0 j Jk

tais que os vetores

{hi (xk )}iIbk {gi (xk )}iJbk {hi (xk )}iIk {g i (xk )}iJk
so linearmente independentes e

f (xk ) + b k h (xk ) + b ki gi (xk )


X X
i i
iIbk iJbk

vbik hi (xk ) + ubkj g j (xk ) = k .


X X
+
iIk jJk

Como o nmero de possveis conjuntos de ndices Ibk , Jbk , Ik , Jk nito, existe


K1 {k K | k k5 } tal que

Ibk = I, b I = I,
b Jb = J, Jk = J,

k k
78 Captulo 7. Convergencia Global

para todo k K1 .
Logo,
f (xk ) + b k h (xk ) b ki gi (xk )
P P

iIb i i + iJb
(7.18)
bik hi (xk ) bkj g (xk ) = k
P P
+ iI v + jJ u j
e os vetores

{hi (xk )}iIb {gi (xk )}iJb {hi (xk )}iI {g i (xk )}iJ (7.19)

so linearmente independentes para todo k K1 .


Denimos

b k |, i I},
Sk = max{max{| i b ki , i J},
b max{ bik |, i I},
b max{|v
max{ubki , i J}}.

Consideremos duas possibilidades:

(a) {Sk }kK1 tem uma subseqncia limitada.

(b) limkK1 Sk = .

Se {Sk }kK1 admite uma subseqncia limitada, existe K 2 K1 tal que


bk =
lim b ,
i i
kK2

lim b ki = b i 0,
kK2

lim vbik = vbi ,


kK2

lim ubki = ubi 0.


kK2

Por (7.2) e o fato de que k k k k , tomando limites em (7.18) para k K2 ,


obtemos:

f (x ) + b h (x ) + b i gi (x ) + vbi hi (x ) + ubj g j (x ) = 0,
X X X X
i i
iIb iJb iI jJ

com b i 0, ubi 0. Como x admissvel, temos que x um ponto KKT do


problema original.

Suponhamos agora que limkK1 Sk = . Dividindo ambos lados de (7.18) por


Sk obtemos:
f (xk ) ki bki

hi (xk ) gi (xk )
P P
+ +
b
Sk iIb Sk iJb Sk
(7.20)
vik k ukj k k
iI Sk hi (x jJ Sk g j (x
P P
+ )+ )= ,
b b
Sk
7.2. Convergencia a pontos KKT 79

onde
bk k k k
i
bi v
bi u
bj
1, 1, 1, 1.
Sk
Sk

Sk

Sk

Portanto, existe K3 K1 tal que


bk
i b ki
b , lim vbik ubkj
lim =i =
b i 0, lim = v
bi , lim = ubj 0.
kK3 Sk kK3 Sk kK3 Sk kK3 Sk

Tomando limites em ambos lados de (7.20) para k K3 , obtemos:

b h (x ) + b i gi (x ) + vbi hi (x ) + ubj g j (x ) = 0.
X X X X
i i
iIb iJb iI jJ

Mas o mdulo de pelo menos um dos coecientes


b ,
i bi, v
bi , u
bi igual a 1. Logo,
pela condio CPLD, os gradientes

{hi (x)}iIb {gi (x)}iJb {hi (x)}iI {g i (x)}iJ

so linearmente dependentes em uma vizinhana de x . Isto contradiz (7.19). Por-


tanto, o teorema est provado. QED
EXERCCIOS

1. Suponha as hipteses do Teorema 7.2. Seja x um ponto admissvel tal
k
que limkK x = x e suponha que x satisfaz MF. Prove que o conjunto
{k+1 , k+1 , v k , uk } limitado para k K .

2. Com base nos resultados tericos deste captulo, sugira critrios prticos de
parada para o mtodo de Lagrangiano Aumentado.

3. Suponha que o conjunto uma caixa. Dena os subproblemas do mtodo


de Lagrangiano Aumentado usando o gradiente projetado contnuo da funo
Lagrangiano Aumentado, com o critrio interno de parada natural, baseado
na norma do gradiente projetado contnuo. Mostre que fazer isto equivalente
a fazer o que zemos neste captulo, com a denio funcional de .

4. Invente exemplos com um nico minimizador global x e com as seguintes

situaes: (a) x no CPLD; (b) x CPLD mas no MF; (c) x
MF mas no regular. De acordo com a teoria deste captulo, diga o que
voc acha que dever acontecer quando aplicarmos Algencan para resolver os
problemas. Rode Algencan e conra a exatido de suas previses. Explique
as eventuais diferenas.
80 Captulo 7. Convergencia Global
Captulo 8
Limitacao do Parametro
de Penalidade

Quando o parmetro de penalidade grande, os subproblemas do Mtodo de La-


grangiano Aumentado so difceis de resolver. A razo para isto que, ao ser
multiplicado por um nmero muito grande, o termo penalizado domina a funo
objetivo do problema. Assim, f (x) funciona como uma pequena perturbao do
segundo termo e o algoritmo que resolve o subproblema desprezar tal perturba-
o. Em ponto utuante, a soma de um nmero muito grande com um nmero
relativamente pequeno o nmero grande. Portanto, quando se minimiza uma
funo de tipo Lagrangiano Aumentado com um parmetro grande de penalidade,
a tendncia que, na maioria das iteraes, o mtodo interno se comporte como
se o termo f (x) no existisse. Os conjuntos de nvel do Lagrangiano Aumentado,
neste caso, costumam ser vales alongados que acompanham, aproximadamente, os
conjuntos de nvel do termo penalizado.
vital, em conseqncia, que os mtodos de Lagrangiano Aumentado tenham
a propriedade de que o parmetro de penalidade no cresa indenidamente. Nos
termos do Algoritmo 7.1, queremos que o teste do Passo 4 tenha resultado positivo
para todo k sucientemente grande.
Neste captulo nos propomos provar que, de fato, o parmetro de penalidade
ca limitado com certa freqncia, isto , sob condies sucientes que, muitas
vezes, so satisfeitas nos problemas prticos.

8.1 Restricoes de Igualdade


Primeiro, nos limitaremos a um caso particular (p = 0, = IRn ) que, no entanto,
abrange as idias fundamentais da prova geral. Em todo caso, bom que o leitor
interessado no teorema mais geral esteja previamente familiarizado com este caso.
Assim, o problema PNL considerado nesta seo, ser:

Minimizar f (x) sujeita a h(x) = 0,

81
82 Captulo 8. Limitacao do Parametro de Penalidade

com h : IRn IRm , f : IRn IR.


Conseqentemente, o Algoritmo de Lagrangiano Aumentado car simplicado
da seguinte maneira:

Algoritmo 8.1.
Seja x0 IRn um ponto inicial arbitrrio.
Os parmetros para a execuo do algoritmo so:

[0, 1), > 1,

< min < max < ,


1 > 0,
1i [min , max ] i = 1, . . . , m,
Por ltimo, {k } IR+ ser uma seqncia de parmetros de tolerncia tal que

lim k = 0.
k

Passo 1. Inicializao
k 1.

Passo 2. Resoluo do subproblema


Calcular (se for possvel) xk IRn tal que

kLk (xk , k )k k ,

Se no possvel encontrar xk cumprindo essa propriedade, parar a execuo


do algoritmo.

Passo 3. Estimar multiplicadores


Para todo i = 1, . . . , m, calcular

k+1
i = ki + k hi (xk )

e
k+1
i = max{min , min{max , k+1
i }}.
Passo 4. Atualizar o parmetro de penalidade
Se
kh(xk )k kh(xk1 )k ,
denir
k+1 = k .
8.1. Restricoes de Igualdade 83

Em caso contrrio, denir


k+1 = k .
Passo 5. Comear uma nova iterao
Atualizar k k + 1. Voltar a Passo 2.

8.1.1 Hipoteses
O resultado fundamental depende de seis suposies:

1. A seqncia {xk } gerada pelo Algoritmo 8.1 converge a x .

2. O ponto x admissvel (ou seja, h(x ) = 0).

3. O ponto x regular (ou seja, a matriz h(x ) tem posto igual a m).

4. Os multiplicadores i pertencem a (min , max ) para todo i = 1, . . . , m. (Ob-


serve que a existncia de satisfazendo f (x ) + h(x ) est garantida

pela regularidade de x .)

5. As funes f e h admitem derivadas segundas contnuas em uma vizinhana


2
de x . (Os operadores e denotaro sempre derivadas em relao a x.)

6. Seja Z IRn(nm) uma matriz cujas colunas formam uma base do ncleo
de h(x )T . Ento, Z T 2 L0 (x , )Z denida positiva.

No temos condies sucientes sobre o problema que garantam que toda a


seqncia convergente. O que provamos em captulos anteriores que o al-
goritmo de Lagrangiano Aumentado convergente no sentido de subseqncias.
Em princpio, um algoritmo de Lagrangiano Aumentado pode pular entre solues
muito afastadas de sucessivos subproblemas e a seqncia gerada pode ter mais de
um ponto de acumulao. Entretanto, a hiptese de convergncia colocada aqui
no muito arbitrria por uma razo algortmica: em geral, o ponto inicial para o
subalgoritmo que resolve um subproblema escolhido como a soluo do subpro-
blema anterior. Desta maneira, solues de subproblemas consecutivos costumam
car perto umas de outras e a oscilao entre diferentes pontos de acumulao
improvvel.

Sob a hiptese de que o limite x regular, a existncia dos multiplicadores de

Lagrange est garantida pois, como vimos, a regularidade uma condio de
qualicao. A sexta hiptese colocada acima se denomina Condio Suciente de
Segunda Ordem na literatura de Otimizao [5, 13]. Como seu nome indica, sua
satisfao em um ponto KKT regular implica que o ponto um minimizador local.
84 Captulo 8. Limitacao do Parametro de Penalidade

8.1.2 Teorema principal


As hipteses introduzidas na Seo anterior sero usadas nesta seo sem prvio
aviso.

Lema 8.1. A seqncia {k } converge a .


Prova. Suponhamos que k no converge a . Portanto,k+1 no converge a .
Logo, existe c>0 e um conjunto innito de ndices K IN tal que

kk+1 k c k K. (8.1)

Pelo critrio de resoluo aproximada dos subproblemas e a frmula de k+1


temos:
lim f (xk ) + h(xk )k+1 = 0.
k

Suponhamos primeiro que a subseqncia {k+1 }kK esteja limitada. Neste caso,
ela tem uma subseqncia convergente a, digamos, . Portanto, passando ao limite
b
para essa subseqncia,
f (x ) + h(x )
b = 0.

Como a matriz h(x ) tem posto completo, devemos ter


b = .
Isto contradiz
(8.1).
k+1
Suponhamos que a subseqncia { }kK no est limitada. Ento, dividindo
por k
k+1
k, e tomando outra subseqencia adequada, vericamos que o ponto x
no regular, o que contradiz a hiptese. QED
Lema 8.2. Para k sucientemente grande, k = k .
Prova. k
Pelo Lema 8.1, tende a . Mas, como pertence a (min , max ) ,
m
k+1 m
temos que [min , max ] para k sucientemente grande. Portanto, para k
sucientemente grande,
k+1
= k+1 . QED
Lema 8.3. Existem c > 0, > 0, > 0 tais que, se [0, 1/], kx x k e
k k , a matriz

+ t(x x ), + t( )) h(x + t(x x ))
Z 1 2
L 0 (x

dt
0 h(x + t(x x ))T I

no-singular e
1
L0 (x + t(x x ), + t( )) h(x + t(x x ))
 Z 1  2 

dt c.

0 h(x + t(x x ))T I
8.1. Restricoes de Igualdade 85

Prova.Vejamos primeiro que a matriz no-singular se = 0, x = x , = .


1 n 2 m
Suponhamos que u IR , u IR so tais que

2 L0 (x , ) h(x )
 1
u 0
  
= .
h(x )T 0 u 2
0

Logo, u1 est no ncleo de h(x )T , portanto, existe v IRnm tal que

u1 = Zv.

Portanto,
2 L0 (x , )Zv + h(x )u2 = 0.
Pre-multiplicando por vT Z T obtemos:

v T Z T 2 L0 (x , )Zv + v T Z T h(x )u2 = 0.

Pela denio de Z, temos que Z T h(x ) = 0, portanto:

v T Z T 2 L0 (x , )Zv = 0.
T 2
Mas, pelas Hipteses, Z L0 (x , )Z denida positiva, logo v = 0. Isto implica
1
que u = 0. Em conseqncia,

h(x )u2 = 0.

Como as colunas de h(x ) so, por hiptese, linearmente independentes, deduzi-


2
mos que u = 0.
2 L0 (x , ) h(x )
 
Portanto, a matriz no-singular se = 0.
h(x )T I
Mas
2 L0 (x , ) h(x )
 

h(x )T I

+ t(x x ), + t( )) h(x + t(x x ))
Z 1 2
L 0 (x

= dt.
0 h(x + t(x x ))T I
Logo, pela continuidade das derivadas segundas e da inversa de matrizes, obtemos
a tese do Lema. QED
Lema 8.4. Seja como no Lema 8.3. Suponhamos que existe k0 IN tal que
k para todo k k0 . Ento, existe M > 0 tal que, para todo k k0 ,

kk k
 
kxk x k M max , kLk (xk , k )k
k
86 Captulo 8. Limitacao do Parametro de Penalidade

e
kk k
 
k+1
k k M max , kLk (xk , k )k .
k
Prova. Denimos, para todo k IN ,
z k = Lk (xk , k ) IRn ,

k
yk = IRm ,
k
1
k = IR+ .
k
Observe que, pela denio de k+1 ,

z k = L0 (xk , k+1 ).

Logo, para todo k IN ,

z k = f (xk ) + h(xk )k+1 ,

y k = h(xk ) + ( k+1 )k .
Denimos, para todo [0, 1/],

F : IRn+m IRn+m

por
f (x) + h(x)
 
F (x, ) = .
h(x) + ( )
Claramente,
 k
k k+1 z
Fk (x , )= (8.2)
yk
e, pelas hipteses,
Fk (x , ) = 0
para todo k IN .
Portanto,
 k
z
Fk (xk , k+1 ) Fk (x , ) = .
yk
Mas, pelo Teorema Fundamental do Clculo Integral,

Fk (xk , k+1 ) Fk (x , )

+ t(xk x ), + t(k+1 )) h(x + t(xk x )) xk x
Z 1 2
L 0 (x
  
= dt .
0 h(x + t(xk x ))T k I k+1
8.1. Restricoes de Igualdade 87

Logo, pelo Lema 8.3, se k , e k sucientemente grande, teremos k 1/,


kxk x k e kk+1 k . Portanto,

x x
 k  k 
z



k+1 c k .
y
Isto implica a tese do lema. QED
Teorema 8.1. Suponhamos, alm das hipteses gerais desta seo, que existe uma
seqncia {k } que converge a zero, tal que
k k kh(xk )k

para todo k IN . Ento, a seqncia de parmetros de penalidade {k } est limi-


tada.

Prova. Suponhamos que limk k = . Como h(x ) = 0, pela continuidade das


primeiras derivadas de h, existe L > 0 tal que para todo k IN ,

kh(xk )k Lkxk x k.

Pela hiptese, o Lema 8.4 e o fato de que k = k para k sucientemente grande,


temos que
kk k
 
k
kh(x )k LM max , k kh(xk )k .
k
Como k 0, isto implica que

kk k
kh(xk )k LM (8.3)
k
para k
sucientemente grande.
k+1
Pela frmula de , temos que

k = k1 + k1 h(xk1 ).

Portanto,

kk k1 k kk1 k kk k
kh(xk1 )k = . (8.4)
k1 k1 k1

Pelo Lema 8.4, a hiptese deste teorema e por k = k , temos:

kk1 k
 
kk k M + k1 kh(xk1 )k .
k1
88 Captulo 8. Limitacao do Parametro de Penalidade

Isto implica que

kk1 k kk k
k1 kh(xk1 )k .
k1 M

Logo, por (8.4), para k1 2M ,

1 1 1
 

(1 + k1 )kh(x k1 k
)k k k kk k .
M k1 2M

Portanto,

kk k 3M kh(xk1 )k
para k sucientemente grande. Por (8.3), temos que

3LM 2
kh(xk )k kh(xk1 )k .
k

Logo, como k , existe k1 IN tal que

kh(xk )k kh(xk1 )k

para todo k k1 . Isto implica que k+1 = k para todo k k1 . Em conseqncia,


a seqncia {k } est limitada. QED

8.2 Restricoes de Desigualdade


Consideraremos o problema PNL na seguinte forma:

Minimizar f (x), sujeita a h(x) = 0, g(x) 0,

onde, como sempre, f : IRn IR, h : IRn IRm , g : IRn IRp .


O Algoritmo de Lagrangiano aumentado ser o Algoritmo 7.1, com = IRn .
Como no caso de restries de igualdade, a limitao dos parmetros de penalidade
depender de um conjunto de hipteses bsicas.

8.2.1 Hipoteses
1. A seqncia {xk } gerada pelo Algoritmo 7.1 converge a x .

2. O ponto x admissvel (ou seja, h(x ) = 0, e g(x ) 0).


8.2. Restricoes de Desigualdade 89

3. O ponto x regular. Ou seja, o conjunto formado pelos gradientes das


restries de igualdade e os gradientes das restries de desigualdade tais

que gi (x ) = 0 linearmente independente. Como no caso de restries de

igualdade, isto implica que as condies KKT se vericam em x . Portanto,
m p
existem multiplicadores de Lagrange IR , IR+ associados a estas
restries.

4. O multiplicador i
pertence a (min , max ) para todo i = 1, . . . , m. Analoga-

mente, cada multiplicador i pertence a [0, max ) para todo i = 1, . . . , p.

5. As funes f , h e g admitem derivadas segundas contnuas em uma vizinhana


2
de x . (Como no caso de restries de igualdade, os operadores e
denotaro sempre derivadas em relao a x.)
6. Para todo i = 1, . . . , p tal que gi (x ) = 0, temos i > 0. Esta condio se
denomina Complementaridade Estrita.
7. Seja A IR(m+q)n a matriz cujas linhas so os gradientes das restries de

igualdade seguidas dos gradientes das q restries ativas (gi (x ) = 0) em x .
n(nmq)
Seja Z IR uma matriz cujas colunas formam uma base do ncleo
T 2
de A. Ento, Z L0 (x , , )Z denida positiva.

A complementaridade estrita junto com a ltima hiptese denida acima de-


nem uma condio suciente para minimizador local do problema PNL em consi-
derao.

8.2.2 Teorema de limitacao


Teorema 8.2. Suponhamos, alm das hipteses gerais desta seo, que existe uma
seqncia {k } que converge a zero, tal que
k k max{kh(xk )k , kV k k }
para todo k IN . Ento, a seqncia de parmetros de penalidade {k } est limi-
tada.

Prova. A tcnica para provar este teorema consiste em reduzir o problema e o pr-
prio Algoritmo 7.1 ao caso com restries de igualdade. Sem perda de generalidade,

suponhamos que as restries de desigualdade ativas em x so as q primeiras, de
modo que
gi (x ) = 0 se i q, gi (x ) < 0 se i > q.
Consideremos o problema auxiliar:

Minimizar f (x) sujeita a H(x) = 0,


90 Captulo 8. Limitacao do Parametro de Penalidade

onde
h(x)


H1 (x) g (x)
H(x) = = 1 .


Hm+q (x)
gq (x)
Pelas hipteses desta seo, o problema auxiliar satisfaz todas as suposies da

seo anterior. Mais ainda, os multiplicadores associados a x no problema auxiliar
so os mesmos que os associados ao problema original.
Portanto, pelo Teorema 8.1, s necessrio provar que a aplicao do Algoritmo
7.1 ao problema original equivalente aplicao do Algoritmo 8.1 ao problema
k k
auxiliar e que a condio k k max{kh(x )k , kV k } equivalente a k
k kH(xk )k .
k
Seja i tal que gi (x ) < 0. Pela Proposio 7.1, temos que i = 0 para k
sucientemente grande.
Logo, por (7.3) e as atualizaes de k+1 e k+1 ,
m q
kf (xk ) + k+1 hi (xk ) + k+1 gi (xk )k k
X X
i i
i=1 i=1

para k sucientemente grande. Pela independncia linear dos gradientes hi (x ), i =


1, . . . , m, gj (x ), j = 1, . . . , q , e a convergncia de xk , temos, como no Lema 8.1,
que
lim k = e lim k = .
k k

Em particular, como i >0 para todo i q,

ki > 0

para ksucientemente grande.



Como (min , max ) e i < max , temos tambm que

ki = ki , i = 1, . . . , p

e
ki = ki , i = 1, . . . , m
para k sucientemente grande.
Vejamos agora que a frmula de atualizao de k+1
i dada pelo Algoritmo 7.1
coincide com a frmula de atualizao do mesmo multiplicador, dada pelo Algo-
ritmo 8.1, para o problema auxiliar.
k k
Com efeito, por (7.9) e i = i , temos que, para k sucientemente grande:

k+1
i = max{0, ki + k gi (xk )}.
8.2. Restricoes de Desigualdade 91

Mas, pela complementaridade estrita e k , ki > 0 para k sucientemente


grande. Portanto, para k sucientemente grande,

k+1
i = ki + k gi (xk ), i = 1, . . . , q.

Ou seja, em termos do problema auxiliar,

k+1
i = ki + k Hi (xk ), i = 1, . . . , q.

Portanto, os multiplicadores correspondentes s restries ativas de desigualdade


se atualizam, no Algoritmo 7.1, pela mesma regra do Algoritmo 8.1 aplicada ao
problema auxiliar.
Vejamos agora o signicado de Vik . Pelo Algoritmo 7.1, temos

k
 
Vik = max gi (x ), ik
k
para todo i = 1, . . . , p.
k k
Agora, se i > q , como gi (x ) < 0, gi contnua e i = 0, temos que Vi = 0
para k sucientemente grande.
k k
Suponhamos agora que i q . Se gi (x ) fosse menor que i , pela frmula de
k
k+1 k+1
atualizao de no Algoritmo 7.1, teriamos que i = 0. Isto impossvel
para k grande devido complementaridade estrita. Logo, para k sucientemente
k k
grande, Vi = gi (x ).
Assim, para k sucientemente grande,

h(xk )
 
k
kH(x )k = .
Vk

Isto implica que o teste para atualizar o parmetro de penalidade o mesmo


no Algoritmo 7.1 e no Algoritmo 8.1 aplicado ao problema auxiliar. Mais ainda, a
k k
condio k k max{kV k , kh(x )k } tambm equivalente condio k
k kH(xk )k imposta no Teorema 8.1.
Portanto, para k sucientemente grande, a seqncia gerada pelo Algoritmo 7.1
pode ser pensada como sendo gerada pelo Algoritmo 8.1, junto com seus multipli-
cadores associados e parmetros de penalidade. QED
EXERCCIOS
1. Se diz que uma seqncia de nmeros reais {rk } converge a zero com taxa
R-linear pelo menos < 1 se existe uma seqncia {rk0 } de nmeros positivos
tal que
0
rk+1 rk0
92 Captulo 8. Limitacao do Parametro de Penalidade

e |rk | rk0 para todo k.


k
Prove que, sob as hipteses dos teoremas deste Captulo, as seqncias kx
x k, kk k, kV k k e kL0 (xk , k+1 , k+1 )k convergem a zero com taxa
R-linear pelo menos . Detecte este comportamento nas sadas de Algencan.
2. Considere o Algoritmo 7.1 com a seguinte modicao: o parmetro de pe-
nalidade multiplicado por em todas as iteraes, independentemente do
decrscimo do valor de kh(xk )k. Percorra as provas de convergncia global
e comprove que todas se vericam. Agora pule para o Captulo 8 e veri-
que a satisfao dos lemas que precedem o Teorema 8.1. Percorra agora a
k
prova do Teorema e comprove que, para o Algoritmo modicado, kh(x )k
k k k+1
converge a zero superlinearmente. Usando que f (x ) + h(x ) = 0,
k k
deduza que o par (x , ) converge a zero superlinearmente. Signica isto o
Algoritmo de Lagrangiano Aumentado assim modicado deve ser melhor que
o Algoritmo 7.1? Discuta esta possibilidade.

k
3. Considere o Algoritmo de Lagrangiano Aumentado 7.1. Suponha que {x }kK

uma subseqncia convergente ao ponto admissvel x e que x satisfaz a
k+1
Condio de Qualicao Mangasarian-Fromovitz. Prove que { , k+1 }
admite alguma subseqncia convergente e que o limite de qualquer sub-

seqncia convergente um vetor de multiplicadores em x .

4. Suponha que, por sorte, voc acertou com o ponto inicial e os multiplicadores
corretos para a aplicao do Algoritmo 7.1. Percorra o algoritmo e descubra
k
o que acontece com as seqncias de iterandos x e multiplicadores. Que
acontece se voc acertou com o ponto inicial mas no com os multiplicadores
corretos?

5. Exiba um exemplo onde o Mtodo de Lagrangiano Aumentado gere duas


subseqncias que convergem a diferentes limites.

6. Prove as condies de segunda ordem para minimizador local do problema


denido neste captulo.

7. Estenda os resultados deste captulo para o caso em que

= {x IRn | h(x) = 0, g(x) 0}

considerado no Captulo 7.
Captulo 9
Implementacao e Uso de
ALGENCAN

Algencan um mtodo computacional para resolver o problema PNL formulado


como
Minimizar f (x),
sujeita a
h(x) = 0, g(x) 0, amin x amax .
Como sempre, f : IRn IR, h : IRn IRm , g : IRn IRp e todas as funes se
supem derivveis.
Este programa forma parte do projeto TANGO e livremente acessvel em
www.ime.usp.br/egbirgin/tango.
Em grandes linhas, Algencan uma implementao do Algoritmo 7.1. O
programa est escrito em Fortran, mas interfaces com C++, AMPL e a linguagem
estatstica R so fornecidas. Exaustivamente comentado, o usurio pode obter
no site do Projeto TANGO toda a informao necessria para seu uso. O uso
direto do programa em Fortran exige que o usurio fornea derivadas primeiras da
funo objetivo e as restries, embora uma opo em diferenas nitas evita este
desconforto, pagando o preo de considervel diminuio em ecincia. A interface
AMPL, por outro lado, tem como principal virtude que o usurio no precisa inclur
a programao do clculo das derivadas.
A implementao de Algencan muda com bastante freqncia e muito pro-
vvel que o programa acessvel na rede no momento que estas linhas so lidas
no seja exatamente o descrito aqui. Todavia, algumas caractersticas essenciais
parecem consolidadas e sero enfatizadas neste captulo.

9.1 Algoritmo para o Subproblema


Para resolver o subproblema de minimizar o Lagrangiano Aumentado no Algo-
ritmo 7.1 usamos um mtodo para minimizar em caixas. O esquema bsico deste

93
94 Captulo 9. Implementacao e Uso de ALGENCAN

mtodo o de Gencan. Isto , se usa a estratgia de restries ativas e se abandonam


as faces, quando necessrio, usando o gradiente espectral projetado. Entretanto,
h variantes em relao ao algoritmo interno, usado dentro de cada face da caixa.
As variaes disponveis dependem das caractersticas do problema. Para pro-
blemas com poucas variveis (digamos, menos que 100) o algoritmo interno New-
ton, com globalizao com regies de conana [4]. O mesmo algoritmo interno
usado para problemas com muitas variveis e com uma estrutura favorvel da
Hessiana do Lagrangiano Aumentado embora, por enquanto, no seja totalmente
claro qu signica estrutura favorvel neste caso. Ambas opes precisam de Hes-
sianas analticas, o que no representa nenhuma diculdade em caso de ser usada
a interface AMPL, mas bastante indesejvel em caso de que a programao das
derivadas segundas que por conta do usurio. Se o problema tem poucas vari-
veis a aproximao das derivadas segundas por diferenas nitas perfeitamente
admissvel, mas se o problema grande esta alternativa trabalhosa e precisa de
anlises cuidadosas da estrutura da matriz Hessiana.
No momento em que este captulo escrito, a verso padro para o algoritmo
usado dentro das faces o mtodo Newton-truncado, com quocientes incrementais
para os produtos matriz-vetor e precondicionadores BFGS [7], como descrito no
Captulo 5 deste livro. Nesta verso as derivadas segundas analticas no precisam
ser fornecidas pelo usurio.

9.2 Parametro de Penalidade Inicial


Para bem ou para mal, a escolha de 1 tem bastante inuncia no desempenho
prtico do Mtodo de Lagrangiano Aumentado. Entretanto, uma ponderao pre-
liminar deve ser feita: em qualquer problema prtico, o usurio deve ter alguma
preocupao pelo escalamento de suas restries e funo objetivo. Essencialmente,
depois de um bom pre-processamento, o sentimento de inviabilidade de (digamos)
hi (x) = 1 e gj (x) = 1 ser o mesmo para todos os ndices i = 1, . . . , m e todos os
ndices j = 1, . . . , p. Em Algencan entendemos que o pre-processamento que leva
a um bom escalamento do PNL tarefa do usurio. Ou seja, Algencan no escala
automaticamente as restries.
Agora, a relao entre escalamento inicial e parmetro de penalidade inicial
evidente, pois o parmetro de penalidade inicial nada mais do que um escala-
mento da funo objetivo em relao ao conjunto das restries. Se, em determi-
2
nado problema, multiplicamos todas as restries por 45 , o resultado de aplicar
o Algoritmo 7.1 seria o mesmo que se multiplicamos o parmetro de penalidade
inicial por 45. Por isso, conselhos do tipo Coloque seu parmetro inicial de pe-
nalidade igual a 10 no tm muito sentido, pois 10 pode ser muito grande ou
muito pequeno dependendo do escalamento das restries em relao funo ob-
6
jetivo. Em outras palavras, 10 no grande nem pequeno, assim como 10 no
9.3. Criterios de Parada 95

necessariamente pequeno e 106 no necessariamente grande.


A escolha atual padro de 1 :

2|f (x0 )|
  
6
1 = max 10 , min 10, .
kh(x0 )k2 + kg(x0 )+ k2

Logo, dado que os multiplicadores iniciais padro so nulos, quando

106 (kh(x0 )k2 + kg(x0 )+ k2 ) 2|f (x0 )| 10(kh(x0 )k2 + kg(x0 )+ k2 ),

o peso da funo objetivo e o peso da inadmissibilidade so iguais na funo ob-


jetivo do primeiro subproblema. Esta uma maneira democrtica de considerar
0
ambos elementos para comear a otimizar. Entretanto, se |f (x )| excede 5 vezes a
medida de inadmissibilidade quadrtica, optamos por 1 = 10, sem mais justica-
tiva que o fato de que foi a escolha que melhor funcionou em milhares de problemas
0 6
da literatura. Por ltimo, se |f (x )| menor que 0.5 10 vezes a medida de
6
inadmissibilidade, optamos, tambm sem grande justicativa, por 1 = 10 .
Teoricamente, a soluo de um subproblema para muito grande deve estar
prxima da soluo do problema original. Com esse critrio, o aconselhvel seria
sempre usar valores muito grandes de . Entretanto, se zermos isso os subpro-
blemas cariam muito mais difceis. A soluo mais equilibrada depende sempre
do problema e o usurio deve estar preparado para manipular o parmetro de
penalidade inicial de acordo com sua experincia.

9.3 Criterios de Parada


Este um dos aspectos nos quais a Teoria de Otimizao se vincula mais fortemente
com a prtica computacional. Implementamos algoritmos em preciso nita e
dispomos de um tempo nito para resolver os problemas, entretanto nossa teoria
supe preciso innita e fala de convergncia de seqncias e subseqncias. Em
que medida as decises algoritmicas devem ser amparadas pela teoria? No existe
uma resposta terica para esta pergunta, mas sim o resultado de muitos anos de
experincia prtica. Nosso ponto de vista pragmtico: na impossibilidade de
testar todas as variaes de implementao com chances de sucesso, o sensato
optar pelas decises que mais consequentemente obedecem teoria.

9.3.1 Parada nos subproblemas


Os subproblemas de Algencan so de minimizao em caixas. As caixas denidas
por amin x amax so conjuntos compactos. Logo, como as funes objetivo
dos subproblemas so contnuas, existe um minimizador global em todos os sub-
min
problemas. Quando o problema original no envolve limitantes naturais (a ou
96 Captulo 9. Implementacao e Uso de ALGENCAN

amax ) em todas ou algumas variveis, o usurio convocado a postular limitantes


articiais, baseado em seu conhecimento da localizao provvel da soluo.
Sabemos que obter a soluo global dos subproblemas , quase sempre, um
objetivo demasiado ambicioso, embora desejvel. Por isso, a verso implementada
de Algencan resolve subproblemas usando Gencan, algoritmo para minimizar em
caixas com o que, dado qualquer k > 0 e para k sucientemente grande, um
iterando para o qual a norma do gradiente projetado contnuo menor que k ser
fatalmente encontrado. Em outras palavras, se o nmero de iteraes de Gencan
min
ilimitado, acabaremos encontrando um iterando z tal que a z amax e tal
que

kP (z Lk (z , k , k )) z k k .
min
(Aqui P
o operador projeo na caixa a x amax .)
k
Denindo x = z , o critrio terico exigido no Algoritmo 7.1 para o iterando
xk (condies (7.37.6)) ser satisfeito. (Ver Exerccio no nal deste captulo.)
Este critrio bsico tem uma slida justicativa terica por dois motivos: for-
k
nece o tipo de iterando x que precisa o Algoritmo 7.1 e sua obteno est garantida
pelo algoritmo que minimize em caixas.
Na prtica, entretanto, algo pode falhar. Por um lado, possvel que o tempo
que Gencan necessite para encontrar z como desejado acima seja excessivo. Se
Gencan demora muito em determinado subproblema, parece sensato interromper a
execuo para recalcular os multiplicadores de Lagrange e o parmetro de penali-
dade, com a expectativa de encontrar subproblemas mais fceis. Por isso, Algencan
estabelece um mximo padro de 5000 iteraes para a resoluo de cada subpro-
blema, mximo que, naturalmente, pode ser modicado pelo usurio, alterando o
valor da varivel maxtotit no programa principal.
Mais frequente a possibilidade de que a condio de parada mencionada acima
para o subproblema no possa ser atingida por razes de escalamento. Isto tem
a ver exclusivamente com o fato de que trabalhamos com uma representao nita
min
do contnuo. A caixa a x amax tem uma quantidade nita de pontos
nesta representao e, naturalmente, em um deles o valor da funo Lk o menor
possvel. Entretanto, pode ser que, nem neste ponto nem em nenhum outro, a
norma do gradiente projetado contnuo seja menor que k . Uma situao deste
tipo fcil de simular. Suponha que no melhor ponto da representao nita (na
8
mquina) da caixa, tenhamos que a norma do gradiente projetado contnuo 10
4
(um nmero com aspecto pequeno!) e que k = 10 . Portanto, o melhor ponto na
caixa da mquina satisfaz o critrio de parada preconizado. Entretanto, suponha
agora que a funo objetivo Lagrangiano Aumentado a anterior multiplicada por
105 . Teremos assim que no melhor ponto a norma do gradiente projetado contnuo
3
10 e, portanto, o critrio de parada no satisfeito, apesar do problema ser
9.3. Criterios de Parada 97

totalmente equivalente ao anterior. Situaes como esta acontecem de fato no


Lagrangiano Aumentado na prtica quando o parmetro de penalidade ca muito
grande.
Quando situaes como a delinhada acima acontecem, dizemos que a preciso
k no pode ser atingida. O comportamento de Gencan, nestes casos, tpico:
vemos o algoritmo convergir, mas a norma do gradiente no decresce ao valor que
desejvamos. Gencan est preparado para detectar esta eventualidade e, quando
ela sucede, pra e devolve o controle para Algencan com o melhor ponto obtido.
Na teoria do Algoritmo 7.1 vemos que o nico requisito para k que deve
tender a zero. Ou seja, os subproblemas devem ser resolvidos com mais e mais pre-
ciso em cada iterao de Algencan. Um argumento de bom senso muito utilizado
na Anlise Numrica diria que, nas primeiras iteraes de Algencan, no sensato
resolver os subproblemas com alta preciso porque, anal de contas, a soluo dos
primeiros subproblemas pode estar ainda distante da soluo do problema princi-
pal. Provavelmente existe uma estratgia tima para vincular, dinamicamente, a
escolha de k com k e k mas, no momento em que estas notas so escritas, tal
estratgia ainda no foi encontrada. Por isso, a verso padro de Algencan, neste
momento, usar k xo e pequeno, em todas as iteraes. Gostariamos de usar
k = 0 mas isto invivel em preciso nita, pois via de regra, o critrio de parada
de Gencan jamais seria atingido. Por isso, na atual verso padro, estabelecemos
k = opt para todo k . O signicado de opt ser dado na seo 9.3.3.

9.3.2 Decisoes emergenciais


Decidir o qu fazer quando tudo funciona exatamente dentro dos parmetros da
teoria relativamente simples. O complicado tomar decises quando as coisas
parecem no funcionar como previsto.
Consideremos, por exemplo, o caso em que depois do nmero padro de ite-
raes internas (5000) o critrio de convergncia de Gencan no foi atingido. Na
teoria (no mundo contnuo) isto no possvel se o nmero de iteraes permi-
min
tido for sucientemente grande, pois o domnio a x amax compacto e
os teoremas de convergncia de Gencan garantem que um ponto com o gradiente
projetado contnuo to pequeno como se queira ser encontrado. Entretanto, na
prtica computacional, a mencionada falha possvel por dois motivos:
(a) O nmero de iteraes no foi suciente para atingir a preciso requerida;
(b) O critrio de parada de Gencan jamais poderia ser atingido devido ao esca-
lamento do problema.
De fato, no sabemos se estamos diante da situao (a) ou da situao (b). Mas
temos uma gama de possveis decises a ser tomadas:

1. Poderiamos executar mais 5000 iteraes de Gencan. Entretanto, se depois


98 Captulo 9. Implementacao e Uso de ALGENCAN

deste procedimento continussemos sem atingir o critrio de convergncia


de Gencan estaramos na mesma situao, e obrigados a tomar uma deciso
emergencial. Portanto, esta no uma verdadeira alternativa e deve ser
descartada em conseqncia.

2. Depois de uma iterao problemtica como a mencionada, deveriamos atua-


lizar os multiplicadores de Lagrange ou no? Talvez haja bons argumentos
para no atualizar nestes casos. Entretanto, dado que com os multiplicadores
de Lagrange anteriores no fomos muito bem, nos parece sensato atualizar os
multiplicadores, com a expectativa de obter resultados melhores na prxima.
Um argumento adicional para sim atualizar os multiplicadores a possibi-
lidade de que nos encontemos no caso (b) mencionado acima. Neste caso,
embora no tenhamos atingido o critrio de convergncia, estamos provavel-
mente muito perto da soluo do subproblema e devemos proceder como se a
soluo do subproblema tivesse sido atingida. Logo, em Algencan os multi-
plicadores de Lagrange so atualizados independentemente de que o critrio
de convergncia de Gencan tenha sido atingido ou no.

3. Devemos atualizar o parmetro de penalidade depois da chamada problem-


tica a Gencan? A deciso duvidosa no caso (a), mas inequvoca no caso
(b). Este caso equivale a ter atingido a preciso desejada em Gencan, pois
pedir uma preciso exagerada veio de uma avaliao incorreta do usurio
sobre o escalamento do problema. Portanto, e dado que os dois casos so
indistingveis, a prudncia nos leva a proceder como se estivssemos sempre
no caso (b). Logo, o parmetro de penalidade atualizado de acordo com
a comparao usual das medidas de admissibilidade-complementaridade em
duas iteraes consecutivas. Entretanto, existe uma exceo a esta regra, que
ser comentada mais adiante.

Suponhamos que na iteraok 1 de Algencan a norma da admissibilidade-


complementaridade seja menor que f eas e que na iterao k tambm, embora nesta
iterao tal norma tenha aumentado em relao anterior. Devemos multiplicar
o parmetro de penalidade por tambm neste caso? Primeiro vejamos em qu
circunstncias isto pode acontecer.
(a) No primeiro caso, o critrio de convergncia de Gencan foi satisfeito nor-
malmente com a tolerncia k .
Na nossa presente implementao usamos k = opt
para todo k , portanto neste caso x seria a soluo devolvida por Algencan e no
k

h nenhuma deciso a tomar.


(b) No segundo caso, Gencan no conseguiu parar com a tolerncia requerida.
Neste caso, julgamos que aumentar o parmetro de penalidade somente iria a piorar
o condicionamento e, portanto, as diculdades para Gencan. Portanto, nos parece
injusto aumentar o parmetro de penalidade neste caso.
9.3. Criterios de Parada 99

(c) Se no usssemos k = opt a deciso poderia ser diferente, pois poderia ser
que x no fosse a soluo nal devolvida por Algencan. Entretanto, na dvida,
k

decidimos proceder igual que no caso (b).

9.3.3 Parada final


A execuo de Algencan se interrompe declarando Convergncia, quando as se-
guintes condies so vericadas para f eas , opt > 0 dados. (Na verso padro,
f eas = opt = 104 .)

kP (xk Lk (xk , k , k )) xk k opt , (9.1)

kh(xk )k f eas , gi (xk ) f eas para todo i = 1, . . . , p, (9.2)

k+1
i =0 para todo i tal que gi (xk ) < f eas . (9.3)

Devido s denies (7.7) e (7.9) de k+1 e k+1 , a condio (9.1) equivalente


a
kP (xk L0 (xk , k+1 , k+1 )) xk k opt .
A satisfao desta condio responsabilidade do mtodo que resolve os sub-
problemas. Como dito na seo anterior, a continuidade da funo objetivo Lk
dos subproblemas e a compacidade do domnio garantem que a condio (9.1) ser
atingida, independentemente de qualquer outra caracterstica do PNL. Mais ainda,
se fazemos k = opt para todo k , a condio atingida por todos
os iterandos x
k

do mtodo de Lagrangiano Aumentado.


As condies de admissibilidade (9.2) podem ser satisfeitas ou no. Por exem-
plo, se o problema original tem regio admissvel vazia (coisa que, a priori, no
podemos vericar) elas jamais sero satisfeitas. Nesse caso, Algencan poder pa-
rar por duas razes:

1. Durante maxitncp
(igual a 9 por padro) iteraes consecutivas no houve
k
progresso na admissibilidade de x ;

2. Chegou-se a um mximo de k = maxoutit iteraes. (maxoutit igual a 50


no padro.)

As condies de complementaridade (9.3) admitem uma anlise mais interes-


sante, dada pela Proposio 7.1. Suponhamos que o mtodo est convergindo a

um ponto x . (Mais propriamente, uma subseqncia gerada pelo mtodo est
k+1
convergindo a x .) Segundo a Proposio 7.1, o multiplicador i ser igual a

zero para k sucientemente grande sempre que gi (x ) < 0. Poderia ser que, para
100 Captulo 9. Implementacao e Uso de ALGENCAN

k
innitas iteraes da subseqncia convergente, tenhamos que gi (x ) < f eas e
k+1
i > 0? Se isto fosse possvel, por continuidade, teriamos que gi (x ) < 0. Mas a
k+1
Proposio 7.1 diz que, nesse caso, i seria igual a zero para k sucientemente
grande. Portanto, a condio de parada (9.3) necessariamente satisfeita, para k
sucientemente grande, independentemente de que o mtodo convirja a um ponto
admissvel ou no.
Resumindo, as trs condies para declarar convergncia do mtodo tm os
seguintes diferentes status:

1. A condio de Lagrange (9.1) satisfeita por todas as iteraes xk do mtodo,


a menos que o algoritmo computacional usado para minimizar em caixas
falhe.

2. A condio de admissibilidade (9.2) pode ou no ser satisfeita. Quando no


satisfeita o mtodo pra por esgotamento do nmero mximo de iteraes.

3. A condio de complementaridade (9.3) necessariamente satisfeita, para k


sucientemente grande, exceto falha do algoritmo usado para minimizar em
caixas.

Poderiamos sintetizar o anterior dizendo que a nica condio crucial para


decidir a parada do mtodo a de admissibilidade, dado que as outras duas (fora
falhas computacionais) so necessariamente satisfeitas, uma em todas as iteraes
e outra para k sucientemente grande.
Um ponto que satisfaz as condies de parada (9.19.3) merece ser chamado,
com toda justia, de KKT , com = max{f eas , opt }. Podemos dizer que o
Algoritmo de Lagrangiano Aumentado, se converge a um ponto admissvel, neces-
sariamente pra em um ponto KKT aproximado. curioso e instrutivo o fato
de que isto acontea mesmo quando o ponto limite no KKT, e mesmo quando
no existe nenhum ponto KKT. Nestes casos, algum multiplicador de Lagrange
k+1
aproximado k k ou kk+1 k tende a innito e a Condio de Qualicao no se
cumpre no limite. O usurio de Algencan intuir este fato ao observar estimativas
muito grandes dos multiplicadores, mas dicilmente se interesse por esta anomalia.

9.4 Usando Algencan


Algencan pode ser usado na sua forma original ou atravs de suas interfaces. A
interface mais importante com AMPL porque mediante ela o usurio pode se
livrar do desconforto de calcular derivadas. Nesta seo falaremos exclusivamente
do uso deAlgencan na sua forma bsica.
Algencan um programa exaustivamente comentado. Qualquer pessoa com
conhecimentos rudimentares de Fortran pode us-lo para resolver problemas de
9.4. Usando Algencan 101

otimizao com muitas variveis e restries. O recomendvel que o eventual


usurio imprima o programa fonte e estude com calma as modicaes que deve
fazer para sua aplicao.
Para usar Algencan na verso Fortran, o usurio deve modicar o programa
fonte na forma indicada nos comentrios. Os comentrios formam um completo
manual do usurio, portanto aqui nos limitaremos a detalhar um exemplo.
n
Queremos encontrar np pontos na bola unitria de IR d , com a coordenada nd
de cada um entre 1/2 e 1/2, de maneira que a distncia mnima entre cada par
deles seja a maior possvel.
Primeiro vejamos como formular este problema como um PNL. Chamaremos
P 1 ,. . . ,P np n
aos pontos de IR d que queremos encontrar. Assim, o problema ser:

Maximizar min{kP i P j k, i 6= j}

sujeita a kP k k 1, 0.5 Pnkd 0.5, k = 1, . . . , np .


Isto equivalente a:

Minimizar max{kP i P j k, i 6= j}

sujeita a kP k k 1, 0.5 Pnkd 0.5, k = 1, . . . , np .


Acrescentando a varivel auxiliar z , este problema :

Minimizar z

sujeita a

z kP i P j k2 0 i 6= j,

kP k k2 1 0 k = 1, . . . , np ,

0.5 Pnkd 0.5 k = 1, . . . , np .

Esta j uma forma PNL padro. O nmero de variveis np nd + 1 e o


nmero de restries de desigualdade (fora as canalizaes) np + np (np 1)/2.
k
Cada coordenada de cada ponto P deve ser associada a uma varivel xi . Nossa
conveno ser associar z a xn e escrever:

n
(x1 , . . . , xn ) = (P11 , . . . , Pn1d , P12 , . . . , Pn2d , . . . , P1 p , . . . , Pnndp , z).

Vejamos as modicaes que precisamos fazer em Algencan para resolver este


problema.
102 Captulo 9. Implementacao e Uso de ALGENCAN

9.4.1 Subrotina Inip

Esta a primeira subrotina que o usurio encontrar no pacote Algencan. aqui


que preciso indicar o nmero de variveis, de restries, o ponto inicial e o tipo
de restries (igualdade, desigualdade, linearidade).
Uma das primeiras declaraes desta subrotina, assim como das outras subro-
tinas que compem o pacote implicit none. Isto signica que o usurio deve
declarar o status de todas as variveis (inteira, real, preciso dupla, lgica).
Exclundo os comentrios originais, e substituindo esses comentrios por novos
textos em portugus, a forma que pode tomar a subrotina inip a seguinte:

subroutine inip(n,x,l,u,m,lambda,rho,equatn,linear)
implicit none
c m o nmero de restries, n o nmero de variveis.
integer m, n
c equatn uma vetor lgico que define se cada
c restrio de igualdade ou no.
c linear uma vetor lgico que define se cada
c restrio linear ou no.
logical equatn(*),linear(*)
c l o vetor de limitantes inferiores, u o vetor de limitantes
c superiores, lambda o vetor de multiplicadores de Lagrange,
c rho o parmetro de penalidade e x deve ser o ponto inicial.
double precision l(*),lambda(*),rho(*),u(*),x(*)
c i, j, k so variveis auxiliares
integer i, j, k
c nnpun o nmero mximo de pontos que ser usado,
c npun o nmero efetivo de pontos usado
c neste problema (np )
c e ndim a dimenso do espao onde
c residem esses pontos (nd ).
c indim o mximo nmero de restries possvel.
integer nnpun, indim, npun, ndim
parameter (nnpun = 100)
parameter (indim = nnpun*(nnpun-1)/2)
c indi e indj so vetores auxiliares usados para,
c dado o nmero
c de uma restrio do tipo distncia,
c estabelecer quais so
c os dois pontos P i e P j envolvidos nessa restrio.
integer indi(indim), indj(indim)
9.4. Usando Algencan 103

c O common sorvete cumpre a funo de comunicar s subrotinas


c que calculam funo e restries os valores
c dados a ndim, npun
c e os indicadores indi, indj.
common/sorvete/npun, ndim, indi, indj
c O usurio introduz na tela os valores de nd e np .
write(*, *) ' ndim, npun:'
read(*, *) ndim, npun
write(*, *)' ndim=', ndim,' npun =', npun
c n o nmero de variveis do problema.
n = ndim * npun + 1
c O ponto inicial escolhido como (1, 2, 3, . . . , n) neste
c exemplo.
do i = 1,n
x(i) = dfloat(i)
end do
c Limitantes inferiores e superiores:
do i = 1,npun
do j = 1, ndim-1
l((i-1)*ndim+j) = - 1.d4
u((i-1)*ndim+j) = 1.d4
end do
end do
do i = 1, npun
l(i*ndim) = -0.5d0
u(i*ndim) = 0.5d0
end do
c m o nmero de restries.
m = npun + npun*(npun-1)/2
c Para cada k estabelecemos quais so os valores de i e j
c que correspondem a restrio k-sima. Esta informao,
c armazenada nos vetores indi e indj,
c passada por common s subrotinas que calculam restries.
k = 1
do i = 1, npun-1
do j = i+1, npun
indi(k)=i
indj(k)=j
k = k + 1
end do
end do
104 Captulo 9. Implementacao e Uso de ALGENCAN

c Aproximao inicial dos multiplicadores de Lagrange:


do i = 1, m
lambda(i) = 0.0d0
end do
c Parmetro de penalidade inicial:
c Em princpio, Algencan usa o parmetro de penalidade
c inicial padro.
c Se voc faz questo de usar um parmetro de penalidade
c definido aqui, v at a subroutina easyalgencan e
c coloque rhoauto = .false.
do i = 1, m
rho(i) = 10.0d0
end do
c Como todas as restries so de desigualdade,
c o vetor lgico
c equatn tem todas suas componentes falsas.
do i = 1, m
equatn(i) = .false.
end do
c Como nenhuma restrio linear, o vetor lgico
c linear tem todas suas componentes falsas.
do i = 1, m
linear(i) = .false.
end do
return
end

9.4.2 Subrotinas evalf e evalg


As subrotinas evalf e evalg devem avaliar a funo objetivo e seu gradiente
no ponto x. Fazendo a mesma depurao que zemos em inip, estas subrotinas
podem tomar a seguinte forma para resolver o problema.

subroutine evalf(n,x,f,flag)
implicit none
integer flag,n
double precision f
double precision x(n)
c Nesta, como nas outras subrotinas fornecidas pelo usurio,
c a varivel flag deve ser igual a 0 se a avaliao transcorre
c sem dificuldades, ou seja, sem divises por zero,
9.4. Usando Algencan 105

c logaritmos de
c nmeros no-positivos, etctera. Neste problema, dada
c a simplicidade das funes envolvidas, nenhuma
c dificuldade pode se manifestar e, em conseqncia,
c flag deve ser igual a zero.
c Nos outros casos, coloque flag = 1.
flag = 0
f = x(n)
return
end

subroutine evalg(n,x,g,flag)
implicit none
c Esta subrotina deve avaliar o gradiente da funo definida
c por evalg.
c integer n, flag
c double precision x(n), g(n)
flag = 0
do i = 1 ,n - 1
g(i) = 0.0d0
end do
g(n) = 1.0d0
return
end

9.4.3 Subrotinas evalc e evaljac


A subrotina evalc deve avaliar as restries e evaljac deve avaliar os gradientes
das mesmas, ou seja, a matriz Jacobiana.

Vejamos a forma destas subrotinas no nosso problema.

subroutine evalc(n,x,ind,c,flag)
c As variveis de entrada so n, x, ind. n o nmero de
c variveis do problema, x o ponto no qual Algencan deseja
c avaliar uma restrio e ind o nmero da restrio que
c Algencan quer avaliar. Assim, o usurio deve programar
c o clculo da restrio de ndice ind em um ponto
c genrico x.
c A sada o nmero c e o indicador flag. O nmero c
c o valor da restrio ind no ponto x. flag tem o mesmo
106 Captulo 9. Implementacao e Uso de ALGENCAN

c papel que em evalf e evalg.


c Se tudo funciona bem, o usurio deve
c colocar flag = 0, mas se h alguma operao proibida,
c deve-se colocar flag = 1.
implicit none
integer ind, flag, n
double precision c
double precision x(n)
integer i, j, k
c As prximas cinco linhas de declaraes so especficas
c para o problema
c de otimizao que estamos exemplificando.
c ndim a dimenso nd e npun o nmero de pontos np .
c A informao sobre ndim e npun passada a esta subrotina
c atravs do common/sorvete/ pois tanto ndim como npun foram
c definidos na subrotina inip.
c Tambm pelo mesmo common passada a informao indi e indj.
c Lembremos que, dado um nmero de restrio k, indi(k)
c e indj(k) do os pontos P i e P j que esto envolvidos
c nessa restrio.
c Tanto indi como indj foram calculados em
c inip.
c nnpun o nmero mximo de pontos previsto para np em
c problemas deste tipo. Neste caso colocamos nnpun=100.
c De acordo com isso, a dimenso mxima que podem ter os
c os vetores indi e indj indim.
integer nnpun, indim, npun, ndim
parameter (nnpun = 100)
parameter (indim = nnpun*(nnpun-1)/2)
integer indi(indim), indj(indim)
common/sorvete/npun, ndim, indi, indj
flag = 0
c As npun primeiras restries so as que dizem
c que cada ponto
c P k deve ter norma menor ou igual que 1.
if(ind.le.npun) then
c = -1.d0
do i = 1, ndim
c = c + x((ind-1)*ndim+i)**2
end do
return
9.4. Usando Algencan 107

endif
c As npun*(npun-1)/2 restries finais se referem distncia
c entre os pontos P i e P j .
i = indi(ind-npun)
j = indj(ind-npun)
c = - x(n)
do k = 1, ndim
c = c - (x((i-1)*ndim+k) - x((j-1)*ndim+k))**2
end do
return
end

subroutine evaljac(n,x,ind,indjac,valjac,nnzjac,flag)
c Os significados das variveis de entrada n, x, ind e da
c varivel de sada flag so os mesmos que em evalc.
c Nesta subrotina, dado o ponto x fornecido por Algencan,
c o usurio deve programar o gradiente da restrio ind.
c Para isso, o usurio fornecer as seguintes informaes:
c O nmero nnzjac deve dizer quantos elementos diferentes
c de zero pode ter esse gradiente, ou, em outras palavras,
c quantas variveis aparecem na definio da restrio ind.
c O vetor inteiro indjac, com nnzjac posies, diz quais
c so as variveis envolvidas na restrio ind.
c Finalmente, se j = indjac(k), valjac(k) deve ser
c a derivada
c da restrio ind em relao a varivel j.
implicit none
integer flag,ind,n,nnzjac,npun,ndim,nnpun,indim,i,j,k
integer indjac(n)
double precision x(n),valjac(n)
c nnpun, npun, indim, indi, indj e o common/sorvete/ tm
c o mesmo significado que em evalc.
parameter (nnpun = 100)
parameter (indim = nnpun*(nnpun-1)/2)
integer indi(indim), indj(indim)
common/sorvete/npun, ndim, indi, indj
flag = 0
if(ind.le.npun) then
c As primeiras npun restries so as que dizem que
c todos os pontos P i esto na bola unitria.
c Para programar as derivadas til lembrar as restries
108 Captulo 9. Implementacao e Uso de ALGENCAN

c nos comentrios.
c c = -1.d0
c do i = 1, ndim
c c = c + x((ind-1)*ndim+i)**2
c end do
nnzjac = ndim
do i = 1, ndim
indjac(i) = (ind-1)*ndim+i
valjac(i) = 2.d0 * x((ind-1)*ndim+i)
end do
return
endif
c As restries npun+1,...,m so as que se referem
c distncia entre P i e P j .
i = indi(ind-npun)
j = indj(ind-npun)
c c = - x(n)
c do k = 1, ndim
c c = c - (x((i-1)*ndim+k) - x((j-1)*ndim+k))**2
c end do
nnzjac = 2* ndim+1
do k = 1, ndim
indjac(k) = (i-1)*ndim+k
indjac(ndim+k) = (j-1)*ndim+k
valjac(k) = - 2.d0 * (x((i-1)*ndim+k) - x((j-1)*ndim+k))
valjac(ndim+k) = - 2.d0 * (x((j-1)*ndim+k) - x((i-1)*ndim+k))
end do
indjac(2*ndim+1) = n
valjac(2*ndim+1) = -1.d0
return
end

9.4.4 Programa Principal, subrotina param e subrotina endp


Muitas vezes, para resolver um problema PNL, o usurio precisar usar Algencan
utilizando diferentes pontos iniciais. Uma estratgia simples, muito comum, con-
siste em partir de pontos iniciais gerados aleatoriamente, provavelmente de maneira
uniforme e dentro da caixa do problema. Para fazer isso, ser necessrio fazer
modicaes no Programa Principal do pacote Algencan. Para ter uma idia de
como isto pode ser feito, vejamos aqui a estrutura padro deste programa principal:
9.4. Usando Algencan 109

implicit none
integer mmax,nmax
c nmax e mmax so o nmero mximo de variveis e o nmero
c mximo de restries, respectivamente, permitido por
c Algencan. Estes nmeros podem ser aumentados modificando
c as declaraes parameter que seguem.
parameter ( mmax = 500000 )
parameter ( nmax = 500000 )
c As prximas linhas so declaraes que no devem ser
c mudadas pelo usurio.
logical checkder
character * 6 precond
integer gtype,hptype,inform,iprint,m,maxoutit,maxtotfc,maxtotit,n,
+ ncomp,outiter,totcgcnt,totfcnt,totgcnt,totiter
double precision epsfeas,epsopt,f,nalpsupn,snorm
real time
integer wi1(nmax)
logical equatn(mmax),linear(mmax)
double precision l(nmax),lambda(mmax),rho(mmax),u(nmax),wd1(mmax),
+ wd2(mmax),wd3(nmax),wd4(mmax),wd5(mmax),wd6(nmax),
+ wd7(nmax),wd8(nmax),wd9(nmax),wd10(nmax),wd11(nmax),
+ wd12(nmax),wd13(nmax),wd14(nmax),wd15(nmax),wd16(nmax),
+ wd17(nmax),wd18(nmax),wd19(nmax),x(nmax)
external solver
c A primeira tarefa do programa principal chamar subrotina
c inip, onde o usurio deve ter inserido dados do problema
c como nmero de variveis e restries, limitantes
c inferiores e superiores, tipo de restries e ponto inicial.
call inip(n,x,l,u,m,lambda,rho,equatn,linear)
c Depois de chamar a inip, o programa principal chama
c subrotina param, cuja funo estabelecer os
c parmetros com os quais Algencan tratar de resolver
c o problema.
call param(gtype,hptype,precond,checkder,epsfeas,epsopt,maxoutit,
+maxtotit,maxtotfc,iprint,ncomp)
c Em continuao, o programa principal chama subrotina
c solver, que, de fato, o mtodo de otimizao.
call solver(n,x,l,u,m,lambda,rho,equatn,linear,gtype,hptype,
+precond,checkder,epsfeas,epsopt,maxoutit,maxtotit,maxtotfc,iprint,
+ncomp,f,snorm,nalpsupn,outiter,totiter,totfcnt,totgcnt,totcgcnt,
+time,inform,wi1,wd1,wd2,wd3,wd4,wd5,wd6,wd7,wd8,wd9,wd10,wd11,
110 Captulo 9. Implementacao e Uso de ALGENCAN

+wd12,wd13,wd14,wd15,wd16,wd17,wd18,wd19)
c Finalmente, depois de obtido o resultado, o programa
c principal chama subrotina endp, que ser programada pelo
c usurio de maneira que os resultados finais lhe sejam
c apresentados da maneira mais conveniente para seus
c prprios objetivos.
call endp(n,x,l,u,m,lambda,rho,equatn,linear)
stop
end

A subrotina param est exaustivamente comentada no pacote Algencan. Usu-


rios experientes podem obter melhores desempenhos que os padro para seus pro-
blemas manipulando de maneira inteligente os parmetros de execuo do mtodo.
Aqui comentaremos apenas algumas das modicaes mais teis.
subroutine param(gtype,hptype,precond,checkder,epsfeas,epsopt,
+maxoutit,maxtotit,maxtotfc,iprint,ncomp)
implicit none
logical checkder
character * 6 precond
integer gtype,hptype,iprint,maxoutit,maxtotfc,maxtotit,ncomp
double precision epsfeas,epsopt
c gtype um dos parmetros que o usurio ser mais tentado
c a modificar. Se gtype = 1, Algencan calcula as derivadas da
c da funo e as restries usando diferenas finitas.
c Logo, se se substitui gtype=0 por gtype=1,
c o usurio no precisar programar o gradiente da funo
c objetivo nem o Jacobiano das restries. Essa opo faz
c diminur bastante a eficincia de Algencan, mas muitas vezes
c til.
gtype = 0
c A varivel lgica checkder serve para checar numricamente
c as derivadas programadas analticamente en evalg e evaljac.
c Se checkder = .true., Algencan faz essa verificao em um
c ponto aleatrio e devolve os resultados na tela ao usurio
c de maneira que este possa conferir seus clculos analticos.
checkder = .false.
c epsfeas o parmetro f eas , usado para
c decretar se o ponto obtido admissvel ou no.
c epsopt o parmetro opt , a preciso usada
c para otimalidade.
epsfeas = 1.0d-04
9.4. Usando Algencan 111

epsopt = 1.0d-04
c maxoutit o nmero mximo de iteraes permitido
c para Algencan.
c maxtotit o nmero total de iteraes permitido para
c o mtodo que resolve os subproblemas (Gencan)
c maxtotfc o nmero mximo de avaliaes de funo
c permitido na soma das chamadas a Gencan.
maxoutit = 50
maxtotit = 1000000
maxtotfc = 5 * maxtotit
c iprint serve para controlar a impresso na tela.
c Quanto maior
c for, maiores so os detalhes da sada que Algencan imprime.
iprint = 2
c Para o significado dos seguintes parmetros,
c melhor ver
c os comentrios desta subrotina em Algencan.
ncomp = 5
precond = 'QNCGNA'
hptype = 6
return
end

Depois de terminada a tarefa de Algencan, o usurio pode desejar fazer algum


clculo adicional, provavelmente com o m de facilitar a leitura da sada ou usar os
resultados para outros objetivos. Para isso, o pacote inclui a subrotina endp, que
em sua verso padro no faz nada. Vejamos aqui as modicaes razoveis que o
usurio pode fazer para obter uma apreciao melhor dos resultados. O que endp
far, neste caso, calcular a distncia mnima entre os pontos obtidos e imprimir
todos os pontos na tela em uma ordem razovel.

subroutine endp(n,x,l,u,m,lambda,rho,equatn,linear)
implicit none
integer m,n, i, npun, ndim, j, k, nnpun, indim
parameter (nnpun = 100)
parameter (indim = nnpun*(nnpun-1)/2)
integer indi(indim), indj(indim)
common/sorvete/npun, ndim, indi, indj
logical equatn(m),linear(m)
double precision l(n),lambda(m),rho(m),u(n),x(n),z,zmin
write(*, *)' Best set of points found:'
112 Captulo 9. Implementacao e Uso de ALGENCAN

do i = 1, npun
write(*, *)i, (x((i-1)*ndim+j), j=1,ndim)
end do
zmin = 1.d30
do i = 1, npun-1
do j = i+1, npun
z = 0.d0
do k = 1, ndim
z = z + (x((i-1)*ndim+k)-x((j-1)*ndim+k))**2
end do
z = dsqrt(z)
if(z. le. zmin) zmin = z
end do
end do
write(*, *)' Minimal distance:', zmin
return
end

9.4.5 Resultado de Algencan


Rodamos o problema exemplo com npun =12, ndim=3. A parte nal da impresso
produzida por Algencan na tela foi a seguinte:

ALGENCAN outer iteration: 16


Current point (first 5 components):
-8.0449E-01 3.2065E-01 5.0000E-01 -2.5296E-01 -8.7202E-01
Updated Lagrange multipliers (first 5 components):
5.6186E-02 9.7019E-02 7.8359E-02 9.5448E-02 7.9739E-02
Updated penalty parameters (first 5 components):
1.9129E+02 1.9129E+02 1.9129E+02 1.9129E+02 1.9129E+02
Objective function value = -8.8532E-01
Maximal violation of feasibility-complementarity = 1.8306E-05
Sup-norm of the projected gradient of the Lagrangian = 9.8352E-06
Up-to-now number of inner iterations = 824
Up-to-now number of Augmented Lagrangian function evaluations = 2501
Up-to-now number of Augmented Lagrangian gradient evaluations = 931
Flag of ALGENCAN = 0 (Convergence with Sup-norm of the Lagrangian projected
gradient smaller than 1.0000E-04, maximal infeasibility smaller than
1.0000E-04, and largest complementarity violation smaller
than 1.0000E-04)
9.4. Usando Algencan 113

A impresso gerada pela subrotina endp foi a seguinte:

Best set of points found:


1 -0.804490207 0.320645932 0.5
2 -0.252960237 -0.872019826 -0.419039034
3 0.879020515 -0.273464861 -0.390562788
4 0.883830201 0.331500992 0.330073625
5 -0.0371920266 0.865225355 0.5
6 0.453823505 -0.86788081 0.20205891
7 -0.511111833 0.801516183 -0.310353757
8 0.0507746088 -0.0715736089 0.5
9 -0.932058875 -0.0385117279 -0.36025892
10 -0.00424318626 0.0318093299 -0.5
11 -0.711344807 -0.604817427 0.358012737
12 0.431493967 0.845105674 -0.3156249
Minimal distance: 0.940910191

Desenhando estes pontos no espao, obtemos a seguinte gura:

s
1
t5




v
8


u11

r7 v4



s9 s12

x6




t10


v2
v
3

EXERCCIOS
114 Captulo 9. Implementacao e Uso de ALGENCAN

1. Uma situao onde a inuncia do parmetro de penalidade inicial aparece


de maneira dramtica quando as restries vm da discretizao de um pro-
blema de contorno de segunda ordem. Ao discretizar uma derivada segunda
o passo de discretizao (elevado ao quadrado) aparece no denominador, mas
a equao poderia ser multiplicada por esse passo quadrado, o que muda to-
talmente o escalamento. Analise este caso na prtica e reita sobre o mesmo.

2. Em um exerccio do Captulo 8.1 foi proposta uma modicao do Algo-


ritmo 7.1 e foi observado que, com esta modicao, o algoritmo resultava
superlinear. Pediu-se para discutir se isto signicaria que a modicao re-
almente melhorava o algoritmo. Desenhe experimentos com Algencan para
analisar na prtica esta possibilidade. Voc pode forar o crescimento de k
em todas as iteraes modicando o parmetro que joga o papel de em
Algencan.
3. Prove que o critrio de parada nos subproblemas de Algencan coincide com o
critrio de parada para os subproblemas colocado no Algoritmo 7.1 (condies
max
(7.37.6). Para isto, dena m = 0, p = 2n, g (x) = xi ai , i = 1, . . . , n,
i
min
g n+i (x) = ai xi , i = 1, . . . , n e encare as contas (um pouco tediosas,
certamente). Observe que, em Gencan, todos os iterandos pertencem caixa
amin x amax , portanto g(xk ) 0.
Referencias Bibliograficas

On Aug-
[1] R. Andreani, E. G. Birgin, J. M. Martnez and M. L. Schuverdt,
mented Lagrangian Methods with Arbitrary Lower-Level Constraints, Tech-
nical Report MCDO-050913 (see www.ime.usp.br/martinez), Depart-
ment de Applied Mathematics, UNICAMP, Brazil, 2005.

[2] R. Andreani, E. G. Birgin, J. M. Martnez, M. L. Schuverdt. Augmen-


ted Lagrangian methods under the Constant Positive Linear Dependence
constraint qualication. Mathematical Programming, por aparecer.
[3] R. Andreani, J. M. Martnez, M. L. Schuverdt. On the relation between
Constant Positive Linear Dependence Condition and Quasinormality Cons-
traint Qualication. Journal of Optimization Theory and Applications 125,
pp. 473-485 (2005).

[4] M. Andretta, E. G. Birgin, J. M. Martnez. Practical active-set Eucli-


dian trust-region method with spectral projected gradients for bound-
constrained minimization. Optimization 54, pp. 305-325 (2005).
[5] D. P. Bertsekas. Nonlinear Programming, Athena Scientic, Belmont, Mas-
sachusetts, 1999.

[6] E. G. Birgin, J. M. Martnez. Large-scale active-set box-constrained opti-


mization method with spectral projected gradients. Computational Opti-
mization and Applications 23, pp. 101-125 (2002).
[7] E. G. Birgin, J. M. Martnez. Structured minimal-memory inexact quasi-
Newton method and secant preconditioners for Augmented Lagrangian
Optimization. Computational Optimization and Applications, por apare-
cer.

[8] E. G. Birgin, J. M. Martnez, M. Raydan. Inexact Spectral Projected Gra-


dient methods on convex sets. IMA Journal on Numerical Analysis 23, pp.
539-559 (2003).

115
116 Referencias Bibliograficas

[9] E. G. Birgin, J. M. Martnez, M. Raydan. Algorithm 813 SPG: Software


for convex-constrained optimization. ACM Transactions on Mathematical
Software 27, pp. 340-349 (2001).
[10] E. G. Birgin, J. M. Martnez, M. Raydan. Nonmonotone spectral pro-
jected gradient methods on convex sets. SIAM Journal on Optimiza-
tion 10, pp. 1196-1211 (2000).
[11] A. R. Conn, N. I. M. Gould, Ph. L. Toint. Trust Region Methods,
MPS/SIAM Series on Optimization, SIAM, Philadelphia, 2000.

[12] A. V. Fiacco, G. P. McCormick. Nonlinear Programming: Sequential Un-


constrained Minimization Techniques, John Wiley and Sons, New York,
1968.

[13] R. Fletcher. Practical Methods of Optimization, Academic Press, London,


1987.

[14] R. Fourer, D. M. Gay, B. W. Kernighan. AMPL: A Modeling Language


for Mathematical Programming, Duxbury Press / Brooks/Cole Publishing
Company, 2002.

[15] A. Friedlander, J. M. Martnez, B. Molina, M. Raydan. Gradient methods


with retards and generalizations. SIAM Journal on Numerical Analysis 36,
pp. 275-289 (1998).

[16] A. Friedlander, J. M. Martnez, S. A. Santos. A new trust region algorithm


for bound constrained minimization. Applied Mathematics and Optimiza-
tion 30, pp. 235-266 (1994).

[17] M. R. Hestenes. Multiplier and Gradient Methods. Journal of Optimization


Theory and Applications 4, pp. 303-320 (1969).
[18] A. N. Iusem. Augmented Lagrangian and Proximal Point Methods for
Convex Optimization, Investigacin Operativa 8, pp. 11-49 (1999).
[19] M. J. D. Powell. A method for nonlinear constraints in minimization pro-
blems. In Optimization, R. Fletcher (editor), Academic Press, New York,
pp. 283-298 (1969).

[20] M. Raydan. The Barzilai and Borwein gradient method for the large scale
unconstrained minimization problem, SIAM Journal on Optimization, 7,
pp. 2633 (1997).
Referencias Bibliograficas 117

[21] R. T. Rockafellar. Augmented Lagrange multiplier functions and duality in


nonconvex programming. SIAM Journal on Control and Optimization 12,
pp. 268-285 (1974).