![Page 1: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/1.jpg)
DCA-FEEC-UnicampProfFernandoGomide2012
Programação Não Linear
CT 820 Teoria de Sistemas e Otimização FuzzyIntrodução e Aplicações
![Page 2: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/2.jpg)
2
DCA-FEEC-UnicampProfFernandoGomide
min f (x)sa x ∈ D ⊂ Rn
Modelo programação não linear (PNL)
min f (x)sa x ∈ D = Rn
restrito
irrestrito
![Page 3: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/3.jpg)
3
I- programação não linear irrestrita
min f (x)sa x ∈ D = Rn
DCA-FEEC-UnicampProfFernandoGomide
![Page 4: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/4.jpg)
4
DCA-FEEC-UnicampProfFernandoGomide
Exemplo: regressão não linear
número custo número custo número custoi pi q i i p i q i i p i q i
1 19 7.9 5 5 19.5 9 14 9.22 2 25 6 6 13 10 17 6.33 9 13.1 7 3 17.8 11 1 42.04 4 17.4 8 11 8.0 12 20 6.6
Número de unidades x Custo unitário
0
10
20
30
40
50
0 5 10 15 20
número
cust
o u
nitá
rio
![Page 5: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/5.jpg)
5
DCA-FEEC-UnicampProfFernandoGomide
Número de unidades x Custo unitário
0
10
20
30
40
50
0 5 10 15 20
número
cust
o u
nitá
rio
2
1121 ])([),(min 2∑
=−=
m
i
xii pxqxxf 2)()( 1
xpxprq ==
6024.069.40)( −== pprq
6024.0;69.40 21 −== ∗∗ xx
12=m
![Page 6: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/6.jpg)
6
DCA-FEEC-UnicampProfFernandoGomide
Funções suaves e derivadas
f (x)
x
f (x)
x
f (x)
x
suave não contínua não diferenciável
� Função f (x) suave: contínua e diferenciável no domímio de interesse D ⊆ Rn
� Modelos de PNL com funções suaves são, geralmente, mais tratáveis
� Funções suaves: possuem derivadas → possibilitam busca mais eficiente
� Derivada : forma analítica pode ser difícil / impossível de ser obtida
![Page 7: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/7.jpg)
7
Busca unidimensional
f (x)
x
xlo
xhixlo x1 x2
x2 xhix1
f (x)
xxlo
xlo
xhi
xhi
x2
x2
x1
x1
)ourodenúmero(618.0
)(
)(2
1
=α−α+=
−α−=lohilo
lohihi
xxxx
xxxx
DCA-FEEC-UnicampProfFernandoGomide
f (x) unimodalx* ∈ [ xhi , xlo ]
![Page 8: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/8.jpg)
8
DCA-FEEC-UnicampProfFernandoGomide
Passo 0 Inicialização: escolher xlo , xhi e tolerância ε > 0. Calcular, com α = 0.618:
x1 ← xhi - α (xhi - xlo )x2 ← xhi + α (xhi - xlo )
calcular valor da função f (x) para os quatro pontos; t ← 0;
Passo 1 Parada: se (xhi - xlo ) ≤ ε , parar: solução ótima aproximada x* = 1/2 (xhi - xlo ); senão ir para Passo 2 se f (x1) > f (x2); caso contrário ir para o Passo 3;
Passo 2 Esquerdo: estreitar lado esquerdo do intervalo;
xhi ← x2 ; x2 ← x1
x1 ← xhi - α (xhi - xlo )
avaliar f (x1); t ← t + 1; ir para Passo 1;
Passo 3 Direito: estreitar lado direito do intervalo;
xlo ← x1 ; x1 ← x2
x2 ← xlo + α (xhi - xlo )
avaliar f (x2); t ← t + 1; ir para Passo 1;
Busca unidimensional (número de ouro)
![Page 9: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/9.jpg)
9
DCA-FEEC-UnicampProfFernandoGomide
Busca unidimensional: intervalo inicial
� Intervalo inicial
– tal que x* ∈ [ xlo, xhi ] → padrão 3 pontos
� Padrão 3 pontos
– { xlo, xmid , xhi }, xlo < xmid < xhi
– f (xmid) melhor que f(xhi) e f(xlo)
–{ xlo, xmid , xhi } → x* ∈ [ xhi , xlo ]
![Page 10: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/10.jpg)
10
Passo 0 Inicializa: escolher limitante inferior xlo parax* e passo δ > 0;
Passo 1 Esquerda ou Direita: se f (xlo + δ ) é superior à f (xlo) entãoxmid ← xlo + δ;ir para o Passo 2 para busca à direita; caso contrário ótimo está à
esquerda; fazer xhi ← xlo + δ; ir para Passo 3;
Passo 2 Expande: amentar δ ← 2 δ; se f (xmid) é superior à f (xmid + δ) então
xhi ← xmid + δ e parar;{ xlo, xmid , xhi } fornece padrão
3 pontos; senão xlo ← xmid ; xmid ← xmid + δ; repetir Passo 2;
Passo 3 Reduz: diminuir δ ← δ/2; se f (xlo + δ ) é superior à f (xlo ) então
xmid ← xlo + δ e parar;{ xlo, xmid , xhi } fornece padrão
3 pontos; senão xhi ← xlo + δ; repetir Passo 3;
Intervalo inicial: algoritmo
DCA-FEEC-UnicampProfFernandoGomide
![Page 11: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/11.jpg)
11
DCA-FEEC-UnicampProfFernandoGomide
Condições de otimalidade sem restrições
� Vetor gradiente
)()(
:emveldiferenciáRR:;),,,(
1
21
nj
nn
xf/...xf/...xf/xf
xfxxxx
∂∂∂∂∂∂=∇
→= L
� Matriz Hessiana
∂∂
∂∂∂
∂∂∂
∂∂
=
2
2
1
2
1
2
21
2
)(
nn
n
x
f
xx
f
xx
f
x
f
xH
L
MOM
L
![Page 12: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/12.jpg)
12
DCA-FEEC-UnicampProfFernandoGomide
),(
)]ln())(()ln())([(2
])())()[((ln2
2
)ln()(2
)(2
])([),(
21
11
11221
21
111
222
121
111
2
11
1
2
1121
2222
222
2
22
22
2
xxx
ppxppppxqxx
f
xx
f
pxpxpxqpx
f
px
f
ppxpxqx
f
ppxqx
f
pxqxxf
ixi
xii
m
i
xi
xii
xi
m
i
xi
xiii
m
i
xi
i
m
i
xi
xii
m
i
xi
xii
m
i
xii
=
−−−=∂∂
∂=∂∂
∂
−−−=∂∂
=∂∂
−−=∂∂
−−=∂∂
−=
∑
∑
∑
∑
∑
∑
=
=
=
=
=
=
Exemplo: regressão não linear
![Page 13: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/13.jpg)
13
DCA-FEEC-UnicampProfFernandoGomide
=
∂∂
∂∂∂
∂∂∂
∂∂
=
−−=∂∂∂∂=∇
−==
12.1100365.179
65.17977.50.5)-(33,
)23.174,07.23(),(0.5)- (33,
)5.0,33(),(ˆ
x̂22
2
12
221
2
21
2
x̂21
21
x
f
xx
f
xx
f
x
f
H
xf/xf/f
xxx
![Page 14: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/14.jpg)
14
DCA-FEEC-UnicampProfFernandoGomide
Aproximações usando série de Taylor
j
n
j j
tt
ttt
xx
fxfxxf
xxfxfxxf
∆
∂∂λ+=λ+
∆∇λ+=λ+
∑=1
1
1
)()∆(
)()()∆(
ji
n
i
n
j jij
n
j j
tt
ttt
xxxx
fx
x
fxfxxf
xxHxxfxfxxf
∆∆
∂∂∂λ+∆
∂∂λ+=λ+
∆∆λ+∆∇λ+=λ+
∑∑∑= == 1 1
2
12
t2
2
2)()∆(
)(x2
)()()∆(
1a ordem
2a ordem
![Page 15: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/15.jpg)
15
DCA-FEEC-UnicampProfFernandoGomide
Gradiente e ótimo local
� Condição necessária (de 1a ordem)– xt é um ponto estacionário de f se ∇ f (xt) = 0
– ótimo local de uma função suave: ponto estacionário
)()()()∆(
]minmax,[)(
)()()∆(
tttt
t
ttt
xfxfxfxxf
xfx
xxfxfxxf
∇∇λ±=λ+
−+±∇=∆
∆∇λ+=λ+
⇓
função objetivo melhora a menos que ∇ f (xt) = 0
![Page 16: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/16.jpg)
16
Hessianas e ótimos locais
DCA-FEEC-UnicampProfFernandoGomide
xxHxf
xxxHxxfxfxxf
t
ttt
∆∆λ++≈
∆∆λ+∆∇λ+≈λ+
)(x2
0)(
)(2
)()()∆(
t2
t2
� Se xt é um ponto estacionário de f então ∇ f (xt) = 0; logo
⇓
∆x direção que melhora f em xt
![Page 17: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/17.jpg)
17
� Condições de 2a ordem
– necessárias
• xt mínimo local de f → H(xt) semi-positiva definida
• xt máximo local de f → H(xt) semi-negativa definida
– suficientes
• xt ponto estacionário f , H(xt) positiva definida → xt mínimo local de f
• xt ponto estacionáriof , H(xt) negativa definida → xt máximo local de f
DCA-FEEC-UnicampProfFernandoGomide
![Page 18: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/18.jpg)
18
Pontos estacionários
máximo
mínimo
sela
![Page 19: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/19.jpg)
19
DCA-FEEC-UnicampProfFernandoGomide
Convexidade e otimalidade global
f (x1)
f (x2)
f (x)
xx1 x2
f (x)
x
]1,0[D;,)];()([)()(( 21121121 ∈λ∈−λ+≤−λ+ xxxfxfxfxxxf
� Função convexa
![Page 20: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/20.jpg)
20
DCA-FEEC-UnicampProfFernandoGomide
f (x1)
f (x2)
f (x)
xx1 x2
� Função côncava
]1,0[D;,)];()([)()(( 21121121 ∈λ∈−λ+≥−λ+ xxxfxfxfxxxf
x
f (x)
![Page 21: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/21.jpg)
21
DCA-FEEC-UnicampProfFernandoGomide
Funções convexas e côncavas
1- Se f (x) é convexa então -f (x) é côncava
2- f (x) com segundas derivadas continuas é convexa se e somente sea matriz Hessiana H(x) é semi-positiva definida em um domínio convexo(aberto)’; f (x) é côncava se e somente se H(x) é semi-negativa definida.
3- Funções lineares são convexas e côncavas
4- Se f (x) é côncava, g (x) = 1/ f (x) é convexa ∀x | f (x) > 0se f (x) é convexa, g (x) = 1/ f (x) é côncava ∀x | f (x) < 0
5- Se g (y) é uma função convexa não decrescente e h (x) é convexa, entãof (x) = g (h (x)) é convexa; se g (y) é uma função côncava não decrescentee h (x) é côncava, então f (x) = g (h (x)) é côncava
![Page 22: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/22.jpg)
22
DCA-FEEC-UnicampProfFernandoGomide
6- f (x) é convexa se, para αi ≥ 0 e gi (x) convexa, i = 1, .., k
∑=
α=k
iii xgxf
1)()(
7- f (x) formada a partir de máximos de funções convexas é convexaf (x) formada a partir do mínimo de funções côncavas é côncava
},,1);({max(x) x kixgf i L==
},,1);({min)( x kixgxf i L==
8- Funções convexas (côncavas) são unimodais (o contrário não)
![Page 23: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/23.jpg)
23
DCA-FEEC-UnicampProfFernandoGomide
Condições suficientes: otimalidade global
� Se f (x) é uma função convexa, então todo mínimo local é mínimo global
� Se f (x) é uma função côncava, então todo máximo local é máximo global
No caso de mínimo: seja x* mínimo global e x1 ≠ x*
0;0)](*)([)(*)( 11 >λ∀<−λ⇒< xfxfxfxf
]1,0[;)()](*)([)()]*([ 11111 ∈λ<−λ+≤−λ+ xfxfxfxfxxxf
∆x = (x1 – x*) direção melhora em x1,∀x1 ∈ D
↓x* mínimo global
![Page 24: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/24.jpg)
24
DCA-FEEC-UnicampProfFernandoGomide
� Ponto estacionário de uma função convexa suave é um mínimo global
� Ponto estacionário de uma função côncava suave é um máximo global
x0)(x(x)0)(x
))(()()(
Taylor))(()()]([
econvexidad]1,0()]()([)()]([
**
**
***
****
∀≥−⇒=∇
−∇≥−
−∇λ+≈−λ+
∈λ−λ+≤−λ+
fff
xxxfxfxf
xxxfxfxxxf
xfxfxfxxxf
*
*
Exemplo: sef (x) é convexa, então
↓x* é mínimo global
![Page 25: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/25.jpg)
25
DCA-FEEC-UnicampProfFernandoGomide
Passo 0 Inicialização: com solução inicial x0; tolerância ε > 0; t ← 0;
Passo 1 Gradiente: calcular ∇f (xt) em xt;
Passo 2 Ponto Estacionário: se ||∇f (xt)|| ≤ ε então parar; xt é ótimo;
Passo 3 Direção: ∆xt+1 ← ±∇f (xt) [+ para max, – para min];
Passo 4 Busca Unidimensional: determinar λt+1 resolvendo
max (min) f ( xt + λ ∆xt+1) ;
Passo 5 Atualizar: xt+1 = xt + λ ∆xt+1 ;
Passo 6 Incrementa: t = t + 1; ir para Passo 1;
Algoritmo (busca) do gradiente
![Page 26: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/26.jpg)
26
x1
x2
x*
f (x)
xo
x1
x2 x3
∇f (xo)
Algoritmo do gradiente
DCA-FEEC-UnicampProfFernandoGomide
![Page 27: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/27.jpg)
27
DCA-FEEC-UnicampProfFernandoGomide
![Page 28: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/28.jpg)
28
DCA-FEEC-UnicampProfFernandoGomide
![Page 29: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/29.jpg)
29
Método de Newton
� Utiliza informação de segunda ordem
ji
n
i
n
j jij
n
j j
tt
ttt
xxxx
fx
x
fxfxxf
xxxHxxfxfxxf
∆∆
∂∂∂λ+∆
∂∂λ+=λ+
∆∆λ+∆∇λ+=λ+
∑∑∑= == 1 1
22
12
t2
2
2)()∆(
)(2
)()()∆(
� Fazendoλ = 1 e derivando com relação à ∆xi
xxHxfxf
nixxx
f
x
f
x
f
tt
j
n
j jiii
∆+∇=∆∇
=∆∂∂
∂+∂∂=
∆∂∂
∑=
)()()(
,,1,
2
1
22 L
)()(0)(2tt xfxxHxf −∇=∆→=∆∇
DCA-FEEC-UnicampProfFernandoGomide
![Page 30: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/30.jpg)
30
Newton
xo
x1
f (x)
DCA-FEEC-UnicampProfFernandoGomide
![Page 31: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/31.jpg)
31
xo
x1x2
x3x4
f (x)
Gradiente
DCA-FEEC-UnicampProfFernandoGomide
![Page 32: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/32.jpg)
32
– algoritmo Newton converge para ótimo local se inicialização ésuficientemente próxima do ótimo local
– não há garantia de que a matriz Hessiana seja não singular emtodo domínio de interesse
– idéia: combinar gradiente + Newton
↓
– métodos Quase Newtonianos: ∆ xt+1 = - Dt ∇ f (xt)
– matriz D aproxima da inversa da Hessiana H –1 ao longo da busca
– Hessiana: relacionada com a variação do gradiente:
↓
])[()()( 1)1 ttttt xxxHxfxf −≈∇−∇ ++
DCA-FEEC-UnicampProfFernandoGomide
![Page 33: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/33.jpg)
33
Broyden, Fletcher, Goldfarb, Shanno: método BFGS
max)min,(
)()(g
1
011
1
+−
±=∇−∇=−=
+−
++←
++
+
IDxfxfxxd
gd
DdggdD
gd
dd
gd
gDgDD
tttt
Tt
TTt
T
T
Tt
T
tt
11
1
1 )(
++
+
+
∆λ+←
∇−←∆
tt
tt
tt
t
xxx
xfDx
DCA-FEEC-UnicampProfFernandoGomide
![Page 34: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/34.jpg)
34
xo
BFGS
x1
x2
f (x)
DCA-FEEC-UnicampProfFernandoGomide
![Page 35: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/35.jpg)
35
Algoritmo de Nelder-Mead
� Não utiliza derivadas
� Mantém (n + 1) soluções candidatas
� Baseia-se nos conceitos de:– reflexão– expansão– contração– encolhimento
centróideésimo1
candidatas)1(asentresoluçãopior
1
11
−≡
+←−≡∆
∑=
++
nyn
x
nyyxxn
i
it
nnt
DCA-FEEC-UnicampProfFernandoGomide
![Page 36: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/36.jpg)
36
xoy1
y2
y3
reflexão
contração
expansão
DCA-FEEC-UnicampProfFernandoGomide
![Page 37: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/37.jpg)
37
y2
y3
y1 novo y2
novoy3
encolhimento
DCA-FEEC-UnicampProfFernandoGomide
![Page 38: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/38.jpg)
38
II- programação não linear restrita
min f (x)sa x ∈ D ⊂ Rn
DCA-FEEC-UnicampProfFernandoGomide
![Page 39: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/39.jpg)
39
Exemplo: localização e alocação
Distribuidores: 17Regiões: 650 agrupando 24.000 clientes
regiões
distribuidoras
DCA-FEEC-UnicampProfFernandoGomide
![Page 40: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/40.jpg)
40
i = distribuidor, i = 1,....,17j = região, j = 1,...,650
dj = número de viagens/ano para entregas àj-ésima região
j
hj
kj
i
xi
yj
DCA-FEEC-UnicampProfFernandoGomide
![Page 41: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/41.jpg)
41
650,,1;17,,1,0
650,,1,sa
)()(min
17
1
17
1
650
1
22
KK
K
==≥
==
−+−
∑
∑∑
=
= =
jiw
jdw
hyhxw
ij
ijij
i jjijiij
� Minimizar custo de transporte– minimizar número de viagens (wij) de i → j– minimizar distância entre i e j
� Modelo PNL
DCA-FEEC-UnicampProfFernandoGomide
![Page 42: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/42.jpg)
42
Modelos convexos
DCA-FEEC-UnicampProfFernandoGomide
Kkcxl
Jjbxh
Iiaxg
xf
kk
jj
ii
,,1,)(
,,1,)(
,,1,)(sa
)(min
K
K
K
==
=≤=≥
f(x) convexa
gi(x) côncava ∀i
hj(x) convexa ∀j
lk(x) linear ∀k
![Page 43: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/43.jpg)
43
min ( x1- 3)2 + ( x2 - 3)2
sa 3 x1 + 5 x2 ≤ 155 x1 + 2 x2 ≤ 10
x1, x2 ≥ 0
x2
x*y*
f(x)
h1(x)
h2(x)
3
3
1
1
x1
DCA-FEEC-UnicampProfFernandoGomide
![Page 44: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/44.jpg)
44
max 3w1 – w2 +8ln w1
sa 4w12 – w1w2 + w2
2 ≤ 100w1 + w2 = 4w1, w2 ≥ 0
0.5 1 1.5 2 2.5 3 3.5 4
0.5
1
1.5
2
2.5
3
3.5
4
w1
w2
� Função objetivo
f(w1, w2) = 3w1 – w2 +8ln w1
DCA-FEEC-UnicampProfFernandoGomide
![Page 45: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/45.jpg)
45
� Restrições principais
0.5 1 1.5 2 2.5 3 3.5 4
0.5
1
1.5
2
2.5
3
3.5
4
w1
w2
0.5 1 1.5 2 2.5 3 3.5 4
0.5
1
1.5
2
2.5
3
3.5
4
w1
w2
h(w1, w2) = 4 w12 – w1 w2 + w2
2 ≤ 100
l(w1, w2) = w1 + w2 = 4
DCA-FEEC-UnicampProfFernandoGomide
![Page 46: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/46.jpg)
46
0 1 2 3 4 5 60
0.5
1
1.5
2
2.5
3
3.5
4
w1
w2
l =4
g =100
max 3w1 – w2 +8ln w1
sa 4w12 – w1w2 + w2
2 ≤ 100w1 + w2 = 4
w1, w2 ≥ 0
DCA-FEEC-UnicampProfFernandoGomide
![Page 47: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/47.jpg)
47
Propriedade de modelos convexos
Se a função objetivo do modelo é convexa e as restriçõesproduzem um conjunto convexo factível, então toda soluçãoótima local é uma solução ótima global.
gi(x) côncava ∀i
hj(x) convexa ∀j
lk(x) linear ∀k
Conjunto convexo
f convexa (côncava) Função unimodal
⇒
⇒
DCA-FEEC-UnicampProfFernandoGomide
![Page 48: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/48.jpg)
48
DCA-FEEC-UnicampProfFernandoGomide
Método dos multiplicadores de Lagrange
mi
bxg
xf
ii
,,1
)(sa
)(min(max)
K== Restrições igualdade
Função Lagrangeana∑=
−ν+=νm
iiii xgbxfxL
1)]([)(),(
vi = multiplicador de Lagrange associado à restrição i
![Page 49: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/49.jpg)
49
DCA-FEEC-UnicampProfFernandoGomide
Pontos estacionários da função Lagrangeana
ibxg
jx
fv
x
gxgxf
ii
j
m
ii
j
im
iii
∀=
∀∂∂=
∂∂∇ν=∇ ∑∑
==
,*)(
,ou)]*()*(11
*
(x* , v*) é um ponto estacionário de L(x,v) se ∇L(x*,v*) = 0:
Se (x* , v*) é um ponto estacionário de L(x,v) e x* é uma solução ótima irrestrita de L(x,v), então x* é uma solução ótima do modelo original com restrições de igualdade.
![Page 50: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/50.jpg)
50
DCA-FEEC-UnicampProfFernandoGomide
Exemplo
)1,0,0()(
)0,24,24()(
)2,8,12()(
]1[]2424360[46),(
1
3602424sa
46min
2
1
321
3221123
22
21
3
21
23
22
21
=∇=∇
=∇
−+−−+++=
==+
++
xg
xg
xxxxf
xvxxvxxxvxL
x
xx
xxx
![Page 51: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/51.jpg)
51
DCA-FEEC-UnicampProfFernandoGomide
10822727246),(
11
3602424
21
824
1224
32123
22
21
3
21
32
21
11
+−−−++=
==+===
xxxxxxvxL
x
xx
xv
xv
xv
convexa
⇓
(x1*, x2*, x3*, v1*, v2*) = (6, 9, 1, 3, 2) ⇒ mínimo de L(x,v)
![Page 52: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/52.jpg)
52
Interpretação multiplicadores de Lagrange
DCA-FEEC-UnicampProfFernandoGomide
� vi = variação valor ótimo f quando bi aumenta de 1 unidade
� vi = variável dual
ii b
Lv
∂∂=*
� Limitações –condições de estacionariedade difíceis de resolver
– restrições de desigualdade aumenta a complexidade
– soluções ótimas globais somente para modelos tratáveis
![Page 53: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/53.jpg)
53
Caso geral: condições de Karush-Kuhn-Tucker
� Forma geral PNL diferenciáveis
Eibxg
Libxg
Gibxg
xf
ii
ii
ii
∈∀=∈∀≤
∈∀≥
,)(
,)(
,)( sa
)(min(max)
f, gi : funções diferenciáveis
G, L, E : conjuntos de índices
DCA-FEEC-UnicampProfFernandoGomide
![Page 54: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/54.jpg)
54
DCA-FEEC-UnicampProfFernandoGomide
Folgas complementares
0)]([ =−ν xgb iiipara todas desigualdades i
� Sinais dos multiplicadores
irrestritovi ≤ 0vi ≥ 0max
irrestritovi ≥ 0vi ≤ 0min
i é =i é ≥i é ≤objetivo
![Page 55: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/55.jpg)
55
Condições de Karush-Kuhn-Tucker
� Solução (x, v) satisfaz as condições de KKT se:– f, gi são funções diferenciáveis
– condições das folgas complementares
– restrições no sinais dos multiplicadores
– restrições primais
– equação dos gradientes
� Ponto de KKT– qualquer x para o qual ∃ v que satisfaça as condições KKT
∑ ∇=∇i
ii xfvxg )()(
DCA-FEEC-UnicampProfFernandoGomide
![Page 56: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/56.jpg)
56
não melhoramelhoramax
melhoranão melhoramin
∇f (x)∆x < 0∇f (x)∆x > 0objetivo
∇f (x)∆x = 0 ⇒ necessitamos de mais informação
Característica da direção de busca ∆x
(14.23)
DCA-FEEC-UnicampProfFernandoGomide
xxfxfxxf ∆∇+≈∆+ )()()(
![Page 57: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/57.jpg)
57
Factibilidade da direção de busca ∆x
==≤≤≥≥
∆∇restriçõestodas0
restrições0
restrições0
)( ativas
ativas
xxgi (14.24)
DCA-FEEC-UnicampProfFernandoGomide
xxgxgxxg iii ∆∇+≈∆+ )()()(
![Page 58: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/58.jpg)
58
� As condições de KKT fornecem um teste de primeiraordem para determinar a ausência de direções factíveisque melhoram o valor da função objetivo
� Isto é, x é um ponto de KKT se e somente se não existeuma direção ∆x em x que satisfaz as condições de primeiraordem (14.23) e (14.24)
⇓
� Condições KKT são suficientes para ótimo local, isto é:
– se x é um ponto de KKT, então x é ótimo local
� Se modelo de PNL é convexo:
– condições de KKT são suficientes para ótimo global
Condições suficientes de KKT
DCA-FEEC-UnicampProfFernandoGomide
![Page 59: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/59.jpg)
59
� Necessidade:
– se x é uma solução ótima, então x satisfaz KKT
� Solução ótima local é um ponto de KKT se:
– todas as restrições são lineares
– gradientes das restrições ativas no ponto ótimo local são LI
(qualificação de restrição)
Condições necessárias de KKT
DCA-FEEC-UnicampProfFernandoGomide
![Page 60: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/60.jpg)
60
x1
x2
x*
y*
f(x)
g1(x)
g2(x)
3
3
1
1 ∇ f
∇ g1
∇ g2
min ( x1- 3)2 + ( x2 - 3)2
sa 3 x1 + 5 x2 ≤ 155 x1 + 2 x2 ≤ 10
x1, x2 ≥ 0
DCA-FEEC-UnicampProfFernandoGomide
Exemplo
![Page 61: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/61.jpg)
61
min x12 + 4x2
sa ( x1− 1)2 + x22 ≤ 1
( x1+ 1)2 + x22 ≤ 1
x1
x2
x*
f(x)
g1(x)g2(x)
3
3
1
1
∇ f
∇ g1 ∇ g2
DCA-FEEC-UnicampProfFernandoGomide
Exemplo
![Page 62: Programação Não Linear - DCA | FEEC · Programação Não Linear CT 820 Teoria de Sistemas e Otimização Fuzzy Introdução e Aplicações. 2 ProfFernandoGomide DCA-FEEC-Unicamp](https://reader033.vdocuments.mx/reader033/viewer/2022051407/5c1c12b209d3f2ff0d8c5932/html5/thumbnails/62.jpg)
62
DCA-FEEC-UnicampProfFernandoGomide
Este material refere-se às notas de aula do curso CT 820 Teoria de Sistemas e Otimização Fuzzy: Introdução e Aplicações da Faculdade de Engenharia Elétrica e de Computação da Unicamp e do Centro Federal de Educação Tecnológica do Estado de Minas Gerais. 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