Baixe o app para aproveitar ainda mais
Prévia do material em texto
Otimização Numérica W B A 0 5 13 _ V 1. 0 2/269 Otimização Numérica Autoria: Tarcísio Soares Siqueira Dantas Como citar este documento: DANTAS, Tarcísio Soares Siqueira. Otimização Numérica. Valinhos: 2017. Sumário Apresentação da Disciplina 04 Unidade 1: Introdução, definições e conceitos matemáticos importantes 06 Assista a suas aulas 30 Unidade 2: Otimização unidimensional sem restrições 40 Assista a suas aulas 67 Unidade 3: Otimização multidimensional sem restrições 74 Assista a suas aulas 105 Unidade 4: Programação linear: conceitos básicos 113 Assista a suas aulas 141 2/269 3/2693 Unidade 5: Programação linear: algoritmo simplex e aplicações 148 Assista a suas aulas 176 Unidade 6: Programação não-linear 183 Assista a suas aulas 207 Unidade 7: Algoritmos genéticos 214 Assista a suas aulas 236 Unidade 8: Recozimento simulado 243 Assista a suas aulas 262 Sumário Otimização Numérica Autoria: Tarcísio Soares Siqueira Dantas Como citar este documento: DANTAS, Tarcísio Soares Siqueira. Otimização Numérica. Valinhos: 2017. 4/269 Apresentação da Disciplina Frequentemente, profissionais das mais va- riadas áreas do conhecimento buscam me- lhorar processos, mas os recursos disponí- veis para tal objetivo sempre são limitados. A otimização é um assunto que, através de métodos matemáticos, busca estimar a so- lução de um determinado problema. Para isso, é necessário um modelo que represen- te, pelo menos de forma aproximada, o sis- tema que se deseja aprimorar. As áreas de aplicação podem ir de engenharias e ciên- cias até as áreas de negócios e finanças. Na realidade, qualquer profissional que tenha habilidade de trabalhar com funções mate- máticas está apto a utilizar esta ferramenta. É importante, também, separar o profissio- nal que desenvolve novos métodos de oti- mização e o profissional que usa o conheci- mento previamente desenvolvido com uma ferramenta para o seu projeto ou processo. Este curso foi elaborado para o segundo caso. Os tipos de problemas que podem ser re- solvidos são dos mais variados: projeto de equipamentos, operação de processos, alo- cação de recursos financeiros, agendamen- to de paradas para manutenção de maqui- nário, entre outros. Para isso, utilizar-se-á de métodos de otimização determinísticos ou probabilísticos. Os primeiros apresen- tam uma abordagem mais clássica, onde a função objetivo e as restrições são funções matemáticas explícitas, de preferência con- tínuas, e possuem teoremas que garantem a convergência para uma solução ótima lo- cal. Já os métodos probabilísticos envolvem 5/269 geralmente variáveis estocásticas e os al- goritmos fazem buscas simultâneas a partir de diferentes pontos do espaço de busca, além de trabalharem mais eficientemente com um grande número de variáveis. 6/269 Unidade 1 Introdução, definições e conceitos matemáticos importantes Objetivos 1. Apresentar noções de otimização. 2. Definir a formulação matemática de um problema de otimização. 3. Mostrar aplicações. 4. Estabelecer a relação entre a modela- gem do processo e o problema de oti- mização. Unidade 1 • Introdução, definições e conceitos matemáticos importantes7/269 Introdução Certamente, a maioria dos estudantes de graduação já se depararam com a necessi- dade de calcular o mínimo ou o máximo de uma função. Apesar da importância inegá- vel do cálculo diferencial e integral, cujo co- nhecimento possibilitou o desenvolvimento de outras teorias, estimar o máximo ou mí- nimo de uma função qualquer está distante de uma aplicação prática útil para a maioria dos profissionais (CHAPRA; CANALE, 2008). Essa disciplina propõe aproximar o aluno a essa aplicação prática. Obviamente isso não significa que os fundamentos mate- máticos serão abandonados, ao contrário, serão aprofundados. Os métodos de otimi- zação mais próximos do cálculo diferencial e integral, baseados na avaliação da deriva- da, serão apresentados porque são simples, didáticos e auxiliarão no entendimento de métodos mais complexos. Concomitante ao avanço da tecnologia dos computadores, foram desenvolvidos mé- todos para a resolução de problemas mais complexos,com um númeroconsiderável de variáveis e que anteriormente seriam muito trabalhosos ou mesmo impossíveis de re- solver (CHAPRA; CANALE, 2008). É importante frisar que na área de otimiza- ção nenhum algoritmo é capaz de resolver todos os problemas, o que ocasiona a gera- ção de um campo vasto de pesquisa. Porém, como será visto, uma etapa de solução de problemas de otimizações envolve justa- mente a escolha do método mais adequado. Unidade 1 • Introdução, definições e conceitos matemáticos importantes8/269 Ressalta-se que o ponto extremo da fun- ção objetivo pode ser um ponto ótimo local ou global, que vai depender do intervalo de busca estabelecido e se a função é multi ou unimodal, conforme ilustra a figura 1, que foi obtida a partir da função peaks do sof- tware MATLAB®.Uma função unimodal pos- sui apenas um extremo, onde o ponto ótimo local coincide com o ótimo global. Uma fun- ção multimodal possui múltiplos extremos e apenas um deles é o global (HIMMELBLAU et al., 2001). Não é uma tarefa simples determinar a so- lução ótima global em um problema com vários ótimos locais. Recentemente, méto- dos heurísticos baseados em recozimento simulado (Simulated Annealing) demons- traram sucesso em problemas de otimiza- ção global, que até então acreditava-se que não eram possíveis de serem solucionados (PRESS et al., 2007). Unidade 1 • Introdução, definições e conceitos matemáticos importantes9/269 Figura 1- Função bidimensional com diferentes extremos locais e globais Fonte: Adaptado de MATLAB®. Unidade 1 • Introdução, definições e conceitos matemáticos importantes10/269 1. Formulação básica de um problema de otimização Os problemas, geralmente, possuem a seguinte formulação matemática: i. Função objetivo Maximiza ou minimiza: ii. Restrição de igualdade Sujeito a: iii. Restrição de desigualdade Onde é um vetor de “n” dimensões representando as variáveis independen- tes (variáveis de projeto ou decisão), que o algoritmo manipulará até atingir o objetivo relacionado a função . éo conjunto dos números reais.A notação de vetores, como , será representada em negrito e em caixa baixa, ao contrário de matrizes e escalares. As restrições de igualdade são formadas por um conjunto de funções algébricas, . As restrições de desigualdade são expressas por um vetor de dimensões , que pode conter cons- tante ou funções. A desigualdade pode envolver também limites inferiores e superiores. Ambos e são constantes que definem os limites das restrições. A estrutura das equações e obviamente dependerá do problema e será explicada mais adiante. Analisando o conjunto de equações incluídas na formulação matemática, é possível classificar o problema em termos dos tipos de restrições impostas, observe: Unidade 1 • Introdução, definições e conceitos matemáticos importantes11/269 • Se trata de um problema de otimiza- ção sem restrições se houver apenas a função objetivo (i) na representação matemática. • Se (i) e (ii) estiverem presentes, então trata-se de um problema de otimiza- ção com restrições de igualdade. • Caso a formulação inclua (i), (ii) e (iii) então classifica-se o problema como sendo de otimização com restrições de igualdade e desigualdade. • Existem também problemas com ape- nas restrições de desigualdade, onde apenas (i) e (iii) estarão incluídas no conjunto de equações (CHAPRA; CA- NALE, 2008). Classifica-se também o problema de otimi- zação com restrições em termos do grau de não-linearidade da função objetivo e das restrições de igualdade , sendo: • Programação linear: se e são lineares. • Programação quadrática: se for quadrática e são lineares. • Programação não-linear: se for linear ou quadrática ou são não lineares. A programação linear é uma área da oti- mização com restrições desenvolvida e,ao mesmo tempo, distinta de outras aborda- gens, como será visto adiante. O termo pro- gramação, na literatura, tem o significado análogo ao termo otimização e não deve ser Unidade 1 • Introdução, definições e conceitos matemáticos importantes12/269 confundido com programação através de linguagens de computadores (PRESS et al., 2007, WALTER, 2014). Classifica-se também o problema em rela- ção ao seu número de dimensões: se houver apenas uma variável independente classifi- ca-se o problema como unidimensional, se houver mais de uma variável independente o problema é então multidimensional. Uma consequência da imposição de restri- ções é que as variáveis independentes de- vem sempre satisfazer esses limites, pré- -estabelecidos, na busca do extremo da função. Essa região permitida é definida como região viável ou de busca, como pode ser visto na figura2. Figura 2- Representação da região de busca deli- mitada por duas restrições de desigualdades Fonte: adaptado de Himmelblau et al. (2001, p. 120). A grande vantagem em estabelecer uma formulação matemática comum é facilitar que profissionais, das mais variadas áreas Unidade 1 • Introdução, definições e conceitos matemáticos importantes13/269 de conhecimento, possam usar os mesmos métodos matemáticos para a resolução de cada caso particular. 2. Otimização em diferentes ní- veis organizacionais Tratando a otimização como uma discipli- na voltada para aplicação industrial, pode- -se contextualizar os problemas nos moldes que regem essa realidade. A atuação dos funcionários e administradores de uma em- presa pode ser dividida em diferentes níveis organizacionais, que, essencialmente, são responsáveis por implementarem as deci- sões da diretoria. Cada nível organizacional pode utilizar a otimização como uma ferra- menta para atingir os seus respectivos ob- jetivos. É importante frisar que esses objeti- vos podem ser incompatíveis entre si. No nível operacional, o usuário vai utilizar a otimização tanto na etapa de projeto como na de operação. Na fase de projeto, o pro- cesso de fabricação ou equipamento indi- vidual ainda não existem. Na operação de uma planta industrial, o processo já existe e busca-se as condições operacionais óti- mas. O objetivo pode ser tanto uma variável econômica (custo ou lucro) como pode ser uma variável técnica (taxa de produção, en- quadramento nas especificações, eficiência energética, tempo e custo de manutenção). Há potencial aqui de resolver problemas discretos e contínuos, como otimização aplicada a alimentação de combustível em uma caldeira (contínuo) ou a otimização da Unidade 1 • Introdução, definições e conceitos matemáticos importantes14/269 escala de trabalho (discreto) a fim de apro- veitar melhor a mão de obra disponível. Já no nível gerencial, os gestores tomam de- cisões relacionadas ao orçamento corpora- tivo, investimentos, linhas de produtos, alo- cação de recursos entre os setores da em- presa. Aqui, busca-se otimizar uma variável econômica, geralmente visando maximiza- ção do lucro ou redução dos custos. A deli- mitação do tamanho do problema envolvi- do pode variar bastante, envolvendo desde uma empresa como um todo, que possui um conjunto de plantas industriais e suas redes de distribuição, até uma planta individu- al, uma linha de produção ou processo, um equipamento individual, etc. (HIMMELBLAU et al., 2001). É importante também ter cautela ao otimi- zar um determinado índice de desempenho, seja de natureza técnica ou econômica. Se- gundo Walter (2014), só porque é possível realizar uma dada otimização não significa que isso seja sempre uma boa ideia e que não haverá consequências inesperadas. 3. Exemplos de aplicações da oti- mização Alguns exemplos de aplicações em otimiza- ção evolvendo um ou mais objetivos. • Otimização do consumo energético do sistema de refrigeração de um fri- gorífico com restrições em relação à temperatura do produto. Unidade 1 • Introdução, definições e conceitos matemáticos importantes15/269 • Estimação ótima dos parâmetros de um modelo com função objetivo não- -quadrática. • Determinação da rota ótima de distri- buição do combustível produzido em uma refinaria de petróleo, visando a minimização dos custos de transpor- te. • Determinação da localização ótima para construção de uma indústria, visando maior volume de produção e menor curso de transporte. • Projeto de aeronave otimizando a re- lação entre resistência mecânica e consumo de combustível. 4. Modelo matemático A formulação básica de um problema de otimização é apenas uma descrição de um problema real com representação matemá- tica, cujo procedimento de “tradução” por si só já introduz incertezas e erros. Um modelo do processo, que faz parte des- sa formulação, é essencialmente uma apro- ximação de determinados aspectos do sis- tema real. Predições erradas ocorrem quan- do essa representação falha em descrever determinadas características complexas do sistema. Isso ocorre porque há incom- patibilidade entre o modelo e o processo, que muitas vezes podem ser multivariáveis, não-linearese/ou iterativos. Unidade 1 • Introdução, definições e conceitos matemáticos importantes16/269 O comportamento de um processo multiva- riável é explicado, como o nome sugere, por múltiplas saídas e entradas. Cada entrada possui diferentes sensibilidades em relação a uma saída, que depende do coeficiente da mesma no modelo. Muitas vezes é inviável medir todas as entradas e uma entrada não medida pode gerar incompatibilidade entre o modelo e o processo. É comum usar um modelo linear devido a facilidade de obtenção para descrever um processo real que é não-linear. Essa apro- ximação é válida quando o modelo linear é utilizado para fazer previsões na vizinhança do ponto de operação do processo, no qual esse modelo foi estimado. Previsões realiza- das em condições distantes do ponto ope- racional tendem a resultar em maiores erros comparados com os valores reais medidos e resultando em resultados sub-ótimos. Link Foi publicado um tutorial na universidade da Cali- fórnia sobre modelos multivariáveis empregados na estatística. Disponível em: <https://www. math.ucdavis.edu/~tracy/talks/oldtalks/ SAMSItutorial.pdf>. Acesso em: 25 set. 2017. Link Um exemplo do emprego de modelos lineares em processos não lineares pode ser visto no traba- lho direcionado a predição de clima baseados em anomalias nos dados. Disponível em: <http://jour- nals.ametsoc.org/doi/pdf/10.1175/JCLI3459.1>. Aces- so em: 22 set. 2017. https://www.math.ucdavis.edu/~tracy/talks/oldtalks/SAMSItutorial.pdf https://www.math.ucdavis.edu/~tracy/talks/oldtalks/SAMSItutorial.pdf https://www.math.ucdavis.edu/~tracy/talks/oldtalks/SAMSItutorial.pdf http://journals.ametsoc.org/doi/pdf/10.1175/JCLI3459.1 http://journals.ametsoc.org/doi/pdf/10.1175/JCLI3459.1 Unidade 1 • Introdução, definições e conceitos matemáticos importantes17/269 A interatividade também é um fenômeno comum nos processos reais e multivariá- veis. Nesse caso, cada entrada afeta uma ou mais de uma saída. Outra possibilidade é a própria saída de um processo também atu- ar como uma entrada. Falhar em considerar essa interação pode inviabilizar a obtenção de um modelo representativo, dependendo da magnitude dos coeficientes lineares dos termos de interação (SEBORG et al., 2004). Esse efeito não será estudado nos proble- mas de otimização desse curso, mas a men- ção sobre esse fenômeno pode alertar o leitor para uma possível causa geradora de complexidade nos dados do processo. Há uma importante variedade de repre- sentações matemáticas para modelos, se- jam eles discretos ou contínuos, em regime permanente ou dinâmico. Supõe-se que o aluno esteja familiarizado com esse tópico. Porém, para atender ao objetivo do curso, que é resolver problemas de otimização, a Para saber mais Sobre efeitos de iteratividade em processos indus- triais, busque na literatura especializada em mo- delagemde processos ou controle de processos, os livros do SEBORG et al. 2004 e do OGATA (2000), que trazem exemplos aplicados a engenharia quí- mica, elétrica e mecânica. Certamente há intera- tividade na modelagem de fenômenos em muitas outras áreas além dessas mencionadas. Unidade 1 • Introdução, definições e conceitos matemáticos importantes18/269 representação matemática do processo fi- cará restrita às equações algébricas. Há di- versos livros que tratam desse tópico, como Chapra e Canale (2008), Himmelblau et al. (2001) e Walter (2014), que apresentam formulações de um problema de otimiza- ção visando tanto a seleção da estrutura do modelo (p. ex. tipo da função, grau do poli- nômio etc.) como para estimação de parâ- metros, e esse último caso será abordado nesse material. 5. Continuidade de uma função A utilização de funções contínuas facilita a aplicação da maioria dos métodos de oti- mização analíticos e numéricos. A presen- ça de uma descontinuidade na função pode resultar na não convergência do algoritmo dependendo do intervalo de busca, do pon- to de partida ou intervalo inicial, como pode ser visto na figura3 (HIMMELBLAU et al., 2001). A continuidade da derivada da fun- ção objetivo também é desejada quando o método de otimização determina a direção de busca avaliando a derivada da função objetivo, . Figura 3 - Descontinuidade na função objetivo Fonte: adaptado de Himmelblau et al. (2001, p. 114). Unidade 1 • Introdução, definições e conceitos matemáticos importantes19/269 De acordo com Press et al. (2007), os méto- dos unidimensionais que não utilizam a pri- meira derivada são secção áurea e o método de Brent (1973). Em problemas multidimen- sionais, onde o objetivo é minimizar uma função com mais de uma variável indepen- dente, o gradiente da função multidimen- sional substitui a derivada, que é o caso do método simplex down hill de Nelder e Mead (1965). Um caso onde a função é contínua, mas cuja primeira derivada não é pode ser visto na figura 4. Figura 4 - Descontinuidade na primeira derivada da função objetivo Fonte: adaptado de Himmelblau et al. (2001, p. 114). Unidade 1 • Introdução, definições e conceitos matemáticos importantes20/269 conjunto de equações algébricas. O exem- plo que segue é adaptado de Himmelblau et al. (2001, p. 85): Declaração verbal: suponha que uma de- terminada empresa produz três produtos: X, Y e Z usando três tipos de matérias-primas diferentes: A, B e C. A relação entre cada matéria-prima é dada pelas seguintes rela- ções: Linha de produção 1: 2 kg de A + 1 kg de B = 3 kg de X. Linha de produção 2: 2 kg de A + 1 kg de B = 3 kg de Y. Linha de produção 3: 3 kg de A + 1 kg de B + 2 kg de C = 6 kg de Z. O limite máximo de compras e estocagem 6. Exemplo de formulação de um problema de otimização Essa etapa, como mencionado, é essencial para resolução do problema. Trata-se de transformar uma declaração verbal em um Para saber mais A definição de continuidade de uma função em um determinado ponto , de acordo com Lei- thold (1994), deve atender as seguintes condi- ções: i. existe ii. existe iii. Unidade 1 • Introdução, definições e conceitos matemáticos importantes21/269 da empresa, além do preço de cada matéria-prima é apresentado na Tabela 1. Tabela 1 - Custo de disponibilidade da matéria-prima Matéria-prima Disponibilidade máxima (kg/dia) Custo da matéria-prima (R$/dia) A 50000 15 B 35000 20 C 28000 30 Fonte: adaptado de Himmelblau et al. (2001, p. 85). A equação que define o custo da matéria-prima: 0,015A + 0,02B + 0,03C Tabela 2 – Custos de processamento de cada produto Produto Matéria-prima Custo de processamen- to (R$/kg) Valor de mercado do pro- duto (R$/kg) X 2/3 kg A, 1/3 kg B 12 50 Y 2/3 kg A, 1/3 kg B 7 35 Z 1/2 kg A, 1/6 kg B, 1/3 kg C 10 40 Fonte: adaptado de Himmelblau et al. (2001, p. 85). O lucro total da empresa é definido pela soma do valor de mercado dos produtos (os coeficientes são expressos em R$/tonelada daqui em diante): 0,05X + 0,035Y + 0,04Z. Unidade 1 • Introdução, definições e conceitos matemáticos importantes22/269 O custo de processamento: 0,012X + 0,007Y + 0,010Z. O custo operacional total diário é o custo da matéria prima + custo de processamento = 0,015A + 0,02B + 0,03C + 0,012X + 0,007Y + 0,010Z. O lucro diário, que é função objetivo, é calculado subtraindo o custo total operacional diário do valor de mercado do produto. Ou seja, Para formular as restrições de igualdade, temos que realizar um balanço de cada matéria-pri- ma: Como se trata de três li- nhas produzindo X, Y e Z operando simultaneamente, soma-se a contribuição de cada uma, . Para cada kg de X e Y usa-se 0,667 kg de A, para cada kg Z usa-se 0,5 kg de A, então para determinar a quantidade usada de A para cada um dos produtos, faz-se: Unidade 1 • Introdução, definições e conceitos matemáticos importantes23/269 Então é a primeira restrição de igualdade. Seguindo o mesmo raciocínio para as outras matérias primas, tem-se o conjunto de restrições de igualdade: As restrições de igualdade identificam uma função das quantidades necessárias de cada compo- nente para produzir cada um dos produtos, ou seja, do processo de produção. As restrições de desigualdade foram dadas explicitamente na Tabela 1. Unidade 1 • Introdução, definições e conceitos matemáticos importantes24/269 Nota-se que a restrição de desigualdade é essencial para evitar resultados que não fazem sentido, pois escolher uma quanti- dade negativa de matéria-prima para max- imizar o lucro diário é contra a lógica do problema real, apesar disso ser matemati- camente possível se apenas for anali- sada em um problema sem restrições. Unidade 1 • Introdução, definições e conceitos matemáticos importantes25/269 Glossário Processo: uma sequência de operações individuais (de natureza física, química, mecânica, elé- trica, financeira) necessárias para alcançar um determinado objetivo, como a produção de um bem material ou realização de uma determinada tarefa. Variáveis independentes: são exatamente o que o nome sugere, ou seja, variáveis que não de- pendem de nenhuma outra variável ou equação, e por isso o modelador ou o próprio algoritmo de otimização pode determinar qualquer valor desejado. Também são conhecidas como variá- veis de entrada, de projeto, de decisão. Por exemplo, em uma função de primeiro grau, f(x) = y = ax + b, a variável “x” é a variável independente. Restrições: são equações matemáticas que limitam as variáveis dependentes e independentes de forma que o problema mantenha um significado físico. Por exemplo: uma empresa terá uma capacidade máxima (restrição) de estocagem de determinado produto. Região ou espaço de busca: as restrições do problema estabelecem um espaço delimitado para os valores que as variáveis independentes podem assumir, restringindo, consequentemente, o conjunto de soluções possível da função objetivo. O extremo da função objetivo, sem restrições, pode ou não estar contido nessa região. Unidade 1 • Introdução, definições e conceitos matemáticos importantes26/269 Glossário Resultados sub-ótimos: são casos no qual o algoritmo de otimização obteve um valor próximo ao ponto ótimo real do sistema. Usar um modelo que não representa o processo ou escolher um algoritmo inadequado para o tipo de problema são razões para resultar nesse tipo de solução. Questão reflexão ? para 27/269 Há situações em que otimizar realmente pode ser uma má ideia. Reflita em situações que você já vivenciou (ou ouviu falar) que houve a intenção de otimizar algum ín- dice de desempenho qualquer, mesmo sem aplicar uma metodologia matemática, e resultou em consequências inesperadas. Seria possível introduzir alguma nova in- formação que evitasse isso? Como essa solução seria introduzida na formulação básica da otimização? 28/269 Considerações Finais • Usa-se métodos de otimização com objetivo de melhorar algo. • A formulação básica do problema de otimizaçãoé uma tradução do proble- ma real na forma de equações matemáticas e sempre inclui pelo menos a função objetivo, que se deseja maximizar ou minimizar. • As restrições servem para adequar o problema às limitações encontradas na realidade e deverão ser incluídas na formulação básica para delimitar a região de busca. • Nenhum algoritmo sozinho é capaz de resolver todos os problemas de oti- mização. Unidade 1 • Introdução, definições e conceitos matemáticos importantes29/269 Referências BRENT, R. P. Algorithms for minimization without derivatives. New York: Dover publications, 2002. CHAPRA, S.C.; CANALE, R.P.Métodos numéricos para engenharia.5. ed. São Paulo: McGraw-Hill, 2008. GOUVEIA, E.J.C. Métodos convergentes de otimização global baseados no vetor q-gradiente. Tese (Doutorado): Departamento de Computação Aplicada, Instituto Nacional de Pesquisas Es- paciais, 2016. HIMMELBLAU, D. M.; EDGAR, T.F.; LASDON, L.S. Optimization of chemical processes. 2. ed. New York: McGraw-Hill, 2001. LEITHOLD, L. O cálculo com geometria analítica. 3. ed. São Paulo: Editora HABRA ltda, 1994. NELDER, J.A.; MEAD, R. A simplex method for functionminimization. Computer Journal, v. 7, n. 4, p. 308-313, 1965. WALTER, E. Numerical methods and optimization: a consumerguide. Springer, 2014. PRESS, W.H.; TEUKOLSKY, S.A.; VETTERLING, W.T.; FLANNERY, B.P. Numerical recepies: theart of scientific computing. 3. ed. Cambridge University Press, 2007. SEBORG, D.E.; EDGAR, T.F.; MELLICHAMP, D. Process Dynamics andControl. 2. ed. Hoboken: Wi- ley, 2004. 30/269 Assista a suas aulas Aula 1 - Tema: Definições Básicas. Bloco I Disponível em: <https://fast.player.liquidplatform.com/ pApiv2/embed/dbd3957c747affd3be431606233e0f1d/ cbb8e031776ea3a63a5b5f8dfcd01168>. Aula 1 - Tema: Definições Básicas. Bloco II Disponível em: <https://fast.player.liquidplatform.com/pA- piv2/embed/dbd3957c747affd3be431606233e0f1d/8e- 49af6f79ad622e81b3f8c68387943a>. https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/cbb8e031776ea3a63a5b5f8dfcd01168 https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/cbb8e031776ea3a63a5b5f8dfcd01168 https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/cbb8e031776ea3a63a5b5f8dfcd01168 https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/8e49af6f79ad622e81b3f8c68387943a https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/8e49af6f79ad622e81b3f8c68387943a https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/8e49af6f79ad622e81b3f8c68387943a 31/269 1. Assinale a alternativa que apresenta os elementos que fazem parte da for- mulação matemática de um problema de otimização. a) função de propósito, restrições internas, restrições externas. b) função de finalidade, restrições externas, restrição de desigualdade. c) função de objetivo, restrições de igualdade, restrição de desigualdade. d) função de finalidade, restrições internas, restrições de igualdade. e) função de objetivo, restrições internas, restrições externas. Questão 1 32/269 2. Assinale a alternativa que contempla a formulação de um problema de otimização com restrição de igualdade. a) Minimizar: Sujeito a: b) Minimizar: Sujeito a: c) Minimizar: Sujeito a: Questão 2 33/269 Questão 2 d) Minimizar: Sujeito a: e) Minimizar: Sujeito a: 34/269 3. Assinale a alternativa que indica a formulação de um problema de oti- mização com restrições de desigualdade: a) Minimizar: Sujeito a: b) Minimizar: Sujeito a: c) Minimizar: Sujeito a: d) Minimizar: Sujeito a: e) Minimizar: Sujeito a: Questão 3 35/269 4. Suponha que um problema de otimização bidimensional esteja sujeito às restrições: , , e . Figura - Restrições do problema Fonte: o autor. Questão 4 36/269 Questão 4 Assinale a alternativa que apresenta o tamanho da região de busca. a) 8. b) 16. c) 4. d) 2. e) 6. 37/269 5. Suponha que um problema que otimização bidimensional esteja sujeito à: e . Assinale a alternativa que indica o tamanho da região de busca. a) ∞ b) -3 c) -6 d) -8 e) -9. Questão 5 38/269 Gabarito 1. Resposta: C. Não é usado restrições externas e internas para otimização, nem funções de finalidade e propósito. 2. Resposta: D. O texto deixa claro que quando existem am- bos os tipos de restrição, deve-se dizer que o problema é “com restrições de igualdade e desigualdade”. Portanto, apenas a letra D apresenta somente restrição de igual- dade. As alternativas contendo as funções f(x), g(x) e h(x) não se encaixam no que foi pedido, apenas a alternativa com f(x) e g(x). 3. Resposta: A. O texto deixa claro que quando existem am- bos os tipos de restrição, deve-se dizer que o problema é “com restrições de igualdade e desigualdade”. Portanto, apenas a letra A apresenta restrição de desigualdade. As alternativas contendo as funções f(x), g(x) e h(x) não se encaixam no que foi pedido, apenas a alternativa com f(x) e h(x). 4. Resposta: E. De acordo com a figura a área da região de busca é igual (6-3).(4-2) = 6. 39/269 Gabarito 5. Resposta: A. O espaço viável ou espaço de busca é a re- gião delimitada pelos valores que as variá- veis independentes podem assumir. Como o problema é bidimensional e as restrições são duas retas paralelas, a área de busca é infinita. Não se trata de uma pegadinha, pois de fato há casos onde o problema com restrições resulta em maximização OU mi- nimização irrestrita (unbounded). 40/269 Unidade 2 Otimização unidimensional sem restrições Objetivos 1. Definir os tipos de métodos de oti- mização unidimensionais sem restri- ções. 2. Explicar a importância dessa classe de problemas no desenvolvimento de abordagens mais avançadas. 3. Apresentar um método intervalar (secção áurea) e um método aberto (método de Newton). Unidade 2 • Otimização unidimensional sem restrições41/269 Introdução Os métodos de otimização, sem restrições, podem ser divididos entre intervalares e abertos. Há obviamente diferentes aborda- gens para ambos os tipos de métodos uni- dimensionais sem restrições, porém, todos eles dependem que a função objetivo seja unimodal. O método da razão áurea é a abordagem intervalar que será apresenta- da nesse curso e a determinação do ótimo depende que o extremo esteja contido no intervalo estabelecido (CHAPRA; CANALE, 2008). Os métodos abertos dependem de um ponto de partida ao invés de um intervalo. A par- tir desse ponto o sentido provável em que o ótimo da função se encontra é estimado e esse cálculo se repete a cada iteração. No caso em que a função objetivo seja multi- modal, dependendo desse ponto de parti- da a estimativa do extremo pode convergir para um ótimo local ao invés do global. De acordo com Chapra e Canale, (2008), há abordagens híbridas que usam um método intervalar em uma etapa inicial e um mé- todo aberto quando a função objetivo está próxima do valor ótimo. Apesar dos métodos tratados nesse tema serem univariáveis e sem restrições, na ver- dade são de grande importância para reso- lução de casos mais complexos, pois muitas vezes os algoritmos transformam o proble- ma mais avançado em uma sequência de otimizações mais simples. Por exemplo, na programação não-linear os métodos de pe- nalidade (penalty), de Barriere do lagrangia- no aumentado transformam um formulação Unidade 2 • Otimização unidimensional sem restrições42/269 não-linear com restrições em uma sequên- cia de otimizações não-lineares sem restri- ções. No caso de uma otimização multidi- mensional, é possível simplificar aplicando um método aberto, unidimensional, sem restrições isoladamente em cada dimensão da função objetivo para definir a direção de busca multidimensional mais promissora (HIMMELBLAU, 2001). Existem também métodos de otimização unidimensionais intervalares do tipo “força bruta” que consistemem discretizar (dividir) a região de busca em um número grande de intervalos menores, cujo tamanho pode ser definido de acordo com a necessidade. Cal- cula-se o valor da função objetivo para cada intervalo e refina-se a malha em torno do suposto ponto mínimo. Esse tipo de método pode obviamente encontrar o ponto ótimo global em uma função multimodal, mas vai depender bastante da escolha do intervalo e da discretização da malha. Além disso, essa abordagem pode-se demonstrar inviável no caso multidimensional (HIMMELBLAU, 2001). Apesar de ser uma alternativa, essa classe de métodos não será tratada nesse curso. 1. Método da razão Áurea O método da razão (ou secção) áurea con- siste, essencialmente, em avaliar a função objetivo em dois pontos internos de um in- tervalo e excluir um dos pontos externos, mantendo o extremo da função objetivo enquadrado entre os limites (inferior e su- Unidade 2 • Otimização unidimensional sem restrições43/269 perior) a medida que o tamanho do inter- valo vai sendo reduzido, progressivamente, com o número de iterações (CHAPRA; CA- NALE, 2008). Suponha que na primeira iteração, de acor- do com a figura 1 tem-se uma função ob- jetivo unimodal com os limites inferiores e superiores: , respectivamente, do in- tervalo e que o extremo da função é um mí- nimo. A distância entre os pontos in- ternos e os pontos externos é pro- porcional a razão áurea do intervalo, como é visto nas Equações (1-4). (1) (2) (3) (4) Figura 1 – Exemplificação da razão áurea Fonte: o autor. Estima-se o valor da função objetivo em . Supõe-se que Unidade 2 • Otimização unidimensional sem restrições44/269 os pontos internos devem ser menores que os pontos externos de devido a suposição de função unimodal. Mas lembre-se de que na aplicação real, o usuário do método pode não ter acesso a um gráfico da função a priori. Para remo- ver o intervalo com menor probabilidade de conter o mínimo, verifica-se qual dos pon- tos internos está mais próximo do objetivo. Nesse caso de minimização , então o intervalo entre e certamente não contém o mínimo e pode ser removido (CHAPRA; CANALE, 2008). As vantagens do método da razão áurea fi- cam mais evidentes na segunda iteração, como pode ser visto na figura 2. Figura 2 - Esboço de vantagem da razão áurea Fonte: o autor. O limite inferior do intervalo pode ser substi- tuído por , cujo Unidade 2 • Otimização unidimensional sem restrições45/269 valor da função objetivo já foi esti- mado. Como os pontos internos foram cal- culados de acordo com a razão áurea, ou- tra vantagem que resulta da redução do intervalo entre , é que o ponto da iteração 1 coincide com o ponto que seria calculado na iteração 2 usando a Eq. (4) com o novo . Portanto, podemos ape- nas substituir e . Os úni- cos valores novos que precisam ser calcu- lados na iteração 2 são e . Quan- do o algoritmo realiza um procedimento similar descartando a secção superior do intervalo na primeira iteração (CHAPRA; CANALE, 2008). O método de secção áurea realiza iterações até atingir uma determinada tolerância es- pecificada previamente, assim como outros algoritmos numéricos. Cada iteração reduz o tamanho do intervalo proporcionalmente a própria razão áurea, o que resulta em uma convergência relativamente rápida (CHA- PRA; CANALE, 2008). 2. Algorotimo para Scilab do mé- todo da razão Áurea Um algoritmo em pseudo-código foi apre- sentado por Chapra e Canale (2008) para o método da razão áurea. A versão do al- goritmo, apresentada abaixo, para o cál- culo do mínimo aplica o método até a di- ferença entre os limites superior e inferior ser menor que (tolerância) e foi adaptada para imprimir os valores de Unidade 2 • Otimização unidimensional sem restrições46/269 em cada iteração e o número total de iterações realizadas até o final. O código está comentado para fins didá- ticos. A função objetivo pode ser definida pelo comando deff, mas há obviamente ou- tras possibilidades para definir e usar fun- ções. Para saber mais Definição de funções no Scilab O comando deff é usado para definir funções a partir de sequências de instruções de texto, dire- tamente na linha de comando ou no código que está sendo editado. É uma maneira mais simples de definir uma função algébrica, sem precisar criar um arquivo *.sce separado do código básico necessário para definir uma função (function [arg. saída] = f(arg. entrada); <código>; endfunction). Acesse a função “help” através do comando help deff para obter mais detalhes. Unidade 2 • Otimização unidimensional sem restrições47/269 functionraurea(x1, x2) deff(‘[y]=f(x)’,’y = (0.5*x^4) - 2*x + 2’)//define a função objetivo f(x) sem restrições xk=[x1:0.1:x2];// gera o espaço de busca tolerancia=10^(-1);// algoritmo reduz iterativamente o intervalo contendo // a solução até que a diferença x2 - x1 seja muito pequena. A tolerância // define o quão pequena deve ser essa diferença. r=(sqrt(5)-1)/2;//razão áurea = 0.62... iter=0;// conta o número de iterações //Calcula os pontos intermediários x3 e x4 do intervalo na primeira //iteração. x3=x1+r*(x2-x1); x4=x2-r*(x2-x1); fx1=f(x1); fx2=f(x2); fx3=f(x3); fx4=f(x4); Unidade 2 • Otimização unidimensional sem restrições48/269 //Imprime uma tabela na linha de comando que acompanha os valores de x3 e x4 mfprintf(6,”------------------------------------------------------\n”); mfprintf(6,” x3 x4 f(x3) f(x4) x2-x1 \n”); mfprintf(6,”------------------------------------------------------\n”); mfprintf(6,”%.2e %.2e %.2e %.2e %.2e\n”,x3,x4,fx3,fx4,x2-x1); // Avalia-se se f(x3) ou f(x4) atende melhor o objetivo de minimizar // Se f(x3) < f(x4)) então x4-x1 é excluído da busca // Caso contrário ( f(x4)>f(x3)) então x3-x2 é excluído da busca while(x2-x1>tolerancia) if(fx3<fx4) x1=x4; fx1=fx4; x4=x3; fx4=fx3; x3=x1+r*(x2-x1); fx3=f(x3); plot(x3,fx3); Unidade 2 • Otimização unidimensional sem restrições49/269 else x2=x3; fx2=fx3; x3=x4; fx3=fx4; x4=x2-r*(x2-x1); fx4=f(x4); plot(x4,fx4); end mfprintf(6,”%.2e %.2e %.2e %.2e %.2e\n”,x3,x4,fx3,fx4,x2-x1); iter=iter+1; ifiter>500 abort error(“Não ha solução”) end end mfprintf(6,”---------------------------------------------------\n”); mfprintf(6,”Mínimo encontrado em x = %.4f e f(x) = %.4f \n”,((x1+x2)/2),f((x1+x2)/2)) mfprintf(6,”após %i iterações\n”,iter) Unidade 2 • Otimização unidimensional sem restrições50/269 // imprime a resposta do algoritmo na linha de comando do Scilab plot(xk,feval(xk,f)) // plota a função que está sendo avaliada endfunction raurea(-3,3)// Chama a função raurea(a,b) com o intervalo entre a e b. O resultado da aplicação do método da secção áurea para a obtenção do mínimo da função ob- jetivo , figura 3, sem restrições é apresentado na Tabela 1. Unidade 2 • Otimização unidimensional sem restrições51/269 Figura 3 – Aplicação do método da secção áurea Fonte: o autor. Unidade 2 • Otimização unidimensional sem restrições52/269 Tabela 1 – Resultados da aplicação do método da secção áurea para minimização Iteração 0 -7,08e-01 7,08e-01 3,54e+00 7,09e-01 6,00e+00 1 7,08e-01 1,58e+00 7,09e-01 1,98e+00 3,71e+00 2 1,67e-01 7,08e-01 1,67e+00 7,09e-01 2,29e+00 3 7,08e-01 1,04e+00 7,09e-01 5,06e-01 1,42e+00 4 1,04e+00 1,25e+00 5,06e-01 7,19e-01 8,75e-01 5 9,15e-01 1,04e+00 5,21e-01 5,06e-01 5,41e-01 6 1,04e+00 1,12e+00 5,06e-01 5,48e-01 3,34e-01 7 9,94e-01 1,04e+00 5,00e-01 5,06e-01 2,07e-01 8 9,64e-01 9,94e-01 5,04e-01 5,00e-01 1,28e-01 9 9,94e-01 1,00e+00 5,00e-01 5,00e-01 7,89e-02 Fonte: o autor. O mínimo encontrado é x = 1,0031 e f(x) = 0,5000 após 9 iterações. Nota-se que a partir da quarta iteração a diferença entre o limite superior e inferior do intervalo é menor que um. As características particulares da função provocam uma redução na taxa de convergência do mé- todo e por essa razão são necessárias mais 5 iterações para atingir a tolerância de . Unidade 2 • Otimizaçãounidimensional sem restrições53/269 Com pode ser visto na Tabela 1, um dos pon- tos internos é sempre conservado mas tro- cando de orientação em relação aos pontos externos, ou seja, e vice-versa. 3. Método de Newton O método de Newton é, sem dúvida, um dos métodos mais importantes e é baseado em derivada. Essencialmente ele assume que a função objetivo pode ser aproximada por uma função quadrática. No caso que de fato seja quadrática, o método de New- ton converge para o extremo em apenas uma iteração. Foram definidas condições formais, neces- sárias e suficientes, para existência de um extremo em uma função arbitrária com e sem restrições. Essas condições são usadas no desenvolvimento do método de New- ton. A condição necessária é um pré-requi- sito para que a condição suficiente seja ver- dadeiramente atendida. O contrário não é Link Outra linguagem interessante para aplicação de métodos de otimização é através da função opti- mize da linguagem de programação R. Essa fun- ção é baseada no método da secção áurea com interpolação parabólica. O site indicado refere- -se à documentação online da linguagem, onde é possível ler como pode-se definir a função para a otimização de um problema. Disponível em: <ht- tps://www.rdocumentation.org/packages/ stats/versions/3.4.1/topics/optimize>. Acesso em: 22 set. 2017. https://www.rdocumentation.org/packages/stats/versions/3.4.1/topics/optimize https://www.rdocumentation.org/packages/stats/versions/3.4.1/topics/optimize https://www.rdocumentation.org/packages/stats/versions/3.4.1/topics/optimize Unidade 2 • Otimização unidimensional sem restrições54/269 verdadeiro, a condição suficiente nunca será verdadeira se a condição necessária for falsa. A condição necessária para a existência de um extremo na função objetivo é dada pelo item (ii) e as condições suficientes são dadas pelos itens (i) e (iii) (HIMMELBLAU, 2001): i. é duas vezes diferenciável em ii. é um ponto estacionário, portanto iii. para um mínimo e para um máximo Para saber mais O desenvolvimento das condições necessárias e suficientes envolve os seguintes conceitos: 1. Se e é um mínimo de uma função objetivo, então todos os outros pontos os no intervalo serão maiores que de tal maneira que a relação é sempre verdadeira para todo x. 2. Se é um máximo da função objetivo, então a relação é sempre verdadeira para todo x. Unidade 2 • Otimização unidimensional sem restrições55/269 O desenvolvimento da equação principal usada no método é bem simples e será mostrado a seguir como ferramenta didática para o aprendizado de otimização. Suponha que uma função possa ser aproximada por uma série de Taylor de segunda ordem (HIMMELBLAU, 2001): (5) Onde é o ponto de quadratização da função e é o valor de no próximo passo. Os ter- mos e são a primeira e segunda derivada de , respectivamente. A diferença Para saber mais 3. Se a função objetivo for aproximada por uma série de Taylor de qualquer ordem e que nas itera- ções do algoritmo os termos podem assumir valores negativos ou positivos, as afirmações 1 e 2 só podem ser válidas se a primeira derivada, e consequentemente todas as derivadas de ordem superior forem zero. 4. As condições suficientes podem ser observadas facilmente na prática, as funções unidimensionais que possuem mínimo apresentam derivada positiva no intervalo próximo ao mínimo. No caso da existência de um máximo, a derivada é negativa próximo ao máximo. Unidade 2 • Otimização unidimensional sem restrições56/269 é simplesmente na série de Taylor. A série de Taylor de segunda ordem é a aproximação quadrática mencionada anteriormente no ponto . Aplica-se a condição necessária para existência de um extremo na Eq. (6) para se obter uma reta tangente em , Eq. (7). (6) (7) (8) A interpretação geométrica e o entendimento do método estão diretamente relacionados com o desenvolvimento realizado nas Eqs. (5-8). Na Eq. (8) a expressão está em função de e essa equação é usada na aplicação prática do método iterativo de Newton. A Eq. (8) estima isolada- mente o ponto em função do ponto atual (na iteração k) e da razão entre as derivadas que determina a direção de busca e tamanho do passo. Como mencionado, esses termos vêm da linearização da função objetivo no ponto . Ambas as derivadas de na Eq. Unidade 2 • Otimização unidimensional sem restrições57/269 (7) resultam em termos constantes, que são os coeficientes linear e angular da tangente em . Têm-se então uma equação com uma incógnita, implicando em zero graus de liber- dade . Há então apenas um valor de , calcula- do através da Eq. (8) em cada iteração, que satisfaz a Eq. (7). A desvantagem desse método é: 1) Depen- de do cálculo da primeira e segunda deriva- da; 2) Depende da magnitude da segunda derivada, se for pequena então o método converge lentamente; 3) Depende da dis- tância entre o ponto de partida e o extremo de (HIMMELBLAU, 2001, CHAPRA; CA- NALE, 2008). No caso da função objetivo não ser dada por uma equação analítica ou se a equação for complexa de tal maneira que uma deri- vada não possa ser calculada, deve-se então substituir a razão entre a primeira e segunda derivada, responsável pela direção de busca, por uma aproximação de diferenças finitas, Eq. (9), (HIMMELBLAU, 2001). (9) As desvantagens da aproximação da deri- vada: 1) Depende do tamanho do passo h e 2) Um erro de aproximação é introduzido naturalmente pela equação discreta (HIM- MELBLAU, 2001). Há uma classe de méto- dos abertos conhecidos como os métodos de quase-Newton que são baseados na se- cante ao invés da tangente. Unidade 2 • Otimização unidimensional sem restrições58/269 4. Algoritmo para Scilab do método de Newton O algoritmo desenvolvido para o método de Newton pode ser visto abaixo. Para saber mais O método da secante (Quase-Newton) usa uma equação similar a Eq. (7) e avalia a derivada em dois pon- tos com derivadas opostas em um intervalo. Uma estimativa do ponto ótimo é realizada e sua derivada é calculada para descartar um dos pontos iniciais de modo que os dois pontos remanescentes tenham derivadas opostas, reduzindo assim o intervalo entre os dois pontos de maneira similar a um método in- tervalar. Esse método está implementado no Scilab, com e sem restrições, através da função n1qn1. Link: As aplicações modernas de estatística computacional geralmente envolvem um volume grande de dados, onde alguns problemas inesperados podem ocorrer utilizando o método de Newton, devido a ne- cessidade de calcular e inverter um número grande de matrizes. O artigo apresentado nesse link traz in- formações sobre esse tipo de caso e uma revisão interessante de métodos de otimização modernos para estatísticos. Disponível em: <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4166522/>. Acesso em: 25 set. 2017. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4166522/ Unidade 2 • Otimização unidimensional sem restrições59/269 functionnewton(xi) // xi é o ponto de partida deff(‘[y]=f(x)’,’y = 0.5*(x^4) - 2*x + 2’);//define a função objetivo f(x) sem restrições deff(‘[y]=fd1(x)’,’y = 2*(x^3) - 2’);//define a primeira derivada de f(x) deff(‘[y]=fd2(x)’,’y = 6*(x^2)’);//define a segunda derivada de f(x) tolerancia=10^(-1);// Tolerância = aproximação da condição necessária para // existência do ótimo. iter=0;// conta o número de iterações xk=xi;// o valor de xk muda a cada iteração fxk=f(xk); //Imprime uma tabela na linha de comando que acompanha os valores de x3 e x4 mfprintf(6,”-----------------------------------\n”); mfprintf(6,” x f(x) abs(fd1(xk) \n”); mfprintf(6,”-----------------------------------\n”); mfprintf(6,”%.2e %.2e %.2e\n”,xk,fxk,abs(fd1(xk))); while(abs(fd1(xk))>tolerancia) Unidade 2 • Otimização unidimensional sem restrições60/269 fxk=f(xk);// calcula f(xk) xkm1=xk-(fd1(xk)/fd2(xk));// Equação do método de Newton (Eq. 8) mfprintf(6,”%.2e %.2e %.2e\n”,xk,fxk,abs(fd1(xk)));xk=xkm1; iter=iter+1; ifiter>100 abort error(“Não ha solução”) end end mfprintf(6,”-----------------------------------\n”); mfprintf(6,”Mínimo encontrado em x = %.4f e f(x) = %.4f \n”,xk,f(xk)) mfprintf(6,”após %i iterações\n”,iter) // imprime a resposta do algoritmo na linha de comando do Scilab xx=[-3:0.1:3]; plot(xx,feval(xx,f)) // plota a função que está sendo avaliada endfunction newton(10)// Chama a funçãodefinidaacima. Unidade 2 • Otimização unidimensional sem restrições61/269 A Tabela 2 apresenta os resultados obtidos pela aplicação do método para cada iteração. Tabela 2 – Resultados da aplicação do método de Newton para minimização Iteração 0 1,00e+01 4,98e+03 2,00e+03 1 6,67e+00 9,78e+02 5,91e+02 2 4,45e+00 1,90e+02 1,75e+02 3 2,99e+00 3,58e+01 5,13e+01 4 2,03e+00 6,40e+00 1,47e+01 5 1,43e+00 1,24e+00 3,89e+00 6 1,12e+00 5,45e-01 7,93e-01 Fonte: o autor. Mínimo encontrado em x = 1,120 e f(x) = 0,545após 6 iterações. O método estimou o mínimo da função objetivo em um número menor de iterações para uma mesma magnitude de tolerância. Unidade 2 • Otimização unidimensional sem restrições62/269 Glossário Função unimodal: uma função objetivo unimodal possui apenas um extremo. Ponto de quadratização: é similar ao ponto de linearização, a diferença está na ordem da série de Taylor que está sendo usada para aproximar a função naquele ponto. Ponto estacionário: é um ponto onde a derivada é zero. O nome estacionário vem da ideia que naquele ponto a taxa de mudança é nula. Questão reflexão ? para 63/269 O método de Newton para determinar o mínimo da fun- ção objetivo é bem similar ao método de Newton-Raph- son que estima a raiz de uma função f(x). Quais as simila- ridades e diferenças encontradas em ambas as aborda- gens? Por que o termo que define o tamanho e a direção de passo no método de Newton-Raphson é incompatível com a otimização unidimensional sem restrições? Reflita sobre essa diferença aplicando em um exemplo prático. 64/269 Considerações Finais • Os métodos de otimização mais simples são usados no caso unidimensio- nal e sem restrições. • É possível aplicar uma sequência de otimizações unidimensionais em um problema com mais de uma dimensão. Pode-se também transformar um problema com restrições em um problema sem restrições. • O método da secção áurea avalia a função objetivo em quatro pontos de um intervalo que contém o extremo, dois externos e dois internos, e exclui o intervalo externo menos provável de conter o ponto ótimo. • O método de Newton se aproxima do extremo da função objetivo através de uma aproximação linear no ponto x k . Unidade 2 • Otimização unidimensional sem restrições65/269 Referências BRENT, R. P. Algorithms for minimization without derivatives. New York: Dover publications, 2002, p.195. CHAPRA, S.C.; CANALE, R.P. Métodos numéricos para engenharia. 5. ed. São Paulo: McGraw- -Hill, 2008, p. 809. GOUVEIA, E.J.C. Métodos convergentes de otimização global baseados no vetor q-gradiente. Tese (Doutorado): Departamento de Computação Aplicada, Instituto Nacional de Pesquisas Es- paciais, 2016. HIMMELBLAU, D. M.; EDGAR, T.F.; LASDON, L.S. Optimization of chemical processes. Segunda edição. New York: McGraw-Hill, 2001, p. 667. LEITHOLD, L. O cálculo com geometria analítica. Terceira edição. São Paulo: Editora HABRA ltda, 1994, p. 6. NELDER, J.A.; MEAD, R. A simplex method for functionminimization. Computer Journal, v. 7, n. 4, p. 308-313, 1965. WALTER, E. Numerical methods and optimization: a consumer guide. Springer. 2014, p. 476. PRESS, W.H.; TEUKOLSKY, S.A.; VETTERLING, W.T.; FLANNERY, B.P. Numerical recepies: theart of scientific computing. 3. ed. Cambridge University Press. 2007, p. 1235. Unidade 2 • Otimização unidimensional sem restrições66/269 SEBORG, D.E.; EDGAR, T.F.; MELLICHAMP, D. Process Dynamics and Control. Segunda edição, Hoboken: Wiley, 2004, p. 713. 67/269 Assista a suas aulas Aula 2 - Tema: Otimização Unidimensional sem Restrições. Bloco I Disponível em: <https://fast.player.liquidplatform.com/ pApiv2/embed/dbd3957c747affd3be431606233e0f1d/ 292595d16e1918421d7d043a7d7d242b>. Aula 2 - Tema: Otimização Unidimensional sem Restrições. Bloco II Disponível em: <https://fast.player.liquidplatform.com/ pApiv2/embed/dbd3957c747affd3be431606233e0f1d/ 40c71e41e6ce15213a40a1cf74800f17>. https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/292595d16e1918421d7d043a7d7d242b https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/292595d16e1918421d7d043a7d7d242b https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/292595d16e1918421d7d043a7d7d242b https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/40c71e41e6ce15213a40a1cf74800f17 https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/40c71e41e6ce15213a40a1cf74800f17 https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/40c71e41e6ce15213a40a1cf74800f17 68/269 1. Para determinar a solução ótima de um problema de otimização é impor- tante que a função objetivo seja unimodal. O termo unimodal significa que: a) A função é contínua e diferenciável. b) A função é contínua, porém a sua primeira derivada apresenta descontinuidades. c) A função não possui um ponto estacionário. d) Os polos da função são números reais. e) A função apresenta apenas um extremo. Questão 1 69/269 2. É correto afirmar que uma das diferenças principais entre os métodos in- tervalares e os métodos abertos é: Questão 2 a) O primeiro é para funções contínuas e o segundo para funções descontínuas. b) O primeiro usa um valor inicial da variável independente e o segundo usa um intervalo. c) O primeiro usa um intervalo e o segundo usa um valor inicial para a variável independente. d) O primeiro usa as derivadas da função objetivo o segundo usa a razão áurea. e) O primeiro usa as integrais da função objetivo e o segundo a razão áurea. 70/269 3. O método de Newton aplicado em problemas de otimização unidimen- sional é usado para estimar: Questão 3 a) A raiz da função objetivo. b) O polo da função objetivo. c) O zero da função objetivo. d) O extremo da função objetivo. e) O limite da função objetivo. 71/269 4. Em relação a definição do ponto de quadratização, é correto afirmar que é o ponto onde é realizada uma aproximação: Questão 4 a) Linear. b) Quadrática. c) Cúbica. d) Hiperbólica. e) Elíptica. 72/269 5. O papel desempenhado pela razão entre a primeira e segunda derivada na equação do método de Newton é: Questão 5 a) Estimar a raiz da função objetivo. b) Calcular o ponto interno no intervalo. c) Determinar a direção e o tamanho do passo. d) Aumentar a velocidade de convergência do método. e) Reduzir a tolerância. 73/269 Gabarito 1. Resposta: E. Modalidade tem relação com o número de extremos da função. Unimodal possui um extremo. A descontinuidade é uma caracte- rística que pode dificultar o trabalho do al- goritmo apenas. 2. Resposta: C. Método de Newton busca a solução usan- do uma aproximação da tangente, portanto usa um ponto. O método da secção áurea calcula os pontos internos usando a propor- ção áurea, portanto usa um intervalo. 3. Resposta: D. É usado para estimar os extremos, um máxi- mo ou um mínimo, quando a derivada df’(x)/ dx = 0. As raízes, zeros e polos têm relação com a função f(x) = 0. 4. Resposta: B. Ponto de quadratização trata da aproxima- ção quadrática, com série de Taylor com os termos que evolvem a primeira e segunda derivada. 5. Resposta: C. Determina a direção e tamanho do passo. Sem esse termo o método não se deslocaria do ponto inicial. 74/269 Unidade 3 Otimização multidimensional sem restrições Objetivos 1. Classificar os diferentes tipos de mé- todos de otimização multidimensio- nais sem restrições. 2. Introduzir os conceitos de gradiente e hessiana. 3. Definir as condiçõesnecessárias e su- ficientes para a existência do ótimo em uma função multidimensional. 4. Introduzir o método de otimização do máximo declive. Unidade 3 • Otimização multidimensional sem restrições75/269 Introdução Os métodos de otimização multidimen- sionais tratam de problemas onde há mais de uma variável na função objetivo, . O entendimento do me- canismo, pelo qual, o método matemáti- co estima um extremo da função objetivo envolve a associação entre uma estratégia abstrata expressa na forma de uma sequên- cia de equações matemáticas e uma inter- pretação geométrica desse procedimento. No caso unidimensional, a aplicação dos métodos de otimização pode ser compre- endida através da aplicação em uma função não-linear unidimensional côncava ou con- vexa. Já no caso multidimensional é mais conveniente visualizar a estratégia de cál- culo adotada pelo método em funções não- -lineares bidimensionais, que são represen- tadas através de curvas de nível (projeções) de geometrias tridimensionais côncavas ou convexas, conforme pode ser visto nas figu- ras 1a e 1b, como uma montanha ou vale (CHAPRA; CANALE, 2008). Unidade 3 • Otimização multidimensional sem restrições76/269 Figura 1 - Geometrias côncavas e convexas de uma função quadrática Fonte: o autor. Unidade 3 • Otimização multidimensional sem restrições77/269 O leitor, em algum momento, deverá se per- guntar qual a diferença entre o caso que está sendo estudado nessa aula usando uma função não-linear e o caso da programa- ção não-linear. Apesar de ambos utilizarem uma função de objetivo com o mesmo grau de complexidade, no caso multidimensio- nal há mais de uma variável independente envolvida e não há restrições, já no caso da programação não-linear o problema é uni- dimensional com restrições de igualdade ou desigualdade . De acordo com Chapra e Canale (2008) e Himmelblau (2001), os métodos de otimi- zação multidimensionais podem ser dividi- dos entre os métodos que utilizam ou não derivadas, e também entre os métodos que empregam ambas as abordagens, isolada- mente, em diferentes etapas da resolução. Segundo Walter (2014) os métodos de oti- mização multidimensionais que utilizam apenas busca unidimensional (line searches) são apenas receitas sofisticadas ao invés de ciência. Porém, do ponto de vista didático, há importância nesses métodos, pois são mais intuitivos para o aprendizado e tra- zem a oportunidade do aprofundamento dos conhecimentos aprendidos na aula an- terior. Portanto, será estudado nesse tema um método que combina o uso de derivadas com busca unidimensional. Unidade 3 • Otimização multidimensional sem restrições78/269 1. Gradiente, hessiana e con- dições necessárias suficientes para existência do ótimo Os métodos de otimização multidimensio- nais usam o gradiente e/ou a matriz hes- siana para determinar a direção de busca (GOUVEIA, 2016). O gradiente de é o equivalente multidimensional da derivada e pode ser representado pelo vetor que contém as primeiras derivadas em relação a cada variável independente, Eq. (1) (CHA- PRA; CANALE, 2008). (1) Note que o negativo gradiente determina a direção de busca orientando o vetor justamente no sentido da condição necessária para existência do ótimo. O gra- diente também indica se o ponto ótimo foi atingido em n dimensões também através das mesmas condições. A Hessiana é uma matriz, , que contém as derivadas segundas de . Para um função bidimensional onde a sua matriz hessiana é dada pela Eq. (2). (2) No caso unidimensional, a análise do sinal da segunda derivada indicava que, se a con- dição necessária foi atendida, então se tra- ta de um mínimo se ou de um máximo se . No caso multidi- mensional, as derivadas segundas cruzadas Unidade 3 • Otimização multidimensional sem restrições79/269 também influem na geometria da superfície onde se encontra o ponto ótimo. Para inferir se o extremo é um mínimo ou um máximo, avalia-se os autovalores da matriz Hessiana ao invés das derivadas, como visto no exemplo para uma função quadrática na Tabela 1. Tabela 1 – Associação entre os autovalores e de uma função quadrática e a geometria do extremo Tipo do extremo Magnitudes de e Sinais de e Geometria da superfície Mínimo Vale circular Mínimo Vale elíptico Máximo Montanha circular Máximo Montanha elíptica Ponto de sela Sela simétrica Ponto de sela Sela simétrica Ponto de sela Sela alongada Fonte: Himmelblau (2001 p.84). Unidade 3 • Otimização multidimensional sem restrições80/269 Segundo Strang (2009) calcula-se os autovalores resolvendo o determinante de acordo com a Eq. (3): (3) Onde é a matriz identidade. As raízes da equação algébrica de segundo grau são os autovalores e , Eq. (4), que resultam do cálculo do determinante. (4) Os pontos de sela são soluções encontradas em uma superfície n-dimensional que apesar de apresentar gradiente nulo, não é um máximo nem um mínimo da função, conforme pode ser observado na figura 2. Para saber mais Uma função objetivo mal-posta pode produzir nenhuma ou infinitas soluções. Os outros casos (excluin- do o do ponto de sela) geralmente ocorrem quando um dos autovalores da matriz hessiana é nulo. Unidade 3 • Otimização multidimensional sem restrições81/269 Portanto a análise dos autovalores da matriz hessiana é importante para determinar se um máximo ou mínimo realmente foi atin- gido. Além das funções com pontos de sela há outras funções quadráticas mal-postas que podem gerar problemas na aplicação do algoritmo de otimização. A matriz hessiana não é só útil para analisar a geometria da função, ela pode também ser diretamente utilizada pelo método de otimização, como o método de Newton multidimensional. Unidade 3 • Otimização multidimensional sem restrições82/269 Figura 2: Função quadrática com ponto de sela Fonte: o autor. Unidade 3 • Otimização multidimensional sem restrições83/269 As condições, necessárias e suficientes para existência do ótimo no caso multidimensio- nal são: I. é duas vezes diferenciável em . II. O gradiente de é nulo em , ;. III. Os autovalores da matriz Hessiana em são todos positivos e não- -nulos, portanto é uma matriz positiva-definida. Alternativamente os autovalores são inferidos através do determinante, então Exemplo 1: Iremos calcular os auto- valores da matriz hessiana da função e identificar a sua geometria de acordo com as associações de magnitude e de sinais dos autovalores apresentados para as funções quadráticas. Para saber mais Há uma versão multidimensional do método de Newton, baseada na série de Taylor de segunda ordem, que utiliza o vetor gradiente e a matriz hessiana em xk para determinar direção de busca e tamanho do passo. Unidade 3 • Otimização multidimensional sem restrições84/269 Resolução: Substituindo na Eq. (4) e . De acordo com a Tabela 1, para epara autovalores com sinais opostos, têm-se uma ge- ometria de sela alongada. Nesse caso, as derivadas cruzadas influem pouco na localização dos autovalores da matriz Hessiana de . 2. Estrututa geral dos métodos baseados em derivada, gradiente e hes- siana Segundo Cavazutti (2013) e Himmelblau (2001) uma expressão geral que representa os métodos de otimização sem restrições baseados em derivada, gradiente e hessiana, é dada pela Eq. (5): Unidade 3 • Otimização multidimensional sem restrições85/269 (5) À primeira vista é fácil reconhecer elemen- tos em comum com o método de Newton unidimensional. Generalizando para o caso multidimensional, o vetor contém as variáveis independentes, na iteração . Cada passo dado no sentido do ex- tremo da função objetivo é determinado em duas etapas, em cada ite- ração, necessita-se: i. Determinar a direção de busca , onde . ii. Determinar o tamanho do passo , que é constante, na direção . A definição do tamanho do passo pode ser realizada por uma etapa conhecida como busca linear,que é unidimensional. Como mencionado, a derivada, gradiente e Hessiana determinam a direção de busca, mas cada método usará estratégias ligeira- mente diferentes para definir e , inclu- sive definir ambos simultaneamente, como o método de Newton (GOUVEIA, 2016). 3. Método de máximo declive O máximo declive se refere a versão de mi- nimização do método, onde a superfície convexa da função objetivo é comparada a um vale por analogia geométrica. Alterna- tivamente tem-se a versão de máximo acli- ve onde o objetivo é a maximização de uma função côncava multidimensional, onde se faz analogia a uma montanha. Unidade 3 • Otimização multidimensional sem restrições86/269 A ideia geral do método de máximo decli- ve é determinar a direção baseando-se no gradiente da função , Eq. (6), sen- do esse um ponto de partida em ou uma aproximação intermediária da solução na iteração k.O gradiente pode ser determi- nado analiticamente através das derivadas parciais ou através de aproximações por di- ferenças finitas (HIMMELBAU, 2001). (6) O tamanho do passo é determinado como uma etapa de otimização unidimensional. Porém, como pode-se ver na figura 3, uma deficiência do método é revelada: a direção de busca estimada no ponto em muitos casos não aponta diretamente na direção do mínimo de . Isso decorre da de- pendência espacial (em e ) do gradien- te da função objetivo quadrática e conse- quentemente varia ao longo do espaço de busca. Figura 3 - Método do máximo aclive aplicado a fun- ção quadrática com geometria elíptica Fonte: adaptado de Himmelblau et al. (2001, p. 192). Unidade 3 • Otimização multidimensional sem restrições87/269 Pode-se escolher entre duas abordagens para estimar o tamanho do passo: busca li- near exata ou não-exata. Em uma busca li- near exata, o tamanho do passo é o valor de que minimiza da função unidimensional, Eq. (7). Lembre-se de que e são cons- tantes nessa segunda etapa. (7) Uma busca linear não exata usa um valor diferentedo mínimo. Pode-se, por exem- plo, calcular mas utilizar uma fração de para calcular . A busca linear não- -exata pode acelerar a taxa de convergên- cia, mas depende da geometria da função objetivo (autovalores), do ponto de parti- da, da distância do ótimo e do tamanho do passo. Essa deficiência do método de máxi- mo declive emerge mais acentuadamente quando a geometria da superfície tende a ser assimétrica em função das variáveis in- dependentes, como no caso do vale elíptico, montanha elíptica, dentre outras. Funções objetivo com geometrias simétricas, como vale circular e montanha circular, conver- gem mais rapidamente porque nesse caso o gradiente aponta diretamente na direção do ótimo quando calculado a partir de qual- quer ponto , conforme pode ser visto na figura 4. Note que essa simetria pode ser avaliada através dos autovalores da ma- triz hessiana de . Para o vale circular e montanha circular, ambos os autovalores e são iguais e apresentam o mesmo sinal, para cada caso. Então quanto maior a dife- Unidade 3 • Otimização multidimensional sem restrições88/269 rença entre os autovalores, supostamente maior será benefício do uso de uma otimização em linha sub-ótima (HIMMELBLAU, 2001). Figura 4: Método do máximo aclive aplicado a função quadrática com geometria circular Fonte: adaptado de Himmelblau et al. (2001, p. 191). Unidade 3 • Otimização multidimensional sem restrições89/269 Outra dificuldade em relação ao método do máximo declive com a busca linear exata é que o gradiente no ponto é ortogonal à direção de busca em k. Essa ortogona- lidade provoca um movimento em zigueza- gue quando o algoritmo aproxima o ponto ótimo, reduzindo a taxa de convergência, como apresentado na figura 5. Um método multidimensional conhecido como método do gradiente conjugado consegue contor- nar alguma das dificuldades encontradas pelo método do máximo declive. Figura 5 - Oscilação na aplicação do má- ximo aclive em funções elípticas Fonte: adaptado de Himmelblau et al. (2001, p. 192). Link Um trabalho que analisa mais profundamente o método do máximo declive pode ser visto em: <https://arxiv.org/abs/1609.04747>. Acesso em: 22 set. 2017. https://arxiv.org/abs/1609.04747 Unidade 3 • Otimização multidimensional sem restrições90/269 Pontos de cela também são um problema para o método do declive máximo e a ve- rificação das condições necessárias e sufi- cientes para a existência do ótimo são im- portantes para identificar essa situação (HIMMELBLAU, 2001). Nesse caso deve-se empregar um algoritmo que não é baseado em derivadas, como busca unidimensional, método das direções conjugadas, método de Powell, entre outros (CHAPRA; CANALE, 2008). Para saber mais Fletcher e Reeves (1964) introduziram uma abor- dagem para otimização multidimensional base- ada em gradientes que apresenta maior taxa de convergência comparada com o método do má- ximo declive. Esse método difere da abordagem atual porque a direção de busca é estimada usan- do o gradiente da iteração atual e da iteração passada . Link Como já foi mencionado aqui, otimização é uma disciplina que abrange um número grande de áre- as de atuação e profissões, então universidades como Stanford criaram cursos direcionados para essa audiência multidisciplinar. O aluno pode ter acesso livre as notas de aula da disciplina de oti- mização através de: <http://adl.stanford.edu/ aa222/Lecture_Notes_files/AA222-Lectu- re3.pdf>. Acesso em: 22 set. 2017. http://adl.stanford.edu/aa222/Lecture_Notes_files/AA222-Lecture3.pdf http://adl.stanford.edu/aa222/Lecture_Notes_files/AA222-Lecture3.pdf http://adl.stanford.edu/aa222/Lecture_Notes_files/AA222-Lecture3.pdf Unidade 3 • Otimização multidimensional sem restrições91/269 4. Algoritmo do método de máximo declive O algoritmo do método de máximo declive para solução de problema multivariável é apresenta- do abaixo na linguagem do Scilab. Determina-se primeiro e na sequência o tamanho do passo através de um método unidimensional. É importante entender como uma função bidimensional é expressa na forma unidimensional em função do gradiente em um ponto qualquer. Um exem- plo é apresentado a seguir demonstrando uma iteração do método. Exemplo: Vamos determinar o ponto ótimo da função objetivo dada pela a Eq. (8) , cujo ponto de partida é . Minimiza: (8) De acordo com o que foi discutido no subitem 2, deve-se realizar as etapas (i) e (ii) em sequência, então, estimando o gradiente da função : Unidade 3 • Otimização multidimensional sem restrições92/269 Calculando o gradiente no ponto (10,10): O resultando implica que o gradiente na dimensão de é de 25,5 e na dimensão de é de 44, deve-se então procurar o máximo ao longo dessa direção de busca na etapa (ii). Imagina-se um eixo ou vetor de comprimento h que atravessa a função objetivo na direção de bus- ca, observe a figura 6. Traduzindo a imaginação em matemática, devemos realizar uma substi- tuição de variáveis tal que: Unidade 3 • Otimização multidimensional sem restrições93/269 Figura 6 - Busca em linha ao longo do vetor e . Fonte: adaptado de Chapra e Canale (2008, p. 316). Unidade 3 • Otimização multidimensional sem restrições94/269 Substituindo as variáveis do lado direito da igualdade da função objetivo, têm-se agora uma função unidimensional, que pode ser otimizada através do método da secção áurea ou no méto- do de Newton. O valor estimado de é usado como o tamanho do passo . Aplica-se a Eq. (5) em para determinar o passo dado na região de busca na estimativa do ótimo . Segue o algoritmo que resolve o seguinte problema: Unidade 3 • Otimização multidimensional sem restrições95/269 // Método do máximo declive para uma função bidimensional 0.5x1 + 2(x1^2) - x2 + 3(x2^2) - 1.5x1x2; // Calcula a direção de busca através do gradiente em xk // Estima o tamanho do passo através de busca unidimensionalcom o método da razão áurea functionz=f(x1, x2)// a função objetivo z=0.5*x1+2*(x1^2)-x2+3*(x2^2)-1.5*x1*x2; endfunction //----------------------------------------------------- functiongz=fgrad(x1, x2)// o gradiente da função objetivo gz(1,1)=0.5+4*(x1)-1.5*x2; gz(2,1)=-1+6*(x2)-1.5*x1; endfunction //----------------------------------------------------- functionalfa=buscalinear(gx, xk);// método de busca unidimensional por razão áurea functionz1dim=fb(gx, xk, h)// expressão unidimensional da função obj. em um ponto xk e direção gx z1dim=0.5*(xk(1)-gx(1)*h)+2*((xk(1)-gx(1)*h)^2)-(xk(2)-gx(2)*h)+3*(((xk(2)-gx(2)*h))^2)- 1.5*((xk(1)-gx(1)*h)*(xk(2)-gx(2)*h)); endfunction Unidade 3 • Otimização multidimensional sem restrições96/269 functionalfak=raurea2(x1, x2, fb, gx, xk) tolerancia=10^(-1); r=(sqrt(5)-1)/2;//razão áurea = 0.62... iter=0;// conta o numero de iterações x3=x1+r*(x2-x1); x4=x2-r*(x2-x1); fx1=fb(gx,xk,x1); fx2=fb(gx,xk,x2); fx3=fb(gx,xk,x3); fx4=fb(gx,xk,x4); while(x2-x1>tolerancia) if(fx3<fx4) x1=x4; fx1=fx4; x4=x3; fx4=fx3; x3=x1+r*(x2-x1); fx3=fb(gx,xk,x3); else Unidade 3 • Otimização multidimensional sem restrições97/269 x2=x3; fx2=fx3; x3=x4; fx3=fx4; x4=x2-r*(x2-x1); fx4=fb(gx,xk,x4); end iter=iter+1; ifiter>500 abort error(“Não ha solução”) end end alfak=((x1+x2)/2); endfunction alfa=raurea2(-100,100) endfunction //----------------------------------------------------- Unidade 3 • Otimização multidimensional sem restrições98/269 functiond=direcaodebusca(gx);// direciona o gradiente na direção de declive d=-gx; endfunction //---------------------------------------------------- // Programa principal tolerancia=0.001;alfa0=1;// determina um alfa inicial = 1 x0=10+4*rand(2,1);// gera um vetor coluna com ponto de partida (x1,x2) aleatório xk=x0; fxk=f(xk(1,1),xk(2,1));// calcula f(x1,x2) gx=fgrad(xk(1,1),xk(2,1));//calcula o gradiente gx(x1,x2) alfa=alfa0; // imprime os resultados mfprintf(6,”------------------------------------------------\n”); mfprintf(6,” x1 x2 f(x) norm(gx) alfa \n”); mfprintf(6,”------------------------------------------------\n”); mfprintf(6,”%.2e %.2e %.2e %.2e %.2e\n”,xk(1),xk(2),fxk,norm(gx),alfa); //laço do método de máximo declive while(norm(gx)>tolerancia) Unidade 3 • Otimização multidimensional sem restrições99/269 d=direcaodebusca(gx); alfa=buscalinear(gx,xk) xkm1=xk+alfa*d;//equação principal do método, Eq. (5). fxkm1=f(xkm1(1),xkm1(2));//calcula f(xk+1) gx=fgrad(xkm1(1),xkm1(2));//recalcula o gradiente em xk+1 xk=xkm1;// torna x(k) = x(k+1) para a próxima iteração itgrad=itgrad+1 mfprintf(6,"%.2e %.2e %.2e %.2e %.2e\n",xk(1),xk(2),fxkm1,norm(gx),alfa); end Unidade 3 • Otimização multidimensional sem restrições100/269 Glossário Vetores ortogonais: ortogonalidade é uma característica observada em dois ou mais vetores, pois nenhum vetor pode ser ortogonal sozinho. Ela é observada quando o produto interno entre dois vetores é nulo e geometricamente isso ocorre quando os vetores são perpendiculares entre si. Nos casos envolvendo múltiplas dimensões, a definição matemática é mais útil pois verificar a perpendicularidade de vetores em espaços “n” dimensionais geralmente não é uma tarefa trivial. Autovalores: os autovalores podem ser vistos de maneira simplificada como as raízes (λ) de uma equação matricial Ax = λx, onde A é uma matriz, x é um vetor conhecido e λ é o vetor a ser deter- minado. É um conceito encontrado no estudo de álgebra linear e também na resolução de siste- mas de equações diferenciais, que também podem ser representados em notação matricial. Questão reflexão ? para 101/269 É interessante que o aluno adapte a etapa unidimensional para determinação do tamanho do passo (a k ) do algoritmo de máximo declive (ou aclive) para que o método de Newton unidimensional seja utilizado ao invés da secção áurea. Assim será possível ob- servar mais claramente o comportamento oscilatório em torno do ponto ótimo (x 1 *, x 2 *) para funções com autovalores assimé- tricos. Existem métodos de otimização multidimensional que não estão tão sujeitos a oscilações nas proximidades do ponto ótimo comparado ao método do máximo declive/aclive e além disso convergem mais rapidamente para o resultado. Reflita sobre o que torna essas abordagens matematicamente mais eficientes. 102/269 Considerações Finais • Além dos autovalores da matriz hessiana fornecer informações importantes sobre a existência de máximo ou mínimo na função objetivo multidimensio- nal, também indica se um ponto estacionário é um ponto de sela, que não é uma solução para o problema de otimização. • Os métodos multidimensionais baseados em gradiente possuem uma for- mulação matemática similar ao do método de Newton, porém está clara- mente definido o termo que determina a direção de busca (s k ) e o tamanho do passo (a k ), e a estimativa de ambos os termos é realizada em etapas. • O método de máximo declive/aclive é baseado na estimativa do gradiente em um ponto de partida e em estimativas futuras de x k+1 . A convergência do método é rápida quando os autovalores da matriz hessiana são iguais ou muito próximos da igualdade. • Na etapa da determinação do tamanho do passo, a k , pode-se realizar uma otimização exata ou inexata. É necessário determinar uma equação unidi- mensional na direção de busca s k em função do tamanho do passo h. Unidade 3 • Otimização multidimensional sem restrições103/269 Referências BRENT, R. P. Algorithms for minimization without derivatives. New York: Dover publications, 2002, p.195. CAVAZZUTI, M. Optimization Methods: From the oryto design. Berlin: Springer. 2013, p. 262. CHAPRA, S.C.; CANALE, R.P. Métodos numéricos para engenharia. 5. ed. São Paulo: McGraw- -Hill, 2008, p. 809. FLETCHER, R.; REEVES, C. M. Function minimization by conjugate gradientes. The Computer Journal. v. 7, n. 2, p. 149 – 154, 1964. GOUVEIA, E.J.C. Métodos convergentes de otimização global baseados no vetor q-gradiente. Tese (Doutorado): Departamento de Computação Aplicada, Instituto Nacional de Pesquisas Es- paciais, 2016. HIMMELBLAU, D. M.; EDGAR, T.F.; LASDON, L.S. Optimization of chemical processes. 2. ed. New York: McGraw-Hill, 2001,p. 667. LEITHOLD, L. O cálculo com geometria analítica. 3. ed. São Paulo: Editora HABRA, 1994 p. 685. NELDER, J.A.; MEAD, R. A simplex method for function minimization. Computer Journal, v. 7, n. 4, 1965, p. 308-313. Unidade 3 • Otimização multidimensional sem restrições104/269 WALTER, E. Numerical methods and optimization: a consumer guide. Springer. 2014, p. 476. PRESS, W.H.; TEUKOLSKY, S.A.; VETTERLING, W.T.; FLANNERY, B.P. Numerical recepies: theart of scientific computing. 3. ed. Cambridge University Press, 2007, p. 1235. SEBORG, D.E.; EDGAR, T.F.; MELLICHAMP, D. Process Dynamics and Control. 2. ed. Hoboken: Wi- ley, 2004, p. 713. STRANG, G. Linear álgebra and its applications. 4. ed. Wellesley, MA: Cambridge University Press, 2009, p. 574. 105/269 Assista a suas aulas Aula 3 - Tema: Otimização Multidimensional sem Restrições. Bloco I Disponível em: <https://fast.player.liquidplatform.com/ pApiv2/embed/dbd3957c747affd3be431606233e0f- 1d/86ccd64185ae599256ed7018a98ef78f>. Aula 3 - Tema: Otimização Multidimensional sem Restrições. Bloco II Disponível em: <https://fast.player.liquidplatform.com/ pApiv2/embed/dbd3957c747affd3be431606233e0f1d/ 3fecde4b58003b2b2fd32462ec3fdb53>. https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/86ccd64185ae599256ed7018a98ef78f https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/86ccd64185ae599256ed7018a98ef78f https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/86ccd64185ae599256ed7018a98ef78f https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/3fecde4b58003b2b2fd32462ec3fdb53 https://fast.player.liquidplatform.com/pApiv2/embed/dbd3957c747affd3be431606233e0f1d/3fecde4b58003b2b2fd32462ec3fdb53
Compartilhar