A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Não-Linear

Apresentações semelhantes


Apresentação em tema: "Programação Não-Linear"— Transcrição da apresentação:

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

2 Programação Não-Linear

3 Programação Não-Linear

4 Programação Não-Linear

5 Programação Não-Linear
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

6 Programação Não-Linear

7 Solução Gráfica

8 Solução Gráfica

9 Solução Gráfica

10 Solução Gráfica

11 Importante!

12

13

14 Otimização Unidimensional
Busca pela Razão Áurea Válida para um intervalo que contenha uma única resposta (máximo) Xl é o limite inferior do intervalo f(x) Máximo XU é o limite superior do intervalo Xl X1 X2 XU X1 e X2 são pontos intermediários usados na busca do máximo

15 Otimização Unidimensional
Busca pela Razão Áurea A escolha dos pontos internos pode ser feita de acordo com os seguintes critérios f(x) 𝑙 0 = 𝑙 𝑙 2 (a) Máximo 𝑙 1 𝑙 0 = 𝑙 2 𝑙 1 (b) (a) em (b) Xl X2 X1 XU 𝑙 1 𝑙 1 + 𝑙 2 = 𝑙 2 𝑙 1 Ou, 𝑙 0 𝑙 1 𝑙 2 𝑙 1 + 𝑙 2 𝑙 1 = 𝑙 1 𝑙 2

16 Otimização Unidimensional
Busca pela Razão Áurea 𝑅= 𝑙 2 𝑙 1 Fazendo 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… Razão Áurea 𝟎,𝟔𝟏𝟖𝟎𝟑… 𝟏

17 Otimização Unidimensional
Busca pela Razão Áurea Encontrando o ponto ótimo usando a razão áurea: Escolhe-se os pontos Xl e XU, que definem o intervalo de busca Os pontos interiores são escolhidos usando-se a razão áurea, da seguinte forma: Calcula-se f(X1) e f(X2) 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 −1 2 ( 𝑋 𝑢 − 𝑋 𝑙 ) 𝑋 1 = 𝑋 𝑙 +𝑑) 𝑋 2 = 𝑋 𝑢 −𝑑) 𝑋 1 = 𝑋 𝑙 −1 2 ( 𝑋 𝑢 − 𝑋 𝑙 )

18 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

19 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. Ótimo aproximado f(x) Ótimo verdadeiro Função verdadeira Função quadrática X0 X1 X3 X2

20 Otimização Unidimensional
Interpolação Quadrática O valor de X3 pode ser obtido pela seguinte equação: 𝑋 3 = 𝑓 𝑋 𝑋 1 2 − 𝑋 𝑓 𝑋 𝑋 2 2 − 𝑋 𝑓 𝑋 𝑋 0 2 − 𝑋 𝑓 𝑋 𝑋 1 − 𝑋 𝑓 𝑋 𝑋 2 − 𝑋 𝑓 𝑋 𝑋 0 − 𝑋 1 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. 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

21 Otimização Unidimensional
Método de Newton 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

22

23 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

24 Método Univariacional
Estratégia de caminhar “morro acima”

25 Função objetivo: F(x1,x2)
Máximo local Máximo global x1

26 Início: ponto coordenadas (parâmetros) aleatórias
X2=valor aleatório entre c e d X1=valor aleatório entre a e b

27 Determina direção de busca: exemplo x2=x2+0,3; x1=x1
Função objetivo melhorou? Não, então tenta no outro sentido.

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

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

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

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

32 ...e muda a direção de busca.
F.O melhorou? Sim, então continua no mesmo sentido

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

34 Exemplo: f(X1,X2) = X12 + 8.(X1-X2) + X1.X2 + X22
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) = X (X1-X2) + X1.X2 + X22

35 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


Carregar ppt "Programação Não-Linear"

Apresentações semelhantes


Anúncios Google