programação não-linear por prof. benedito c. silva universidade federal de itajubá – unifei...

35
Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Upload: andre-ferreira-weber

Post on 07-Apr-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Programação Não-Linear

porProf. Benedito C. Silva

Universidade Federal de Itajubá – UNIFEIInstituto de Recursos Naturais - IRN

Page 2: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Programação Não-Linear

Page 3: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Programação Não-Linear

Page 4: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Programação Não-Linear

Page 5: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Métodos de solução:• Substituição• Gráfico• Multiplicadores de Lagrange• Método do Gradiente• Programação Quadrática• Condições de Karush-Kuhn Tucker• Método de Newton• Método de variações nas Coordenadas• Linearização de funções separáveis

Programação Não-Linear

Page 6: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Programação Não-Linear

Page 7: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Solução Gráfica

Page 8: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Solução Gráfica

Page 9: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Solução Gráfica

Page 10: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

222

211 1378954 xxxxMaxZ

Solução Gráfica

Page 11: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Importante!

Page 12: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN
Page 13: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN
Page 14: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Busca pela Razão Áurea

Válida para um intervalo que contenha uma única resposta (máximo)

Máximo

Xl

XUX2X1

Xl é o limite inferior do intervalo

XU é o limite superior do intervalo

X1 e X2 são pontos intermediários usados na busca do máximo

f(x)

Page 15: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Busca pela Razão Áurea

A escolha dos pontos internos pode ser feita de acordo com os seguintes critérios

+ Máximo

Xl

XUX1X2𝑙0𝑙1 𝑙2

𝑙1𝑙0

=𝑙2

𝑙1

(a)

(b)

(a) em (b)

f(x)

𝑙1𝑙1+𝑙2

=𝑙2

𝑙1Ou,

𝑙1+𝑙2

𝑙1=𝑙1

𝑙2

Page 16: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Busca pela Razão Áurea

Fazendo 𝑅=𝑙2𝑙1

Razão Áurea

chega-se a:

1+𝑅=1𝑅 ou,

𝑅2+𝑅−1=0

A raiz positiva será dada por:

𝑅=−1+√1−4.(−1)

2=√5−1

2=0,61803…

𝟏𝟎 ,𝟔𝟏𝟖𝟎𝟑…

Page 17: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Busca pela Razão Áurea

Encontrando o ponto ótimo usando a razão áurea:

1. Escolhe-se os pontos Xl e XU, que definem o intervalo de busca2. Os pontos interiores são escolhidos usando-se a razão áurea, da

seguinte forma:

3. Calcula-se f(X1) e f(X2)4. Se f(X1) > f(X2), então:

O domínio a esquerda de X2 deve ser eliminado. Ou seja, X2 passa a ser Xl, X1 passa a ser X2 e

𝑑=√5−12

(𝑋𝑢−𝑋 𝑙)𝑋 1=𝑋 𝑙+𝑑¿𝑋 2=𝑋𝑢−𝑑¿

𝑋 1=𝑋 𝑙+√5−1

2(𝑋𝑢−𝑋 𝑙)

Page 18: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Busca pela Razão Áurea

Encontrando o ponto ótimo usando a razão áurea:

Se f(X2) > f(X1), então:O domínio a direita de X1 deve ser eliminado. Ou seja, X1

passa a ser XU, X2 passa a ser X1 e

𝑋 2=𝑋𝑢−√5−1

2(𝑋𝑢− 𝑋 𝑙)

Exemplo:Usar o método de busca pela seção áurea para encontrar o

máximo da função abaixo, no intervalo de X entre 0 e 4.

𝑓 ( 𝑋 )=2. sen 𝑋 − 𝑋 2

10

Page 19: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Interpolação Quadrática

Este método parte do princípio que um polinômio do segundo grau fornece uma boa aproximação para a forma da função objetivo, f(x), nas proximidades do ponto ótimo.

Existe apenas uma parábola ligando 3 pontos. Portanto, se existem 3 pontos que delimitem um ponto ótimo, pode-se ajustar uma parábola aos 3 pontos, derivá-la e igualar o resultado a zero, para estimar o valor ótimo de X.

f(x)

X0

X2X3X1

Ótimo verdadeiroÓtimo aproximado

Função verdadeira

Função quadrática

Page 20: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

O valor de X3 pode ser obtido pela seguinte equação:

Onde, X0, X1 e X2 são aproximações iniciais e X3 é o valor de X que corresponde ao máximo valor da função quadrática ajustada às aproximações.Realizam-se iterações. Em cada uma delas, avaliam os valores da função para os pontos escolhidos e descarta-se um deles , reduzindo-se o espaço de busca.

𝑋 3=𝑓 (𝑋 0 ) . (𝑋 1

2−𝑋 22 )+ 𝑓 (𝑋 1 ) . (𝑋 2

2−𝑋 02 )+ 𝑓 (𝑋 2 ) . (𝑋 0

2−𝑋 12 )

2. 𝑓 (𝑋 0 ) . ( 𝑋 1❑−𝑋 2

❑)+2. 𝑓 (𝑋 1 ) . (𝑋 2❑−𝑋 0

❑ )+2. 𝑓 (𝑋 2 ) . ( 𝑋 0❑−𝑋 1

❑)

Exemplo:Usar a interpolação quadrática para encontrar o máximo da função abaixo, com as aproximações iniciais X0 = 0, X1 = 1 e X2 = 4.

𝑓 ( 𝑋 )=2. sen 𝑋 − 𝑋 2

10

Interpolação Quadrática

Page 21: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Otimização Unidimensional

Utiliza a seguinte equação para uma busca iterativa do ótimo da função:

𝑋 𝑖+1=𝑋 𝑖−𝑓 ′( 𝑋 )𝑓 ( )𝑋 ¿

Exemplo:Usar o Método de Newton para encontrar o máximo da função abaixo, com aproximação inicial X0 = 2,5.

𝑓 ( 𝑋 )=2. sen 𝑋 − 𝑋 2

10

Método de Newton

Page 22: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN
Page 23: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

MÉTODOS DE BUSCA DIRETA

Busca Aleatória

Método do tipo “força bruta”

Consiste em calcular repetidamente a função objetivo a partir de valores das variáveis independentes escolhidos aleatoriamente.

Se um número suficiente de amostras for estudado, o valor ótimo será eventualmente localizado

Exemplo:

Use a função de geração de números aleatórios do MSExcel (aleatório) para encontrar o máximo da função abaixo, no domínio limitado por x=-2 a 2 e y=-1 a 1,5

f(x,y) = y – x – 2x2 - 2xy – y2

Page 24: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Método Univariacional

Estratégia de caminhar “morro acima”

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Page 25: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Máximo globalMáximo local

Função objetivo: F(x1,x2)

x1

x2

Page 26: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Início: ponto coordenadas (parâmetros) aleatórias

X1=valor aleatório entre a e b

X2=valor aleatório entre c e d

Page 27: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Determina direção de busca: exemplo x2=x2+0,3; x1=x1

Função objetivo melhorou? Não, então tenta no outro sentido.

Page 28: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

F.O melhorou? Sim, então continua no mesmo sentido

Page 29: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

F.O melhorou? Sim, então continua no mesmo sentido

Page 30: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

F.O melhorou? Sim, então continua no mesmo sentido

Page 31: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

F.O melhorou? Não, então volta para o ponto anterior...

Page 32: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

F.O melhorou? Sim, então continua no mesmo sentido0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

...e muda a direção de busca.

Page 33: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

E assim segue até encontrar um ponto em que não existedireção de busca que melhore o valor da FO

Page 34: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Exemplo:

Use o método univariacional para encontrar o máximo da função abaixo, a partir do ponto inicial (X1=-10 e X2=-10

f(X1,X2) = X12 + 8.(X1-X2) + X1.X2 + X22

Page 35: Programação Não-Linear por Prof. Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Rosenbrock: Método um pouco mais eficiente

Direção de busca é a que potencialmente dará maior incremento da FO

Muito utilizado para calibração automática de modelos hidrológicos