Você está na página 1de 47

Otimização Não Linear

Problemas Não-Lineares em Várias Variáveis

Ormeu Coelho da Silva Júnior, D.Sc.


Departamento de Engenharia de Produção Revisão: Breno dos Santos de Assis, M.Sc. 06/2022.
PROBLEMAS IRRESTRITOS EM VÁRIAS VARIÁVEIS

Nesta aula serão estudados os problemas de PNL irrestritos em ℝ𝑛 , ou seja, problemas


que consistem na determinação de mínimos e máximos de funções de 𝑛 variáveis reais.
Em termos da formulação geral (P), apresentada no início da aula 7, pode-se escrever:

min 𝑧 = 𝑓(𝑥)
s. a. : 𝑥 ∈ ℝ𝑛

Inicialmente, serão discutidas as condições necessárias e suficientes para que um ponto


seja um mínimo de 𝑓 𝑥 através da apresentação de alguns teoremas. Dados os
propósitos deste curso, as provas dos mesmos serão omitidas sempre que possível. O
foco aqui é a compreensão das propriedades expressas por estes teoremas e de suas
implicações sobre a resolução de problemas não lineares. Métodos de solução de
grande relevância teórica e prática são discutidos na sequência do texto.

2
PROBLEMAS IRRESTRITOS EM VÁRIAS VARIÁVEIS

No estudo dos problemas de otimização em ℝ𝑛 é comum que os pontos na vizinhança


de um dado ponto candidato a ótimo, 𝑥 ∗ , sejam expressos em função dele e de uma
direção 𝑑 ∈ ℝ𝑛 . Ou seja, um ponto 𝑥 qualquer é expresso como 𝑥 = 𝑥 ∗ + 𝑑. Dito isso, a
definição de mínimos local e global feita na aula anterior será aqui refeita com base
neste conceito.

Definição 1 (mínimo global) Um ponto 𝑥 ∗ ∈ ℝ𝑛 é um mínimo global de 𝑓(𝑥) se


𝑓(𝑥 ∗ ) ≤ 𝑓(𝑥 ∗ + 𝑑), para qualquer direção 𝑑 ∈ ℝ𝑛 .

Definição 2 (mínimo local) Um ponto 𝑥 ∗ é um mínimo local de 𝑓(𝑥) se existe uma


vizinhança 𝒩(𝑥 ∗ ) ⊂ ℝ𝑛 , tal que 𝑓(𝑥 ∗ ) ≤ 𝑓(𝑥) para todo 𝑥 ∈ 𝒩(𝑥 ∗ ), tal que 𝑥 = 𝑥 ∗ + 𝑑.

3
CONDIÇÕES DE OTIMALIDADE

As condições que permitem caracterizar um ponto 𝑥 ∗ como mínimo (máximo) local de


uma função 𝑓(𝑥) contínua e diferenciável em ℝ𝑛 são chamadas condições de
otimalidade local. Estas condições podem ser necessárias e/ou suficientes. As
necessárias são aquelas que devem ser atendidas por qualquer ponto 𝑥 ∈ ℝ𝑛 candidato
a ótimo, mas que uma vez atendidas não bastam para afirmar que ele o seja. As
condições suficientes, como o próprio nome diz, são aquelas que, tendo sido atendidas,
permitem-nos afirmar que o ponto é ótimo (contudo, elas podem não ser necessárias).

No estudo das condições de otimalidade recorremos a dois conceitos que você


aprendeu em seu curso de cálculo em várias variáveis, o gradiente e a hessiana de uma
função de várias variáveis 𝑓, aqui denotados por 𝛻𝑓 e 𝛻 2 𝑓. O gradiente dá a direção de
crescimento de uma função, enquanto a hessiana permite avaliar a curvatura da função.

4
CONDIÇÕES DE OTIMALIDADE

O gradiente de uma função 𝑓 é o vetor cujos elementos são as derivadas parciais em


relação a cada uma das variáveis 𝑥𝑗 , 𝑗 = 1, … 𝑛, ou seja:
𝑇
𝜕𝑓 𝜕𝑓 𝜕𝑓
𝛻𝑓 = ⋯
𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛

Já a hessiana de 𝑓 corresponde a uma matriz quadrada formada por suas derivadas


parciais de segunda ordem, tal que o elemento da linha 𝑖 e coluna 𝑗 é obtido tomando-se
as derivadas parciais em 𝑥𝑖 e 𝑥𝑗 , nesta ordem. Ou seja:

𝜕2 𝑓 𝜕2 𝑓
2 ⋯ 𝜕𝑥1 𝜕𝑥𝑛
𝜕𝑥1
𝛻2𝑓 = ⋮ ⋱ ⋮
𝜕2 𝑓 𝜕𝑓
𝜕𝑥𝑛 𝜕𝑥1
⋯ 2
𝜕𝑥𝑛

5
CONDIÇÕES DE OTIMALIDADE

Outro conceito recorrente no estudo dos problemas de PNL é a norma ℓ𝑝 de um vetor


em ℝ𝑛 , definida como:

𝑝
𝑥 𝑝 = σ𝑛𝑖=1 𝑥𝑖 𝑝 , 1≤𝑝<∞

𝑥 ∞ = max 𝑥𝑖
𝑖=1,…,𝑛

Nos estudos de otimização é muito comum que se empreguem as normas 𝑥 2 e 𝑥 ∞,

sendo que a primeira é denominada de norma euclidiana.

6
CONDIÇÕES DE OTIMALIDADE

Teorema-1 (condição necessária de primeira ordem): Se o ponto 𝑥 ∗ é um mínimo


(máximo) de 𝑓(𝑥) em uma vizinhança aberta 𝒩(𝑥 ∗ ), então 𝛻𝑓 𝑥 ∗ = 𝟎.

Prova: Primeiro, considere a aproximação de segunda ordem de 𝑓 por uma série de


Taylor em 𝑥 ∗ , ou seja:
1
𝑓 𝑥 ∗ + 𝑑 = 𝑓 𝑥 ∗ + 𝛻𝑓(𝑥 ∗ )𝑇 𝑑 + 𝑑𝑇 𝛻 2 𝑓(𝑥 ∗ + 𝑡𝑑)𝑇 𝑑, (1)
2

para 𝑑 ∈ ℝ𝑛 e para algum 𝑡 ∈ (0,1).

Para 𝑑 suficientemente pequeno, o último termo do lado direito de (1) é da ordem de


𝑑𝑖 2 . Logo,

𝑓 𝑥 ∗ + 𝑑 − 𝑓 𝑥 ∗ ≈ 𝛻𝑓(𝑥 ∗ )𝑇 𝑑 (2)

7
CONDIÇÕES DE OTIMALIDADE

Assuma agora que 𝛻𝑓 𝑥 ∗ ≠ 0. Então ao menos uma das derivadas parciais é não nula.

𝜕𝑓(𝑥 ∗ )
Basta então escolher 𝑑 apropriadamente, tal que 𝑑𝑗 < 0. Ou seja:
𝜕𝑥𝑗

𝜕𝑓(𝑥 ∗ )
▪ se > 0, toma-se 𝑑𝑗 < 0.
𝜕𝑥𝑗

𝜕𝑓(𝑥 ∗ )
▪ se < 0, toma-se 𝑑𝑗 > 0.
𝜕𝑥𝑗

Vê-se que a escolha de 𝑑 conforme indicado acima faz com que 𝛻𝑓 𝑥 ∗ 𝑑 ≤ 0. De volta à
expressão (1), este resultado implicaria em:

𝑓 𝑥 ∗ + 𝑑 < 𝑓(𝑥 ∗ ) (3)

Note que a desigualdade (3) contradiz a hipótese inicial de que 𝑥 ∗ é um mínimo local.
8
CONDIÇÕES DE OTIMALIDADE

Contudo, a desigualdade (3) contradiz a premissa de que 𝑥 ∗ seja um mínimo local.


Assim, prova-se por absurdo que 𝛻𝑓 𝑥 ∗ = 0 deve necessariamente ocorrer para que 𝑥 ∗
seja um mínimo local de 𝑓(𝑥). □

A Figura 1(a) traz o gráfico do paraboloide definido pela função 𝑓 𝑥, 𝑦 = 𝑥 2 + 𝑦 2 , e a


Figura 1(b) mostra oito de suas curvas de nível no plano 𝑥𝑦, cujos valores variam de
𝑓 = 0.5 a 𝑓 = 4, em passos de tamanho 0,5. Quanto mais ao centro, menor o valor da
curva de nível em questão. Observe que as curvas de menor valor foram ilustradas em
cores e tons mais escuros, assim como na Figura 1(a). O ponto de mínimo desta função
é dado pelo vértice do paraboloide, de coordenadas (𝑥1 , 𝑥2 )𝑇 = (0,0)𝑇 . Este ponto atende
à condição necessária do Teorema 1, isto é, o gradiente de 𝑓 se anula em
(𝑥1 , 𝑥2 )𝑇 = (0,0)𝑇 , uma vez que 𝛻𝑓 𝑥1 , 𝑥2 = (2𝑥1 , 2𝑥2 )𝑇 = (0,0)𝑇 .

9
CONDIÇÕES DE OTIMALIDADE

(a) (b)

Figura 1 – Gráfico de 𝑓 𝑥, 𝑦 = 𝑥 2 + 𝑦 2 e suas curvas de nível no plano 𝑥𝑦.

10
CONDIÇÕES DE OTIMALIDADE

Note que o paraboloide ilustrado na Figura 1 tem um único ótimo local que, portanto, é
seu ótimo global. Se as funções a serem minimizadas (maximizadas) forem convexas
(côncavas), seu único mínimo (máximo) local será também seu mínimo (máximo) global.

As Figuras 2 e 3 apresentam duas funções multimodais, isto é, que possuem mais de


um ponto de mínimo ou máximo em seu domínio. Via de regra, funções desta natureza
representam um desafio para os métodos de otimização que muitas vezes ficam presos
em ótimos locais. Na Figura 2(a), ilustra-se o gráfico da função por vezes denominada
de “cartela de ovos” (do língua inglesa, Egg-crate), definida como 𝑓 𝑥, 𝑦 = 𝑥 2 + 𝑦 2 +

25 sen𝟐 𝑥 + sen𝟐 𝑦 , e aqui ilustrada para −5 ≤ 𝑥, 𝑦 ≤ 5. As curvas de nível dessa


função são mostradas na Figura 2(b).

11
CONDIÇÕES DE OTIMALIDADE

(a) (b)

Figura 2 – Gráfico de 𝑓 𝑥, 𝑦 = 𝑥 2 + 𝑦 2 + 25 sen𝟐 𝑥 + sen𝟐 𝑦 e suas curvas de nível no plano 𝑥𝑦.

12
CONDIÇÕES DE OTIMALIDADE

Definição 3 (ponto estacionário) Um ponto no qual o gradiente de 𝑓(𝑥) se anula é


chamado ponto estacionário ou ponto crítico.

Como a condição no Teorema 1 é necessária, mas não suficiente, é possível que um


ponto estacionário não seja de fato um mínimo local de 𝑓. Considere, por exemplo, o
gráfico de 𝑓(𝑥) = (𝑥 − 1)2 +1, no qual há um ponto de inflexão em 𝑥 = 1, conforme se vê
na Figura 3. Nesse ponto, a condição necessária de primeira ordem é atendida, isto é,
𝑓’ 1 = 0. Contudo, ele não é um mínimo local, pois os pontos à esquerda de 𝑥 = 1 têm
valor menor que 𝑓(1) = 1, qualquer que seja o tamanho da vizinhança considerada.

Veja agora dois exemplos em ℝ2 . Nas Figura 4(a) e 4(b), o gráfico de 𝑓 𝑥, 𝑦 = 𝑥. 𝑦 é


apresentado em duas perspectivas distintas, sendo a segunda obtida a partir da primeira
através de uma rotação de 90º no entorno do eixo 𝑧, no sentido horário. O gradiente
13
desta
CONDIÇÕES DE OTIMALIDADE

função é 𝛻𝑓 = 𝑦, 𝑥 𝑇 . Logo, o gradiente se anula em 𝑥 = (0,0)𝑇 , apesar desse não ser


um ponto de mínimo ou máximo. Fosse um mínimo ou máximo local, haveria uma
vizinhança deste ponto na qual toda a função estaria em um dos semi-espaços definidos
pela tangente de 𝑓 𝑥, 𝑦 = 𝑥. 𝑦 em (0,0)𝑇 . A Figura 5 ilustra o plano tangente dessa
função em 𝑥 = (0,0)𝑇 . Ao contrário do que acontece nos ótimos locais ilustrados nas
Figuras 1 e 2, não existe uma vizinhança na qual este ponto caracterize um mínimo ou
máximo da função.

Através das curvas de nível de 𝑓 𝑥, 𝑦 = 𝑥. 𝑦, ilustradas na Figura 6, essa percepção fica


ainda mais clara. Note que o ponto estacionário (0,0)𝑇 fica na interseção das curvas de
nível de valor 0, que se cruzam no centro da figura. Assim como antes, quanto mais
claras as cores das curvas de nível, maiores seus valores. No 1º e 3º quadrantes do
plano 𝑥𝑦 a função assume valores positivos, sendo negativa no 2º e 4º.
14
CONDIÇÕES DE OTIMALIDADE

Figura 3 – Gráfico de 𝑓 𝑥 = (𝑥 − 1)3 + 1 e seu ponto de inflexão em 𝑥 = 1.

15
CONDIÇÕES DE OTIMALIDADE

(a) (b)

Figura 4 – Gráfico de 𝑓 𝑥, 𝑦 = 𝑥. 𝑦.

16
CONDIÇÕES DE OTIMALIDADE

Figura 5 – Plano tangente a 𝑓 𝑥, 𝑦 = 𝑥. 𝑦 no ponto (0,0).

17
CONDIÇÕES DE OTIMALIDADE

Figura 6 – Curvas de nível de 𝑓 𝑥, 𝑦 = 𝑥. 𝑦 e o ponto de sela (0,0).

18
CONDIÇÕES DE OTIMALIDADE

Definição 4 (ponto de sela) Um ponto estacionário, que não é mínimo ou máximo local, é
denominado ponto de sela ou ponto minimax.

Ao longo de uma dada direção, um ponto de sela define um mínimo, enquanto em uma
direção ortogonal, define um máximo. No caso de 𝑓 𝑥, 𝑦 = 𝑥. 𝑦, ilustrada na Figura 4, o
ponto (0,0)𝑇 é um mínimo ao longo da direção 𝑦 = 𝑥 (ou seja, da reta que divide o 1º e o
3º quadrantes), e um máximo ao longo da direção 𝑦 = −𝑥 (reta que divide o 2º e 4º
quadrantes). Contudo,(0,0)𝑇 não é máximo ou mínimo em ℝ2 .

Por fim, um ponto de sela estrito no plano corresponde à interseção de duas curvas de
nível de mesmo valor. Estas curvas definem os pontos onde a superfície muda de
comportamento, isto é, onde a concavidade da função que estava para cima fica para
baixo, e vice-versa. Volte à Figura 6 para verificar que, ao percorrer o plano 𝑥𝑦 no
xxxxxx 19
CONDIÇÕES DE OTIMALIDADE

sentido horário, a partir do 1º quadrante, a concavidade de 𝑓 𝑥, 𝑦 está para cima nos


quadrantes ímpares e para baixo nos pares.

Também é possível que um ponto de sela não seja estrito. Neste caso, haverá uma
vizinhança em seu entorno na qual a 𝑓 tem valor constante, caracterizando então um
“platô”.

Por fim, uma vez que a condição imposta no Teorema 1 é necessária, mas não
suficiente, é possível que ela seja atendida por um ponto de inflexão ou de sela. Para
que um ponto estacionário possa ser caracterizado como mínimo ou máximo local, a
concavidade da superfície no entorno desse ponto deve ser analisada. O Teorema 2
expressa uma condição suficiente para otimalidade local de um ponto 𝑥 ∗ ∈ ℝ𝑛 . Antes de
apresentá-lo, serão feitas algumas definições adicionais para facilitar a compreensão.

20
CONDIÇÕES DE OTIMALIDADE

Definição 5 (Matriz positiva definida) Uma matriz real simétrica 𝐴𝑛×𝑛 é dita positiva
definida se 𝑥 𝑇 𝐴𝑥 > 0 para todo 𝑥 ∈ ℝ𝑛 .

Definição 6 (Matriz positiva semidefinida) Uma matriz real simétrica 𝐴𝑛×𝑛 é dita positiva
definida se 𝑥 𝑇 𝐴𝑥 ≥ 0 para todo 𝑥 ∈ ℝ𝑛 .

Analogamente, denomina-se de matriz negativa definida aquela matriz 𝑥 𝑇 𝐴𝑥 < 0 para


todo 𝑥 ∈ ℝ𝑛 . E, por extensão, uma matriz negativa semidefinida é tal que 𝑥 𝑇 𝐴𝑥 ≤ 0 para
qualquer 𝑥 ∈ ℝ𝑛 .

Definição 7 (Matriz indefinida) Uma matriz real simétrica 𝐴𝑛×𝑛 é dita indefinida se 𝑥 𝑇 𝐴𝑥 >
0 e 𝑦 𝑇 𝐴𝑦 < 0 para algum 𝑥 ∈ ℝ𝑛 e algum 𝑦 ∈ ℝ𝑛 , tal que 𝑥 ≠ 𝑦.

21
CONDIÇÕES DE OTIMALIDADE

Teorema-2 (condição suficiente de segunda ordem): Assuma que 𝛻 2 𝑓 é continuamente


definida em uma vizinha aberta de 𝑥 ∗ , 𝒩 𝑥 ∗ . Se:

(i) 𝛻𝑓 𝑥 ∗ = 𝟎; e

(ii) 𝛻 2 𝑓 𝑥 ∗ é positiva definida;

então 𝑥 ∗ é um mínimo local de 𝑓.

Prova: Novamente, considere a aproximação de segunda ordem de 𝑓 por série de Taylor


em 𝑥 ∗ , ou seja:
1
𝑓 𝑥 ∗ + 𝑑 = 𝑓 𝑥 ∗ + 𝛻𝑓(𝑥 ∗ )𝑇 𝑑 + 𝑑𝑇 𝛻 2 𝑓(𝑥 ∗ + 𝑡𝑑)𝑇 𝑑,
2

para 𝑑 ∈ ℝ𝑛 e para algum 𝑡 ∈ (0,1).

22
CONDIÇÕES DE OTIMALIDADE

Como, por hipótese, 𝛻𝑓 𝑥 ∗ = 𝟎, então:

𝑓 𝑥 ∗ + 𝑑 − 𝑓 𝑥 ∗ = 𝑑𝑇 𝛻 2 𝑓 𝑥 ∗ + 𝑡𝑑 𝑑 (3)

para 𝑑 suficientemente pequeno.

Como 𝛻 2 𝑓 é positiva definida em 𝒩 𝑥 ∗ , então, o lado direito de (3) é positivo (isto é,


𝑑𝑇 𝛻 2 𝑓 𝑥 ∗ + 𝑡𝑑 𝑑 > 0) e, logo, 𝑓 𝑥 ∗ + 𝑑 − 𝑓 𝑥 ∗ > 0. Conclui-se assim que 𝑥 ∗ é um
mínimo local de 𝑓. □

A condição suficiente de otimalidade no Teorema 2 é “mais forte” que a condição


necessária dada pelo Teorema 1. Contudo, apesar de suficiente, ela não é necessária.
Ou seja, um ponto pode ser mínimo local sem atendê-la. Por exemplo, 𝑓 𝑥 = 𝑥 4 tem
como mínimo 𝑥 ∗ = 0, porém 𝛻 2 𝑓 𝑥 = 12𝑥 2 assume valor nulo neste ponto.
23
CONDIÇÕES DE OTIMALIDADE

De forma análoga, pode-se provar que um ponto estacionário será máximo local se 𝛻 2 𝑓
for negativa definida. Ou seja, se 𝑑𝑇 𝛻 2 𝑓 𝑥 ∗ + 𝑡𝑑 𝑑 < 0.

Exemplo 1 – Determine um ponto extremo da função abaixo definida e diga se o mesmo


um ponto de mínimo ou máximo local:

𝑓 𝑥1 , 𝑥2 , 𝑥3 = 𝑥1 + 2𝑥3 + 𝑥2 𝑥3 − 𝑥1 2 − 𝑥2 2 − 𝑥3 2 .

Resolução:

Inicialmente, calcule as derivadas parciais de 𝑓:

𝜕𝑓 𝜕𝑓 𝜕𝑓
= 1 − 2𝑥1 , = 𝑥3 − 2𝑥2 e = 2 + 𝑥2 − 2𝑥3 .
𝜕𝑥1 𝜕𝑥2 𝜕𝑥3

24
CONDIÇÕES DE OTIMALIDADE

Aplicando-se a condição necessária expressa no Teorema 1, isto é, 𝛻𝑓 𝑥 ∗ = 0, obtém


um sistema linear em três incógnitas e três equações:

−2𝑥1 = −1
൞ −2𝑥2 + 𝑥3 = 0
𝑥2 − 2𝑥3 = −2

𝑇
cuja solução é 𝑥 ∗ = 1 2 4
, ,
2 3 3
. Agora é preciso verificar se esse é um ponto extremo. Para
isso, primeiro calcule a hessiana de 𝑓 em 𝑥 ∗ :

𝜕2𝑓 𝜕2𝑓 𝜕2𝑓


𝜕𝑥1 2 𝜕𝑥1 𝜕𝑥2 𝜕𝑥1 𝜕𝑥3
𝜕2𝑓 𝜕2𝑓 𝜕2𝑓 −2 0 0
2 ∗
𝛻 𝑓 (𝑥 ) = = 0 −2 1
𝜕𝑥2 𝜕𝑥1 𝜕𝑥2 2 𝜕𝑥1 𝜕𝑥3
0 1 −2
𝜕2𝑓 𝜕2𝑓 2
𝜕 𝑓
25
𝜕𝑥3 𝜕𝑥1 𝜕𝑥3 𝜕𝑥2 𝜕𝑥3 2
CONDIÇÕES DE OTIMALIDADE

Agora, deve-se avaliar 𝛻 2 𝑓 𝑥 ∗ para verificar se 𝑥 ∗ é um extremo (isto é, um mínimo ou


máximo) local de 𝑓. Lembre-se que uma matriz simétrica 𝐴𝑛×𝑛 que seja positiva definida
(semidefinida) tem todos os seus autovalores positivos (não-negativos). Alternativamente
ao teste dos autovalores, pode-se avaliar os menores principais líderes de 𝐴𝑛×𝑛 , pois
para que ela seja positiva definida (semidefinida) é condição necessária e suficiente que
todos os menores principais líderes sejam positivos (não negativos). Essa regra é
conhecida como Critério de Sylvester. Antes de prosseguir na resolução do exercício,
considere as seguintes definições:

Definição 8 (menores principais) O k-ésimo menor principal de 𝐴 é o determinante da


matriz que se obtém, eliminando-se dela (𝑛 − 𝑘) linhas e as (𝑛 − 𝑘) colunas
correspondentes, tal que 𝑘 ∈ {1,2, … , 𝑛}.

26
CONDIÇÕES DE OTIMALIDADE

Definição 9 (menores principais líderes) O k-ésimo menor principal líder de 𝐴 − aqui


denotado por ∆𝑘 − o determinante da matriz que se obtém, eliminando-se dela as
últimas (𝑛 − 𝑘) linhas e as (𝑛 − 𝑘) colunas correspondentes, tal que 𝑘 ∈ {1,2, … , 𝑛}.

De volta ao Exemplo 1, pode-se afirmar que 𝛻 2 𝑓 𝑥 ∗ não é positiva definida, pois seu
primeiro menor principal líder é igual a −2 (note que ∆1 corresponde ao elemento do
canto superior esquerdo da matriz).

É preciso agora verificar se 𝛻 2 𝑓 𝑥 ∗ é negativa definida. Uma matriz 𝐴 é negativa


definida se, e somente se, −𝐴 for positiva definida. O primeiro, segundo e terceiro
menores líderes de −𝛻 2 𝑓 𝑥 ∗ são então dados por:

∆1 = det(2) = 2,

27
CONDIÇÕES DE OTIMALIDADE

2 0
∆2 = det = 4,
0 2

2 0 0
∆3 = det 0 2 −1 = 6.
0 −1 2

Verifica-se assim que−𝛻 2 𝑓 𝑥 ∗ é positiva definida e, consequentemente, que 𝛻 2 𝑓 𝑥 ∗ é


𝑇
negativa definida. Portanto, conclui-se que 𝑥 ∗ = 1 2 4
, ,
2 3 3
é um ponto de máximo de 𝑓. ■

Como se pôde ver no Exemplo-1, as condições de otimalidade podem ser expressas em


termos dos menores da matriz hessiana. A seguir estes resultados são apresentados
como corolários do Teorema-2.

28
CONDIÇÕES DE OTIMALIDADE

Corolário-1 (Teorema-2): Assuma que 𝛻 2 𝑓 é continuamente definida em uma vizinha


aberta de 𝑥 ∗ , 𝒩 𝑥 ∗ . Se todos os menores principais de 𝛻 2 𝑓 forem positivos, então 𝑥 ∗ é
um mínimo local de 𝑓.

Corolário-2 (Teorema-2): Assuma que 𝛻 2 𝑓 é continuamente definida em uma vizinha


aberta de 𝑥 ∗ , 𝒩 𝑥 ∗ . Se o sinal do 𝑘-ésimo menor principal de 𝛻 2 𝑓 for igual a (−1)𝑘 ,
para 𝑘 = 1, … , 𝑛, então 𝑥 ∗ é um máximo local de 𝑓.

Se um ponto estacionário 𝑥 ∗ não atende às condições expressas nos corolários 1 e 2,


então ele será um ponto de sela.

29
CONDIÇÕES DE OTIMALIDADE

Exemplo 2 – Considere novamente o problema de determinação de um ponto extremo


da função apresentada no Exemplo 1. Empregue o corolário 2 para mostrar que 𝑥 ∗ é um
máximo local de 𝑓.

Resolução: Na resolução do Exemplo-1, provou-se que 𝛻 2 𝑓 𝑥 ∗ é negativa definida


indiretamente, provando-se que −𝛻 2 𝑓 𝑥 ∗ é positiva definida. A verificação direta de que
𝛻 2 𝑓 𝑥 ∗ é negativa definida será agora feita com base nas condições do Corolário-2 do
Teorema-2:

−2 0 0
−2 0
∆1 = det −2 = −2, ∆2 = det = 4 e ∆3 = det 0 −2 1 = −6.
0 −2
0 1 −2

30
CONDIÇÕES DE OTIMALIDADE

Note que os sinais dos menores principais atendem à condição do Corolário-2, uma vez
que o primeiro e terceiro menores são negativos, e o segundo menor é positivo.
Portanto, está demonstrado que 𝛻 2 𝑓 𝑥 ∗ é negativa definida e que, portanto, 𝑥 ∗ é um
máximo local de 𝑓. ■

Em geral, se 𝛻 2 𝑓 𝑥 ∗ é indefinida, então 𝑥 ∗ deve ser um ponto de sela. Nos casos não
conclusivos, a condição de suficiência expressa no Teorema-2 requer a consideração de
termos de ordem superior na expansão da série de Taylor.

31
O MÉTODO DE DESCIDA

O método de descida, proposto por Cauchy em 1847 e por vezes chamado método do
gradiente. É um procedimento iterativo para resolver de forma aproximada problemas de
otimização de funções diferenciáveis em várias variáveis reais.

Dada uma função real 𝑓 definida em ℝ𝑛 e um ponto inicial 𝑥0 em seu domínio, o método
produz um novo ponto 𝑥1 , tal que 𝑓 𝑥1 < 𝑓 𝑥0 . Essa nova solução pode ser expressa
em termos da solução inicial como 𝑥1 = 𝑥0 + 𝛼0 𝑑0 , onde 𝑑0 é uma direção em ℝ𝑛 e 𝛼0 é
um escalar não negativo. Caso 𝛻𝑓 𝑥1 = 0, então, um ponto estacionário terá sido
encontrado. Do contrário, uma nova iteração é realizada. Estes passos são repetidos até
que, em uma dada iteração 𝑘, obtenha-se um ponto 𝑥𝑘 = 𝑥𝑘−1 + 𝛼𝑘−1 𝑑𝑘−1 para o qual
𝛻𝑓 𝑥𝑘 = 0.

32
O MÉTODO DE DESCIDA

Para que 𝑓 decresça o mais rápido o possível, a direção de descida em cada iteração
deve ser −𝛻𝑓/ 𝛻𝑓 . Isto é, a direção de descida na iteração 𝑘 é dada por:

𝛻𝑓(𝑥𝑘 )
𝑑𝑘 = −
𝛻𝑓(𝑥𝑘 )

Dessa forma, o problema em 𝑛 variáveis definido por (P) é reduzido ao problema de


determinação do passo ótimo a ser dado na direção 𝑑𝑘 . Ou seja:

min 𝑧 = 𝑓(𝑥𝑘 + 𝛼𝑘 𝑑𝑘 ) (Pα)


s. a. : 𝛼𝑘 ≥ 0

33
O MÉTODO DE DESCIDA

Como (P) foi reduzido a um problema unidimensional, no qual a variável de decisão é


𝛼𝑘 , pode-se adotar um método para otimização de funções em ℝ, como, por exemplo, os
métodos da seção áurea, de Newton ou da Bisseção. Todavia, em problemas de médio
e grande porte pode ser custoso executar uma busca exata, mesmo quando se
considera uma precisão 𝜀 > 0 na determinação do passo ótimo.

Por outro lado, se o procedimento empregado na solução de Pα garantir uma


aproximação razoável, o Método da Descida ainda assim convergirá para um ponto
estacionário. A regra de Armijo é um procedimento muito empregado com esta
finalidade, e seu uso garante a convergência do Método da Descida (Bazaraa, Sherali &
Shetty, 2009). Os passos descritos a seguir resumem o método. Dada uma precisão 𝜀 >
0, emprega-se como critério de parada 𝛻𝑓(𝑥𝑘 ) < 𝜀.

34
O MÉTODO DE DESCIDA

PASSO 1 (Inicialização)
𝑘 ← 0;
Defina uma solução inicial 𝑥0 ;

PASSO 2 (Teste de parada)


Se 𝛻𝑓(𝑥𝑘 ) < 𝜀 então PARE;
Senão vá ao Passo 3;

PASSO 3 (Atualização da solução)


𝛻𝑓(𝑥𝑘 )
𝑑𝑘 ← (ou equivalentemente 𝑑𝑘 ← 𝛻𝑓(𝑥𝑘 ) )
𝛻𝑓(𝑥𝑘 )

Resolva Pα para obter 𝛼𝑘 ;


𝑥𝑘+1 = 𝑥𝑘 + 𝛼𝑘 𝑑𝑘 ;
𝑘 ← 𝑘 + 1;
Volte ao PASSO 2;

35
O MÉTODO DE DESCIDA

No exemplo que segue, busca-se a maximizar uma função em duas variáveis com o
método que você acabou de aprender. Há duas possibilidades, portanto. Convertê-lo em
um problema de minimização pela troca de sinal da 𝑓 e assim aplicar o Método de
Descida, ou tomar a direção de crescimento de 𝑓 em cada iteração. Por isso, em um
problema de maximização o método é dito de subida.

Exemplo 3 – Resolva o problema abaixo pelo Método de Descida tomando como ponto
inicial 𝑥1 , 𝑥2 = 1,1 , e uma precisão 𝜀 = 0.1.

2 2
max 𝑓 𝑥1 , 𝑥2 = 4𝑥1 + 6𝑥2 − 2𝑥1 − 2𝑥1 𝑥2 − 2𝑥2

Resolução: Antes de mais nada é preciso obter o gradiente de 𝑓(𝑥).

𝜕𝑓(𝑥) 𝜕𝑓 𝑥
= 4 − 4𝑥1 − 2𝑥2 , = 6 − 2𝑥1 − 4𝑥2 ,
𝜕𝑥1 𝜕𝑥1
36
O MÉTODO DE DESCIDA

Logo:

𝛻𝑓 𝑥 = 4 − 4𝑥1 − 2𝑥2 , 6 − 2𝑥1 − 4𝑥2 .

Iteração-1:

𝛻𝑓 1,1 = −2,0 ⇒ 𝛻𝑓 1,1 > 0,1

𝑥 1 = 𝑥 0 + 𝛼0 𝑑0 = 1,1 + 𝛼0 −2,0 = (1 − 2𝛼0 , 1)

𝑓 𝑥 1 = 𝑓 1 − 2𝛼0 , 1 = 𝑔 𝛼0 = −2 1 − 2𝛼0 2
+ 2(1 − 2𝛼0 ) + 4

𝑑𝑔 𝛼0
= 0 ⇔ 8 1 − 2𝛼0 − 4 = 0 ⇔ 𝛼0 = 1/4
𝑑𝛼0

⇒ 𝑥 1 = 1/2,1 ⇒ 𝑓 𝑥 1 = 9ൗ2

37
O MÉTODO DE DESCIDA

Iteração-2:

𝛻𝑓 1ൗ2 , 1 = (0,1) ⇒ 𝛻𝑓 1ൗ2 , 1 > 0,1

𝑥 2 = 𝑥 1 + 𝛼1 𝑑1 = 1ൗ2 , 1 + 𝛼1 0,1 = 1ൗ2 , 1 + 𝛼1

3
𝑓 𝑥 2 = 𝑓 1ൗ2 , 1 + 𝛼1 = 𝑔 𝛼1 = −2 1 + 𝛼1 2
+ 5(1 + 𝛼1 ) +
2

𝑑𝑔(𝛼1 )
= 0 ⇔ −4(1 + 𝛼1 ) + 5 = 0 ⇔ 𝛼1 = 1/4
𝑑𝛼1

⇒ 𝑥 2 = 1ൗ2 , 5ൗ4 ⇒ 𝑓 𝑥 2 = 37ൗ8 ≈ 4,625

38
O MÉTODO DE DESCIDA

Iteração-3:

𝛻𝑓 1ൗ2 , 5ൗ4 = − 1ൗ2 , 0 ⇒ 𝛻𝑓 1ൗ2 , 5ൗ4 > 0,1

1 − 𝛼2 5
𝑥 3 = 𝑥 2 + 𝛼2 𝑑 2 = 1ൗ2 , 5ൗ4 + 𝛼2 − 1ൗ2 , 0 = , ൗ4
2

1 − 𝛼2 5 1 3 35
𝑓 𝑥3 = 𝑓 , ൗ4 = 𝑔 𝛼2 = − 1 − 𝛼2 2
+ (1 − 𝛼2 ) +
2 2 4 8

𝑑𝑔(𝛼2 ) 3
= 0 ⇔ 1 − 𝛼2 − = 0 ⇔ 𝛼2 = 1/4
𝑑𝛼2 4

149
⇒ 𝑥 3 = 3ൗ8 , 5ൗ4 ⇒ 𝑓 𝑥 3 = ≈ 4,65625
32
39
O MÉTODO DE DESCIDA

Iteração-4:

𝛻𝑓 3ൗ8 , 5ൗ4 = 0, 1ൗ4 ⇒ 𝛻𝑓 3ൗ8 , 5ൗ4 > 0,1

5 + 𝛼3
𝑥 4 = 𝑥 3 + 𝛼3 𝑑3 = 3ൗ8 , 5ൗ4 + 𝛼3 0, 1ൗ4 = 3ൗ8 ,
4

5 + 𝛼3 1 21 39
𝑓 𝑥 4 = 𝑓 3ൗ8 , = 𝑔 𝛼3 = − 5 + 𝛼3 2
+ (5 + 𝛼3 ) +
4 8 16 32

𝑑𝑔(𝛼3 ) 1 21
= 0 ⇔ − (5 + 𝛼3 ) + = 0 ⇔ 𝛼 = 1/4
𝑑𝛼3 4 16

597
⇒ 𝑥 = 3/8, 21Τ16 ⇒ 𝑓 𝑥 4 =
4
≈ 4,66406
128
40
O MÉTODO DE DESCIDA

Iteração-5:

𝛻𝑓 3ൗ8 , 21ൗ16 = − 1ൗ8 , 0 ⇒ 𝛻𝑓 3ൗ8 , 21ൗ16 > 0,1

3 − 𝛼4 21
𝑥 5 = 𝑥 4 + 𝛼4 𝑑 4 = 3ൗ8 , 21ൗ16 + 𝛼4 − 1ൗ8 , 0 = ,
8 16

3 − 𝛼4 21 1 11 567
𝑓 𝑥5 = 𝑓 , = 𝑔 𝛼4 = − 3 − 𝛼4 2
+ (3 − 𝛼4 ) +
8 16 32 64 128

𝑑𝑔(𝛼4 ) 1 11
=0⇔ 3−𝛼 − = 0 ⇔ 𝛼 = 1/4
𝑑𝛼4 16 64

2.389
⇒ 𝑥 5 = 11ൗ32 , 21ൗ16 ⇒ 𝑓 𝑥 5 = ≈ 4,66602
512

41
O MÉTODO DE DESCIDA

Iteração-6:

𝛻𝑓 3ൗ8 , 21ൗ16 = 0, 1ൗ16 ⇒ 𝛻𝑓 3ൗ8 , 21ൗ16 = 1ൗ16 < 0,1

Atendida a condição de otimalidade na sexta iteração, o método para e retorna a


solução aproximada 𝑥෤ = 11Τ , 21Τ = 0,34375; 1,3125 , cujo valor é
32 16

𝑓 𝑥෤ = 2.389Τ512 ≈ 4,66602. É interessante notar que 𝑥෤ está muito próximo da


solução ótima 𝑥 ∗ = 1Τ , 4Τ
3 3 , sendo que seus valores diferem apenas a partir da
quarta casa decimal, dado que 𝑓 𝑥 ∗ = 42Τ9 ≈ 4,66667. Obviamente, para menores
valores de 𝜀 (ou seja, para uma precisão maior), a aproximação obtida tenderia a
ser ainda melhor. Contudo, valores muito pequenos tendem a tornar a
convergência lenta sem grandes ganhos na qualidade da solução final. □

42
O MÉTODO DE DESCIDA

Exemplo 4 – Resolva o problema abaixo pelo Método de Descida tomando como ponto
inicial 𝑥1 , 𝑥2 = 0,3 , e uma precisão 𝜀 = 0.1.

min 𝑓 𝑥1 , 𝑥2 = (𝑥1 − 2)4 +(𝑥1 − 2𝑥2 )2 .

Resolução: Para tornar a apresentação dos resultados mais organizada, a memória de


cálculo pode ser organizada como mostra a Tabela 1. Observe que após sete iterações
o método converge para o ponto 𝑥7 = (2,28; 1,15), onde 𝛻𝑓(𝑥7 ) = 0.09.

Observe que a solução exata deste problema leva ao mínimo local 𝑥 ∗ = 2,1 .

43
O MÉTODO DE DESCIDA

Tabela 1 – Iterações do método de descida no exemplo

Iteração 𝑘 𝑥𝒌 𝒇(𝑥𝒌 ) 𝒅𝒌 = −𝛁𝒇(𝑥𝒌 ) 𝛁𝒇(𝑥𝒌 ) 𝜶𝒌 𝑥𝒌+𝟏

1 (0,00;3,00) 52,00 (+44,00; -24,00) 50,12 0,062 (2,70;1,51)

2 (2,70;1,51) 0,34 (-0,73; -1,28) 1,47 0,24 (2,52;1,20)

3 (2,52;1,20) 0,09 (-0,80; +0,48) 0,93 0,11 (2,43;1,25)

4 (2,43;1,25) 0,04 (-0,18; -0,28) 0,33 0,31 (2,37;1,16)

5 (2,37;1,16) 0,02 (-0,30; +0,20) 0,36 0,12 (2,33;1,18)

6 (2,33;1,18) 0,01 (-0,08; -0,12) 0,14 0,36 (2,30;1,14)

7 (2,30;1,14) 0,009 (-0,15; +0,08) 0,17 0,13 (2,28;1,15)

8 (2,28;1,15) 0,007 (-0,05; -0,08) 0,09

44
O MÉTODO DE NEWTON

O método de Newton para solução de problemas em ℝ𝑛 pode ser visto como uma
extensão natural do procedimento apresentado na aula 7 para a resolução de problemas
em uma variável. Ou seja, em cada iteração 𝑘 do método, constrói-se uma aproximação
quadrática da função objetivo 𝑓(𝐱), tal que 𝐱 ∈ ℝ𝑛 . Mais precisamente, 𝑓 é aproximada
pela série de Taylor em torno da solução de teste atual, 𝐱 𝑘 , até o termo de segunda
ordem. Obtém-se assim uma função convexa (côncava), cujo ponto de mínimo é:

𝐱 𝑘+1 = 𝐱 𝑘 − 𝛻 2 𝑓 𝐱 𝑘 −1
𝛻𝑓 𝐱 𝑘 .

A solução 𝐱 𝑘+1 , que minimiza a função quadrática, é então usada como nova solução de
teste e mais uma iteração é realizada. O método para quando 𝐱 𝑘+1 − 𝐱 𝑘 < 𝜀. Ou seja,
quando a norma da diferença entre as soluções de duas iterações sucessivas for menor
que o erro 𝜀 > 0.
45
O MÉTODO DE NEWTON

Os algoritmos para Programação Não Linear que empregam o método de Newton


usualmente aproximam a inversa da matriz Hessiana de várias maneiras, uma vez que
calculá-la diretamente em cada iteração é computacionalmente custoso. Essas
“variações” do método de Newton são muitas vezes chamadas de métodos quase-
Newton.

46
BIBLIOGRAFIA

◼ Hillier, F.S. & Lieberman, G.J Introduction to Operations Research. MacGraw-Hill,


2001.

◼ Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P. Numerical recipes in C:
the art of scientific computing. Cambridge University Press, 1997.

◼ Taha, H.A., Pesquisa Operacional, 8. ed. Pearson Prentice Hall, 2008.

◼ Winston, W. Operations Reseach, Applications and Algorithms. Duxbury Press,


2003.

◼ M. Jamil, X.-S. Yang, A literature survey of benchmark functions for global


optimization problems, International Journal of Mathematical Modelling and
Numerical Optimisation 4(2), 150-194 (2013)

47

Você também pode gostar