programação não linear · introdução • em um problema de pnl, pelo menos a função objetivo...
TRANSCRIPT
![Page 1: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/1.jpg)
Programação não linear
![Page 2: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/2.jpg)
Introdução
max ou min z= f(x1, x2,..., xn) s.a: g1(x1,x2,...,xn) <=, =, >= b1
•
•
• ..
gn(x1,x2,...,xn) <=, =, >= b1
x1, x2, ..., xn <=0
![Page 3: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/3.jpg)
Introdução
• Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis de decisão.
![Page 4: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/4.jpg)
Introdução
• PNL são difíceis de serem resolvidos, porém, são muito comuns na prática
• Os algoritmos de PNL são mais diversos e mais complexos, comparados aos de programação linear ou programação binária e/ou inteira.
![Page 5: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/5.jpg)
Introdução
• PNL podem ser classificados como:• PNL irrestrita (com uma única variável ou
com múltiplas variáveis)• PNL com restrição (programação
côncava, convexa, quadrática e separável)
![Page 6: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/6.jpg)
Programação Não LinearAplicações
●Problemas de Mix de Produtos em que o “lucro” obtido por produto varia com a quantidade vendida.
●Problemas de Transporte com custos variáveis de transporte em relação à quantidade enviada.
●Seleção de Portfolio com Risco
![Page 7: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/7.jpg)
Introdução
• Geometria da programação não linear
![Page 8: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/8.jpg)
Introdução
• Solução ótima na fronteira das restrições
![Page 9: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/9.jpg)
Introdução
• Solução ótima no interior das restrições
![Page 10: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/10.jpg)
Introdução
• Ótimo local devido à função objetivo
![Page 11: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/11.jpg)
Introdução
• Ótimo local devido às restrições
![Page 12: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/12.jpg)
Problema com uma restrição não linear
![Page 13: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/13.jpg)
Problema com a Função Objetivo não linear
![Page 14: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/14.jpg)
![Page 15: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/15.jpg)
●Considere o Problema de Programação Linear e sua solução gráfica
1
Max Z x x = +3 51 2
1
2x ≤ 122
3x x + ≤2 18 1 2
s r x ≤ 4. .
x x≥ ≥0 01 2,
Programação Não LinearSolução Gráfica
x2
x1
(0;6)(2;6)
(0;0) (4;0)
(4;3)SoluçãoViável
![Page 16: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/16.jpg)
●Considere o Problema e sua solução gráfica.
Max Z x x = +3 51 2
1s.t. x ≤ 4
x x≥ ≥0 01 2,
9 5 21612
22x x+ ≤
Programação Não LinearSolução Gráfica
0
x2
1 2 3 4
4
2
6
0 x1
SoluçãoViável
(2;6)
![Page 17: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/17.jpg)
●A solução ótima:● é a mesma do problema
linear.● continua na fronteira do
conjunto de soluções viáveis.
● não é mais um extremo do conjunto de soluções viáveis, mas poderia ainda ocorrer em um ponto extremo.
Programação Não LinearSolução Gráfica
0
x2
1 2 3 4
4
2
6
0 x1
SoluçãoViável
(2;6)
![Page 18: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/18.jpg)
1
2x ≤ 122
3x x + ≤2 18 1 2
s r x ≤ 4. .
x x≥ ≥0 01 2,
MaxZ= x x x x 126 9 182 131 12
2 22− + −
Programação Não LinearSolução Gráfica
x2
x1
(0;6)(2;6)
(0;0) (4;0)
(4;3)SoluçãoViável
![Page 19: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/19.jpg)
●A função objetivo é uma equação quadrática.
Programação Não LinearSolução Gráfica
( )[ ] ( )[ ]( )[ ] ( )[ ]
Z= x x x x
Z x x x x
Z x x
Para x x
Para
126 9 182 13
912618
1318226
9126
912618
1318213
18226
441 637 9 7 13 7
9 7 13 7
1 12
2 22
2 2
12
1
2
22
2
2
1
2
2
2
1
2
2
2
− + −
−
−
= − −
+
− −
+
− − = − − − −
⇒ − + − Z = 907 171 =
Z = 857 ( )[ ] ( )[ ]( )[ ] ( )[ ]
⇒ − + −
⇒ − + −
221=
Z = 807 =
9 7 13 7
271 9 7 13 7
1
2
2
2
1
2
2
2
x x
Para x x
![Page 20: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/20.jpg)
Max Z = x x x x = 857 126 9 182 131 12
2 22− + −
2
4
4
6
2 x 1
x2
SoluçãoViável
Z = 907
Z = 807Z = 857
Programação Não LinearSolução Gráfica
![Page 21: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/21.jpg)
1
2x ≤ 122
3x x + ≤2 18 1 2
s r x ≤ 4. .
x x≥ ≥0 01 2,
Max Z= x x x x 54 9 78 131 12
2 22− + −
Programação Não LinearSolução Gráfica
x2
x1
(0;6)(2;6)
(0;0) (4;0)
(4;3)SoluçãoViável
![Page 22: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/22.jpg)
●A função objetivo é uma equação quadrática
( )[ ] ( )[ ]( )[ ] ( )[ ]
Z= x x x x
Z x x x x
Z x x
Para x x
Para
54 9 78 13
95418
137826
9549
5418
137813
7826
81 117 9 3 13 3
9 3 13 3
1 12
2 22
2 2
12
1
2
22
2
2
1
2
2
2
1
2
2
2
− + −
−
−
= − −
+
− −
+
− − = − − − −
⇒ − + −
⇒
Z = 198 0 =
Z = 189 ( )[ ] ( )[ ]( )[ ] ( )[ ]
9 9 3 13 3
36 9 3 13 3
1
2
2
2
1
2
2
2
=
Z = 162 =
x x
Para x x
− + −
⇒ − + −
Programação Não LinearSolução Gráfica
![Page 23: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/23.jpg)
Solução no interior doconjunto de soluçõesviáveis e não mais na fronteira do conjunto
4
2
6
2 4 x1
x2
SoluçãoViável
3
3
Z = 162Z = 189
Z = 198
222
211 1378954198 xxxx=ZMax −+−=
Programação Não LinearSolução Gráfica
![Page 24: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/24.jpg)
Programação Não Linear●A solução ótima de um problema de programação não linear(NLP), diferentemente de um problema de LP, pode ser qualquer ponto do conjunto de soluções viáveis.
●Isso torna os problemas de NLP muito mais complexos, obrigando os algoritmos de solução a pesquisar todas as soluções viáveis.
![Page 25: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/25.jpg)
Função Côncava e Função Convexa
![Page 26: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/26.jpg)
Função Côncava e Função Convexa
• Uma função f(x) é convexa se um segmento de reta que une dois pontos dessa função está na superfície ou acima dela.
![Page 27: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/27.jpg)
Função Côncava e Função Convexa
• Uma função f(x) é côncava se um segmento de reta que une dois pontos dessa função está na superfície ou abaixo dela.
![Page 28: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/28.jpg)
Função Côncava e Função Convexa
• E se um segmento de reta une mais do que dois pontos de uma função?
![Page 29: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/29.jpg)
Função Côncava e Função Convexa
• Na PNL sem restrições e uma função objetivo côncava, o máximo local é o máximo global.
• Na PNL sem restrições e uma função objetivo convexa, o mínimo local é o mínimo global.
• Isto também se verifica na presença de restrições, se a “região factível” for um conjunto convexo.
![Page 30: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/30.jpg)
Função Côncava e Função Convexa
• Por meio do cálculo da segunda derivada de uma função f(x), representada por: f''(x) ou
pode-se determinar se esta é uma função convexa ou côncava em um conjunto conxexo S.
![Page 31: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/31.jpg)
Função Côncava e Função Convexa
• Se d²f(x)/dx² >=0 (f''(x) >= 0), f(x) é uma função conexa em S
• Se d²f(x)/dx² >0 (f''(x) > 0 ), f(x) é uma função estritamente conexa em S
• Se d²f(x)/dx² <=0 (f''(x) <= 0), f(x) é uma função côncava em S
• Se d²f(x)/dx² < 0 ( f''(x) < 0 ), f(x) é uma função estritamente côncava em S
![Page 32: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/32.jpg)
Função Côncava e Função Convexa
• Se f(x) é uma função linear e, consequantemente d²f(x)/dx² =0 ( f''(x)=0), f(x) é simultaneamente convexa e côncava em S
• Se d²f(x)/dx² (f''(x)) for positivo para alguns valores e negativo para outros, a função não é nem convexa nem côncava.
![Page 33: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/33.jpg)
f''(x)=0
![Page 34: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/34.jpg)
Exercícios• Determinar se as funções a seguir são convexas
(ou estritamente convexas), côncaas (u estritamente côncavas), convexas e côncavas simultaneamente ou nenhuma delas, em um conjunto convexo S.
• f(x)= 2x² + 4x• f(x)= -x² +6• f(x)= 8x + 3• f(x)=x³ + 4x - 10•
![Page 35: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/35.jpg)
Funções convexas e côncavas com duas variáveis
• Para uma função f(x1, x
2) com 2 variáveis,
determina-se se ela é convexa ou côncava em um conjunto convexo S or meio da matriz Hessiana H que corresponde a uma matriz quadrada 2x2 das derivadas parciais de segunda ordem da função .
![Page 36: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/36.jpg)
Funções convexas e côncavas com duas variáveis
• A classificação, se convexa (esritamente convexa) ou côncava (estritamente côncova), depende dos elementos da diagonal principal de H, além do cálculo do determinante.
![Page 37: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/37.jpg)
Exemplo
![Page 38: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/38.jpg)
Classificação das funções com duas variáveis a partir da matriz H
• Se f(x0 é linear e det (H)=0, a derivada parcial de segunda ordem em relação a x
1 = 0 e em relação a x
2 = 0, a função é
simultaneamente convexa e côncava em S.
• Se Det(H) <0 para alguns valores de x1 e x
2 pertencentes a S,
a função não é nem convexa nem côncava
![Page 39: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/39.jpg)
Exemplo
• f(x1,x
2)=-2x
1²+4x
1x
2+ 3x
1-5x
2- 2x
2²
![Page 40: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/40.jpg)
Exemplo
• f(x1,x
2)=-2x
1²+4x
1x
2+ 3x
1-5x
2- 2x
2²
-4 4= 4 -4
![Page 41: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/41.jpg)
Exemplo• f(x
1,x
2)=-2x
1²+4x
1x
2+ 3x
1-5x
2- 2x
2²
-4 4= 4 -4
Verificar se todos os elementos da diagonal principal de H são todos negativos
det(H)= -4(-4) -(4)(4) =0
Função côncava
![Page 42: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/42.jpg)
Exemplo• f(x
1,x
2)= - 3x
1² + 2x
2² + 2x
1x
2
![Page 43: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/43.jpg)
Exemplo• f(x
1,x
2)= - 3x
1² + 2x
2² + 2x
1x
2
-6 2= 2 4
![Page 44: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/44.jpg)
Exemplo• f(x
1,x
2)= - 3x
1² + 2x
2² + 2x
1x
2
-6 2= 2 4
Verificar se todos os elementos da diagonal principal de H são todos negativos
det(H)= -6(-4) -(2)(2) = -28
A função não é nem convexa nem côncava
![Page 45: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/45.jpg)
Funções Convexas e Côncavas com Múltiplas Variáveis
![Page 46: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/46.jpg)
Funções Convexas e Côncavas com Múltiplas Variáveis
• Para uma função f(x1, x
2, ..., x
n) com n
variáveias, determina-se se ela é convexa ou côncava por meio do cálculo dos determinantes dos menores principais da matriz Hessiana (Det 1x1, 2x2, ..., nxn de H)
![Page 47: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/47.jpg)
Determinante dos menores principais
![Page 48: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/48.jpg)
Determinante dos menores principais
![Page 49: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/49.jpg)
Classificação das funções com mais de duas variávis a partir do cálculo dos determinantes dos
menores principais de H
• Se f(x) é linear e determinantes (H)=0, a função é simultaneamente convexa e côncava em S.
• Se nenhuma das condições foi atendida, a função não é nem convexa nem côncava
![Page 50: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/50.jpg)
Exemplo• f(x
1,x
2,x
3)= 2x
1² + x
2² + 4x
3² - x
1x
2- x
1x
3– x
2x
3
![Page 51: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/51.jpg)
Exemplo• f(x
1,x
2,x
3)= 2x
1² + x
2² + 4x
3² - x
1x
2- x
1x
3– x
2x
3
4 -1 -1= -1 2 -1 -1 -1 8
![Page 52: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/52.jpg)
Exemplo• f(x
1,x
2,x
3)= 2x
1² + x
2² + 4x
3² - x
1x
2- x
1x
3– x
2x
3
4 -1 -1= -1 2 -1 -1 -1 8
Det1=4
Det2=(4)(2)-(-10(-1)=7
Det3=(64-1-1)-(2+2+4)=54
Estritamente convexa
![Page 53: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/53.jpg)
Programação não linear Irrestrita
• Com uma única variável• Com múltiplas variáveis
![Page 54: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/54.jpg)
Programação não linear Irrestrita
• Com uma única variável– Modelo escrito em termos da fnção objetivo– max ou min f(x)
• Seja f(x) uma função diferenciável ou derivável (que tem derivada). Para que uma determinada solução de f(x0 seja ótima (x=x), ela deve satisfazer a seguinte condição df(x*)/dx =0
• x* é també conhecido como ponto estacionário
![Page 55: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/55.jpg)
Programação não linear Irrestrita
• Com uma única variável– para determinar se a solução ótima é um
ponto de máximo, mínimo ou inflexão (quando uma função côncava torna-se convexa ou vice-versa), calcula-se a derivada de primeira ordem, segunda ordem e assim por diante, até a ordem n seja uma constante com sinal positivo, negativo ou nulo.
![Page 56: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/56.jpg)
Programação não linear Irrestrita
• Com uma única variável– Se n é par e f''(x*)>0, x* é um ponto de
mínimo;– Se n é par e f''(x*)<0, x* é um ponto de
máximo;– Se n é ímpar, x* é um ponto de inflexão.
![Page 57: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/57.jpg)
Exemplo
![Page 58: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/58.jpg)
Exemplo
![Page 59: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/59.jpg)
Exemplo
![Page 60: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/60.jpg)
f''(x) <> 0
![Page 61: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/61.jpg)
Ótimo Global
![Page 62: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/62.jpg)
Métodos de solução PNL irrestrita com uma única variável
• Método da bisseção– Método numérico bastante simples – Busca determinar a raiz da função não linear
(f(x)=0)– Convergência muito lenta
![Page 63: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/63.jpg)
Métodos de solução PNL irrestrita com uma única variável
• Método de Newton (ou Newton-Raphson)– Método numérico – Determinar uma função iteração que acelere
a convergência na estimação das raízes de uma função não linear f(x).
– Geralmente mais rápido que o método da bisseção
– Para que a convergência seja satisfatória, o valor inicial estimado deve ser adequado (próximo da raiz)
![Page 64: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/64.jpg)
Métodos de solução PNL irrestrita com múltiplas variáveis
• Métodos de Busca Direta– min ou max uma função com múltiplas
variáveis sem o uso da derivada da função – Convergem mais lentamente que os métodos
que usam derivadas– Método de busca aleatória, método de busca
seccionada, método de Hooke e Jeeves com busca linear, método de rosenbrock e método simplex.
![Page 65: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/65.jpg)
Métodos de solução PNL irrestrita com múltiplas variáveis
• Métodos de Descida ou Métodos Indiretos– Utilizam a primeira e/ou a segunda derivada
da função objetivo para definir as direções de busca.
– Método de Newton, método do quase-Newton, método do Gradiente, método do gradiente conjugado
![Page 66: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/66.jpg)
PNL com restrição
• Dentre os problemas de PNL com restrição, destacam-se: programação côncava, convexa, quadrática e separável
• Multiplicadores de Lagrange• Condições de Karush-Kuhn-Tucker
![Page 67: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/67.jpg)
Programação Dinâmica
![Page 68: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/68.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– Tentativa e erro– Divisão e conquista– Algoritmos gulosos– Algoritmos aproximados– Recursividade– Programação dinâmica
![Page 69: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/69.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– Tentativa e erro (ou busca completa – backtracking)
– Testar de maneira exaustiva todas as possíveis soluções de um determinado problema, até que a solução desejada seja obtida.
![Page 70: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/70.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– Quando não for possível percorrer toda a
árvore de soluções em razão da complexidade do problema, uma alternativa é utilizar algoritmos aproximados ou metaheurísticas.
– Objetivo: encontrar soluções de boa qualidade, muitas vezes, próximas da ótima, com esforço computacional muito menor.
![Page 71: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/71.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– Algoritmos Gulosos (ou míopes) – Escolhem, em cada passo, a melhor decisão
local. Uma vez feitas uma decisão, não tem como ser modificada, independente da qualidade da solução.
![Page 72: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/72.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– Divisão e conquista busca dividir o problema
principal em subproblemas menores e independentes.
– Resolve-se o problema para os subproblemas menores, e as soluções dos subproblemas são combinadas até que se obtenha a solução ótima.
![Page 73: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/73.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– Considerando um determinado procedimento
constituído de diversos estágios. A recursividade ocorre quando um dos passos chama novamente a execução do procedimento, de forma que o processo de repetição acontece a partir desse passo.
– é a definição de uma subrotina (função ou método) que pode invocar a si mesma.
![Page 74: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/74.jpg)
Introdução
• Paradigmas de projeto de algoritmos:– A programação dinâmica é uma técnica
bastante usada para resolver diversos problemas de otimização, incluindo modelos probabilísticos, problemas lineares ou não lineares, com variáveis discretas ou contínuas.
![Page 75: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/75.jpg)
Programação Dinâmica• Baseada no princípio da otimalidade.• Busca dividir o problema principal em subproblemas
utilizando uma equação recursiva.• Os subproblemas são resolvidos uma única vez e seus
resultados são armazenados em uma tabela, consultando-a cada vez que o subproblema for requerido.
• Em cada passo, considera-se somente as soluções ótimas.
• Diferente da estratégia de divisão e conquista, os subproblemas não são independentes e compartilham informações entre si.
![Page 76: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/76.jpg)
Características de um Problema de Programação Dinâmica
• Estágios: – o problema é dividido em diversos estágios e
um plano de decisões é estabelecido para cada estágio.
![Page 77: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/77.jpg)
Características de um Problema de Programação Dinâmica
• Estados: – cada estágio está associado a um
determinado número de estados. – os estados representam as diversas
condições possíveis que um sistema pode apresentar em um determinado estágio.
– são as informações contidas em cada estágio, necessárias para a tomada de decisões.
![Page 78: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/78.jpg)
Características de um Problema de Programação Dinâmica
• Decisões:– Em cada estágio, a partir das informações
contidas inicialmente, escolhem-se as melhores decisões. As decisões buscam transformar o estado atual em outro estado associado ao estágio seguinte.
![Page 79: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/79.jpg)
Características de um Problema de Programação Dinâmica
• Princípio de Otimalidade de Bellman:– Dado um estado atual, a decisão ótima para cada
estágio seguinte depende somente do estado atual, não importando o que aconteceu anteriormente.
– Exemplo: suponha que o caminho mais curto entre São Paulo e Ubatuba seja conhecido e esse caminho passa necessariamente por São José dos Campos. Consequentemente, o caminho mais curto entre São Paul e Ubatuba deve incluir o caminho mais curto entre São José dos Campos e Ubatuba.
![Page 80: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/80.jpg)
Características de um Problema de Programação Dinâmica
• Processo de solução do tipo backward ou forward:– backward - inicia pelo último estado até
encontrar a solução ótima do estado inicial.– forward –– os dois procedimentos chegam á mesma
solução– Backward – mais eficiente
computacionalmente
![Page 81: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/81.jpg)
Características de um Problema de Programação Dinâmica
• Recursividade:• Utiliza uma equação recursiva ou de
recorrência que identifica a solução ótima para cada estado de um estágio t qualquer, dada a solução ótima para cada estado de estágio seguinte t+1 (backward), ou dada a solução ótima para cada estado do estágio anterior t-1 (forward)
![Page 82: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/82.jpg)
Estado: Um estado é uma configuração do sistema, e é identificado por um rótulo que indica suas propriedades. No problema apresentado na figura, um estado é uma cidade
![Page 83: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/83.jpg)
Estágio: Programação dinâmica diz respeito a sistemas que evoluem de um estado para outro. Um estágio é um passo singular, e corresponde à transição do sistema de um estado para o próximo adjacente. Na figura, o movimento do viajante, de uma cidade para a próxima, corresponde ao estágio. Cada caminho de A para J tem quatro estágios.
![Page 84: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/84.jpg)
Ação: Em cada estado existe um conjunto de ações viáveis, das quais uma deverá ser escolhida e executada. No exemplo da figura 2.1, no estado C existem três ações viáveis: ir para a cidade E, ir para a cidade F ou ir para a cidade G. Resolver o problema de programação dinâmica significa, dado um objetivo, achar a melhor seqüência de ações
![Page 85: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/85.jpg)
Plano: é um conjunto de ações, no qual para cada estado é especificada uma ação. Um plano ótimo é o melhor conjunto de ações considerando o objetivo fixado.
![Page 86: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/86.jpg)
Retorno: é algo que o sistema gera, sobre um estágio ou processo. No problema da figura acima, o retorno é a distância percorrida entre uma cidade e a próxima. O retorno é usualmente, algo do tipo: lucro, custo, distância, consumo de recursos, etc.
![Page 87: Programação não linear · Introdução • Em um problema de PNL, pelo menos a função objetivo ou uma das restrições será representada por uma função não linear das variáveis](https://reader033.vdocuments.com.br/reader033/viewer/2022052716/5c306dab09d3f25b438b7e0a/html5/thumbnails/87.jpg)
Valor do Estado: é uma função dos retornos gerados, quando o sistema evolui de um estado inicial para um estado final, através de um plano dado. No caso do problema da viagem, o valor do estado, para um determinado plano, corresponde à distância desta cidade até a cidade terminal.
O valor de um estado sob um plano ótimo é o valor ótimo.