Otimização/Imprimir
Origem: Wikilivros, livros abertos por um mundo aberto.
Esta é a versão para impressão de Otimização
|
[editar] Introdução
Este material está sendo elaborado com base nas notas de aula da disciplina Otimização II, do curso de Matemática Industrial oferecido pela UFPR, ministrada pelo professor Wilfredo, no segundo semestre letivo do ano de 2008.
O conteúdo do livro não precisa (nem deve) se limitar àquele que consta atualmente no índice. Sendo assim, a qualquer momento o livro pode ser revisto e ampliado.
Sinta-se a vontade para ler este ou quaisquer outros livros do projeto, melhorando-os conforme lhe for possível. Com isso estará ajudando a aumentar a quantidade e a qualidade dos textos didáticos disponíveis em língua portuguesa, ao mesmo tempo em que colaborará com o crescimento projeto Wikilivros como um todo.
Se tiver dúvidas ou sugestões sobre páginas específicas, utilize as páginas de discussão correspondentes para deixar um comentário a respeito.
Ainda há muito por fazer, mas cada um daqueles que contribuem acredita estar fazendo o possível para oferecer o melhor a todos.
[editar] Método de gradientes conjugados
[editar] Algumas considerações históricas
- Este método foi originalmente proposto por Hestenes e Stiefel, em 1952.
- Seu objetivo inicial foi a resolução de problemas quadráticos sem restrições, mas logo o mesmo foi estendido para casos mais gerais.
[editar] O método
Este método pode ser considerado sob dois pontos de vista:
- Como um método de descida, com busca linear exata;
- Como um método de resolução de sistema linear, baseado em um processo de ortogonalização.
- Definição
Um conjunto não vazio
é dito convexo quando
e
vale
[editar] Exemplos de conjuntos convexos e côncavos
- Definição
Uma função
é dita convexa quando
é convexo e
e
vale
- Definição
Dado um conjunto convexo
, uma função
é dita fortemente convexa quando existe uma constante a > 0 tal que
é convexa.
- Exercício
Verifique que uma função quadrática
é fortemente convexa se existe uma matriz simétrica definida positiva A, um vetor
e um escalar
de modo que
.
| Resolução |
|---|
Sendo uma função quadrática, tem-se . A matriz A pode ser suposta simétrica, pois caso não seja, toma-se (simétrica), e segue (verifique).
Além disso, se f é uma função fortemente convexa, então é estritamente convexa. Como f é duas vezes diferenciável (por ser uma função quadrática), a convexidade estrita implica que |
Nota: Uma matriz é definida positiva se, e somente se, todos os seus autovalores são positivos.
Tem-se:
Sendo
, segue em particular que
e
, onde Λ é uma matriz diagonal cujos elementos da diagonal são os autovalores de A e P é uma matriz onde as colunas são os autovetores correspondentes aos autovalores.
Note que A é uma matriz simétrica, pois é a matriz Hessiana de uma função com segundas derivadas parciais contínuas, e consequentemente vale
.
Para introduzir o método de direções conjugadas, serão consideradas somente funções quadráticas.
Uma condição necessária de primeira ordem para que x seja um ponto de mínimo para a função f é que
. Para o presente caso, a função f é convexa, então, a condição necessária
também é suficiente.
- Exercício
Prove que se A é uma matriz simétrica definida positiva, então
dada por
possui um único ponto de mínimo.
| Resolução |
|---|
Uma vez que A é simétrica definida positiva, a função f é fortemente convexa. Mas toda função fortemente convexa, definida em um conjunto fechado não vazio possui um único minimizador, pois:
Em particular, f possui um único ponto de mínimo. |
No caso de uma função quadrática, tem-se
, ou seja, x é solução do sistema linear Ax = − a.
A resolução de um sistema linear nem sempre pode ser feita numericamente de forma eficiente. Por exemplo, se a matriz do sistema é:
A solução do sistema linear corresponde à interseção entre duas retas quase paralelas, e os erros de truncamento podem causar imprecisão na solução obtida computacionalmente.
Analiticamente, o sistema Ax = − a tem x = − A − 1a como solução. Então alguém poderia se perguntar: qual o problema em resolver esse sistema linear, se basta calcular a inversa da matriz A e multiplicar pelo vetor − a? A resposta é que o calculo da inversa de uma matriz em geral é impraticável computacionalmente, por ter custo muito alto. Por isso, nas situações práticas, onde as matrizes tem ordem bem maior do que 2 (digamos 1000), o cálculo de matrizes inversas não é uma opção.
Assim, com o intuito de desenvolver um método computacional para o cálculo de minimizadores, é preciso utilizar outras técnicas. Considere o seguinte:
Em um método de descida tem-se sempre uma sequencia
, com xk + 1 = xk + tkdk e tk é um minimizador de 
e
Logo, tkAdk = − (Axk + a) e multiplicando por
obtem-se
. Consequentemente, o valor de tk é dado por
Deste modo, o método consistirá de escolher em cada etapa k uma direção dk, e calcular o coeficiente tk pela fórmula anterior, para gerar o próximo ponto xk + 1. Mas como escolher a direção dk?
Dado xk e escolhido dk, defina
como θ(t) = f(xk + tdk), ou seja, θ é a restrição da função f à reta que passa pelo ponto xk e que tem direção dk. Logo, derivando a expressão de θ em relação a t, obtem-se
Então, no ponto de mínimo, xk + 1, tem-se
Ou seja, a direção dk a ser seguida a partir do ponto xk é ortogonal ao gradiente da função f, no ponto xk + 1.
[editar] Esquema do método de descida
Seja
o minimizador da função f. Tem-se
Mas
implica que
, logo
e consequentemente
Donde
. Portanto
.
- Exercício
Provar que se A é uma matriz simétrica, definida positiva, então existe uma matriz simétrica B, de modo que A = B2
| Resolução |
|---|
Sendo uma matriz simétrica, tem-se , com P unitária e
Logo |
Usando o resultado desse exercício, tem-se ainda que 
Fazendo δ = Bd, o método do gradiente conjugado escolhe as direções de descida tais que
. Mas quando
, tem-se na expressão apresentada anteriormente apenas 
Finalmente, tem-se o algoritmo para este método.
[editar] Algoritmo de Hestenes-Stiefel
Primeiro passo: EscolhaSe
, então pare:
Senão:
Calcular
x1 = x0 + t0d0 Passo iterativo k: Dado
Se
, então pare:
Senão:
![]()
xk + 1 = xk + tkdk
Pode-se verificar facilmente que
. De fato, como
, tem-se
. Logo,
.
- Exercício
Provar que se y = Bx então
.
| Resolução |
|---|
| Tem-se
Multiplicando ambos os membros por B, e trocando x1 de lugar com xk + 1 resulta:
ou seja,
somando
Então Sendo a última igualdade devida ao fato de |
[editar] Exemplos
Considere
definida por
. Em outros termos, tomando
, tem-se
, onde
.
Pode-se aplicar o método de direções conjugadas ao seguinte problema
Note, desde já, que o conjunto solução é
.
- Inicio
- Toma-se x0 arbitrário, por exemplo,
. - Avalia-se o gradiente da função f neste ponto inicial:

- Iteração 1
A seguir, verifica-se se o gradiente se anula no novo ponto x1:
Como o gradiente já é nulo, não é preciso fazer a segunda iteração, e o ponto x1 é o (único) minimizador global de f.
Em um caso mais geral, considerando
definida por
, tem-se cálculos muito parecidos em cada passo.
O conjunto solução continua sendo
.
- Inicio
- Considere x0 como no primeiro exemplo, ou seja,
. - Avalia-se o gradiente da função f neste ponto inicial:

- Iteração 1
A seguir, verifica-se se o gradiente se anula no novo ponto x1:
Novamente, o gradiente se anula já na primeira iteração, de modo que x1 é o minimizador global de f.
- Exercício
Seja
uma matriz simétrica definida positiva, cujos autovalores são todos iguais. Então começando de qualquer ponto
, o método fornece xn − 1 como solução.
Um terceiro exemplo pode ser dado tomando
e
definida por
. Observe que tal matriz é simétrica e definida positiva:
- det(A − λI) = (2 − λ)(3 − λ) − 1 = λ2 − 4λ − 3 = (λ − 3)(λ − 1)
Logo, os autovalores de A são λ = 1 e λ = 3. Isso também implica que a função é fortemente convexa.
Aplicando o método:
- Início
- Toma-se um ponto arbitrário no plano, por exemplo
; - Verifica-se se tal ponto é o minimizador global, avaliando nele o gradiente da função:
.
- Já que o gradiente não se anulou no chute inicial, é preciso escolher uma direção e um comprimento de passo para determinar a próxima aproximação:
- Iteração 1


Feitos esses cálculos, o próximo ponto é dado por
Para saber se será necessária uma nova iteração, ou se o minimizador foi encontrado, calcula-se o gradiente da função no ponto:
.
Novamente, será preciso calcular uma nova direção e um novo comprimento de passo:
- Iteração 2

onde β, no algoritmo de Hestenes é dado por:
Portanto
Além disso, o tamanho do passo é dado por
Portanto
Obviamente, este é o minimizador procurado (pois o método tem a propriedade de convergência quadrática, ou seja utiliza no máximo n iterações para chegar a solução quando aplicado a funções quadráticas definidas em
)
- Exercício
Implementar o algoritmo de Hestenes-Stiefel em alguma linguagem de programação, por exemplo em Scilab, ou Matlab.
- Exercício
Seja f um função quadrática fortemente convexa. Verifique as seguintes igualdades:
[editar] Implementação em Scilab
Abaixo é apresentada uma implementação deste algoritmo na linguagem de programação utilizada pelo Scilab.
A = [2 1; 1 2]; function [x] = min_gradiente_conjugado(xk) //Entrada: xk em R^n, qualquer "chute inicial" // Saída: x, o ponto em que f assume o valor mínimo k = 0 //Indica quantos loops já foram feitos epsilon = 0.01 n = size(xk,1) g = df(xk) seq = zeros(n,n+1) seq(:,1) = xk while (norm(g) > epsilon) & (k <= n) if (k == 0) d = -g else d = Hestenes(g,d,A) end t = busca_linear(g,d,A) xk = xk + t*d k = k+1 seq(:,k+1) = xk g = df(xk) end plot(seq(1,:),seq(2,:)) x = xk endfunction function [fu] = f(u) fu=(1/2)*(u'*A*u) endfunction function [grf] = df(u) grf = A*u endfunction function [d] = Hestenes(g,d,A) d=-g + ((g'*A*d)/(d'*A*d))*d endfunction function [t] = busca_linear(g,d,A) t=(g'*g)/(d'*A*d) endfunction
Para facilitar a compreensão do método, pode ser útil exibir as curvas de nível da função. Uma forma de implementar uma função com esse propósito é a seguinte:
function plotar_curvas qtd=101 tam=max(seq) x=linspace(-tam,tam,qtd) y=x z=zeros(qtd,qtd) for i=1:qtd for j=1:qtd z(i,j)=f([x(i);y(j)]) end end contour2d(x,y,z,10) a=gca(); a.x_location = "middle"; a.y_location = "middle"; endfunction
[editar] Algoritmo de Fletcher-Reeves
| Um dos autores deste material sugeriu a adição de uma imagem para ilustrar o método de Fletcher-Reeves. |
Esta versão é na verdade uma extensão do algoritmo anterior, permitindo a aplicação no caso de funções que não são quadráticas.
Primeiro passo: EscolhaSe
, então pare:
Senão:
(como em todo método de descida) Calcular t0, através de uma busca linear x1 = x0 + t0d0 Passo iterativo: Se
, então pare:
Senão:
Calcular tk, através de uma busca linear xk + 1 = xk + tkdk k = k + 1
| Um dos autores deste material sugeriu a adição de uma implementação do algoritmo acima em SciLab. |
[editar] Algoritmo de Polak-Ribière
| Um dos autores deste material sugeriu a adição de uma imagem para ilustrar o método de Fletcher-Reeves. |
Uma outra versão é a seguinte:
Primeiro passo: TomarSe
, então pare:
Senão:
(como em todo método de descida) Calcular t0, através de uma busca linear x1 = x0 + t0d0 k = 1 Passo iterativo: Se
, então pare:
Senão:
Calcular tk, através de uma busca linear xk + 1 = xk + tkdk k = k + 1
| Um dos autores deste material sugeriu a adição de uma implementação do algoritmo acima em SciLab. |
- Exercício
Verificar que, no caso de uma função f quadrática e fortemente convexa, os algoritmos de Hestenes-Stiefel, de Fletcher-Reeves e de Polak-Ribière são os mesmos.
- Exercício
Seja f(x) = e − x + ex. Implemente o método de gradientes conjugados, e utilize o algoritmo para determinar o ponto de mínimo da função f. Note que o espaço é unidimensional, então o método de gradientes conjugados reduz-se ao método dos gradientes, com primeira direção
. Observe ainda que f é uma função coerciva fortemente convexa.
[editar] Algoritmo auxiliar
Para o caso de funções não quadráticas, é preciso usar algum método de busca linear para a implementação do método dos gradientes conjugados, seja a versão de Fletcher-Reeves ou a de Polak-Ribière. Uma possibilidade é a busca de linear de Armijo (ver Izmailov & Solodov (2007), vol 2, pag. 65), cujo algoritmo é esboçado a seguir:
function busca_linear_Armijo (f, theta, alpha, delta, t0) while (alpha * pred > ared) t = d * t end endfunction
com:
- pred = − tθ
- θ(t) = f(x + td)

| Implementar a regra de Armijo e corrigir o esboço acima. |
[editar] Métodos de penalidades
Os métodos que recebem este nome fazem parte de uma família de métodos baseados em:
- Simplicidade conceitual;
- Eficiência prática;
Algumas das primeiras funções de penalidade foram desenvolvidas por:
- Courant (1943)
- Ablate Brighham (1955) (qual o artigo?)
- AV Fiacco, GP McCormick (1968) (qual o artigo?)
Para compreender este tipo de método, será considerado o seguinte problema:

Adicionalmente, se for considerado o conjunto de pontos
, o problema (P) se escreve ainda como

Uma primeira idéia para a resolução desse tipo de problema é fazer uso de funções indicadoras, conforme é definido a seguir:
- Definição
Dado um conjunto não vazio
, define-se a função indicadora
por:
Notas: A função indicadora IC é às vezes denotada por χC.
Para transformar um conjunto (P) em um problema sem restrições, pode-se proceder da seguinte maneira: Considerar o problema (PD), dado por:

Considerando
definida por:
Tem-se ainda o problema (PP), dado por:

Comentários:
- A grande vantagem desta idéia é que ela transforma um problema com restrições em um problema irrestrito.
- A principal desvantagem é que a função φ definida a seguir é descontínua em cada ponto
:
[editar] Método de penalidade exterior
Para contornar a desvantagem da descontinuidade da função apresentada anteriormente, surgem outras funções, como por exemplo:
- Definição
Dada uma função
, definida em um conjunto arbitrário A, define-se a parte positiva de g, como:
- g + (x) = max{0,g(x)}
| Um dos autores deste material sugeriu a adição de uma imagem para comparar uma função g(x) e sua correspondente g + (x) = max{0,g(x)}. |
- Exercício
Verifique que para cada
tem-se, para cada i, a igualdade
, onde
é a parte positiva de gi e H é a função definida no exemplo anterior.
| Resolução |
|---|
De fato, dada qualquer função , segue da própria definição de H que
Mas implica que Portanto, |
- Exercício
Verifique que para cada
tem-se, para cada j, a igualdade
.
| Um dos autores deste material sugeriu conferir o enunciado do exercício anterior. A afirmação parece ser falsa nos casos em que hj(x) < 0. |
A idéia de aplicar penalizações aos pontos que não pertencem ao conjunto viável é formalizada na seguinte definição:
- Definição
Seja
. A função H é chamada de função de penalidade exterior se possui as seguintes propriedades:


- H é contínua
Nota: Lembre-se que
é o conjunto viável do problema (P).
Em particular, as funções
são funções de penalidade exterior.
- Definição
Seja
. A função θ é dita coerciva se 
| Um dos autores deste material sugeriu a adição de exemplos de funções de penalidade, juntamente com algumas imagens ilustrando os seus gráficos. |
Nota: Conforme o dicionário on-line, disponibilizado pela empresa Priberam, o termo coercivo significa: que coage; que reprime; que impõe pena; coercitivo. Nesse sentido, esse é um termo adequado ao tratar do conceito anterior, no contexto dos métodos de penalidade.
- Exercício
Verifique que θ é uma função coerciva se, e somente se,
é limitado para todo
.
| Resolução |
|---|
| Pela definição de limite, a afirmação
é equivalente a dizer que
Esta última implicação, é equivalente à
Pela definição de conjunto de nível, isso equivale à |
| Um dos autores deste material sugeriu a adição de uma imagem que ilustre geometricamente a relação entre coercividade e conjuntos de nível. |
- Exercício
Verifique que
definida por
é uma função de penalidade exterior, onde conforme anteriormente,
é a parte positiva de gi.
| Resolução |
|---|
| Primeiramente, H(x) é uma função não negativa, pois o quadrado de qualquer número real é não negativo, assim como a soma de números reais não negativos.
Em segundo lugar, tem-se H(x) = 0 se, e somente se, para cada índice i e cada índice j vale Finalmente, como a soma e o produto de funções contínuas resulta em uma função contínua, segue que H(x) é contínua, pois gi,hj são contínuas. |
- Exercício
Verifique que se
é uma função contínua coerciva, então existe
tal que
.
| Resolução |
|---|
Considere um ponto arbitrário . Tome . Nestas condições, Lg(λ) é limitado (conforme um dos exercícios anteriores) e fechado (pois é pré-imagem de um conjunto fechado por uma função contínua), portanto compacto. Neste caso, conforme o teorema de Weierstrass, a função g possui algum ponto de mínimo no conjunto Lg(λ), ou seja, existe tal que .
Ne verdade, tal ponto |
| Um dos autores deste material sugeriu a adição de uma imagem ilustrando a existência de minimizadores globais para funções coercivas. |
[editar] Alguns conceitos da topologia
Em algumas situações, é interessante ter em mente que certos conceitos definidos no contexto da Otimização são, na verdade, instanciações de conceitos mais gerais, muitos deles provenientes da topologia. Alguns exemplos são apresentados a seguir.
- Definição
Dado um conjunto X, uma coleção
de subconjuntos de X é chamada de topologia se:
- Exemplos
- Topologia euclidiana:
- X = R
Em outras palavras, a topologia euclideana é a coleção de todos os conjuntos abertos contidos em
. Pode-se verificar com facilidade que de fato são satizfeitas as três propriedades que definem uma topologia.
Outo exemplo muito comum é o seguinte:
- Topologia euclideana extendida:
Em geral, a noção de limite seria caracterizada topologicamente da seguinte forma:
- Definição

[editar] De volta ao método
Uma vez apresentados os conceitos iniciais, pode-se provar o seguinte teorema:
- Teorema
Considere:
uma função de penalidade exterior;
uma função contínua;
um conjunto fechado;
uma sequência de termos positivos tal que
.
- f é coerciva.
- C é limitado e H é coerciva.
,então:
possui algum ponto de acumulação;- Todo ponto de acumulação de
é solução do problema (P);
.
| Um dos autores deste material sugeriu a adição de uma imagem que ilustre geometricamente o significado do teorema acima. |
| Demonstração |
|---|
Se (1) acontece, então é coerciva, pois
A desigualdade é válida pois H é uma função de penalidade, portanto não negativa, e a igualdade se deve à hipotese sobre f. Além de coerciva, tal função é contínua (pois é combinação linear de funções contínuas). Logo, a função possui um ponto de mínimo global, ou seja, existe , para qualquer Mas f é contínua e coerciva, então também existe Por outro lado, se vale (2), então Em ambos os casos, dada uma sequência Sendo que a primeira desigualdade se deve ao fato de Além disso, tem-se as seguintes desigualdades: Logo, somando os membros correspondentes, obtem-se: ou seja, Portanto, Por outro lado, Se a primeira das hipóteses acontece, segue da coercividade e dessa última desigualdade que Se ocorre a segunda, então H é coerciva, mas foi mostrado que Portanto, em qualquer caso, Seja A sequência Como H é contínua, Logo, |
- Exercício
Dado o problema (P), considere
(isso não quer dizer que o problema tenha solução). suponha-se que f,g e h são funções contínuas e que
seja não vazio, ou seja, que C é factível. Tome
como
, onde
denota a parte positiva de gi, como de costume. Considere ainda
dada por
e, para cada r > 0, seja
Nessas condições, provar que:
- H é uma função de penalidade exterior


- Se 0 < r < s então m(s) < m(r)
- Se f,gi,hj são covexas, então
é convexa. - Se f,gi,hj são diferenciáveis, então
é diferenciável em x, e 
- Se 0 < rk + 1 < rk e
e se {xk} é uma sequência tal que
e
então
é solução de (P).
[editar] Algoritmo de penalidade exterior
Primeiro passo: Escolha, r > 0 e k = 1 Passo iterativo k: Calcular
, solução global de
Escolha rk tal que 0 < rk < rk − 1
Nota: Neste algoritmo, H é uma função de penalidade exterior.
- Exercício
Sejam f(x,y) = x2 + y2 e
. Considere o problema:
Utilize o método de penalidade exterior para determinar o ponto de mínimo da função f sobre o conjunto C.
| Resolução |
|---|
Esboço: Pode-se tomar , onde:
Tem-se então o problema irrestrito: |
[editar] Implementação do algoritmo de penalidade exterior em SciLab
Considerando o problema
com f uma função quadrática, A simétrica positiva definida, gi,hj lineares, e a função de penalidade, H, dada por:
Pode-se usar o método dos gradientes conjugados para resolver o seguinte problema:
onde f + H terá sua matriz Hessiana definida positiva.
| Incluir o código para uma implementação do método em SciLab. |
[editar] Método de penalidade interior
Este método também é conhecido como método de barreira. Ele consistem em trabalhar com funções de penalidade tais que
e qualquer que seja a sequência
para a qual
, se tem que a função de penalidade tende a
.
Mas como conseguir esse tipo de função?
[editar] Exemplos
Considere o caso em que
. Lembrando que a função logarítmica tem a a propriedade:
pode-se tomar
, pois
implica que
Analogamente, tem-se
então, uma outra função com a propriedade desejada é
.
O problema a ser resolvido quando se quer aplicar o método de barreira é o seguinte:
onde
é tal que 
Observação: C0 não é necessariamente igual ao interior do conjunto C. Por exemplo:
| Um dos autores deste material sugeriu a adição de uma imagem para ilustrar um conjunto C cujo correspondente C0 seja diferente do interior de C. |
- Definição
Se diz que uma função
é uma função de barreira se ela possui as seguintes propriedades:
- B é limitada inferiormente em C.
- Para qualquer sequência
tal que
vale 
- B é contínua
[editar] Algoritmo de barreira
Primeiro passo: Escolha, r > 0 e t0 > 0 Passo iterativo k: Calcular
, solução global de
Escolha tk + 1 tal que 0 < tk + 1 < tk
Observação: Neste método os termos da sequência {xn} estão sempre em C0.
[editar] Implementação do algoritmo de barreira em SciLab
Considerando o problema
pode-se usar o método de barreira no conjunto:
Pode-se usar qualquer das funções de penalidade interior apresentadas, por exemplo:
ou ainda
Como
, o problema passa a ser:
Observação: Note que é necessário conhecer um ponto inicial
, para servir de primeira aproximação, ou ponto de partida para o algoritmo.
[editar] Métodos de região de confiança
Considere o seguinte problema de programação diferenciável não linear sem restrições:
onde
é de classe
.
Observação: Como f não é necessariamente convexa, a matriz
pode não ser definida positiva, apesar de ser simétrica. Neste caso, o método de Newton ou suas variantes (direções conjugadas, quase Newton, etc) não servem.
O primeiro método de região de confiança (em inglês, Trust region method), foi introduzido por Powel em 1970 (qual artigo?) mas oficialmente introduzido por Dennis em 1978 (artigo?). Ele consiste no seguinte:
- A cada iteração, se constrói um modelo quadrático e uma região de confiança
este princípio pode ser considerado como uma extensão da busca de Armijo unidimensional.
[editar] Breve revisão da busca de Armijo
Para entender a geometria do método de região de confiança, é bom lembrar a geometria da busca de Armijo unidimensional.
Seja d uma direção de descida de uma função f a partir do ponto x. Então
. Agora, considerando
, definida por θ(t) = f(x + td), tem-se:
. Assim,
. Se
, então θ'(0) < αθ'(0) < 0.
- Exercício
Mostrar que sempre existe t > 0 tal que
.
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
A busca de Armijo consiste em tomar t > 0.
Se 
Mas como
, então existe algum t > 0 tal que vale
. A tal ponto, chama-se ponto de Armijo.
Introduzindo as seguinte notação
-

(modelo linear para a função f) pred = m(x) − m(x + td) = − tθ'(0) (redução predita por este modelo) ared = f(x) − f(x + td) (redução real no valor da função)
a pergunta é:
- Quando um ponto t vai ser ponto de Armijo com essa notação?
Tem-se:
Logo, se
segue que t é um ponto de Armijo.
Observações: Note que a essência da busca linear de Armijo é construir um modelo linear e um intervalo compacto [0,t], sendo t > 0 e o ponto inicial da busca e logo procurar o ponto de Armijo em [0,t].
[editar] De volta ao método
O método de região de confiança será uma generalização da busca de Armijo, consistindo da construção de um modelo quadrático e uma região R, chamada de região de confiança, e nessa região calcular o novo iterando.
[editar] Algoritmo da região de confiança
Primeiro passo: Escolha, r > 0,
,
e k = 0. Passo iterativo k: Enquanto
, construa o modelo quadrático:
Calcule d, solução de
Tome ared = f(xk) − f(xk + d) e pred = − mk(d) Se
, fazer xk + 1 = xk + d Senão xk + 1 = xk, r = βr e k = k + 1
Comentários: No algoritmo anterior, quando se tem um passo falho, a região de confiança sempre diminui. Seria bom incluir casos bons, onde a região deve crescer.
[editar] Algoritmo da região de confiança melhorado
Primeiro passo: Escolha, r > 0, 0 < α < γ < 1,
, β2 > 1,
e k = 0. Passo iterativo k: Enquanto
, construa o modelo quadrático:
Continue = 1 Enquanto (Continue = 1) Calcule d, solução de
Tome ared = f(xk) − f(xk + d) e pred = − mk(d) Se
, fazer xk + 1 = xk + d Se r > γ, r = β2r; Continue = 0 k = k+1 Senão r = β1r
[editar] O subproblema quadrático
Conforme foi explicado, o método das regiões de confiança constrói um modelo quadrático da forma:
onde, no método,
e H = Hk. Em tal modelo, tem-se
- g um vetor não nulo;
- h uma matriz simétrica (que pode não ser definida positiva)
O problema quadrático é
com r > 0.
Este é o problema que será tratado a seguir.
- Exercício
Provar que (PQ) sempre tem solução.
| Resolução |
|---|
| Esboço: Como h é uma função contínua e o conjunto onde se quer minimizar tal função é uma bola, em dimensão finita, trata-se de minimizar uma função contínua em um compacto. Esse é um problema que tem solução, pelo teorema de Weierstrass. |
O exercício anterior garante que o método está bem definido, quer dizer, todas as etapas podem ser realizadas.
[editar] O problema de mínimos quadrados
Este tipo de problema é muito frequente em ciências experimentais. Para ter um exemplo em mente durante a discussão que será feita mais adiante, considere as seguintes informações:
Segundo dados disponibilizados pelo IBGE, o Produto Interno Bruto per capita na cidade de São Paulo, no período de 2002 a 2005, foi (em reais): 17734, 19669, 20943 e 24083, respectivamente.
Com base nessas informações, como poderia ser feita uma previsão do valor correspondente ao ano seguinte (2006)?
Uma escolha possível seria supor que a cada ano o PIB aumenta uma aproximadamente constante, ou seja, usar um modelo linear para obter tal estimativa (que possivelmente será bem grosseira). Intuitivamente, bastaria analisar os dados disponíveis e a partir deles deduzir qual é o aumento que ocorre a cada ano. Depois, a previsão para 2006 seria aproximadamente igual à de 2005 somada com aquele aumento anual.
Esta idéia poderia até funcionar para o caso deste exemplo, mas o que fazer se a quantidade de dados disponíveis sobre algum fenômeno (ou alguma situação) for significativamente maior?
A melhor escolha, sem dúvida, é fazer uso de um computador para obter o modelo que melhor descreve o "comportamento" dos dados experimentais.
Em geral, os problemas de mínimos quadrados consistem em identificar os valores de determinados parâmetros, de modo que se satisfaçam certas equações
. No contexto do exemplo anterior, se procura um modelo linear para os dados, ou seja, uma função y = mx + n que os descreva da melhor forma possível. Assim, os parâmetros a considerar são m e n. Os valores ideais para essas variáveis seriam aqueles que verificassem as seguintes equações:
Note que a partir dessas equações poderiam ser definidas as funções hi como:
- h1(m,n) = 2002m + n − 17734
- h2(m,n) = 2003m + n − 19669
- h3(m,n) = 2004m + n − 20943
- h4(m,n) = 2005m + n − 24083
É de se esperar que o sistema de equações obtido a pouco não admitirá uma solução exata, pois se tem mais equações do que variáveis.
Isso geralmente acontece, pois é comum haver uma quantidade p de equações bem maior que o número n de parâmetros a identificar. Em particular, quando todas as equações hi são lineares em suas n variáveis, dificilmente existirá uma solução exata para o sistema linear resultante, pois este terá mais equações do que incógnitas (como no exemplo). Em geral, não é possível encontrar parâmetros que satisfaçam exatamente todas as equações. Por isso, costuma-se tentar identificar os parâmetros que "melhor se aproximam" de uma solução exata, em algum sentido.
Uma forma de obter uma solução aproximada (uma "quase-solução") resulta da seguinte observação: o valor de cada função hi em uma solução exata x deveria ser zero. Se tal exigência é restritiva demais, e com ela não é possível encontrar qualquer solução, uma possibilidade seria exigir um pouco menos. Por exemplo, poderia ser exigido apenas que o valor de hi, para
seja, em geral, pequeno. Uma das formas de capturar essa idéia em termos mais precisos é dizer que se pretende minimizar a soma dos quadrados dos valores de cada hi. Em símbolos, o problema passaria a ser:
[editar] O caso linear
Neste caso, para cada índice
, a função hi é afim linear, ou seja:
onde
e
para cada
. Deste modo, pode-se definir uma função H como
de modo que
Motivando a introdução da seguinte notação:
Assim,
- H(x) = Ax + b
Logo, buscar uma solução exata é o mesmo que procurar uma solução para o seguinte sistema linear:
- Ax = − b
E uma solução aproximada poderia ser buscada a partir do seguinte problema de minimização:
- Exercício
Verifique que se houver uma solução exata, ela também será um minimizador de
. A recíproca é verdadeira?
| Resolução |
|---|
| Primeiramente, observe que para qualquer x tem-se
Isso significa que 0 é uma cota inferior para os valores assumidos por esta soma de quadrados. Além disso, se e consequentemente Então, em Não vale a recíproca, pois se para um certo
Isto significa que |
Analisando a função objetivo do problema de minimização anterior, tem-se:
Logo, como
é simétrica e semi-definida positiva, tem-se f convexa. Isso implica que a condição necessária de primeira ordem é também suficiente. Assim, qualquer ponto
tal que
é solução do problema aproximado.
Calculando o gradiente da função objetivo tem-se:
Deste modo, a solução do problema é obtida resolvendo o sistema
Observe também que isso implica
, ou seja,
.
[editar] Exemplo de aplicação
Considere dado um conjunto de pontos do plano
, por exemplo
, representando dados obtidos experimentalmente.
Perguntas:
- 1. Qual é a função afim linear que melhor se aproxima dos dados experimentais?
| Resolução |
|---|
| As funções afim lineares no plano são aquelas que possuem a forma mx + b. Então os parâmetros a identificar são m e b.
Como são as funções hi? Lembrando que tais funções teriam imagem igual a zero em uma solução exata, pode-se tomar hi(m,b) = mxi + b − yi Assim, A expressão final pode ser simplificada adotando a seguinte notação De fato, nesses termos tem-se
|
- 2. Qual é a função quadrática que melhor se aproxima dos dados experimentais?
| Resolução |
|---|
| As funções quadráticas possuem a forma ax2 + bx + c. Então os parâmetros a identificar são a, b e c.
Pode-se tomar Procedendo como antes, tem-se
onde |
- Exercício
Explorar o exemplo anterior com dados concretos, implementando um dos três métodos de gradientes conjugados.
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
- Observações
Conforme se aumenta o grau do polinômio que faz a aproximação dos dados, as colunas de A têm elementos elevados a potências cada vez maiores, fazendo com que os autovalores de
sejam cada vez mais dispersos. Com isso,
torna-se mal condicionada.
- Exercício
É possível, usando o problema de mínimos quadrados, verificar o postulado de Euclides que diz que "por dois pontos distintos passa uma única reta"?
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
- Exercício
Usando o problema de mínimos quadrados, é possível inferir que "por três pontos distintos passa uma única curva quadrática"?
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
[editar] O caso não linear
Para esse tipo de problemas, há dois métodos:
- Gauss-Newton
- Levemberg-Marquardt
Ambos são métodos do tipo Newton. Então, para entender cada um deles é preciso entender o Método de Newton.
[editar] O método de Newton
Para entender a essência do método de Newton, primeiro considere que o problema a ser resolvido é
sendo
, e portanto
de classe
. A idéia de Newton é usar o desenvolvimento até segunda ordem da série de Taylor da função f em cada ponto iterado. Isto é, se o iterado é
, então:
Então a condição de Newton é que em cada iteração a Hessiana
deve ser definida positiva.
Calculando o gradiente da função Q, segue:
Se x * é o (único) minimizador de Q, então
donde
Sendo
definida positiva, tal matriz é também inversível. Portanto:
Assim, pode-se usar a seguinte iteração:
[editar] Algoritmo de Newton (puro)
Início: TomeSe
, pare: x0 é ponto crítico. Senão, Calcule d0, solução de
Faça x1 = x0 + d0 e k = 1 Iteração: Se
, pare: xk é ponto crítico. Senão, calcular dk, solução de
Faça xk + 1 = xk + dk e k = k + 1
Voltando ao problema original, de mínimos quadrados, se tinha:
Calculando o gradiente desta função, resulta:
Considera-se
definida por
Deste modo, a Jacobiana de H verifica:
pois o produto de uma matriz por um vetor tem como resultado um vetor que é a combinação linear das colunas da matriz, com coeficientes que são as coordenadas do vetor.
Além disso, tem-se
Seja
Sabe-se que uma matriz D é definida positiva se xtDx > 0 para qualquer
. Fazendo
, tem-se:
Para que D seja definida positiva, é necessário que
( deve gerar todo o espaço), neste caso, se diz que JH(x) é de posto máximo.
[editar] Algoritmo de Gauss-Newton
Início: TomeSe
, pare: x0 é ponto crítico. Senão, Calcule d0, solução de
, onde
Faça x1 = x0 + d0 e k = 1 Iteração: Se
, pare: xk é ponto crítico. Senão, calcular dk, solução de
Faça xk + 1 = xk + dk e k = k + 1
[editar] Algoritmo de Levemberg-Marquardt
A idéia de Levemberg-Marquardt foi perturbar a matriz B(x), considerando B(x) + ρI, para algum ρ > 0 pequeno.
Início: TomeSe
, pare: x0 é ponto crítico. Senão, Calcule d0, solução de
, onde
Faça x1 = x0 + d0 e k = 1 Iteração: Se
, pare: xk é ponto crítico. Senão, calcular dk, solução de
Faça xk + 1 = xk + dk e k = k + 1
- Exercício
Enumere as diferenças que existem nos seguintes algoritmos:
- Newton
- Gauss-Newton
- Levenberg-Marquardt
| Resolução |
|---|
| Newton
Desenvolvendo f em série de Taylor e exigindo que a matriz hessiana de f seja definida positiva o método de Newton usa Gauss-Newton Em alguns casos a matriz hessiana de f pode ser bem complicada. Nesses casos então a idéia do método de Gauss-Newton é usar uma boa aproximação para essa matriz. Podemos escrever
Usando Taylor em h temos:
Substituindo
Calculando o gradiente e depois a segunda derivada temos:
Denotando
A idéia do método de Levenberg-Marquardt é pertubar a matriz B(x) um pouco, considerando B(x) + ρI com ρ > 0 pequeno. Portanto o método de Levenberg-Marquardt escolhe dk tal que
|
[editar] Métodos duais
[editar] Lagrangiana
O conceito de lagrangiana está sempre relacionado ao seguinte problema:
- Definição
A função lagrangiana associada ao problema (P) é
definida por
.
Em alguns livros é usada a seguinte notação:
definida por
e
definida por
Deste modo, a lagrangiana fica expressa por
que é uma representação bem mais compacta.
[editar] Condições de otimalidade
Para permitir a compreensão da importância da função lagrangiana em otimização, é preciso ter em mente os principais resultados que garantem a otimalidade de uma solução para o problema (P). Nas próximas seções será apresentado um breve resumo das condições de otimalidade, dividindo-as em dois casos:
- Caso particular: quando
é convexo e fechado. - Caso geral: quando C é arbitrário.
[editar] Caso particular
- Proposição
Seja f função de classe
no conjunto C. Se
é um minimizador local de f no conjunto convexo e fechado C, então:
| Demonstração |
|---|
Seja uma solução de (P), e fixe um ponto arbitrário . Denote por θ a restrição da função f sobre o segmento de reta que passa por x e por , ou seja,
Note que Como
Logo,
Mas pela regra da cadeia,
Como |
- Observação
A condição
significa que os vetores u e v formam um ângulo reto ou agudo (menor ou igual a 90 graus), conforme indicado na figura a seguir:
No caso específico, com
e
,
é a derivada direcional de f na direção
. Quando tal número é não negativo, intuitivamente a função cresce naquela direção.
Quando C é um conjunto convexo e fechado, a existência de uma solução para o problema (P) é garantida pela seguinte proposição:
- Proposição
Se
, f é convexa e
é um minimizador global de f no conjunto C (isto é,
é solução de (P)).| Demonstração |
|---|
| Pela convexidade de f, tem-se que:
Logo, Portanto, |
Até aqui, não é exigido que qualquer das funções gi ou hj sejam diferenciáveis. Isto será utilizado mais adiante, nos algoritmos.
A próxima proposição fornece uma caracterização dos minimizadores, em termos do conceito de projeção.
Lembre-se que a projeção de um ponto
sobre o conjunto C, denotada por
, satisfaz
. Na verdade, vale:
- Proposição
Seja α > 0 um número real fixado.
- Se
é um minimizador local de f em C, então 
- Se f é convexa e
, então
é um minimizador global de f em C.
| Demonstração |
|---|
| (1)
Como Observe que essa desigualdade equivale à ou ainda Tomando que equivale a dizer que (2) Reciprocamente, supor que Usando a hipótese de que f é convexa, segue da proposição anterior que |
[editar] Caso geral
Para tratar este caso, é preciso utilizar o conceito de cone tangente. O conjunto contínua o mesmo, ou seja,
, embora não seja mais suposto que ele é convexo. Mesmo assim, C ainda será fechado, pois as funções gi e hj que o definem são contínuas.
- Teorema
- Se
é um minimizador local de f em C, então
. - Se C é convexo, f é convexa e
, então
é minimizador global de f em C.
Este teorema pode ser demonstrado de forma análoga a que foi feita anteriormente.
| Demonstração |
|---|
| Esta demonstração é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
Seja
definido como:
.
Pela segunda propriedade do cone tangente, tem-se:
. Logo,
Em outras palavras, se é dado um conjunto
e depois se restringe tal conjunto para C, através do acréscimo de restrições inativas em um ponto a, os cones tangentes aos dois conjuntos (no ponto a) coincidem.
- Definição
Toda condição que implica que T(a,C) = L(a,C) é chamada de condição de qualificação das restrições.
Observação: Também se pode dizer condições de regularidade das restrições (do inglês, Regularity conditions).
[editar] Exemplos de condições de qualificação das restrições
(1) Se gi e hi são funções afim-lineares, então para qualquer
, tem-se T(x,C) = L(x,C). Prova-se isso trivialmente
| Prova |
|---|
| Esta prova é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
(2) Condições de Slater: Se as funções gi são convexas e as hi são afim lineares e, além disso, existe
tal que
para todo i,
, então para qualquer
, tem-se T(x,C) = L(x,C).
| Prova |
|---|
| Esta prova é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
(3) Condições de Mangasarian-Fromowitz: Se
é linearmente independente e existe
tal que
para tpdp j e
.
| Prova |
|---|
| Esta prova é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
- Teorema (Karush–Kuhn–Tucker)
Suponha que f, gi e hj são funções de classe
em uma vizinhança do ponto
e que
. Se
é um minimizador local de f em C, então existem
e
tais que:
Note que aqui aparece a lagrangiana, pois a primeira condição é equivalente a:
O essencial para a existência de l(u,v) é que
.
- Teorema
Suponha-se que f, gi e hj são funções de classe
em uma vizinhança de
, que f e gi são convexas e que hj são afim-lineares. são funções de classe
. Se existem
e
tais que:
A partir deste teorema são construídos alguns algoritmos.
| Este livro tem a seguinte tarefa pendente: Confrontar as informações presentes nestes últimos teoremas com algum livro. Parece estar precisando de pequenas correções. |
Considere o seguinte problema:
Sabe-se que
dada por
.
Agora, tem-se as KKT:
- Teorema
Supondo que f,gi e hj são de classe
em uma vizinhança de
e que
, se
é um minimizador local de f em C, então
tal que
de modo que:
[editar] Uma inequação sobre ínfimos e supremos
- Teorema
Sejam
e
dois subconjuntos arbitrários e considere uma aplicação
. Então
| Demonstração |
|---|
Sabe-se que
quaisquer que sejam Assim, calculando o supremo (com relação aos valores de y), segue das desigualdades anteriores: |
- Exercício
Verifique que:
| Demonstração |
|---|
| Esta demonstração é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
Defina-se a função:
, dada por
e também
, dada por
Conforme o exercício anterior, tem-se então
Observando a relação entre essas funções, é natural considerar dois problemas de otimização:
e
- Comentários
- As funções α e β são conhecidas na literatura como funções em dualidade (ou mais frequentemente, funções duais);
- O problema (Pr) é conhecido como problema primal, enquanto (D) é chamado de problema dual;
- Fazendo
e
, segue-se do exercício anterior que
; - A diferença
é chamada de brecha de dualidade, ou salto de dualidade (do inglês, skip duality);
- Exercício
Verifique que: 
| Resolução |
|---|
Se tem-se que e .
Substituindo na lagrangeana tem-se que Por outro lado, se
Com esta escolha, a lagrangiana será
Tomando o limite quando Para o outro caso a prova é análoga. |
- Exercício
Verifique que (D) consiste de maximizar uma função côncava em um poliedro. Lembre-se:
-
- Uma função f é côncava quando − f for convexa.
- Um poliedro é qualquer intersecção finita de semiespaços fechados.
| Resolução |
|---|
Primeiro será mostrado que : , dada por é uma função côncava. Para isso, basta mostrar que para cada vale
Chamando Quanto ao conjunto ser um poliedro, isso segue do fato de |
[editar] Exemplo numérico: problema primal e seu dual
Considere o problema
| Resolução |
|---|
|
O problema é ilustrado na imagem a direita. Primeiramente, é preciso identificar quais são as funções f,gi e hj envolvidas:
Neste caso, a lagrangiana é:
Em seguida, é preciso calcular α e β:
E, conforme um dos exercícios anteriores (ou através de uma breve análise dos supremos envolvidos na expressão anterior), tem-se: Analogamente, tem-se:
Observe que em relação a x, tem-se uma função fortemente convexa, que portanto possui um único minimizador. Além disso, l é diferenciável, donde o seu único minimizador x0 é dado pela equação: ou seja,
donde Portanto, Assim, os problemas em dualidade são: e Pelo primeiro item do exercício, tem-se que a minimização do problema (Pr) é equivalente à minimização do problema original. Por outro lado, através da lagrangiana, obtem-se além do problema primal (Pr), um problema dual (D), cuja estrutura é muito melhor que a do original (pois pelo outro exercício, consiste da maximização de uma função côncava β em um poliedro), e que servirá para encontrar o mínimo do problema primal (e consequentemente, do original). |
[editar] Ponto de sela
Este é um conceito muito importante relacionado à lagrangiana.
- Definição
Dado o problema (P) e a lagrangiana l associada à esse problema, se diz que
é um ponto de sela de l se
e:
.
- Teorema
O ponto
é um ponto de sela de l se, e somente se:
é solução de (Pr);
é solução de (D);
.
| Demonstração |
|---|
Se é um ponto de sela de l, então e se tem:
Em particular, como
segue da segunda desigualdade que e calculando o ínfimo sobre todos os Por outro lado, da inequação sobre ínfimos e supremos, tem-se Logo, todos os membros das desigualdades acima coincidem, ou seja, Mas da definição de
Portanto, Reciprocamente, supondo que e admitindo que Além disso, usando como hipótese que
Em particular, tomando
Logo, pela definição de α,β tem-se:
Portanto, |
[editar] Exemplos
Considere novamente o problema de otimização dado por:
Verificar se a lagrangiana associada à (P) tem ponto de sela.
| Resolução |
|---|
|
O problema é ilustrado na imagem a direita, e conforme foi deduzido anteriormente, tem-se: Além disso, como foi mostrado anteriormente, vale e também ou seja, Agora, consideram-se os seguintes problemas em dualidade: e Donde Intuitivamente, nos pontos em que Mas pela desigualdade a respeito de supremos e ínfimos, tem-se Como Finalmente, como |
[editar] Análise do problema
Considerando (P), (Pr), (D) e l, se
é uma solução do problema dual, considere o seguinte problema:
que no caso do exemplo reduz-se a
A solução deste problema é obtida resolvendo 2x − 2 = 0, sendo portanto x = 1. Note que esta é a solução do problema primal (Pr) (e consequentemente do problema original (P)).
Será apenas uma coincidência? Ou ainda, em que situações a solução deste último problema será também solução do problema original?
A resposta será dada pelo próximo teorema. Acompanhe.
- Teorema (dualidade lagrangiana convexa)
Suponha-se que
são de classe
e convexas, e que as funções hj são afim lineares e
. Nestas condições:
- Se o problema (P) tem solução, então
e os problemas (Pr) e (D) têm solução. - Se (P) tem solução, e
é solução de (D), então as soluções de (Pr) são as soluções de
, onde
Antes da demonstração, vale a pena imaginar a seguinte aplicação da segunda parte do teorema: Se por alguma razão não se sabe resolver o problema original (P), pode-se optar por resolver (D) (um problema concavo em um poliedro), e depois resolver
(que é um problema convexo sem restrições). Em outras palavras, é possível trocar um problema difícil por dois problemas mais fáceis, (D) e
.
Agora a demonstração do teorema:
| Demonstração |
|---|
(1) Como (P) tem solução, seja uma solução de (P). Pelo teorema de KKT (que se aplica pois as funções são de classe e se tem a qualificação das restrições), segue a existência de e , tais que:
Como f,gi são funções convexas e hj afim lineares, então a função lagrangiana
Usando (1), conclúi-se uma das duas desigualdades que definem um ponto de sela em
Considerando que pois Mas, por KKT, Logo: Assim, quaisquer que sejam Logo, (2)Seja Seja
Uma vez que As soluções deste problema são soluções de (Pr) e, consequentemente, do problema original. |
- Exercício
Verificar se existe salto de dualidade nos problemas em dualidade para o seguinte problema de minimização:
- Exercício
Juntamente com o problema (P1) do exercício anterior, considere o seguinte problema:
- Exercício
Experimente escolher
e uma transformação linear, e um poliedro (intersecção finita de semi-espaços). É difícil de resolver o problema primal. Tente resolver o dual, usando os métodos conhecidos.
A seguir será apresentada uma proposição que responde a uma pergunta deixada anteriormente:
- Proposição
Considere o problema (P) a lagrangiana l e os problemas em dualidade (Pr) e (D) e
soluções de (D). Se
é solução do problema
(o conjunto dos pontos que satisfazem as restrições) e
, então
é também uma solução do problema (P).Tal proposição fornece um roteiro para quem precisa resolver o problema (P) relativamente difícil:
- Primeiramente, resolve-se (D);
- Depois, constrói-se o problema
e encontra-se uma solução
para o mesmo; - Finalmente, se
satisfaz as últimas condições da proposição, ele é também uma solução de (P).
| Demonstração |
|---|
Se é uma solução de (D), . Então, pela definição de , tem-se:
Como ou seja, Portanto, Por outro lado, como Por hipótese, Logo,
Então para quaisquer que sejam
quaisquer que sejam Portanto, |
[editar] Resumo do esquema de dualidade
Neste ponto, pode-se sintetizar a estratégia geral para a resolução de problemas de otimização utilizando esquemas de dualidade.
Considere o problema
onde
são funções de classe
, e seja a lagrangiana
definido por
.
Convenciona-se que:
- x é a variável primal;
- (u,v) é a variável dual;
Nesse sentido, "o
é o dual de
" (não confundir com o significado que essa expressão teria na análise funcional. Ver nota sobre a terminologia), ou seja:
é onde "mora" a variável primal x;
é onde "mora" a variável dual (u,v);
Definem-se então as funções α e β da seguinte maneira:
, dada por
e
, dada por
A partir destas duas funções, formulam-se os seguintes problemas duais:
e
É possível verificar que (Pr) equivale ao problema original (P) e que (D) consiste da maximização de uma função côncava em um poliedro (convexo).
Logo, o dual de (P) é (D).
[editar] Conclusões
Dado qualquer problema (P), seu dual (D) é um problema côncavo (isto é, a função objetivo é côncava), tal que os pontos satisfazendo o conjunto de restrições formam um poliedro convexo.
Apesar da controvérsia filosófica existente acerca do nome destes conceitos (coisa que poderia muito bem vir a ser alterada no futuro), a moral da história é que "transforma-se um problema geralmente difícil (sem estrutura) em um problema mais fácil (cheio de estrutura)".
[editar] Uma nota sobre a terminologia
Na subárea da matemática denominada Análise Funcional, quando se tem um espaço topológico X, costuma-se chamar de dual topológico ao conjunto
.
Aparentemente, os conceitos de dual da otimização e da análise funcional não tem relação um com o outro.
Um dos primeiros a falar de dualidade (espaços duais) foi o francês Fenchel, mas foi fortemente criticado por Urruty e Lemaréchal, pois os dois conceitos de dualidade não estão relacionados. Também o francês Brezis concordou que há um problema a ser resolvido com a nomenclatura, e um dos conceitos deveria deixar de ser chamado assim.
[editar] Métodos duais
[editar] Aplicação à programação linear
Considere um problema típico da programação linear como:
onde são dados
,
,
,
,
,
,
e
. Por simplicidade, pode-se ainda adotar a seguinte notação:
Nesta seção será mostrado como a "bonita teoria dos métodos duais" se aplica a esse tipo de problema.
Primeiramente, calcula-se a lagrangiana:
Note que:
- As variáveis primais são x e y;
- As variáveis duais são u, v e w;
Agora é preciso identificar as funções α e β correspondentes a este problema. Conforme anteriormente, tem-se:
, dada por
e
, dada por![\begin{align}
\beta(u,v) & = \inf_{\begin{smallmatrix}x \in \mathbb{R}^n \\y \in \mathbb{R}^m\end{smallmatrix}} l(x,y,u,v,w)\\
& = \inf_{\begin{smallmatrix}x \in \mathbb{R}^n \\y \in \mathbb{R}^m\end{smallmatrix}} [a - M^\top u - P^\top v - w]^\top x + [b - N^\top u - Q^\top v]^\top y + [c^\top u + d^\top v]\\
& = [c^\top u + d^\top v] + \inf_{x \in \mathbb{R}^n} [a - M^\top u - P^\top v - w]^\top x + \inf_{y \in \mathbb{R}^m}[b - N^\top u - Q^\top v]^\top y\\
& = \left\{\begin{array}{rcl}
c^\top u + d^\top v & , & \text{ se } \left\{\begin{array}{rcl}
a - M^\top u - P^\top v - w & = & 0\\
b - N^\top u - Q^\top v & = & 0\\
u\ge 0;\, w \ge 0 & &
\end{array}\right.\\
-\infty & , & \text{ em outros casos}
\end{array}\right.
\end{align}](http://upload.wikimedia.org/math/2/8/d/28dd06a863e3767783240d4034c257c7.png)
Logo, considerando que
, o problema dual consiste no seguinte:
- Exercício
Verificar que
é uma solução de
é uma solução de
| Resolução |
|---|
Seja uma solução de (P). Então, por definição, tem-se para todo que
mas isto equivale a ou seja, |
- Exercício
Verificar que:
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
[editar] Exemplificando com um problema de programação linear
O seguinte problema é chamado de problema standard (padrão) de programação linear:
onde são dados
,
e
.
[editar] Calculando o dual de (PL)
Primeiramente,
A função α não precisa ser calculada, pois já se mostrou que
Por outro lado, quanto à função β tem-se:
Logo, o problema dual é:
ou ainda
[editar] Calculando o dual do dual de (PL)
Considere o seguinte problema:
que, conforme já foi mostrado em um exercício anteriormente, equivale a
A lagrangiana é dado por:
Logo,
Logo, o dual de (D) é:
ou seja,
que equivale a
[editar] Um exemplo numérico contextualizado
Considere a seguinte situação:
- Um empresário que produz cerveja dispões de 240 kg de milho, 5 kg de lúpulo e 596 kg de Malta. Para produzir um barril de cerveja preta requer 2,5 kg de milho, 0,125 kg de lúpulo e 17,5 kg de malta. Enquanto que para produzir um barril de cerveja branca, se precisa de 7,5 kg de milho, 0,125 kg de lúpulo e 10 kg de malta. Por barril de cerveja branca vendido, o empresário recebe 130 reais, enquanto por um barril de cerveja preta, recebe 230 reais. Achar o modelo matemático para otimizar o ganho do empresário.
| Resolução |
|---|
Primeiramente, é preciso identificar quais são as variáveis do problema, e quais são os dados. Pode-se adotar a seguinte notação para as quantidades dos dois tipos de cerveja:
O ganho do empresário, que é o que se pretende maximizar, pode ser obtido pela fórmula:
Por hora, considere que são aceitáveis os valores de p e b serem reais (não apenas inteiros positivos, mas também "números quebrados" como 3,5, 7,11, etc). Como o estoque de cada ingrediente é limitado, tem-se restrições que devem ser consideradas. Matematicamente tais restrições podem ser expressas assim: Pode-se simplificar a escrita das restrições e também da função objetivo utilizando a seguinte notação: Nesses termos, o problema de otimização a ser resolvido é: ou apenas, onde C é o conjunto definido pelo conjunto de restrições: Tal problema tem solução pois a função objetivo g(p,b) é linear (contínua) e o conjunto de restrições forma um conjunto compacto. Para este problema, a lagrangiana é dado por Donde Então, o problema dual é dado por que é equivalente a ou, escrevendo novamente em termos dos valores numéricos, |
Na década de 30, 40 e 50 haviam diversos livros que tratavam cada problema de programação linear individualmente, deduzindo vez após vez os seus duais, e disso extraindo certas "regras" que eram então sugeridas ao leitor na forma "se o problema for desse tipo, use tal regra, se for daquele tipo, use esta outra, e se for deste outro tipo, use esta regra". Um dos primeiros autores que começou a trabalhar os problemas sob um novo ponto de vista, mais generalizado, foi Werner Oettio (grafia?) . Seguindo-se por George Dantzig (conhecido como inventor do método simplex), Eugen Blumb (grafia?) e Jean-Pierre Crouzeix.
| Este livro tem a seguinte tarefa pendente: Identificar e corrigir a grafia correta dos nomes dos pesquisadores mostrados acima; Encontrar fontes para comprovar a informação deste parágrafo. |
[editar] Aplicação à programação quadrática
Agora, o problema a considerar passa a ser
onde C é um poliedro (interseção finita de semi-espaços),
,
e
é uma matriz simétrica positiva definida.
Note que este problema tem solução, uma vez que o problema irrestrito correspondente tem solução (já que Q é uma matriz simétrica positiva definida, a função é limitada inferiormente, e como C é fechado, a função objetivo assume seu valor mínimo em C, por Wolfe).
Mesmo para n = 5, os problemas de programação linear já são difíceis de resolver "à mão". É preciso utilizar alguma técnica mais sofisticada.
Para dar continuidade ao exemplo, considere que o poliedro C é dado por
com
e
.
Agora será aplicado o esquema de dualidade. A lagrangiana é
além disso,
e a última igualdade vale pois a função é fortemente convexa.
Considerando
, se deduz que
.
Logo,
Observe que, sendo os autovalores de Q positivos, o mesmo vale obrigatoriamente para Q − 1. Assim, como a expressão de β envolve ( − Q − 1), tal função é fortemente côncava (conforme já era esperado para tal função).
Baseado nestas deduções, o problema dual é
ou seja,
Usualmente este tipo de problema (D) é resolvido por meio do método do gradiente projetado.
[editar] Revisão do método do gradiente projetado
O método baseia-se na seguinte proposição:
- Proposição
Seja f uma função convexa em C, um conjunto convexo e fechado. Se o ponto
é tal que
, então
.
| Prova |
|---|
| Esta prova é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
[editar] Um algoritmo para o método do gradiente projetado
Este algoritmo é bastante simples.
Primeiro passo: Escolhae fixe α > 0. Passo iterativo k: Enquanto
![]()
![]()
Agora, é interessante observar como se faz para projetar um ponto em
.
- Exercício
Dado
, mostre que
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
[editar] Exemplificando a projeção
Seja
. Então a projeção de u sobre
é :
Devido a essa simplicidade ao se fazer a projeção de um ponto, o método do gradiente projetado é muito eficiente para resolver o problema (D).
[editar] Exemplo concreto
Seja
.
| Este livro tem a seguinte tarefa pendente: Incluir uma ilustração deste conjunto. |
Como calcular a projeção do ponto (1,2) sobre o conjunto C, PC(1,2)?
| Resolução |
|---|
Seja a projeção de (1,2) sobre C. Então:
Então: Nota: O leitor deve observar que a inclusão de Logo o modelo matemático para resolver este problema é A lagrangiana é dada por Logo, Fazendo Donde Logo, Logo, o problema dual é ou seja, Agora, para a resolução deste problema dual, pode-se usar o método do gradiente projetado. Para isso, note que o gradiente de β é:
Seja
Logo, a solução dual é Agora, substituindo tal solução na lagrangiana, obtem-se o problema: que é um problema quadrático sem restrições. Neste caso, basta igualar o gradiente a zero para determinar uma solução: Donde |
[editar] Exercícios resolvidos
- Exercício
Encontrar a solução do seguinte problema de programação linear:
Ao resolver o problema (P), poderia ter sido escolhido Ax − b em vez de b − Ax. Será que isso influenciaria o resultado final?
Acompanhe como ficaria a resolução desta maneira:
| Resolução | ||
|---|---|---|
;Identificar a lagrangiana l
que equivale a ou simplesmente Novamente, chega-se até um problema em
As inequações que definem o conjunto viável são: Este conjunto também é um pentágono, de modo que o valor mínimo de Nas condições de KKT, a única mudança é na propriedade (1), que se torna: Resta ainda saber quem é como antes. Como ao obter |
- Exercício
Formule como um problema de minimização com restrições o problema de projetar ortogonalmente o ponto ( − 5,2) sobre o conjunto
. Depois, calcule explicitamente a função lagrangiana e o problema dual.
| Resolução |
|---|
| Matematicamente resolver esse problema é resolver
Definimos a lagrangeana como
Como a função é quadrática , podemos calcular o gradiente e igualar a zero:
Donde, Substituindo na função β temos:
|
- Exercício
No exercício anterior, se u é a variável dual relacionada a variável primal x e v é a variável dual relacionada a variável primal y, então verifique se (u,v) = (10,0) é solução dual e se a lagrangiana tem pontos de sela. Em caso afirmativo, calcule um ponto de sela, caso contrário, argumente porque a lagrangiana não tem pontos de sela.
| Resolução |
|---|
| Olhando o problema
observamos que é um problema com restrições. Podemos usar as equações de KKT para resolve-lo. Definimos a lagrangeana como
Agora usando o teorema de KKT devemos ter:
Calculando o gradiente temos
E portanto Olhando nas equações acima obtemos Portanto (5,0) é a solução dual. Voltando na lagrangiana do problema original e substituindo os multiplicadores de Lagrange obtemos um problema sem restrições:
Calculando o gradiente temos:
Logo (0,2,5,0) é um candidato a ponto de sela. Para verificar que ele é ponto de sela, basta ver se não há salto de dualidade. Mas isso não ocorre já que o valor ótimo do primal é |
[editar] Método da lagrangiana aumentada
O problema a ser resolvido é:
Sabe-se que se for aplicado o método da lagrangiana, será considerada a função:
dada por
.
e também
, dada por
A grande dificuldade seria saber quando o valor de β é finito. Uma idéia seria modificar um pouco a lagrangiana (aumentando-a, com um termo extra), da seguinte maneira:
Com isso, seria necessário garantir que a idéia de fato resolve o problema. Por este motivo, é preciso desenvolver alguns resultados teóricos. Para fazer a análise deste método, um primeiro resultado importante é o seguinte:
- Lema (Finsler-Debreu)
Seja
uma matriz simétrica e
. As seguintes afirmações são equivalentes:
- Se Bx = 0, com
, então
; - Existe r > 0 tal que a matriz
é definida positiva; - Existe s > 0 tal que a matriz
é definida positiva para todo r > s.
| Demonstração |
|---|
| Primeiramente, será mostrado que a afirmação (2) é equivalente à afirmação (3).
Obviamente, (3) implica em (2). Por outro lado, supondo que se tem (2), existe algum s > 0, tal que a matriz Assim, (2) também implica (3). Agora, será mostrado que de (2) se conclui (1). De fato, se Bx = 0, para algum Finalmente, será garantido que se vale (1) então vale (3) (ver também página 25, de Izmailov & Solodov (2007)). Isso será mostrado por contradição, ou seja, supondo que vale (1) e que mesmo assim, não seja válido (3). Se disso seguir uma contradição, a implicação desejada é verdadeira. Supondo que para todo Neste caso, dividindo por Como todos os uk estão na esfera unitária, que é compacta, a sequência {uk} tem algum ponto de acumulação, por exemplo
Neste caso, só é possível se contradizendo a hipótese (1). |
- Exercício
Prove a seguinte variante do lema anterior:
- Seja
uma matriz simétrica e semi-definida positiva, e
. As seguintes afirmações são equivalentes:
- Se Bx = 0, com
, então
; - Existe r > 0 tal que a matriz
é definida positiva; - Para todo r > 0, a matriz
é definida positiva.
- Se Bx = 0, com
A partir de agora, o problema será:
onde se supõe que
são funções de classe
e que para todo
, o conjunto
é compacto (em inglês costuma-se usar a expressão inf-compact para descrever tais funções).
Sabe-se que a lagrangiana associada ao problema (P) é:
dada por
.
e ainda, em uma notação mais sintética, considerando a função H dada por:
definida por
tem-se a lagrangiana expressa da seguinte maneira:
Para o método da lagrangiana aumentada serão assumidas as seguintes hipóteses:
- Se
é solução, então existe
tal que
; - Para todo
, o jacobiano de H satizfaz:
Note que a segunda hipótese tem exatamente a mesma forma de uma das condições que aparece no lema de Finsler-Debreu.
- Definição
Dado ρ > 0, se define a lagrangiana aumentada para o problema (P) como:
dada por
Observe que é justamente a aparição do termo
sendo somado à lagrangiana que justifica o nome lagrangiana aumentada.
Esse conceito possui algumas interpretações:
- Exercício
Verifique que a lagrangiana aumentada lρ é justamente a lagrangiana do problema (P) penalizado, ou seja, de
| Demonstração |
|---|
| Basta notar que dentro do conjunto viável as funções objetivos são iguais. |
- Exercício
Verifique que a função dual βρ (o ínfimo da lagrangiana aumentada em relação à primeira componente), dada por
, com
é solução de (P)| Demonstração |
|---|
E a segunda desigualdade
|
- Exercício
Verifique que
é compacto, qualquer que seja
e
.
| Resolução |
|---|
| A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
- Proposição
Se
é solução de (P), então existe algum ρ0 > 0, algum δ0 > 0 e alguma vizinhança X0 de
tais que
é fortemente convexa com parâmetro δ0.
| Demonstração |
|---|
Conforme o lema de Finsler-Debreu, a hipótese (2), segundo a qual para todo , o jacobiano de H satizfaz:
equivale a dizer que existe algum ρ0 > 0 tal que Mas a Hessiana de Considere agora a função Logo, para qualquer Pela continuidade da função δ, existe uma vizinhança X0 de Assim, tomando o ínfimo, pode-se definir δ0 como Então quaisquer que sejam Portanto, ou seja, os auto-valores de Para concluir que
Com isso, Isso significa que há um único mínimo local para tal função, e que consequentemente ele é um mínimo global. Das hipóteses 1 e 2 colocadas no início da discussão sobre a lagrangiana aumentada, segue que |
Com essas condições, mostrou-se que em um ponto que seja solução, a lagrangiana aumentada é fortemente convexa.
Antes de apresentar o algoritmo, será fixada mais uma notação:
[editar] Algoritmo da lagrangiana aumentada
Dados ρ > 0 e
.
Início: Tomee k = 0. Iteração: Calcule xk, solução de
. Se H(xk) = 0, pare:
. Senão, faça uk + 1 = uk + εH(xk) k = k + 1
Este é um dos algoritmos mais usados e mais eficientes para problemas de programação não linear. A garantia de convergência segue dos próximos teoremas.
- Teorema
Sejam ρ0, δ0 e X0 como na proposição anterior. Se U é uma vizinhança de
, existe algum ρU > ρ0 tal que:

e 
Observações:
- X(ρ,u) denota as soluções do problema;
- A igualdade
significa que não há salto de dualidade. - Já foi mostrado que a função é fortemente convexa em uma vizinhança. Logo, os minimizadores devem estar em tal vizinhança.
- A prova é um pouco técnica, e usa as condições de KKT, mostrando que o cone linearizado é igual ao cone tangente.
| Prova |
|---|
| Esta prova é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a na versão online deste material. |
O segundo teorema é:
- Teorema
Se ρ é suficientemente grande e δ suficientemente pequeno, então:


- {uk} é limitada
Observações:
- A propriedade 2 praticamente segue do fato de não haver salto de dualidade.
| Justificativa |
|---|
| Fica a cargo do leitor justificar este fato. Sinta-se livre para melhorar a qualidade deste texto, incluindo a justificativa na versão online deste material. |
Com esses resultados, tem-se a garantia de que o algoritmo realmente converge para uma solução, desde que os parâmetros sejam tomados adequadamente. A questão que ainda permanece é como identificar os valores adequados de ρ e de δ para que tal convergência ocorra.
- Exercício
Argumente porque as hipóteses 1, 2 e 3 garantem que a iteração do algoritmo da Lagrangiana aumentada para problemas de minimização com restrições de igualdade tem uma única solução, sendo:
- Todas as funções são de classe
e a função objetivo tem todos os seus subníveis compactos. - Se
é solução do problema, então existe
tal que o gradiente da Lagrangiana não aumentada com respeito a variável primal se anula em
. - A hessiana da Lagrangiana não aumentada com respeito a variável primal é definida positiva sob a variedade ortogonal de todos os gradientes no ponto
das restrições.
[editar] Bibliografia
[editar] Livros e artigos
- Avriel, Mordecai. Nonlinear Programming: Analysis and methods. New York: Dover, 2003. 528 p. ISBN 0486432270
- Izmailov, Alexey; Solodov, Mikhail. Otimização: Condições de Otimalidade, Elementos de Análise Convexa e de Dualidade. 1.ed. Rio de Janeiro: IMPA, 2005. 253 p. 2 v. v. 1. ISBN 8524402385
- Izmailov, Alexey; Solodov, Mikhail. Otimização: Métodos Computacionais. 1.ed. Rio de Janeiro: IMPA, 2007. 458 p. 2 v. v. 1. ISBN 9788524402685
- Hiriart-Urruty, Jean-Baptiste, Lemaréchal, Claude. Fundamentals of Convex Analysis. Springer, 2001. ISBN 3540422056
- [confirmar] Fletcher, Roger; Fitches, W. R.. Practical Methods of Optimization. Wiley, 1987.
- [confirmar] Dixon, ???. Practical optimization.
- Crouzeix, Jean Pierre; Keraghel, Abdelkrim; Sosa, Wilfredo. Programmation Mathematique Differential. 2008.
- Hestenes, Magnus R.; Stiefel, Eduard. Methods of Conjugate Gradients for Solving Linear Systems. Journal of Research of the National Bureau of Standards. v. 49 (6). Dezembro, 1952.
- Polak, E.; Ribière, G..Note sur la convergence de directions conjugées. Rev. Francaise Informat Recherche Operationelle, 3e Année 16 (1969) 35-43.
- Fletcher, R.; Reeves, CM.Function minimization by conjugate gradients. The Computer Journal, 1964 - Br Computer Soc.
- Courant, R..Variational methods for the solution of problems of equilibrium and vibrations. Bull. Amer. Math. Soc., 49, 1-23, 1943.
- Finsler, P.. Uber das Vorkommen definiter und semidefiniter Formen in Scharen quadratischer Formen. Commentaria Mathematicae Helvetia. Vol. 9. pp. 188-192, 1937.
[editar] Páginas da internet
- Martınez, Jose Mario; Santos, Sandra Augusta. Métodos Computacionais de Otimização. Departamento de Matemática Aplicada IMECC-UNICAMP. 262p.
- Gonzaga, Clóvis Caezar. Um Curso de Programação Não Linear. Florianópolis : UFSC, 2004.
- Jonathan Richard Shewchuk. An Introduction to the Conjugate Gradient Method Without the Agonizing Pain - Um artigo sobre o método do gradiente conjugado (pode ser copiado e distribuído livremente)
- Cardoso, Domingos Moreira. Tópicos de Optimização Não Linear. Aveiro: UA, 1999.
- João Antônio de Vasconcelos. Apresentações de slides (em pdf):
-
- Otimização em engenharia: Penalidades.
- Problemas de Programação Matemática Não-Linear
- Otimização em engenharia: Métodos de Penalidades e Métodos do Lagrangiano Aumentado
- Algoritmos Genéticos
- Simulated Anneling Algorithm.
- Otimização Vetorial.
- Computação Evolucionária
- How do ee compare EA performances in multiobjective optimization?
[editar] Material complementar
- Pires, Paulo Sérgio da Motta. Introdução ao SciLab Versão 3.0. Natal: UFRN, 2004.
- Chandler, Graeme; Roberts, Stephen. Introduction to Scilab. 2002.
- LaTeX to Wikicode translation tool - (link direto)


(simétrica), e segue
(verifique).
é definida positiva.











, com 

Se
, então pare:
Senão:
Calcular
Se
, então pare:
Senão:

,
,
,
para 
















(como em todo método de descida)
Calcular
Calcular
Calcular 








. Como
tal que
tem-se
.
(sua contrapositiva).
. A existência de um número
e
, tem-se 
. Tome
. Nestas condições,
tal que
.
então 




![\Gamma = \Gamma_1 \cup \left\{ A \subset \mathbb{R} \cup \{ \infty \}: \exists a \in \mathbb{R}, A = \left] a, \infty \right]\right\}](http://upload.wikimedia.org/math/a/5/9/a5966eb32235a528b40a60b471878fa0.png)
é coerciva, pois


tal que
tal que
, defina-se
por 
ser um minimizador, por construção, e a segunda segue por que
.




, sendo primeira desigualdade válida por
.
. Então
é uma sequência limitada.
, consequentemente
. Sendo
tal que
. Logicamente,
. Pela continuidade de
. Mas já havia sido verificado que
.
é crescente. Seja
(por que razão ele existe?). Como
, tem-se
. Portanto,
. Logo
, ou seja,
.
, e este valor é nulo se, e somente se,
, donde
, ou seja,
, solução global de
Escolha
, onde:
, onde pode ser aplicado o método de gradientes conjugados.






, solução global de
Escolha 






e
, construa o modelo quadrático:
Calcule
Tome
, fazer
e
, construa o modelo quadrático:



![\min_{x \in \mathbb{R}^n} \sum_{i=1}^{p}\left[h_i(x)\right]^2](http://upload.wikimedia.org/math/3/4/7/3470be3f179953794dcfc7541e9e9ee1.png)




![\sum_{i=1}^{p}\left[h_i(\bar{x})\right]^2 \ge 0](http://upload.wikimedia.org/math/8/4/4/8443c02f8126173405e28f40cce08d59.png)

![\sum_{i=1}^{p}\left[h_i(\bar{x})\right]^2 = \sum_{i=1}^{p} 0^2 = 0](http://upload.wikimedia.org/math/2/c/3/2c392f5d040ba415ce0a1ab0a0600123.png)
a soma dos quadrados assumir um valor positivo
implica que existe algum 





.




![x^* = \bar{x} - \left[\nabla^2 f(\bar{x})\right]^{-1} \nabla f(\bar{x})](http://upload.wikimedia.org/math/7/3/9/7395446ff81a2b611cd012443ca53f12.png)
![x_{k+1} = x_k - \left[\nabla^2 f(x_k)\right]^{-1} \nabla f(x_k)](http://upload.wikimedia.org/math/4/6/5/465db59f68a8a60d4eb53cac01f08587.png)
Faça
Faça ![f(x) = \frac{1}{2}\sum_{i=1}^{p}\left[h_i(x)\right]^2](http://upload.wikimedia.org/math/3/b/b/3bbbe56250893dd4de24102f0154d300.png)


![\nabla f(x) = \left[J_H(x)\right]H(x)](http://upload.wikimedia.org/math/3/1/a/31a63f0d717566675bf96d585bb2f3ed.png)


![x^\top \nabla h_i(x) \nabla h_i(x)^\top x = \left[\nabla h_i(x)^\top x\right]^2 \ge 0](http://upload.wikimedia.org/math/4/5/3/453c292a34d939f6554d88487b35e8a6.png)
, onde
Faça
Faça
, onde
Faça
.
.
onde
na ![\begin{align}
f(\bar{x}) & =\frac{1}{2}h(\bar{x})^{\top}h(\bar{x})\\
& =\frac{1}{2}(h(x)+J(x)(\bar{x}-x))^{\top}(h(x)+J(x)(\bar{x}-x))\\
& =\frac{1}{2}[(h(x)^{\top}h(x)+2h(x)^{\top}(J(x)(\bar{x}-x))+(J(x)(\bar{x}-x))^{\top}(J(x)(\bar{x}-x))]\\
& =f(x)+h(x)^{\top}(J(x)(\bar{x}-x))+ (J(x)(\bar{x}-x))^{\top}(J(x)(\bar{x}-x))
\end{align}](http://upload.wikimedia.org/math/d/e/2/de2fc4a20fc0677f656399cc67e197a0.png)
e
, então o método de Gauss-Newton escolhe
.


, com
.
.
, para todo
, ou seja, 
, então
.
sempre forma ângulo menor ou igual a 90 graus com os vetores do tipo 

, ou seja, 
forma ângulo menor que 90 graus com o vetor
, pois
é a projeção de 

e
, tem-se a equivalência com:
, ou seja:














,
. Então, calculando o ínfimo em ambos os membros (com relação aos valores de
:




e
.
e tomando
existe um índice
e/ou
, onde
tem-se que
.
vale
.
e
tem-se:![\begin{align}
\beta(\bar{u}, \bar{v})& = \inf_{x \in \mathbb{R}^n} l(x, ta+(1-t)b, tc+(1-t)d)\\
& = \inf_{x \in \mathbb{R}^n} f(x)+(ta+(1-t)b)^{\top}g(x)+(tc+(1-t)d)^{\top}h(x)\\
& = \inf_{x \in \mathbb{R}^n} f(x)+ta^{\top}g(x)+(1-t)b^{\top}g(x)+tc^{\top}h(x)+(1-t)d^{\top}h(x)\\
& = \inf_{x \in \mathbb{R}^n} tf(x)+(1-t)f(x) +ta^{\top}g(x)+(1-t)b^{\top}g(x)+tc^{\top}h(x)+(1-t)d^{\top}h(x)\\
& = \inf_{x \in \mathbb{R}^n} t[f(x)+a^{\top}g(x)+c^{\top}h(x)]+(1-t)[f(x)+b^{\top}g(x)+d^{\top}h(x)]\\
& = \inf_{x \in \mathbb{R}^n} tl(x, a, c)+(1-t)l(x, b, d)\\
& \ge \inf_{x \in \mathbb{R}^n} tl(x, a, c)+\inf_{x \in \mathbb{R}^n} (1-t)l(x, b, d)\\
& = t\inf_{x \in \mathbb{R}^n} l(x, a, c)+(1-t)\inf_{x \in \mathbb{R}^n} l(x, b, d)\\
& =t\beta(a, c)+(1-t)\beta(b, d).
\end{align}](http://upload.wikimedia.org/math/c/0/2/c027c5ca29e8775e987af993bf38d7a6.png)
e
serem interseções finitas de semiespaços fechados.
;
e
, conclúi-se que as funções
e
.
, dado por![\alpha(x) = \sup_{\begin{smallmatrix}u_1 \ge 0\\u_2 \ge 0\end{smallmatrix}} [x^2 + u_1 (1-x) + u_2 (x-2) ] = x^2 + \sup_{u_1 \ge 0} [ u_1 (1-x) ] + \sup_{u_2 \ge 0} [ u_2 (x-2) ]](http://upload.wikimedia.org/math/0/3/3/03321bae6c7e637c9372a40902445870.png)
![\alpha(x) = \left\{\begin{matrix}
x^2 & , \text{ se } x \in [1, 2]\\
+\infty & , \text{ se } x \not\in [1, 2]
\end{matrix}\right.](http://upload.wikimedia.org/math/7/7/7/777902e6d0bf0506165d7d4cad3fc14f.png)
, dada por![\beta(u_1, u_2) = \inf_{x \in \mathbb{R}^n} [x^2 + u_1 (1-x) + u_2 (x-2) ]](http://upload.wikimedia.org/math/0/7/e/07eebe207cdcccd241dcc69a3bc52e30.png)




.
tem-se:
, então 
tem-se:

, quaisquer que sejam
.
,
e
, resulta:
, ou seja,
, quaisquer que sejam 


![\begin{align}
\beta(u, v) & = \frac{1}{4} ( [u_1^2 + u_2^2 - 2u_1u_2] + [4u_1 - 2u_1^2 + 2 u_1 u_2] + [2u_1u_2 - 2u_2^2 - 8u_2])\\
& = \frac{-1}{4} ( u_1^2 + u_2^2 - 2u_1u_2 - 4u_1 + 8u_2)\\
& = \frac{-1}{4} ( (u_1 - u_2)^2 - 4(u_1 - u_2)) - u_2\\
& = \frac{-1}{4} ( (u_1 - u_2)^2 - 4(u_1 - u_2) + 4) + 1 - u_2\\
& = \frac{-1}{4} (u_1 - u_2 - 2)^2 + 1 - u_2
\end{align}](http://upload.wikimedia.org/math/0/5/d/05d5e825636d1809026b24fc2337fdf6.png)
é solução do problema primal, e
.
assumir seu valor máximo, deve-se ter
, quaisquer que sejam
,
.
, e ao tomar
é uma solução do problema dual
, e
, segue que
é ponto de sela da lagrangiana 

e
, tais que:
é convexa em
.
.
, segue que:
e
.
. Além disso,
.




. Então, pela definição de
, tem-se:



, então
e
. Consequentemente,
, ou seja,
,

![\begin{align}
l(x,y,u,v,w) & = [a^\top x + b^\top y] + u^\top[c - Mx - Ny] + v^\top[d - Px - Qy] + w^\top [-x]\\
& = [a - M^\top u - P^\top v - w]^\top x + [b - N^\top u - Q^\top v]^\top y + [c^\top u + d^\top v]\\
\end{align}](http://upload.wikimedia.org/math/2/7/c/27c7bf38d40349d7ff617c76af72268d.png)





.![\inf_{x \in C} f(x) = - \sup_{x \in C} [-f(x)]](http://upload.wikimedia.org/math/6/5/2/6521351f9530c37b50f51d28d9f58d8f.png)


![\begin{align}
\beta(u,v) & = \inf_{x \in \mathbb{R}^n} l(x,u,v)\\
& = \inf_{x \in \mathbb{R}^n} [c^\top x - u^\top x + v^\top(b-Ax)]\\
& = b^\top v + \inf_{x \in \mathbb{R}^n} [c - u - A^\top v]^\top x\\
& = \left\{\begin{array}{rcl}
b^\top v & , & \text{ se } c - u - A^\top v = 0\\
-\infty & , & \text{ em outros casos}
\end{array}\right.
\end{align}](http://upload.wikimedia.org/math/e/8/7/e87e522f3e77cefc74c94217d68283ae.png)




![\begin{align}
\beta(y) & = \inf_{v \in \mathbb{R}^m} l(v,y)\\
& = \inf_{v \in \mathbb{R}^m} [-b^\top v + y^\top (A^\top v - c)]\\
& = -c^\top y + \inf_{v \in \mathbb{R}^m} [(Ay-b)^\top v]\\
& = \left\{\begin{array}{rcl}
-c^\top y & , & \text{ se } Ay-b = 0\\
-\infty & , & \text{ em outros casos}
\end{array}\right.
\end{align}](http://upload.wikimedia.org/math/3/7/b/37bd4e7b12f22582b4c83018afe8955a.png)









![\begin{align}
\beta(u_1,u_2) & = \inf_{x \in \mathbb{R}^2} l(x,u_1,u_2)\\
& = \inf_{x \in \mathbb{R}^2} [-c^\top x + u_1^\top (Ax-b) + u_2^\top (-x)]\\
& = -b^\top u_1 + \inf_{x \in \mathbb{R}^2} [(A^\top u_1 - c - u_2)^\top x]\\
& = \left\{\begin{array}{rcl}
-b^\top u_1 & , & \text{ se } A^\top u_1 - c - u_2 = 0\\
-\infty & , & \text{ em outros casos}
\end{array}\right.
\end{align}](http://upload.wikimedia.org/math/c/6/6/c661bc60c6f0eabd7d4a63126f3f585c.png)









![\begin{align}
\beta(u,v) & = \inf_{x \in \mathbb{R}^n} l(x,u,v)\\
& = \min_{x \in \mathbb{R}^n} l(x,u,v)\\
& = \min_{x \in \mathbb{R}^n} [\frac{1}{2}x^\top Q x + q^\top x + \alpha + u^\top (b - Ax) + v^\top (-x)]\\
& = \min_{x \in \mathbb{R}^n} [\frac{1}{2}x^\top Q x + (q - v - A^\top u)^\top x + u^\top b + \alpha]\\
\end{align}](http://upload.wikimedia.org/math/e/8/1/e81998f3b2767b166185d9a6e6c4a142.png)
![\begin{align}
\beta(u,v) & = \frac{1}{2}\left[Q^{-1} (A^\top u + v - q)\right]^\top Q \left[Q^{-1} (A^\top u + v - q)\right] + (q - v - A^\top u)^\top \left[Q^{-1} (A^\top u + v - q)\right] + u^\top b + \alpha\\
& = \frac{1}{2}(A^\top u + v - q)^\top Q^{-1} (A^\top u + v - q) - (A^\top u + v - q)^\top Q^{-1} (A^\top u + v - q) + u^\top b + \alpha\\
& = \frac{-1}{2}(A^\top u + v - q)^\top Q^{-1} (A^\top u + v - q) + u^\top b + \alpha
\end{align}](http://upload.wikimedia.org/math/d/3/e/d3e702bb55e789bc9fd2811953b4cd33.png)






é válida, e foi feita apenas para simplificar as contas.![(P)\left\{\begin{matrix}
\min \frac{1}{2}\left[(x-1)^2 + (y-2)^2\right]\\
x \ge 0; y \ge 0\\
x + y = 1
\end{matrix}\right.](http://upload.wikimedia.org/math/5/b/9/5b9b5ef39a77b36620faf6190b6cd777.png)
![l(x,y,u,v,w) = \frac{1}{2}\left[(x-1)^2 + (y-2)^2\right] - ux - vy + w(1-x-y)](http://upload.wikimedia.org/math/a/7/1/a715116e063b204e5b72304608562e23.png)
![\begin{align}
\beta(u,v,w) & = \inf_{\begin{smallmatrix}x \in \mathbb{R}\\y \in \mathbb{R} \end{smallmatrix}} l(x,y,u,v,w)\\
& = \inf_{\begin{smallmatrix}x \in \mathbb{R}\\y \in \mathbb{R} \end{smallmatrix}} \left[\frac{1}{2}\left[(x-1)^2 + (y-2)^2\right] - ux - vy + w(1-x-y)\right]\\
& = \inf_{\begin{smallmatrix}x \in \mathbb{R}\\y \in \mathbb{R} \end{smallmatrix}} \left[\frac{1}{2}\left[(x-1)^2 + (y-2)^2\right] - (u+w)x - (v+w)y + w\right]
\end{align}](http://upload.wikimedia.org/math/f/3/7/f3756368136736d9155e1d00ee58a896.png)
tem-se:

![\begin{align}
\beta(u,v,w) & = \frac{1}{2}\left[\left((u+w+1)-1\right)^2 + \left((v+w+2)-2\right)^2\right] - (u+w)(u+w+1) - (v+w)(v+w+2) + w\\
& = \frac{1}{2}\left[(u+w)^2 + (v+w)^2\right] - (u+w)(u+w+1) - (v+w)(v+w+2) + w\\
& = \frac{-1}{2}\left[(u+w)^2 + (v+w)^2\right] - (u+w) - 2(v+w) + w\\
& = \frac{-1}{2}\left[(u+w)^2 + (v+w)^2\right] - u - 2v - 2w
\end{align}](http://upload.wikimedia.org/math/9/f/3/9f310adefef342e94dc9e1318368d627.png)

![(D)\left\{\begin{matrix}
\min \frac{1}{2}\left[(u+w)^2 + (v+w)^2\right] + u + 2(v + w)\\
u \ge 0;\, v \ge 0;\, w \in \mathbb{R}^m\\
\end{matrix}\right.](http://upload.wikimedia.org/math/2/7/1/271cbc5061d56921e61f329cb6acc5bb.png)

e escolha
.


![(P_{ \bar{u},\bar{v},\bar{w} })\left\{\begin{matrix}
\min \frac{1}{2}\left[(x-1)^2 + (y-2)^2 + x + y - 1\right]\\
x \in \mathbb{R};\,y \in \mathbb{R}
\end{matrix}\right.](http://upload.wikimedia.org/math/2/f/7/2f720b57902e844a24db4378b5e48899.png)

e
. De acordo com a teoria desenvolvida, a solução
do problema é também solução do problema original, pois o produto é igual a zero (ver condições da proposição).






![\begin{align}
\beta(u,v) & = \inf_{x \in \mathbb{R}^5} l(x,u,v)\\
& = \inf_{x \in \mathbb{R}^5} [c^\top x - u^\top x + v^\top (b-Ax)]\\
& = \inf_{x \in \mathbb{R}^5} b^\top v + (c - u - A^\top v)^\top x\\
& = \left\{\begin{array}{rcl}
b^\top v & , & \text{ se } c - u - A^\top v = 0\\
-\infty & , & \text{ em outros casos}
\end{array}\right.
\end{align}](http://upload.wikimedia.org/math/f/6/2/f6281b9f62d188ea0a568f845b449709.png)




é assumido quando
for um dos cinco vértices. Através de simples verificação, comprova-se que o ponto de máximo é
. Conforme a teoria, este ponto é uma solução do problema dual 
, ou seja, 
, ou seja, 
, ou seja, 
.
(comprovando 1)

e
.
satisfazem todas as propriedades, então
é solução do problema 
![\begin{align}
\beta(u,v) & = \inf_{x \in \mathbb{R}^5} l(x,u,v)\\
& = \inf_{x \in \mathbb{R}^5} [c^\top x - u^\top x + v^\top (Ax-b)]\\
& = \inf_{x \in \mathbb{R}^5} -b^\top v + (c - u + A^\top v)^\top x\\
& = \left\{\begin{array}{rcl}
-b^\top v & , & \text{ se } c - u + A^\top v = 0\\
-\infty & , & \text{ em outros casos}
\end{array}\right.
\end{align}](http://upload.wikimedia.org/math/6/6/a/66a4f25c2a14559356980301ee4144f8.png)



.

![\begin{cases}
\text{min} \frac{1}{2}[(x+5)^2+(y-2)^2] \\
x\ge 0 \ y\ge 0
\end{cases}](http://upload.wikimedia.org/math/3/e/e/3eec51540edf140c89854cfba698da9d.png)
![l(x,y,u,v)=\frac{1}{2}[(x+5)^2+(y-2)^2] +u(-x)+v(-y)](http://upload.wikimedia.org/math/f/d/4/fd4d784008a5cc61a4bba01690d23467.png)

![\beta(u,v)= \inf_{\begin{smallmatrix}x \in \mathbb{R} \\y \in \mathbb{R}\end{smallmatrix}}
[\frac{1}{2}[(x+5)^2+(y-2)^2]-ux-vy]](http://upload.wikimedia.org/math/b/f/c/bfc130193ed6af553530948887a0246b.png)

e 
![\beta(u,v)= \frac{1}{2}[(u-5+5)^2+(v+2-2)^2]-u(u-5)-v(v+2)](http://upload.wikimedia.org/math/b/f/d/bfd97b3b815b038f9f0774bcd910a1cc.png)
![\beta(u,v)= \frac{1}{2}[u^2+v^2]-u^2+5u-v^2-2v)](http://upload.wikimedia.org/math/0/7/1/07113c53340ee8e1fb853196cc051d24.png)
![\beta(u,v)= -[\frac{1}{2}(u^2+v^2)-5u+2v)]](http://upload.wikimedia.org/math/a/7/3/a73b188dcd996b7bb2389be2d00af54a.png)
![\begin{cases}
\text{max} -[\frac{1}{2}(u^2+v^2)-5u+2v] \\
u\ge 0 \ v\ge 0
\end{cases}](http://upload.wikimedia.org/math/3/c/9/3c939c19043a3c746e3cc9388a131973.png)






e
.
,
, ![\begin{cases}
\text{min}\ \frac{1}{2}[(x+5)^2+(y-2)^2] +5(-x) \\
x,y\in \mathbb{R}
\end{cases}](http://upload.wikimedia.org/math/3/a/c/3acc3699142e678d1c250085d8875139.png)
e o valor ótimo do dual também é 

é definida positiva. Logo, para concluir a outra implicação, basta notar que para qualquer 


, e denotando
, segue que para cada
, existe algum
, com
, tais que
(pois
e

, ou seja, se
. Logo,




.
é definida positiva.
é dada por
. Logo, a hipótese equivale a dizer que
é definida positiva.
definida por

, e qualquer que seja
.

![d^\top \left[\nabla_x^2 l_{\rho_0} (x,\bar{u})\right] d \ge \delta_0 \|d\|^2](http://upload.wikimedia.org/math/a/4/1/a41ec23eb03f90501e181d2d0d395b17.png)
são todos positivos.
é fortemente convexa, basta recordar-se de dois fatos:
é convexa, ou seja,
.![d^\top \left[\nabla_x^2 l_{\rho_0} (x,\bar{u})\right] d - \delta_0 \|d\|^2 \ge 0](http://upload.wikimedia.org/math/a/2/c/a2c1776e8d2f71dfd4b7f20e8c18fd44.png)

e
.
Se