Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um...

31
Edgard Jamhour

Transcript of Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um...

Page 1: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Edgard Jamhour

Page 2: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Disciplina que estuda métodos analíticos para auxiliar na tomada de decisões.

Procura encontrar soluções ótimas ou próximo de ótimas para problemas de engenharia industrial, economia e finanças, comunicações, planejamento e escalonamento de serviços e recursos, etc.

P.O. é originária da Segunda Guerra Mundial, quando os

cientistas de várias disciplinas se reuniram para resolver problemas militares de natureza tática e estratégica.

Page 3: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Existe grande superposição entre essas áreas

Pesquisa Operacional busca obter soluções ótimas modelando o problema de forma matemática.

Inteligência artificial busca resolver problemas de forma similar a humana, muitas vezes evitando a modelagem matemática do problema.

Page 4: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Solucionar problemas reais;

Tomar decisões embasadas em fatos, dados e correlações quantitativas;

Conceber, planejar, analisar, implementar, operar e controlar sistemas por meio da tecnologia bem como de métodos de outras áreas do conhecimento;

Minimizar custos e maximizar o lucro;

Encontrar a melhor solução para um problema, ou seja, a solução ótima.

Page 5: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

1. otimização de recursos; 2. roteirização; 3. localização; 4. carteiras de investimento; 5. alocação de pessoas; 6. previsão de planejamento; 7. alocação de verbas de mídia; 8. determinação de mix de produtos; 9. escalonamento e planejamento da produção; 10. planejamento financeiro; 11. análise de projetos e etc.

Page 6: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Modelos obrigam os tomadores de decisão a tornarem explícitos seus objetivos.

Modelos foçam a identificação e armazenamento de diversas decisões que influenciam no atingimento dos objetivos.

Modelos forçam a identificação e armazenamento das relações entre diferentes decisões.

Modelos forçam a identificação de limitações. Modelos forçam a determinação de variáveis a serem

consideradas e sua quantificação. Modelos permitem a comunicação e o trabalho em grupo.

Page 7: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Variáveis do problema. São fatores controláveis e quantificáveis. Representam as variáveis de decisão.

Parâmetros do problema. São os valores fixos do problema.

Os valores financeiros dos dados os ou custos fixos da produção são alguns exemplos.

Restrições. São aspectos que limitam a combinação de valores e variáveis de soluções possíveis.

Função objetivo. É uma função que busca maximizar ou minimizar , dependendo do objetivo do

problema.

Ela é essencial na definição da qualidade da solução em função das incógnitas encontradas.

Page 8: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Sandra, elegante, gosta de frequentar lugares sofisticados, mais caros, de modo que uma saída de três horas custará R$240,00;

Regina, mais simples, prefere um divertimento mais popular, de modo que, uma saída de três horas custará R$160,00;

Seu orçamento permite dispor de R$960,00 mensais para diversão;

Seus afazeres escolares lhe darão liberdade de dispor de, no máximo, 18 horas e 40.000 calorias de sua energia para atividades sociais;

Cada saída com Sandra consome 5.000 calorias, mas com Regina, mais alegre e extrovertida, gasta o dobro;

Ele gosta das duas com a mesma intensidade.

Page 9: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Como deve planejar sua vida social para obter o número máximo de saídas ?

Variáveis de decisão:

X1 = número de saídas com Sandra;

X2 = número de saídas com Regina.

Função objetivo:

Maximizar z = x1 + x2

Restrições:

240x1 + 160x2 ≤ 960

3x1 + 3x2 ≤ 18

5000x1 + 10000x2 ≤40000

Page 10: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

NMaximize[ {x1+x2,

240x1 + 160 x2 <= 960,

3 x1 + 3x2 <= 18,

5000x1 +10000x2 <= 40000},

{x1,x2}]

{5.,{x1->2.,x2->3.}}

Page 11: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

1) Formulação do problema

Determinar o objetivo ▪ O que se deseja maximizar (objetivo) ou minimizar (custo)

Identificar as restrições

Definir as variáveis controláveis ▪ Variáveis que não podem ser ajustadas

▪ Exemplo: quantidade a ser produza

Definir as variáveis não controláveis (ou fixas) ▪ Variável que não se tem controle

▪ Exemplo: preço da matéria prima

Page 12: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

2) Construção do modelo

Modelagem matemática da função objetivo ou função custo

Modelagem matemática das restrições como um conjunto de equações ou inequações

A função objetivo e as restrições precisam ser formuladas em termos das variáveis controláveis

Page 13: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

3) Resolução do Modelo

Selecionar a técnica mais adequada para resolução do problema

Técnicas possíveis:

▪ Programação Linear

▪ Programação Não-linear

▪ Programação Inteira

▪ Programação Inteira-Mista

Page 14: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

4) Teste do modelo e da solução

Verifica-se se a solução proposta atende aos requisitos do problema

Técnicas de simulação podem ser utilizadas para testar a solução antes de implantação em campo

5) Implantação e acompanhamento

Monitorar se as variáveis não controláveis ainda estão de acordo com o problema formulado.

Medir resultados parciais e efetuar ajustes

Page 15: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Seja f(x) a função objetivo e x = {x1, x2, ...,xn} as variáveis controláveis:

Problema de minimização: ▪ encontrar x tal que f(x) é mínimo

▪ f(x) nesse caso é chamada função custo

▪ minx f(x)

Problema de maximização: ▪ encontrar x tal que f(x) é máximo

▪ f(x) nesse caso é chamada função objetivo

▪ maxx f(x)

Page 16: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Problemas sem restrições:

Qualquer valor do vetor x corresponde a uma solução admissível ou realizável

O valor de x encontrado é o mínimo ou máximo global da função f(x)

Problemas com restrições:

Existe restrições sobre quais valores o vetor x pode assumir

Uma solução com valores de x que violam as restrições é dia não admissível ou não realizável

Exemplo: ▪ minimize f(x)

▪ subject to 10 < x < 100

Page 17: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Programação Linear (PL)

A função objetivo f(x) e as restrições são lineares em relação a x:

Exemplo:

▪ f(x) = c1 x1 + c2 x2 + ... + cn xn

▪ Região admissível: { x ϵ Rn | A x = b, x > 0 }

▪ A não é quadrada, mas tem mais colunas que linhas

Programação Não-Linear (PNL)

A função objetivo f(x) e/ou as restrições são não-lineares em relação a x:

Exemplo:

▪ f(x) = c1 x12 + c2 x1x2

3 + ... + cn 2xn

▪ Região admissível: { x ϵ Rn | 5< x1*x2 <10; x22 <10; 2xn<x3}

Page 18: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Otimização contínua

As variáveis do modelo são números reais, e podem assumir qualquer valor em um intervalo:

▪ Exemplo: 5 < x1 < 10

Otimização discreta

Algumas ou todas as variáveis do modelo estão restritas a um conjunto discreto:

▪ Exemplo: x2 ϵ {1,2,5,7,9,15}

Otimização Combinatórica

O problema consiste em encontrar uma ordem específica para elementos de um conjunto discreto ▪ Exemplo: Problema do caixeiro viajante, Minimum Spanning Tree, etc.

Programação Inteira

Todas as variáveis do modelo são número inteiros

Se apenas algumas variáveis do modelo tiverem a restrição de ser inteiros, o problema é dito de Programação inteira mista

Programação inteira pode ser linear ou não linear

Page 19: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Line Search Methods Trust-Region Methods Truncated Newton Methods Difference Approximations Quasi-Newton Methods Nonlinear Conjugate Gradient Method Nonlinear Simplex Method

Ver https://neos-guide.org/content/algorithms-by-type

Page 20: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Bound Constrained Optimization Newton Methods Gradient Projection Methods

Linear Programming Simplex Method Interior Point Methods

Quadratic Programming Algorithms for Quadratic Programming

Nonlinear Programming Augmented Lagrangian Methods Reduced Gradient Methods Sequential Quadratic Programming Feasible Sequential Quadratic Programming

Semi-infinite Programming Central Cutting Plane Methods Discretization Methods KKT Reduction Methods SQP Reduction Methods

Page 21: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Um problema recorrente para os métodos de otimização para problemas não lineares é a convergência para uma solução ótima local:

máximo global

mínimo local

máximo local

mínimo global

Page 22: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Método iterativo utilizado para resolver problemas de otimização sem restrição.

Procura encontrar a direção (s0), para o qual o vetor inicial x0 deve ser movido para reduzir o valor da função objetivo f(x).

x = x0 + a s0

f(x0 + a s0) < f(x0)

Page 23: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Seja f(x) a função objetivo, com múltiplas variáveis controláveis, representadas pelo vetor x={x1, x2, ..., xn}.

Define-se o gradiente de f(x) como:

f(x) = ( f/ x1, f/ x2, ..., f/ xn)

Passo da iteração do gradiente descendente:

xk+1= xk - k f(x)

O objetivo é obter: f(x0) > f(x1) > f(x2) > .... f(xn)

Page 24: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Como a convergência para o mínimo pode ser muito lenta, pode-se impor a seguintes condições de convergência:

1) Número máximo de passos

2) A função custo para de diminuir ou diminui muito pouco entre iterações sucessivas:

▪ f(xk+1)= f(xk)=f(xk-1)

Page 25: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

f(x) = x2 + 10 x ponto inicial: x0 = 2 máximo de iterações: 20

Passo 0.1 Passo 0.01

Page 26: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Se o passo k for muito pequeno, o método vai convergir muito lentamente.

Se o passo k for muito grande, o método pode não convergir.

Veja o efeito do passo no endereço:

http://www.onmyphd.com/?p=gradient.descent

Page 27: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Existe vários métodos apara ajustar k de forma adaptativa, a cada iteração (line search).

Exemplos:

Cauchy: gradiente mais descendente

▪ k é o valor de que minimiza a função: f(xk- f(xk) )

Aproximação Barzilai and Borwein (1988)

▪ xk+1= xk - k f(xk)

▪ k = (xk-xk-1)T(f(xk) - f(xk-1) )/||f(xk) - f(xk-1) ||2

Page 28: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

f(x) = x2 + 10 x

máximo de iterações: 20

x0 = 2, x1 = 1.8 x0 = 1, x1 = 2

Page 29: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Sistemas lineares podem ser resolvidos usando o método gradiente descendente:

Ax – b =0

Função custo: (mínimos quadrados)

f(x)= || Ax – b ||2

Gradiente:

f(x) = 2 AT (Ax-b)

Page 30: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

Seja um sistema de equações não lineares: G(x) = 0 Define-se a função custo: f(x) = 0.5 G(x)T G(x)

Exemplo:

G(x) =

f(x) =

Page 31: Localização de Raizes (Zeros de Função)jamhour/Pessoal/Graduacao/MatComputacional/... · Um jovem estava saindo com duas namoradas: Sandra e Regina. Sabe, por experiência, que:

f(x) =

Para h= 0.001 e x0 = {0,0,0} Custo de x0: f(x0) = 58.4561 x1= x0 - h f(x0) x1 = {0.0075,0.002,-0.20944} Custo de x1: f(x1) = 23.3064 x2= x1 - h f(x1) x2 = {0.015005,0.0015482,-0.335103} Custo de x2: f(x2) = 10.617

x3= x2 - h f(x2) x1 = {0.0224955,0.00166978,-0.410501} Custo de x3: f(x3) = 6.01309 x4= x3 - h f(x3) x4 = {0.0299761,0.00163444,-0.455739} Custo de x4: f(x4) = 4.31996