Você está na página 1de 55

IA 810 Otimização de Sistemas de Grande Porte

2-Programação Não Linear

ProfFernandoGomide DCA-FEEC-Unicamp
Conteúdo
1. Introdução
2. Convexidade
3. Condições de Karush-Kuhn-Tucker
4. Pontos de sela e condições suficientes
5. Métodos de programação não linear

ProfFernandoGomide DCA-FEEC-Unicamp
1-Introdução

 Geometria da programação não linear

min z = ( x1 − 3) 2 + ( x2 − 4) 2
sa 5 − x1 − x2 ≥ 0
− 2.5 + x1 − x2 ≤ 0
x1 , x2 ≥ 0

ProfFernandoGomide DCA-FEEC-Unicamp
 Solução ótima na fronteira das restrições

5 – x1 – x2 = 0

x2 z=2

5
z=0
4

2
x* = (2, 3)

1 – 2.5 + x1 – x2 = 0

1 2 3 4 5 x1

ProfFernandoGomide DCA-FEEC-Unicamp
 Solução ótima no interior das restrições
5 – x1 – x2 = 0

x2
5 z=4

2
z=0
1 – 2.5 + x1 – x2 = 0

1 2 3 4 5 x1

ProfFernandoGomide DCA-FEEC-Unicamp
 Ótimo local devido à função objetivo

5 – x1 – x2 = 0

x2
5

4 z=0
z=4
3

1 – 2.5 + x1 – x2 = 0
z=3

1 2 3 4 5 x1

ProfFernandoGomide DCA-FEEC-Unicamp
 Ótimo local devido às restrições

x2 z = 15

a
z = 40

x1

ProfFernandoGomide DCA-FEEC-Unicamp
2-Convexidade

Definição 1: um conjunto é convexo se, dados dois pontos quaisquer x1 e x2


do conjunto, o segmento que os une também pertence ao conjunto.

S = { x | x = λx1 + ( 1 – λ) x2, 0 ≤ λ ≤ 1 }

x1
x2
x1
x2

convexo não convexo

ProfFernandoGomide DCA-FEEC-Unicamp
Definição 2: A função f (x) é convexa se o segmento de reta que une dois
pontos quaisquer de seu grafo nunca está abaixo do grafo (côncava se nunca
está acima).

f (λx1 + ( 1 – λ) x2) ≤ λf (x1) + ( 1 – λ)f ( x2) (≥ côncava)

f (x1)

f ( x2)

x1 x x2

convexa côncava
ProfFernandoGomide DCA-FEEC-Unicamp
 Teoremas básicos da programação não linear

Teorema 1: qualquer mínimo local de um modelo de otimização convexo


é um mínimo global.

Teorema 2: Se f (x) é convexa, então o conjunto R = { x | f (x) ≤ k} é


convexo para todo escalar k.

Teorema 3: a intersecção de conjuntos convexos é um conjunto convexo.

ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 2

função convexa

x2
f (x)

f (x) = k

R = { x | f (x) ≤ k}

x1

ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 4: se f (x) possui a primeira e a segunda derivadas contínuas,
então as seguintes afirmações são equivalentes:

(a) f (x) é convexa


(b) f (x1) ≥ f (x2) + ∇f (x2) (x1 – x2)
(c) a matriz derivada segunda de f (x) é positiva definida para todos x.

f (x1)
f ( x2)
(b)

x1 x2 x

ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 5: uma forma quadrática semi positiva definida é convexa.

Teorema 6: uma combinação linear positiva de funções convexas é convexa.

Teorema 7: a função f (x) é convexa se se somente se a função unidimensional


g(α) = f (x + αs) é convexa para todo x fixo e s.

ProfFernandoGomide DCA-FEEC-Unicamp
 Problemas com restrições de igualdade

min f ( x )
sa g i ( x ) ≤ 0 , i = 1,K , m
h j ( x ) = 0 , j = 1,K , r < n

R = { x | h(x) = 0} não necessariamente convexo

ProfFernandoGomide DCA-FEEC-Unicamp
3-Condições Karush-Kuhn-Tucker

Cone: um conjunto R é um cone se x ∈ R, então λx ∈ R para λ ≥ 0.

R = { x | x ∈ R ⇒ λx ∈ R , λ ≥ 0}

x2 x2
5
5
4
4
3
3
2
2
1 1

1 2 3 4 x1 1 2 3 4 x1

cone convexo cone não convexo


ProfFernandoGomide DCA-FEEC-Unicamp
Se x1, x2, ...., xm é um conjunto finito de vetores, então o conjunto R
de todas combinações lineares não negativas destes vetores é um
cone convexo.

R = { x | x = λ1 x1+ λ2 x2+ ....+ λmxm, λi ≥ 0, i =1,...,m}

x1, x2, ...., xm são os vetores geradores do cone

ProfFernandoGomide DCA-FEEC-Unicamp
 Teorema de KKT: interpretação geométrica

min f ( x1,x2 ) = ( x1 − 2) 2 + ( x2 − 1) 2
sa g1 ( x1,x2 ) = x12 − x2 ≤ 0
g 2 ( x1,x2 ) = x1 + x2 − 2 ≤ 0

x2
2 x1 + x2 – 2 = 0

1 (1, 1)
–∇f
(2,1)

x2 = x12

1 2 x1
ProfFernandoGomide DCA-FEEC-Unicamp
x1 + x2 – 2 = 0

∇g2

(1, 1) –∇f

∇g1

x2 = x12
x2 = 2x1 – 1

∇f ( x o ) = ∑ uio ( −∇ g i ( x o ))
i∈I
uio ≥ 0 , i ∈ I
ProfFernandoGomide DCA-FEEC-Unicamp
 Condições de Karush-Kuhn-Tucker

∇f ( x o ) = ∑ uio ( −∇ g i ( x o )) (5)
i∈I
uio ≥ 0
uio g i ( x o ) = 0
(6)
gi ( xo ) ≤ 0
i = 1,K , m

ProfFernandoGomide DCA-FEEC-Unicamp
 Condições de KKT e multiplicadores de Lagrange

m
L ( x , u ) = f ( x ) + ∑ ui g i ( x )
i =1

(5) e (6) ⇒ L(x, u) estacionário em (xo, uo), com uo satisfazendo (6)

ProfFernandoGomide DCA-FEEC-Unicamp
 Derivação das condições de Karush-Kuhn-Tucker

min f ( x )
(8)
sa g i ( x ) ≤ 0 , i = 1,K , m

f , g : diferenciáveis
xo : mínimo local
xo + y: perturbação no entorno de xo

B o = {i | g i ( x o ) = 0}

xo + y factível (admissível) se gi(xo + y) ≤ 0 , i ∈Bo

ProfFernandoGomide DCA-FEEC-Unicamp
gi ( xo + y) ≤ 0, i ∈ Bo

g i ( x o ) + ∇′g i ( x o ) y + O ( y ) ≤ 0 , i ∈ B o Taylor

i ∈ Bo ⇒ gi ( xo ) = 0

∇′g i ( x o ) y ≤ 0 , i ∈ B o (12)

y admissível ⇒ satisfaz (12)

satisfazer (12) ⇒ admissível (a não ser que y esteja qualificada)

ProfFernandoGomide DCA-FEEC-Unicamp
 Exemplo

g1 ( x ) = − x1 ≤ 0 x2
g 2 ( x ) = − x2 ≤ 0
g 3 ( x ) = − (1 − x1 ) 3 + x2 ≤ 0
1

x o = (1,0) , B o = {2 ,3} x2 = (1 – x1)3

∇′g 2 ( x o ) y = − y2 ≤ 0 y
∇′g 3 ( x o ) y = y2 ≤ 0 1 x1
y = (1,0) satisfaz mas não é admissível

y não qualificada

ProfFernandoGomide DCA-FEEC-Unicamp
 Mínimo local

– nenhuma perturbação local factível y

∇′g i ( x o ) y ≤ 0 , i ∈ B o

– diminui função objetivo f

∇′f ( x o ) y ≥ 0

Z 2o = { y | ∇′g i ( x ) y ≤ 0 , i ∈ B o , ∇f ′( x o ) y < 0} = φ

ProfFernandoGomide DCA-FEEC-Unicamp
 Lema de Farkas

Seja {P0, P1, ..,Pr} um conjunto arbitrário de vetores. Então existem βi ≥ 0


tal que:
r
P0 = ∑ βi Pi
i =1
se e somente se P0′ y ≥ 0 para todo y que satisfaz Pi′y ≥ 0 , i = 1,K , r

Prova
r
→ se P0 = ∑ βi Pi então
i =1
r
P0′ y = ∑ βi Pi′y , βi ≥ 0
i =1
∀y que satisfaz Pi′y ≥ 0
ProfFernandoGomide DCA-FEEC-Unicamp
← se P0′ y ≥ 0 e Pi′y ≥ 0 , i = 1,K , r então o PL

min P0′ y
sa Pi′y ≥ 0 , i = 1,K , r

tem solução ótima y = 0. Logo o problema dual é factível e tem


solução ótima finita. Este dual, com variáveis β1,...,βr tem as
restrições (que são factíveis):

r
P0 = ∑ βi Pi , βi ≥ 0
i =1

ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 8: se f e g são diferenciáveis e xo é um mínimo local, então existem
multiplicadores uio ≥ 0 tal que

n
∇f ( x ) + ∑ uio∇g i ( x o ) = 0
o
i =1
uio∇g i ( x o ) = 0, i = 1,K ,m

se e somente se Z 2o = φ

ProfFernandoGomide DCA-FEEC-Unicamp
Prova

se escolhermos vetores ∇f(xo) e –∇gi(xo), i∈Bo como {P0,...,Pr} no


lema de Farkas, então existem ui ≥ 0 , i ∈ B tal que
o o

n
∇f ( x ) = ∑ uio ( −∇ g i ( x o )) = 0 se e somente se
o
i =1

∇f ′( x o ) y ≥ 0 para todo y que satisfaz ∇g i ( x o ) y ≤ 0 , i ∈ B o

Se definirmos uio = 0 para i ∉ B o então

n
∇f ( x ) + ∑ uio∇g i ( x o ) = 0
o
i =1
uio∇g i ( x o ) = 0, i = 1,K ,m

ProfFernandoGomide DCA-FEEC-Unicamp
 Classe de problemas onde KKT são necessárias

– mínimo local quando Z 2o = φ

1. todas restrições são lineares

2. todas as restrições são convexas e interior conjunto restrição ≠ φ

3. gradientes de todas as restrições ativas são linearmente independentes

4. qualificação de restrição é satisfeita

se xo satisfaz gi(x) ≤ 0, i = 1,...,m, gi diferenciáveis, então a qualificação


de restrição é satisfeita em xo se todo y tal que g’i(x)y ≤ 0, i ∈Bo é
tangente a um arco diferenciável que emana de xo e está contido no
conjunto restrição.

ProfFernandoGomide DCA-FEEC-Unicamp
 Teorema de Karush-Kuhn-Tucker

Se

a) todas funções f e gi são diferenciáveis


b) xo é um mínimo local para (8)
c) qualificação de restrição é verificada em xo

então existe um vetor uo = (uo1, uo2,..., uom) ≥ 0 tal que as condições de KKT
n
∇f ( x ) + ∑ uio∇g i ( x o ) = 0
o
i =1
uio∇g i ( x o ) = 0, i = 1,K ,m

são satisfeitas em xo.

ProfFernandoGomide DCA-FEEC-Unicamp
4-Pontos de sela e condições suficientes

– Condições de KKT
• necessárias problemas convexos e não convexos
• supõem função objetivo e restrições diferenciáveis

– Condições baseadas na função Lagrangeana


• verificadas sem necessidade de diferenciabilidade
• suficientes para quase todos modelos de programação matemática
• se o modelo é convexo e satisfaz qualificação de restrição então
condições de ponto de sela são necessárias e suficientes

ProfFernandoGomide DCA-FEEC-Unicamp
 Problema primal

min f ( x ) (1)

sa g i ( x ) ≤ 0 , i = 1,K , m (2)

x∈S (3)

f , g : funções arbitrárias definidas em S


x : vetor n dimensional
S : subconjunto arbitrário de En

 Função Lagrangeana associada


m
L ( x , u ) = f ( x ) + ∑ ui g i ( x ) , u i ≥ 0 (4)
i =1
ProfFernandoGomide DCA-FEEC-Unicamp
Definição 3: o ponto (xo, uo) com uo ≥ 0 e xo∈S é um ponto de sela de L(x,u) se

L(xo, uo) ≤ L(x, uo) ∀x∈S


L(xo, uo) ≥ L(xo, u) ∀u≥ 0

L(x,u)

u
x

ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 9: seja uo ≥ 0 e xo∈S. Então (xo, uo) é um ponto de sela de L(x, u)
se e somente se

(a) x o minimiza L ( x ,u o ) em S
(b) g i ( x o ) ≤ 0, i = 1,K ,m
(c) uio g i ( x o ) = 0 , i = 1,K ,m

Prova
→ L(xo, uo) ≤ L(x, uo) ∀x∈S ⇒ (a)

L(xo, uo) ≥ L(xo, u) ∀u≥ 0


m m
f ( x ) + ∑ uio g i ( x o ) ≥
o
f ( x ) + ∑ ui g i ( x o ) , ui ≥ 0
o
i =1 i =1

∑ (ui − uio ) g i ( x o ) ≤ 0 , ∀u i ≥ 0 (11)


i
ProfFernandoGomide DCA-FEEC-Unicamp
Se (b) (gi(x) ≤ 0, i = 1,...,m) é violada, então ui pode ser escolhido
suficientemente grande tal que (11) seja violada. Então (b) tem que
ser satisfeita.

Se todos ui = 0, então (11) ⇒ ∑ uio g i ( x o ) ≥ 0


i
mas uio ≥ 0 e g i ( x ) ≤ 0 ⇒ ∑ uio g i ( x o ) ≤ 0
i
logo uio g i ( x o ) = 0 , i = 1,K , m

← (a) xo minimiza L(x, uo) e (c) uoi gi(x) = 0, i = 1,...,m ⇒ L(xo, uo) = f (xo)
m
por definição L ( x ,u ) = f ( x ) +
o o
∑ ui g i ( x o )
i =1
como gi(x) ≤ 0, o termo ui gi(x) é não positivo para todo ui ≥ 0 e

L ( x o ,u ) ≤ f ( x o ) = L ( x o ,u o ), ∀u ≥ 0

ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 10: (suficiência do ponto de sela)

Se (xo, uo) é um ponto de sela de L(x, u), então xo é solução do primal

Prova

como (xo, uo) é um ponto de sela, então as condições (a), (b) e (c), teorema 9
são satisfeitas. Fazendo g(x) = (g1(x),....,gm(x))' a condição (a) torna-se

f (xo) + uog(xo) ≤ f(x) + uog(x), ∀x∈S (18)

Condição (c) ⇒ uog(xo) = 0 e (18) torna-se

f (xo) ≤ f(x) + uog(x), ∀x∈S que satisfaz g(x) ≤ 0 (19)

e ∀x primal factível, o termo uog(x) é não positivo; isto é

f (xo) ≤ f(x), ∀x∈S, g(x) ≤ 0 ⇒ xo é solução do primal


ProfFernandoGomide DCA-FEEC-Unicamp
 Comentários sobre suficiência do ponto de sela

– Teorema 10 se aplica a qualquer modelo de otimização, incluindo


• S é um conjunto finito
• f e g não convexas

– Ponto de sela pode não existir


• existência garantida somente para modelos convexos
• mesmo assim minimização de L(x, u) pode ser atrativa

ProfFernandoGomide DCA-FEEC-Unicamp
 Exemplo da não existência ponto de sela

min{− x 2 | 1 − 2 x = 0 , 0 ≤ x ≤ 1}

Fazendo S = {0 ≤ x ≤ 1} o problema de minizar o Lagrangean o é

min{L ( x ,u ) = − x 2 + u (1 − 2 x )}
x∈S

1
∃/ u | min L ( x,u ) ocorre em x o =
2

ProfFernandoGomide DCA-FEEC-Unicamp
5-Métodos de programação não linear

 Categorias principais

– métodos das direções factíveis

– métodos das funções de penalização

ProfFernandoGomide DCA-FEEC-Unicamp
 Métodos das direções factíveis

– Princípio dos métodos das direções factíveis

1. escolher uma solução inicial factível

2. determinar uma direção que

2.1 pequeno movimento nesta direção não viola restrições (factível)

2.2 valor da função objetivo melhora nesta direção (usável)

ProfFernandoGomide DCA-FEEC-Unicamp
 Métodos das direções factíveis

x2

–∇f
x3

s2
f diminui
x2
yo s1
so x1
xo
x1

ProfFernandoGomide DCA-FEEC-Unicamp
 Algoritmo de Zoutendijk

min f ( x )
sa g i ( x ) ≥ 0 , i = 1,K , m

R = { x | gi(x) ≥ 0, i = 1,...,m } conjunto restrição

xo : solução inicial factível

escolher vetor s cuja direção seja simultaneamente factível e usável

supor gi(xo) = 0, i ∈ I

ProfFernandoGomide DCA-FEEC-Unicamp
 Direção factível

d
g i ( xo + α s ) = ∇g i′ ( xo ) s ≥ 0
dα α =0

 Direção usável

d
f ( xo + α s ) = ∇f i′( xo ) s < 0
dα α =0

 Melhor direção: vetor factível que min ∇f '(xo) s

 Projeção de – ∇f (xo) no plano tangente em xo

ProfFernandoGomide DCA-FEEC-Unicamp
– ∇f (xo)
so
xo

plano tangente

 Melhor direção (s, ξ) deve ser tal que


– diminui função objetivo
– se afasta da fronteira do conjunto restrição
ProfFernandoGomide DCA-FEEC-Unicamp
min ξ
sa ∇′g i ( x ) s + θi ξ ≥ 0 , i ∈ I , 0 ≤ θi ≤ 1
∇f ( xo ) s − ξ ≤ 0
s′s = 1

 Problema quase linear


– pode ser resolvido eficientemente
– se min ξ > 0 então s não factível; pára

 Determinação do passo

min f ( xk + αs )
sa xk + α s ∈ R

ProfFernandoGomide DCA-FEEC-Unicamp
 Algoritmo do gradiente projetado de Rosen

x2

x*

– ∇f (x)
– P ∇f (xo)

x1

P = I − A( A′A) −1 A′ Restrições lineares

ProfFernandoGomide DCA-FEEC-Unicamp
 Resumo algoritmo do gradiente projetado

1. calcular ∇f (xk)

2. associar à xk as restrições ativas (planos que passam) em xk

3. projetar –∇f (xk) na intersecção dos planos que passam em xk


se xk é um ponto interior, então a projeção é o própio –∇f (xk)

4. se a projeção não é nula, então minimizar ao longo da projeção,


sujeitas às restrições; fazer k = k + 1 e ir para o passo 1

5. Se a projeção é nula, então ∇f (xk) pode ser escrito como ∇f (xk) = ∑i uiai

5.1 se ui ≥ 0 ∀i, então é solução ótima (satisfaz KKT); senão

5.2 definir novo conjunto de planos associado à xk, removendo do conjunto


corrente de planos aqueles com ui < 0; ir para passo 3

ProfFernandoGomide DCA-FEEC-Unicamp
 Métodos das funções de penalização

min f ( x )
sa g i ( x ) ≥ 0 , i = 1,K , m

0 y≥0
φ( x ) = 
∞ y<0

m
min f ( x ) + ∑ φ( g i ( x ))
i =1

ProfFernandoGomide DCA-FEEC-Unicamp
 Algoritmo de Fiacco-McCormick

m 1
P ( x , r ) = f ( x) + r ∑ , r>0
i =1 g i ( x )

1. escolher r1 > 0 e xo interior ao conjunto restrição

2. min P(x, r1) iniciando em xo existe x(r1) dentro conjunto restrição

3. r1 > r2 >...> rk > 0, cada solução x(r1) será um ponto interior

4. efeito de r : reduzir influência do terno adicional


 Modelo dual de Wolfe

– Primal

min f ( x )
sa g i ( x ) ≥ 0 , i = 1,K , m

– Dual
m
max L ( x ,u ) = f ( x ) − ∑ ui g i ( x )
i =1
m
sa ∇ f ( x ) = ∑ ui ∇ g i ( x )
i =1
ui ≥ 0 , i = 1,K , m
 Propriedades do modelo dual de Wolfe

1. se primal tem solução x, então ∃u tal que (x, u) resolve o dual

2. valores das funções objetivos primal e dual são iguais

3. para cada x primal factível e (x, u) dual factível f (x) ≥ L(x, u)

4. f (x) limitante superior e L(x, u) limitante inferior


m 1
P( x , r ) = f ( x) + r ∑ , r>0
i =1 g i ( x )

m rk
∇P ( x ( rk ) , rk ) = ∇f ( x ( rk )) + ∑ ∇g i ( x ( rk )) = 0
2
i =1 g i ( x ( rk ))

rk
ui ( rk ) = >0
g i2 ( x ( rk ))
Se

1. se interior conjunto restrição não vazio

2. funções f e gi são 2×continuamente diferenciáveis

3. conjunto ponto no conjunto restrição tal que f (x) ≤ k é limitado ∀k < ∞

4. f (x) limitada inferiormente para x no conjunto restrição

5. f (x) convexa

6. gi côncavas

7. P(x, r) estritamente convexa no interior do conjunto restrição ∀r > 0

então
m 1
L ( x ,u ) = f ( x ( rk )) − rk ∑ ≤ vo ≤ f ( x ( rk ))
2
i =1 g i ( x ( rk ))

vo: P-mínimo

{(x(rk), u(rk))} converge para a solução dual (x, u)


Observação

Este material refere-se às notas de aula do curso IA 810 Otimização de


Sistemas de Grande da Faculdade de Engenharia Elétrica e de Computação
da Unicamp. Não substitui o livro texto, as referências recomendadas e nem
as aulas expositivas. Este material não pode ser reproduzido sem autorização
prévia dos autores. Quando autorizado, seu uso é exclusivo para atividades
de ensino e pesquisa em instituições sem fins lucrativos.

DCA-FEEC-Unicamp

Você também pode gostar