Você está na página 1de 45

Otimização

Conteúdo

1 Capa da Versão Online 1

2 Introdução 2

3 Método de Gradientes Conjugados 3


3.1 Algumas considerações históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 O método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2.1 Exemplos de conjuntos convexos e côncavos . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Esquema do método de descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4 Algoritmo de Hestenes-Stiefel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4.2 Implementação em Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.5 Algoritmo de Fletcher-Reeves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.6 Algoritmo de Polak-Ribière . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.7 Algoritmo auxiliar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Métodos de Penalidades 9
4.1 Método de penalidade exterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.1 Alguns conceitos da topologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.2 De volta ao método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.3 Algoritmo de penalidade exterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.4 Implementação do algoritmo de penalidade exterior em SciLab . . . . . . . . . . . . . . . 11
4.2 Método de penalidade interior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.2 Algoritmo de barreira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.3 Implementação do algoritmo de barreira em SciLab . . . . . . . . . . . . . . . . . . . . . 12

5 Métodos de Região de Confiança 13


5.1 Breve revisão da busca de Armijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 De volta ao método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2.1 Algoritmo da região de confiança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2.2 Algoritmo da região de confiança melhorado . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 O subproblema quadrático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

i
ii CONTEÚDO

6 O Problema de Mínimos Quadrados 15


6.1 O caso linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1.1 Exemplo de aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.2 O caso não linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.2.1 O método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.2.2 Algoritmo de Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.2.3 Algoritmo de Levemberg-Marquardt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

7 O Teorema de Karush, Kuhn e Tucker 19


7.1 Cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.2 Caracterização das direções de descida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.3 O cone viável linearizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.4 O cone tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.5 Teorema KKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

8 Métodos Duais 22
8.1 Lagrangiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2 Condições de otimalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2.1 Caso particular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2.2 Caso geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.3 Uma inequação sobre ínfimos e supremos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.3.1 Exemplo numérico: problema primal e seu dual . . . . . . . . . . . . . . . . . . . . . . . 25
8.4 Ponto de sela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.4.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.4.2 Análise do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.5 Resumo do esquema de dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.5.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.6 Uma nota sobre a terminologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

9 Aplicações dos Métodos Duais 28


9.1 Aplicação à programação linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
9.1.1 Exemplificando com um problema de programação linear . . . . . . . . . . . . . . . . . . 29
9.2 Aplicação à programação quadrática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.2.1 Revisão do método do gradiente projetado . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.2.2 Exemplificando a projeção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.2.3 Exemplo concreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.3 Exercícios resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

10 Método da Lagrangiana Aumentada 32


10.1 Algoritmo da lagrangiana aumentada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

11 Estilo 35
11.1 Definições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
CONTEÚDO iii

11.2 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.4 Demonstrações e resolução de exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.5 Tarefas pendentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

12 Índice Remissivo 36
12.1 A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.2 B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.3 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.4 D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.5 E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.6 F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.7 G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.8 H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.9 I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.10J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.11K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.12L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.13M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.14N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.15O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.16P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.17Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.18R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.19S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.20T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.21U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.22V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.23W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.24X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.25Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.26Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

13 Bibliografia 39
13.1 Livros e artigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
13.2 Páginas da internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
13.2.1 Material complementar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
13.3 Fontes dos textos e imagens, contribuidores e licenças . . . . . . . . . . . . . . . . . . . . . . . . 41
13.3.1 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
13.3.2 Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
13.3.3 Licença . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Capítulo 1

Capa da Versão Online

1
Capítulo 2

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 profes-
sor 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 li-
vros 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 dei-
xar um comentário a respeito.
Ainda há muito por fazer, mas cada um daqueles que con-
tribuem acredita estar fazendo o possível para oferecer o
melhor a todos.

2
Capítulo 3

Método de Gradientes Conjugados

3.1 Algumas considerações históri- Uma função f : D 7→ R é dita convexa quando D ⊂ Rn


é convexo e ∀x, y ∈ D e ∀t ∈ [0, 1] vale
cas
• Este método foi originalmente proposto por f (tx + (1 − t)y) ≤ tf (x) + (1 − t)f (y)
Hestenes e Stiefel, em 1952.

• Seu objetivo inicial foi a resolução de problemas Definição


quadráticos sem restrições, mas logo o mesmo foi
estendido para casos mais gerais. Dado um conjunto convexo D ⊂ Rn , uma função f :
D 7→ R é dita fortemente convexa quando existe uma
constante a > 0 tal que f (x) − a∥x∥2 é convexa.

3.2 O método Exercício

Este método pode ser considerado sob dois pontos de Verifique que uma função quadrática f : Rn 7→ R é for-
vista: temente convexa se existe uma matriz simétrica definida
positiva A , um vetor a ∈ Rn e um escalar α ∈ R de
• Como um método de descida, com busca linear modo que f (x) = 12 x⊤ Ax + a⊤ x + α .
exata;
Nota: Uma matriz é definida positiva se, e somente se,
• Como um método de resolução de sistema linear, todos os seus autovalores são positivos.
baseado em um processo de ortogonalização. Tem-se:

Definição
∇f : Rn 7→ R
Um conjunto não vazio D ⊂ Rn é dito convexo quando ∇2 f : Rn 7→ (Rn )2
∀x, y ∈ D e t ∈ [0, 1] vale
Sendo f (x) = 21 x⊤ Ax + a⊤ x + α , segue em particular
que ∇f = Ax + a e ∇2 f = A = P ⊤ ΛP , onde Λ é
uma matriz diagonal cujos elementos da diagonal são os
tx + (1 − t)y ∈ D
autovalores de A e P é uma matriz onde as colunas são
os autovetores correspondentes aos autovalores.
3.2.1 Exemplos de conjuntos convexos e Note que A é uma matriz simétrica, pois é a matriz Hessi-
côncavos ana de uma função com segundas derivadas parciais con-
2 2
∂ f ∂ f
tínuas, e consequentemente vale ∂x∂y =. ∂y∂x
• Este é um conjunto convexo, pois todo segmento
Para introduzir o método de direções conjugadas, serão
com extremidades no conjunto está totalmente con-
consideradas somente funções quadráticas.
tido no conjunto.
Uma condição necessária de primeira ordem para que x
• Este é um conjunto côncavo, pois existe um seg- seja um ponto de mínimo para a função f é que ∇f (x) =
mento com extremidades no conjunto que não está 0 . Para o presente caso, a função f é convexa, então, a
totalmente contido no conjunto. condição necessária ∇f (x) = 0 também é suficiente.

Definição Exercício

3
4 CAPÍTULO 3. MÉTODO DE GRADIENTES CONJUGADOS

Prove que se A é uma matriz simétrica definida positiva, que passa pelo ponto xk e que tem direção dk . Logo,
então f : Rn 7→ R dada por f (x) = x⊤ Ax + a⊤ x + α derivando a expressão de θ em relação a t , obtem-se
possui um único ponto de mínimo.
No caso de uma função quadrática, tem-se ∇f (x) =
′ ⊤
0 ⇔ Ax + a = 0 , ou seja, x é solução do sistema linear θ (t) = ∇f (xk + tdk ) dk
Ax = −a .
Então, no ponto de mínimo, xk+1 , tem-se
A resolução de um sistema linear nem sempre pode ser
feita numericamente de forma eficiente. Por exemplo, se
a matriz do sistema é:
0 = ∇f (xk+1 )⊤ dk
[ −20 ] Ou seja, a direção dk a ser seguida a partir do ponto xk é
10 1
A= ortogonal ao gradiente da função f , no ponto xk+1 .
1 1020 + 1

A solução do sistema linear corresponde à interseção en-


tre duas retas quase paralelas, e os erros de truncamento 3.3 Esquema do método de descida
podem causar imprecisão na solução obtida computacio-
nalmente.
Analiticamente, o sistema Ax = −a tem x = −A−1 a xk+1 = xk +tk dk = (xk−1 +tk−1 dk−1 )+tk dk = . . . = x1 +t1 d1 +. . .+tk
como solução. Então alguém poderia se perguntar: qual o
problema em resolver esse sistema linear, se basta calcular
Seja x̄ o minimizador da função f . Tem-se
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 ∑k
xk+1 − x̄ = x1 − x̄ + ti di
ordem bem maior do que 2 (digamos 1000), o cálculo de i=1
matrizes inversas não é uma opção.
Assim, com o intuito de desenvolver um método compu- Mas 0 = ∇f (x̄) = Ax̄ + a implica que a = −Ax̄ , logo
tacional para o cálculo de minimizadores, é preciso utili-
zar outras técnicas. Considere o seguinte:
Em um método de descida tem-se sempre uma sequencia ∇f (x) = Ax + a = Ax − Ax̄ = A(x − x̄)
{xk , tk , dk } ∈ N , com xk+1 = xk + tk dk e tk é um
e consequentemente
minimizador de f (xk + tdk ) : t ∈ R


k
∇f (x) = Ax + a A(xk+1 − x̄) = A(x1 − x̄) + ti Adi
i=1
e
∑k
Donde ∇f (xk+1 ) = ∇f (x1 ) + i=1 ti Adi . Portanto
∑k
0 = ∇f (xk+1 )⊤ dk = ∇f (x1 )⊤ dk + i=1 ti d⊤
i Adk .
0 = ∇f (xk+1 ) = Axk+1 +a = A(xk +tk dk )+a = Axk +tk Adk +a

Logo, tk Adk = −(Axk + a) e multiplicando por d⊤ Exercício


k
⊤ ⊤ ⊤
obtem-se tk dk Adk = −(dk Axk + dk a) . Consequen-
temente, o valor de tk é dado por Provar que se A é uma matriz simétrica, definida positiva,
então existe uma matriz simétrica B , de modo que A =
B2
⊤ ⊤
−(dk Axk + a dk ) Usando o resultado desse exercício, tem-se ainda que 0 =
tk = ∑k
d⊤
k Adk ∇f (x )⊤ d = ∇f (x )⊤ d + t (Bd )⊤ (Bd )
k+1 k 1 k i=1 i i k

Deste modo, o método consistirá de escolher em cada Fazendo δ = Bd , o método do gradiente conju-
etapa k uma direção dk , e calcular o coeficiente tk pela gado escolhe as direções de descida tais que δi⊤ dj =
fórmula anterior, para gerar o próximo ponto xk+1 . Mas 0, ∀i ̸= j . Mas quando i ̸= j , tem-se na expressão
como escolher a direção dk ? apresentada anteriormente apenas 0 = ∇f (x1 )⊤ dk +
Dado xk e escolhido dk , defina θ : R 7→ R como θ(t) = tk (Bdk )⊤ (Bdk ) = ∇f (x1 )⊤ dk + tk dk Adk
f (xk + tdk ) , ou seja, θ é a restrição da função f à reta Finalmente, tem-se o algoritmo para este método.
3.4. ALGORITMO DE HESTENES-STIEFEL 5

3.4.1 Exemplos
Considere f : R2[7→ R ][
definida 1 2
] por f (x, y) = 2 (x +
[ ] 1 0 x
y 2 ) = 21 x y . Em outros termos, to-
[ ]0 1 y
x 1 ⊤
mando u = , tem-se f (u) = 2 u Au , onde
] y
x
[
1 0
A= = I2×2 .
0 1
Pode-se aplicar o método de direções conjugadas ao se-
guinte problema

{
minf (u)
(P )
u ∈ R2
[ ]
0
Note, desde já, que o conjunto solução é S = { }.
0

Inicio
[ ]
2
• Toma-se x0 arbitrário, por exemplo, x0 = .
1
x0 • Avalia-se o gradiente da função f neste ponto ini-
cial: ∇f (x0 ) = Ax0 = I2×2 x0 = x0

Uma comparação da convergência do método de descida do Iteração 1


gradiente com tamanho de passo ótimo (em verde) e o método ] [
do gradiente conjugado (em vermelho) para a minimização da −2
forma quadrática com um sistema linear dado. O gradiente con- • d0 = −∇f (x0 ) =
−1
jugado, assumindo aritmética exata, converge em no máximo n
passos onde n é o tamanho da matriz do sistema (no exemplo, ∥∇f (x0 )∥2
• t0 = d⊤
=1 = 5
5
n=2). 0 Ad0
[ ] [ ] [ ]
2 −2 0
• x1 = x0 + t0 d0 = +1 =
3.4 Algoritmo de Hestenes-Stiefel 1 −1 0

A seguir, verifica-se se o gradiente se anula no novo ponto


Primeiro passo: Escolha x0 ∈ Rn Se ∇f (x0 ) = 0 , en- x :
1
tão pare: x̄ = x0 Senão: d0 = −∇f (x0 ) = −Ax0 − a
[ ] [ ]
Calcular t0 = ∥∇f
2
(x0 )∥
d⊤
x1 = x0 + t0 d0 Passo ite- 0 0
0 Ad0 • ∇f (x 1 ) = A =
rativo k : Dado xk ∈ Rn Se ∇f (xk ) = 0 , então 0 0
∇f (xk )⊤ Adk
pare: x̄ = xk Senão: dk = −∇f (xk ) + d⊤ Ad dk
∥∇2 f (xk )∥2
k k
Como o gradiente já é nulo, não é preciso fazer a segunda
tk = d⊤ Ad xk+1 = xk + tk dk iteração, e o ponto x1 é o (único) minimizador global de
k k

Pode-se verificar facilmente que d


k+1 ⊥ d . De fato, f .
k
∇f (xk+1 )⊤ Adk Em um caso mais geral, considerando f : R[2 7→ R][ defi-
como dk+1 = −∇f (xk+1 ) + d⊤
dk , tem- ]
k Adk [ ] λ 0 x
∇f (xk+1 )⊤ Adk λ 2 2 1
nida por f (x, y) = 2 (x + y ) = 2 x y
se Adk+1 = −A∇f (xk+1 ) + d⊤
Adk 0 λ y
k Adk
. Logo, d⊤ k Adk+1 = −∇f (xk+1 )⊤ Adk + , tem-se cálculos muito parecidos em cada passo.
∇f (xk+1 )⊤ Adk ⊤
[ ]
dk Adk = −∇f (xk+1 )⊤ Adk + 0
d⊤ Ad
k k O conjunto solução continua sendo S = { }.
∇f (xk+1 )⊤ Adk = 0 . 0

Inicio
Exercício
• Considere
[ ] x0 como no primeiro exemplo, ou seja,
Provar que se y = Bx então ∥y1 − ȳ∥2 = ∥yk+1 − ȳ∥2 + 2
∑k 2 x0 = .
i=1 ti ∥δi ∥ .
2
1
6 CAPÍTULO 3. MÉTODO DE GRADIENTES CONJUGADOS

[ ]
• Avalia-se o gradiente da função f neste ponto ini- Iteração 1 d = −∇f (x ) = 0
cial: ∇f (x0 ) = Ax0 = λx0
0 0
−30
[ ]
∥ 0 30 ∥2
Iteração 1 t0 =    =
[ ] 2 −1 0 
0 −30 
[ ] −1 2 −30
−2 900  900 1
• d0 = −∇f (x0 ) = λ [ ] −30
= 1800= 2
−1 0 −30  
−60
∥∇f (x0 )∥
2 2
• t0 = d⊤
= 5λ
5λ3 = 1
λ
0 Ad0
Feitos esses cálculos, o próximo ponto é dado por
] [[ ] [ ]
2λ −2λ 0
• x1 = x0 + λ1 λd0 = +1 =
λ −λ 0 [ ] [ ] [ ] [ ] [ ]
10 1 0 10 0 10
x1 = x0 +t0 d0 = + = + =
20 2 −30 20 −15 5
A seguir, verifica-se se o gradiente se anula no novo ponto
x1 : Para saber se será necessária uma nova iteração, ou se
o minimizador foi encontrado, calcula-se o gradiente da
[ ] [ ] [ ]
0 0 0 função no ponto:
• ∇f (x1 ) = A =λ =
0 0 0
[ ][ ] [ ] [ ]
2 −1 10 15 0
Novamente, o gradiente se anula já na primeira iteração, ∇f (x1 ) = = ̸=
−1 2 5 0 0
de modo que x1 é o minimizador global de f .
Novamente, será preciso calcular uma nova direção e um
Exercício novo comprimento de passo:
] [ [ ] [ ]
−15 0 −15
Seja A ∈ R n×n
uma matriz simétrica definida positiva, Iteração 2 d0 = +β =
0 −30 −30β
cujos autovalores são todos iguais. Então começando de
qualquer ponto x0 ̸= 0 , o método fornece xn−1 como
onde β , no algoritmo de Hestenes é dado por:
solução.
Um
[ terceiro] exemplo pode ser dado tomando A = [ ][ ] [ ]
2 −1 [ ] 2 −1 0 [ ] 30
e f : R2 7→ R definida por f (u) = 12 u⊤ Au 15 0 15 0
−1 2 −1 2 −30 −60 15 × 30
β = [ ][ ]= [ ]=
. Observe que tal matriz é simétrica e definida positiva: [ ] 2 −1 0 [ ] 30 (−30) × (−60
0 −30 0 −30
−1 2 −30 −60
Portanto
det(A−λI) = (2−λ)(3−λ)−1 = λ2 −4λ−3 = (λ−3)(λ−1)

Logo, os autovalores de A são λ = 1 e λ = 3 . Isso [ ]


1
também implica que a função é fortemente convexa. d0 = −15
1/2
Aplicando o método:
Além disso, o tamanho do passo é dado por
Início
∥∇f (x1 )∥2 152 1
t1 = = [ ][ ] = [ ]=
• Toma-se d⊤ [ ] 2 −1 [ ] 3/2
[ um
] ponto arbitrário no plano, por exemplo 0 Ad0
152 1 1/2
1
1 1/2
10 −1 2 1/2 0
x0 = ;
20
Portanto
• Verifica-se se tal ponto é o minimizador global, ava-
liando nele o gradiente da função: [ ] [ ] [ ] [ ] [ ]
10 2 1 10 1 0
[ ][ ] [ ] [ ] x2 = x1 +t1 d1 = −15 = −10 =
5 3 1/2 5 1/2 0
2 −1 10 0 0
∇f (x0 ) = = ̸=
−1 2 20 30 0 Obviamente, este é o minimizador procurado (pois o mé-
todo tem a propriedade de convergência quadrática, ou
• Já que o gradiente não se anulou no chute inicial, é seja utiliza no máximo n iterações para chegar a solução
preciso escolher uma direção e um comprimento de quando aplicado a funções quadráticas definidas em Rn
passo para determinar a próxima aproximação: )
3.6. ALGORITMO DE POLAK-RIBIÈRE 7

Exercício Primeiro passo: Escolha x0 ∈ Rn Se ∇f (x0 ) = 0


, então pare: x̄ = x0 Senão: d0 = −∇f (x0 ) (como
Implementar o algoritmo de Hestenes-Stiefel em alguma em todo método de descida) Calcular t0 , através de
linguagem de programação, por exemplo em Scilab, ou uma busca linear x1 = x0 + t0 d0 Passo iterativo: Se
Matlab. ∇f (xk ) = 0 , então pare: x̄ = xk Senão: dk =
∥∇f (xk )∥2
−∇f (xk ) + ∥∇f (xk−1 )∥2 dk−1 Calcular tk , através de

Exercício uma busca linear x k+1 = xk + tk dk k = k + 1

Seja f um função quadrática fortemente convexa. Veri-


fique as seguintes igualdades: 3.6 Algoritmo de Polak-Ribière

−∇f (xk )⊤ dk ∥∇f (xk )∥2 Uma outra versão é a seguinte:


• d⊤
= d⊤
k Adk k Adk
Primeiro passo: Tomar x0 ∈ Rn Se ∇f (x0 ) = 0 ,
∇f (xk )⊤ Adk−1 ∥∇f (xk )∥2 então pare: x̄ = x0 Senão: d0 = −∇f (x0 ) (como
• d⊤
= ∥∇f (xk−1 )∥2 em todo método de descida) Calcular t0 , através de
k−1 Adk−1

uma busca linear x1 = x0 + t0 d0 k = 1 Passo


∇f (xk )⊤ Adk ∇f (xk )⊤ (∇f (xk )−∇f (xk−1 ))
• d⊤
= ∥∇f (xk−1 )∥2
iterativo: Se ∇f (xk ) = 0 , então pare: x̄ = xk Senão:
k−1 Adk−1 ⊤
dk = −∇f (xk )+ ∇f (xk ) ∥∇f (∇f (xk )−∇f (xk−1 ))
(xk−1 )∥2 dk−1 Cal-
cular tk , através de uma busca linear xk+1 = xk + tk dk
3.4.2 Implementação em Scilab k =k+1

Abaixo é apresentada uma implementação deste algo-


ritmo na linguagem de programação utilizada pelo Scilab. Exercício
A = [2 1; 1 2]; function [x] =
min_gradiente_conjugado(xk) //Entrada: xk em Verificar que, no caso de uma função f quadrática e for-
R^n, qualquer “chute inicial” // Saída: x, o ponto em temente convexa, os algoritmos de Hestenes-Stiefel, de
que f assume o valor mínimo k = 0 //Indica quantos Fletcher-Reeves e de Polak-Ribière são os mesmos.
loops já foram feitos epsilon = 0.01 n = size(xk,1)
g = df(xk) seq = zeros(n,n+1) seq(:,1) = xk while Exercício
(norm(g) > epsilon) & (k <= n) if (k == 0) d = -g else
d = Hestenes(g,d,A) end t = busca_linear(g,d,A) xk −x x
= xk + t*d k = k+1 seq(:,k+1) = xk g = df(xk) end Seja f (x) = e + e . Implemente o método de gradi-
plot(seq(1,:),seq(2,:)) x = xk endfunction function [fu] entes conjugados, e utilize o algoritmo para determinar
= f(u) fu=(1/2)*(u'*A*u) endfunction function [grf] o ponto de mínimo da função f . Note que o espaço
= df(u) grf = A*u endfunction function [d] = Heste- é unidimensional, então o método de gradientes conju-
nes(g,d,A) d=-g + ((g'*A*d)/(d'*A*d))*d endfunction gados reduz-se ao método dos gradientes, com primeira
function [t] = busca_linear(g,d,A) t=(g'*g)/(d'*A*d) direção −∇f (x0 ) . Observe ainda que f é uma função
endfunction coerciva fortemente convexa.

Para facilitar a compreensão do método, pode ser útil exi-


bir as curvas de nível da função. Uma forma de imple- 3.7 Algoritmo auxiliar
mentar uma função com esse propósito é a seguinte:
Para o caso de funções não quadráticas, é preciso usar
function plotar_curvas qtd=101 tam=max(seq)
algum método de busca linear para a implementação
x=linspace(-tam,tam,qtd) y=x z=zeros(qtd,qtd) for
do método dos gradientes conjugados, seja a versão de
i=1:qtd for j=1:qtd z(i,j)=f([x(i);y(j)]) end end con-
Fletcher-Reeves ou a de Polak-Ribière. Uma possibili-
tour2d(x,y,z,10) a=gca(); a.x_location = “middle";
dade é a busca de linear de Armijo (ver Izmailov & So-
a.y_location = “middle"; endfunction
lodov (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
3.5 Algoritmo de Fletcher-Reeves
Esta versão é na verdade uma extensão do algoritmo an- com:
terior, permitindo a aplicação no caso de funções que não
são quadráticas. • pred = −tθ
8 CAPÍTULO 3. MÉTODO DE GRADIENTES CONJUGADOS

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

• θ′ (t) = ∇f (x + td)⊤ d
Capítulo 4

Métodos de Penalidades
{
Os métodos que recebem este nome fazem parte de uma (P D) minf (x) + IC (x)
família de métodos baseados em: x ∈ Rn
Considerando iC : R 7→ R ∪ {∞} definida por:
• Simplicidade conceitual;
• Eficiência prática; {
0, se t ≤ 0
iC (t) =
Algumas das primeiras funções de penalidade foram de- ∞, se t > 0
senvolvidas por: Tem-se ainda o problema (PP), dado por:
{ ∑p ∑p
minf (x) + i=1 i(gi (x)) + j=1 i(hj (x))
• Courant (1943) (P P )
x ∈ Rn
• Ablate Brighham (1955) (qual o artigo?) Comentários:
• AV Fiacco, GP McCormick (1968) (qual o artigo?)
• A grande vantagem desta idéia é que ela transforma
Para compreender este tipo de método, será considerado um problema com restrições em um problema irres-
o seguinte problema: trito.

 minf (x) • A principal desvantagem é que a função ϕ definida
(P ) gi (x) ≤ 0∀i = 1, . . . , p a seguir é descontínua em cada ponto x ∈ ∂C :

hj (x) = 0∀j = 1, . . . , q
ϕ : Rn 7→ R ∪ {∞}
Adicionalmente, se for considerado o conjunto de pontos
C = {x ∈ Rn : gi (x) ≤ 0, ∀i = 1, . . . , p; hj (x) = ∑p ∑p

0, ∀j = 1, . . . , q} , o problema (P) se escreve ainda como ϕ(x) = f (x) + i(gi (x)) + i(hj (x))
{ i=1 j=1
minf (x)
(P )
x∈C
Uma primeira idéia para a resolução desse tipo de pro- 4.1 Método de penalidade exterior
blema é fazer uso de funções indicadoras, conforme é
definido a seguir: Para contornar a desvantagem da descontinuidade da fun-
ção apresentada anteriormente, surgem outras funções,
Definição como por exemplo:

Dado um conjunto não vazio C ⊂ Rn , define-se a função


indicadora IC : Rn 7→ R ∪ {∞} por: H : R 7→ R
{
0, se t ≤ 0
{ H(t) = 2
t , se t > 0
0, se x ∈ C
IC (x) =
∞, se x ̸∈ C Definição
Notas: A função indicadora IC é às vezes denotada por Dada uma função g : A 7→ R , definida em um conjunto
χC . arbitrário A , define-se a parte positiva de g , como:
Para transformar um conjunto (P) em um problema sem
restrições, pode-se proceder da seguinte maneira: Consi-
derar o problema (PD), dado por: g + (x) = max{0, g(x)}

9
10 CAPÍTULO 4. MÉTODOS DE PENALIDADES

H do conceito anterior, no contexto dos métodos de penali-


4 H(t) dade.

3 Exercício

Verifique que θ é uma função coerciva se, e somente se,


2
Lθ (λ) = {x ∈ Rn : θ(x) ≤ λ} é limitado para todo
λ∈R.
1
Exercício
t
Verifique que H : Rn 7→ R definida por H(x) =
-2 -1 1 2 3 ∑p ( + )2 ∑q 2
i=1 gi (x) + j=1 (hj (x)) é uma função de pe-
-1 nalidade exterior, onde conforme anteriormente, gi+ é a
parte positiva de gi .
Gráfico de uma função de penalidade
Exercício

Exercício
Verifique que se g : Rn 7→ R é uma função contínua
coerciva, então existe x̄ ∈ Rn tal que g(x̄) ≤ g(x), ∀x ∈
Verifique que para cada x ∈ Rn tem-se, para cada i , a
( )2 Rn .
igualdade H(gi (x)) = gi+ (x) , onde gi+ é a parte po-
sitiva de gi e H é a função definida no exemplo anterior.
4.1.1 Alguns conceitos da topologia
Exercício
Em algumas situações, é interessante ter em mente que
) x ∈ R tem-se,
Verifique que( para cada n
para cada j , a certos conceitos definidos no contexto da Otimização são,
2
2
igualdade H hj (x) = (hj (x)) . na verdade, instanciações de conceitos mais gerais, mui-
tos deles provenientes da topologia. Alguns exemplos são
A idéia de aplicar penalizações aos pontos que não per-
apresentados a seguir.
tencem ao conjunto viável é formalizada na seguinte de-
finição:
Definição
Definição
Dado um conjunto X , uma coleção Γ ⊂ P de subcon-
Seja H : R 7→ R . A função H é chamada de função de
n juntos de X é chamada de topologia se:
penalidade exterior se possui as seguintes propriedades:
• ∅, X ∈ Γ
• H(x) ≥ 0, ∀x ∈ Rn
• {Ai }i∈I ⊂ Γ ⇒ ∪i∈I Ai ∈ Γ
• H(x) = 0, ⇔ x ∈ C p
• {Bi }i=1 ⊂ Γ ⇒ ∩pi=1 Bi ∈ Γ
• H é contínua
Exemplos
Nota: Lembre-se que C = {x ∈ Rn : gi (x) ≤ 0, ∀i =
1, . . . , p; hj (x) = 0, ∀j = 1, . . . , q} é o conjunto viável • Topologia euclidiana:
do problema (P).
Em particular, as funções H ◦ gi são funções de penali- X = R
dade exterior.
Γ = Γ1 = {∅}∪{X}∪{A ⊂ R : ∀x ∈ A, ∃ϵx > 0, (x − ϵx , x + ϵx ) ⊂ A}
Definição Em outras palavras, a topologia euclideana é a coleção
de todos os conjuntos abertos contidos em R . Pode-se
Seja θ : Rn 7→ R . A função θ é dita coerciva se verificar com facilidade que de fato são satizfeitas as três
lim∥x∥→∞ θ(x) = +∞ propriedades que definem uma topologia.
Nota: Conforme o Wikcionário, o termo coercivo signi- Outro exemplo muito comum é o seguinte:
fica: que coage; que reprime; que impõe pena; coerci-
tivo. Nesse sentido, esse é um termo adequado ao tratar • Topologia euclideana estendida:
4.1. MÉTODO DE PENALIDADE EXTERIOR 11

X = R ∪ {∞} 1. H é uma função de penalidade exterior


Γ = Γ1 ∪ {A ⊂ R ∪ {∞} : ∃a ∈ R, A = ]a, ∞]} 2. m > −∞
Em geral, a noção de limite seria caracterizada topologi-
camente da seguinte forma: 3. φ(x, r) = f (x), ∀x ∈ C, ∀r > 0

4. Se 0 < r < s então m(s) < m(r)


Definição
5. Se f, gi , hj são covexas, então φ é convexa.
limn→∞ xn = a ⇔ ∀I ∋ x, ∃n0 ∈ N, ∀n ≥ n0 ⇒
xn ∈ I 6. Se f, gi , hj são diferenciáveis, então φ é dife-
renciável em x , e ∇
∑ x φ(x, r) = ∇f (x) +

p + q
i=1 gi (x)∇g i (x) + j=1 hj (x)∇hj (x)
4.1.2 De volta ao método
7. Se 0 < rk+1 < rk e limk→∞ rk = 0 e se {xk }
Uma vez apresentados os conceitos iniciais, pode-se pro- é uma sequência tal que φ(xk , rk ) = m(rk ) e
var o seguinte teorema: limk→∞ xk = x̄ então x̄ é solução de (P).

Teorema
4.1.3 Algoritmo de penalidade exterior
Considere:
Primeiro passo: Escolha x0 ∈ Rn , r > 0 e k = 1
• H : Rn 7→ R uma função de penalidade exterior; Passo iterativo
{ k : Calcular xk = x̄(rk ) , solução glo-
1
min φ(x, rk ) = f (x) + 2r H(x)
bal de (P ) Esco-
• f : R 7→ R uma função contínua; x ∈ Rn
lha rk tal que 0 < rk < rk−1
• C = {x ∈ Rn : gi (x) ≤ 0, ∀i =
1, . . . , p; hj (x) = 0, ∀j = 1, . . . , q} um conjunto Nota: Neste algoritmo, H é uma função de penalidade
fechado; exterior.

• {rk } uma sequência de termos positivos tal que


Exercício
limk→∞ rk = 0 .

Suponha que é válida uma das seguintes propriedades: Sejam f (x, y) = x2 + y 2 e C = {(x, y) ∈ R2 : −x ≤
0; −y{ ≤ 0; x + y − 1 ≤ 0} . Considere o problema:
1. f é coerciva. min f (x, y)
(P ) Utilize o método de penalidade ex-
(x, y) ∈ Rn
2. C é limitado e H é coerciva. terior para determinar o ponto de mínimo da função f
sobre o conjunto C .
Se, para cada k , for escolhido x̄(rk ) ∈ arg min{f (x) +
1
rk H(x)} ,então:
4.1.4 Implementação do algoritmo de pe-
1. {x̄(rk )} possui algum ponto de acumulação; nalidade exterior em SciLab
2. Todo ponto de acumulação de {x̄(rk )} é solução do
Considerando o problema
problema (P);
3. limk→∞ H(x̄(rk )) = 0 . 
 minf (x)
Exercício (P ) gi (x) ≤ 0∀i = 1, . . . , p

hj (x) = 0∀j = 1, . . . , q
Dado o problema (P), considere m =
inf {f (x) : gi (x) ≤ 0, ∀i e hj = 0, ∀j} (isso não com f uma função quadrática, A simétrica positiva defi-
quer dizer que o problema tenha solução). suponha- nida, gi , hj lineares, e a função de penalidade, H , dada
se que f, g e h são funções contínuas e que por:
C = {x : gi (x) ≤ 0, ∀i; hj (x) = 0, ∀j} seja não
vazio, ou seja, que ∑C é factível. Tome∑H : Rn 7→ R
como H(x) =
p + 2 q 2 ∑
p ∑
q
i=1 [gi (x)] + j=1 [hj (x)] , H(x) = (gi+ (x, y))2 + (hj (x, y))2
+
onde gi denota a parte positiva de gi , como de cos- i=1 j=1
tume. Considere ainda φ : Rn × R+ 7→ R dada por
φ(x, r) = f (x) + 1r H(x) e, para cada r > 0 , seja Pode-se usar o método dos gradientes conjugados para
m(r) = infx∈Rn φ(x, r) Nessas condições, provar que: resolver o seguinte problema:
12 CAPÍTULO 4. MÉTODOS DE PENALIDADES

Se diz que uma função B : C 0 7→ R é uma função de


{ barreira se ela possui as seguintes propriedades:
minf (x) + H(x)
(P )
x ∈ Rn
1. B é limitada inferiormente em C .
onde f + H terá sua matriz Hessiana definida positiva.
2. Para qualquer sequência {xn } ⊂ C 0 tal que
limn→∞ xn = x ∈ ∂C vale limn→∞ B(xn ) =
+∞
4.2 Método de penalidade interior
3. B é contínua
Este método também é conhecido como método de bar-
reira. Ele consiste em trabalhar com funções de penali- 4.2.2 Algoritmo de barreira
dade tais que ∀x ∈ ∂C e qualquer que seja a sequência
{xn } ⊂ C = {x : gi (x) < 0} para a qual xn → x , se Primeiro passo: Escolha x ∈ C 0 , r > 0 e t > 0
0 0
tem que a função de penalidade tende a +∞ . Passo iterativo k : Calcular x = x̄(t ) , solução
{ k+1 k
Mas como conseguir esse tipo de função? min f (x) + tk B(x)
global de (P ) Escolha tk+1 tal que
x ∈ C0
0 < tk+1 < tk
4.2.1 Exemplos Observação: Neste método os termos da sequência {xn }
estão sempre em C 0 .
Considere o caso em que gi (x) = a⊤
i x − bi . Lembrando
que a função logarítmica tem a propriedade:
4.2.3 Implementação do algoritmo de bar-
reira em SciLab
lim − ln(x) = +∞
x→0+
∑p Considerando o problema

pode-se tomar H1 (x) = − i=1 ln(bi − ai x) , pois
{
minf (x)
lim − ln(bi − a⊤ gi (x) ≤ 0∀i = 1, . . . , p
i x) = +∞
a⊤
i x→bi
pode-se usar o método de barreira no conjunto:
implica que

C = {x ∈ Rn : gi (x) ≤ 0}
lim H1 (x) = +∞
x→∂C Pode-se usar qualquer das funções de penalidade interior
apresentadas, por exemplo:
Analogamente, tem-se

1 ∑
p
1
lim+ = +∞ B(x) =
x→0 x i=1
gi (x)

então, uma∑outra função com a propriedade desejada é ou ainda


p 1
H2 (x) = i=1 bi −a ⊤x .
i

O problema a ser resolvido quando se quer aplicar o mé- ∑


p
todo de barreira é o seguinte: B(x) = − ln(−gi (x))
i=1
{ Como C 0 = {x ∈ Rn : gi (x) < 0} , o problema passa
min f (x)
(P ) a ser:
gi (x) ≤ 0; i = 1, . . . , p

onde C = {x : gi (x) ≤ 0, ∀i} é tal que C 0 = {x : {


gi (x) < 0, ∀i} ̸= ∅ minf (x) + B(x)
x ∈ C0
Observação: C 0 não é necessariamente igual ao interior
do conjunto C . Por exemplo: Observação: Note que é necessário conhecer um ponto
inicial x0 ∈ C 0 , para servir de primeira aproximação,
Definição ou ponto de partida para o algoritmo.
Capítulo 5

Métodos de Região de Confiança

Considere o seguinte problema de programação diferen- A busca de Armijo consiste em tomar t > 0 .
ciável não linear sem restrições:
Se f (x+td)−f
t
(x)
> αθ′ (0) > θ′ (0)
{ Mas como θ′ (0) = limt→0 f (x+td)−f
t
(x)
, então existe
min f (x)
(P ) algum t > 0 tal que vale f (x+td)−f (x)
≤ αθ′ (0) . A tal
x ∈ Rn t
ponto, chama-se ponto de Armijo.
onde f : Rn 7→ R é de classe C 2 (Rn ) .
Observação: Como f não é necessariamente convexa, a
matriz ∇2 f (x) 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 qua-


drático e uma região de confiança

este princípio pode ser considerado como uma extensão


da busca de Armijo unidimensional.
Introduzindo as seguinte notação

5.1 Breve revisão da busca de Ar-


mijo
a pergunta é:
Para entender a geometria do método de região de con-
fiança, é bom lembrar a geometria da busca de Armijo Quando um ponto t vai ser ponto de Armijo
unidimensional. com essa notação?
Seja d uma direção de descida de uma função f a partir
do ponto x . Então ∇f (x)⊤ d < 0 . Agora, considerando Tem-se:
θ : R 7→ R , definida por θ(t) = f (x + td) , tem-se:

θ′ (t) = ∇f (x + td)⊤ d . Assim, θ′ (0) = α · pred = −αtθ′ (0) ≤ f (x) − f (x + td) = ared
∇f (x)⊤ d < 0 . Se α ∈ (0, 1) , então
θ′ (0) < αθ′ (0) < 0 . Logo, se α · pred ≤ ared segue que t é um ponto de
Armijo.
Exercício Observações: Note que a essência da busca linear de Ar-
f (x+td)−f (x)
mijo é construir um modelo linear e um intervalo com-
Mostrar que sempre existe t > 0 tal que t = pacto [0, t] , sendo t > 0 e o ponto inicial da busca e logo
θ(t)−θ(0)
t−0 ≤ αθ′ (0) . procurar o ponto de Armijo em [0, t] .

13
14 CAPÍTULO 5. MÉTODOS DE REGIÃO DE CONFIANÇA

5.2 De volta ao método com r > 0 .


Este é o problema que será tratado a seguir.
O método de região de confiança será uma generalização
da busca de Armijo, consistindo da construção de um mo- Exercício
delo quadrático e uma região R , chamada de região de
confiança, e nessa região calcular o novo iterando.
Provar que (P Q) sempre tem solução.
O exercício anterior garante que o método está bem defi-
5.2.1 Algoritmo da região de confiança nido, quer dizer, todas as etapas podem ser realizadas.

Primeiro passo: Escolha x0 ∈ Rn , r > 0 , α ∈ (0, 1)


, β ∈ (0, 1) e k = 0 . Passo iterativo k : En-
quanto ∇f (xk ) ̸= 0 , construa o modelo quadrático:
mk (h) {= ∇f (xk )⊤ h + 12 h⊤ Hk h Calcule d , solução
min mk (h)
de (P ) Tome ared = f (xk ) − f (xk + d)
∥h∥ ≤ r
e pred = −mk (d) Se ared
pred > α , 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.

5.2.2 Algoritmo da região de confiança me-


lhorado
Primeiro passo: Escolha x0 ∈ Rn , r > 0 , 0 < α <
γ < 1 , β ∈ (0, 1) , β2 > 1 , ϵ ∈ (0, 1) e k = 0 .
Passo iterativo k : Enquanto ∥∇f (xk )∥ > ϵ , construa
o modelo quadrático: mk (h) = ∇f (xk )⊤ h + 12 h⊤ Hk h
Continue{ = 1 Enquanto (Continue = 1) Calcule d , solução
min mk (h)
de (P ) Tome ared = f (xk )−f (xk +d) e
∥h∥ ≤ r
pred = −mk (d) Se ared
pred > α , fazer xk+1 = xk + d Se
r > γ , r = β2 r ; Continue = 0 k = k+1 Senão r = β1 r

5.3 O subproblema quadrático


Conforme foi explicado, o método das regiões de confi-
ança constrói um modelo quadrático da forma:

1
m(h) = g ⊤ h + h⊤ Hh
2
onde, no método, g = ∇f (xk ) 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 é

{
min m(h)
(P Q)
∥h∥ ≤ r
Capítulo 6

O Problema de Mínimos Quadrados

Este tipo de problema é muito frequente em ciências ex- Note que a partir dessas equações poderiam ser definidas
perimentais. Para ter um exemplo em mente durante a as funções hi como:
discussão que será feita mais adiante, considere as seguin-
tes informações:
h1 (m, n) = 2002m + n − 17734
Segundo dados disponibilizados pelo IBGE, o Produto h2 (m, n) = 2003m + n − 19669
Interno Bruto per capita na cidade de São Paulo, no h3 (m, n) = 2004m + n − 20943
período de 2002 a 2005, foi (em reais): 17734, 19669,
h4 (m, n) = 2005m + n − 24083
20943 e 24083, respectivamente.
É de se esperar que o sistema de equações obtido a pouco
não admitirá uma solução exata, pois se tem mais equa-
Com base nessas informações, como poderia ser feita
ções do que variáveis.
uma previsão do valor correspondente ao ano seguinte
(2006)? Isso geralmente acontece, pois é comum haver uma quan-
tidade p de equações bem maior que o número n de
Uma escolha possível seria supor que a cada ano o PIB
parâmetros a identificar. Em particular, quando todas
aumenta uma aproximadamente constante, ou seja, usar
as equações hi são lineares em suas n variáveis, dificil-
um modelo linear para obter tal estimativa (que possivel-
mente existirá uma solução exata para o sistema linear
mente será bem grosseira). Intuitivamente, bastaria ana-
resultante, pois este terá mais equações do que incógnitas
lisar os dados disponíveis e a partir deles deduzir qual
(como no exemplo). Em geral, não é possível encontrar
é o aumento que ocorre a cada ano. Depois, a previ-
parâmetros que satisfaçam exatamente todas as equações.
são para 2006 seria aproximadamente igual à de 2005
Por isso, costuma-se tentar identificar os parâmetros que
somada com aquele aumento anual.
“melhor se aproximam” de uma solução exata, em algum
Esta idéia poderia até funcionar para o caso deste exem- sentido.
plo, mas o que fazer se a quantidade de dados disponíveis
Uma forma de obter uma solução aproximada (uma
sobre algum fenômeno (ou alguma situação) for significa-
“quase-solução”) resulta da seguinte observação: o va-
tivamente maior?
lor de cada função hi em uma solução exata x deveria
A melhor escolha, sem dúvida, é fazer uso de um compu- ser zero. Se tal exigência é restritiva demais, e com ela
tador para obter o modelo que melhor descreve o “com- não é possível encontrar qualquer solução, uma possibili-
portamento” dos dados experimentais. dade seria exigir um pouco menos. Por exemplo, poderia
Em geral, os problemas de mínimos quadrados consistem ser exigido apenas que o valor de hi , para i = 1, . . . , p
em identificar os valores de determinados parâmetros, de seja, em geral, pequeno. Uma das formas de capturar essa
modo que se satisfaçam certas equações hi (x) = 0, i = idéia em termos mais precisos é dizer que se pretende mi-
1, . . . , p . No contexto do exemplo anterior, se procura nimizar a soma dos quadrados dos valores de cada hi .
um modelo linear para os dados, ou seja, uma função y = Em símbolos, o problema passaria a ser:
mx+n que os descreva da melhor forma possível. Assim,
os parâmetros a considerar são m e n . Os valores ideais ∑
p
2
para essas variáveis seriam aqueles que verificassem as minn [hi (x)]
x∈R
seguintes equações: i=1

 6.1 O caso linear



 2002m + n = 17734

2003m + n = 19669
 2004m +n = 20943 Neste caso, para cada índice i = 1, . . . , p , a função hi é


2005m + n = 24083 afim linear, ou seja:

15
16 CAPÍTULO 6. O PROBLEMA DE MÍNIMOS QUADRADOS

hi : Rn 7→ R 0 = ∇f (x) = A⊤ Ax + A⊤ b

hi (x) = a⊤
i x + bi Deste modo, a solução do problema é obtida resolvendo
o sistema
onde ai ∈ R e bi ∈ R para cada i = 1, . . . , p . Deste
n

modo, pode-se definir uma função H como

A⊤ Ax = −A⊤ b
H : Rn 7→ Rp Observe também que isso implica A⊤ (Ax + b) = 0 , ou
   ⊤   ⊤   seja, Ax + b ∈ ker(A⊤ ) .
h1 (x) a1 x + b1 a1 b1
   ..   ..   .. 
H(x) =  ...  =  .   . 
= x + .
hp (x) a⊤
p x + bp a⊤
p bp 6.1.1 Exemplo de aplicação
Motivando a introdução da seguinte notação:
Considere dado um conjunto de pontos do plano R2 , por
exemplo {(xi , yi )}pi=1 , representando dados obtidos ex-
 ⊤   perimentalmente.
a1 b1
   
A =  ... , b =  ...  Perguntas:
a⊤
p bp
1. Qual é a função afim linear que melhor se
Assim, aproxima dos dados experimentais?

2. Qual é a função quadrática que melhor se


H(x) = Ax + b aproxima dos dados experimentais?

Logo, buscar uma solução exata é o mesmo que procurar Exercício


uma solução para o seguinte sistema linear:
Explorar o exemplo anterior com dados concretos, imple-
mentando um dos três métodos de gradientes conjugados.
Ax = −b

E uma solução aproximada poderia ser buscada a partir Observações


do seguinte problema de minimização:
Conforme se aumenta o grau do polinômio que faz a apro-
ximação dos dados, as colunas de A têm elementos ele-
1 vados a potências cada vez maiores, fazendo com que os
min ∥Ax + b∥2
x∈Rn 2 autovalores de A⊤ A sejam cada vez mais dispersos. Com
isso, A⊤ A torna-se mal condicionada.
Exercício
Exercício
Verifique que se houver uma
∑p solução exata, ela também
2
será um minimizador de i=1 [hi (x)] . A recíproca é
É possível, usando o problema de mínimos quadrados,
verdadeira?
verificar o postulado de Euclides que diz que “por dois
Analisando a função objetivo do problema de minimiza- pontos distintos passa uma única reta"?
ção anterior, tem-se:
Exercício
1 1 1 1 ⊤
f (x) = ∥Ax+b∥2 = ⟨Ax+b, Ax+b⟩ = x⊤ A⊤ Ax+bUsando ⊤
Ax+o problema
b b de mínimos quadrados, é possível in-
2 2 2 2
ferir que “por três pontos distintos passa uma única curva
Logo, como B = A⊤ A é simétrica e semi-definida posi- quadrática"?
tiva, tem-se f convexa. Isso implica que a condição ne-
cessária de primeira ordem é também suficiente. Assim,
qualquer ponto x ∈ Rn tal que ∇f (x) = 0 é solução do 6.2 O caso não linear
problema aproximado.
Calculando o gradiente da função objetivo tem-se: Para esse tipo de problemas, há dois métodos:
6.2. O CASO NÃO LINEAR 17

1. Gauss-Newton Algoritmo de Newton (puro)

2. Levemberg-Marquardt Início: Tome x0 ∈ Rn Se ∇f (x0 ) = 0 , pare: x0 é ponto


crítico. Senão, Calcule d0 , solução de ∇2 f (x0 )d0 =
−∇f (x0 ) Faça x1 = x0 + d0 e k = 1 Iteração: Se
Ambos são métodos do tipo Newton. Então, para enten- ∇f (xk ) = 0 , pare: xk é ponto crítico. Senão, calcular
der cada um deles é preciso entender o Método de New- dk , solução de ∇2 f (xk )dk = −∇f (xk ) Faça xk+1 =
ton. xk + dk e k = k + 1
Voltando ao problema original, de mínimos quadrados,
se tinha:
6.2.1 O método de Newton

Para entender a essência do método de Newton, primeiro 1∑


p
2
considere que o problema a ser resolvido é f (x) = [hi (x)]
2 i=1

{ Calculando o gradiente desta função, resulta:


min f (x)
(P )
x ∈ Rn

p
∑p ∇f (x) = hi (x)∇hi (x)
sendo hj : Rn → R , e portanto f = 2 j=1 [hj ]2 de
1
i=1
classe C 2 (Rn ) . A idéia de Newton é usar o desenvolvi-
Considera-se H : Rn 7→ Rp definida por
mento até segunda ordem da série de Taylor da função f
em cada ponto iterado. Isto é, se o iterado é x̄ , então:
 
h1 (x)
 
H(x) =  ... 
⊤ 1 2
Q(x) = f (x̄)+∇f (x̄) (x−x̄)+ (x−x̄)∇ f (x̄)(x−x̄) hp (x)
2
Deste modo, a Jacobiana de H verifica:
Então a condição de Newton é que em cada iteração a
Hessiana ∇ f deve ser definida positiva.
2

Calculando o gradiente da função Q , segue: ∇f (x) = [JH (x)] H(x)


pois o produto de uma matriz por um vetor tem como
resultado um vetor que é a combinação linear das colunas
∇Q(x) = ∇f (x̄) + ∇2 f (x̄)(x − x̄) da matriz, com coeficientes que são as coordenadas do
vetor.
Se x∗ é o (único) minimizador de Q , então
Além disso, tem-se

0 = ∇Q(x∗ ) = ∇f (x̄) + ∇2 f (x̄)(x∗ − x̄) ∑


p ∑
p
∇2 f (x) = hi (x)∇2 hi (x) + ∇hi (x)∇hi (x)⊤
i=1 i=1
donde
Seja

∇2 f (x̄)(x∗ − x̄) = −∇f (x̄) ∑


p
B(x) = ∇hi (x)∇hi (x)⊤ = JH (x)JH (x)⊤
Sendo ∇ f definida positiva, tal matriz é também inver-
2 i=1
sível. Portanto: Sabe-se que uma matriz D é definida positiva se xt Dx >
0 para qualquer x ̸= 0 . Fazendo D = ∇hi (x)∇hi (x)⊤
, tem-se:
[ ]−1
x∗ = x̄ − ∇2 f (x̄) ∇f (x̄)
[ ]2
Assim, pode-se usar a seguinte iteração: x⊤ ∇hi (x)∇hi (x)⊤ x = ∇hi (x)⊤ x ≥ 0
Para que D seja definida positiva, é necessário que
[ ]−1 SP (∇hi (x)) = Rn ( deve gerar todo o espaço), neste
xk+1 = xk − ∇2 f (xk ) ∇f (xk ) caso, se diz que JH (x) é de posto máximo.
18 CAPÍTULO 6. O PROBLEMA DE MÍNIMOS QUADRADOS

6.2.2 Algoritmo de Gauss-Newton


Início: Tome x0 ∈ Rn Se ∇f (x0 ) = 0 , pare: x0 é
ponto crítico. Senão, Calcule
∑dp0 , solução de B(x0 )d0 =
−∇f (x0 ) , onde B(x) = i=1 ∇hi (x)∇hi (x)⊤ Faça
x1 = x0 + d0 e k = 1 Iteração: Se ∇f (xk ) = 0 ,
pare: xk é ponto crítico. Senão, calcular dk , solução de
B(xk )dk = −∇f (xk ) Faça xk+1 = xk +dk e k = k+1

6.2.3 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: Tome x0 ∈ Rn Se ∇f (x0 ) = 0 , pare:
x0 é ponto crítico. Senão, Calcule d0 , solu-
ção de (B(x
∑p 0 ) + ρI) d0 = −∇f (x0 ) , onde

B(x) = i=1 ∇h i (x)∇h i (x) Faça x1 = x0 + d0
e k = 1 Iteração: Se ∇f (xk ) = 0 , pare: xk
é ponto crítico. Senão, calcular dk , solução de
(B(x0 ) + ρI) dk = −∇f (xk ) Faça xk+1 = xk + dk e
k =k+1

Exercício

Enumere as diferenças que existem nos seguintes algorit-


mos:

• Newton
• Gauss-Newton

• Levenberg-Marquardt
Capítulo 7

O Teorema de Karush, Kuhn e Tucker

Neste capítulo o objetivo é desenvolver algumas ideias e


provar o teorema de Karush–Kuhn–Tucker (também
chamado simplesmente de teorema KKT) que será utili-
zado no capítulo seguinte para explorar os métodos duais.
O teorema KKT é bem útil para resolver problemas do
tipo


 min f (x)
(P ) gi (x) ≤ 0; i = 1, . . . , p

hj (x) = 0; j = 1, . . . , q

7.1 Cones
Definição

Um conjunto C ∈ Rn é um cone quando

d ∈ C ⇒ td ∈ C, ∀t ∈ R+ Exemplo de um cone no R2 .

Em outras palavras, a propriedade que caracteriza um


cone é que este tipo de conjunto contém todos os múlti- a igualdade valesse. Mas será que isso ocorre para algum
plos não nulos de qualquer de seus elementos. conjunto? A resposta é sim e, conforme o próximo lema,
basta que C seja um cone convexo fechado.
Definição
Lema (Farkas)
Dado um subconjunto C ⊂ R , o cone polar de C é o
n

conjunto definido por Se C ⊂ Rn um cone convexo fechado, então C = (C ∗ )∗


.

C ∗ = {p ∈ Rn : p⊤ x ≤ 0, ∀x ∈ C} Definição
Observações:
Dado x ∈ C , se diz que d ∈ Rn é uma direção viável
• C ∗ é um cone: Se d ∈ C ∗ tem-se que d⊤ x ≤ em x , com respeito a C , quando existe ϵ > 0 tal que
0, ∀x ∈ C . Logo, para qualquer t ∈ R+ , vale
(td)⊤ x = td⊤ x ≤ 0, ∀x ∈ C . Disto segue que
td ∈ C ∗ , mostrando que C ∗ é um cone.
x + td ∈ C, ∀t ∈ [0, ϵ]
• Sempre se tem que C ⊆ (C ∗ )∗ (Verifique).
O conjunto de todas as direções viáveis em x
Na segunda propriedade a igualdade pode não ocorrer , com respeito ao conjunto C , será denotado
(exemplo?). Para o objetivo deste texto, o ideal seria que por VC (x) .

19
20 CAPÍTULO 7. O TEOREMA DE KARUSH, KUHN E TUCKER

Esse conjunto VC (x) é o cone das direções viáveis em x ∇gj (x)⊤ (αy+(1−α)w) = α∇gj (x)⊤ y+(1−α)∇gj (x)⊤ w ≤ α0+(1−α
, com respeito a C .
Portanto αy + (1 − α)w ∈ L(x, C) mostrando que
L(x, C) é convexo.
Definição
Para mostrar que L(x, C) é fechado, pode-se pegar uma
sequência convergente (dk ) ∈ L(x, C) e mostrar que o
Uma direção d ∈ Rn é uma direção de descida da fun-
ponto de acumulação dela esta em L(x, C) .
ção f em x , se existe ϵ > 0 tal que
Tem-se que ∇hi (x)⊤ dk = 0 e ∇gj (x)⊤ dk ≤ 0, ∀k ∈
N.
Passando o limite com k → ∞ , obtem-se
f (x + td) < f (x), ∀t ∈ (0, ϵ]

O conjunto das direções de descida será deno-


tado por D(x) . 0 = lim ∇hi (x)⊤ dk = ∇hi (x)⊤ lim dk = ∇hi (x)⊤ d
k→∞ k→∞

0 ≥ lim ∇gj (x)⊤ dk = ∇gj (x)⊤ lim dk = ∇gj (x)⊤ d


7.2 Caracterização das direções de k→∞ k→∞

Isso mostra que L(x, C) é fechado.


descida
Lema (Caratheodory)
Lema
Sejam y1 , . . . , ym , w1 , . . . , wp ∈ Rn . Seja x ∈ Rn
Seja f : Rn → R uma função diferenciável em x ∈ Rn . com x ̸= 0 e α1 , . . . , αm , β1 , . . . , βp escalares tais que
Então βj ≥ 0 ∀j = 1, . . . , p e

1. ∇f (x)⊤ d ≤ 0, ∀d ∈ D(x) .

m ∑
p

2. d ∈ R satisfaz ∇f (x) d < 0 ⇒ d ∈ D(x) .
n
x= αi yi + βj wj
i=1 j=1

Então existem subconjuntos I ⊂ {1, . . . , m} ,J ⊂


7.3 O cone viável linearizado {1, . . . , p} e escalares αi∗ com i ∈ I e βj∗ ∀j ∈ J tais
que
Definição
∑ ∗
∑ ∗
x = i∈I αi yi + j∈J βj wj e os vetores
Dado x ∈ C = {x ∈ R ; gi (x) ≤ 0 e hj (x) = 0} , a
n
{yi }i∈I ∪ {wj }j∈J são linearmente indepen-
desigualdade gi (x) ≤ 0 é uma restrição ativa em x se dentes.
gi (x) = 0 .
Definição
Observações
Dado um ponto x ∈ C , se define o cone G(x) por
• O conjunto formado pelos índices das restrições de
desigualdade ativas é denotado por I(x) . Assim,

I(x) = {i : gi (x) = 0} ∑q ∑
G(x) = { αi ∇hi (x)+ βj ∇gj (x) : βj ≥ 0, ∀j ∈ I(x)}
i=1 j∈I(x)
Definição
A seguir, serão mostradas algumas propriedades deste
Dado um ponto x ∈ C e o conjunto I(x) , se define o
cone.
cone viável linearizado de C a partir de x como
Lema
L(x, C) = {d ∈ R : ∇gj (x) d ≤ 0, ∀j ∈ I(x) e ∇hi (x)⊤ d = 0, ∀i = 1, . . . , q}
n ⊤
Para qualquer x ∈ C , G(x) é um cone convexo e fe-
L(x, C) é um cone não-vazio convexo e fechado pois, chado.
0 ∈ L(x, C) . E se y, w ∈ L(x, C) , tem-se
Lema

∇hi (x)⊤ (αy+(1−α)w) = α∇hi (x)⊤ y+(1−α)∇hi (x)⊤Para


w =qualquer x ∈ C=, 0G(x) = L(x, C)∗ .
α0+(1−α)0
7.5. TEOREMA KKT 21

7.4 O cone tangente 1. T (a, C) ⊂ L(a, C) .

2. Se C = {(x, y) ∈ R2 ; x2 + y ≤ 0; x2 − y ≤ 0}
Definição
e a = (0, 0) , então T (a, C) ̸= L(a, C) .

Um vetor d ∈ Rn é chamado direção tangente em C a


Lema
partir de x ∈ C quando ou d = 0 ou ∃(xk ) ⊂ C tal
que
Se a ∈ C é um mínimo local do problema (P), então
∇f (a)⊤ d ≥ 0, ∀d ∈ T (a, C) .
xk → x e ∥xxk −x
k

−x∥
→ d
∥d∥ .

Observações
7.5 Teorema KKT
• O conjunto de todas as direções tangentes no ponto
Teorema (Condições de KKT)
x ∈ C , é denominado cone tangente, e denotado
por T (x, C) .
Seja C = {x ∈ Rn ; gi (x) ≤ 0 e hj (x) = 0} e considere
• Se a ∈ C , então T (a, C) também pode ser descrito a ∈ C um minimizador local do problema
como
{
T (a, C) = {d ∈; ∃{dk } com dk → d; ∃{tk } com tk → 0 que min
tais x = a + tk dk ∈ C, ∀k}
f (x)
(P )
x∈C
Exercício
Se T (a, C)∗ = L(a, C)∗ , então existem u ∈ Rp e v ∈
Verifique que T (a, C) é de fato um cone (e portanto me- R tais que:
q

rece ser chamado de “cone tangente”).


∑p ∑q
1. −∇f (a) = i=1 ui ∇gi (a) + j=1 vj ∇hj (a)
Exemplo de cone tangente 2. ui ≥ 0, ∀i = 1, . . . , p

Determinar o cone tangente ao ponto a = (0, 0) do qua- 3. ui gi (a) = 0, ∀i = 1, . . . , p .


drado unitário com vértices (0, 0) , (0, 1) , (−1, 1) e
(−1, 0) .

Propriedades do cone tangente

O cone tangente definido anteriormente tem as seguintes


propriedades:

1. T (a, C) é fechado e 0 ∈ T (a, C)


2. Se C ⊂ D então T (a, C) ⊂ T (a, D)
3. Se V é uma vizinhança de a , então T (a, C) =
T (a, V ∩ C)

Observação

A terceira propriedade indica que o cone tangente só de-


pende do que ocorre bem perto de a , no conjunto C .

Lema

Para qualquer x ∈ C , T (x, C) é fechado.

Exercício

Verificar que:
Capítulo 8

Métodos Duais

8.1 Lagrangiana 8.2 Condições de otimalidade


O conceito de lagrangiana está sempre relacionado ao se- Para permitir a compreensão da importância da função
guinte problema: 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á

 min f (x) apresentado um breve resumo das condições de otimali-
(P ) gi (x) ≤ 0; i = 1, . . . , p dade, dividindo-as em dois casos:

hj (x) = 0; j = 1, . . . , q
• Caso particular: quando C = {x ∈ Rn ; gi (x) ≤
Definição 0 e hj (x) = 0} é convexo e fechado.
• Caso geral: quando C é arbitrário.
A função lagrangiana associada ao problema (P ) é

8.2.1 Caso particular


l : R × R × R 7→ R
n p q
Proposição

p ∑
q
l(x, u, v) = f (x) + ui gi (x) + vj hj (x) Seja f função de classe C 1 no conjunto C . Se x̄ é um
i=1 j=1 minimizador local de f no conjunto convexo e fechado
C , então:
Em alguns livros é usada a seguinte notação:

⟨∇f (x), x − x̄⟩ ≥ 0, ∀x ∈ C


G : Rn 7→ Rp
  Observação
g1 (x)
 
G(x) =  ...  A condição ⟨u, v⟩ ≥ 0 significa que os vetores u e v
gp (x) formam um ângulo reto ou agudo (menor ou igual a 90
graus), conforme indicado na figura a seguir:
e
No caso específico, com u = ∇f e v = x − x̄ , ⟨u, v⟩
é a derivada direcional de f na direção x − x̄ . Quando
tal número é não negativo, intuitivamente a função cresce
H : Rn 7→ Rq
naquela direção.
 
h1 (x) Quando C é um conjunto convexo e fechado, a existên-
 
H(x) =  ...  cia de uma solução para o problema (P ) é garantida pela
hq (x) seguinte proposição:

Deste modo, a lagrangiana fica expressa por Proposição

Se x̄ ∈ C , f é convexa e
l(x, u, v) = f (x) + u⊤ G(x) + v ⊤ H(x)

que é uma representação bem mais compacta. ⟨∇f (x), x − x̄⟩ ≥ 0, ∀x ∈ C

22
8.2. CONDIÇÕES DE OTIMALIDADE 23

8.2.2 Caso geral


Para tratar este caso, é preciso utilizar o conceito de cone
tangente. O conjunto contínua o mesmo, ou seja, C =
{x ∈ Rn ; gi (x) ≤ 0 e hj (x) = 0} , 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

1. Se x̄ é um minimizador local de f em C , então


⟨∇f (x̄), d⟩ ≥ 0, ∀d ∈ T (x̄, C) .
Em um ponto de mínimo, ∇f sempre forma ângulo menor ou 2. Se C é convexo, f é convexa e ⟨∇f (x̄), d⟩ ≥
igual a 90 graus com os vetores do tipo x − x̄ , onde x̄ é um 0, ∀d ∈ T (x̄, C) , então x̄ é minimizador global
ponto de mínimo da função no conjunto viável C e x é um ponto
de f em C .
qualquer deste conjunto.

Este teorema pode ser demonstrado de forma análoga a


então x̄ é um minimizador global de f no conjunto C (isto que foi feita anteriormente.
é, x̄ é solução de (P ) ). Seja C̃ definido como:
Até aqui, não é exigido que qualquer das funções gi ou
hj sejam diferenciáveis. Isto será utilizado mais adiante,
nos algoritmos. C̃ = C̃a = {x ∈ Rn ; gi (x) ≤ 0, ∀i ∈ I(a); hj (x) = 0}
A próxima proposição fornece uma caracterização dos Pela segunda propriedade do cone tangente, tem-se:
minimizadores, em termos do conceito de projeção.
Lembre-se que a projeção de um ponto ȳ sobre o conjunto
C , denotada por P̄ = PC (ȳ) , satisfaz ⟨P̄ − ȳ, x − P̄ ⟩ ≥ T (a, V ∩ C̃) = T (a, C) = T (a, V ∩ C̃)
0, ∀x ∈ C . Na verdade, vale:
T (a, C) = T (a, C̃)
Em outras palavras, se é dado um conjunto C̃ e depois
P̄ = PC (ȳ) ⇔ ⟨P̄ − ȳ, x − P̄ ⟩ ≥ 0, ∀x ∈ C 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 re-
gularidade das restrições (do inglês, Regularity condi-
tions).

O vetor P̄ − ȳ forma ângulo menor que 90 graus com o vetor Exemplos de condições de qualificação das restrições
x − P̄ , pois P̄ é a projeção de ȳ sobre o conjunto C .
(1) Se gi e hi são funções afim-lineares, então para qual-
quer x ∈ C , tem-se T (x, C) = L(x, C) . Prova-se isso
Proposição trivialmente
(2) Condições de Slater: Se as funções gi são convexas e
Seja α > 0 um número real fixado. as hi são afim lineares e, além disso, existe x̂ ∈ C tal que
gi (x̂) < 0 para todo i , hj (x̂) = 0 , então para qualquer
1. Se x̄ é um minimizador local de f em C , então x ∈ C , tem-se T (x, C) = L(x, C) .
x̄ = PC (x̄ − α∇f (x̄))
(3) Condições de Mangasarian-Fromowitz: Se
2. Se f é convexa e x̄ = PC (x̄ − α∇f (x̄)) , então x̄ {∇hj (x)} é linearmente independente e existe d˜
é um minimizador global de f em C . ˜ = 0 para tpdp j e ⟨∇gi (x), d⟩
tal que ⟨∇hj (x), d⟩ ˜ <0.
24 CAPÍTULO 8. MÉTODOS DUAIS

Teorema (Karush–Kuhn–Tucker) Supondo que f, gi e hj são de classe C 1 em uma vizi-


nhança de x̄ ∈ C e que T (x̄, C) = L(x̄, C) , se x̄ é um
Suponha que f , gi e hj são funções de classe C em uma minimizador
1 local de f em C , então ∃ū ∈ Rp tal que
vizinhança do ponto x̄ e que T (x̄, C) = L(x̄, C) . Se x̄ é ∃v̄ ∈ R de modo que:
q

um minimizador local de f em C , então existem u ∈ Rp


e v ∈ Rq tais que: 1. ∇x l(x̄, ū, v̄) = 0

∑p ∑q 2. ū ≥ 0
1. ∇f (x̄) + i=1 ui ∇gi (x̄) + j=1 vj ∇hj (x̄) = 0
3. ∇u l(x̄, ū, v̄) ≤ 0
2. ui ≥ 0, ∀i = 1, . . . , p
4. ū⊤ ∇u l(x̄, ū, v̄) = 0
3. ui gi (x̄) = 0, ∀i = 1, . . . , q
5. ∇v l(x̄, ū, v̄) = 0

Note que aqui aparece a lagrangiana, pois a primeira con-


dição é equivalente a:
8.3 Uma inequação sobre ínfimos e
supremos
∇x l(x, u, v) = 0
Teorema
O essencial para a existência de l(u, v) é que T (x̄, C) =
L(x̄, C) . Sejam X ⊂ Rn e Y ⊂ Rm dois subconjuntos arbitrários
e considere uma aplicação K : X × Y 7→ R . Então
Teorema

Suponha-se que f , gi e hj são funções de classe C 1 em −∞ ≤ y∈Ysup inf K(x, y) ≤ inf sup K(x, y) ≤ +∞
x∈X x∈X y∈Y
uma vizinhança de x̄ , que f e gi são convexas e que hj
são afim-lineares. são funções de classe C 1 . Se existem Exercício
u ∈ Rp e v ∈ Rq tais que:

∑p ∑q Verifique que:
1. ∇f (x̄) + i=1 ui ∇gi (x̄) + j=1 vi ∇hj (x̄) = 0

2. ui ≥ 0, ∀i = 1, . . . , p −∞ ≤ sup infn l(x, u, v) ≤ infn sup l(x, u, v) ≤ +∞


u≥0 x∈R x∈R u≥0
3. ui gi (x̄) = 0, ∀i = 1, . . . , p v∈Rq v∈Rq

4. gi (x̄) ≤ 0, ∀i = 1, . . . , p Defina-se a função:

5. hj (x̄) = 0, ∀j = 1, . . . , q
α : Rn 7→ R ∪ {+∞}
A partir deste teorema são construídos alguns algoritmos.
α(x) = sup l(x, u, v)
Considere o seguinte problema: u≥0
v∈Rq

e também

 min f (x)
gi (x) ≤ 0; i = 1, . . . , p

hj (x) = 0; j = 1, . . . , q β : [0, +∞)p × Rq 7→ R ∪ {−∞}

Sabe-se que l : Rn × Rp × Rq 7→ R dada por β(u, v) = infn l(x, u, v)


x∈R

Conforme o exercício anterior, tem-se então



p ∑
q
l(x, u, v) = f (x) + ui gi (x) + vj hj (x)
i=1 j=1 −∞ ≤ sup β(u, v) ≤ infn α(x) ≤ +∞
u≥0 x∈R
Agora, tem-se as KKT: v∈Rq

Observando a relação entre essas funções, é natural con-


Teorema siderar dois problemas de otimização:
8.4. PONTO DE SELA 25

Dado o problema (P ) e a lagrangiana l associada à esse


{ problema, se diz que (x̄, ū, v̄) é um ponto de sela de l se
min α(x)
(P r) ū ≥ 0 e:
x ∈ Rn
e
l(x̄, u, v) ≤ l(x̄, ū, v̄) ≤ l(x, ū, v̄), ∀x ∈ Rn , ∀u ≥ 0, ∀v ∈ Rq

max β(u, v)
Teorema
(D) u≥0

v ∈ Rq
O ponto (x̄, ū, v̄) é um ponto de sela de l se, e somente
Comentários se:

1. As funções α e β são conhecidas na literatura como 1. x̄ é solução de (P r) ;


funções em dualidade (ou mais frequentemente,
funções duais); 2. (ū, v̄) é solução de (D) ;

2. O problema (P r) é conhecido como problema pri- 3. ᾱ = β̄ .


mal, enquanto (D) é chamado de problema dual;
3. Fazendo ᾱ = infx∈Rn α(x) e β̄ = sup u≥0 β(u, v) 8.4.1 Exemplos
v∈Rq
, segue-se do exercício anterior que β̄ ≤ ᾱ ;
Considere novamente o problema de otimização dado
4. A diferença ᾱ − β̄ é chamada de brecha de duali- por:
dade, ou salto de dualidade (do inglês, skip duality);
{
Exercício min x2
{ 1≤x≤2
f (x) , se x ∈ C
Verifique que: α(x) =
+∞ , se x ̸∈ C Verificar se a lagrangiana associada à (P ) tem ponto de
sela.
Exercício

Verifique que (D) consiste de maximizar uma função


8.4.2 Análise do problema
côncava em um poliedro. Lembre-se:
Considerando (P ) , (P r) , (D) e l , se (ū, v̄) é uma so-
lução do problema dual, considere o seguinte problema:
1. Uma função f é côncava quando −f for
convexa.
{
2. Um poliedro é qualquer intersecção finita min l(x, ū, v̄)
de semiespaços fechados. (Pū,v̄ )
x∈R

que no caso do exemplo reduz-se a


8.3.1 Exemplo numérico: problema pri-
mal e seu dual
{
min x2 + 2(1 − x)
Considere o problema (Pū,v̄ )
x∈R

{ A solução deste problema é obtida resolvendo 2x−2 = 0


min x2 , sendo portanto x = 1 . Note que esta é a solução do
(P )
1≤x≤2 problema primal (P r) (e consequentemente do problema
original (P ) ).

8.4 Ponto de sela 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?
Este é um conceito muito importante relacionado à la-
grangiana. A resposta será dada pelo próximo teorema. Acompanhe.

Definição Teorema (dualidade lagrangiana convexa)


26 CAPÍTULO 8. MÉTODOS DUAIS

Suponha-se que f, gi : Rn 7→ R são de classe C 1 e con- Experimente escolher x ∈ R5 e uma transformação li-
vexas, e que as funções hj são afim lineares e T (x, C) = near, e um poliedro (intersecção finita de semi-espaços).
L(x, C), ∀x ∈ C . Nestas condições: É difícil de resolver o problema primal. Tente resolver o
dual, usando os métodos conhecidos.
1. Se o problema (P ) tem solução, então ᾱ = β̄ e os A seguir será apresentada uma proposição que responde
problemas (P r) e (D) têm solução. a uma pergunta deixada anteriormente:

2. Se (P ) tem solução, e (ū, v̄) é solução de (D) , en- Proposição


tão as soluções de (P r) são as soluções de (Pū,v̄ ) ,
onde
Considere o problema (P ) a lagrangiana l e os problemas
{ em dualidade (P r) e (D) e (ū, v̄) soluções de (D) . Se
min l(x, ū, v̄) x̄ é solução do problema
(Pū,v̄ )
x∈R

que também são as soluções de (P ) . {


min l(x, ū, v̄)
(Pū,v̄ ) ,
Antes da demonstração, vale a pena imaginar a seguinte x∈R
aplicação da segunda parte do teorema: Se por alguma ra-
zão não se sabe resolver o problema original (P ) , pode- x̄ ∈ C (o conjunto dos pontos que satisfazem as restri-
se optar por resolver (D) (um problema concavo em um ções) e gi (x̄)ūi = 0, ∀i , então x̄ é também uma solução
poliedro), e depois resolver (Pū,v̄ ) (que é um problema do problema (P ) .
convexo sem restrições). Em outras palavras, é possível Tal proposição fornece um roteiro para quem precisa re-
trocar um problema difícil por dois problemas mais fá- solver o problema (P ) relativamente difícil:
ceis, (D) e (Pū,v̄ ) .
Agora a demonstração do teorema: 1. Primeiramente, resolve-se (D) ;
2. Depois, constrói-se o problema (Pū,v̄ ) e encontra-se
Exercício uma solução x̄ para o mesmo;
3. Finalmente, se x̄ satisfaz as últimas condições da
Verificar se existe salto de dualidade nos problemas em proposição, ele é também uma solução de (P ) .
dualidade para o seguinte problema de minimização:

 8.5 Resumo do esquema de duali-


 min x − y 2
(P1 ) x2 + y 2 ≤ 1 dade

x+y ≤1
Neste ponto, pode-se sintetizar a estratégia geral para a
Exercício resolução de problemas de otimização utilizando esque-
mas de dualidade.
Juntamente com o problema (P1 ) do exercício anterior, Considere o problema
considere o seguinte problema:

  min f (x)
 min x − y 2 gi (x) ≤ 0; i = 1, . . . , p

 
x≥0 hj (x) = 0; j = 1, . . . , q
(P2 )

 y≥0
 onde f, gi , hj : Rn 7→ R são funções de classe C 1 (Rn ) ,
x+y ≤1
e seja a lagrangiana l : Rn × Rp × Rq 7→ R definido por
Os problemas são equivalentes? (no sentido de que têm as
mesmas funções objetivo e o mesmo conjunto de restri-
ções) O que acontece com relação às condições de KKT? ∑
p ∑
q
l(x, u, v) = f (x) + ui gi (x) + vj hj (x)
Apesar de f (x, y) = x − y 2 não ser convexa, é válido o i=1 j=1
resultado do teorema? Para que serve KKT? É possível
resolver o problema dual e usar a resposta para resolver o Convenciona-se que:
primal?
• x é a variável primal;
Exercício • (u, v) é a variável dual;
8.6. UMA NOTA SOBRE A TERMINOLOGIA 27

Nesse sentido, “o Rp × Rq é o dual de Rn " (não confun- 8.6 Uma nota sobre a terminologia
dir com o significado que essa expressão teria na análise
funcional. Ver nota sobre a terminologia), ou seja: Na subárea da matemática denominada Análise Funcio-
nal, quando se tem um espaço topológico X , costuma-se
• R é onde “mora” a variável primal x ;
n chamar de dual topológico ao conjunto X ∗ = {t : X 7→
R; tcontinua e linear é } .
• Rp × Rq é onde “mora” a variável dual (u, v) ; Aparentemente, os conceitos de dual da otimização e da
análise funcional não tem relação um com o outro.
Definem-se então as funções α e β da seguinte maneira: Um dos primeiros a falar de dualidade (espaços duais) foi
o francês Fenchel, mas foi fortemente criticado por Ur-
ruty e Lemaréchal, pois os dois conceitos de dualidade
não estão relacionados. Também o francês Brezis con-
α : Rn 7→ R ∪ {+∞} cordou que há um problema a ser resolvido com a nomen-
clatura, e um dos conceitos deveria deixar de ser chamado
α(x) = sup l(x, u, v) assim.
u≥0
v∈Rq

β : Rp × Rq 7→ R ∪ {−∞}

β(u, v) = infn l(x, u, v)


x∈R

A partir destas duas funções, formulam-se os seguintes


problemas duais:

{
min α(x)
(P r)
x ∈ Rn


max β(u, v)
(D) u≥0

v ∈ Rq

É possível verificar que (P r) equivale ao problema ori-


ginal (P ) e que (D) consiste da maximização de uma
função côncava em um poliedro (convexo).
Logo, o dual de (P ) é (D) .

8.5.1 Conclusões

Dado qualquer problema (P ) , seu dual (D) é um pro-


blema côncavo (isto é, a função objetivo é côncava), tal
que os pontos satisfazendo o conjunto de restrições for-
mam 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 es-
trutura) em um problema mais fácil (cheio de estrutura)".
Capítulo 9

Aplicações dos Métodos Duais

9.1 Aplicação à programação li- e


near
β : Rp × Rq 7→ R ∪ {−∞}
Considere um problema típico da programação linear
como: β(u, v) = infn l(x, y, u, v, w)
x∈R
y∈Rm
 = infn [a − M ⊤ u − P ⊤ v − w]⊤ x + [b − N ⊤ u − Q⊤ v]⊤ y + [

 min a⊤ x + b⊤ y x∈R
 y∈Rm
Mx + Ny ≥ c

 P x + Qy = d = [c⊤ u + d⊤ v] + infn [a − M ⊤ u − P ⊤ v − w]⊤ x + infm [b − N
 x∈R y∈R
x ≥ 0; y ∈ Rn   ⊤ ⊤

  a − M u − P v − w = 0
onde são dados a ∈ Rn , b ∈ Rm , Mp×n , Np×m , Pq×n  ⊤
c u + d⊤ v , se b − N ⊤ u − Q⊤ v = 0
, Qq×m , d ∈ Rp e c ∈ Rq . Por simplicidade, pode-se = 

 u ≥ 0; w ≥ 0

ainda adotar a seguinte notação: −∞ , casos outros em
Logo, considerando que a − M ⊤ u − P ⊤ v = w ≥ 0 , o
{[ ] }
problema dual consiste no seguinte:
x
C= ; M x + N y ≥ c, P x + Qy = d, x ≥ 0 e y ∈ Rn
y

Nesta seção será mostrado como a “bonita teoria dos mé- 
 max c⊤ u + d⊤ v

todos duais” se aplica a esse tipo de problema. M u + P ⊤v ≤ a

⊤ ⊤

N u + Q v = b
Primeiramente, calcula-se a lagrangiana: 
u≥0

Exercício
l(x, y, u, v, w) = [a⊤ x + b⊤ y] + u⊤ [c − M x − N y] + v ⊤ [d − P x − Qy] + w⊤ [−x]
= [a − M ⊤ u − P ⊤ v − w]⊤ x + [b − N ⊤ u − Q⊤ v]que
Verificar
⊤ ⊤
y x̄+é[cumau+ d⊤ v] de
solução
Note que:
{
min f (x)
• As variáveis primais são x e y ; (P )
x∈C
• As variáveis duais são u , v e w ; se, e somente se, x̄ é uma solução de

Agora é preciso identificar as funções α e β correspon- {


dentes a este problema. Conforme anteriormente, tem- max(−f (x))
(P̄ )
se: x∈C

Exercício
α : R 7→ R ∪ {+∞}
n

 [ Verificar
] que:
 ⊤ ⊤ x
a x+b y , se ∈C
α(x) = sup l(x, y, u, v, w) = y
u≥0 
v∈Rq
+∞ , casos inf
outros em= − sup [−f (x)]
f (x)
w≥0 x∈C x∈C

28
9.1. APLICAÇÃO À PROGRAMAÇÃO LINEAR 29

9.1.1 Exemplificando com um problema de


programação linear 
 max b⊤ v
(D) A⊤ v ≤ c
O seguinte problema é chamado de problema standard 
v ∈ Rm
(padrão) de programação linear:
que, conforme já foi mostrado em um exercício anterior-
 mente, equivale a
min c⊤ x
(P L) Ax = b 

x≥0 min −b⊤ v
(D) A⊤ v ≤ c
onde são dados Am×n , b ∈ R e c ∈ R .
m n 
v ∈ Rm

A lagrangiana é dado por:


Calculando o dual de (PL)

Primeiramente, l(v, y) = −b⊤ v + y ⊤ (A⊤ v − c)

Logo,
⊤ ⊤ ⊤
l(x, u, v) = c x + u (−x) + v (b − Ax)

A função α não precisa ser calculada, pois já se mostrou β(y) = infm l(v, y)
v∈R
que
= infm [−b⊤ v + y ⊤ (A⊤ v − c)]
v∈R

{ = −c⊤ y + infm [(Ay − b)⊤ v]


f (x) , se x ∈ C {
v∈R
α(x) =
+∞ , se x ̸∈ C −c⊤ y , se Ay − b = 0
=
−∞ , casos outros em
Por outro lado, quanto à função β tem-se:
Logo, o dual de (D) é:

β(u, v) = infn l(x, u, v) {


x∈R max β(y)
(DD) ,
y≥0
β(u, v) = infn l(x, u, v)
x∈R
ou seja,
= infn [c⊤ x − u⊤ x + v ⊤ (b − Ax)]
x∈R

= b v + infn [c − u − A⊤ v]⊤ x
⊤ 
x∈R max −c⊤ y
{ ⊤ (DD) Ay = b
b v , se c − u − A⊤ v = 0 
=
−∞ , casos outros em y≥0

Logo, o problema dual é: que equivale a

 
 max b⊤ v min c⊤ x
(D) c − u − A⊤ v = 0 (P ) Ax = b

 x≥0
u ≥ 0; v ∈ Rm

ou ainda
Um exemplo numérico contextualizado

 Considere a seguinte situação:


 max b⊤ v
(D) A⊤ v ≤ c
 Um empresário que produz cerveja dispões de
v ∈ Rm
240 kg de milho, 5 kg de lúpulo e 596 kg de
Malta. Para produzir um barril de cerveja preta
Calculando o dual do dual de (PL) requer 2,5 kg de milho, 0,125 kg de lúpulo e
17,5 kg de malta. Enquanto que para produ-
Considere o seguinte problema: zir um barril de cerveja branca, se precisa de
30 CAPÍTULO 9. APLICAÇÕES DOS MÉTODOS DUAIS

7,5 kg de milho, 0,125 kg de lúpulo e 10 kg de


malta. Por barril de cerveja branca vendido, o
β : Rn × Rm 7→ R ∪ {−∞}
empresário recebe 130 reais, enquanto por um
barril de cerveja preta, recebe 230 reais. Achar β(u, v) = infn l(x, u, v) = minn l(x, u, v)
x∈R x∈R
o modelo matemático para otimizar o ganho do
e a última igualdade vale pois a função é fortemente con-
empresário.
vexa.
Na década de 30, 40 e 50 havia diversos livros que tra-
tavam cada problema de programação linear individual- β(u, v) = infn l(x, u, v)
x∈R
mente, deduzindo vez após vez os seus duais, e disso ex-
traindo certas “regras” que eram então sugeridas ao leitor = minn l(x, u, v)
x∈R
na forma "se o problema for desse tipo, use tal regra, se for 1
daquele tipo, use esta outra, e se for deste outro tipo, use = minn [ x⊤ Qx + q ⊤ x + α + u⊤ (b − Ax) + v ⊤ (−x)]
x∈R 2
esta regra". Um dos primeiros autores que começou a tra- 1
balhar os problemas sob um novo ponto de vista, mais ge- = minn [ x⊤ Qx + (q − v − A⊤ u)⊤ x + u⊤ b + α]
x∈R 2
neralizado, foi Werner Oettio (grafia?) . Seguindo-se por

George Dantzig (conhecido como inventor do método Considerando ∇x l(x̄, u, v) = Qx̄ + q − v − A u = 0 ,
simplex), Eugen Blumb (grafia?) e Jean-Pierre Crouzeix. se deduz que

x̄ = Q−1 (A⊤ u + v − q)
9.2 Aplicação à programação qua-
Logo,
drática
Agora, o problema a considerar passa a ser 1 [ −1 ⊤ ]⊤ [ ]
β(u, v) = Q (A u + v − q) Q Q−1 (A⊤ u + v − q) + (q − v −
2
1
{ = (A⊤ u + v − q)⊤ Q−1 (A⊤ u + v − q) − (A⊤ u + v − q)⊤ Q−
min 12 x⊤ Qx + q ⊤ x + α 2
x∈C −1 ⊤
= (A u + v − q)⊤ Q−1 (A⊤ u + v − q) + u⊤ b + α
2
onde C é um poliedro (interseção finita de semi-espaços), Observe que, sendo os autovalores de Q positivos, o
q ∈ Rn , α ∈ R e Qn×n é uma matriz simétrica positiva mesmo vale obrigatoriamente para Q−1 . Assim, como a
definida. expressão de β envolve (−Q−1 ) , tal função é fortemente
Note que este problema tem solução, uma vez que o pro- côncava (conforme já era esperado para tal função).
blema irrestrito correspondente tem solução (já que Q é Baseado nestas deduções, o problema dual é
uma matriz simétrica positiva definida, a função é limi-
tada inferiormente, e como C é fechado, a função obje- {
tivo assume seu valor mínimo em C , por Wolfe). max −1 ⊤ ⊤ −1
2 (A u + v − q) Q (A⊤ u + v − q) + u⊤ b + α
(D)
u ≥ 0; v ∈ Rm
Mesmo para n = 5 , os problemas de programação linear
já são difíceis de resolver "à mão”. É preciso utilizar al- ou seja,
guma técnica mais sofisticada.
{
Para dar continuidade ao exemplo, considere que o poli- min 21 (A⊤ u + v − q)⊤ Q−1 (A⊤ u + v − q) − (u⊤ b + α)
edro C é dado por (D)
u ≥ 0; v ∈ Rm
Usualmente este tipo de problema (D) é resolvido por
meio do método do gradiente projetado.
C = {x ∈ Rn ; x ≥ 0 e Ax = b}

com Am×n e b ∈ Rm .
9.2.1 Revisão do método do gradiente pro-
Agora será aplicado o esquema de dualidade. A lagran- jetado
giana é
O método baseia-se na seguinte proposição:

l : Rn × Rn × Rm 7→ R Proposição
1 ⊤
l(x, u, v) = x Qx+q ⊤ x+α + u⊤ (b−Ax) + v ⊤Seja
(−x)f uma função convexa em C , um conjunto convexo
2 e fechado. Se o ponto x̄ ∈ C é tal que x̄ = PC (x̄ −
além disso, α∇f (x̄)) , então f (x̄) ≤ f (x), ∀x ∈ C .
9.3. EXERCÍCIOS RESOLVIDOS 31

[ ]
Um algoritmo para o método do gradiente projetado b⊤ = 1 1
Ao resolver o problema (P ) , poderia ter sido escolhido
Este algoritmo é bastante simples.
Ax − b em vez de b − Ax . Será que isso influenciaria o
Primeiro passo: Escolha x0 ∈ Rn e fixe α > 0 . Passo resultado final?
iterativo k : Enquanto xk ̸= PC (xk − α∇f (xk ))
Acompanhe como ficaria a resolução desta maneira:
xk+1 = PC (xk − α∇f (xk ))
Agora, é interessante observar como se faz para projetar Exercício
um ponto em C = [0, +∞)n × Rm .
Formule como um problema de minimização com res-
Exercício
trições o problema de projetar ortogonalmente o ponto
(−5, 2) sobre o conjunto C = {(x, y) : x ≥ 0, y ≥ 0} .
Dado C = [0, +∞)n × Rm , mostre que Depois, calcule explicitamente a função lagrangiana e o
problema dual.
([ ]) [ ]
x max{x, 0}
PC = Exercício
y 0

No exercício anterior, se u é a variável dual relacionada


9.2.2 Exemplificando a projeção 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) é
[ ]⊤
Seja u = 1 −1 2 −2 3 −3 4 −4 5 −5 solução dual e se a lagrangiana tem pontos de sela. Em
. Então a projeção de u sobre C = [0, +∞)6 × R4 é : caso afirmativo, calcule um ponto de sela, caso contrário,
argumente porque a lagrangiana não tem pontos de sela.
([ ]⊤ ) [ ]⊤
PC 1 −1 2 −2 3 −3 4 −4 5 −5 = 1 0 2 0 3 0 4 −4 5 −5

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

9.2.3 Exemplo concreto


Seja C = {(x, y); x + y = 1, x ≥ 0, y ≥ 0} .
Como calcular a projeção do ponto (1, 2) sobre o con-
junto C , PC (1, 2) ?

9.3 Exercícios resolvidos


Exercício

Encontrar a solução do seguinte problema de programa-


ção linear:


min c⊤ x
Ax = b

x≥0

sendo

[ ]
c⊤ = 2 5 2 1 1
[ ]
−1 2 1 −1 0
A=
1 1 0 0 −1
Capítulo 10

Método da Lagrangiana Aumentada

O problema a ser resolvido é: 3. Existe s > 0 tal que a matriz A + rB ⊤ B é definida


positiva para todo r > s .
{
min f (x) Exercício
hj (x) = 0; j = 1, . . . , q

Sabe-se que se for aplicado o método da lagrangiana, será Prove a seguinte variante do lema anterior:
considerada a função:
Seja An×n uma matriz simétrica e semi-
definida positiva, e Bp×n . As seguintes afir-
l : Rn × Rq 7→ R mações são equivalentes:

q
1. Se Bx = 0 , com x ̸= 0 , então
l(x, v) = f (x) + vj hj (x)
⟨Ax, x⟩ > 0 ;
j=1

e também 2. Existe r > 0 tal que a matriz A + rB ⊤ B


é definida positiva;
3. Para todo r > 0 , a matriz A + rB ⊤ B é
β : R 7→ R ∪ {−∞}
q definida positiva.

β(v) = infn l(x, v) A partir de agora, o problema será:


x∈R

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 ma- min f (x)
neira: hj (x) = 0; j = 1, . . . , q

onde se supõe que f, hi : Rn 7→ R são funções de



q ∑
q classe C 2 (Rn ) e que para todo λ ∈ R , o conjunto
l(x, v) = f (x) + vj hj (x) + r (hj (x))
2 {x ∈ Rn ; f (x) ≤ λ} é compacto (em inglês costuma-
j=1 j=1 se usar a expressão inf-compact para descrever tais fun-
ções).
Com isso, seria necessário garantir que a idéia de fato re-
solve o problema. Por este motivo, é preciso desenvolver Sabe-se que a lagrangiana associada ao problema (P ) é:
alguns resultados teóricos. Para fazer a análise deste mé-
todo, um primeiro resultado importante é o seguinte:
l : Rn × Rq 7→ R
Lema (Finsler-Debreu)

q
l(x, v) = f (x) + vj hj (x)
Seja An×n uma matriz simétrica e Bp×n . As seguintes j=1
afirmações são equivalentes:
e ainda, em uma notação mais sintética, considerando a
função H dada por:
1. Se Bx = 0 , com x ̸= 0 , então ⟨Ax, x⟩ > 0 ;
2. Existe r > 0 tal que a matriz A + rB ⊤ B é definida
positiva; H : Rn 7→ Rq

32
10.1. ALGORITMO DA LAGRANGIANA AUMENTADA 33

 
h1 (x) Exercício
 
H(x) =  ... 
hq (x) Verifique que {x ∈ Rn ; lρ (x, v) ≤ λ} é compacto, qual-
tem-se a lagrangiana expressa da seguinte maneira: quer que seja λ ∈ R e v ∈ Rq .

Proposição
l(x, v) = f (x) + H(x)⊤ v
Para o método da lagrangiana aumentada serão assumidas Se x̄ é solução de (P ) , então existe algum ρ0 > 0 , algum
as seguintes hipóteses: δ0 > 0 e alguma vizinhança X0 de x̄ tais que lρ0 (·, v̄) é
fortemente convexa com parâmetro δ0 .
1. Se x̄ é solução, então existe ū ∈ Rq tal que Com essas condições, mostrou-se que em um ponto que
∇x l(x̄, ū) = 0 ; seja solução, a lagrangiana aumentada é fortemente con-
vexa.
2. Para todo d ̸= 0 , o jacobiano de H satizfaz:
Antes de apresentar o algoritmo, será fixada mais uma
JH (x)d = 0 ⇒ d⊤ Hx2 l(x̄, ū)d > 0 notação:
Note que a segunda hipótese tem exatamente a mesma
forma de uma das condições que aparece no lema de {
Finsler-Debreu. min lρ (x, u)
(Pρ,u )
x ∈ Rn
Definição

Dado ρ > 0 , se define a lagrangiana aumentada para 10.1 Algoritmo da lagrangiana au-
o problema (P ) como: mentada

lρ : Rn × Rq 7→ R Dados ρ > 0 e ϵ ∈ (0, ρ) .


ρ ρ Início: Tome u0 ∈ Rq e k = 0 . Iteração: Calcule xk
lρ (x, v) = f (x)+H(x)⊤ v+ H(x)⊤ H(x) = l(x, v)+ H(x)
,

H(x)
solução de (Pρ,uk ) . Se H(xk ) = 0 , pare: x̄ = xk .
2 2
Observe que é justamente a aparição do termo Senão, faça uk+1 = uk + ϵH(xk ) k = k + 1
ρ ⊤
2 H(x) H(x) sendo somado à lagrangiana que Este é um dos algoritmos mais usados e mais eficientes
justifica o nome lagrangiana aumentada. para problemas de programação não linear. A garantia
Esse conceito possui algumas interpretações: de convergência segue dos próximos teoremas.

Exercício Teorema

Verifique que a lagrangiana aumentada lρ é justamente a Sejam ρ0 , δ0 e X0 como na proposição anterior. Se U é


lagrangiana do problema (P ) penalizado, ou seja, de uma vizinhança de ū , existe algum ρU > ρ0 tal que:

{
min f (x) + ρ2 H(x)⊤ H(x) 1. X(ρ, u) ⊂ X0 , ∀u ∈ U
H(x) = 0
2. X(ρ, ū) = {x̄} e βρ (ū) = f (x̄)
Exercício
Observações:
Verifique que a função dual βρ (o ínfimo da lagrangiana
aumentada em relação à primeira componente), dada por
• X(ρ, u) denota as soluções do problema;

• A igualdade βρ (ū) = f (x̄) significa que não há salto


βρ : Rq 7→ R ∪ {−∞} de dualidade.
βρ (v) = infn lρ (x, v)
x∈R • Já foi mostrado que a função é fortemente convexa
para 0 < ρ < δ satisfaz 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


βρ (v) ≤ βδ (v) ≤ f (x̄)
KKT, mostrando que o cone linearizado é igual ao
onde x̄ é solução de (P ) cone tangente.
34 CAPÍTULO 10. MÉTODO DA LAGRANGIANA AUMENTADA

O segundo teorema é:

Teorema

Se ρ é suficientemente grande e δ suficientemente pe-


queno, então:

1. xk → x̄
2. lρ (xk , uk ) → f (x̄)

3. {uk } é limitada

Observações:

• A propriedade 2 praticamente segue do fato de não


haver salto de dualidade.

Com esses resultados, tem-se a garantia de que o algo-


ritmo realmente converge para uma solução, desde que
os parâmetros sejam tomados adequadamente. A ques-
tã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:

1. Todas as funções são de classe C 2 e a função objetivo


tem todos os seus subníveis compactos.
2. Se x̄ é solução do problema, então existe ū tal que o
gradiente da Lagrangiana não aumentada com res-
peito a variável primal se anula em (x̄, ū) .

3. A hessiana da Lagrangiana não aumentada com res-


peito a variável primal é definida positiva sob a va-
riedade ortogonal de todos os gradientes no ponto x̄
das restrições.
Capítulo 11

Estilo

Nesta página estarão indicadas as convenções adotadas 11.3 Exercícios


neste wikilivro sobre otimização, no que diz respeito a
sua formatação. Recomenda-se a leitura do mesmo, por Exercício
todos que pretendem contribuir com a melhoria desde
texto.
Aqui vai o enunciado de um exercício.

1. Pode-se colocar vários itens;


11.1 Definições
2. Cada um com a numeração adequada;
Definição

As definições aparecem em caixas com essa aparência.


11.4 Demonstrações e resolução de
Observações exercícios
• Geralmente um termo importante aparece pela pri-
meira vez em uma definição. 11.5 Tarefas pendentes
• Devido à sua importância, é bom destacar a defini-
ção do restante do texto.
• No momento, a forma de destacar uma defini-
ção neste wikilivro é a inclusão de bordas duplas
em torno do texto da definição, como no exemplo
acima. Para facilitar essa tarefa, utiliza-se a prede-
finição {{Definição}}.
• O conceito que está sendo definido costuma ser co-
locado em negrito, sendo que o texto da explicação
tem sido alinhado a esquerda.

11.2 Propriedades
Teorema

Sempre que uma propriedade importante dos objetos tra-


tados no texto precisa ser destacada, isto deve ser feito em
uma caixa como essa.

Observações

• Os principais tipos de propriedades a ser destacados


são: teoremas, proposições, corolários e pequenos
lemas.
• Para conseguir a formatação acima, utiliza-se a pre-
definição {{Teorema}}.

35
Capítulo 12

Índice Remissivo

Nesta página estão listados os conceitos abordados neste • Cone


livro em ordem alfabética.
O nome de cada conceito possui um link para a página tangente
onde o mesmo é definido. Outras ocorrências importan- tangente linearizado
tes do conceito são indicadas pelos links numerados, logo
após o link principal.
• Conjunto

convexo
12.1 A
de nível
viável
12.2 B
• Convexidade
• Brecha de dualidade
• Busca linear
12.4 D
12.3 C • Direção

• Condição de descida
viável
suficiente de segunda ordem

• Condições de otimalidade • Direções

• Condições de otimalidade conjugadas

de Karush-Kuhn-Tucker
• Dualidade
necessárias
de primeira ordem
de segunda ordem 12.5 E
suficientes
12.6 F
de segunda ordem
• Função
• Condições de qualificação das restrições
coerciva
de independência linear dos gradientes das res-
trições ativas côncava
de linearidade convexa
de Mangasarian-Fromovitz de barreira
de Slater de penalidade

36
12.14. N 37

exterior das regiões de confiança


interior do gradiente
fortemente conjugado
projetado
côncava
convexa • Minimizador
objetivo global
local
• Funções em dualidade
• Multiplicadores de Lagrange

12.7 G
12.14 N
12.8 H
12.15 O
• Hessiana

12.16 P
12.9 I • Penalidade

12.10 J exterior
interior

12.11 K • Ponto

crítico
12.12 L de mínimo

• Lagrangiana • Problema

aumentada de minimização
de programação
• Lema
linear
quadrática
de Finsler-Debreu
dual
irrestrito
12.13 M primal

• Método • Projeção

dos gradientes conjugados


12.17 Q
da Lagrangiana aumentada
de barreira
12.18 R
de descida
de direções conjugadas • Região de confiança
de Newton • Regra
de penalidade
de Armijo
interior
exterior • Restrições ativas
38 CAPÍTULO 12. ÍNDICE REMISSIVO

12.19 S
• Sistema

de Lagrange

• Solução

12.20 T
• Teorema

de Wolfe

12.21 U

12.22 V

12.23 W
• Wolfe, teorema

12.24 X

12.25 Y

12.26 Z
Capítulo 13

Bibliografia

13.1 Livros e artigos 13.2 Páginas da internet


• Avriel, Mordecai. Nonlinear Programming: Analy- • Martínez, José Mario. Otimização Prática Usando
sis and methods. New York: Dover, 2003. 528 p. o Lagrangiano Aumentado. Departamento de Ma-
ISBN 0486432270 temática Aplicada IMECC-UNICAMP. 2009.
• Izmailov, Alexey; Solodov, Mikhail. Otimização: • Martínez, José Mario; Santos, Sandra Augusta.
Condições de Otimalidade, Elementos de Análise Métodos Computacionais de Otimização. De-
Convexa e de Dualidade. 1ª.ed. Rio de Janeiro: partamento de Matemática Aplicada IMECC-
IMPA, 2005. 253 p. 2 v. v. 1. ISBN 8524402385 UNICAMP. 262p.
• Izmailov, Alexey; Solodov, Mikhail. Otimização:
Métodos Computacionais. 1ª.ed. Rio de Janeiro: • Gonzaga, Clóvis Caezar. Um Curso de Programa-
IMPA, 2007. 458 p. 2 v. v. 1. ISBN ção Não Linear. Florianópolis : UFSC, 2004.
9788524402685 • Jonathan Richard Shewchuk. An Introduction to the
• Hiriart-Urruty, Jean-Baptiste, Lemaréchal, Claude. Conjugate Gradient Method Without the Agonizing
Fundamentals of Convex Analysis. Springer, 2001. Pain - Um artigo sobre o método do gradiente con-
ISBN 3540422056 jugado (pode ser copiado e distribuído livremente)

• [confirmar] Fletcher, Roger; Fitches, W. R.. Practi- • Cardoso, Domingos Moreira. Tópicos de Optimi-
cal Methods of Optimization. Wiley, 1987. zação Não Linear. Aveiro: UA, 1999.
• [confirmar] Dixon, ???. Practical optimization. • João Antônio de Vasconcelos. Apresentações de sli-
• Crouzeix, Jean Pierre; Keraghel, Abdelkrim; Sosa, des (em pdf):
Wilfredo. Programmation Mathematique Differen-
tial. 2008. • Otimização em engenharia: Penalidades.
• Hestenes, Magnus R.; Stiefel, Eduard. Methods • Problemas de Programação Matemática
of Conjugate Gradients for Solving Linear Systems. Não-Linear
Journal of Research of the National Bureau of Stan- • Otimização em engenharia: Métodos de
dards. v. 49 (6). Dezembro, 1952. Penalidades e Métodos do Lagrangiano
• Polak, E.; Ribière, G..Note sur la convergence de Aumentado
directions conjugées. Rev. Francaise Informat Re- • Algoritmos Genéticos
cherche Operationelle, 3e Année 16 (1969) 35-43.
• Simulated Anneling Algorithm.
• Fletcher, R.; Reeves, CM.Function minimization by • Otimização Vetorial.
conjugate gradients. The Computer Journal, 1964 -
Br Computer Soc. • Computação Evolucionária

• Courant, R..Variational methods for the solution of • How do ee compare EA performances in


problems of equilibrium and vibrations. Bull. Amer. multiobjective optimization?
Math. Soc., 49, 1-23, 1943.
• Finsler, P.. Uber das Vorkommen definiter und semi- 13.2.1 Material complementar
definiter Formen in Scharen quadratischer Formen.
Commentaria Mathematicae Helvetia. Vol. 9. pp. • Pires, Paulo Sérgio da Motta. Introdução ao SciLab
188-192, 1937. Versão 3.0. Natal: UFRN, 2004.

39
40 CAPÍTULO 13. BIBLIOGRAFIA

• Chandler, Graeme; Roberts, Stephen. Introduction


to Scilab. 2002.
• LaTeX to Wikicode translation tool - (link direto)
13.3. FONTES DOS TEXTOS E IMAGENS, CONTRIBUIDORES E LICENÇAS 41

13.3 Fontes dos textos e imagens, contribuidores e licenças


13.3.1 Texto
• Otimização/Capa Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/Capa?oldid=222774 Contribuidores: He7d3r
• Otimização/Introdução Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/Introdu%C3%A7%C3%A3o?oldid=
214649 Contribuidores: He7d3r e He7d3r.bot
• Otimização/Método de gradientes conjugados Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/M%C3%A9todo_
de_gradientes_conjugados?oldid=214650 Contribuidores: He7d3r, Wil~ptwikibooks, Adriano Delfino e He7d3r.bot
• Otimização/Métodos de penalidades Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/M%C3%A9todos_de_
penalidades?oldid=234199 Contribuidores: He7d3r, Adriano Delfino, He7d3r.bot e Anónimo: 1
• Otimização/Métodos de região de confiança Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/M%C3%A9todos_de_
regi%C3%A3o_de_confian%C3%A7a?oldid=214654 Contribuidores: He7d3r, Adriano Delfino, He7d3r.bot e Anónimo: 1
• Otimização/O problema de mínimos quadrados Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/O_problema_de_
m%C3%ADnimos_quadrados?oldid=214671 Contribuidores: He7d3r, Adriano Delfino e He7d3r.bot
• Otimização/KKT Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/KKT?oldid=222580 Contribuidores: Giro720,
He7d3r, Adriano Delfino e He7d3r.bot
• Otimização/Métodos duais Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/M%C3%A9todos_duais?oldid=214665
Contribuidores: He7d3r, Adriano Delfino, He7d3r.bot e Anónimo: 1
• Otimização/Aplicações dos métodos duais Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/Aplica%C3%A7%C3%
B5es_dos_m%C3%A9todos_duais?oldid=225478 Contribuidores: He7d3r, Adriano Delfino e He7d3r.bot
• Otimização/Método da lagrangiana aumentada Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/M%C3%A9todo_
da_lagrangiana_aumentada?oldid=214670 Contribuidores: He7d3r, Adriano Delfino e He7d3r.bot
• Otimização/Estilo Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/Estilo?oldid=214666 Contribuidores: He7d3r e
He7d3r.bot
• Otimização/Índice remissivo Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/%C3%8Dndice_remissivo?oldid=
246843 Contribuidores: He7d3r e He7d3r.bot
• Otimização/Bibliografia Fonte: https://pt.wikibooks.org/wiki/Otimiza%C3%A7%C3%A3o/Bibliografia?oldid=272514 Contribuidores:
He7d3r, He7d3r.bot, Rotlink e Anónimo: 1

13.3.2 Imagens
• Ficheiro:Busca_de_Armijo.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/6/69/Busca_de_Armijo.svg Licença: GFDL
Contribuidores: Obra do próprio Artista original: Helder
• Ficheiro:Cone_em_duas_dimensões.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/3/35/Cone_em_duas_dimens%
C3%B5es.svg Licença: GFDL Contribuidores: Obra do próprio Artista original: Helder
• Ficheiro:Cone_tangente_de_um_quadrado_unitário.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/8/8e/Cone_
tangente_de_um_quadrado_unit%C3%A1rio.svg Licença: GFDL Contribuidores: Obra do próprio Artista original: Helder
• Ficheiro:Conjugate_gradient_illustration.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/b/bf/Conjugate_gradient_
illustration.svg Licença: Public domain Contribuidores: self-made, with en:Matlab, and then tweaked in en:Inkscape Artista original: Oleg
Alexandrov
• Ficheiro:Crystal_Clear_app_kaddressbook.png Fonte: https://upload.wikimedia.org/wikipedia/commons/7/74/Crystal_Clear_app_
kaddressbook.png Licença: LGPL Contribuidores: All Crystal Clear icons were posted by the author as LGPL on kde-look; Artista original:
Everaldo Coelho and YellowIcon;
• Ficheiro:Exemplo_de_função_de_penalidade.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/0/0a/Exemplo_de_fun%
C3%A7%C3%A3o_de_penalidade.svg Licença: GFDL Contribuidores: Obra do próprio Artista original: Ilustração: Mariana Kleina;
SVG version: Helder
• Ficheiro:Função_quadrática_restrita_a_um_intervalo.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/3/3c/Fun%C3%
A7%C3%A3o_quadr%C3%A1tica_restrita_a_um_intervalo.svg Licença: GFDL Contribuidores: Obra do próprio Artista original: Helder
• Ficheiro:Gradiente_de_uma_função_em_um_ponto_de_mínimo.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/2/
2d/Gradiente_de_uma_fun%C3%A7%C3%A3o_em_um_ponto_de_m%C3%ADnimo.svg Licença: GFDL Contribuidores: Obra do pró-
prio Artista original: Helder
• Ficheiro:Nuvola_apps_korganizer.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/e/e6/Nuvola_apps_korganizer.svg Li-
cença: LGPL Contribuidores: Image:Nuvola apps korganizer.png, Image:Gtk-ok.svg Artista original: David Vignoni, User:Stannered
• Ficheiro:Propriedade_das_projeções.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/7/7b/Propriedade_das_proje%
C3%A7%C3%B5es.svg Licença: GFDL Contribuidores: Obra do próprio Artista original: Helder
• Ficheiro:Wikipedia-logo.png Fonte: https://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png Licença: GFDL Con-
tribuidores: based on the first version of the Wikipedia logo, by Nohat. Artista original: version 1 by Nohat (concept by Paullusmagnus);

13.3.3 Licença
• Creative Commons Attribution-Share Alike 3.0