55
2-Programação Não Linear IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp

2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Embed Size (px)

Citation preview

Page 1: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

2-Programação Não Linear

IA 810 Otimização de Sistemas de Grande Porte

ProfFernandoGomide DCA-FEEC-Unicamp

Page 2: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

1. Introdução2. Convexidade3. Condições de Karush-Kuhn-Tucker4. Pontos de sela e condições suficientes5. Métodos de programação não linear

Conteúdo

DCA-FEEC-UnicampProfFernandoGomide

Page 3: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

1-Introdução

� Geometria da programação não linear

DCA-FEEC-UnicampProfFernandoGomide

0

052

05

)4()3(

21

21

21

22

21

≥≤−+−≥−−

−+−=

x,x

xx.

xxsa

xxzmin

Page 4: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

� Solução ótima na fronteira das restrições

5 –x1 – x2 = 0

– 2.5 + x1 – x2 = 0

x1

x2

1 2 3 4 5

1

4

5z = 0

z = 2

x* = (2, 3)2

3

Page 5: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Solução ótima no interior das restrições

5 –x1 – x2 = 0

– 2.5 + x1 – x2 = 0

x1

x2

1 2 3 4 5

1

4

5

z = 0

z = 4

2

3

DCA-FEEC-UnicampProfFernandoGomide

Page 6: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Ótimo local devido à função objetivo

5 –x1 – x2 = 0

– 2.5 + x1 – x2 = 0

x1

x2

1 2 3 4 5

1

4

5

z = 0z = 4

2

3

z = 3

DCA-FEEC-UnicampProfFernandoGomide

Page 7: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

a

b

z= 40

z= 15x2

x1

� Ótimo local devido às restrições

DCA-FEEC-UnicampProfFernandoGomide

Page 8: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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

DCA-FEEC-UnicampProfFernandoGomide

Page 9: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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)

x1 x2x

f (x1)

f ( x2)

convexa côncava

DCA-FEEC-UnicampProfFernandoGomide

Page 10: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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

DCA-FEEC-UnicampProfFernandoGomide

Page 11: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

x1

x2f (x)

f (x) = k

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

função convexa

Teorema 2

DCA-FEEC-UnicampProfFernandoGomide

Page 12: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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.

x1 x2x

f (x1)

f ( x2)(b)

DCA-FEEC-UnicampProfFernandoGomide

Page 13: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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.

DCA-FEEC-UnicampProfFernandoGomide

Page 14: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Problemas com restrições de igualdade

nr,,j,xh

m,,i,xgsa

xfmin

j

i

<===≤

K

K

10)(

10)(

)(

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

DCA-FEEC-UnicampProfFernandoGomide

Page 15: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

3-Condições Karush-Kuhn-Tucker

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

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

cone convexo

x1

x2

1 2 3 4

1

2

3

4

5

x1

x2

1 2 3 4

1

2

3

4

5

cone não convexo

DCA-FEEC-UnicampProfFernandoGomide

Page 16: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Se x1, x2, ...., xm é um conjunto finito de vetores, então o conjunto Rde 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

DCA-FEEC-UnicampProfFernandoGomide

Page 17: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Teorema de KKT: interpretação geométrica

02)(

0)(

)1()2()(

21212

221211

22

2121

≤−+=≤−=

−+−=

xx,xxg

xx,xxgsa

xx,xxfmin

1 2

1

2

(2,1)

(1, 1)–∇f

x1 + x2 – 2 = 0

x2 = x12

x2

x1 DCA-FEEC-UnicampProfFernandoGomide

Page 18: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

–∇f

x1 + x2 – 2 = 0

x2 = x12

x2 = 2x1 – 1

(1, 1)

∇g2

∇g1

Ii,u

xguxf

i

iIi

i

∈≥

−∇=∇ ∑∈

0

))(()(

o

ooo

DCA-FEEC-UnicampProfFernandoGomide

Page 19: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Condições de Karush-Kuhn-Tucker

(5)

(6)

m,,i

xg

xgu

u

xguxf

i

ii

i

iIi

i

K

o

oo

o

ooo

1

0)(

0)(

0

))(()(

=≤

=

−∇=∇ ∑∈

DCA-FEEC-UnicampProfFernandoGomide

Page 20: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Condições de KKT e multiplicadores de Lagrange

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

∑=

+=m

iii xguxfu,xL

1)()()(

DCA-FEEC-UnicampProfFernandoGomide

Page 21: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Derivação das condições de Karush-Kuhn-Tucker

m,,i,xgsa

xfmin

i K10)(

)(

=≤

f , g : diferenciáveis

xo : mínimo local

xo + y: perturbação no entorno de xo

}0)({ == oo xg|iB i

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

(8)

DCA-FEEC-UnicampProfFernandoGomide

Page 22: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

oo Bi,yxgi ∈≤+ 0)(

ooo Bi,yOyxgxg ii ∈≤+∇′+ 0)()()( Taylor

0)( =⇒∈ oo xgBi i

oo Bi,yxgi ∈≤∇′ 0)(

y admissível ⇒ satisfaz (12)

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

(12)

DCA-FEEC-UnicampProfFernandoGomide

Page 23: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

0)1()(

0)(

0)(

23

13

22

11

≤+−−=

≤−=≤−=

xxxg

xxg

xxg x2

x11

1

x2 = (1 –x1)3

y

admissívelénãomassatisfaz)01(

0)(

0)(

23

22

,y

yyxg

yyxg

=≤=∇′

≤−=∇′o

o

}32{)01( ,B,,x == oo

� Exemplo

y não qualificada

DCA-FEEC-UnicampProfFernandoGomide

Page 24: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Mínimo local

– nenhuma perturbação local factível y

– diminui função objetivo f

oo Bi,yxgi ∈≤∇′ 0)(

0)( ≥∇′ yxf o

φ=<′∇∈≤∇′= }0)(0)({2 yxf,Bi,yxg|yZ iooo

DCA-FEEC-UnicampProfFernandoGomide

Page 25: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Lema de Farkas

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

tal que:

∑=

β=r

iii PP

10

se e somente se 00 ≥′ yP para todo y que satisfaz r,,i,yPi K10 =≥′

→ se ∑=

β=r

iii PP

10 então

0satisfazque

01

0

≥′∀

≥β′β=′ ∑=

yPy

,yPyP

i

i

r

iii

Prova

DCA-FEEC-UnicampProfFernandoGomide

Page 26: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

← se 00 ≥′ yP e

r,,i,yPsa

yPmin

i K100

=≥′′

r,,i,yPi K10 =≥′ então o PL

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 asrestrições (que são factíveis):

01

0 ≥ββ= ∑=

i

r

iii ,PP

DCA-FEEC-UnicampProfFernandoGomide

Page 27: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Teorema 8:se f e g são diferenciáveis e xo é um mínimo local, então existem

multiplicadores tal que0≥oiu

,m,ixgu

xguxf

ii

n

iii

Koo

ooo

10,)(

0)()(1

==∇

=∇+∇ ∑=

se e somente se φ=o2Z

DCA-FEEC-UnicampProfFernandoGomide

Page 28: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

se escolhermos vetores ∇f(xo) e –∇gi(xo), i∈Bo como {P0,...,Pr} nolema de Farkas, então existem tal queoo Bi,ui ∈≥ 0

0))(()(1

=−∇=∇ ∑=

n

iii xguxf ooo se e somente se

0)( ≥′∇ yxf o para todo y que satisfaz oo Bi,yxgi ∈≤∇ 0)(

Se definirmos oo Biui ∉= para0

,m,ixgu

xguxf

ii

n

iii

Koo

ooo

10,)(

0)()(1

==∇

=∇+∇ ∑=

então

Prova

DCA-FEEC-UnicampProfFernandoGomide

Page 29: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Classe de problemas onde KKT são necessárias

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çãode restrição é satisfeita em xo se todoy tal que g’ i(x)y ≤ 0, i ∈Bo étangente a um arco diferenciável que emana de xo e está contido noconjunto restrição.

φ=o2Z– mínimo local quando

DCA-FEEC-UnicampProfFernandoGomide

Page 30: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� 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, uo

2,..., uom) ≥ 0 tal que as condições de KKT

,m,ixgu

xguxf

ii

n

iii

Koo

ooo

10,)(

0)()(1

==∇

=∇+∇ ∑=

são satisfeitas em xo.

DCA-FEEC-UnicampProfFernandoGomide

Page 31: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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

DCA-FEEC-UnicampProfFernandoGomide

Page 32: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Sx

m,,i,xgsa

xfmin

i

∈=≤ K10)(

)(

� Problema primal

(1)

(2)

(3)

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

x : vetor n dimensional

S : subconjunto arbitrário de En

0)()()(1

≥+= ∑=

i

m

iii u,xguxfu,xL

� Função Lagrangeana associada

(4)

DCA-FEEC-UnicampProfFernandoGomide

Page 33: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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

xu

L(x,u)

DCA-FEEC-UnicampProfFernandoGomide

Page 34: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Teorema 9:seja uo ≥ 0 e xo∈S. Então (xo, uo) é um ponto de sela de L(x, u)

se e somente se

,m,i,xgu

,m,ixg

Su,xLx

ii

i

K

K

oo

o

oo

10)((c)

10,)((b)

em)(minimiza(a)

==

=≤

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

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

∑∑

≥∀≤−

≥+≥+==

iiiii

i

m

iii

m

iii

u,xguu

u,xguxfxguxf

00)()(

0)()()()(11

oo

ooooo

(11)

Prova

DCA-FEEC-UnicampProfFernandoGomide

Page 35: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Se (b) (gi(x) ≤ 0, i = 1,...,m) é violada, então ui pode ser escolhidosuficientemente grande tal que (11) seja violada. Então (b) tem queser satisfeita.

Se todos ui = 0, então (11) ⇒

mas

logo

∑ ≥i

ii xgu 0)( oo

∑ ≤⇒≤≥i

iiii xguxgeu 0)(0)(0 ooo

m,,i,xgu ii Koo 10)( ==

← (a) xo minimiza L(x, uo) e (c) uoi gi(x) = 0, i = 1,...,m ⇒ L(xo, uo) = f (xo)

por definição

como gi(x) ≤ 0, o termoui gi(x) é não positivo para todo ui ≥ 0 e

∑=

+=m

iii xguxfu,xL

1)()()( ooo

0),( )()( ≥∀=≤ uu,xLxfu,xL oooo

DCA-FEEC-UnicampProfFernandoGomide

Page 36: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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 9sã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 satisfazg(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

DCA-FEEC-UnicampProfFernandoGomide

Page 37: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� 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

DCA-FEEC-UnicampProfFernandoGomide

Page 38: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Exemplo da não existência ponto de sela

2

1 em ocorre )(

)}21()({

é oLagrangean ominizar de problema o }10{ Fazendo

}10021{

2

2

=∃/

−+−=

≤≤=

≤≤=−−

oxx,uLmin u |

xuxu,xLmin

xS

x,x|xmin

Sx

DCA-FEEC-UnicampProfFernandoGomide

Page 39: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

5-Métodos de programação não linear

DCA-FEEC-UnicampProfFernandoGomide

� Categorias principais

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

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

Page 40: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

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

Page 41: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

xo

x1

x2

x3

s1so

f diminui

x1

x2

–∇f

s2

yo

a

� Métodos das direções factíveis

Page 42: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

� Algoritmo de Zoutendijk

m,,i,xgsa

xfmin

i K10)(

)(

=≥

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

xo : solução inicial factível

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

supor gi(xo) = 0, i ∈ I

Page 43: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

0)()( o0

o ≥′∇=α+α =α

sxgsxgd

dii

0)()( o0

o <′∇=α+α =α

sxfsxfd

di

� Direção factível

� Direção usável

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

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

Page 44: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

xo

– ∇f (xo)so

plano tangente

� Melhor direção (s, ξ) deve ser tal que– diminui função objetivo

– se afasta da fronteira do conjunto restrição

Page 45: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

1

0)(

100)(

o

=′≤ξ−∇

≤θ≤∈≥ξθ+∇′ξ

ss

sxf

,Ii,sxgsa

min

iii

� Problema quase linear– pode ser resolvido eficientemente

– se min ξ > 0 então snão factível; pára

Rsxsa

sxfmin

k

k

∈α+α+ )(

� Determinação do passo

Page 46: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

� Algoritmo do gradiente projetado de Rosen

x1

x2

– ∇f (x)

– P ∇f (xo)

x*

AAAAIP ′′−= −1)( Restrições lineares

Page 47: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

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 conjuntocorrente de planos aqueles com ui < 0; ir para passo 3

� Resumo algoritmo do gradiente projetado

Page 48: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

DCA-FEEC-UnicampProfFernandoGomide

� Métodos das funções de penalização

m,,i,xgsa

xfmin

i K10)(

)(

=≥

<∞≥

=φ0

00)(

y

yx

∑=

φ+m

ii xgxfmin

1))(()(

Page 49: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

� Algoritmo de Fiacco-McCormick

0)(

1)()(

1>+= ∑

=r,

xgrxfr,xP

m

i i

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

2. min P(x, r1) iniciando emxo 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

Page 50: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

m,,i, u

xguxfsa

xguxfu,xLmax

i

i

m

ii

i

m

ii

K10

)()(

)()()(

1

1

=≥

∇=∇

−=

=

=

� Modelo dual de Wolfe

m,,i,xgsa

xfmin

i K10)(

)(

=≥

– Primal

– Dual

Page 51: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

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

� Propriedades do modelo dual de Wolfe

Page 52: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

0)(

1)()(

1>+= ∑

=r,

xgrxfr,xP

m

i i

0))(())((

))(())((1

2=∇+∇=∇ ∑

=ki

m

i ki

kkkk rxg

rxg

rrxfr,rxP

0))((

)(2

>=ki

kki

rxg

rru

Page 53: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

Se

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

2. funções f egi 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

Page 54: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introdução

))(())((

1))(()(

12 k

m

i kikk rxfv

rxgrrxfu,xL ≤≤−= ∑

=o

vo: P-mínimo

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

Page 55: 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810 Otimização de Sistemas de Grande Porte ProfFernandoGomide DCA-FEEC-Unicamp. 1. Introduçã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.

Observação

DCA-FEEC-Unicamp