[Apostila] Otimizacao de Processos - Ufba

181
Escola Politécnica UFBA OTIMIZAÇÃO DE PROCESSOS Prof. Dr. Ricardo de Araújo Kalid – [email protected] Programa de Engenharia Industrial da Escola Politécnica da UFBA

Transcript of [Apostila] Otimizacao de Processos - Ufba

Page 1: [Apostila] Otimizacao de Processos - Ufba

Escola Politécnica

UFBA

OTIMIZAÇÃO DE PROCESSOS

Prof. Dr. Ricardo de Araújo Kalid – [email protected]

Programa de Engenharia Industrial da Escola Politécnica da UFBA

Page 2: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

2

CURRÍCULO DO INSTRUTOR

ÁREAS DE ATUAÇÃO E LINHAS DE PESQUISA Modelagem e simulação em regime estacionário e transiente de processos Identificação de processos Controle de processos Otimização de processos Síntese de redes de transferência de calor e massa OUTROS Professor do Mestrado em Engenharia Química da UFBA e do Mestrado em Produção Limpa Professor (anos 92 e 93) do Curso de Especialização em Instrumentação e Controle (CEINST) promovido

pelo Departamento de Engenharia Mecânica da UFBA Professor de Cursos de Educação Continuada (Controle Avançado, Controle Preditivo Multivariável,

Identificação de Processos, Otimização de Processos Químicos, Controle de Colunas de Destilação) para DOW, PETROBRAS, GRIFFIN, EDN, CIQUINE, OXITENO, COPENE.

Professor (98) do Curso de Especialização em Automação de Sistemas Industriais (CEASI) promovido pelo Depto de Engenharia Elétrica da UFBA

Professor e Coordenador (99) do Curso de Especialização em Controle e Automação de Processos Industriais (CECAPI) promovido pelos Depto de Engenharia Química e Elétrica da UFBA

Professor e Coordenador (2000 a 2002) do Curso de Especialização em Instrumentação, Automação, Controle e Otimização de Processos Contínuos (CICOP 1ª e 2ª turmas) promovido pelo Depto de Engenharia Química e UFBA e AINST.

Coordenador do II e do III Seminário Nacional de Controle e Automação (II SNCA-2001 e III SNCA-2003) PROJETOS COOPERATIVOS E/OU CONSULTORIAS PARA INDÚSTRIAS MONSANTO-GRIFFIN-POLITENO: síntese de redes de transferência de calor e massa DETEN: simulação do reator radial para desidrogenação de parafinas EDN: participou da equipe de desenvolvimento do plano diretor de automação BRASKEM-UNIB: identificação de processos, sintonia de controladores industriais, simulação, controle e

otimização do conversor de acetileno da ETENO II (em andamento) PDAI-BA - Programa de Desenvolvimento da Automação Industrial, participantes: UFBA, UNIFACS,

CEFET-BA, CETIND-SENAI, FIEB, SEPLANTEC, PETROBRAS, NITROCARBONO, DETEN, OXITENO, OPP, POLIBRASIL, POLITENO, BRASKEM-UNIB

GRIFFIN: Sistema de controle de pH. Modelagem e Otimização do Reator de DCA BRASKEM-UNIB-POLITENO-UFBA: Diagnóstico de Malhas de Controle Preditivo Multivariável (MPC) BRASKEM-UNIB -UFBA: projeto de produção + limpa para minimização/reuso de águas industriais INDICADORES DE PRODUÇÃO CIENTÍFICA Trabalhos apresentados em congressos ou seminários: 12 Trabalhos publicados em periódicos: 2 Dissertação de mestrado (1) e tese de doutorado (1) defendidas e aprovadas: 2

Participação de bancas de mestrado (5) e de doutorado (1): 6 Orientação de Iniciação Científica e Tecnológica 17 (concluídas) e 3 em andamento Orientação de Dissertações de Mestrado: 8 (em andamento), 3 concluídas

Ricardo de Araújo Kalid, D. Sc. 04/09/64

[email protected]

(0xx71) 203.9811 / 9984.3316

Prof. Depto Engenharia Química da UFBA

Graduação em Engenharia Química – UFBA (88)

Mestrado em Engenharia Química - UFBA (91)

Doutorado em Engenharia Química – USP (99)

Page 3: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

3

Trabalhos em desenvolvimento em parceria com indústrias: N Tema Equipe Instituição Status

18 Maximização do desempenho de malhas de controle PID da POLICARBONATOS

Ascânio Pepe POLICARBONATOS

Em desenvolvimento

Marcelo Coutinho Marcelo Embiruçu

UFBA Ricardo Kalid

17 Reuso/reciclo e conservação de água e energia: redes de transferência de calor e massa

Jean Carlos POLITENO

Em desenvolvimento

Sebastião João Colonese

GRIFFIN Nelson Siem Velarde Silvia Araújo

MONSANTO Breno Silva Ivan Moraes

CARAÍBA METAIS José Luis Asher Kiperstok

UFBA José Geraldo Pacheco Emerson Sales Ednildo Torres Ricardo Kalid

16 Minimização/reuso de águas industriais BRASKEM-ÁGUA

Moisés Augusto BRASKEM-UNIB

Em desenvolvimento

João Severiano Asher Kiperstok

UFBA José Geraldo Pacheco Emerson Sales Ricardo Kalid

15 Diagnóstico de malhas de controle preditivo multivariavel – MPC

Nadja Fontes

BRASKEM-UNIB

Em desenvolvimento

César Moares Mauricio Moreno Márcia Cunha Lúcio Estrella

POLITENO Ricardo Muller Jean Carlos Marcelo Embiruçu

UFBA Ricardo Kalid

Mauricio Moreno Fábio Carrilho Ricardo Kalid

14 "Plantwide control" de um trem de separação de xilenos (3 colunas de destilação em série/paralelo) da BRASKEM

Mauricio Moreno BRASKEM-UNIB Em

desenvolvimento Fábio Carrilho UFBA

Ricardo Kalid

Page 4: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

4

Trabalhos concluídos em parceria com indústrias: N Tema Equipe Instituição Status

13 Otimização da fonte de fósforo da MONSANTO Lucy Helena de Jesus

MONSANTO Concluído Daniel Cortes

José Geraldo Pacheco UFBA

12 Otimização de colunas de destilação da CIQUINE

Wagner Mônaco CIQUINE Concluído Viviane Scaranto

UFBA Ricardo Kalid

11 Projeto e sintonia do controlador de topo da coluna de destilação de 3,4 DCA da GRIFFIN

Klauss Villalva Serra GRIFFIN

Concluído Almir Viana Cotias Ricardo Kalid UFBA

10 Projeto e sintonia do sistema de controle de pH dos efluentes da GRIFFIN

Nelson Siem Velarde GRIFFIN Concluído

Ricardo Kalid UFBA

09 Simulação e controle de colunas de destilação de sulfolane da BRASKEM

Cathia R. Apenburg BRASKEM-UNIB

Concluído Williane Carneiro Ricardo Kalid UFBA

08 Plataforma de Automação Industrial do Estado da BAHIA

BRASKEM-UNIB PETROBRAS

Concluído

DETEN POLITENO SENAI-CETIND OXITENO NITROCARBONO POLIBRASIL CEFET-BA BRASKEM-OPP Paulo Guimarães UNIFACS Adhemar de Barros

UFBA Herman Lepikson Ricardo Kalid

07 Simulação e controle de colunas de destilação de BTX da BRASKEM

Mark Langerhost BRASKEM-UNIB Concluído Lueci V. do Vale

UFBA Ricardo Kalid

06 Modelagem, simulação, controle e otimização de conversores de acetileno da BRASKEM

Mauricio Moreno BRASKEM-UNIB

Concluído Paulo Freitas Fabrício Brito

UFBA Ricardo Kalid

05 Otimização da operação do reator de polimerização em baixa carga

Kleber Leite BRASKEM-OPP

Concluído Márcio Barreto Charles Diament Ricardo Kalid UFBA

04 Plano diretor de automação da ESTIRENO

EDN

Concluído Herman Lepikson

UFBA Cayubi Alves da Costa Francisco Teixeira Ricardo Kalid

03 Estimativa do tempo de campanha de fornos de pirólise da BRASKEM

Murilo F. de Amorim BRASKEM-UNIB Concluído Eliane Santanta

UFBA Ricardo Kalid

02 Modelagem por redes neurais híbridas e otimização de reatores de CPD

Luiz Alberto Falcon BRASKEM-UNIB Concluído Tatiana Freitas

UFBA Ricardo Kalid

01 Modelagem, simulação do reator de desidrogenação de n-parafinas da DETEN

Gian Carlo Gangemi DETEN Concluído

Ricardo Kalid UFBA

Page 5: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

5

INSTRUTOR: RICARDO KALID - [email protected]

Cursos e apostilas sobre

MODELAGEM DE PROCESSOS

1. Operações Unitárias em Regime Transiente – Balanços de Massa, Energia e Momentum Aplicados a Processos Químicos.

2. Identificação de Processos Químicos.

SIMULAÇÃO DE PROCESSOS

3. Métodos Numéricos e Simulação de Processos. 4. Programação em MATLAB com Aplicação em Reatores Químicos.

CONTROLE DE PROCESSOS

5. Sistemas de Controle dos Principais Equipamentos da Indústria de Processos Químicos e Petroquímicos.

6. Controle de Processos Químicos. 7. Definição da Estrutura do Sistema de Controle Multimalha de Processos

Multivariáveis. 8. Controle Avançado de Processos – Estratégias Clássicas de Controle. 9. Controle de Coluna de Destilação. 10. Controle Preditivo Multivariável: DMC - Controle por Matriz Dinâmica. 11. Sintonia Ótima de Controladores Industriais

OTIMIZAÇÃO DE PROCESSOS

12. Otimização de Processos Químicos sem restrições 13. Otimização de Processos Químicos com restrições 14. Otimização de Processos Químicos a batelada

Page 6: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

6

OTIMIZAÇÃO DE PROCESSOS

Índice

Lista de Abreviaturas ............................................................................................ 6 Nomenclatura ........................................................................................................ 7 Principais Referências Bibliográficas ................................................................. 7 1. Introdução e Definições .................................................................................... 12

1.1. Objetivos deste Curso ................................................................................... 12

1.2. Programa do Curso ....................................................................................... 13

1.3. Referências Bibliográficas Principais ........................................................... 14

1.4. Por que Otimizar? ......................................................................................... 14

1.5. Exemplos de Aplicação de Otimização ........................................................ 15

1.6. Formulação de um Problema de Otimização ................................................ 15

1.6.1. A Função Objetivo (FO) .......................................................................... 16

1.6.2. As Restrições ........................................................................................... 18

1.6.3. A Região Viável ...................................................................................... 19

1.6.4. As Variáveis de Decisão (VD) ................................................................ 20

1.7. Procedimento Geral para Solucionar um Problema de Otimização ............. 20

1.7.1. Mapeamento da Função Objetivo ............................................................ 21

1.7.2. Obstáculos à Otimização ......................................................................... 25

1.8. Exercícios ...................................................................................................... 27

2. Conceitos Matemáticos ..................................................................................... 28

2.1. Definições ..................................................................................................... 28

2.2. Operações Básicas com Matrizes e Vetores ................................................. 29

2.3. Independência Linear, Matriz Singular e Rank ou Posto de uma Matriz ... 32

2.4. Operadores Linha ou Coluna ........................................................................ 33

2.5. Solução de Sistema de Equações Lineares ................................................... 33

2.6. Graus de Liberdade ....................................................................................... 34

2.7. Autovalores e Autovetores ............................................................................ 34

2.8. Estudo de Função .......................................................................................... 35

Page 7: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

7

2.9. Continuidade de Funções .............................................................................. 37

2.10. Funções Unimodais e Multinodais ............................................................... 38

2.11. Funções Côncavas e Convexas ..................................................................... 38

2.12. Região Convexa ............................................................................................ 41

2.13. Condições Necessárias e Condições Suficientes para um Extremo de uma Função Irrestrita ....................................................................................................... 44

2.14. Interpretação da Função Objetivo em Termos de uma Aproximação Quadrática 47

2.15. Exercícios ...................................................................................................... 51

3. Formulação Matemática de um Problema de Otimização ........................ 54

3.1. A Função Objetivo (FO) ............................................................................... 55

3.1.1. Tolerância ou Critério de Parada ............................................................. 56

3.1.2. Objetivos Econômicos ............................................................................. 57

3.1.3. Objetivos Operacionais ........................................................................... 64

3.1.4. Combinação de Objetivos Operacionais com Objetivos Econômicos .... 69

3.2. As Funções de Restrição (FR) ...................................................................... 69

3.3. Otimização On-Line ..................................................................................... 70

3.4. Exercícios ...................................................................................................... 72

4. Otimização Unidimensional Sem Restrições (OUSR) ............................... 79

4.1. Métodos Indiretos (MI) para OUSR ............................................................. 80

4.1.1. Método de Newton .................................................................................. 81

4.1.2. Método de Quasi-Newton ........................................................................ 83

4.1.3. Método da Secante .................................................................................. 84

4.2. Métodos Diretos (MD) para OUSR .............................................................. 85

4.2.1. Métodos por Diminuição da Região de Busca ........................................ 85

4.2.2. Métodos por Aproximação Polinomial - Interpolação Quadrática.......... 87

4.2.3. Métodos por aproximação polinomial - Interpolação cúbica .................. 88

4.3. Avaliação dos Métodos Unidimencionais de Otimização ............................ 89

4.4. Exercícios ...................................................................................................... 91

5. Otimização Multidimensional Sem Restrições (OMSR) ............................ 92

5.1. Métodos Indiretos (MI) para OMSR ............................................................ 93

5.1.1. Método do Gradiente ou Método do Gradiente Descendente ................. 94

5.1.2. Método do Gradiente Conjugado ............................................................ 96

5.1.3. Método de Newton .................................................................................. 97

5.1.4. Método de Levenberg-Marquardt ............................................................ 98

Page 8: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

8

5.1.5. Método da Secante ou Quasi-Newton ..................................................... 99

5.2. Métodos Diretos (MD) para OMSR ........................................................... 102

5.2.1. Busca Randômica .................................................................................. 102

5.2.2. Grade de Busca ...................................................................................... 103

5.2.3. Busca Unidimensional ........................................................................... 103

5.2.4. Método Simplex ou do Poliedro Flexível .............................................. 104

5.3. Avaliação dos MD's e MI's para Problemas de OMSR .............................. 105

5.4. Exercícios .................................................................................................... 106

6. Ajuste de Modelos Matemáticos ................................................................... 108

6.1. Ajuste de Modelos Lineares nos Parâmetros Com Uma Variável Independente .................................................................................................................. 109

6.1.1. Escolha da Forma do Modelo Linear .................................................... 110

6.1.2. Ajuste do Modelo Linear Univariável ................................................... 111

6.2. Ajuste de Modelos Lineares de Várias Variáveis ....................................... 113

6.3. Ajuste de Modelos Matemáticos Não-Lineares .......................................... 116

6.3.1. Ajuste de Modelos por Métodos Diretos - Método do Poliedro Flexível 117

6.3.2. Ajuste de Modelos por Métodos Indiretos ............................................ 118

6.4. Observações e "Macetes" ............................................................................ 118

6.4.1. Procedimento Geral para Ajuste de Modelos ........................................ 120

6.5. Exercícios .................................................................................................... 121

7. Programação Linear (PL) ................................................................................ 126

7.1. Convertendo Problemas para a Forma Padrão da PL ................................. 129

7.2. A Dualidade em Programação Linear. ........................................................ 130

7.3. Análise de Sensibilidade em PL ................................................................. 131

7.4. Programação Linear Sucessiva (PLS) ......................................................... 132

7.5. Exercícios .................................................................................................... 133

8. Multiplicadores de Lagrange .......................................................................... 134

8.1. Análise de Sensibilidade por Multiplicadores de Lagrange ....................... 138

8.2. Condições de Kuhn-Tucker - CKT ............................................................. 139

8.3. Vantagens e Desvantagens dos Multiplicadores de Lagrange .................... 140

8.4. Exercícios .................................................................................................... 140

9. Função Penalidade ........................................................................................... 143

9.1. Exercícios .................................................................................................... 147

10. Programação Quadrática - PQ ....................................................................... 148

Page 9: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

9

10.1. Programação Quadrática Sucessiva - PQS ................................................. 150

10.2. Exercícios .................................................................................................... 152

11. Gradiente Reduzido Generalizado -GRG .................................................... 153

11.1. Relação entre o GRG e os Multiplicadores de Lagrange ........................... 154

11.2. Algoritmo do Gradiente Reduzido Generalizado ....................................... 156

11.2.1. Listagem do Programa GRG para o Exemplo 11.1 ............................... 162

11.3. Exercícios .................................................................................................... 172

12. Programação Inteira e Mista - PIM ................................................................ 173

12.1. Branch and Bound Technique ..................................................................... 173

12.2. Exercícios .................................................................................................... 176

13. Controle Ótimo - CO ......................................................................................... 177

13.1. Algoritmos para o Problema de Controle Ótimo ........................................ 178

Apêndice I: Controle Ótimo de um Reator a Batelada

Apêndice II: Reproduções de páginas do livro Process Analysis by Statistical Methods. Himmelblau, D. M.

Page 10: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

10

Lista de Abreviaturas CKT - Condições de Kuhn-Tucker CO - Controle Ótimo FO - Função Objetivo FR - Funções de Restrições MD - Método Direto de otimização MI - Método Indireto de otimização MV - Variável Manipulada OMCR - Otimização Multidimensional Com Restrições OMSR - Otimização Multidimensional Sem Restrições OUCR - Otimização Unidimensional Com Restrições OUSR - Otimização Unidimensional Sem Restrições PCO - Problema de Controle Ótimo PL - Programação Linear PNL - Programação Não-Linear PPL - Problema de Programação Linear PPNL - Problema de Programação Não-Linear PPQ - Problema de Programação Quadrática PQ - Programação Quadrática PV - Variável de Processo (pode ser variáveis controladas e/ou

medidas) s.a. - sujeito a SEANL - Sistema de Equações Algébricas Não-Lineares SP - SetPoint VA - Variável Auxiliar (qualquer variável ou constante que não é VDep) VD - Variável de Decisão ou de Projeto ou Independente VDep - Variável Dependente VI - Variável Independente

Page 11: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

11

Nomenclatura

Y i - valor da média dos experimentos replicados para um certo xi

x - valor médio da variável independente ηi - valor calculado da VI para um certo xi bj - parâmetro j de um modelo n - número total de experimentos realizados pi - número de medidas replicadas para um certo xi x - variável determinística, independente e experimental Y - variável estocástica, dependente e experimental Y - variável estocástica, dependente e experimental

Principais Referências Bibliográficas

As principais referências utilizadas para confeccionar esta apóstila e preparar as aulas são listadas a seguir. Outras referências, que tratam de assuntos específicos, são citadas ao longo do texto:

R1. Himmelblau, D. M. and Edgar, T. F.; Optimization of Chemical Process. McGraw-Hill, 1989. Livro essencial para quem quer iniciar e/ou aprofundar seus estudos sobre otimização de processos químicos. Boa parte do conteúdo deste curso e a maioria dos exercícios discutidos/propostos foram retirados deste livro.

R2. Himmelblau, D. M.; Process Analysis by Statistical Methods. Jonh Wiley & Sons, 1970. Livro que traz os algoritmos de vários métodos de otimização e aplica esses métodos principalmente ao ajuste de modelos matemáticos a dados experimentais. Livro texto para o Capítulo 6 desta apostila.

R3. Beveridge, G. S. and Schehter, R. S.; Optimization Theory and Practice. McGraw-Hill, 1970. Traz uma discussão mais profunda a respeito dos fundamentos matemáticos em que os métodos de otimização são baseados.

R4. Reklaitis, G. V.; Ravindran, A.; Ragsdell, K. M.; Engineering Optimization: Methods and Applications. Jonh Wiley & Sons, 1983. Livro importante e complementar ao de Himmelblau e Edgar (R1). Livro texto para os Capítulo 8 e 9 desta apostila.

Page 12: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

12

1. Introdução e Definições

Na natureza somente os mais eficientes sobrevivem. A seleção natural elimina as espécies ou os indivíduos menos capacitados, ao mesmo tempo que facilita as coisas para os mais bem dotados, ou seja, existe algum mecanismo que procura maximizar o uso dos recursos ou minimizar o efeito da ineficiência dos processos. O que a natureza sabe fazer com extrema maestria nós devemos imitar, se quisermos suplantar nossos adversários e assim sermos os ganhadores. O problema é que seja qual for o vencedor, a mãe natureza sempre ganha junto, enquanto nós temos que ser mais eficientes que nossos concorrentes. E como a probabilidade de tomar uma decisão errada é muito maior que escolher a opção certa, temos que nos cercar de informações e procedimentos confiáveis.

As informações que devemos coletar são, por exemplo:

• o(s) objetivo(s) que queremos atingir,

• as condições do mercado fornedor e consumidor,

• as condições do mercado financeiro,

• as condições dos recursos naturais e humandos disponíveis,

• as limitações de natureza física e/ou social e/ou psicológicas existentes.

Os procedimentos que podemos empregar são:

• a experiência acumulada,

• o uso de ferramentas matemáticas adequadas,

• a escolha de estratégias de atuação oportunas.

Se utilizarmos as informações e procedimentos apropriados temos boas chances de sermos os vitoriosos. É somente esse o nosso problema. Neste curso iremos estudar quais são as informações e procedimentos adequados a resolver os os problemas de otimização típicos em engenharia química.

1.1. Objetivos deste Curso

Ao final do segundo módulo deste curso seremos capazes de: O1. Entender os princípios de funcionamento dos pricipais algoritmos de

otimização. O2. Aplicar corretamente os algoritmos de otimização. O3. Desenvolver um modelo matematico de otimização e resolvê-lo através da

utilização de pacotes computacionais.

Page 13: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

13

1.2. Programa do Curso

Para alcançarmos os objetivos propostos o curso terá as seguintes características:

Carga horária total: 60 horas

Programa do curso: P1. Introdução e Definições: Visão geral do problema de otimização. P2. Conceitos Matemáticos: Ferramentas necessárias. P3. Formulação Matemática de um Problema de Otimização:

Construção da Função Objetivo e de Suas Restrições. P4. Otimização Unidimensional Sem Restrições: Aspectos matemáticos

específicos. P5. Otimização Multidimensional Sem Restrições: Aspectos matemáticos

específicos. P6. Aplicações de Otimização Sem Restrições em Processos Químicos. P7. Otimização Multivariável Com Restrições. P8. Aplicações de Otimização Multivariável Com Restrições em Processos

Químicos. P9. Experiências em Otimização de Processos Químicos do LACOI:

a) Reconciliação de dados em estado estacionário b) Minimização de uso de água e/ou consumo de energia em processos c) Otimização de processos industriais: Case MONSANTO Case CIQUINE Case BRASKEM-UNIB Case BRASKEM-OPP

Metodologia de ensino: M1.Utilizaremos de data-show e da lousa para desenvolver os tópicos. M2.Exercícios resolvidos para exemplificar os conhecimentos teóricos

abordados. M3.Aulas de exercícios para as equipes (2 alunos por equipe). M4.Lista de exercícios propostos. M5.Distribuição de apóstila com o conteúdo do que foi apresentado. M6.Sempre que necessária haverá interrupção da aula para esclarecimento de

dúvidas. M7.Estudo de “cases” industriais que sejam de intresse dos alunos

Page 14: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

14

1.3. Referências Bibliográficas Principais

As pricncipais referências utilizadas para confeccionar esta apóstila e preparar as aulas são listadas a seguir. Outras referências, que tratam de assuntos específicos são citadas ao longo do texto: R1. Himmelblau, D. M. and Edgar, T. F., Optimization of Chemical Process,

McGraw-Hill, 1989. Livro essencial para quem quer iniciar e/ou aprofundar seus estudos sobre otimização de processos químicos. Boa parte do conteúdo deste curso e a maioria dos exercícios discutidos/propostos foram retirados deste livro.

R2. Himmelblau, D. M., Process Analysis by Statistical Methods, Jonh Wiley & Sons, 1970. Livro que traz os algoritmos de vários métodos de otimização e aplica esses métodos principalmente ao ajuste de modelos matemáticos a dados experimentais.

R3. Beveridge, G. S. and Schehter, R. S., Optimization Theory and Practice, McGraw-Hill, 1970. Traz uma discussão mais profunda a respeito dos fundamentos matemáticos em que os métodos de otimização são baseados.

Além dessas referências outras são listadas no final desta apóstila.

1.4. Por que Otimizar?

A otimização pode promover melhorias econômicas [otimização econômica (OE)] e/ou técnicas/operacionais [otimização operacional (OO)]. A otimização de um determinado processo ou sistema pode ter como benefício um (ou mais de um) dos itens a seguir:

OE. minimizar o investimento para uma determinada capacidade operacional a ser instalada,

OE. maximizar o lucro total,

OE. maximizar o lucro por unidade de produção,

OE. minimizar os custos operacionais,

OE. minimizar os custos de manutenção,

OO. maximizar a produção para uma determinada capacidade operacional instalada,

OO. minimizar o consumo de matéria-prima e/o energia,

OO. minimizar a produção de insumos indesejáveis,

OO. minimizar o tempo de batelada,

OO. minimizar a diferença entre o valor desejado e o valor alcançado, Observe que alguns desses objetivos são conflitantes entre si, portanto devemos estabelecer o objetivo a ser alcançado com bastante cuidado. Porém devemos sempre nos lembrar que a otimização tem um custo e, portanto, devemos otimizar a otimização.

Page 15: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

15

Em certos casos o uso de métodos matemáticos de otimização não traz benefícios, por exemplo:

• quando uma solução razoável pode ser obtida baseada em experiências passadas,

• quando existe uma prática padrão em uso,

• quando o tempo necessário para avaliar o problema não contribui para o contexto do projeto global,

• quando as informações necessárias só podem ser obtidas com grande custo.

1.5. Exemplos de Aplicação de Otimização

A otimização pode ser aplicada de inúmeras maneiras em processos e plantas químicas. Típicos projetos onde a otimização tem sido empregada incluem: 1. Determinação do melhor local para construção de uma planta. 2. Escalonamento de tanques para armazenagem de matéria-prima e de

produtos. 3. Dimensionamento e layout de pipelines. 4. Projeto de plantas e/ou de equipamentos. 5. Escalonamento de reposição e manutenção de equipamentos. 6. Operação de equipamentos e/ou plantas. 7. Ajuste de modelos a dados experimentais de uma planta. 8. Minimização de inventário. 9. Alocação de recursos ou serviços entre diferentes processos. 10.Planejamento e escalonamento de instalação de plantas.

1.6. Formulação de um Problema de Otimização

Podemos definir# a otimização de sistemas das seguintes maneiras: D1. Campo da matemática dedicado ao desenvolvimento de métodos eficientes

de determinação de máximos e mínimos de funções de uma ou mais variáveis.

D2. A ciência que determina as melhores soluções para certos problemas físicos; problemas que são descritos por modelos matemáticos.

# As três definições foram transcritas da apóstila sobre "Otimização de Processos" de autoria

de Fernando Pellegrini Pessoa e Marcelo Castier, ambos professores do DEQ-UFRJ

Page 16: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

16

D3. Busca da melhor solução (solução ótima) dentre as diversas soluções possíveis de um problema, segundo um critério estabelecido previamente.

Embora nem todos os problemas de otimização possam ser descritos por equações matemáticas (por exemplo, maximizar as propriedades organolépticas de um alimento), apenas os que podem serão tratados neste curso. A formulação de um problema prático de otimização contém duas partes:

1. Ao menos uma função objetivo a ser alcançada.

2. As restrições que devem ser atendidas. Devemos encontrar uma solução (pois podem existir mais) que minimiza/maximiniza a função objetivo e que simultaneamente atenda às restrições, ou seja a solução encontrada deve pertecer à região viável. Para que as condições ótimas sejam alcançadas o sistema deve ter liberdade para manipular as variáveis de decisão, também denominadas variáveis de projeto ou ainda variáveis independentes, isto é, algumas condições operacionais são modificadas de forma que o ponto ótimo viável seja alcançado.

1.6.1. A Função Objetivo (FO)

A função objetivo ou critério de desempenho estabelece o alvo a ser alcançado. É uma função matemática cujo máximo ou mínimo se deseja determinar. As FO's podem ser desenvolvidas a partir de três tipos de critérios: C1. Critério estritamente econômico: maximizar o lucro anual, minimizar o

custo anual, diminuir o tempo de retorno do investimento, etc. C2. Critério estritamente técnico/operacional: minimizar o consumo de

energia ou de matéria-prima, maximizar a produção, etc. C3. Critério técnico-econômico: minimizar a diferença entre o valor desejado

e o valor medido numa planta, ao mesmo tempo em que minimiza o custo operacional.

O estabelecimento correto da função objetivo é fundamental para o sucesso da otimização. Sua determinação é uma tarefa complexa que requer grande conhecimento do processo/sistema a ser otimizado. A função objetivo pode ser classificada quanto à:

• Continuidade:

• contínua, por exemplo a temperatura ótima para uma reação reversível

• descontínua

• discreta, por exemplo o diâmetro ótimo de uma tubulação

Page 17: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

17

• Modalidade:

• unimodal (o extremo local é também o global), figura 1-a. x = -100:100; a = 4; b = 2; c = 5; y1= -a*x.^2 + b*x + c; plot(x,y1)

-100 -50 0 50 100-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5x 104

Figura 1-A: Função Unimodal

Função objetivo (FO): max yy a x b x c

1

12= − + +. .

Equação 1.6-A

max(y1) ans = 5 Obs: expressões nesta fonte (Courier New 10, verde, em negrito) são comandos do MATLAB. expressões nesta fonte (Courier New 10, azul) são as respostas geradas pelo MATLAB.

as expressões nesta fonte (Times New Roman 12, preto) são textos em WORD. Comando help nome-da-função permite consultar o manual de referência on-line do MATLAB. Comando help optim permite consular o manual de referência do toolbox de otimização on-line do MATLAB.

• multimodal (existem vários extremos locais e um deles é o global)

Page 18: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

18y2 = -a*x.^2 + b*x + c + 1000*sin(x); plot(x,y2,'-r',x,y1,':b')

-100 -50 0 50 100

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5x 104

Figura 1-B: Função Unimodal e Multimodal

Função objetivo (FO): maximizar y2 max(y2) ans = 902.2974

• Convexidade:

• convexa, a função objetivo é uma função convexa (tem um único mínimo)

• côncava, a função objetivo é uma função côncava (tem um único máximo)

1.6.2. As Restrições

São os limites impostos ao sistema pelas condições físicas, por exemplo:

• capacidade máxima de processamento de um equipamento,

• temperatura e pressão absolutas só podem assumir valores positivos,

• os balanços de massa e energia de um processos devem ser obedecidos,

• capacidade de absorção do mercado,

• preço máximo de venda ou de compra,

• etc. As restrições podem ser de igualdade ou de desigualdade.

Page 19: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

19

O modelo matemático (em regime estacionário ou transiente) de um processo é uma restrição de igualdade.

1.6.3. A Região Viável

Região do espaço definida pelas variáveis de decisão, delimitada pelas restrições, em cujo interior ou na fronteira se localiza o máximo ou o mínimo da função objetivo. Também é denominada de região de busca. O conjunto das restrições determinam uma região onde o ponto ótimo deve estar contido. Portanto a região viável deve ser um espaço não nulo. Por exemplo:

• região viável nula: x > 50 e x < 10

• região viável: x > 10 e x < 50 Exemplo;

Função objetivo: max y

y a x b x cx 1

12= − + +. .

Equação 1.6-B

Sujeito a: 10 < x < 20 x = 10:20; y1= -a*x.^2 + b*x + c; plot(x,y1)

10 12 14 16 18 20-1600

-1400

-1200

-1000

-800

-600

-400

-200

Figura 1-C: Função Objetivo com Restrição

max(y1) ans = -375 O estabelecimento da região viável torna-se mais complicado com o aumento do número de variáveis e com a complexidade das expressões que definem as restrições do sistema. Embora os algoritmos numéricos tenham capacidade de detectar quando uma região viável não existe (região viável nula), eles não podem detectar quando a região de busca está definida de maneira errada. Portanto, máxima

Page 20: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

20

atenção deve ser dispensada ao estabelecimento das restrições, ou seja, da região viável.

1.6.4. As Variáveis de Decisão (VD)

As variáveis de decisão ou de projeto ou independentes correspondem, em número, ao excesso de incógnitas em relação ao número de equações, ou seja, sua quantidade é igual ao número de graus de liberdade do sistema. Se existe apenas uma única solução para o problema, nenhuma otimização é necessária e possível. Portanto, para haver condições de otimizar um processo o mesmo dever ter graus de liberdade maior que zero. As VD caracterizam os possíveis projetos ou condições operacionais do sistema e devem ter uma certa influência sobre a função objetivo. Se uma função objetivo é pouco sensível a uma variável de decisão é conveniente simplificar o problema assumindo um valor fixo para essa variável. Por outro lado, se o critério de desempenho é extremamente sensível a uma determinada variável de projeto, talvez seja difícil reproduzir na prática as condições ótimas calculadas.

1.7. Procedimento Geral para Solucionar um Problema de Otimização

Não existe um procedimento ou método que possa ser aplicado eficientemente para todo tipo de problema. A escolha do método depende:

• da característica da função objetivo (linear ou não-linear; contínua, discreta ou mista)

• da natureza das restrições (linear ou não-linear; contínua, discreta ou mista)

• do número de variáveis de decisão. Podemos estabelecer 6 passos principais a serem seguindos na solução de problemas de otimização: P1. Analise o processo e estabeleça as variáveis de decisão (VD) e as

auxiliares (VA’s). P2. Estabeleça a função objetivo (FO) em função das variáveis identificadas no

item P1 e de coeficientes conhecidos. P3. Estabeleça as restrições:

• balanços de massa e energia funções das VD’s e VA’s, • relações constitutivas e/ou empíricas, • limites operacionais máximos e mínimos, • faixa de validades das variáveis, por exemplo, temperaturas e

pressões absolutas devem ser positivas, frações molares entre 0 e 1, etc.,

Page 21: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

21

• limites externos, por exemplo, capacidade máxima de consumo do mercado.

P4. Se o problema é demasiadamente grande: • subdivida em partes e/ou • simplifique a função objetivo e/ou o modelo do processo.

P5. Se possível faça o mapeamento da função objetivo, isto é, verifique graficamente como a FO varia com a mudança das variáveis de decisão.

P6. Aplique as apropriadas técnicas matemáticas de otimização para o problema.

P7. Aplique a análise de sensibilidade da FO, isto é, examine a sensilidade do ponto de mínimo/máximo e o valor da FO às mudanças nos coeficientes das funções e a alterações nas variáveis decisão.

Os passos P1, P2, P3 e P4 constituem a representação matemática do problema, exigindo que a equipe responsável pela otimização do sistema tenha: (a) muito conhecimento a respeito do processo, (b) muita atenção e habilidades específicas em modelagem de processos. Deve-se escolher um modelo o mais simples possível (menor quantidade de variáveis, equações constitutivas enxutas) que representa adequadamente o sistema. Executando a etapa P5 temos condições de saber sua ordem de grandeza e de verificar como ela varia com determinada VD. O mapeamento da FO nem sempre é simples de realizar embora seja sempre desejável. A aplicação dos algoritmos de otimização (passo P6) é uma etapa simples, desde que se tenha à mão programas de computador já desenvolvidos e testados. Porém se for necessário implementar ou desenvolver um novo algoritmo será necessário um grande esforço (tempo e recursos humanos). Na etapa P7, validação dos resultados obtidos, é essencial a participação de engenherios e de técnicos que conhecem (bem) o sistema/processo otimizado.

1.7.1. Mapeamento da Função Objetivo

Antes de executar algum algoritmo de otimização, é interessante que seja realizado o mapeamento da FO. Veja o exemplo a seguir de uma função Z de duas incógnitas (X,Y): x = -8:.5:8 ; y = x ; [X,Y] = meshgrid(x,y) ; R = sqrt(X.^2 + Y.^2) + eps ; Z = sin(R)./R ;

Utilizamos as funções de traçamento de gráficos do MATLAB para mapear de diversas maneiras a função Z = seno(R)/R. Construimos os gráficos bidimensional (figura 1-d), tridimensional (figura 1-e), das curvas de nível

Page 22: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

22

(figura 1-f), combinação do gráfico tridimensional com o das curvas de nível (figura 1-g), curvas de nível pseudo-coloridas (figura 1-h).

Page 23: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

23whitebg plot(x,Z)

-8 -6 -4 -2 0 2 4 6 8-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Figura 1-D: Gráfico bidimensional

mesh(x,y,Z)

-10-5

05

10

-10-5

05

10-0.5

0

0.5

1

Figura 1-E: Gráfico tridimensional

c = contour(x,y,Z) ;

clabel(c);

-2

0

2

4

6

8

-0.2

-0.2

0 0

0

0

0.2 0.4

0.6

0.8

Figura 1-F: Curvas de nível

meshc(x,y,Z)

0

0.5

1

Figura 1-G: Tridimensional com curvas de nível

Page 24: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

24

pcolor(x,y,Z)

-8 -6 -4 -2 0 2 4 6 8-8

-6

-4

-2

0

2

4

6

8

Figura 1-H: Curvas de nível pseudo coloridas

Se a FO tem mais de duas VD’s podemos: (a) plotar vários gráficos da FO com relação a diferentes pares das variáveis

de decisão,

Page 25: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

25

(b) plotar um gráfico bidimensional no qual a ordenada é o valor da FO e na abscissa os conjuntos de valores das variáveis de projeto, Figura 1-I. Por exemplo

[nl,nc] = size(Z) ; VetorZ = [ ] ; for i = 1 : nl for j = 1 : nc VetorZ = [ VetorZ ; Z(i,j) ] ; end end whitebg plot(VetorZ,'r')

0 2 0 0 4 0 0 6 0 0 8 0 0 1 0 0 0 1 2 0 0-0 .4

-0 .2

0

0 .2

0 .4

0 .6

0 .8

1

Figura 1-I: Gráfico dos valores alinhados de uma função bidimensional

Quando existem muitas VD’s o número de cálculos e/ou de gráficos para mapear a FO fica proibitivo, por exemplo, para 5 variáveis de decisão com 20 pontos para cada, o número de vezes que a FO será avaliada é 205 = 3.200.000.

1.7.2. Obstáculos à Otimização

Se a função objetivo (FO) e as funções de restrições (FR) forem "bem comportadas" a otimização não apresenta grandes problemas. Particularmente se a FO e as restrições forem todas lineares está disponível um poderoso método (Programação Linear) que resolve este problema de maneira satisfatória. Entretanto muitos problemas de otimização são não-lineares. Muitos dos problemas práticos de otimização em engenharia química apresentam alguns das dificuldades abaixo: P1. Não disponibilidade de dados ou de um modelo matemático confiável do

sistema. P2. Descontinuidades da FO ou das FR’s. Por exemplo, o preço de um

compressor ou trocador de calor não varia continuamente como uma função das dimensões, pressão, temperatura, etc. pois o incremento de um

Page 26: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

26

parâmetro não afeta o custo em uma certa faixa de variação, porém para uma outra faixa ocorre um salto no valor do equipamento.

P3. Não-lineraridade da FO ou FR. P4. A FO e a FR são definidas através expressões que contém complicadas

interações entre as variáveis de decisão. A interação impede a existência de um único ponto ótimo.

P5. A FO ou a FR tem comportamento achatado ou exponencial em algumas faixas de variação das variáveis de decisão. Isto significa que o problema é pouco ou extremamente sensível, respectivamente, a mudanças dessas variáveis.

P6. A FO apresenta muitos extremos locais perto da região que contém o extremo global.

Quando não é possível a aplicação dos métodos de otimização podemos: (a) fazer um estudo de caso, isto é, escolher criteriosamente um número

limitado de opções e analisar qual a melhor alternativa; (b) fazer um estudo de sensibilidade, semelhante ao estudo de caso, apenas

mais sistematizado e com um número maior de casos a analisar.

Page 27: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

27

1.8. Exercícios

E1.1. Crie uma nova função de duas VD’s acrescentando à função Z do ítem

1.7.1 (página 21) um ruido randômico (a função no MATLAB é rand). Construa gráficos bidimensionais, tridimensionais e de contorno. Analise os resultados obtidos assumindo que a nova função Z é uma FO.

E1.2. Desenvolva uma função objetivo para otimizar seus rendimentos. Não

esqueça de estabelecer as restrições impostas pelo sistema (patrão, esposa(o), filhos, etc).

E1.3. Dada a função ( ) 2221

21 5.123 xxxxxf ++= construa seu gráficos e ache o

ponto de mínimo.

E1.4. Dada a função ( ) ( )[ ]221

212

31 10exp xxxxxxf −−−= , graficamente obtenha

o ponto de máximo. Estude a sensibilidade.

Page 28: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

28

2. Conceitos Matemáticos

A busca do ponto ótimo de uma FO é baseada em conceitos matemáticos bem conhecidos e extensamente estudados. Neste capítulo descreveremos e aplicaremos alguns desses conceitos, porém não seremos matematicamente formais. Vamos procurar compreender "intuitivamente" os conceitos matemáticos necessários ao entendimento e utilização dos algoritmos numéricos. Contudo se quisermos implementar algum algoritmo teremos que "entrar no mundo do formalismo matemático" e estudar com maior profundidade álgebra linear, cálculo diferencial, estatística (para problemas de reconcialiação de dados e de estimativa de parâmetros) e cálculo numérico. A complementação dos tópicos aqui apresentados pode ser encontrada nos livros de cálculo, cálculo numérico e/ou álgebra linear.

2.1. Definições

Uma matriz é um conjunto de números, símbolos ou funções dispostos em linhas e colunas. Cada elemento de uma matriz A é denominado aij, onde o subscrito i corresponde à linha e o subscrito j à coluna corresponde.

⎥⎥⎥⎥

⎢⎢⎢⎢

=

nmnn

m

m

mxn

aaa

aaaaaa

A

21

22221

11211

Equação 2-A

Se o número de linhas (n) for igual ao número de colunas (m) então a matriz é denominada de matriz quadrada. Uma matriz quadrada particularmente importante é a matriz identidade I. Esta matriz tem todos os elementos iguais a zero, exceto os da diagonal principal (aii = 1, i = 1, ..., n), que são todos iguais a 1 (um).

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

100001

0000100001

nxnI

Equação 2-B

Page 29: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

29

Vetores são um tipo especial de matriz e tem apenas uma linha ou uma coluna.

⎥⎥⎥⎥

⎢⎢⎢⎢

=

n

nx

x

xx

x 2

1

1

Equação 2-C

A transposta de uma matriz (AT) é a matriz resultante da troca das linhas pelas colunas da matriz original, então o elemento aij transforma-se no elemento aji . A transposta de um vetor linha é um vetor coluna e vice-versa.

[ ]nT xxxx

xn 211=

Equação 2-D

2.2. Operações Básicas com Matrizes e Vetores

Igualdade: A = B se e somente se aij = bij , para todo i e j Adição: A + B = C se e somente se cij = aij + bij , para todo i e j A e B devem ter as mesmas dimensões Multiplicação: An x m x Bm x r = Cn x r O número de colunas da matriz A deve ser igual ao número de linhas da matriz B. Cada elemento da matriz C é obtido pelo somatório do produto dos elementos da i-ésima linha da matriz A vezes os correspondentes elementos da j-ésima coluna da matriz B :

∑=

=m

kkjikij bac

1

Equação 2-E

Em geral a multiplicação de matrizes não é comutativa, isto é:

ABBA ≠

Equação 2-F

Page 30: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

30

Multiplicação de uma matriz por um escalar: Cada elemento da matriz é multiplicada pelo número escalar:

ijij basBAs =⇔= .

Equação 2-G

Transposta de um produto de matrizes:

( ) TTT ABBA =

Equação 2-H

Produto interno entre dois vetores: Seja x e y dois vetores de dimensão n, então

∑=

==n

iii

T yxyxyx1

,

Equação 2-I

∑=

=n

ii

T xxx1

2 é um escalar

Equação 2-J

Se o resultado do produto interno entre dois vetores é igual a zero, então esses vetores são ortogonais, em vetores bi ou tridimensionais isto significa que os mesmos são perpendiculares entre si. Inversa de uma matriz: Não existe a versão matricial da divisão escalar. Por definição a inversa de uma matriz, necessariamente quadrada, é a matriz tal que

IAAAA == −− 11

Equação 2-K

onde I é a matriz identidade Um uso freqüente da inversa de uma matriz é para expressar um conjunto de variáveis em termos de um outro conjunto, uma operação importante em problemas de otimização com restrições. Por exemplo:

xzAxAz =⇔= −1

Equação 2-L

Page 31: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

31

Determinante de uma matriz: A função determinante, ou simplismente o determinante de uma matriz (necessariamente quadrada), é denotado por det[A] ou |A|. É um número escalar indispensável na investigação de sistemas de equações lineares. Não iremos apresentar a definição do determinante, mas apenas como calculá-lo:

• para uma matriz de dimensão 1, |A1x1| = a11

• para uma matriz de dimensão 2, |A2x2| = a11.a22 - a12.a21

• para uma matriz de dimensão 3, |A3x3| = a11.(a22.a33 - a23.a32) - a12.(a21.a33 - a23.a31) + a13.(a21.a32 - a22.a31)

• para uma matriz de dimensão n, utilize o comando do MATLAB: det(A)

Derivada de uma função escalar de um campo vetorial: Seja uma função escalar de um vetor de n variáveis f(x) , define-se vetor gradiente ou simplismente gradiente de f(x) ao operador

( ) ( )( )

( )⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

==∇Δ

nxxf

xxf

xxfxf

∂∂

∂∂

∂∂ 1

Equação 2-M

Define-se a matriz Hessiana ou simplesmente Hessiana(o) de f(x) , H(x) , à matriz das derivadas segunda ordem de de f(x) :

( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

==Δ

2

2

2

2

1

2

2

2

22

2

12

21

2

21

2

21

2

2

2

nnn

n

n

xxf

xxxf

xxxf

xxxf

xxf

xxxf

xxxf

xxxf

xxf

xxfxH

∂∂

∂∂∂

∂∂∂

∂∂∂

∂∂

∂∂∂

∂∂∂

∂∂∂

∂∂

∂∂

Equação 2-N

Seja o vetor b , n x 1 , de coeficientes constantes então

( ) ( )b

xxf

xxfb

bx

xbTTT

⎥⎦

⎤⎢⎣

⎡∂=⇔=

∂∂

∂∂

Equação 2-O

Seja os vetores x e z , n x 1 , e a matriz A , n x n , a partir da definição dada pela equação 2-m demonstra-se que:

Page 32: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

32

( )zA

xzAxT

=∂

Equação 2-P

e

( )xAxA

xxAx T

T

+=∂

Equação 2-Q

Se A é simétrica vale a seguinte expressão

( )xA

xxAxT

2=∂

Equação 2-R

e a partir da equação 2-n, se A além de simétrica for real, então

( )A

x

xAxT

22

2

=∂

Equação 2-S

2.3. Independência Linear, Matriz Singular e Rank ou Posto de uma Matriz

Matriz cujo determinante é igual a zero é denominada de matriz singular. Isto acontece quando todos os elementos de uma ou mais linhas (ou colunas) são nulos ou quando uma ou mais linhas (ou colunas) da matriz tem uma dependência linear com outra(s) linha(s) [ou coluna(s)], isto é, podemos escrever uma linha (ou coluna) como uma função linear de uma ou mais linhas (ou colunas) da matriz. Portanto se o determinante de uma matriz é zero, esta matriz é singular e suas linhas ou colunas são linearmente dependentes. Para matrizes quadradas linhas dependentes implicam em colunas dependentes. Por definição as colunas da matriz A, aj, são linearmente independentes se

d aj jj

n

=∑ =

1

0 se e somente se dj = 0 qualquer que seja o j

Equação 2-T

A dependência linear ocorre quando para algum valor não nulo de dj a equação 2-t é satisfeita.

Page 33: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

33

O rank ou posto de uma matriz é definido como o número de colunas linearmente independentes (< n). Também pode ser entendido como a dimensão da maior matriz quadrada não-singular obtida pelo particionamento, de todas as maneiras possíveis, da matriz original.

2.4. Operadores Linha ou Coluna

Operações de multiplicação/divisão de uma linha (ou coluna) por um escalar, bem como adição de uma linha (ou coluna) a outra linha (ou coluna) não modificam o determinante de uma matriz. Operações nas linhas de uma matriz podem ser utilizadas para obter a inversa da mesma. Para tanto, aumente a matriz quadrada A com a matriz identidade I,

[ ]Ι= AAaug

Equação 2-U

então pré-multiplique a matriz aumentada por A-1

[ ] [ ]11 −− Ι=Ι AAA

Equação 2-V

A equação 2-v demonstra que efetuando operações-linha em A da matriz Aaug, de forma a transformar A na matriz I, e repetindo as mesmas operações na matriz I da matriz Aaug, obtemos A-1 na parte aumentada de A.

2.5. Solução de Sistema de Equações Lineares

Uma equação linear é uma expressão da forma

bxaxaxa nn =++ 2211

Equação 2-W

Em muitos problemas de otimização é necessário obter a solução de sistemas de equações lineares. Considere que os elementos de uma matriz A, de dimensão n x n, são os coeficientes de um sistema de n equações e n incógnitas:

bxA

b

bb

x

xx

aaa

aaaaaa

nnnnnn

n

n

=⇔

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

2

1

2

1

21

22221

11211

Equação 2-X

Page 34: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

34

então, para b ≠ 0 e se a matriz A for não singular, isto é, se existir A-1, a solução da equação 2-x é dada por

bAx 1−=

Equação 2-Y

Se o rank da matriz Anxn for n, então existe uma única solução, ou seja o sistema de equações é linearmente independente. Caso contrário, ou seja, |A| = 0, então o sistema tem infinitas soluções ou a solução não existe. Se b = 0, a equação 2-x tem duas soluções:

• a solução trivial: x = 0

• a solução não-trivial: x ≠ 0, neste caso det[A] = 0

2.6. Graus de Liberdade

Seja um sistema com n incógnitas e r equações

• Se n > r o sistema tem gl = n - r graus de liberdade e para solucioná-lo tem-se que atribuir valores a gl variáveis.

• Se n = r o sistema não tem graus de liberdade; para sistemas lineares de gl = 0 se o mesmo tiver solução, ela é única; para sistemas de equações não lineares de gl = 0 nada se pode afirmar, por exemplo, a equação seno(x) = 0 tem infinitas soluções, enquanto uma equação do segundo grau tem até duas soluções.

• Se n < r o sistema tem gl < 0 ; se o sistema é linear ele está sobre-determinado e deve-se eliminar algumas equações para poder ser solucionado; se o sistema é não linear as (n - r) equações a mais podem ser utilizadas para encontrar possíveis conjuntos viáveis.

Da discussão acima verifica-se que os sistemas não-lineares são mais complexos e conseqüentemente de solução mais difícil. Para otimizar um sistema linear o mesmo deve ter graus de liberdade (gl > 0). A otimização se dá através da escolha criteriosa, e por intermédio de um algoritmo numérico, do valor de gl variáveis que maximizem/minimizem uma função objetivo. Para otimizar um sistema não-linear é desejável que o mesmo tenha graus de liberdade (gl > 0), pois se gl = 0 a pesquisa do ponto ótimo será apenas nas soluções do sistema de equações, enquanto que para gl > 0 o algoritmo de procura tem mais liberdade de agir.

2.7. Autovalores e Autovetores

Uma matriz A n x n tem n autovalores. Define-se um vetor não-nulo n x 1 , v, de autovetor, o qual esta associado com o autovalor α da seguinte forma

Page 35: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

35

vvA α=

Equação 2-Z

Para cada autovalor corresponde um autovetor. Os autovalores e autovetores fornecem informações a respeito da natureza das funções em uma otimização. Se todos os autovalores de uma matriz A são positivos (maiores que zero), então A é positiva definida e tem inversa. Se todos os autovalores de uma matriz A são negativos (menores que zero), então A é negativa definida. Rearranjando a equação 2-z obtemos

( ) 0=− vIA α

Equação 2-AA

cujas variáveis desconhecidas são os autovalores α e os autovetores v . Devido o lado direito da equação 2-aa ser zero, duas soluções são possíveis: • a solução é trivial: v = 0 • ou existe mais de uma solução, então det[A - αI] = 0.

2.8. Estudo de Função

Seja uma função de uma única variável, f(x) , a condição necessária, mas não suficiente, para que um ponto x*, que não esteja na fronteira do domínio da função, ou simplesmente ponto interno, seja ponto de máximo ou de mínimo é que a derivada da função neste ponto seja nula. Seja o ponto x* o ponto crítico ou ponto estacionário isto é f'(x*) = 0. Este ponto pode ser um ponto de máximo, de mínimo ou de inflexão, veja a figura 2-a.

1500

2000

2500

Figura 2-A: Função monovariável

A condição suficiente para que x* seja um mínimo local é que f'(x*) = 0 e f''(x*) > 0, ou seja, se f'(x*) = 0 e f''(x*) > 0 então x* é ponto de mínimo.

Page 36: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

36

Porém existem pontos de mínimo que não atendem a essa condição, daí a condição suficiente. Por exemplo em f(x).= x4/3 , x* = 0 é o ponto de mínimo, embora f''(x*) não seja definido neste ponto. A condição suficiente para que x* seja um máximo local é que f'(x*) = 0 e f''(x*) < 0, ou seja, se f'(x*) = 0 e f''(x*) < 0 então x* é ponto de máximo. Porém existem pontos de máximos que não atendem a essa condição, daí a condição suficiente. A condição necessária para que o ponto x* de uma função multivariável seja estacionário é que todas as derivadas parciais da função em relação às suas variáveis sejam nulas naquele ponto, isto é, f'(x*) = 0 A condição suficiente para que o ponto x* de uma função multivariável seja mínimo local é que a matriz das derivadas parciais de segunda ordem da função em relação a todas as suas variáveis seja positiva definida naquele ponto, isto é, H(x*) > 0. A condição suficiente para que o ponto x* de uma função multivariável seja máximo local é que a matriz das derivadas parciais de segunda ordem da função em relação a todas as suas variáveis seja negativa definida naquele ponto, isto é, H(x*) < 0. Na seção 2.11 será apresentado o conceito de matriz positiva (negativa) definida. Por ora basta entender que existe um paralelo entre esse conceito e o de derivada positiva (negativa) de segunda ordem de uma função monovariável.

Page 37: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

37

2.9. Continuidade de Funções

Em problemas de otimização é melhor que as funções e suas derivadas sejam contínuas. Na figura 2-b vemos um gráfico de uma função descontínua, enquanto que na figura 2-c temos uma função contínua, mas com derivada de 1a ordem descontínua.

0 5 10 15 20 25 30 35-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1x 104

Figura 2-B: Função descontínua

0 5 10 15 20 25 300

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Figura 2-C: Função contínua com

derivada descontínua Uma função monovariável é continua no ponto xo se: a) f(xo) existe

b) )(lim xfoxx→

existe

c) )()(lim oxxxfxf

o

=→

Uma função de duas variáveis é contínua no ponto (xo,yo) se: a) f(xo,yo) existe

b) ( ) ( )

),(lim,,

yxfoo yxyx →

existe

c) ( ) ( )

( ) ( )ooyxyxyxfyxf

oo

,,lim,,

=→

Quanto mais afastada estiver a descontinuidade do ponto de máximo (mínimo) da função, mais facilmente este ponto é encontrado. Se uma função não é continuamente diferenciável, veja figura 2-c, métodos de otimização que utilizam derivadas não podem ser empregados, pois a derivada não é definida nos pontos de descontinuidade de f(x). Um exemplo de descontinuidade acontece no projeto de tubulações. Existe um número finito de diâmetros de tudo disponíveis para compra, veja figura 2-d, portanto a escolha do diâmetro recairá entre uma dessas opções. Para resolver esse problema existem duas alternativas:

Page 38: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

38

a) considerar funções de restrições discretas e realizar uma otimização discreta, neste caso os algotimos numéricos são mais complexos;

b) considerar variações contínuas para o diâmetro da tubulação e aproximar o resultado para a bitola mais próxima (ponto sub-ótimo), para fins de engenharia este procedimento é satisfatório.

0 2 4 6 8 102

4

6

8

10

12

14

16

18

20

D iâm etros de tubos com ercia lm ente d isponíve is

Cus

to

Figura 2-D: Custo de instalação de tubulação em função do diâmetro

2.10. Funções Unimodais e Multinodais

Na formulação de uma função objetivo é melhor, se possível, escolher uma unimodal (que tenha um único ponto de máximo ou de mínimo) que uma multinodal. Numa função unimodal o extremo local é o extremo global; enquanto que numa função multinodal existem vários extremos locais, um dos quais é o extremo global. Os métodos numéricos apenas detectam extremos locais.

2.11. Funções Côncavas e Convexas

Funções convexas e côncavas são unimodais. A determinação da convexidade ou concavidade ajuda a estabelecer se um extremo é também o extremo global.

Uma função é denominada côncava (tem ponto de máximo, figura 2-e) em uma certa região R, se para todos os pares (xa,xb), pertencentes à região R,

( )[ ] ( ) ( ) ( )baba xfxfxxf θθθθ −+≥−+ 11

Equação 2-BB

onde 0 < θ < 1 . A função é estritamente côncava se apenas a relação de desigualdade (>) é atendida.

Page 39: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

39

Uma função é denominada convexa (apresenta ponto de mínimo, figura 2-f) se na equação 2-bb o sinal de > for substituido por <, e estritamente convexa se o sinal de desigualdade for <. Intuitivamente, uma superfície f(x) é côncava se um segmento de reta que une dois pontos desta superfície esta sempre na ou sob a superfície. Similarmente f(x) é convexa se um segmento de reta que une dois pontos desta superfície esta sempre na ou sobre a superfície. Um plano (ou reta, ou função linear) é uma função convexa e côncava ao mesmo tempo, embora não seja estritamente convexa ou côncava.

-30 -20 -10 0 10 20 30 40 50-2500

-2000

-1500

-1000

-500

0

500

Figura 2-E: Função côncava

-30 -20 -10 0 10 20 30 40 500

500

1000

1500

2000

2500

3000

Figura 2-F: Função convexa

Page 40: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

40

A equação 2-bb não é uma maneira conveniente de testar a concavidade ou convexidade de uma função. Em seu lugar utiliza-se a segunda derivada de f(x), 2f(x), freqüentemente denominada de matriz de Hessian ou matriz Hessiana de f(x) e denotada por H(x), uma matriz simétrica das derivadas de segunda ordem de f(x). Por exemplo, se f(x) é uma função quadrática de 2a ordem

( ) 22222112

2111 xhxxhxhxf ++=

Equação 2-CC a Hessiana é dada por

( ) ( )

( ) ( )

( ) ( ) ⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

=∇=2212

1211

22

2

12

221

2

21

2

2

22

hhhh

xxf

xxxf

xxxf

xxf

xfxH

∂∂

∂∂∂

∂∂∂

∂∂

Equação 2-DD Analogamente às funções monovariáveis, a matriz das derivadas segundas de uma função multivariável, ou seja a Hessiana, determina se uma função tem um máximo ou um mínimo em uma região, ou seja, a matriz H(x) estabelece se a função é côncava ou convexa numa dada região, respectivamente. Resumindo, dada uma função objetivo f(x) a sua matriz Hessiana H(x) determina a sua natureza: 1. Para f(x) ser estritamente convexa H deve ser positiva definida.

Para f(x) ser convexa H deve ser positiva semi-definida. H é positiva definida se e somente se xTHx é > 0 para todo x ≠ 0. H é positiva semi-definida se e somente se xTHx é > 0 para todo x ≠ 0. Se todos os autovalores de H forem positivos (>0) então H é positiva definida. Se todos os autovalores de H forem não-negativos (>0) então H é positiva semi-definida.

2. Para f(x) ser estritamente côncava H deve ser negativa definida. Para f(x) ser côncava H deve ser negativa semi-definida. H é negativa definida se e somente se xTHx é < 0 para todo x ≠ 0. H é negativa semi-definida se e somente se xTHx é < 0 para todo x ≠ 0. Se todos os autovalores de H forem negativos (<0) então H é negativa definida. Se todos os autovalores de H forem não-positivos (<0) então H é negativa semi-definida.

3. H é indefinida se xTHx < 0 para alguns x e xTHx > 0 para outros. Se uma função tem um ponto estacionário onde a matriz Hessiana tem autovalores negativos e positivos, a função não é côncava e nem convexa.

4. Para f(x) ser simultaneamente côncava e convexa H = 0, e neste caso f(x) é uma função linear.

Page 41: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

41

Algumas vezes utiliza-se o fato de que a soma de funções convexas (côncavas) também é uma função convexa (côncava). Ou seja, podemos analisar f(x) em termos das funções que a compõe. Se uma função é separável, isto é, f(x) = f1(x) + f2(x) , e se f1(x) e f2(x) são convexas (côncavas) então f(x) também é convexa (côncava).

2.12. Região Convexa

São raros os problemas práticos sem restrições. As restrições podem ser impostas aos valores que as variáveis de decisão podem assumir ou sobre a própria função objetivo. Em geral as restrições são expressas em termos de equações e/ou inequações

( )

( ) η,,2,10

,,2,10

++=≤

==

kparaxge

kparaxg

k

k

Equação 2-EE

É importante o tipo da região de busca definida pelo conjunto de restrições do problema. Regiões convexas são mostradas na figura 2-g (a) e (b).

Figura 2-G: Regiões convexas

Page 42: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

42

Na figura 2-h vemos regiões viáveis não-convexas.

Figura 2-H: Regiões não-convexas

Se uma região é completamente limitada por funções côncavas do tipo gi(x) > 0 , então é uma região convexa fechada. Por outro lado se a região de busca é restrita por inequações da forma gi(x) < 0 e convexas, então é uma região convexa aberta. Encontramos muitas variações quanto ao tipo e número de extremos de uma FO e das suas FR's. No caso geral, é necessário encontrar todos os extremos locais e compará-los para determinar o extremo global. Este procedimento nem sempre é exigido quando certas combinações de FO's e FR's estão presentes. Considere uma função objetivo côncava restrita por uma região convexa. Como a FO é côncava ela admite máximo local que também será o máximo global, pois se a região é convexa, na figura 2-i(a) e (b) observa-se que apenas um ponto de máximo é encontrado. Este, portanto é o máximo local e global. Observe que se a região não for convexa existem vários máximos locais, veja figura 2-i(c), e a comparação entre os mesmos é necessária. Similarmente para uma função convexa numa região convexa, existirá apenas um ponto de mínimo.

Page 43: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

43

Figura 2-I: Relações entre FO's e regiões viáveis

Por outro lado pode existir mais de um ponto de mínimo numa FO côncava numa região convexa conforme é mostrado na figura 2-i(b), ou mais de um ponto de máximo numa FO convexa de uma região convexa. Funções lineares são ao mesmo tempo côncavas e convexas, portanto, quando a região de busca é convexa, admite apenas um máximo e um mínimo local. Assim se a FO's e suas FR's são bem comportadas a procura do ponto ótimo é facilitada. Se uma FO é bem comportada para a maximização não implica que será na minimização e vice-versa. Assim a minimização de funções côncavas e a maximização de funções convexas envolve mais de um ponto ótimo. Se na figura 2-i(c ) a pesquisa do ponto ótimo começar pelo lado esquerdo da região viável o ponto alcançado será o máximo local (não global), por outro lado se a busca for iniciada pelo lado direito será atingido o máximo global. Portanto, para uma região não-convexa temos que comparar todos os pontos extremos entre si para determinar o extremo global. Uma alternativa para resolver este problema é completar a região não-convexa (área amarela da figura 2-j) de forma a torná-la convexa (área amarela mais azul da figura 2-j) e encontrar o extremo, que será o global se estamos minimizando uma função convexa numa região convexa, ou se maximizando uma função convava numa região convexa..

Page 44: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

44

Figura 2-J: Região não-convexa transformada em convexa

2.13. Condições Necessárias e Condições Suficientes para um Extremo de uma Função Irrestrita

A maneira mais fácil de estabelecer as condições necessárias e as condições suficientes para que um ponto x seja mínimo ou máximo é através da expansão em série de Taylor da função f(x) em torno do presumível ponto extremo x*

( ) ( ) ( ) ( ) ( ) ( )xOxxfxxxfxfxf TT Δ+Δ∇Δ+Δ∇+= ∗∗∗3

2 ..21.

Equação 2-FF

onde Δx = x - x* . Assumindo que todos os termos da equação 2-ff existem e os termos de ordem igual ou superior a 3 são desprezíveis, pode-se concluir a respeito dos pontos estacionários por intermédio das derivadas de f(x) . Por definição, um mínimo local no ponto x* é tal que nenhum outro ponto nas vizinhanças de x* gera valores de f(x) menores que f(x*), ou

( ) ( ) 0≥− ∗xfxf

Equação 2-GG

x* é mínimo global se a equação 2-gg é atendida para todo x pertencente à região viável. Analogamente, x* é máximo local se

( ) ( ) 0≤− ∗xfxf

Equação 2-HH

Examinando o segundo termo do lado direito da equação 2-ff: ∇Tf(x)Δx, chega-se à conclusão que ∇Tf(x*) = 0 , pois como Δx assume valores negativos e positivos, para que a condição de mínimo (equação 2-gg) ou de máximo (equação 2-hh) seja sempre satisfeita, por menor que que seja Δx , ∇Tf(x*) deve ser sempre nulo, senão essa condição seria violada, pois, para

Page 45: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

45

valores muito pequenos de Δx ,os termos das derivadas de ordem igual ou superior a 2 são desprezíveis em relação ao elemento das derivadas de 1a. Portanto para x* ser ponto estacionário o gradiente de f(x) deve ser nulo em x* , ∇Tf(x*) = 0 . Essa condição é apenas necessária pois o ponto x* pode ser ponto de sela ou ponto de inflexão.

Se a condição necessária (∇Tf(x*) = 0) é atendida, então ∇2f(x*) deve ser maior que zero para que x* seja ponto mínimo, pois a equação 2-gg deve ser satisfeita mesmo para valores muito pequenos de Δx , e nesse caso os termos de ordem igual ou superior a 3 da equação 2-ff são desprezíveis em relação ao termo da derivada 2a. Raciocínio análogo com a equação 2-hh pode ser feito para interpretar se um ponto estacionário é máximo.

Logo para x* ser ponto de mínimo, ∇Tf(x*) = 0 e ∇2f(x*) > 0 . Essa condição é apenas suficiente pois pode ser que a 2a derivada não exista no ponto x* , apesar deste ser ponto de mínimo. Similarmente raciocina-se para o ponto de máximo.

Se ∇f(x*) = 0 e ∇2f(x*) = 0 então x* é ponto de sela. Resumindo as condições necessárias (CN1 e CN2 abaixo) e as condições suficientes (CS3 e CS4) que garantem que x* é um extremo são as seguintes: CN1. f(x) seja uma vez diferenciável no ponto x* .

CN2. ∇f(x*) = 0 , isto é, x* seja um ponto estacionário. CS1. f(x) seja duas vezes diferenciável no ponto x* .

CS2. ∇2f(x*) = H(x*) seja positiva definida para que um mínimo exista em x* , e seja negativa definida para que um máximo exista em x* .

Na tabela 2-a vê-se um resumo das condições discutidas nesta seção.

Page 46: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

46

Tabela 2-A

∇f(x*) H(x*) = ∇2f(x*) ΔxT.∇2f(x*).Δx Próximo de x* f(x) -f(x)

Pode-se afimar que

≠ 0 não é ponto estacionário

= 0 positiva definida

> 0 > 0 existe mínimo

= 0 positiva semi-definida

> 0 possivelmente > 0

possivelmente existe mínimo

= 0 negativa definida

< 0 < 0 existe máximo

= 0 negativa semi-definida

< 0 possivelmente < 0

possivelmente existe máximo

= 0 indefinida ambos > 0 e > 0,

dependendo de Δx

> 0, < 0 ou nenhum dos

dois

nada se pode afirmar

Observações:

• ∇f(x) que é o gradiente da função f(x).

• H(x) = ∇2f(x) é denominada de matriz Hessiana de f(x), ou simplesmente Hessiano(a) de f(x).

• Alguns autores denominam o determinante de ∇2f(x) de Hessiano de f(x), ou seja, H(x) = det[∇2f(x)] , porém esta não é a nomeclatura adotada neste trabalho.

Page 47: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

47

2.14. Interpretação da Função Objetivo em Termos de uma Aproximação Quadrática

Se uma função de duas variáveis é ou pode ser aproximada por uma função quadrática do tipo

( ) 21122222

211122110 xxbxbxbxbxbbxf +++++=

Equação 2-II

então os autovalores da matriz Hessiana de f(x) podem ser utilizados para interpretar a natureza de f(x) nos pontos estacionários x* . A tabela 2-b lista as conclusões que podem ser alcançadas examinando os autovalores de H(x*), e as ilustram as diferentes superfícies correspondentes a cada tipo de função quadrática.

Tabela 2-B: Interpretação geométrica de uma função quadrática

Caso Relação entre os

autovalores

Sinal α1

Sinal α2

Tipo decontorno

Interpretaçãogeométrica

Ponto estacionário

Problema de otimização Fig.

1 α1 = α2 - - Círculo Monte circular Máximo bem-comportado e raro na prática 2.11

2 α1 = α2 + + Círculo Vale circular Mínimo bem-comportado e raro na prática 2.11

3 α1 > α2 - - Elipse Monte elíptico Máximo bem-comportado e mais freqüente 2.12

4 α1 > α2 + + Elipse Vale elíptico Mínimo bem-comportado e mais freqüente 2.12

5 |α1| = |α2| + - Hipérbole Sela simétrica Ponto de sela degenerado 2.13

6 |α1| = |α2| - + Hipérbole Sela simétrica Ponto de sela degenerado 2.13

7 α1 > α2 + - Hipérbole Sela alongada Ponto de sela degenerado 2.13

8 α2 = 0 - Reta Condilheira estacionária Infinitos degenerado 2.15

9 α2 = 0 + Reta Vale estacionário Infinitos degenerado 2.15

10 α2 = 0 - Parábola Cordilheira crescente No ∞ degenerado 2.16

11 α2 = 0 + Parábola Cordilheira decrescente No ∞ degenerado 2.16

Uma função objetivo é dita bem-comportada quando seus contornos formam uma região convexa. Como mostrado na tabela 2-b os autovalores da matriz Hessiana de f(x) indicam a forma da superfície formada por f(x). Por sua vez os autovetores de H(x) correspondem às direções dos principais eixos dos contornos de f(x). Esta informação pode ser utilizada para definir direções de pesquisa mais eficientes.

Page 48: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

48

Figura 2-K: Geometria de FO de 2a ordem de duas VD’s: contornos

circulares

Page 49: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

49

Figura 2-L: Geometria de FO de 2a ordem de duas VD’s: contornos

elípticos

Page 50: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

50

Figura 2-M: Geometria de FO de 2a ordem de duas VD’s: ponto de sela

Figura 2-N: Geometria de FO de 2a ordem de duas VD’s: vale

Figura 2-O: Geometria de FO de 2a ordem de duas VD’s: cordilheira

decrescente

Page 51: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

51

2.15. Exercícios

E2.1. Utilizando a definição de inversa de uma matriz, expresse o vetor x em função do vetor z.

z1 = x1 + x2 z2 = 2x1 + x2

E2.2. Utilizando a técnica da matriz aumentada (operadores-linha) calcule a inversa de A:

⎥⎦

⎤⎢⎣

⎡=

1241

A

Compare a matriz A-1 com a inversa calculada pelo comando inv(A) do MATLAB.

E2.3. Calcule a solução dos seguintes sistemas de equações lineares: A x = b

(a) ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

01

;2112

bA

(b) ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

56

;1122

bA

(c ) ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

36

;1122

bA

E2.4. Utilizando a equação det[A - αI] = 0 calcule os autovetores e autovalores

da matriz ⎥⎦

⎤⎢⎣

⎡=

1221

A . Compare os resultados com os obtidos pelo

comando [v,d] = eig(A)

E2.5. Determine os pontos estacionários da função f xx x x

( ) =+ + +

12 14 3 2 e

classifique-os. E2.6. Verifique a região na qual f(x) e f'(x) são contínuas:

a) ( )x

xf 1=

b) ( ) ( )xxf ln=

E2.7. Estude a variação da função f(x) = 2x2 - x3 , isto é, estabeleça as regiões de concavidades e/ou convexidades, calcule os pontos estacionários e obtenha o valor de de f(x) nesses pontos. Trace gráficos de f(x).

E2.8. Determine a convexidade/concavidade das funções abaixo:

a) f(x) = 2x12 - 3x1x2 + 2x2

2

b) f(x) = x12 + x1x2 + 2x2 + 4

c) f(x) = 2x1 + 3x2 + 6

d) f(x) = 2x12 + 2x1x2 + 1,5x2

2 + 7x1 + 8x2 + 24

Page 52: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

52

E2.9. Determine a região viável e verifique, através da Hessiana e de gráficos, se a mesma é convexa ou não:

a) -x12 + x2 > 1 ; x1 - x2 > -2 b) -x1

2 + x2 > 1 ; x1 - x2 < -2

c) x1 < 6 ; x2 < 6 ; x1 > 0 ; x2 > 0 ; x1 + x2 < 6

E2.10.Classifique os pontos estacionários e verifique se as condições necessárias e as suficientes são atendidas:

a) f(x) = x4/3

b) f(x) = 4x3

c) f(x) = x13+ x2

2 - 3x1 + 8x2 + 2

d) f(x) = 4 + 4,5x1 - 4x2 + x12 + 2x2

2 - 2x1x2 + x14 - 2 x1

2x2

E2.11.Happel e Jordan (Chemical Process Economics, Marcel Dekker, New York, 1975, p. 178) desenvolveram uma função objetivo (custo) para uma coluna de destilação:

f(n,P,R) = 14720(100 - P) + 6560R - 30,2PR + 6560 - 30,2P + 19,5n(5000R - 23PR +5000 - 23P)0,5 +

23,2(5000R - 23PR + 5000 - 23P)0,62 onde n é o número de estágios teóricos, R é a razão de refluxo e P é o

percentual de recuperação da corrente do fundo. Qual o ponto ótimo? Neste ponto a FO é convexa? Existe alguma região não convexa nas vizinhanças do ponto ótimo?

E2.12.Uma reação homogênea converte 2 compostos orgânicos (A e B) num produto P pelo aquecimento do meio reacional. Os reagentes podem ser injetados no reator, enquanto que vapor passa por uma serpentina para aquecer o meio reacional.

O produto P pode ser vendido a 50$/kg-mol. Para 1 kg-mol de alimentação, o custo da alimentação (em $/kg-mol) é uma função da fração molar de A (xA) e é dado por f(xA) = 2 + 10xA + 20xA

2 . O custo do vapor (em dolares) é uma função de S (kg de vapor/kg-mol de alimentação) e é g(S) = 1 + 0,003S + 2x10-6S2 . O rendimento a P é dado por yP(xA,S) = 0,1 + 0,3xA + 0,001S + 0,0001xAS , onde as unidades de yP são kg-mol de P/kg-mol da alimentação. Pede-se

a) Obtenha a função lucratividade (base de 1 kg-mol de alimentação) em função de xA e S

b) Maximize a FO sujeita às seguintes restrições: 0 < xA < 1 e S > 0

c) Demonstre matematicamente se f é uma função côncava ou convexa? d) A região viável é convexa? Por que?

Page 53: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

53

Ref.: Todos os exercícios foram extraídos ou adaptados de Edgar, T. F. & Himmelblau, D. M. "Optimization of Chemical Processes".

Page 54: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

54

3. Formulação Matemática de um Problema de Otimização

Podemos sub-dividir o problema de otimização em três etapas: E1. Expressão em linguagem matemática do problema.

• Identificação das variáveis de decisão (VD’s) e das auxiliares (VA’s, todas as demais variáveis e constantes)

• Identificação do objetivo (FO)

• Identificação das restrições (FR’s) E2. Resolução das equações e obtenção do(s) ponto(s) ótimo(s). E3. Interpretação dos resultados. Dessas três etapas, sem dúvida nenhuma, a primeira, ou seja, a formulação matemática do problema é a mais difícil e crítica. Difícil pois requer um profundo conhecimento do sistema a ser otimizado e o levantamento de informações nem sempre disponíveis ou quantificáveis de maneira precisa. Crítica porque as demais etapas dependem dela. O desenvolvimento da função objetivo e de suas restrições requer que sejam arbitradas hipóteses simplificadoras, que preservem as principais característivas do sistema e que possibilitem a resolução do problema. Ou seja, deve-se estabelecer um modelo matemático simultaneamente simples e fiel aos fenômenos do sistema. Não existe um procedimento padronizado para desenvolver um modelo matemático de um sistema. Na verdade esta tarefa é uma arte que deve ser aprendida a partir da realização de vários exercícios e exemplos. A resolução do problema de otimização se resume a aplicação de algoritmos numéricos adequados a cada classe de problemas. Esta tarefa não é complicada, embora o desenvolvimento e implementação de novos algoritmos o seja. Porém já estão comercialmente disponíveis ótimos "pacotes computacionais": PCO1. IMSL (International Mathematical and Statistical Library), PCO2. NAG (Numerical Algorithms Group), PCO3. HARWELL, PCO4. NUMERICAL RECIPES in C, FORTRAN, PASCAL,

PCO5. TOOLBOX DE OTIMIZAÇÃO DO MATLAB. Neste curso ficaremos mais interessados em aplicar corretamente os algoritmos implementados no MATLAB. A interpretação dos resultados obtidos é outra etapa que requer muita atenção e conhecimento a respeito do sistema. Por exemplo, quando existe a multiplicidade de pontos extremos a escolha do melhor pode recair sobre um

Page 55: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

55

extremo local diferente do global, mas que apresente características mais apropriadas para o sistema. Como foi dito no Capítulo 1, a expressão matemática de um problema de otimização tem duas partes: P1. a função objetivo (FO), ou seja, o critério de desempenho a ser atingido,

cuja especificação é obrigatória; P2. as restrições ou funções de restrição (FR), que estão quase sempre

presentes. De maneira geral as restrições podem ser escritas sob a forma de equações (algébricas ou diferenciais) e/ou inequações (algébricas ou diferenciais). Genericamente o problema de otimização pode ser formulado da seguinte forma

( )( ) 0 e/ou

0 a sujeito

)(min

≤=

xhxg

xfx

Equação 3-A

Para resolver os problemas linearres ou não-lineares de otimização com ou sem restrições existem inúmeros métodos numéricos. Nos capítulos 4, 5, e 6 descreveremos alguns dos algoritmos mais utilizados nos problemas de engenharia química. Nas seções 3.1, 3.2 e 3.3 estudaremos como definir a FO e suas FR's.

3.1. A Função Objetivo (FO)

Devemos ser capazes de traduzir expressões verbais do tipo maximização do lucro ou minimização dos custos em termos matemáticos. Devemos expressar a FO em termos de unidades monetárias ou em unidades quantificáveis, e omitir expressões filosóficas do tipo "construir um mundo melhor" ou "desenvolver uma sociedade mais humana". Também não trataremos de problemas que envolvem múltiplas funções objetivos.

Na definição da FO podemos considerar apenas objetivos econômicos (maximizar a lucratividade, por exemplo) ou apenas objetivos operacionais (diminuir a diferença entre o valor desejado e o valor medido na operação de um equipamento) ou combinar os dois tipos de objetivos numa única FO. Todos os procedimentos numéricos de otimização requerem que seja definido um critério de parada ou tolerância, pois a solução exata nunca é encontrada, mas apenas uma aproximação da mesma.

Page 56: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

56

3.1.1. Tolerância ou Critério de Parada

Como dissemos anteriormente, o ponto ótimo obtido está numa vizinhança do ótimo verdadeiro. Esta vizinhança pode ser tão pequena quanto a precisão das informações utilizadas, mas sempre será necessário arbitrar tal aproximação, isto é, a tolerância. Um dos seguintes critérios podem ser utilizados para interromper os processos iterativos de procura do ponto ótimo:

Erro absoluto na FO: ( ) ( ) 1

1 ε<−+ kk xfxf

Equação 3-B

Erro relativo na FO: ( ) ( )

( ) 2

1

ε<−+

k

kk

xfxfxf

Equação 3-C

Erro absoluto no ponto ótimo: nixx k

iki ≤∀<−+

31 ε

Equação 3-D ou

( ) 41

211 ε<−=− ∑=

++n

i

ki

ki

ki

ki xxxx

Equação 3-E

Erro relativo no ponto ótimo:

nix

xxki

ki

ki ≤∀<

−+

5

1

ε

Equação 3-F

Erro absoluto na direção de busca:

( ) ( ) nixxfxf

n

i x

k

k

≤∀<⎥⎥⎦

⎢⎢⎣

⎡=∇ ∑

=6

2

∂∂

Equação 3-G

Na verdade devemos utilizar no mínimo 2 critérios para caracterizar que as tolerâncias especificadas foram alcançadas.

Page 57: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

57

3.1.2. Objetivos Econômicos

A FO pode ser escrita em relação ao lucro e/ou custo, ou simplesmente em termos da lucratividade de um dado projeto. O termo lucratividade é utilizado para mensurar a quantidade de lucro gerado, tal medida pode ser expressa de diferentes maneiras. Qual a forma mais adequada depende do ambiente onde esta inserido o problema. Para desenvolver uma FO que leve em conta a lucratividade de um dado empreendimento é necessário compreender conceitos tais como depreciação, fluxo de caixa, custos de capital, custos operacionais, valor presente e valor futuro, inflação, vida econômica, investimento inicial, capital de giro, taxa de retorno de investimento, valor presente líquido, tempo de retorno, etc. Infelizmente não temos tempo para discutir com profundidade tais temas e por isso não os trataremos, com excessão para os custos de capital e operacional que abordaremos a seguir. Podemos estabeler os seguintes objetivos econômicos: OE1. A minimização dos custos ou maximização dos lucros operacionais. OE2. A minimização dos custos de investimento (ou de capital). OE3. A minimização de uma função que inclua os custos de capital e

operacional. A primeira categoria de funções objetivo (OE1) envolvem apenas custos variáveis e a receita com as vendas e é encontrada em situações onde o custo de capital é uma quantia fixa (os equipamentos já estão comprados e funcionando). A segunda categoria (OE2) aparece em situações onde não existem custos variáveis, por exemplo, em muitos problemas de projeto mecânico de equipamentos. A terceira categoria (OE3) inclue simultaneamente custo de capital e custo operacional. Por exemplo na decisão de implantar uma nova fábrica ou ampliar uma já existente. Este tipo de problema é mais complexo e difícil de equacionar. O Exemplo 3.1 apresenta um problema de otimização cuja FO é função apenas dos custos operacionais.

Exemplo 3.1: FO função apenas dos custos e receitas operacionais. Tempo ótimo de campanha de um reator catalítico. Considere um ciclo de operação de um reator catalítico que sofre regeneração periódica de seu leito. Seja x1 o número de dias nos quais o catalisador é utilizado no reator e x2 o número de dias necessários para a regeneração. Portanto cada ciclo dura x1 + x2 dias. As seguintes hipóteses podem ser consideradas: H.1. A operação do reator apenas pode ser inicializada no turno da manhã,

portanto x1 + x2 deve ser um número inteiro.

Page 58: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

58

H.2. Vazão constante de alimentação do reator q [=] kg/dia H.3. Custo constante da matéria-prima C1 [=] $/kg H.4. Valor constante do produto C2 [=] $/kg H.5. Custo constante de regeneração C3 [=] $/ciclo de regeneração H.6. Atividade catalítica (A) obedece a equação A = 1 - K.x1 onde A é a fração massica convertida de matéria-prima , 1 é a atividade

no início da operação do reator, K é um fator constante. q.A é a quantidade de matéria-prima convertida em produto em um dia.

H.7. Custo da separação entre reagente e produto é desprezível. H.8. Custo de recirculação de reagente é negligenciável. Desenvolva uma função objetivo em relação ao custo e receita operacional e encontre o ponto ótimo. Para x2 = 2 , K = 0,02 , q = 1000 , C1 = 0,4 , C2 = 1 , C3 = 1000 qual o valor de x1

opt . Solução: Identificação da VD: Exceto x1 , todas as demais variáveis são fixas,

portanto esta é a variável de decisão. Identificação do objetivo: Para um ciclo completo de operação e

regeneração (x1 + x2), a FO definida como a maximização do lucro diário (receita - despesa) pode ser escrita como:

maximizar o Lucro/dia Onde: Lucro/dia=(receita diária)-(custo diário matéria-prima)-(custo diário

regeneração) Lucro/dia = f(q,x1,x2,C1,C2,C3,A) receita diária = (preço de venda do produto) x (produção diária) (produção diária) = (produção total)/(número total de dias)

(produção diária) = (q.Amed.x1)/(x1 + x2)

( )

212

1 2

1

2

1

1

011

01

01

1

1

1

1

1

xK

x

xKx

x

dxKx

dx

AdxA

x

x

x

med −=−

=−

==∫

custo diário matéria-prima=(preço matéria-prima)x(consumo diário matéria-prima)

consumo diário matéria-prima = (consumo total) / (número total de dias)

consumo diário matéria-prima = q.x1/(x1 + x2)

custo diário regeneração=(custo de regeneração por ciclo)/(número total dias)

Portanto a FO é:

Page 59: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

59

( )21

31112

21

3

21

11

21

1232121 ,,,,,,

xxCqxCxqAC

xxC

xxqxC

xxxqAC

ACCCxxqf medmed

+−−

=+

−+

−+

=

Identificação das restrições: Não existem restrições. Para encontrar o ponto ótimo temos que derivar a FO em relação a x1

e igualar a zero, e resolvendo para x1 encontramos

22

3

2

212

2211

2 xqCC

CxC

xK

xxxopt −⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛+−⎟

⎠⎞

⎜⎝⎛+== ∗

Para x2 = 2 , K = 0,02 , q = 1000 , C1 = 0,4 , C2 = 1 , C3 = 1000 , então x1

opt = 12,97 . Obviamente x1 é uma variável inteira, logo x1opt

deve ser aproximada para 13 , este procedimenteo é satisfatório se x1

opt assume valores elevados (12, 13, 14, 15, etc.), mas é inapropriado se x1

opt está em torno de 1, 2 ou 3, neste caso devemos redefinir x1 para unidades tais como horas ou turno.

O Exemplo 3.2 trata do caso em que apenas o custo de capital é importante.

Exemplo 3.2: FO função apenas dos custos de capital. Projeto de um vaso de pressão. Suponha que nós queremos encontrar a configuração ótima que minimiza os custos de investimento num vaso cilíndrico de pressão. O volume (V) desse vaso é conhecido e fixo. Desenvolva uma FO conveniente para este problema. Encontre a relação ótima entre altura (L) e diâmetro (D), (L/D)opt, e compare o resultado obtido com o critério empírico de projeto (L/D)opt = 3 . Solução: Identificação da(s) VD’s: obviamente são a altura L e o diâmetro D . Identificação do objetivo: Para um ciclo completo de operação e

regeneração A FO pode ser definida como: minimizar o custo de fabricação do vaso de pressão

Para matematizar a expressão da FO temos que inicialmente estabelecer algumas hipóteses simplificadores da geometria do vaso H1. Topo e fundo planos. H2. Paredes (lateral, topo e fundo) tem espessura (t) e massa

específica (ρ) constantes, e a espessura não depende da pressão.

H3. O custo de fabricação da lateral, do fundo e do topo é o mesmo, em S ($/unidade de peso).

H4. Não existe perda de material durante a fabricação do vaso, pois existem chapas de metal de todas as dimensões

Admitindo as hipótese H1-4 o custo do vaso fica apenas em função da quantidade de material empregada na fabricação do mesmo:

Page 60: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

60

custo = S x (peso do material empregado na fabricação do vaso) e a expressão matemática da FO é:

( ) $ em custo de unidade em 4

2,,,,onde

min

2

1

1,,,,

tDLDSLDtSf

fLDtS

⎟⎟⎠

⎞⎜⎜⎝

⎛+= ππρρ

ρ

Como S, ρ e t são constantes então a FO também pode ser

( ) peso de unidades em 2

,,,onde

min

2

2

2,,

tDLDLDtf

fLDt

⎟⎟⎠

⎞⎜⎜⎝

⎛+= ππρρ

ou

( ) area de unidades em 2

,onde

min

2

3

3,

⎟⎟⎠

⎞⎜⎜⎝

⎛+= DLDLDf

fLD

ππ

Note que as três FO's diferem apenas de fatores multiplicativos constantes, portanto a inclusão ou não desses fatores apenas afetará o valor da FO, mas não alterará o valor das variáveis de projeto. Logo, por simplicidade, utilizaremos a FO em unidades de área. Como o volume do vaso cilíndrico é constante existe uma relação entre altura e diâmetro do mesmo:

VDLLDV 2

2 44 π

π=⇔=

Assim existe apenas uma variável de decisão e podemos reescrever a FO da seguinte forma

( ) area de unidades em 42

onde

min2

4

4

⎟⎟⎠

⎞⎜⎜⎝

⎛+=

DVDDf

fD

π

Identificação da(s) restrições: não existem restrições. Para encontrar o ponto ótimo temos que diferenciar f4 em relação a variável de projeto igualar a zero, resultando em

Page 61: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

61

1DL

sejaou

4

ementeconsequent e,

4

3/1

3/1

=⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛=

⎟⎠⎞

⎜⎝⎛=

opt

opt

opt

VL

VD

π

π

Logo a razão (L/D)opt obtida é significativamente diferente da esperada (L/D = 3). Esta diferença pode ser devida a escolha de hipóteses inapropriadas. Brummerstedt (1944)# e Happel e Jordan (1975)@ desenvolveram hipóteses mais realistas para o problema do dimensionamento de vasos de pressão: H1. Topo e fundo tem o formato de elipses 2:1, com uma área dada

por 2(1,16D2) = 2,32D2 H2. Custo de fabricação das extremidades é maior que para a

lateral; Happel sugere um fator de 1,5. H3. O custo de fabricação por unidade de peso S ($/unidade de

peso) e massa específica (ρ) são constantes. H4. A espessura t é função do diâmetro do vaso, do esforço a que

o aço será submetido, da pressão e da corrosão admissíveis. Por exemplo, para uma pressão de projeto de 250 psi (17 atm) e uma corrosão prevista de 1/8 in, a espessura t (em polegadas) em função do diâmetro D (em pés):

t = 0,0108D + 0,125 Identificação da(s) variáveis de decisão: considerando as discussões anteriores a única VD é o diâmetro D do vaso.

# Brummerstedt, E. F., Natl. Pet. News, 36, R282, R362, R497 (1944). @ Happel, J. e D. G. Jordan, Chemical Process Economics, 2a. edição, Marcel Dekker, New York (1975).

Page 62: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

62

Identificação do objetivo: é o mesmo anterior, ou seja, minimizar o custo de fabricação do vaso de pressão As novas hipóteses forçam a FO a ser expressa em dólares, pois a área ou o peso não são mais diretamente proporcionais ao custo, assim a nova FO é

( ) ( )[ ] $ em custo de unidade 32,25,1,,,,onde

min

25

5,,,,

tDLDSLDtSf

fLDtS

πρρρ

+=

Substituindo t(D) em f5 e lembrando que S e ρ são constantes e que

⎟⎠⎞

⎜⎝⎛ +=

34

2 DLDV π

obtemos

( ) $ em custo de unidade 0263,03041,05,00432,0

min

326

6

DDDVVDfonde

fD

+++=

Identificação da(s) restrições: não existem restrições. Ao solucionar este problema para diferentes níveis de pressão Happel apresentou a seguintes soluções:

Ponto ótimo: (L/D)opt

Pressão de projeto (psi)

Capacidade (ft3) 100 250 400

2500 1,7 2,4 2,925000 2,2 2,9 4,3

Observe que o ponto ótimo se aproxima da razão 1 à medida que a pressão e a capacidade do tanque diminuem e que o valor empírico (L/D = 3) pode estar errado em ±50 % em relação ao (L/D)opt. Ainda é necessária uma interpretação cautelosa desses resultados pois não foram consideradas as perdas de material durante a fabricação.

Consideremos agora um exemplo que leva em conta os custos de capital e operacionais.

Page 63: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

63

Exemplo 3.3: FO função dos custos de capital e operacionais. Especificação da espessura ótima de um isolamento. Suponha que nós queremos encontrar a espessura do isolamento para uma tubulação. Neste caso é necessário considerar os custos de investimento e a da energia economizada devido ao incremento do isolamento. Neste exemplo iremos determinar a espessura ótima de isolamento para uma tubulação larga que contém um líquido aquecido. Rubin (1982)& apresentou tabelas que mostram a espessura econômica de isolamento como uma função da dimensão da tubulação, custo de combustível e temperatura do tubo, baseado num ambiente com ventos a 7.5 milhas por hora (12 km/h) a 60oF (15,5 oC). Hipóteses: H1. A taxa de perda de calor por um cilindro largo e isolado, no qual a

espessura de isolamento é muito menor que o diâmetro do cilindro e que o coeficiente de transferência de calor do lado de dentro do tubo é grande, pode ser aproximado por:

chkx

TAQ1

+

Δ= (a)

onde:

ΔT - diferença média de temperatura entre o fluido e o ambiente [=] oF A - área da superfície do tubo [=] ft2 x - espessura do isolamento [=] ft hc - coeficiente externo de transferência de calor [=] Btu/(h.ft2.oF) k - condutividade térmica do isolante [=]Btu/(h.ft.oF) Q - perda de calor [=] Btu/h Todos os parâmetros na Equação (a) tem valor fixo, exceto x a variável

a ser otimizada (variável de decisão). H2. O custo de instalação do isolamento por unidade de área pode ser

expresso por F0 + F1.x , onde Fo e F1 são constantes (Fo = custo fixo de instalação e F1 = custo variável por espessura do isolamento em ft).

H3. O isolamento tem um tempo de vida de 5 anos e deve ser trocado ao final deste período.

H4. A verba para compra e instalação do isolamento é obtida por empréstimo e será paga em 5 prestações anuais.

Defina: r como a fração do custo de instalação que será pago a cada ano ao

banco. O valor de r depende da taxa de juros do empréstimo (r > P/5). Alternativamente, pode-se utilizar verbas próprias, e neste caso um taxa mínima de retorno deve ser especificada.

& Rubin, F. L., "Can you Justify more Piping Insulation," Hydrocarbon Process, p. 152 (July, 1982).

Page 64: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

64

Ht ($/106Btu) o custo de reposição do calor perdido Y o número de horas de operação por ano.

Formule uma função objetivo para maximizar a lucratividade da instalação do isolamento. Obtenha uma solução analítica para xopt. Solução: Identificação dos variáveis de decisão: espessura do isolamento.

Identificação do objetivo: FO pode ser definida como maximizar a economia de energia menos o custo anual do isolamento. Temos que inicialmente estabelecer uma unidade comum a todos, por exemplo, $/ano. Assim o pagamento por ano (P) que deve ser feito ao banco é

( )AxFFrP 10 += (b)

A energia economizada devido ao isolamento pode ser calculada a partir da diferença entre o calor perdido com (Q) e sem isolamento [Q(x = 0) ou Q0]:

c

c

hkx

TATAhQQ10

+

Δ−Δ=− (c)

Assim a expressão matemática da FO (em dólares por ano) é

( )( ) ( ) ( ) rAxFFHYQQxrFFkTAhf

xrFFkTAhf

tc

cx

....,,,,,,,onde

,,,,,,,min

00010

10

+−−=Δ

Δ (d)

Identificação da(s) restrições: não existem restrições. Substituindo (c ) em (d), diferenciando f em relação a x e igualando a zero, obtemos:

⎥⎥⎦

⎢⎢⎣

⎡−⎟⎟

⎞⎜⎜⎝

⎛ Δ=

c

topt

hrFkTYH

kx 1...10

..

16 (e)

3.1.3. Objetivos Operacionais

Podemos ainda escrever funções objetivos que minimizem o tempo de processamento, ou maximizem a produção, ou minimizem a diferença entre o valor desejado e o valor medido das variáveis de processo. Em todos esses casos não consideramos o custo, ou lucro, ou qualquer outro valor econômico, mas apenas critérios técnicos. No Exemplo 3.4. temos um problema de reconciliação de dados, que nada mais é que um problema de otimização cuja FO leva em conta apenas objetivos operacionais.

Page 65: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

65

Exemplo 3.4: FO função apenas de um objetivo operacional/técnico. Reconciliação de dados de Processos. Suponha que as vazões de alimentação e descarga de um processo são medidas periodicamente. Determine o melhor valor da vazão mássica da corrente A (MA) em kg/h para o processo mostrado na figura 3-p. As correntes B e C foram medidas em intervalos de 1 hora.

Figura 3-P: Diagrama de blocos do processo do Exemplo 3.4.

Solução: Identificação da(s) variáveis de decisão: obviamente MA Identificação do objetivo: A FO pode ser definida como:

minimizar a soma dos quadrados dos desvios entre MA medido e esperado

Para matematizar a expressão da FO temos que inicialmente estabelecer algumas hipóteses simplificadores do sistema: H.1. O processo está em estado estacionário. H.2. As medições das correntes B (MB) e C (MC) estão corretas. Modelo do processo (balanço de massa): o que entra = o que sai

MA + MC = MB (a) então a FO pode ser escrita como:

( )

( ) ( )[ ]∑=

−−=exp.

1

2

min

no

iCB

recAA

AM

ii

A

MMMMfonde

Mf

(b)

para os dados deste problema: f(MA) = [MA - (92,4 - 11,1)]2 + [MA - (94,3 - 10,8)]2 + [MA - (93,8 -

11,4)]2 (c) Identificação da(s) restrições: não existem restrições.

MB1 = 92,4 kg/hMB2 = 94,3 kg/hMB3 = 93,8 kg/h

A B

C

MC1= 11,1 kg/hMC2= 10,8 kg/hMC3= 11,4 kg/h

Planta

Page 66: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

66

Diferenciando (c) em relação a MA e igualando a zero, obtemos MA

opt = 82,4. Neste caso MA

opt = Mbmed - MC

med O valor mínimo que f(MA) pode alcançar é zero. Outros métodos de reconciliação de balanços de massa e energia são discutidos por Tamhane e Mah (1985)@.

No Exemplo 3.5. temos outro caso de FO com critério apenas técnico/operacional.

Exemplo 3.5: FO função apenas de um objetivo operacional. Tempo de residência ótimo de um reator a batelada. O esquema reacional abaixo acontece num reator a batelada bem agitado. Para as concentrações iniciais e constantes das taxas

CAo = 50 g-mol/L k1 = 2,0 h-1 CBo = 5 g-mol/L k1 = 1,0 h-1 CCo = 0 g-mol/L k1 = 0,2 h-1 CDo = 0 g-mol/L k1 = 0,6 h-1

calcule o tempo de residência ótimo para obter um máximo rendimento a CB. Solução: Identificação das variáveis de decisão: a priori k1, k2, k3, k4, CA, CB,

CC, CD e tempo de residência Identificação do objetivo: A FO pode ser definida como

maximizar a concentração do produto desejado B ou

( )max C k k k k C C C C tB A B C D1 2 3 4, , , , , , , , (a)

Para matematizar a expressão da FO temos que inicialmente estabelecer algumas hipóteses simplificadores do sistema: H1. O sistema não troca massa com o meio. H2. Reator opera isotermicamente. H3. Equações das taxas de 1a ordem.

@ Tamhane, A. C., e R. S. H. Mah, "Data Reconciliation and Gross Error Detection in a

Chemical Process Network", Technometrics, 27: 409 (1985).

B A C

D

k1

k2

k3

k4

Page 67: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

67

H4. Reação em fase líquida, portanto podemos admitir volume constante.

Modelo do processo balanço de massa por componente: acúmulo = formado - consumido

ABA CkCk

dtdC

12 −= (b)

BAB CkkkCk

dtdC )( 4321 ++−= (c)

BC Ck

dtdC

3= (d)

BD Ck

dtdC

4= (e)

balanço de massa global: massa inicial = massa final ou, lembrando que os coeficientes estequiométricos das reações são todos iguais, em termos do número de moles, o balanço global pode ser escrito como:

no moles inicial = no moles final Lembrando ainda que o volume reacional é constante, o balanço global pode ser escrito em termos da concentração dos reagentes e produtos como:

concentração inicial reag. + prod. = concentração final reag. + prod. ou

CAo + CBo + CCo + CDo = CA + CB + CC + CD (f) Queremos apenas encontrar o tempo de residência que maximiza CB, portanto tentaremos escrever a CB como uma função apenas do tempo. Resolvendo a equação (c ) para CA

( ) ⎥⎦

⎤⎢⎣

⎡ +++= BB

A Ckkkdt

dCk

C 4321

1 (g)

Diferenciando (g) em relação ao tempo

( ) ⎥⎦

⎤⎢⎣

⎡+++=

dtdC

kkkdt

Cdkdt

dC BBA4322

2

1

1 (h)

Substituindo (g) e (h) em (b) obtemos uma equação de segunda ordem linear homogênea em CB:

( ) ( )[ ] 021432143212

2

=−+++++++ BBB Ckkkkkk

dtdC

kkkkdt

Cd (i)

cuja solução, para este caso em que as raizes da equação característica são reais e distintas, é dada por

Page 68: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

68

( ) ee ttB tC 21

21ββ αα += (j)

onde β1 e β2 são as raízes da equação m2 + (k1 + k2 + k3 + k4).m+[k1(k2 + k3 + k4) - k1.k2] = 0 (k)

As constantes α1 e α2 são obtidas aplicando as condições iniciais às equações (j) e (g). Substituindo os valores numéricos nas respectivas variáveis, encontramos

α1 = 37,940

α2 = -32,940

β1 = - 0,482

β2 = - 3,318 Identificação da(s) restrições: não existem restrições. Finalmente diferenciando (j) em relação a t e igualando a zero obtemos o ponto t* que maximiza CB:

t* = 0,63 h ; CB* = 23,04 g-mol/L

Um outro tipo de FO que depende apenas de objetivos operacionais aparece em problemas de controle ótimo e de controle preditivo♣ com otimização on-line. Em um sistema de controle é impossível eliminar por completo as diferenças entre os valores desejados ou setpoints (SP’s) e os valores medidos das variáveis controladas ou variáveis de processo (PV’s), portanto os sistemas de controle procuram minimizar essas diferenças, ou seja

( ) ( )tPVtSP −min

Equação 3-H A barra embaixo das variáveis indica que a variável é um vetor, quando o sublinhado for duplo indica matriz, pois no caso geral e mais freqüente o sistema de controle é MIMO (multiple-input-multiple-output). Contudo a manipulação matemática da função módulo é muito complexa, por isso é preferível escrever a função objetivo através de uma função quadrática. Assim a equação 3-h é transformada em:

( ) ( )[ ]{ }2min tPVtSP −

Equação 3-I ou

♣ Maiores informações sobre controle preditivo pode ser encontrado em DMC: Controle por Matriz Dinâmica. Apóstila de Curso Ministrado na Copene de autoria de Ricardo de Araújo Kalid e Darci Odloak, setembro de 1994.

Page 69: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

69

( )[ ]{ } ( )[ ] ( )[ ]{ }tEtEtE Tminmin 2 ⇔

Equação 3-J ondeE SP PV= − → vetor dos desvios (erro) entre o valor desejado e os valores previstos

Porém atender a equação 3-j pode significar aplicar uma energia muito grande ao processo, ou seja as MV’s assumiriam valores muito grandes (ou pequenos) que violariam as restrições de qualquer sistema físico. Para amenizar este problema acrescentamos à função objetivo um termo que limite a variação das MV’s:

( )[ ] ( )[ ] ( )[ ] ( )[ ]{ }tMVWtMVtEWtE ΔΔ+ 2T

1Tmin

Equação 3-K onde W1 matriz diagonal que define a importância relativa das PV’s entre

si W2 matriz diagonal que limita a variação das MV’s

3.1.4. Combinação de Objetivos Operacionais com Objetivos Econômicos

Podemos ainda acrescentar à função objetivo descrita pela equação 3-k critérios econômicos, como por exemplo minimização dos custos operacionais (minimizar consumo de utilidades ou de energia), desta forma o objetivo do sistema de controle seria determinado por

( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )( )[ ]{ }22

T1

Tmin tMVtMVWtMVtEWtE θ+ΔΔ+

Equação 3-L onde θ(MV) função que pondera a importância dos objetivos econômicos

em comparação com os objetivos de controle (operacionais). A formulação do problema de controle preditivo♣ ótimo se dá na medida em que a função objetivo, equação 3-l, é avaliada não apenas para o instante de tempo atual, mas para um certo horizonte no futuro (horizonte de otimização).

3.2. As Funções de Restrição (FR)

A grande maioria dos problemas de otimização de interesse prático tem que atender a um conjunto de restrições de natureza R1. operacional, por exemplo as MV's devem permanecer dentro de limites

máximos e mínimos e/ou a variação das MV's (ΔMV) menor que uma variação máxima, etc;

♣ Maiores informações sobre controle preditivo podem ser encontradas em DMC: Controle

por Matriz Dinâmica. Apóstila de Curso Ministrado na Copene de autoria de Ricardo de Araújo Kalid e Darci Odloak, janeiro de 1995.

Page 70: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

70

R2. física, por exemplo limites máximo para temperaturas a depender dos materiais presentes no processo, máxima capacidade produtiva da unidade, fechamento dos balanços de massa e energia, fração molar deve estar entre 0 e 1, temperatura e pressão absoluta maior que 0, etc;

R3. mercadológica, por exemplo deve atender a uma demanda mínima e/ou consumir uma quantidade máxima de matéria-prima e/ou de energia, etc.

Portanto para que o problema de otimização tenha uma solução correta tais restrições devem ser explicita e matematicamente escritas. A formulação do problema de otimização só estará completa se estabelecemos a FO e as suas FR's. No Exemplo 3.1. a hipótese H1. na verdade é uma restrição operacional. Não a levamos em conta no momento da solução do problema matemático, mas para validar a resposta tivemos que arredondar a mesma. Não raro este procedimento é observado na prática, porém devemos ter sempre em mente que encontraremos apenas uma solução sub-ótima. No Exemplo 3.2. a consideração de volume fixo é uma restrição física (capacidade necessária para o equipamento). Neste caso foi possível incorporar diretamente a restrição na FO, o que simplifica a resolução do problema. Também nos problemas de controle ótimo devemos incorporar restrições quanto a variação das MV's e aos valores extremos que as mesmas podem atingir. Assim a equação 3-l deve ser reescrita da maneira que se segue

( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )( )[ ]{ }( ) ( ) ( )( ) ( ) ( )maxmin

maxmin

22

T1

T

a sujeito

min

tMVtMVtMVtMVtMVtMV

tMVtMVWtMVtEWtE

Δ≤Δ≤Δ≤≤

+ΔΔ+ θ

Equação 3-M

3.3. Otimização On-Line

Neste ponto vale a pena comentar um pouco sobre a otimização on-line de processos químicos. Como o próprio nome já diz, é um problema de otimização, como os vistos anteriormente, cujas variáveis são atualizadas automativamente com as atuais condições operacionais do processo e resolvido, isto é, o valor das variáveis de decisão é encontrado, com uma freqüência relativamente elevada, por exemplo 20 vezes por hora. Porém só podemos pensar na implementação da otimização on-line do processo, ou seja, na implantação de uma metodologia que periodicamente defina qual os set-points para que uma determinada unidade ou planta opere nas condições economicamente ótimas, uma vez estabilizada a operação da

Page 71: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

71

unidade, por exemplo através da implementação de um algoritmo tipo MPC♦ (multivariable predictive control ou controle preditivo multivariável, tais como DMC, DMCL, LDMC, QDMC, GPC). Essa otimização em linha pode ser implementada de duas formas: a) Um MPC seguindo setpoints enviados por um otimizador hierarquicamente

superior, figura 3-q, neste caso é necessário um sistema supervisor que calcule e envie para o MPC os SP’s.

O T IM IZA D O R

P LA N T A

M V’sP V’S

M P C

SP ’s das P V’sM V’s e P V’s

Figura 3-Q: MPC Supervisionado por Otimizador On-Line

b) MPC com otimização intrínseca, figura 3-r, neste caso a condição operacional ótima é obtida simultaneamente com o atendimento das restrições operacionais. Esta configuração é mais moderna e aparenta ser mais eficiente que a anterior, mas ainda se encontra em fase de desenvolvimento nos meios acadêmicos.

MPC COM OTIMIZAÇÃO

PLANTA

MV’sPV’S

Figura 3-R: MPC com Otimização Intrínseca

♦ Maiores informações sobre controle preditivo podem ser encontradas em DMC: Controle

por Matriz Dinâmica. Apóstila de Curso Ministrado na Copene de autoria de Ricardo de Araújo Kalid e Darci Odloak, setembro de 1994.

Page 72: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

72

3.4. Exercícios

E3.1. Uma central de insumos básicos produz, armazena e distribui várias matérias-primas para outras empresas, conforme a figura 3-s.

Processo3

Processo1

x1,1

x3,1

x2,1

x4,1

x1,2

x3,2

x2,2

x4,2

x1,3

x3,3

x2,3

x1,4

x3,4

x2,4

T1

T4

T3

T2

T6

T5

T7

x1

x4,4

_

_

_

x5,2 Figura 3-S: Diagrama de blocos do parque de tancagem

onde Ti (i = 1, ... , 7) são tanques de armazenamento. Para a distribuição dos produtos são feitos contratos por períodos pré-determinados, com demandas mínimas a serem necessariamente atendidas pela empresa. Desenvolva uma Função Objetivo com suas restrições que minimizem o custo de armazenamento. Escreva a FO em função dos custos Ci e da massa armazenada em cada tanque mi . onde: Ci = custo do produto armazenado; mi = massa do produto armazenado.

Dados referentes ao processo: Restrições de processamento : 10 ton/h < x1 < 50 ton/h 6 ton/h < x3 < 30 ton/h. Capacidade de armazenamento dos tanques: 100 ton < mi < 500 ton, i = 1, ..., 7 Inicialmente todos os tanques estão com 120 ton. O balanço de massa tem que ser atendido:

11,41,41,4

33,33,33,311,31,31,3

33,23,23,211,21,21,2

31,33,13,111,11,11,1

xbaxxbaxxbax

xbaxxbaxxbaxxbax

+=

+=+=

+=+=

+=+=

As demandas dos seguintes produtos são conhecidas:

Page 73: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

73

htxhtxhtxhtxhtxhtxhtx

/5/4/5.3/7/4/3/6

4,4

4,32,3

4,22,2

4,12,1

=

==

==

==

Custos de estocagem em dólares/ton. C1 = 500 C5 = 1000 C2 = 600 C6 = 700 C3 = 900 C7 = 1500 C4 = 200 As constantes das relações lineares são conhecidas: b1,1 = 0.2 b2,1 = 0.1 ai,1 = 0 i = 1, ... , 4 b3,1 = 0.1 b4,1 = 0.6 b1,3 = 0.2 b2,3 = 0.5 ai,3 = 0 i = 1,2 3. b3,3 = 0.3 Ref: Curso de Otimização ministrado pelo LSCP/DEQ/EPUSP à PETROBRAS. E3.2. Uma planta química faz três produtos (E, F, G) e utiliza três matérias-

primas (A, B, C) cujo suprimento é limitado. Cada um dos três produtos é obtido em processo separado (1, 2, 3) de acordo com o esquema mostrado na figura 3-t.

E

F

G

MonômeroA

MonômeroB

InibidorC

1

2

3

Figura 3-T: Diagrama de blocos de uma planta multiprodutora

As matérias-primas A, B e C não têm de ser totalmente consumidas.

Page 74: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

74

Dados do processo: Matéria Prima

Máximo disponível,

lb / dia

Custo $ / 100 lb

A 4000 1.50B 3000 2.00C 2500 2.50

Process

o

Produto

Reagentes necessários (lb) por

lb produto

Custo Operacional

Preço de venda do produto

1 E 2/3 A, 1/3 B $1.50/100 lb A (consumido em 1)

$4.00/100 lb E

2 F 2/3 A, 1/3 B $0.50/100 lb A (consumido em 2)

$3.30/100 lb F

3 G 1/2 A, 1/6 B, 1/3 C $1.00/100 lb G (produzido em 3)

$3.80/100 lb G

Desenvolva a função objetivo e as restrições deste problema de otimização. Assumindo que há uma demanda mínima de produtos a ser atendida, conforme a tabela abaixo, como ficaria a FO? e as FR's?

Produto

Demanda Mínima, lb / dia

E 2500F 1500G 1800

Ref: Edgar, T. F. & Himmelblau, D. M. "Optimization of Chemical Processes"

E3.3. Programação de produção de uma refinaria. A figura 3-u mostra as alternativas de carga e os produtos possíveis de serem obtidos numa refinaria de petróleo (custo e preço de venda estão entre parenteses). A tabela 3-a lista o rendimento da unidade a depender do tipo de carga processada. Note que os rendimentos para os vários produtos são bastante diferentes para os dois tipos de petróleo. A tabela 3-a também lista todas as limitações impostas pelo mercado em termos de produção máxima diária admissível para cada produto e o custo de processamento de cada tipo de carga.

Petróleo

Petróleo

Refinaria

Preço de venda Gasolina ($36/bbl) Querosene ($24/bbl) Óleo combustível ($21/bbl) Resíduo ($10/bbl)

Custo ($ 24/bbl)

($15/bbl)

Page 75: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

75

Figura 3-U: Diagrama de blocos de uma refinaria

Tabela 3-A: Dados de rendimento da refinaria e do mercado

Porcentagem de rendimento volumétrico

Produção máxima

Petróleo tipo 1 Petróleo tipo 2 (bbl/dia) Gasolina 80,0 44,0 24000 Querosene 5,0 10,0 2000 Óleo combustível 10,0 36,0 6000 Resíduo 5,0 10,0 Custo de processamento ($/bbl)

0,5 1,0

Pede-se: a) Desenvolva uma função objetivo linear. b) Estabeleça as restrições. c) Desenhe num gráfico as curvas das restrições. d) Identifique no gráfico a região viável. e) Calcule nas interseções entre as curvas das restrições o valor

alcançado pela FO e verifique qual o ponto ótimo. Ref: Edgar, T. F. & Himmelblau, D. M. "Optimization of Chemical Processes".

E3.4. Programação de uma unidade de craqueamento térmico. A figura 3-v mostra os vários componentes da alimentação e a corresponde conversão aos vários produtos devido ao craqueamento térmico. As possíveis cargas incluem etano, propano, gasolina natural debutanizada (DNG) e gasóleo, algumas das quais podem ser alimentadas simultaneamente. Oito produtos podem ser produzidos em várias proporções de acordo com a matriz mostrada na tabela 3-b.

Page 76: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

76

Figura 3-V: Diagrama de blocos do craquemento térmico

Tabela 3-B: Rendimento aos produtos (fração mássica)

Alimentação

Produto Etano Propano Gasóleo DNG

Metano 0,07 0,25 0,10 0,15 Etano 0,40 0,06 0,04 0,05 Etileno 0,50 0,35 0,20 0,25 Propano --- 0,10 0,01 0,01 Propileno 0,01 0,15 0,15 0,18 Butadieno 0,01 0,02 0,04 0,05

Gasolina 0,01 0,07 0,25 0,30 Óleo combustível

--- --- 0,21 0,01

A capacidade de processamento do craqueador é de 90,7 ton/h (vazão total baseada numa mistura média). Etano usa o equivalente a 1,1 ton da capacidade por ton de etano; propano usa o equivalente a 0,9 ton da capacidade por ton de propano; gasóleo usa o equivalente a 1,1 ton da capacidade por ton de gasóleo; e DNG utiliza uma razão de 1,0.

As unidades a jusante tem uma capacidade máxima de processamento limitada a 22,7 ton/h de etileno e 9,1 ton/h de propileno. O combustível necessário ao processamento de cada tipo de substância presente na carga é apresentado na tabela 3-c.

Tabela 3-C: Consumo de combustível por tipo de carga

Componente da carga Combustível requerido para processamento

Etano 4,65x103 kcal/kgPropano 2,79 x103 kcal/kgGasóleo 2,17 x103 kcal/kgDNG 2,53 x103 kcal/kg

Craqueamento térmico

Óleo combustível

Metano

Óleo combustível

DNG Gasóle Propano

Etano

Etano

Propan

Etileno Propileno

Butadieno Gasolina

Page 77: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

77

O metano e óleo combustível produzido pela unidade são reciclados como combustível. Todo o etano e propano não convertidos são reciclados para a alimentação. A energia fornecida por cada tipo de combustível é mostrada na tabela 3-d.

Tabela 3-D: Calor fornecido pelos combustíveis

Tipo de combustível

Energia liberada na combustão

Gás natural 11,96 x103 kcal/kgMetano 11,96 x103 kcal/kgÓleo combustível 10,00x103 kcal/kg

Devido a perda de calor a energia necessária para a pirólise, uma quantidade fixa de energia igual a 5,04 kcal/h, deve ser fornecida ao forno. O preço de compra dos combustíveis, da carga e dos produtos são mostrados na tabela 3-e.

Tabela 3-E: Preço de compra e venda dos insumos

Subtância Preço ($/kg) Etano (preço de compra) 0,1444

Propano (preço de compra) 0,2145

Gasóleo (preço de compra) 0,2756

DNG (preço de compra) 0,2235

Metano (preço de venda como combustível) 0,1186

Etileno (preço de venda) 0,3913

Propileno (preço de venda) 0,3040

Butadieno (preço de venda) 0,5873

Gasolina (preço de venda) 0,2189

Óleo combustível (preço de venda como combustível)

0,0992

Pede-se: a) Desenvolva uma função objetivo linear que maximize o lucro da

unidade. b) Estabeleça as restrições operacionais e/ou físicas e/ou de merdado a

que o craqueador esta submetido. Ref: Edgar, T. F. & Himmelblau, D. M. "Optimization of Chemical Processes".

E3.5. Discutas as duas FO's abaixo, compare-as apontando suas igualdades e diferenças.

Page 78: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

78

( )[ ] ( )[ ] ( )[ ] ( )[ ] ( )( )[ ] ( )( )[ ]{ }

( ) ( ) ( )( )[ ] ( ) ( ) ( )( )[ ]{ }tMVItMVWtEWtMVItMVWtEWFO

tMVItMVItMVWtMVWtEWtEWFO T

θθ

θθ

+Δ++Δ+=

+ΔΔ+=

21T

212

2T

21T

11

min

min

Page 79: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

79

4. Otimização Unidimensional Sem Restrições (OUSR)

O estudo de métodos de otimização unidimensionais sem restrições (OUSR) é necessário por quatro motivos: M1. Alguns problemas sem restrição são também unidimensionais. M2. Em muitos problemas as restrições podem ser incorporadas à função

objetivo reduzindo, desta forma, o problema a uma variável. M3. As técnicas para problemas multidimensionais com e sem restrições

geralmente envolvem repetir inúmeras vezes a resolução de um problema unidimensional sem restrições.

M4. Ajuda na solução de problemas de otimização cujo intervalo de busca (região viável) não é conhecido.

Podemos classificar os métodos numéricos para resolução dos problemas de OUSR em: C1. Métodos diretos (MD's): procedimentos de busca do ponto ótimo através

da comparação direta do valor assumido pela FO em uma seqüência de pontos viáveis. Não envolve o cálculo de derivadas analíticas ou numéricas.

C2. Métodos Indiretos (MI's): utiliza as condições necessárias para existência de pontos estacionários, ou seja, usa a derivada para cálcular o ponto ótimo.

Se o cálculo da derivada for realizado numericamente a distinção entre os métodos diretos e indiretos fica comprometida, pois ambos os métodos vão avaliar a FO em uma seqüencia de pontos. Os métodos indiretos, quando aplicáveis, isto é quando existe a derivada, geralmente são mais rápidos que os métodos diretos. Entretanto como nos problemas de engenharia a precisão necessária para os resultados freqüentemente é baixa, devido às incertezas presentes na função objetivo, esta vantagem é neutralizada. Por outro lado, os métodos diretos tem a vantagem de tratar mais facilmente problemas que tem descontinuidade e/ou pontos de inflexão. Em problemas de Otimização Multidimensional Sem Restrições (OMSR), com a FO não-linear e com mais de uma variável os MD's tem se mostrando superior em relação aos MI's. Por exemplo, suponha que a função não-linear f(x) = f(x1,x1,...,xn) deva ser minimizada. As condições necessárias para encontrar os pontos estacionários são

Page 80: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

80

( ) ( )

( ) ( )

( ) ( ) 0

0

0

2

1

2

1

==

==

==

xfx

xf

xfx

xf

xfxxf

nxn

x

x

∂∂

∂∂∂∂

Equação 4-A

Cada derivada parcial igualada a zero constitui uma equação não-linear, assim o problema de OMSR transformou-se num sistema algébrico de equações não-lineares, um problema tão difícil de resolver quanto o original. Além disso, enquanto que a matriz Hessiana H(x) de f(x) é simétrica, o Jacobiano das equações das condições necessárias tem uma estrutura arbitrária, o que dificulta a resolução do problema. Assim, muitos engenheiros preferem atacar o problema de minimização/maximização por MD's em lugar de utilizar MI's. A seguir, na seção 4.1 apresentaremos os MI's mais utilizados em problemas de OUSR da engenharia química, enquanto na seção 4.2 estudaremos os MD's.

4.1. Métodos Indiretos (MI) para OUSR

Existem basicamente 4 procedimentos para resolver problemas de OUSR envolvendo a aplicação das condições necessárias de otimalidade para uma função: MI1. Método de Newton MI2. Aproximação por diferenças finitas do método de Newton, também

chamado de método de quasi-Newton MI3. Método da secante

Para comparar a eficiência desses métodos é conveniente examinar a taxa de convergência de cada um, isto é, a velocidade com que a solução é alcançada. A taxa de convergência pode ser expressa de várias maneiras, mas uma classificação comum é a seguinte:

Linear:

101

≤≤≤−

−∗

∗+

ααxx

xxk

k

Equação 4-B

Onde o super-escrito k se refere a iteração k e não é uma potência de x. Na resolução de problemas práticos se o método apresenta uma taxa de convergência linear sua velocidade é lenta.

Page 81: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

81

O símbolo ||.|| indica a norma Euclidiana de um vetor. Para x n-dimensional:

∑=

=n

iixx

1

2

Equação 4-C Ordem p:

101

≤≤≤−

∗+

ααpk

k

xx

xx

Equação 4-D

Na resolução de problemas práticos se o método apresenta uma taxa de convergência de ordem p > 1 sua velocidade é rápida. Se p = 2 , a ordem de convergência é dita quadrática.

Superlinear:

∞→→<=−

−∗

∗+

∞→kquandoeou

xx

xxkkk

k

k00lim

1

αα

Equação 4-E

Na resolução de problemas práticos se o método apresenta uma taxa de convergência superlinear sua velocidade é rápida. O algoritmo de qualquer um dos MI's para minizar f(x) pode ser resumido da seguinte forma: P1. Escolha um intervalo de busca que contenha o ponto de mínimo e que a

FO seja unimodal neste intervalo. P2. Defina uma tolerância. P3. Aplique o método até que a tolerância seja alcançada, certificando-se a

cada iteração que f(xk+1) < f(xk) . Quanto mais positivo for f"(xk) , ou sua aproximação, mais rapidamente f(x) diminuirá. Para maximizar f(x) , minimize -f(x) .

4.1.1. Método de Newton

Lembremos sempre que o objetivo é minimizar (ou maximizar) uma certa função f(x), lembremos também que no momento estamos estudando apenas o caso monovariável. Vamos rever o método de Newton para resolução de uma equação não-linear. Este método está baseado na expansão da função em série de Taylor e truncamento da mesma no segundo termo. Assim expandindo f(x) em torno de um ponto xk obtemos:

Page 82: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

82

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )kkk

x

kk xfxxxfxfdx

xdfxxxfxfk

′−+=⇔−+= .

Equação 4-F

como qualquer função pode ser escrita da forma f(x) = 0 , então podemos reescrever a equação 4-f, se a aproximação e truncamento executado acima forem válidos, da seguinte maneira:

( ) ( ) ( ) ( ) ( )( )k

kkkkk

xfxfxxxfxxxfxf′

−=⇔=′−+= 0.

Equação 4-G

Ao trocar x por xk+1 na equação 4-g obtemos o método de Newton para resolução de uma equação não-linear. Agora podemos resolver o problema de OUSR, ou seja resolver a equação não-linear f'(x) = g(x) = 0 pelo método de Newton, utilizando a fórmula de recorrência:

( )( )

( )( )k

kkk

k

kkk

xfxfxx

xgxgxx

′′′

−=⇔′

−= ++ 11

Equação 4-H

Como a convergência deste método não é garantida temos que nos assegurar que a cada iteração f(xk+1) < f(xk) para que o mínimo seja alcançado [f(xk+1) > f(xk) para o máximo].

As vantagens do método de Newton são:

V1. O procedimento é tem convergência quadrática local (p = 2 na equação 4-d) se f "(x) ≠ 0 no ponto ótimo.

V2. Para uma FO quadrática o mínimo é obtido em uma iteração, pois a expansão e truncamento da série de Taylor da função f(x) até o termo da 2a derivada (inclusive) é exata.

V3. Converge rapidamente quando a estimativa inicial é boa.

As desvantagens do método de Newton são:

D1. Só se aplica a funções onde existam f '(x) e f "(x) .

D2. Deve-se calcular a cada iteração f '(x) e f "(x) .

D3. Sensível à estimativa inicial.

D4. Se f "(x) → 0 a convergência é lenta.

Page 83: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

83

D5. Se existe mais de um extremo o método pode não convergir para o ponto desejado ou pode oscilar.

4.1.2. Método de Quasi-Newton

Um método de quasi-Newton é uma variante do método de Newton. Quando f(x) não é dada por uma fórmula, ou a fórmula é muito complicada para ser analiticamente derivada, podemos trocar as derivadas que aparecem na equação 4-h por aproximações de diferenças finitas. Existem várias maneiras de utilizar aproximação de derivadas por diferenças finitas, por exemplo: DF1. Diferenças finitas para trás:

( ) ( ) ( )

( ) ( ) ( ) ( )2

22x

xxfxxfxfxf

xxxfxfxf

ΔΔ−+Δ−−

=′′

ΔΔ−−

=′

Equação 4-I

DF2. Diferenças finitas para frente:

( ) ( ) ( )

( ) ( ) ( ) ( )2

22x

xfxxfxxfxf

xxfxxfxf

Δ+Δ−−Δ+

=′′

Δ−Δ+

=′

Equação 4-J

DF3. Diferenças finitas para central:

( ) ( ) ( )

( ) ( ) ( ) ( )2

22

xxxfxfxxfxf

xxxfxxfxf

ΔΔ−+−Δ+

=′′

ΔΔ−−Δ+

=′

Equação 4-K

Todas essas aproximações podem ser deduzidas utilizando a expansão em série de Taylor.

Portanto definindo h = Δx e substituindo, por exemplo, a equação 4-k na equação 4-h, obtemos a seguinte fórmula de recorrência

( )( )

( ) ( )

( ) ( ) ( )( ) ( )[ ]

( ) ( ) ( )[ ] 2

2

1

/22/

22

hhxfxfhxfhhxfhxf

x

hhxfxfhxf

hhxfhxf

xxfxf

xx kkk

kkk

−+−+−−+

−=−+−+

−−+

−≅′′′

−=+

Equação 4-L

Page 84: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

84

Esse método tem duas desvantagens em relação ao método de Newton: D1. Necessidade de definir o passo h . D2. Uma função deve ser avaliada a mais a cada iteração (três na equação 4-l

enquanto duas na equação 4-h).

4.1.3. Método da Secante

Expandindo uma função f(x) = 0 em série de Taylor e truncando no terceiro termo, obtemos

( ) ( ) ( ) ( ) ( ) ( ) 0!2..

2

=′′−

+′−+=kk

kkk xfxxxfxxxfxf

Equação 4-M

Diferenciando a equação 4-m em relação a x e igualando a zero obtemos

( ) ( ) ( ) 0=′′−+′ kkk xfxxxf

Equação 4-N

Agora em lugar de utilizar a função f"(xk) usarmos a função

( ) ( )pq

pq

xxxfxfm

−′−′

=

Equação 4-O

e resolvendo para o ponto ótimo aproximado xapr* temos a fórmula de

recorrência

( )( ) ( )[ ] ( )pqpq

qq

apr xxxfxfxfxx

−′−′′

−=∗

/

Equação 4-P

O ponto ótimo x* é encontrado após algumas iterações utilizando a equação 4-p. A derivada f'(x) pode, obviamente ser calculada por diferenças finitas. O algoritmo do método da secante é o seguinte a) Escolha dois pontos xp e xq com derivadas de sinal contrário. b) Calcule xapr

* através da equação 4-p. c) Calcule f(xapr

*) . d) Escolha o novo par de pontos que mantém o sinal contrário entre as

derivadas. e) Volte à etapa b até que a tolerância adimitida seja alcançada. Este método também é denominado de "regula falsi" ou de falsa posição. O método da secante parece um pouco forçado, mas funciona bem em trabalhos práticos. A sua ordem de convergência é de aproximadamente 1,6

Page 85: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

85

para um problema monovariável, apesar dessa convergência ser menor que no método quasi-Newton, termina por ser mais eficiente pois precisa avaliar um número menor de funções.

4.2. Métodos Diretos (MD) para OUSR

Podemos subdividir os MD's em dois grandes grupos: G1. Métodos por diminuição da região de busca. G2. Métodos por aproximação polinomial da FO.

4.2.1. Métodos por Diminuição da Região de Busca

O algoritmo desses métodos para minimização de uma f(x) pode ser assim descrito: P1. Escolha uma região viável (a,b) que contenha uma função unimodal (função

convexa). P2. Calcule f(x) em dois ou mais pontos. P3. Compare os valores de f(x) eliminando as regiões que apresentam valores

de f(x) maiores. Na figura 4-a(a), a região a esquerda de x1 contém os valores de f(x) > f(x1) e por isso deve ser eliminada na busca do mínimo de f(x) . Analogamente a região à direita de x2 na figura 4-a(c), f(x) > f(x2) , também deve ser descartada. Porém na figura 4-a(b) a função é suave e o ponto de mínimo pode estar em qualquer lugar do intervalo (a,b). Na verdade quando estamos bem próximos do ponto ótimo este caso ocorre e b - a ≈ 0 .

Figura 4-A: 3 possibilidades para f(x) após dividido o intervalo (a,b) por 2

pontos.

Page 86: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

86

Conforme seja escolhida a localização dos pontos x1 e x2 este método torna-se mais ou menos eficiente: M1. Três intervalos iguais de busca, isto é, x1 - a = b - x2 = x2 - x1 neste caso o

intervalo é reduzido de 1/3 a cada iteração, assim se L0 é o intervalo de busca original (b - a) e Lk é o intervalo após k interações, então

0

32 LL

kk ⎟

⎠⎞

⎜⎝⎛=

Equação 4-Q

Observe que é necessário avaliar duas vezes a função f(x) a cada iteração.

M2. Método da seção áurea, neste caso o intervalo eliminado manterá sempre uma mesma proporção com o intervalo original. Na figura 4-b e na equação 4-r observamos as distâncias utilizadas neste procedimento.

Figura 4-B: Seção áurea

618,0

11

1

=⇒−

==⇒=+

=+Δ

Δ

yy

yxy

yxy

yyxyx

Equação 4-R e

( ) 0618,0 LL kk =

Equação 4-S

Seja ak e bk são os contornos do intervalo de busca na iteração k , então o algoritmo para este método é o seguinte:

P1. determine ak e bk , e a tolerância ε P2. Calcule Lk = bk - ak , x1

k = ak + 0,382.Lk e x2k = bk - 0,618.Lk

P3. Calcule f(x1k) e f(x2

k) P4. Se f(x1

k) > f(x2k) então ak+1 = x1

k , bk+1 =bk , x1k+1 = x2

k Se f(x1

k) < f(x2k) então bk+1 = x2

k , ak+1 =ak , x2k+1 = x1

k P5. Se a tolerância não foi atingida volte ao passo P2.

Veja a figura 4-c.

a bx y

Page 87: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

87

Figura 4-C: Seleção dos pontos interiores pela seção áurea

4.2.2. Métodos por Aproximação Polinomial - Interpolação Quadrática

Outros tipos de MD são os métodos por aproximação polinomial, entre os quais destacamos o da interpolação quadrática. Nesses métodos a função f(x) é aproximada por extrapolação ou interpolação utilizando um polinômio. Coggins (1964)♣ discutiu várias técnicas envolvendo um polinômio aproximador, chegando à conclusão que esses são levemente mais eficientes que o método da seção áurea. Admitindo que f(x) é unimodal e conhecendo um intervalo de busca que contenha o ponto de mínimo, avaliamos f(x) em x1, x2 e x3 e obtemos f(x1) , f(x2) e f(x3) . Suponha que a função f(x) possa ser aproximada, numa vizinhança do ponto ótimo xf(x)

* , por uma função quadrática g(x) então

( ) ( )( ) ( )( ) ( ) 2

3333

22222

21111

..

..

..

xcxbaxgxf

xcxbaxgxf

xcxbaxgxf

++=≅

++=≅

++=≅

Equação 4-T

Mas o mínimo da função quadrática g(x) é dado por é dado por

( ) cbx xg 2

−=∗

Equação 4-U

Resolvendo a equação 4-t para obter os valores de b e c e substituindo o resultado na equação 4-u obtemos

♣ Coggins, G. F., Univariate Search Methods, Imperial Chemical Industries Ltd., Central Instr.

Lab. Res. Note 64/11, 1964

Page 88: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

88

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ⎥⎦

⎤⎢⎣

⎡−+−+−−+−+−

=∗

321213132

322

212

21

231

23

22

)( 21

xgxxxgxxxgxxxgxxxgxxxgxx

x xg

Equação 4-V

então podemos escrever a função de recorrência

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ⎥⎦

⎤⎢⎣

⎡−+−+−−+−+−

≅∗

321213132

322

212

21

231

23

22

)( 21

xfxxxfxxxfxxxfxxxfxxxfxx

x xf

Equação 4-W

Calculando o valor de f(xf(x)*) e comparando com os valores de f(x1) , f(x2) e

f(x3) eliminamos a região com maior valor de f(x) e aplicamos a equação 4-w. Esse procedimento é repetido até atingir a tolerância especificada. Note que a cada iteração apenas uma função f(x) é avaliada.

4.2.3. Métodos por aproximação polinomial - Interpolação cúbica

Nesses métodos a função f(x) é aproximada por extrapolação ou interpolação utilizando um polinômio cúbico. Admita que f(x) é unimodal e que conhecemos um intervalo de busca que contenha o ponto de mínimo. Suponha que a função f(x) possa ser aproximada, numa vizinhança do ponto ótimo xf(x)

* , por uma função cúbica g(x) então

432

23

1 ...)()( axaxaxaxgxf +++=≅

Equação 4-X

Avaliamos f(x) em x1, x2 , x3 e x4 e obtemos f(x1) , f(x2) , f(x3) e f(x4) então podemos escrever um sistema linear de quatro equações [f(x1), f(x2), f(x3), f(x4)] e quatro incógnitas (a1, a2, a3, a4):

( ) ( ) ( ) ( )[ ][ ]AXF

aaaaA

xfxfxfxfF

xxxxxxxxxxxx

X

T

T

==

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

4321

4321

424

34

323

33

222

32

121

31

1111

Equação 4-Y

Onde o extremo de f(x) é obtido derivando f(x) e igualando a zero

Page 89: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

89

( )

1

31222

31

22

1

6.1242

0.2.3

aaaaa

x

axaxadx

xf

apr

−±−=

=++≅

Equação 4-Z

O sinal apropriado depende da derivada de 2a ordem de f(xapr*), isto é, depende

se estamos procurando o mínimo ou o máximo da função. O vetor A é obtido de

FXA 1−=

Equação 4-AA

Após obter a primeira aproximação do ponto ótimo x* , o valor da função neste ponto é comparado com os valores nos outros pontos e descartado o maior deles (menor para maximização de f(x)).

4.3. Avaliação dos Métodos Unidimencionais de Otimização

Como observamos para que os métodos estudados sejam eficientes é necessário que

• a função seja unimodal,

• seja conhecida a região de busca que contenha o extremo da função;

• nos MI's seja dada uma estimativa inicial;

• nos MI's as derivadas de 1a e/ou de 2a ordem existam. Devido as maiores exigências dos MI's, os MD's são preferidos nos meios acadêmicos e industrial, e dentre esses os métodos de interpolação quadrática ou cúbica são mais utilizados. Os códigos de programação dos pacotes comerciais de otimização contém várias regras heurísticas que visam resolver problemas com

• multiplos extremos,

• erros de arredondamento,

• gradiente muito grande da FO,

• FO com gradiente próximo a zero,

• outros comportamentos indesejados da FO. Portanto é necessário conhecer quais os macetes que os programas utilizam para avaliar se os mesmos estão sendo usados corretamente e poder interpretar com segurança os resultados obtidos. E lembremos sempre que

Page 90: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

90

o julgamento do engenheiro é essencial na aceitação ou não

das soluções encontradas pelos pacotes computacionais.

Page 91: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

91

4.4. Exercícios

E4.1. Utilizando variados métodos indiretos obtenha o extremo das funções a) y1 da Equação 1-A b) f(x) do exercício E2.5 c) f(x) do exercício E2.6.a d) f(x) do exercício E2.6.b e) f(x) do exercício E2.7 f) f(x) do exercício E2.10.a g) f(x) do exercício E2.10.b

E4.2. No Exemplo 3.2, verifique se os pontos de mínimo da equação f6(D) para uma pressão de projeto de 250 psi, estão corretos. Resolva este problema utilizando um método indireto e um método direto. Compare o número de iterações necessário para cada procedimento.

E4.3. No Exemplo 3.5, verifique se o ponto de máximo da equação (j) está correto. Resolva este problema utilizando o método de Newton, o quasi-Newton e o da secante. Compare o número de iterações necessárias para cada procedimento.

E4.4. Utilizando a função fmin('f',x) do toolbox de otimização do MATLAB resolva os problemas E4.2 e E4.3. Modifique os parâmetros do método numérico e verifique o comportamento do mesmo. Se necessário digite help fmin para ver como é a sintaxe deste comando, ou recorra ao manual de referência do toolbox de otimização do MATLAB.

Page 92: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

92

5. Otimização Multidimensional Sem Restrições (OMSR)

A otimização numérica de FO multivariáveis não-lineares requer técnicas eficientes e robustas. A eficiência é importante pois os procedimentos para solucionar o problema são sempre iterativos e a tentativa-e-erro torna-se impraticável quando estão envolvidas mais de 3 ou 4 variáveis de decisão. A robustez (habilidade de encontrar a solução) é uma propriedade desejável pois as FO's não-lineares tem um comportamento imprevisível, pois podem ter múltiplos extremos, pontos de sela, regiões convexas e não convexas, etc. Mas felizmente estão disponíveis algoritmos numéricos poderosos e que solucionam a maioria dos problemas práticos. Neste capítulo discutiremos a solução dos problemas OMSR que tem a seguinte formulação geral

encontre x* = [x1 x2 ... xn]T que minimiza f(x) = f(x1, x2, ..., xn) A maioria dos procedimentos interativos tem duas etapas que se alternam até que a tolerância desejada seja alcançada, assim podemos descrever os algoritmos da seguinte forma P1. escolha uma estimativa inicial para o vetor das variáveis de decisão

x0 = [x1 x2 ... xn]T , P2. calcule a direção de busca sk ,

P3. minimize, seguindo a direção sk, a FO, isto é calcule xk+1 = xk + Δxk , onde Δxk = λsk,

P4. verifique se a tolerância foi atingida, se não volte ao passo P2. Os vários métodos de programação não-linear (NLP - nonlinear programming) diferem uns dos outros principalmente na maneira como obtem a direção de busca sk . Alguns NLP utilizam as derivadas para definir a direção de busca (métodos indiretos) ou apenas a FO (métodos diretos). Os métodos que utilizam derivadas analíticas em geral usam menos tempo de computação, porém requerem maior tempo do engenheiro para a análise do problema. Também é importante lembramos que a natureza da FO influencia na escolha e no desempenho do algoritmo de otimização. A seguir, na seção 4.1 apresentaremos os MI's mais utilizados em problemas de OMSR da engenharia química, enquanto na seção 4.2 estudaremos os MD's.

Page 93: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

93

5.1. Métodos Indiretos (MI) para OMSR

Os métodos indiretos utilizam as derivadas para encontra o ponto ótimo x* . A direção de pesquisa s na minimização é denomindada direção descendente pois como

( ) ( )kk xfxf <+1

Equação 5-A o produto dos vetores ∇Tf(x) e s é sempre negativo, ou seja

( ) 0. <∇ sxfT

Equação 5-B Para provar esta afirmação examine os vetores ∇Tf(xk) e sk na figura 5-a. O ângulo entre eles é θ , assim

( ) ( ) θcos... kkTkkT sxfsxf ∇=∇

Equação 5-C

Figura 5-A: Identificação da região das possíveis direções de busca

Se θ = 90o como na figura 5-a, então a direção de busca (ao longo de sk) não irá diminuir o valor da FO. Se 0o < θ < 90o então haverá um aumento da FO, portanto para atingir o objetivo, ou seja, minimizar f(x), 180o > θ > 90o e cosθ < 0 , consequentemente ∇Tf(xk).sk < 0 . Existem basicamente 3 classes de MI's para resolver problemas de OMSR: MI1. Métodos de 1a ordem: gradiente, gradiente conjugado MI2. Métodos de 2a ordem: Newton, Levengerg-Marquardt

Page 94: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

94

MI3. Métodos da secante ou métodos quasi-Newton: Broyden, Powell, Davidson-Fletcher-Powell (DFP), Broyden-Fletcher-Goldfarb-Shano (BFGS), Davidson

5.1.1. Método do Gradiente ou Método do Gradiente Descendente

Este método utiliza apenas a derivada de 1a ordem para atender a FO. O gradiente é um vetor no ponto x que indica (localmente) a direção na qual a função f(x) mais cresce e é ortogonal (perpendicular) à tangente do contorno de f(x) no ponto x . Na maximização utilizaremos diretamente o gradiente e o algoritmo é denominado de "gradiente ascendente", enquanto que na minimização usaremos a negativa do gradiente, por isso o nome "gradiente descendente". Portanto no método do gradiente descendente a direção de busca é igual a negativa do gradiente

( )kk xfs −∇=

Equação 5-D

Porém na maioria das vezes é conveniente utilizar o gradiente apenas para indicar o sentido do passo, mas não a amplitude do mesmo e o ponto ótimo é atualizado da seguinte forma

( )kkkkkkkkk xfxsxxxx ∇−=+=Δ+=+ λλ1

Equação 5-E

onde Δxk = xk+1 - xk é o vetor de xk a xk+1

sk direção de busca, a direção do gradiente descendente λk escalar que determina o comprimento a ser percorrido na direção sk O método utiliza a equação 5-e recursivamente até que a tolerância seja atingida. No ponto mínimo o valor do gradiente deve ser igual a zero.

Para definir o valor de λk existem vários métodos, mas citaremos apenas dois deles:

(a) λk = λ = constante, neste caso o passo utilizado raramente é o apropriado.

(b) λk = λopt é calculado por

( )( ) ( ) kkTk

kkTopt

sxHs

sxf

..

.∇−=λ

Equação 5-F

O método gradiente apresenta três dificuldades: É eficiente nas primeiras iterações, quando o ponto encontra-se afastado do ponto ótimo, porém sua taxa de convergência diminui drasticamente à medida que se aproxima da solução ótima.

Page 95: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

95

D1. Se os eixos das curvas de nível da FO são paralelos aos eixos formados pelas variáveis de decisão, por exemplo quando não existe interação entre as variáveis de decisão [ f(x1,x2) = x1

2 + x22 ], a direção de

busca apontará diretamente para o ótimo, figura 5-be figura 5-c. Porém quando esses eixos não são paralelos, a taxa de convergência cai drasticamente, por exemplo quando existe interação entre as variáveis de busca [ f(x1,x2) = x1

2 + x22 + x1.x2 ] , figura 5-d e figura 5-e. Podemos

resumir esta dificuldade dizendo que este método é muito sensível a forma das curvas de nível.

D2. O gradiente descendente determina um ponto estacionário, não distinguindo se o mesmo é um extremo ou ponto de sela. Se for um ponto de sela é necessário empregar um método que não usa o gradiente para mover o ponto para fora dessa região. A estacionaridade do ponto pode ser testada examinando a matriz Hessiana da FO, conforme descrito no capítulo 2.

Page 96: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

96

D3. x1 = -2:0.1:2; x2 = -2:0.1:2; [X1,X2] = meshgrid(x1,x2) ; fx1 = X1.^2 + X2.^2; mesh(x1,x2,fx1)

-2-1

01

2

-2-1

01

20

2

4

6

8

Figura 5-B: Gráfico de fx1

v1 = [0.1,0.5,1,1.5,2,3,4,6]; c = contour(x1,x2,fx1,v1); clabel(c);

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0.1 0.5

1

1.5

2

3

4

6

6

6

6

Figura 5-C: Curvas de nível de fx1

x1 = -2:0.1:2; x2 = -2:0.1:2; [X1,X2] = meshgrid(x1,x2) ; fx2 = X1.^2 + X2.^2 + X1.*X2; mesh(x1,x2,fx2)

-2-1

01

2

-2-1

01

25

10

15

20

Figura 5-D: Gráfico de fx2

v2 = [0.1,0.5,1,1.5,2,3,4,6]; c = contour(x1,x2,fx,v2); clabel(c);

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0.1

0.5

1

1.5 2

3

4 4

4

4

6

6

Figura 5-E: Curvas de nível de fx2

5.1.2. Método do Gradiente Conjugado

Este método, também de 1aordem, combina (linearmente) o gradiente da iteração atual com o da anterior definindo a nova direção de busca, daí o nome gradiente conjugado. Também tem taxa de convergência quadrática e tem um desempenho superior ao método do gradiente descendente sem aumentar significativamente o esforço computacional. A demonstração desta última afirmação é encontrada em Himmelblau e Edgar (1980), página 219. O algoritmo do método do gradiente conjugado pode ser assim resumido: P1. Defina uma estimativa inicial xo

P2. Calcule f(xo) e ∇f(xo) , faça so = -∇f(xo)

Page 97: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

97

P3. Compute x1 = xo + λo.so . λo é o escalar que minimiza f(x) na direção so , ou seja é obtido através de uma busca unidimensional.

P4. Calcule f(x1) e ∇f(x1) . A nova direção de busca é uma combinação linear entre so e ∇f(x1) :

( ) ( )[ ] ( )[ ]( )[ ] ( )[ ]00

11011

xfxf

xfxfsxfs T

T

∇∇

∇∇+−∇=

Equação 5-G

Para a k-ésima iteração:

( ) ( )[ ] ( )[ ]( )[ ] ( )[ ]kTk

kTkkkk

xfxf

xfxfsxfs∇∇

∇∇+−∇=

++++

1111

Equação 5-H

P5. Teste se a FO esta sendo minimizada, se não volte ao passo P4. P6. Termine o algoritmo quando ||sk|| for menor que a tolerância desejada. Um problema com este método é que se a razão entre os produtos internos dos gradientes entre as iterações k+1 e k for pequena recaimos no algoritmo do gradiente descendente.

5.1.3. Método de Newton

Este é um método indireto de 2a ordem. Vamos aproximar a FO por uma série de Taylor truncada no 3o termo.

( ) ( ) ( )[ ] ( ) ( )( )kkTkkTkk xxHxxxfxfxf ΔΔ+Δ∇+≅ ..21

Equação 5-I

O mínimo de f(x) na direção xk é obtido derivando a equação 5-i em relação a x e igualando a zero

( ) ( )( ) 0. =Δ+∇ kkk xxHxf

Equação 5-J ou

( )[ ] ( )kkkkk xfxHxxx ∇−=−=Δ−+ 11

Equação 5-K

onde [H(xk)]-1 é o inverso da matriz Hessiana. Observe que a equação 5-k define simultaneamente o sentido e a magnitude {-[H(xk)]-1∇f(xk)} do passo de atualização (Δxk) das variáveis de decisão (xk) . Se f(x) for realmente quadrática então o mínimo é alcançada em uma iteração. Entretanto, em geral para uma FO não-linear são necessários várias

Page 98: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

98

iterações. Neste caso é interessante alterar a equação 5-k modificando a amplitude do passo da seguinte maneira

( )[ ] ( ) kkkkkkkk sxfxHxxx ..11 λλ =∇−=−=Δ−+

Equação 5-L

onde λk (amplitude do passo) pode ser calculado pela equação 5-f. No método de Newton λ = 1 em cada passo.

Note também que para avaliar Δxk não é preciso inverter a matriz Hessiana, pois podemos reescrever equação 5-j em forma de sistema de equações lineares

( )( ) ( )kkk xfxxH −∇=Δ.

Equação 5-M

que tem solução relativamente fácil, e que diminui os erros de arredondamenteo cometidos durante a inversão de matrizes. O método de Newton, quando converge, é bastante rápido. Porém tem as seguintes desvantagens: D1. Encontra apenas o mínimo local. D2. Requer a inversão de uma matriz, ou pelo menos a solução de um sistema

linear a cada iteração. D3. Requer a avaliação analítica das derivadas de 1a e 2a ordem. D4. Pode convergir para um ponto de sela se H(x) não é positiva definida. D5. Tem desempenho fraco quando a estimativa inicial é ruim. A dificuldade D3 pode ser amenizada aproximando a derivada por uma fórmula apropriada de diferenças finitas. Se H(x) for positiva-definida e se a FO pode ser aproximada por uma função quadrática, o método de Newton tem a vantagem de ter uma taxa de convergência quadrática nas vizinhanças do ponto ótimo, ou seja, na região onde o gradiente descendente ou conjugado tem um desempenho ruim. Porém em regiões afastadas do mínimo o método de newton tem uma taxa de convergência pequena.

5.1.4. Método de Levenberg-Marquardt

Levenberg, Marquardt e outros pesquisadores sugeriram que a matriz Hessiana de f(x) , H(x) , seja modificada a cada iteração de forma a garantir que a nova matriz Hessiana, ( )~H s , seja sempre positiva-definida e bem-condicionada. Isto é efetuado adicionando a H(x) uma matriz diagonal

( ) ( ) IxHxH β+=~

Equação 5-N

Page 99: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

99

onde β é uma constante positiva, suficientemente grande para garantir que ( )~H s seja positiva-definida quando H(x) não é. Também é possível usar

( )[ ] ( )[ ] IxHxH γ+= −− 11~

Equação 5-O

onde γ é uma constante com finalidades análogas aos de β .

Para definir a magnitude de β precisamos estimar qual o menor (mais negativo) autovalor de H(x) , α1 , e fazer com que β > -min(α1) . Note que se β for suficientemente grande βI pode subjugar a H(x) e neste caso o algoritmo se aproxima do gradiente descendente. O método de Levenberg-Marquardt para minimizar uma função pode ser implementado segundo o algoritmo abaixo:

P1. Defina uma estimativa inicial xo e uma tolerância ε .

P2. Para k = 0 faça β0 = 103 .

P3. Calcule ∇f(xk) . P4. Verifique se a tolerância foi atingida, se não continue.

P5. Calcule [ ] ( )kkk xfIHs ∇+−=−1

β .

P6. Compute xk+1 = xk + λk.sk . λk é calculada pela equação 5-f. P7. Se f(xk+1) < f(xk) vá ao passo P8, se não vá ao passo P9.

P8. βk+1 = 0,25βk , e k = k +1 . Volte ao passo P3.

P9. βk = 2βk . Volte ao passo P3. Portanto o método de Levenberg-Marquardt no início se comporta como um gradiente descendente (β grande), mas a medida que se aproxima do ponto ótimo tende a se comportar como o método de Newton ou o de quasi-Newton (β pequeno).

5.1.5. Método da Secante ou Quasi-Newton

Por analogia com o método da secante para funções de uma variável, os procedimentos descritos nesta seção minimizam f(x) utilizando apenas os valores de f(x) e de ∇f(x) ; a Hessiana de f(x) é aproximada por combinação desses valores, ( )H x .

Esses métodos também são afetados pela estimativa inicial de xo.

Page 100: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

100

Os algoritmos dos métodos quasi-Newton podem ser resumido da seguinte maneira:

Passo 0 (zero) P1. Defina uma estimativa inicial xo e uma tolerância ε .

P2. Selecione a direção inicial de busca so . Usualmente so = -∇f(xo) .

P3. Calcule ( )H H x0 0≡ , freqüentemente H I

0= se ( )H x 0 não for positiva-

definida

Passo k P1. Calcule o escalar λk , por exemplo pela equação 5-f, ou faça λ = 1 .

P2. Calcule xk+1 que minimiza f(x) : kkkkk sHxx1

1 ˆ−

+ ⎟⎠⎞⎜

⎝⎛+= λ .

P3. Calcule f(xk+1) e ∇f(xk+1) .

P4. Calcule Δxk = xk+1 - xk e Δgk = ∇f(xk+1) - ∇f(xk) .

P5. Calcule ⎟⎠⎞⎜

⎝⎛Δ+=

+ kkkHHH ˆˆˆ 1

ou 1111 ˆˆˆ−−−+

⎥⎦⎤

⎢⎣⎡ ⎟

⎠⎞⎜

⎝⎛Δ+⎥⎦

⎤⎢⎣⎡=⎥⎦

⎤⎢⎣⎡ kkk

HHH

escolhendo uma das equações entre equação 5-p e equação 5-t. P6. Calcule a nova direção de busca por

• [ ] ( )1111 ˆ +−++ ∇−= kkk xfHs através da inversão de matriz ou

• ( )111ˆ +++−∇= kkk

xfsH pela solução do sistema linear,.

Passo k + 1 P1. Verifique se a tolerância ε foi atingida P2. Se o critério de convergência foi satisfeito, pare. Se não, retorne ao passo

k. Algumas equações que realizam a aproximação da matrix Hessiana ou de sua inversa são mostradas a seguir: Broyden:

kT

kkk

Tkkkkkk

k

ggHx

gHxgHxH

Δ⎥⎦

⎤⎢⎣

⎡Δ⎟

⎠⎞⎜

⎝⎛−Δ

⎥⎦

⎤⎢⎣

⎡Δ⎟

⎠⎞⎜

⎝⎛−Δ⎥⎦

⎤⎢⎣

⎡Δ⎟

⎠⎞⎜

⎝⎛−Δ

=⎟⎠⎞⎜

⎝⎛Δ

−−

1

11

1

ˆ

ˆˆˆ

Equação 5-P

Davidson-Fletcher-Powell (DFP):

Page 101: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

101

( ) ( )( )( ) ( )

( ) ( )( ) ( )( ) ( ) ( )kkTk

TkTkkk

kTk

Tkkk

gHg

HggH

gx

xxHΔΔ

⎥⎦⎤

⎢⎣⎡ΔΔ

−ΔΔ

ΔΔ=Δ −

−−

1

11

1

ˆ

ˆˆˆ

Equação 5-Q

ou sua equivalente

( )( ) ( )( )

( ) ( )[ ]( ) ( )[ ]kTkkTk

TkkkT

kkk

kTk

TkkkkTkkkk

k

xgxg

ggxxHg

xg

xHgggxHgH

ΔΔΔΔ

ΔΔΔ⎟⎠⎞⎜

⎝⎛ Δ−Δ

−ΔΔ

⎟⎠⎞⎜

⎝⎛ Δ−ΔΔ+Δ⎟

⎠⎞⎜

⎝⎛ Δ−Δ

=⎟⎠⎞⎜

⎝⎛Δ

ˆ

ˆˆˆ

Equação 5-R

Broyden-Fletcher-Goldfarb-Shanno (BFGS):

( )( ) ( )( )

( )[ ]( )[ ]kTkkTk

Tkkkkkk

kTk

TkkkkTkkkk

k

xgxg

xxggHx

xg

gHxxxgHxH

ΔΔΔΔ

ΔΔΔ⎥⎦

⎤⎢⎣

⎡Δ⎟

⎠⎞⎜

⎝⎛−Δ

−ΔΔ

⎥⎦

⎤⎢⎣

⎡Δ⎟

⎠⎞⎜

⎝⎛−ΔΔ+Δ⎥

⎤⎢⎣

⎡Δ⎟

⎠⎞⎜

⎝⎛−Δ

=⎟⎠⎞⎜

⎝⎛Δ

−−

1

11

1

ˆ

ˆˆˆ

Equação 5-S

ou sua equivalente

( ) ( )( ) ( )

( )( ) kkTk

kTkkk

kTk

Tkkk

xHx

HxxH

xg

ggH

ΔΔ

ΔΔ−

ΔΔ

ΔΔ=Δ

ˆ

ˆˆˆ

Equação 5-T

Algumas desvantagens desses método são

D1. ( )H Hk k

ou−1

pode deixar de ser positiva-definida, neste caso devemos

utilizar um dos métodos descritos na seção 5.1.4.

D2. A correção ( ) ( )Δ ΔH Hk k

ou−1

pode tornar-se ilimitada devido aos erros

de arredondamento.

Page 102: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

102

D3. Se ( ) ( )Δx H f xk k k k= − ∇−

λ1

por acaso tem a mesma direção da

iteração anterior então ( )H Hk k+ + −1 1 1

ou torna-se singular ou

indeterminada.

5.2. Métodos Diretos (MD) para OMSR

Métodos diretos não utilizam as derivadas para determinar a direção da busca. Às vezes os MD's são mais efetivos que os MI's, porém esses últimos tem uma taxa maior de convergência. Os MD's apresentam a vantagem de serem fáceis de entender e implementar. Os MD's mais utilizados em problemas de engenharia química são: MD1. Busca randômica. MD2. Grade de busca. MD3. Busca unidirecional. MD4. Método simplex ou do poliedro flexível.

5.2.1. Busca Randômica

O algoritmo deste procedimento é o seguinte P1. Fazer k = 0 P2. Randômicamente escolher um vetor xk P3. Avaliar f(xk) P4. Verificar se a tolerância foi atingida, se não retornar ao passo P2. Alguns métodos escolhem a direção de busca randomicamente e minimizam nessa direção a função f(x). Obviamente, a solução ótima só pode ser obtida com 100% de probabilidade quando k → ∞ , mas se a FO for muito suave esse método é razoável. Uma alternativa interessante é utilizar esse procedimento como ponto de partida para outro algoritmo: realiza-se uma série de buscas randômicas escolhendo a que representar menor valor para f(x) . Também podemos utilizar a busca randômica para certificar que o ponto ótimo é apenas um extremo local. Neste caso damos uma perturbada na solução ótima e se após várias perturbações verificamos que voltamos ao mesmo ponto ótimo, temos uma boa probabilidade de termos encontrado o máximo global duma certa região. Por exemplo, na Figura 1-2, do capítulo 1, a FO tem inúmeros vales e montes próximo ao ponto ótimo. Se, ao encontrar um ponto candidato ao ótimo, o perturbarmos por pequenos incrementos randômicos e, ao continuar com a busca, verificamos que fomos para outro ponto estacionário temos a certeza que existem multiplicidade de pontos estacionários e a procura do ponto ótimo deve ser melhor investigada.

Page 103: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

103

5.2.2. Grade de Busca

Esse algoritmo simplesmente faz o mapeamento da FO ao longo de pontos afastados um do outro segundo uma geometria previamente determinada, figura 5-f. Escolhemos o ponto que minimiza (maximiza) f(x) , neste ponto repete-se a grade e assim sucessivamente, até encontrar o ponto ótimo.

Figura 5-F: Várias tipos de grades de busca

O método da grade de busca requer um elevado esforço computacional para problemas multivariável.

5.2.3. Busca Unidimensional

O algoritmo desse método pode ser assim resumido: P1. Fazer k = 0 e estimar um vetor x0 . P2. Escolher uma componente j do vetor xk . P3. Utilizando um método de otimização unidimensional, encontrar o ponto

ótimo na direção j . P4. Escolher outra direção j e retornar ao passo P3 até ter percorrido todas n

direções possíveis. P5. Verificar se a tolerância foi atingida, se não retornar ao passo P2. Esse método só é mais eficiente quanto mais quadrática for a FO, isto é, quanto mais alinhado estiverem os eixos das curvas de nível com os eixos das variáveis de decisão.

Page 104: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

104

x1 = -2:0.1:2; x2 = -2:0.1:2; [X1,X2] = meshgrid(x1,x2) ; fx1 = X1.^2 + 10*X2.^2; v1 = [0.1,0.5,1,1.5,2,3,4,6]; c = contour(x1,x2,fx1,v1); clabel(c);

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0.1 0.5 1 1.5 2

3

4

6

6

Figura 5-G: Curvas de nível com os

eixos alinhados

x1 = -2:0.1:2; x2 = -2:0.1:2; [X1,X2] = meshgrid(x1,x2) ; fx2 = X1.^2 + X2.^2 + X1.*X2; v2 = [0.1,0.5,1,1.5,2,3,4,6]; c = contour(x1,x2,fx,v2); clabel(c);

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0.1

0.5

1

1.5 2

3

4 4

4

4

6

6

Figura 5-H: Curvas de nível com os eixos desalinhados

5.2.4. Método Simplex ou do Poliedro Flexível

Esse método utiliza uma figura geométrica regular (um simplex) para selecionar o ponto, um dos vértices do simplex, que minimiza f(x) . Em duas dimensões o simplex é um triângulo, em três dimensões, um tetraedro, e assim sucessivamente. Para entender o método vamos assumir uma função de duas variáveis e que o triângulo seja equilátero. Na primeira iteração para minimizar f(x) , f(x) é avaliada em três pontos, os vértices de um triângulo, figura 5-i(a). A direção de busca é orientada a partir do ponto de maior valor de f(x) passando pelo centróide do simplex, assim uma vez determinada a direção e como o triângulo é equilátero está determinado um novo ponto, figura 5-i(a). A FO é avaliada neste novo ponto e uma nova direção de busca é determinada. O procedimento é repetido, sempre rejeitando um vértice, figura 5-i(b). Também devem ser desconsiderados vértices já visitados. Quando nenhum novo vértice é encontrado devemos diminuir o tamanho da aresta do triângulo e continuar com a busca do ponto ótimo até atingr o critério de parada. Nelder e Mead (1965)♠ descrevem uma versão do método mais eficiente e mais complexa, que permite estabelecer figuras geométricas que expandem e contrarem suas arestas continuamente durante a busca do ponto ótimo

♠ Nelder, J. A., e R. Mead, "A Simplex Method for Function Minimization", The Computer

Journal, 7: 308 (1965)

Page 105: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

105

(poliedro flexível). Detalhes deste método e um código computacional são encontrados em Himmelblau (1970)@ e (1972)#

Figura 5-I: Representação do método Simplex

5.3. Avaliação dos MD's e MI's para Problemas de OMSR

Os MD's foram os primeiros métodos propostos para resolver problemas de OMSR e são utilizados na indústria química devido ao fato de serem simples de entender e implementar, entretanto são menos eficientes e robustos que os modernos MI's. Porém para problemas com duas variáveis de decisão os MD's são freqüentemente satisfatórios. Os MI's, por outro lado, necessitam de conhecer as derivadas da FO. Se utilizarmos as derivadas analíticas temos menor esforço computacional ao custo de um maior esforço cerebral. Se utilizarmos as derivadas aproximadas por diferenças finitas estamos mais sujeitos a erros de truncamento. Na tabela 5-a vemos a comparação entre MI’s e MD’s.

Tabela 5-A: Comparação entre MI's e MD's

Métodos numéricos de otimização

Método Indireto (MI) Método Direto (MD)

Utilizam f(x) e f ‘(x) a cada iteração

Utilizam f(x) a cada iteração

Menor número de iterações Maior número de iterações

Maior tempo por iteração Menor tempo por iteração

Fornecem apenas uma solução aproximada do ponto ótimo

@ Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley & Sons, New York, 1970. # Himmelblau, D. M., Applied Nonlinear Programming, McGraw-Hill, New York, 1972.

Page 106: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

106

Para que os métodos estudados sejam eficientes é necessário que:

• a função seja unimodal,

• seja conhecida a região de busca que contenha o extremo da função,

• nos métodos indiretos (MI) seja dada uma boa estimativa inicial.

E lembremos sempre que o julgamento do engenheiro é essencial na aceitação ou não das soluções encontradas pelos pacotes computacionais.

5.4. Exercícios

E5.1. Nas funções apresentadas nos exercícios E2.8., E2.10.(c) e E2.10.(d) encontre os pontos estacionários e classifique-os.

E5.2. Utilizando as funções fminu('f',x) e fmins('f',x) do toolbox de otimização do MATLAB resolva os exercícios E2.11 e E2.12. Compare as respostas obtidas e o desempenho dos métodos numéricos empregados.

E5.3. Através da análise dimensional, o problema de transferência de calor pode ser expresso por:

βα ReNu =

onde Nu = número de Nusselt Re = número de Reynolds

α e β = constantes

Defina uma FO e Obtenha a melhor estimativa de α e β baseada nos seguintes dados experimentais:

Tabela 5-B: Dados experimentais para o exercício E5.3.

Re 100 100 200 200 300 300 400 400 500 500

Nu 31 36 33 40 40 42 43 45 36 49

Ref.: Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley &

Sons, New York, 1970.

E5.4. Ajuste a equação de estado de Berthelot (para 1 mol):

P RgTV b

aTV

=−

− 2

para o SO2 a partir dos seguintes dados:

Tabela 5-C: Dados para o exercício E5.4. V

(cm3/g) P

(atm) massa de gás

(g)T

(°C)

Page 107: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

107

67,810 5,651 0,2948 50 50,882 7,338 45,280 8,118

72,946 5,767 0,2948 75 49,603 8,237 23,331 15,710

80,170 5,699 0,2948 100 45,664 9,676 25,284 16,345 15,285 24,401

84,581 5,812 0,2948 125 42,675 11,120 23,480 19,017 14,735 27,921

23,913 20,314 1,9533 150 18,241 25,695

7,2937 51,022 4,6577 63,730

20,685 26,617 1,9533 200 10,595 47,498

5,8481 74,190

Ref.: Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley &

Sons, New York, 1970.

Page 108: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

108

6. Ajuste de Modelos Matemáticos Neste capítulo estudaremos o ajuste de modelos matemáticos lineares com uma variável independente (seção 6.1), com várias variáveis independentes (seção 6.2) e o ajuste de modelos matemáticos não-lineares (seção 6.3) a dados experimentais. Veremos também algumas observações e "dicas" (seção 6.4) que podem acelerar a convergência dos métodos numéricos utilizados no ajuste de modelos matemáticos. Por fim, mas não por último, resolveremos alguns exercícios (seção 6.5) que ajudarão a fixar os conceitos discutidos neste capítulo. Como já dissemos anteriormente, o tratamento rigoroso e correto de ajuste de modelos emprega conceitos e procedimentos estatísticos, porém neste curso faremos um estudo mais "pragmático" e superficial deste problema. Abordaremos o ajuste de modelos do ponto de vista de um problema de otimização. Entretanto, alguns conceitos estatísticos serão necessários e citados/definidos nos momentos oportunos. Devemos ter claro o significado de variável determinística e de variável estocástica: Variável determinística - assume um único valor com probabilidade de 100% de ocorrer; Variável estocástica - pode assumir um valor com uma certa probabilidade (menor que 100% de ocorrer). Simplificadamente, podemos definir que uma variável estocástica tem uma parte determinística e uma parte randômica ou aleatória, que denominamos desvio padrão, ou seja

Variável estocástica = parte (variável) determinística ± desvio padrão AS VARIÁVEIS ESTOCÁSTICAS SERÃO REPRESENTADAS EM LETRAS MAIÚSCULAS, com a exceção do desvio padrão que será representado pela letra grega sigma ( ), enquanto que as determinísticas em letras minúsculas. Na figura 6-a observamos algumas representações esquemáticas de modelos matemáticos. O diagrama de blocos letra (c) é o adequado à formulação matemática de uma variável estocástica adotada neste curso:

( ) ( )( ) ( ) ( ) ( )ttyttxftY σσ +=+=

Equação 6-A

Page 109: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

109

Figura 6-A: Diagramas de blocos de modelo determinístico (a) e estocásticos (b,c,d)

São sinônimos de variável estocástica: variável aleatória e/ou variável randômica ("randon or stochastic variable"). A bibliografia recomendada para este capítulo é:

Himmelblau, David M. Process Analysis by Statistical Methods. John Wiley & Sons, Inc. 1970

6.1. Ajuste de Modelos Lineares nos Parâmetros Com Uma Variável Independente

Vamos assumir que apenas a variável dependente (VDep) é estocástica e que a variável independente (VI) é determinística, isto é, à VDep está associado um certo desvio padrão, enquanto que o valor assumido pela VI é conhecido e sem erros (desvios) de medição ou de qualquer outra natureza. Neste texto vamos nos referir a modelos lineares apenas nos parâmetros, sendo que a variável independente pode ou não ser linear, por exemplo: a) Modelo linear nos parâmetros e na VI:

( ) ( )txbbtY .10 +=

Equação 6-B

b) Modelo linear nos parâmetros e não-linear na VI:

( ) ( )txbbtY .10 +=

Equação 6-C

c) Modelo não-linear nos parâmetros e na VI:

( ) ( ) ( ) 010 ..exp btxbbtY +=

Equação 6-D

Modelo Determinístic

o

x(t) y(t)

(a)

Modelo Determinístic

o

x(t)

(c)

y(t)

(t)

Y(t) Modelo Determinístic

o

X(t) Y(t)

(d)

(b)

Modelo Estocástico

x(t) Y(t)

Page 110: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

110

Neste capítulo estudaremos modelos conforme a equação 6-b ou a equação 6-c. Para reconhecer se um modelo é linear em relação a um dado parâmetro basta derivar parcialmente o modelo em relação ao parâmetro, se o resultado não depender do parâmetro então o modelo é linear em relação ao mesmo.

6.1.1. Escolha da Forma do Modelo Linear

Na maioria das vezes a relação entre as VI's e VDep's é não-linear, nesses casos, para aplicar a regressão linear, devemos estabelecer uma relação linear entre essas variáveis, aplicando transformações às mesmas. Alguns exemplos de transformações podem ser observadas na tabela 6-a.

Tabela 6-A: Transformações para forma linear de funções de uma variável

Equação na Forma Coordenadas na Forma Linear Equação na

Forma

Não-Linear Eixo X Eixo Y Linear

xbby

.110 += x y

y 1# = xbby .10# +=

xbby 1.10 +=

xx 1# = y #

10 .xbby +=

xbbyx .10 += x y

xy =# xbby .10# +=

201. bxby b += ( )xx log# = ( )2

# log byy −= ( ) #10

# .log xbby +=

Se uma relação linear entre a VI e a VDep é estabelecida, através de uma transformação, os parâmetros do modelo não-linear podem ser estimados por regressão linear. No entanto, o tratamento dos erros de medição da VDep torna-se mais complexo, pois a transformação linear não pode ser aplicada ao tratamento do erro. Por exemplo, seja a relação não-linear:

εε +=+= 1.0bxbyY

Equação 6-E

Linearizando a equação 6-e, não obteremos o resultado abaixo:

( ) ( ) ( ) ε++= xbbY log.loglog 10

Equação 6-F

Outro fato relevante, quanto à forma do modelo a ser ajustado, é a independência entre os parâmetros do mesmo. Isto é, quanto mais independente os parâmetros entre si, mais fácil e confiável o ajuste. Para

Page 111: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

111

modelos lineares de 1a ordem uma forma de estabelecer a independência entre os parâmetros é escrever o modelo da seguinte maneira:

( )xxbbY −+= .10

Equação 6-G

onde x é a média dos valores de x .

6.1.2. Ajuste do Modelo Linear Univariável

A obtenção das melhores estimativas† dos parâmetros de um modelo é um problema de otimização. Portanto é necessário estabelecer: a) a função objetivo (FO) a ser alcançada; b) a(s) função(ões) de restrição(ões) (FR), estas não serão consideradas neste

capítulo; c) o critério de parada, quando for utilizado um método numérico. A função objetivo (FO) pode ser, por exemplo, a minimização da soma dos quadrados dos erros, entre valor medido e valor calculado pelo modelo da VI; ou a maximização da função de verossimilhança; ou minimização da soma do módulo dos erros. A estimativa através da função de máxima verossimilhança requer o conhecimento de conceitos estatísticos que fogem ao escopo deste curso e, por isso, não será aqui estudada. A utilização da função módulo sempre leva a um tratamento matemático complexo e não necessariamente mais adequado. Portanto o uso dos mínimos quadrados é conveniente aos nossos propósitos. Além disso conduz a problemas de otimização com solução analítica. Seja a FO a seguir:

( )[ ]∑=

−=

=n

iiii pY

f

1

2.

min

ηφ

φ

Equação 6-H

onde ( )xxbb ii −+= .10η

Equação 6-I

n - número total de experimentos realizados

† Melhores estimativas, pois nunca obteremos o valor real do parâmetro, apenas uma estimativa ótima, segundo um certo critério, do mesmo.

Page 112: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

112

ηi - valor calculado da VDep para um certo xi pi - número de medidas replicadas para um certo xi

Y i - valor da média dos experimentos replicados para um certo xi

x - valor médio da variável independente Substituindo a equação 6-i na equação 6-h, obtemos

( )( )[ ]⎭⎬⎫

⎩⎨⎧

−−−== ∑=

n

iiii pxxbbY

bbbbf

1

2

101010

..,

min,

minφ

Equação 6-J

Como queremos minimizar em relação aos parâmetros devemos derivar a função φ em relação aos mesmos e igualar a zero:

( )( )[ ]( )[ ]{ } 0..2

..

110

0

1

210

0

=−−−−=⎭⎬⎫

⎩⎨⎧

−−−= ∑

∑=

=n

iiii

n

iiii

pxxbbYb

pxxbbY

b ∂

∂∂φ

Equação 6-K

( )( )[ ]( )[ ]( ){ } 0...2

..

110

1

1

2

10

1

=−−−−−=⎭⎬⎫

⎩⎨⎧

−−−= ∑

∑=

=n

iiiii

n

iiii

pxxxxbbYb

pxxbbY

b ∂

∂∂φ

Equação 6-L

Abrindo essas equações, obtemos

[ ] [ ] ( )[ ]∑∑∑===

−+=n

iii

n

ii

n

iii pxxbpbpY

11

10

1....

Equação 6-M

( )[ ] ( )[ ] ( )[ ]∑∑∑===

−+−=−n

iii

n

iii

n

iiii pxxbpxxbpxxY

1

2

11

01

......

Equação 6-N mas

( )[ ] [ ] [ ] [ ][ ]

[ ][ ] 0.

.....

1

1

1

1111=−=−=− ∑

∑∑∑∑∑

=

=

=

====

n

iin

ii

n

iiin

iii

n

ii

n

iii

n

iii p

p

pxpxpxpxpxx

Equação 6-O

Page 113: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

113

então, resolvendo para b0 e b1 , obtemos:

[ ]

[ ]Y

p

pYb n

ii

n

iii

==

=

=

1

10

.

Equação 6-P

( )[ ]( )[ ]∑

=

=

−= n

iii

n

iiii

pxx

pxxYb

1

2

11

.

..

Equação 6-Q

A equação 6-p e a equação 6-q dão as estimativas dos parâmetros b0 e b1 .

6.2. Ajuste de Modelos Lineares de Várias Variáveis

Nesta seção estamos interessados no mesmo problema da seção anterior, apenas a complexidade matemática aumenta, pois agora existem várias variáveis independentes. Novamente a função objetivo é a minimização da soma dos quadrados dos erros:

( )[ ] [ ]∑∑==

=−=

=

n

iii

n

iiii

q

pepY

bbbf

1

2

1

2

10

..

,,min

ηφ

φ…

Equação 6-R

onde ( ) ( ) ( )qqiqiii xxbxxbxxbb −++−+−+= ,22,211,10 ...η

Equação 6-S

n - número total de experimentos realizados ηi - valor calculado da VDep para um certo ponto (xi,1, xi,2, ..., xi,q) pi - número de medidas replicadas para um certo ponto (xi,1, xi,2, ..., xi,q)

Y i - valor da média dos experimentos replicados para um certo ponto (xi,1, xi,2, ..., xi,q) x k - valor médio da variável independente xk

xi,k - variável independente, onde o índice i indica a linha da matriz x , ou seja o índice do conjunto de dados (1 < i < n); o índice k indica a coluna

Page 114: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

114

da matriz x , ou seja o índice da variável independente (sendo que para k = 0, xi,0 = 1) ou dos coeficientes (0 < k < q).

Como queremos minimizar em relação aos parâmetros devemos derivar a função em relação aos mesmos e igualar a zero:

( ) ( ) ( )[ ]{ } 0....21

22211100

=−−−−−−−−−= ∑=

n

iiqiqqiii pxxbxxbxxbbY

b∂∂φ

Equação 6-T

( ) ( ) ( )[ ]( ){ } 0.....21

1122211101

=−−−−−−−−−−= ∑=

n

iiiqiqqiii pxxxxbxxbxxbbY

b∂∂φ

Equação 6-U

···

( ) ( ) ( )[ ]( ){ } 0.....21

2221110 =−−−−−−−−−−= ∑=

n

iiqiqqiqqiii

q

pxxxxbxxbxxbbYb∂∂φ

Equação 6-V

Reescrevendo essas equações de forma apropriada:

[ ]

[ ]Y

p

pYb n

ii

n

iii

==

=

=

1

10

.

Equação 6-W

pois

( )[ ] 0.1

=−∑=

n

iikik pxx

Equação 6-X

( )( )[ ] ( )( )[ ]

( )( )[ ] ( )[ ]∑∑

∑∑

==

==

−=⎭⎬⎫

⎩⎨⎧

−−+

+⎭⎬⎫

⎩⎨⎧

−−+⎭⎬⎫

⎩⎨⎧

−−

n

iiii

n

iiiqiqq

n

iiii

n

iiii

pxxYpxxxxb

pxxxxbpxxxxb

111

111

111222

111111

.

..

Equação 6-Y

Page 115: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

115

( )( )[ ] ( )( )[ ]

( )( )[ ] ( )[ ]∑∑

∑∑

==

==

−=⎭⎬⎫

⎩⎨⎧

−−+

+⎭⎬⎫

⎩⎨⎧

−−+⎭⎬⎫

⎩⎨⎧

−−

n

iiii

n

iiiqiqq

n

iiii

n

iiii

pxxYpxxxxb

pxxxxbpxxxxb

122

122

122222

122111

.

..

Equação 6-Z

···

( )( )[ ] ( )( )[ ]

( )( )[ ] ( )[ ]∑∑

∑∑

==

==

−=⎭⎬⎫

⎩⎨⎧

−−+

+⎭⎬⎫

⎩⎨⎧

−−+⎭⎬⎫

⎩⎨⎧

−−

n

iiqiqi

n

iiqiqqiqq

n

iiqiqi

n

iiqiqi

pxxYpxxxxb

pxxxxbpxxxxb

11

1222

1111

.

..

Equação 6-AA

A equação 6-y e a equação 6-aa constituem um sistema linear de equações. Definindo os seguintes vetores e matrizes:

( )

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( )( )

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( ) ⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

−−−

−−−−−−

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

−−−

−−−−−−

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

×

+××+×

qqnqnn

qq

qq

nnnn

qnqnqnn

qq

qq

qqnn

b

bb

xxxxxx

xxxxxxxxxxxx

Y

YY

e

p

pp

p

xxxxxx

xxxxxxxxxxxx

x

b

bb

b

Y

YY

Y

1

0

2211

2222121

1212111

2

1

2

1

12211

2222121

1212111

11

1

0

1

2

1

1

11

,

00

0000

1

11

,,

Equação 6-BB obtemos

[ ]( ) ( ) ( ) ( )bxYpbxYYpY

epepeYebx

TT

Tn

iii

......

...,,.1

2

−−=−−=

==−== ∑=

ηηφ

φηη

Equação 6-CC

Derivando φ em relação ao vetor b e igualando a zero:

Page 116: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

116

( ) ( ) ( )[ ] ( ) 0....2..

2.2..0

=−−=⋅−

⋅=⋅⋅==

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

= bxYpxepb

bxYep

be

b

epe

b

b

bT

TTT

q

∂∂

∂∂

∂∂φ

∂∂φ

∂∂φ

Equação 6-DD

Resolvendo a equação 6-dd em relação ao vetor b :

( ) ( )YpxxpxbbxpxYpx TTTT .........1−

=⇒=

Equação 6-EE

A matriz p pode ser interpretada como uma ponderação da precisão e/ou importância das medições experimentais da VDep. Desta forma, se conhecermos as variâncias das medidas experimentais da VDep (σi

2) podemos escrever:

p

n

=

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

1 0 0

0 1 0

0 0 1

12

22

2

σ

σ

σ

Equação 6-FF

6.3. Ajuste de Modelos Matemáticos Não-Lineares

Nas seções anteriores deste capítulo, aprendemos como ajustar modelos lineares nos parâmetros a dados experimentais. No entanto, tal procedimento nem sempre é possível ou leva a resultados adequados. Por exemplo, no Exercício E6.4, para aplicar a regressão linear tivemos que "forçar a barra" e a resposta obtida foi inadequada. Nesses casos temos que executar uma regressão não-linear. Por regressão não-linear entende-se um problema de otimização cuja função objetivo é a minimização dos resíduos (soma dos quadrados dos erros) entre os valores medidos e os calculados da VDep. O modelos ajustado é da seguinte forma

( )miqiiii bbbxxx ,,,,,,, 2121 ……ηη =

Equação 6-GG

onde q é o número de variáveis independentes e m o número de parâmetros do modelo.

Page 117: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

117

Em notação matricial a equação 6-hh seria

( )bx,ηη =

Equação 6-HH onde

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

mnqnn

q

q

b

bb

b

xxx

xxxxxx

x 2

1

21

22221

11211

,

Equação 6-II

com n > m , isto é, o número de conjuntos de dados experimentais (n) deve ser maior que o número de parâmetros a ajustar (m). Cada valor observado da VD, Yi , associado a um conjunto de x's , denominado xi = [ xi1, xi2, ..., xiq ] , e esta relacionado com um valor esperado da VD , i , ou seja

nieY iii ,,2,1, …=+=η

Equação 6-JJ

onde ei representa a soma dos erros de medição e da forma do modelo. A equação de regressão (modelo a ser ajustado) é o seguinte

( )Y x x x b b b eq m= +η 1 2 1 2, , , , , , ,… …

Equação 6-KK

A função objetivo que almejamos é

( )[ ]{ }∑=

−=

=

n

iiii pbxY

bf

1

21 .,

min

ηφ

φ

Equação 6-LL A solução analítica deste problema conduz a um sistema de equações algébricas não-lineares. Um problema com grau de dificuldade igual ou maior ao problema de otimização original. Por isso a abordagem numérica do problema de otimização é a mais adequada. Podemos utilizar métodos de otimização diretos ou indiretos, conforme estudado no capítulo 5. Em qualquer dos casos, um ou mais critérios de parada devem ser estabelecidos, veja a seção 3.1.1.

6.3.1. Ajuste de Modelos por Métodos Diretos - Método do Poliedro Flexível

Podemos usar qualquer método direto (que não utiliza derivadas) para resolver o problema proposto pela equação 6-ll. Para ilustrar utilizaremos o

Page 118: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

118

método do poliedro flexível ou simplex. No MATLAB a função que invoca esse algoritmo é fmins. Para verificar o seu procedimento de chamada digite help fmins na linha de comando e consulte o parte manual do TOOLBOX DE OTIMIZAÇÃO DO MATLAB incluída no final desta apostila.

6.3.2. Ajuste de Modelos por Métodos Indiretos

Se o modelo a ser ajustado for não-linear podemos expandi-lo em uma série de Taylor, truncando a aproximação no segundo termo. Este procedimento leva ao método denominado de Gauss-Siedel, equivalente ao método de Newton (ou quasi-Newton). Desta forma obtemos um modelo recursivo linear, que é resolvido conforme procedimento análogo ao visto na seção 6.2. Uma outra alternativa é a linearização da função objetivo. Neste caso caímos em algoritmos por nós já estudados: gradiente descendente ou gradiente conjugado. A tabela 6-b compara os métodos indiretos para ajuste de modelos matemáticos a dados experimentais.

Tabela 6-B: Métodos Indiretos para Ajuste de Modelos

Método Linearização

Taxa de Convergência Fórmula de

Recorrência longe da solução

perto da solução

Gauss-Seidel do modelo lenta alta análoga à equação 6-ee

Gradiente (descendente ou

conjugado)

da função objetivo alta lenta

análoga à Equação 5-E

ou 5-H

Marquardt

combina a linearização do modelo com a

da função objetivo

inicia conforme o método do gradiente e

depois se comporta como o de Gauss-

Seidel

análoga à Equação 5-N

6.4. Observações e "Macetes"

Nesta seção descreveremos um procedimento geral, mas não infalível, para ajuste de modelos matemáticos a resultados experimentais. Veremos, também, alguns "macetes" que podem nos auxiliar e reduzir problemas de ordem numérica, tais como mal-condicionamento ou quase singularidades de matrizes. Como vimos o problema da estimativa de parâmetros é um caso particular de um problema de otimização. Semelhante à estimativa de parâmetros são os problemas de: a) estimativa de estado;

Page 119: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

119

b) simultânea estimativa de parâmetros e de estado; c) reconciliação de dados; d) simultânea reconciliação e estimativa de parâmetros. Podemos utilizar qualquer algoritmo numérico para resolver os problemas de estimativa de parâmetros. Particularmente, no TOOLBOX DE OTIMIZAÇÃO DO MATLAB estão disponíveis os seguintes algoritmos:

1) Método Quasi-Newton: Broyden-Fletcher-Golfarb-Shanno (BFGS). Comando do MATLAB fminu, com foptions(6) = 0

2) Método Quasi-Newton: Davidon-Fletcher-Powell (DFP). Comando do MATLAB fminu, com foptions(6) = 1

3) Método Gradiente Descendente. Comando do MATLAB fminu, com foptions(6) = 2

4) Método Poliedro flexível (Simplex) Comando do MATLAB fmins, com foptions(5) = 1

5) Método dos Mínimos Quadrados Não-Linear: Levenberg-Marquardt. Comando do MATLAB leastsq, com foptions(5) = 0

6) Método dos Mínimos Quadrados Não-Linear: Gauss-Newton. Comando do MATLAB leastsq, com foptions(5) = 1

7) Método do Mínimo Máximo. Comando do MATLAB minimax, com foptions default

Page 120: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

120

6.4.1. Procedimento Geral para Ajuste de Modelos

Via de regra os passos a serem seguidos no ajuste de modelos podem ser assim resumidos:

P1. Eliminação dos "outliers". Ou seja, retirada das informações discrepantes. Isto pode ser feito através da análise de gráficos e/ou por intermédio de algoritmos‡.

P2. Escolha da forma do modelo. É importante eliminar ou minimizar a interação entre as variáveis . Por exemplo, conforme procedimento análogo ao descrito na seção escolha da forma do modelo linear. Para a escolha entre modelos cinéticos concorrentes o livro Chemical Reactor Analysis and Design. 2a edição, 1990 de Kenneth B. BISCHOFF, e Gilbert F. FROMENT, tem um procedimento muito útil e eficiente. Na escolha do modelo, sempre que possível parta da análise dos princípios físico-químicos dos fenômenos envolvidos.

P3. MAPEAMENTO DA FUNÇÃO OBJETIVO: estimativa inicial dos parâmetros do modelo. Um procedimento eficiente, quando possível, é o ajuste linear dos parâmetros dos modelos. Se for possível faça inicialmente uma regressão linear, mesmo que tenha que linearizar o modelo a ser ajustado, pois este ajuste geralmente conduz a boas estimativas iniciais para a regressão não-linear. Outra possibilidade é a escolha de certo número de conjuntos de dados de forma que o sistema de equações tenha graus de liberdade zero. Resolvendo este sistema temos uma estimativa inicial dos parâmetros do modelo não-linear.

P4. MAPEAMENTO DA FUNÇÃO OBJETIVO: estudo do problema em torno da estimativa inicial dos parâmetros do modelo. Varie os parâmetros do modelo em torno da estimativa inicial e verifique o comportamento da função objetivo. Avalie os valores máximos e mínimos que os parâmetros do modelo podem assumir. Calcule as derivadas parciais da função objetivo em torno da estimativa inicial.

P5. Normalização dos parâmetros do modelo e/ou normalização da FO. Efetue transformações de forma que os parâmetros e/ou as parcelas da FO estejam na mesma ordem de grandeza .

P6. Ajuste dos parâmetros do método numérico. Tendo uma boa estimativa inicial dos parâmetros, ajuste os parâmetros dos métodos numéricos de forma a minimizar o tempo necessário ao ajuste e/ou a aumentar a precisão dos resultados obtidos.

P7. Ajuste não-linear dos parâmetros do modelo.

‡ Himmelblau, D. M., Process Analysis by Statistical Methods. John Wiley & Sons, New York, 1970. Pg's 77, 78, 135 e 136

Idem pg 194. Idem pg's 148, 149, 193 e 194.

Page 121: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

121

P8. Estude a sensibilidade da FO. Verifique como se comporta a FO frente a variações nas VDep's e nos parâmetros do modelo¥. Varie os parâmetros do modelo em torno da solução ótima obtida e verifique o comportamento da função objetivo. Calcule as derivadas parciais da função objetivo em torno do ponto ótimo.

P9. Defina o intervalo de confiança e/ou a região conjunta de confiança dos parâmetros. Embora fuja ao escopo deste curso, a análise da variância dos parâmetros deve sempre ser realizada§ .

P10.Realize simulações com os parâmetros ajustados, interpretando os resultados.

No Apêndice I estão reproduzidas as páginas citadas no rodapé.

6.5. Exercícios

E6.1. Determine qual a forma linear que melhor se ajusta aos dados

experimentais da tabela abaixo.

Dados de um experimento

x Y

1 62.1

2 87.2

3 109.5

4 127.3

5 134.7

6 136.2

7 134.9

¥ Idem pg 147 e 148 § Idem pg's 154 a 164, 197 a 200

Page 122: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

122

E6.2. Utilizando a equação 6-b e a equação 6-g demonstre que esta última conduz a parâmetros mutuamente independentes.

E6.3. Os seguintes dados de equilíbrio de SO3 em hexano são disponíveis.

Determine um modelo linear adequado a esse experimento.

Dados experimentais do equilíbrio do SO3 em hexano

x Y

Pressão

(psia)

Fração Molar do Hexano

200 0.848

400 0.573

600 0.401

800 0.288

1000 0.209

1200 0.153

1400 0.111

1600 0.078

Obs.: no diretório de trabalho existe o arquivo E6_3.dat com os dados da tabela

acima.

Page 123: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

123

E6.4. Ajuste, através de uma regressão linear e de uma não-linear, a equação de estado de Berthelot (para 1 mol):

P RgTV b

aTV

=−

− 2

para o SO2 a partir dos seguintes dados:

V (cm3/g)

P (ata)

massa de gás (g)

T (°C)

67,810 5,651 0,2948 50 50,882 7,338 0,2948 50 45,280 8,118 0,2948 50

72,946 5,767 0,2948 75 49,603 8,237 0,2948 75 23,331 15,710 0,2948 75

80,170 5,699 0,2948 100 45,664 9,676 0,2948 100 25,284 16,345 0,2948 100 15,285 24,401 0,2948 100

84,581 5,812 0,2948 125 42,675 11,120 0,2948 125 23,480 19,017 0,2948 125 14,735 27,921 0,2948 125

23,913 20,314 1,9533 150 18,241 25,695 1,9533 150

7,2937 51,022 1,9533 150 4,6577 63,730 1,9533 150

20,685 26,617 1,9533 200 10,595 47,498 1,9533 200

5,8481 74,190 1,9533 200

Ref.: Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley & Sons, New York, 1970.

Interprete os resultados obtidos comparando-os com a solução encontradas por vocês no exercício E5.4.

Obs.: no diretório de trabalho existe o arquivo E6_4.dat com os dados da tabela acima.

Page 124: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

124

E6.5. Óxido de nitrogênio é absorvido numa solução reacional para produzir um certo composto. Os dados dos experimentos estão a seguir. Aplicando o roteiro descrito na seção 6.4.1, estime os coeficientes do modelo b1, b2 e b3.

( )y b b x xb= 1 23.exp . .

Dados do experimento x Y

Óxido de Nitrogênio

Absorvido (g/l)

Concentração do Produto

(g/l)

0.09 15.1

0.32 57.3

0.69 103.3

1.51 174.6

2.29 191.5

3.06 193.2

3.39 178.7

3.63 172.3

3.77 167.5

Obs.: no diretório de trabalho existe o arquivo E6_5.dat com os dados da tabela acima. Utilize o método do poliedro flexível.

Page 125: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

125

E6.6. Ajuste a equação de Antoine

log10 p A BT

= −

ondepé a pressão de vapor em milímetros de mercúrio,Té a temperatura em Kelvin, eAeBsão constantes a serem determinadas.

Pressão do vapor para H2SO4 (95 % peso) em H2O para diferentes temperaturas

Pressão de Vapor,p(mm Hg) Temperatura Absoluta (K) 0.00150 8.39 308.16 438.16 0.00235 10.30 313.16 443.16 0.00370 12.90 318.16 448.16 0.00580 15.90 323.16 453.16 0.00877 20.20 328.16 458.16 0.01330 24.80 333.16 463.16 0.01960 30.70 338.16 468.16 0.02880 36.70 343.16 473.16 0.04150 45.30 348.16 478.16 0.06060 55.00 353.16 483.16 0.08790 66.90 358.16 488.16 0.12300 79.80 363.16 493.16 0.17200 95.50 368.16 498.16 0.23700 115.00 373.16 503.16 0.32100 137.00 378.16 508.16 0.43700 164.00 383.16 513.16 0.59000 193.00 388.16 518.16 0.78800 229.00 393.16 523.16 1.0700 268.00 398.16 528.16 1.4200 314.00 403.16 533.16 1.8700 363.00 408.16 538.16 2.4000 430.00 413.16 543.16 3.1100 500.00 418.16 548.16 4.0200 580.00 423.16 553.16 5.1300 682.00 428.16 558.16 6.4700 790.00 433.019 563.16

Obs.: no diretório de trabalho existe o arquivo E6_6.dat com os dados da tabela acima.

Page 126: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

126

7. Programação Linear (PL)

Neste capítulo estudaremos o método de otimização denominado programação linear (linear programming - LP). Esse algoritmo é o mais robusto e eficiente para resolver problemas que tenham a FO linear e suas FR's dadas por equações ou inequações lineares nos parâmetros e nas variáveis (problema de programação linear - PPL). A forma padrão do PPL é a seguinte:

( )

( ) [ ]

[ ]

[ ] pmjbxa

mjbxa

qix

xccx

cxx

j

q

iiji

j

q

iiji

i

q

iii

,,2,1,e

,,2,1,e

,,2,1,0asujeito

,

,min

1

1

1

+=≤

==

=≥

=

=

=

=

φ

φ

Equação 7-A ou em notação matricial:

( )

( )

minx

x c

x c c xx i qA x b

A x b

T

i

φ

φ

,

,, , , ,

=

≥ ==

sujeito ae

e

0 1 2

1 1

2 2

Equação 7-B

Para entender como funciona o algoritmo de PL vejamos o exemplo do exercício E3.3. A aplicação dos procedimento aprendidos na seção 1.7 a esse problema nos leva a seguinte formulação:

Função objetivo (FO): maximizar o lucro lucro = faturamento - custo matéria-prima - custo processamento

seja x1 = bbl/dia consumido de petróleo tipo 1 x2 = bbl/dia consumido de petróleo tipo 2 x3 = bbl/dia produzido de gasolina x4 = bbl/dia produzido de querosene

Page 127: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

127

x5 = bbl/dia produzido de óleo combustível x6 = bbl/dia produzido de resíduo então, em dólares por dia, podemos escrever: faturamento = 36.x3 + 24.x4 + 21.x5 + 10.x6 custo matéria-prima = 24.x1 + 15.x2 custo processamento = 0,5.x1 + 1,0.x2

As restrições desse problema são (FR's):

Quanto ao rendimento a cada tipo de produto:

Gasolina: 0,80.x1 + 0,44.x2 = x3

Querosene: 0,05.x1 + 0,10.x2 = x4

Óleo combustível: 0,10.x1 + 0,36.x2 = x5

Resíduo: 0,05.x1 + 0,10.x2 = x6

Quanto à capacidade colocação da produção da planta no mercado:

Gasolina: x3 < 24.000; 0,80.x1 + 0,44.x2 < 24.000

Querosene: x4 < 2.000; 0,05.x1 + 0,10.x2< 2.000

Óleo combustível: x5 < 6.000; 0,10.x1 + 0,36.x2< 6.000

Quanto a natureza matemática das variáveis:

por se tratar de vazões e/ou produções. xi > 0 ,i = 1, 2, ..., 6

Substituindo as relações (restrições de igualdade) e simplificando as expressões, obtemos:

( )

( )

000.636,010,0000.210,005,0000.2444,080,0e

2,1,0asujeito8,101,8

max

21

21

21

21

≤+≤+≤+

=≥+=

xxxxxxixxxx

xx

i

φ

φ

Equação 7-C

Page 128: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

128

ou em notação matricial: ( )

( )

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

≤=≥

=

000.6000.2000.24

,36,010,010,005,044,080,0

8,101,8

,onde

.e2,1,0asujeito

,

,max

2

1

bA

cxx

x

bxAix

xccx

cxx

i

φ

Equação 7-D

Rescrevendo o problema na forma padrão:

( )

( )

bxAix

xccx

cxx

i

T

≤=≥

=

.e2,1,0asujeito

,

,min

φ

φ

Equação 7-E

As restrições definem uma região viável, conforme pode ser observada na figura 7-a.

Figura 7-A: Região viável de um PPL

Demonstra-se que o máximo de uma função linear sempre ocorre nas restrições (limites) da mesma. Assim, o máximo de nosso problema estará nas interseções das retas e/ou nas retas que definem a região viável.

Page 129: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

129

Portanto, para encontrarmos o mínimo de um PPL basta pesquisar nas interseções das retas de restrição. Os algoritmos de PL utilizam desta propriedade para encontrar o ponto ótimo. É importante lembrar que um PPL é uma função côncava e convexa, limitada por funções convexas, portanto a região viável é convexa. Consequentemente existe apenas um único ponto de mínimo (máximo), ou seja o mínimo (ou o máximo) é global. Maiores discussões sobre funções côncavas/convexas e região convexa podem ser vistas nas seções 2.11 e 2.12. Para resolver o problema supracitado utilizando o Toolbox de Otimização do MATLAB, basta digitar na linha de comando do MATLAB as seguintes instruções:

c=[ 8.1 ; 10.8 ] b = [ 24000 ; 2000 ; 6000 ] A = [ 0.80 , 0.44 ; 0.05 , 0.10 ; 0.10 , 0.36 ] x = lp(-c,A,b)

O comando help lp informa como utilizar o comando lp ("linear programming").

O algoritmo Simplex e suas variações é o método computacional mais adotado para resolver um PPL. Ele se baseia nas características inerentes de um PPL (FO côncava/convexa, região convexa, etc.). Um estudo mais detalhado deste algoritmo foge ao escopo deste curso, pois precisaríamos de conceitos matemáticos não abordados anteriormente. Além disso, tal estudo é relevante apenas quando for necessário implementar um novo algoritmo numérico, meta que extrapola os objetivos deste curso.

Cuidado para não confundir o algoritmo Simplex para PL com o Poliedro Flexível (que alguns autores também denominam de Simplex).

7.1. Convertendo Problemas para a Forma Padrão da PL

Algumas vezes a formulação do problema de otimização conduz a expressões lineares. Porém, não atendem à sintaxe rígida dos programas de computador, isto é, o problema não esta escrito na forma padrão adequada aos pacotes computacionais. A forma padrão adotada neste curso e no "Toolbox" de Otimização do MATLAB é a representada pela equação 7-b. A depender do autor/pacote computacional esta forma padrão sofre pequenas modificações. Portanto certo cuidado é necessário ao escrever um PPL. As equivalências entre formas alternativas e padrão são as seguintes: 1. Forma alternativa envolve a maximização de uma função (max f).

Solução: define-se f* = -f e resolve-se o novo problema (min f*). 2. Forma alternativa contém restrição de desigualdade com sinal >:

Solução: multiplica-se essa restrição por-1 .

Page 130: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

130

3. Forma alternativa na qual a variável de decisão (xk ) não obedece, estritamente, axk > 0. Neste caso podemos escrever xk > uk , com uk ∈ R . Solução: define-se uma nova variável de decisão yk = xk - uk , assim yk > 0 .

4. Forma alternativa na qual a variável de decisão (xk ) é irrestrita em sinal. Solução: define-se duas novas variáveis de decisão xk

+ e xk- , ambas

positivas, de forma que xk = xk+ - xk ; após resolvido o problema

conhecemos xk+ e xk

- , consequentemente podemos calcular xk .

Obs.: para utilizar o "Toolbox" de Otimização do MATLAB não é necessário empregar as transformações sugeridas nos item 3 e 4. Apenas as apresentamos aqui porque a maioria dos pacotes de otimização de PL utilizam a forma padrão, conforme a equação 7-a.

7.2. A Dualidade em Programação Linear.

Todo PPL tem uma forma dual, isto é, podemos rescrever o problema de outra maneira porém matematicamente equivalente. A forma dual, apesar de não ser a natural ou forma primal (aquela que é obtida na análise do problema), tem algumas propriedades que podem facilitar a resolução computacional. A demonstração da equivalência das formas primal e dual foge ao escopo deste curso. Um estudo completo das propriedades e demonstrações matemáticas do problema primal-dual pode ser encontrado em Dantzig (1963)♣. Dado um problema na forma primal:

( )

( )

)(irrestrito)(0

)(..

)(..asujeito,

,min

22

11

2222121

1212111

2211

rxrx

mbxAxA

qbxAxAxcxccx

cxx

TT

≤+

=++=φ

φ

Equação 7-F

Obs.: as letras entre parênteses representam o número de equações ou variáveis.

♣ Dantzig, G. B., Linear Programming and Extensions, Princeton University Press, Princeton ,

New Jersey (1963).

Page 131: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

131

A formulação dual será: ( )

( )

)(irrestrito

)(0

)(..

)(..asujeito

,

,min

2

1

22222121

11212111

2211

my

qy

rcyAyA

rcyAyA

ybybby

byy

TT

TT

TT

≥+

=+

+=ϕ

ϕ

Equação 7-G

ondey1ey2são as variáveis duais, também denominadas de multiplicadores de Lagrange. Para cada variável primal existe uma dual e vice versa. Portanto conhecendo as variáveis duais obteremos as primais. Observe que os coeficientes da FO na forma primal se tornam os termos do lado direito das FR's na forma dual, enquanto que os termos do lado direito da forma primal se transformam nos coeficientes da FO na forma dual. Além disso aplicando a transposta nas matrizes dos coeficientes das FR's da forma primal (Aij) , as mesmas se tornam as matrizes dos coeficientes das FR's da forma dual (Aij

T). Note, também, que o problema primal de minimização se transforma numa maximização na forma dual e que o sinal de desigualdade é invertido.

7.3. Análise de Sensibilidade em PL

O PPL apenas estará completamente resolvido após realizar a análise de sensibilidade da solução a mudanças nos coeficientes da FO e das FR's. Este procedimento é necessário pois tais coeficientes e constantes, geralmente, não são conhecidos com precisão ou às vezes é possível modificar seus valores. As principais razões das incertezas na formulação de um PPL são: 1. Estimativa de preços de matéria-prima e/ou produto; 2. Estimativa de demanda; 3. Estimativa de capacidade produtiva da planta; etc. Outras vezes é interessante realizar a análise de sensibilidade pois, sendo algumas restrições/variáveis controláveis, podemos modificá-las de forma a maximizar/minimizar o valor da FO. Por exemplo, a depender do problema temos condições de manipular 1. o capital disponível; 2. a capacidade de processamento de uma unidade a ser construída; 3. o nível de automatização de uma planta; etc.

Page 132: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

132

A análise de sensibilidade é realizada modificando o valor das constantes para mais e/ou para menos e acompanhando sua influência sobre o valor da FO e do ponto ótimo alcançado.

7.4. Programação Linear Sucessiva (PLS)

Quando um problema de otimização é não linear, seja na FO, seja nas FR's, uma possibilidade para encontrar o ponto ótimo é através da linearização e aplicação seqüencial de PL. Suponha que o vetor x# seja uma solução viável do problema não-linear. Linearizando, em torno de x# , a FO e as FR's que sejam não lineares obtemos:

( ) ( ) ( ) ( )( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) 0

0s.a.

min

###

###

###

≥∇−+≈

=∇−+≈

∇−+≈

xgxxxgxg

xhxxxhxh

xxxxx

j

T

jj

j

T

jj

Tφφφ

Equação 7-H

onde cada componente do vetor(x- x#) é limitado inferior e superiormente para garantir que a solução do PPL esteja próxima de da estimativa inicial x# . O algoritmo para o método PLS é o seguinte: 1. Defina os limites inferior e superior de validade da linearização; 2. Defina uma estimativa inicial viável do problema não-linear: xk ; 3. Linearize a FO e/ou as FR's em torno deste ponto. Encontre a solução ótima

do PPL linearizado: xk+1 ; 4. Verifique se xk+1 é uma solução viável do problema não-linear. Se sim faça

xk = xk+1e retorne ao passo 3, até que o(s) critério(s) de parada seja(m) atendido(s); se não diminua os limites inferior e superior de validade da linearização e retorne ao passo 3.

Os algoritmos de PLS tem algumas vantagens: a) são fáceis de implementar; b) podem manipular problemas com um grande número de variáveis e/ou

restrições; c) convergem rapidamente quando o ponto ótimo está numa interseção de

restrições; d) são aplicáveis em problemas com um nível "moderado" de não-linearidades. As desvantagens dos algoritmos PLS são: a) a PLS converge lentamente quando o ponto ótimo se localiza no interior da

região viável; b) a PLS converge lentamente quando existe um número elevado de variáveis

não-lineares;

Page 133: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

133

c) se a não-linearidade é elevada, o passo de iteração deve ser pequeno, resultando em um grande esforço computacional.

7.5. Exercícios

E7.1. Escreva na forma padrão o seguinte PPL. Resolva utilizando o MATLAB.

maxx x xx x x

x xx x x

xx

φφ = − +

− + =+ ≥+ + ≤

≥≤

3 2 42 8 9 5

5 81 6 4 7 8 4

00

1 2 3

1 2 3

1 3

1 2 3

1

2

s.a.

, ,

E7.2. Resolva, utilizando o comando do MATLAB lp , o exercício E3.1 Qual o custo mínimo de armazenamento e quanto cada tanque deve

conter. E7.3. Faça uma análise de sensibilidade no exercício E3.3.

Page 134: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

134

8. Multiplicadores de Lagrange

Quando o problema de otimização é não-linear podemos aplicar o método dos multiplicadores de Lagrange. Este método localiza os pontos críticos, ou seja, identifica possíveis pontos que podem ser máximo, mínimo ou ponto de sela. A definição de qual é a natureza do ponto crítico é dada pelo Hessiano neste ponto. Este método converte um problema de otimização com restrições em um problema sem restrição, através da introdução de constantes denominadas multiplicadores de Lagrange. Para compreender este método, considere a minimização de uma função denvariáveis sujeita a uma única restrição de igualdade:

( )( ) 0,,,s.a.

,,,min

211

21

=n

n

xxxhxxx

……φ

Equação 8-A

Defina uma nova função, denominada de função Lagrangeana ou simplesmente Lagrangeana(o), da seguinte maneira:

( ) ( ) ( )xhwxwxL 11., += φ

Equação 8-B

ondew1é denominado multiplicador de Lagrange, sendo irrestrito quanto ao sinal. No ponto crítico a FO original e a Lagrangeana tem que ser iguais, pois a restrição de igualdade deve ser obedecida, isto é, se x* é um ponto crítico, entãow1é um multiplicador de Lagrange e :

( ) ( ) ( ) ( ) ( ) 0pois., 111 =+== ∗∗∗∗∗ xhxhwxwxLx φφ

Equação 8-C

Logo o problema se resume a encontrar umw1que satisfaça o seguinte problema de otimização sem restrição:

( )( ) ( ) ( )nnn

n

xxxhwxxxwxxxLwxxxL

,,,.,,,,,,,onde,,,,min

211121121

121

…………

+= φ

Equação 8-D

Como trata-se de um problema sem restrições, a condição necessária para que um ponto seja crítico é obtida derivando a FO em relação às suas variáveis de decisão e igualando essas expressões a zero:

Page 135: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

135

( ) 0

0

0

0

1

2

1

==

=

=

=

xhwLxL

xLxL

n

∂∂∂∂

∂∂∂∂

Equação 8-E

Esse sistema de equações algébricas tem n+1 equações e n+1 incógnitas, portanto pode ser resolvido.

Exemplo 8.1: Considere o seguinte problema de otimização não-linear:

( )( )( ) 025s.a.

.min

22

21

21

=−−=

=

xxxh

xxxx

φφ

o Lagrangeano deste problema é:

( ) ( ) ( ) ( )22

211211 25.. xxwxxxhwxxL −−+=+=φ

portanto as condições necessárias para um ponto ser crítico são: ( )

( )

( )025

,,

0..2,,

0..2,,

22

21

1

121

2112

121

1121

121

=−−=

=−=

=−=

xxw

wxxL

xwxx

wxxL

xwxx

wxxL

∂∂

∂∂

∂∂

resolvendo esse sistema de equações algébricas não-lineares encontramos os seguintes pontos críticos:

w1 x1 x2

-0,5 +3,54 -3,54

-3,54 +3,54

+0,5 +3,54 +3,54

-3,54 -3,54

Page 136: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

136

para saber se o ponto é de mínimo ou de máximo temos que calcular a Hessiana da Lagrangeana em relação ao vetorxno ponto crítico♠ :

( ) ( )

( ) ( )

( ) ( ) ⎥⎦

⎤⎢⎣

⎡−

−=

⎥⎥⎥⎥

⎢⎢⎢⎢

=∇=1

1

22

2

12

221

2

12

2

2

.211.2

,,

,,

ww

xwxL

xxwxL

xxwxL

xwxL

xLHxL

∂∂

∂∂∂

∂∂∂

∂∂

para os pontos críticos temos as seguintes possibilidades:

( ) ( ) ( )

( ) ( ) ( ) ⎥⎦

⎤⎢⎣

⎡⇒⎥⎦

⎤⎢⎣

⎡−

−=⇒−−++=⇒+=

⎥⎦

⎤⎢⎣

⎡⇒⎥⎦

⎤⎢⎣

⎡+

+=⇒+−−+=⇒−=

02-

= sautovalore11

1154,3;54,3ou54,3;54,35,0p/

2+0

= sautovalore11

1154,3;54,3ou54,3;54,35,0p/

1

1

λ

λ

L

L

Hxw

Hxw

como os autovalores são não-negativos (ou não-positivos) a matriz Hessiana é positiva semi-definida (negativa semi-definida) e esse ponto é, possivelmente um mínimo (máximo); para comprovar se realmente é um ponto de mínimo temos que avaliar a FO:

para w1 = -0,5 ⇒ φ(x) = -12,5

para w1 = +0,5 ⇒ φ(x) = +12,5 comparando os valores da FO e a matriz Hessiana nos pontos críticos concluímos que:

w1 x1 x2 φ(x) HL Ponto

-0,5 +3,54 -3,54 -12,5 > 0 mínimo

-3,54 +3,54 -12,5 > 0 mínimo

+0,5 +3,54 +3,54 +12,5 < 0 máximo

-3,54 -3,54 +12,5 < 0 máximo

O problema de otimização na forma geral pode conter restrições de igualdade e de inequações. Neste último caso temos que transformar as inequações em equações utilizando variáveis de folga ("slack variable"). Assim o problema

( )( )( )

min x

h x j m

g x j m pj

j

φ

s.a. = =

≥ = +

0 1

0 1

, ,

, ,

Equação 8-F

♠ Na seção 2.11 e 2.13 estudamos a matriz Hessiana e o seu significado.

Page 137: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

137

é transformado, pela subtração, na inequação, do quadrado da variável de folga, σj

2, j = m+1, ..., p:

( )( )

( ) pmjxg

mjxhx

jj

j

,,10

,,10s.a.min

2 …

+==−

==

σ

φ

Equação 8-G

Agora podemos definir a Lagrangeana da seguinte forma

( ) ( ) ( )[ ] ( )[ ]{ }∑∑+==

−++=p

mjjjj

m

jjj xgwxhwxwxL

1

2

1.., σφ

Equação 8-H

Novamente como trata-se de um problema sem restrições, a condição necessária para que um ponto seja crítico é obtida derivando a FO em relação às suas variáveis de decisão e igualando essas expressões a zero:

( )

( )

( ) pmjwwxL

pjw

wxL

nix

wxL

jjj

j

i

,,10.2,,

,,10,,

,,10,,

+===

==

==

σ∂σ

σ∂

∂σ∂

∂σ∂

Equação 8-I

Exemplo 8.2: Considere o seguinte problema de otimização não-linear:

( )( )( ) 025s.a.

.min

22

21

21

≥−−=

=

xxxg

xxxx

φφ

o Lagrangeano deste problema é:

( ) ( ) ( ) ( )21

22

211211 25.. σφ −−−+=+= xxwxxxgwxxL

portanto as condições necessárias para um ponto ser crítico são:

Page 138: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

138

( )

( )

( )

( )0..2

,,,

025,,,

0..2,,,

0..2,,,

111

1121

21

22

21

1

1121

2112

1121

1121

1121

==

=−−−=

=−=

=−=

σ∂σ

σ∂

σ∂

σ∂∂

σ∂∂

σ∂

wwxxL

xxw

wxxL

xwxx

wxxL

xwxx

wxxL

resolvendo esse sistema de equações algébricas não-lineares encontramos os seguintes pontos críticos:

w1 σ1 x1 x2 φ(x) Ponto

0 5 0 0 0 de sela

-0,5 0 +3,54 -3,54 -12,5 mínimo

0 -3,54 +3,54 -12,5 mínimo

+0,5 0 +3,54 +3,54 +12,5 máximo

0 -3,54 -3,54 +12,5 máximo

Nesta tabela também observamos o valor da função a ser minimizada e a característica do ponto crítico.

8.1. Análise de Sensibilidade por Multiplicadores de Lagrange

Os multiplicadores de Lagrange tem uma importante e especial interpretação em problemas de otimização: eles fornecem a sensibilidade da FO em relação a mudanças nos termos constantes das FR's. Seja o problema de otimização a seguir:

( )( )

( ) ( ) exhxh

eexh

x

−=

=

s.a.

sejaou constante) sendo (s.a.

minφ

Equação 8-J

Então o Lagrangeano será

( ) ( )[ ]{ } wexhwxee

L−=−+= φ

∂∂

∂∂

Equação 8-K

Aproximando a equação 8-k por diferenças finitas, obtemos:

Page 139: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

139

ewLweL

Δ−=Δ−=ΔΔ .ou

Equação 8-L

Interpretando a equação 8-l podemos tirar as seguintes conclusões: 1. A variação do Lagrangeano a uma mudança nos valores das restrições é

diretamente proporcional ao multiplicador de Lagrange associado a essa restrição;

2. No ponto ótimo, a afirmação acima pode ser estendida à FO, isto é, o multiplicador de Lagrange informa quão sensível é a FO em relação a mudanças nas restrições.

8.2. Condições de Kuhn-Tucker - CKT

Nas seções anteriores vimos como utilizar os multiplicadores de Lagrange para solucionar problemas de otimização. Kuhn e Tucker estabeleceram, baseados nos multiplicadores de Lagrange, condições necessárias e suficientes para problemas de programação (otimização) não-lineares (PNL). Considere os seguinte problema de PNL ("nonlinear programming" - NLP):

( )( )

( ) Kkxg

Jjxhx

k

j

,,10

,,10s.a.min

……

=≥

==φ

Equação 8-M

Assumindo que as funções φ , h e g são diferenciáveis, as condições necessárias para que o ponto x* seja mínimo, ou as condições de Kuhn-Tucker são:

( ) ( ) ( ) ( )

( )( )

( )Kku

KkxguKkxg

Jjxh

xguxhwxuwxL

k

kk

k

j

K

kkk

J

jjjx

,,2,10,,2,10.

,,2,10

,,2,10

0..,,11

…………

=≥==

==

==

=∇−∇−∇=∇ ∑∑==

φ

Equação 8-N

A demonstração dessa condição está além do escopo deste curso. O leitor interessado pode encontrar uma prova formal em Bazaraa, M. S. e Shetty (1979)♣.

♣ Bazaraa, M. S. e Shetty, C. M., Nonlinear Programming: Theory and Algoritms, John Wiley & Sons, New York, 1979.

Page 140: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

140

Além disso, se a FO é convexa, as restrições de igualdade forem lineares e as restrições de inequações forem côncavas; e se existir (x*, w*, u*) que satisfaça as CKT, então x* é o ponto ótimo (ótimo global). Esta é a condição suficiente.

8.3. Vantagens e Desvantagens dos Multiplicadores de Lagrange

Abaixo estão descritas as vantagens do método dos multiplicadores de Lagrange: 1. Permite fazer fácil análise de sensibilidade da FO às restrições; 2. Serve de embasamento teórico a outros métodos de otimização; 3. Permite estabelecer condições necessárias e suficientes de pontos ótimos. As desvantagens deste método são as seguintes: 1. Nem sempre os multiplicadores de Lagrange existem; 2. O cálculo dos multiplicadores pode ser muito complicado; 3. Ou recai num sistema de equações algébricas, muitas vezes não-lineares,

que pode ter difícil solução; ou .então o aumento do número de variáveis independentes (variáveis de decisão mais os multiplicadores de Lagrange) torna difícil a solução do problema.

8.4. Exercícios

E8.1. Utilizando os multiplicadores de Lagrange, maximize f = x1

2 + x22 + 4x1x2

sujeito a x1 + x2 = 8 . Se a restrição modificar para x1 + x2 = 8,01 , qual a mudança na Lagrangeana? E na FO?

E8.2. O custo de construção de uma coluna de destilação pode ser descrito

como: C C A N C H A N C C C C Cp s f d b L x= + + + + + +. . . . .

onde C - custo total, $ Cp - custo por pé-quadrados de área de um prato, $/ft2

Page 141: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

141

A - área da seção transversal da coluna, ft2 N - número de pratos Nmin - número mínimo de pratos Cs - custo da estrutura, $/ft3 H - distância entre os pratos, ft Cf - custo da bomba de alimentação, $ Cd - custo da bomba do destilado, $ Cb - custo da bomba do fundo, $ CL - custo da bomba do reciclo, $ Cx - outros custos fixos, $ O problema consiste em minimizar o custo total, levando em conta que as especificações quanto a quantidade e qualidade de produto devem ser atendidas. Considere, também, que os custos das bombas são conhecidos e fixos, isto é, Cf, Cd e Cb são constantes. O material de construção também já foi selecionado, portanto Cp, Cs e Cx já foram determinados. As variáveis de processo são relacionadas por duas expressões empíricas:

( )

LD N

N

LD

A K L D

min min

=− ⎛⎝⎜

⎞⎠⎟

⎢⎢⎢

⎥⎥⎥

⎛⎝⎜

⎞⎠⎟

= +

1

1

α

β.

para simplificar assuma α = β= 1; então

( )

LD N

N

LD

A K L D

min min

=− ⎛⎝⎜

⎞⎠⎟

⎢⎢⎢

⎥⎥⎥

⎛⎝⎜

⎞⎠⎟

= +

1

1

.

Para a coluna de destilação em questão os seguintes parâmetros são

conhecidos: Cp = 30 Cd = 3000 D = 1000

Cs = 10 Cb = 2000 Nmin = 5

H = 2 Cx = 8000 (L/D)min =1

Cf =4000 F = 1500 K = 0,01 (h.ft2)/lb O custo da bomba de refluxo é relacionado com a vazão da corrente de refluxo e é dada por:

Page 142: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

142

C LL = +5000 0 7, .

Pede-se: a) Determine as variáveis de decisão (independentes) e as variáveis

dependentes; b) Utilizando os multiplicadores de Lagrange, encontre o ponto mínimo e o

correspondente custo de construção da coluna.

F (alimentação

D (destilado)

L (refluxo)

B (resíduo)

Page 143: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

143

9. Função Penalidade

Um dos métodos mais empregados em problemas de otimização não-linear é o da função penalidade. Basicamente consiste numa aproximação sucessiva da solução partindo de uma estimativa inicial x(0), que pode ou não ser um ponto viável, e de um certo valor para o parâmetro de penalização R. À medida que R diminui, isto é, a penalização por violar as restrições diminui, as soluções x(k) se aproximam do ponto ótimo x*. A idéia deste método é transformar o problema com restrição:

( )( )

( ) pmjxg

mjxhx

j

j

,,10

,,10s.a.min

……+=≥

==φ

Equação 9-A

num problema irrestrito, utilizando uma função penalidade que pondera a influência da restrição na FO, isto é, à FO original é acrescentados termos que dependem das restrições e do parâmetro de penalização. No início do algoritmo o problema é tratado como irrestrito (R infinito) e gradualmente R diminui penalizando as violações das restrições. Assim a equação 9-a fica transformada em:

( )( ) ( ) ( ) ( )( )xgxhRxRxP

RxP,,,

,minΩ+=φ

Equação 9-B

O termo penalizante pode assumir várias formas, alguns das quais podem ser observadas na tabela 9-a. Vamos demonstrar o uso da função penalidade através de um exemplo simples.

Exemplo 9.1:

( )( ) ( ) ( )

( ) 05, s.a.44,

,min

2121

22

2121

21

=−+=−+−=

xxxxhxxxx

xx

φ

φ

Utilizando uma penalidade quadrática, escrevemos a função penalidade:

( ) ( ) ( ) ( )221

22

2121 5144,, −++−+−= xx

RxxRxxP

Agora temos um problema de otimização sem restrições, que pode ser resolvido utilizando o método do poliedro flexível. Para implementar o método da função penalidade temos que definir:

Page 144: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

144

1. Razão de atualização do parâmetro de penalização (RR), pois o mesmo deve ser inicializado com um valor elevado e gradualmente ir diminuindo;

2. Critério de parada: (a) até quando o valor de R irá diminuir; (b) em relação a dois valores sucessivos das variáveis de decisão; (c) em relação a dois valores sucessivos do valor da função penalidade; (d) em relação a dois valores sucessivos do valor da função objetivo.

Neste exemplo adotaremos apenas o critério de parada 2(a). Na tabela abaixo vemos o resultado das sucessivas iterações até atingir o critério de parada (R < 0,0001). Observe que o método vai convergindo a cada iteração, pois: 1. O valor da função de restrição vai diminuindo; 2. Os valores das variáveis de decisão tendem ao valor exato;

3. O valor da função penalidade P(x1, x2, R) vai se aproximando da FO φ(x1, x2)

R x1 x2 P(x1, x2, R) φx1, x2) h(x1, x2) 4,0000 4,0000 0,000000 0,00000000

03,0000

1000 3,9970 3,9970 0,008982 0,000018031

2,9940

100 3,9706 3,9706 0,088235 0,00172920 2,9412

10 3,7500 3,7500 0,750000 0,125020000

2,5000

1 3,0000 3,0000 3,000000 1,999000000

1,0001

0,1 2,5715 2,5714 4,285700 4,081600000

0,1429

0,01 2,5075 2,5074 4,477600 4,455300000

0,0149

0,001 2,5008 2,5007 4,497800 4,495500000

0,00150

0,0001 2,5000 2,5001 4,499800 4,499600000

0,00015

Solução Exata

2,5000 2,5000 4,500000 4,500000000

0,00000

Outra observação pertinente é que a seqüência de pontos não pertencem à região viável, ou seja, os pontos (x1, x2)(k) são exteriores à região viável. Quando a função penalidade é escrita de forma a gerar uma seqüência de pontos viáveis é dito que o algoritmo é um método de pontos interiores, quando

Page 145: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

145

não pertencem é denominado método de pontos exteriores, quando gera pontos dentro e fora da região viável chamamos de método de pontos mistos. Não existe uma função penalidade que seja adequada a todos os problemas, portanto para cada problema temos que descobrir a função penalidade mais apropriada.

Page 146: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

146

Tabela 9-A: Tipos de funções penalidades - ( ) ( ) ( ) ( )( )xgxhRxRxP ,,, Ω+=φ

Tipo de Função Penalidade

Restrição Denominação Expressão

Igualdade Penalidade Parabólica

( )( ) ( )[ ]∑=

=Ωm

jj xh

RxhR

1

21,

Equação 9-C

Inequações Barreira Infinita

( )( ) ( )∑∈

=ΩJj

j xgxh .1020

Equação 9-D onde J identifica o conjunto de restrições violadas, isto é, neste caso

( ) Jjxg j ∈∀< 0

Inequações Penalidade Logarítmica

( )( ) ( )[ ]∑+=

−=Ωp

mjj xgRxg

1

2ln.

Equação 9-E

Inequações Penalidade Inversa ( )( )

( )[ ]∑+=

=Ω p

mjj xg

RxgR

1

2

1,

Equação 9-F

Inequações Operador Parênteses

( )( ) ( )[ ]∑+=

=Ωp

mjj xg

RxgR

1

21,

Equação 9-G

Equações e Inequações

( ) ( )( ) ( )[ ]( )[ ]∑

∑+=

=

+=Ω p

mjj

m

jj

xgRxh

RxgxhR

1

21

2 11,,

Equação 9-H

Equações e Inequações

( )( ) ( )[ ] ( )[ ]∑∑+==

−=Ωp

mjj

m

jj xgRxh

RxgR

1

2

1

2 ln1,

Equação 9-I

Equações e Inequações

( )( ) ( ) ( )∑∑+==

+=Ωp

mjj

m

jj xgxhxgR

1

20

1

20 1010,

Equação 9-J

Page 147: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

147

onde ( ) ( ) ( )( )⎩

⎨⎧

>≤

=0 se00 se

xgxgxg

xgj

jjj

Obs.: o parâmetro penalizante R deve ser inicializado com valores grandes (1020).

9.1. Exercícios

E9.1. Utilizando o método da função penalidade resolva o seguinte problema.

( )( ) ( ) ( )

( ) 05, s.a.44,

,min

2121

22

2121

21

≥−−=−+−=

xxxxgxxxx

xx

φ

φ

Utilize uma função penalidade parênteses. A seqüência de pontos pertencem ou não à região viável, ou seja, são ponto interiores ou pontos exteriores à região viável? Sugestão: utilize os arquivos EX9_1.M e EX9_1_FC.M como modelos. E9.2. Utilizando o método da função penalidade resolva o seguinte problema.

( )( )

( )( )( ) 06,

026,

01, s.a.,

,min

21211

22

21212

1211

22

121

21

=−+=≥−−=

≥−=−=

xxxxhxxxxg

xxxgxxxx

xx

φ

φ

Sugestão: utilize os arquivos EX9_1.M e EX9_1_FC.M como modelos.

Page 148: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

148

10. Programação Quadrática - PQ

Um problema de programação quadrática (PPQ) - "quadratic programming problem QPP" - é um problema de otimização que envolve uma FO quadrática e FR's lineares:

( )

( )

0

.s.a.21

min

+=

x

bxA

xQxxcx

xx

TTφ

φ

Equação 10-A

Podemos rearranjar a equação 10-a da seguinte maneira

( )

( )

( )( ) 0.

0.s.a.21

min

2

1

≥=

≥−=

+=

xIxg

bxAxg

xQxxcx

xx

TTφ

φ

Equação 10-B

Escrevendo a função Lagrangeana da equação 10-b, obtemos

( ) ( ) ( ) ( )xguxgwxuwxL TT21,, ++=φ

Equação 10-C

e

( ) 0.,, =−−+=∇ uwAxQcuwxL TxT

Equação 10-D

onde w e u são multiplicadores de Lagrange. Definindo variáveis fictícias não-negativas (y):A.x - b - y = 0 ; aplicando as condições de Kuhn-Tucker ao PPQ, obtemos:

Page 149: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

149

( )

0000

00

0.

0.,,

≥≥≥≥

==

=−−

=−−+=∇

uwyx

xuyw

ybxA

uwAxQcuwxL

TT

TxT

Equação 10-E

O conjunto de variáveis (x*, y*, w*, u*) que satisfaz a equação 10-e é a solução do PPNL (equação 10-a). Demonstra-se que se (x*, y*, w*, u*) é solução da equação 10-a, então o PPQ é equivalente a:

( )

( ) ( )

0000

00

0.

0.s.a.21

min

≥≥≥≥

==

=−−

=−−+

+=

uwyx

xuyw

ybxA

uwAxQc

ybxcx

xx

TT

T

TTϕ

ϕ

Equação 10-F

Esta forma equivalente do PPQ é denominada problema linear complementar. Portanto o PPQ pode ser encarado como um PPL. Se apenas existirem equações de restrição, isto é, não existem inequações, então as CKT são as mesmas da equação 10-f, exceto que y = 0 . Se a matriz Q for ao menos positiva semi-definida, então o problema dual pode ser formulado:

( )

( )

irrestrito 0

0s.a.21,

,max

zw

cwAzQ

zQzwbwz

wz

T

TT

≥+−

−=ϕ

ϕ

Equação 10-G

No Toolbox de Otimização do MATLAB o problema da PQ pode ser resolvido chamando a rotina qp. Para maiores instruções digite help qp na linha de comando do MATLAB.

Page 150: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

150

10.1. Programação Quadrática Sucessiva - PQS

Analogamente ao realizado na PLS, podemos aproximar a FO e as FR's por funções que transformem o PPNL original em um subproblema de PQ. Resolvemos este último e a solução encontrada serve como estimativa para a próxima aproximação. O algoritmo de uma PQS pode ser assim resumido: 1. Dado o PPNL:

( )( )

( ) Kkxg

Jjxhx

k

j

,,2,10

,,2,10s.a.min

……

==

==φ

Equação 10-H

defina a estimativa inicial xo ; 2. Aproximar o PPNL por um PPQ:

( )[ ] ( ) ( ) ( )( )( ) ( )[ ] ( )

( ) ( )[ ] ( ) Kkxxxgxg

Jjxxxhxh

xxxxxxxx

iiTik

ik

iiTij

ij

iiiTiiiiTi

,,2,10

,,2,10s.a.

21min

1

1

1211

=≥−∇+

==−∇+

−∇−+−∇

+

+

+++ φφ

Equação 10-I

ou, definindo o vetor direção de busca d = (xi+1 - xi) :

( )[ ] ( )( ) ( )[ ]

( ) ( )[ ] Kkdxgxg

Jjdxhxh

dxddx

Tik

ik

Tij

ij

iTTi

,,2,10

,,2,10s.a.

21min 2

=≥∇+

==∇+

∇+∇ φφ

Equação 10-J

3. Resolva o PPQ dado pela equação 10-j; 4. Verifique se a tolerância foi alcançada, se não volte ao passo 2. A forma de aproximação dada pela equação 10-j, embora correta, gera algoritmos instáveis. Uma forma mais robusta é utilizar a aproximação da função Lagrangeana no lugar da FO. Desta forma o subproblema de PQ fica assim definido:

Page 151: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

151

( )[ ] ( )( ) ( )[ ]

( ) ( )[ ] Kkdxgxg

Jjdxhxh

dxLddxL

Tik

ik

Tij

ij

iTTi

,,2,10

,,2,10s.a.

21min 2

=≥∇+

==∇+

∇+∇

Equação 10-K

onde

( ) ( ) ( ) ( )( ) ( ) ( ) ( )xguxhwxuwxL

xguxhwxuwxL

xT

xT

xx

xT

xT

xx

2222 ,,

,,

∇−∇+∇=∇

∇−∇+∇=∇

φ

φ

Equação 10-L

mas no ponto ótimo demonstra-se que ( ) ( ) 0e0 =∇=∇ xguxhw xT

xT assim o

subproblema de PQ pode ser escrito como

( )( ) ( )[ ] ( )

( ) ( ) ( )[ ]( ) ( ) ( )[ ] Kkdxgxgxdg

Jjdxhxhxdh

duwxLddxuwxdq

uwxdq

Tik

ik

ij

Tij

ij

ij

iiix

TTiiii

iii

,,2,10,~

,,2,10,~s.a.

,,21,,,

,,,min

2

=≥∇+≡

==∇+≡

∇+∇= φ

Equação 10-M

onde d = (xi+1 - xi) Utilizando a equação 10-m o algoritmo do PQS é semelhante ao apresentado anteriormente, apenas temos que estimar inicialmente, além do vetor xo , o vetor dos multiplicadores de Lagrange woe uo . Podemos melhorar a convergência do método PQS substituindo a Hessiana do Lagrangeano por uma matriz aproximação positiva definida, por exemplo por uma fórmula BFGS ou de Broyden.

Page 152: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

152

10.2. Exercícios

E10.1. Utilizando o método da programação quadrática resolva o seguinte

problema.

( )( ) ( ) ( )

( )

min x x

x x x x

g x x x x

φ

φ1 2

1 2 12

22

1 2 1 2

4 4

5 0

,

,

,

= − + −

= − − ≥s.a.

Compare os resultados obtidos com o Exemplo 9.1 e com o exercício 9.1. E10.2. Resolva o seguinte PPQ:

( )( )

min x

x x x x x xx x x x xx x x x

x x xx x x

φ

φ = + + + +

+ − + − =− + − =+ + ≥+ − ≤

12

22

32

42

52

1 2 3 4 5

1 3 4 5

1 2 3

3 4 5

2 3 4 52 4 05 2 0

2 64 2 0

s.a.

Page 153: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

153

11. Gradiente Reduzido Generalizado -GRG

Um dos métodos mais poderosos de PNL é o do Gradiente Reduzido Generalizado ("Generalized Reduced Gradient" - GRG). O PPNL a ser resolvido é o seguinte

( ) [ ]( )

niUxL

mjxhxxxxx

iii

j

nT

,,2,1

,,2,10s.a.min 21

……

=≤≤

===φ

Equação 11-A onde Li e Ui são os limites inferiores e superiores da variável xi . No caso de inequações, as transforme em equações utilizando variáveis fictícias:

( ) ( )

( ) ( ) 0ou

2

≥±=

+∞≤≤∞−±=

iijj

iijj

xgxh

xgxh

σσ

σσ

Equação 11-B onde o sinal + é aplicado nas inequações de sinal<e o sinal - nas de sinal> . Suponha que existam n variáveis de decisão e m restrições (n>m). Imponha que as m restrições podem ser explícitas, assim pode-se substituir na FO m variáveis, consequentemente o número de incógnitas fica reduzido a (n-m). Realizar este procedimento em equações não lineares às vezes é impossível. Porém, se as equações forem lineares ou linearizadas é possível ter uma solução analítica para o problema, desde que ela exista. Para tornar o algoritmo geral, ou seja generalizado, é empregado o gradiente das funções, pois, desta forma, qualquer que seja a expressão, sempre será obtida uma relação linear entre as variáveis. Para exemplificar considere o seguinte problema:

( )( ) 0,s.a.

,min

21

21

=xxhxxφ

Equação 11-C O diferencial total de cada função é:

( ) ( ) ( )2

21

1

xdx

xxd

xx

xd∂∂φ

∂∂φ

φ +=

Equação 11-D

( ) ( ) ( ) 022

11

=+= xdx

xhxdxxhxhd

∂∂

∂∂

Equação 11-E

Page 154: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

154

O diferencial total da restrição é feito nulo porque, no ponto ótimo, a igualdade h(x) = = constante = 0 deve ser sempre obedecida. No método GRG essa característica é aplicada a toda iteração. Utilizando a equação 11-e pode-se eliminar uma variável:

( )

( )( ) ( )

22

1

12

1

21 xd

xxh

xxhxd

xxh

xxh

xd ⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−=

⎥⎥⎥⎥

⎢⎢⎢⎢

−=−

∂∂

∂∂

∂∂

∂∂

Equação 11-F

O algoritmo GRG é iterativo. A atualização dos valores dex1obedece à seguinte relação:

11

111

−− += kkk xdxx

Equação 11-G

Observe que na equação 11-gx1kdepende apenas de condições da iteração

anterior. Substituindo a equação 11-f na equação 11-e, obtemos:

( ) ( ) ( ) ( ) ( )2

22

1

11

xdx

xx

xhxxh

xxxd

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

+⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−=

∂∂φ

∂∂

∂∂

∂∂φφ

Equação 11-H

A expressão entre colchetes da equação 11-h é denominada de gradiente reduzido. Neste caso é um escalar, mas, no caso geral, é um vetor de (n-m) elementos. Para facilitar a notação em sistemas com várias variáveis vamos subdividir (particionar) as variáveis de decisão em dois grupos: 1. Variáveis de decisão básicas ou dependentes, xD : são as variáveis que

serão explicitadas nas FR's, no exemplo acima xD= x1 . 2. Variáveis de decisão não-básicas ou independentes, xI : são as variáveis que

permanecerão na FO, no exemplo acima xI= x2 . assim a variável de decisão x é particionada da seguinte forma: x = [ xD | xI ] . Portanto, haverá m variáveis de decisão básicas (dependentes), e o vetor xD

terá dimensão (m x 1). Enquanto que existirá (n-m) variáveis de decisão não-básicas (independentes), e o vetor xi terá dimensão (n-m x 1).

11.1. Relação entre o GRG e os Multiplicadores de Lagrange

A relação entre o GRG e os multiplicadores de Lagrange pode ser vista a seguir. Seja a Lagrangeana

Page 155: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

155

( ) ( ) ( )xhwxwxL T+=φ,

Equação 11-I

logo

( ) ( ) ( ) wxxh

xx

xwxL

T

⎥⎦

⎤⎢⎣

⎡+=

∂∂

∂∂φ

∂∂ ,

Equação 11-J

Lembrando do particionamento de xk = [ xDk | xI

k ] :

( ) ( ) ( )IDT

IDID xxhwxxwxxL ,,,, +=φ

Equação 11-K

Particionando os vetores da equação 11-j:

( )( )

( )( )

( )

( )1 x

x 1 x 1 x

,m

mmn

T

I

I

mnI

I

mnI

I wxxh

xx

xwxL

−−−

⎥⎦

⎤⎢⎣

⎡+=

∂∂

∂∂φ

∂∂

Equação 11-L e, demonstra-se que

( ) ( ) ( )0

,1 x

x 1 x 1 x

=⎥⎦

⎤⎢⎣

⎡+=

m

mm

T

D

D

mD

D

mD

D wxxh

xx

xwxL

∂∂

∂∂φ

∂∂

Equação 11-M Da equação 11-m obtém-se

( ) ( ) ( ) ( )⎥⎦

⎤⎢⎣

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

⎥⎦

⎤⎢⎣

⎡−=⎥

⎤⎢⎣

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

⎥⎦

⎤⎢⎣

⎡−=

−−

D

T

DD

T

D xx

xxh

xx

xxhw

∂∂φ

∂∂

∂∂φ

∂∂

11

Equação 11-N ou

( ) ( ) 1−

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−=

D

T

D

T

xxh

xxw

∂∂

∂∂φ

Equação 11-O A equação 11-o dá a relação entre os multiplicadores de Lagrange e o método GRG. Substituindo a equação 11-n na equação 11-l obtém-se a expressão do gradiente reduzido

( ) ( ) ( ) ( ) ( )⎥⎦

⎤⎢⎣

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−==

D

T

D

T

IIIR x

xx

xhxxh

xx

xwxLg

∂∂φ

∂∂

∂∂

∂∂φ

∂∂

1,

Equação 11-P

Page 156: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

156

portanto, o gR é a derivada parcial do Lagrangeano em relação às variáveis não-básicas:

11.2. Algoritmo do Gradiente Reduzido Generalizado

Vamos desenvolver o algoritmo do GRG utilizando um exemplo para ilustrar as passagens, veja

Exemplo 11.1: { })1.4.2.4)(exp(min)(min 212

22

11 +++= xxxxxxf

s.a. 10

05,1

21

2121

−><−−+

xxxxxx

A solução obtida pelo MATLAB é xxf

1

2

9 54741 04740 0236

= −= +=

,,,min

Na tabela 11-a descrevemos, na coluna da esquerda, um algoritmo do método do gradiente reduzido, enquanto que na da direita, aplicamos esse algoritmo no exemplo proposto. Após a tabela encontra-se a listagem do programa desenvolvido no MATLAB para o método do gradiente reduzido.

Page 157: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

157

Tabela 11-A: Algoritmo GRG e aplicação

APLICAÇÃO DO ALGORITMO DO GRADIENTE REDUZIDO

1a ETAPA: Escrever o problema segundo a forma padrão, i.e.:

minimizar sujeito a

f x x x x xh x j m

nT

j

( ) [ ]( ) , ,

== =

1 2

0 1…

Se existirem inequações, as mesmas devem ser transformadas em equações utilizando variáveis fictícias .

1a ETAPA: Função objetivo:

)12.4.2.4)(exp()(

)(min

2212

22

11 ++++= xxxxxxxf

xf

Restrições:

( )( ) 010

05,12

4212

2321211

=+−−=

=+−−+=

xxxxh

xxxxxxh

Obs.: as variáveis x3 e x4 são fictícias

2a ETAPA: Escolha das variáveis não-básicas (independentes) e básicas (dependentes). Definição de alguns parâmetros do método numérico. Escolha prioritariamente as variáveis controladas, quando existirem, como variáveis independentes xI .

Erro! Não é possível criar objetos a partir de códigos de campo de

edição. Definição da estimativa inicial de xv viável. Para tanto dado um certo xi utilizamos o método de Newton para encontrar o xv viável. Definição do valor inicial de λ (fator de amortecimento), da taxa de diminuição de λ , das tolerâncias, do(s) critério(s)

de parada e do número máximo de iterações.

2a ETAPA: Escolhemos, inicialmente, x1 e x2 como variáveis dependentes, enquanto x3 e x4 são as variáveis independentes. Portanto:

[ ][ ]

x x x

x x xD

I

=

=1 2

3 4

[ ][ ]

x

xD

I

0

0

100 100

0 0 0 0

= − +

=

;

, ; ,

λ0 1= ;

taxa diminuição de λ = 5 tolerância para FO = 1e-8

tolerância para FR's = 1e-3 critério de parada: diferença absoluta ou

relativa de dois valores sucessivos da FO

3a ETAPA: Cálculo do gradiente reduzido.

( )⎢⎢⎣

⎥⎥⎦

⎢⎢⎣

⎥⎥⎦

⎢⎢⎣

⎡−

⎥⎥⎦

⎢⎢⎣

⎡=

kI

k

kD

kT

kD

kT

kI

kTk

R xh

xh

xf

xfg

∂∂

∂∂

∂∂

∂∂

1

ou

( )⎥⎥⎦

⎢⎢⎣

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

⎥⎥⎦

⎢⎢⎣

⎥⎥⎦

⎢⎢⎣

⎡−

⎥⎥⎦

⎢⎢⎣

⎡=

kD

kT

kD

kT

kI

k

kI

kk

R xf

xh

xh

xfg

∂∂

∂∂

∂∂

∂∂

1

3a ETAPA:

( )

)48)(exp(

)12424)(exp(

211

2212

22

111

xxx

xxxxxxxxf

++

++++=⎥⎦

⎤⎢⎣

⎡∂∂

( ) )244)(exp( 1212

++=⎥⎦

⎤⎢⎣

⎡xxx

xxf

∂∂

Page 158: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

158

3a ETAPA: (continuação) Cálculo do gradiente reduzido.

( )( )

( )1 x m vetor um

1

⎥⎥⎥

⎢⎢⎢

⎡=

xh

xhxh

m

x

x

xx

x

m

m

n

=

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

+

1

1

um vetor n x 1

( ) [ ] ( ) ( )⎥⎦

⎤⎢⎣

⎡=∇=

⎥⎥⎦

⎢⎢⎣

m

Tx

T

D xxf

xxff

xxf

D ∂∂

∂∂

∂∂

1

um vetor1 x m

( ) [ ] ( ) ( )⎥⎥⎦

⎢⎢⎣

⎡=∇=

⎥⎥⎦

⎢⎢⎣

+ nm

Tx

T

I xxf

xxff

xxf

I ∂∂

∂∂

∂∂

1

um vetor1 x (n-m)

3a ETAPA: (continuação)

( ) 03

=⎥⎦

⎤⎢⎣

⎡x

xf∂∂

( ) 04

=⎥⎦

⎤⎢⎣

⎡x

xf∂∂

( )12

1

1 −=⎥⎦

⎤⎢⎣

⎡x

xxh

∂∂

( )11

2

1 −=⎥⎦

⎤⎢⎣

⎡x

xxh

∂∂

( )2

1

2 xx

xh−=⎥

⎤⎢⎣

⎡∂

( )1

2

2 xx

xh−=⎥

⎤⎢⎣

⎡∂

Page 159: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

159

3a ETAPA: (continuação) Cálculo do gradiente reduzido.

( )( ) ( )

( ) ( )⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=⎥⎥⎦

⎢⎢⎣

m

mm

m

D

xxh

xxh

xxh

xxh

xxh

∂∂

∂∂

∂∂

∂∂

∂∂

1

1

1

1

uma matrizm x m

( )

( ) ( )

( ) ( )⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=⎥⎥⎦

⎢⎢⎣

+

+

n

m

m

m

nm

I

xxh

xxh

xxh

xxh

xxh

∂∂

∂∂

∂∂

∂∂

∂∂

1

1

1

1

uma matrizm x (n-m)

3a ETAPA: (continuação)

portanto ( )⎥⎦

⎤⎢⎣

⎡−−−−

=⎥⎥⎦

⎢⎢⎣

12

12 11xx

xxx

xh

D∂∂ e

( )

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

−−

−−

−=

⎥⎥⎦

⎢⎢⎣

⎡−

21

2

21

2

21

1

21

11

1

1

xxx

xxx

xxx

xxx

xxh

D∂∂

( )∂∂h x

xx1

332

⎣⎢

⎦⎥ =

( )0

4

1 =⎥⎦

⎤⎢⎣

⎡x

xh∂∂

( )0

3

2 =⎥⎦

⎤⎢⎣

⎡x

xh∂

( )4

4

2 2xx

xh=⎥

⎤⎢⎣

⎡∂

portanto ( )⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

4

3

2002x

xx

xh

I∂∂

Então ( ) ⎥⎦

⎤⎢⎣

⎡=

2

1

gg

gTk

R onde

21

322

22

11212

213

111

)248424)(exp(2

xxxxxxxxxxxxx

g−

−−++++−=

21

42121212

22

212

13

112

)421346244)(exp(2

xxxxxxxxxxxxxxx

g−

−−+−+−++−=

Page 160: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

160

4a ETAPA: Determinação da direção da variação das variáveis independentes. Para a primeira iteração

Rk

Rki

gou

nigi

−=Δ

=−=Δ ,,1…

nas demais iterações podemos calcular a direção do incremento para as variáveis independentes utilizando a fórmula do gradiente conjugado de Flercher-Reevs (algoritmo de Abadie):

( ) ( )( ) ( )k

RTk

R

kR

TkRk

IkR

kI

gg

ggg

1111

++++ Δ+−=Δ

4a ETAPA: Só foi necessário um cálculo do gradiente reduzido:

-4001 10 x 0,7367=Δ

40-02 10 x 0,7441=Δ

Porém o valor do fator de amortecimento λ da magnitude da variação das variáveis modificou-se, veja os valores obtidos na 6a etapa. Veja observação da 7a etapa sobre o número de iterações necessárias.

5a ETAPA: Determinação da direção da variação das variáveis dependentes.

kI

I

k

D

kkD x

hxh

Δ⎥⎥⎦

⎢⎢⎣

⎥⎥⎦

⎢⎢⎣

⎡−=Δ

∂∂1

5a ETAPA: Os valores obtidos para as variáveis dependentes para cada uma das 5 iterações foram: x1 x2

-100.00,100.00 -11.2280,-05.3257 -8.5371 , 1.0412 -9.5656,1.0465 -9.5664,1.0464

6a ETAPA: Determinação da magnitude da variação das variáveis independentes e dependentes.

x xIk

Ik k

Ik+ = +1 λ Δ kD

kkD

kD xx Δ+=+ λ1~

onde 1~+k

Dx é um ponto de tentativa.

λk é determinado por uma busca unidimensional

6a ETAPA: O valor do fator de amortecimento λ da magnitude da variação das variáveis modificou-se consideravelmente, assumindo os seguintes valores:

1; 0,1; 0,01; 0,001 e 0,0001 portanto tivemos 5 iterações até alcançar a convergência.

Page 161: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

161

7a ETAPA: Determinação de uma região viável a partir das variáveis dependentes. Usando o método de Newton procura-se um conjunto de 1~ +k

Dx que satisfaz h(x) = 0.

( ) ( )1111

11 ~,)

~,~ ++++

++

⎥⎥⎦

⎢⎢⎣

⎡−= k

DkIk

D

kD

kIk

DkD xxh

xxxh

xx∂

7a ETAPA: Na determinação da região viável utilizamos a função do MATLAB fsolve.

8a ETAPA: Verificação da convergência. Várias situações podem ocorrer:

(a) Se xk+1 é um ponto viável e f f( , ) ( , )x x x xI

kDk

Ik

Dk+ + <1 1 adotar xk+1 e

voltar para a 3a etapa.

(b) Se xk+1 é um ponto viável mas ),(),( 11 k

DkI

kD

kI xxfxxf ≥++ , reduzir λ para

1/10 do valor anterior, por exemplo, e retornar a 6a etapa. (c) Se na 6a etapa não foi encontrada um xD

k+1 viável, reduzir λ para 1/10 do valor anterior, por exemplo, e retornar a 6a etapa. (d) Se as situações (b) e (c) ocorrerem após 2 ou 3 passagens, i.e., o programa entrar em "loop" infinito, mudar as variáveis dependentes e independentes.

8a ETAPA: Nesta etapa utilizamos os testes descritos e desta maneira conseguimos alcançar a convergência.

Page 162: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

162

9a ETAPA: Critério de parada do programa. Existem várias possibilidades para o critério de parada do programa, aqui adotaremos ou a diferença relativa ou a absoluta entre dois valores consecutivos da função objetivo ser menor que um certo número, i.e.:

( ) ( )( ) tolerânciaxf

xfxf k

≤−+1

ou

( ) ( ) tolerânciaxfxf k ≤−+1

9a ETAPA: Para o problema em questão preferimos adotar o critério de parada absoluto.

11.2.1. Listagem do Programa GRG para o Exemplo 11.1

Aqui estão listados os seguintes programas:

Programa Função

grad_red.m

programa principal

grad_r_f.m cálculo da função objetivo

grad_r_h.m

cálculo das funções de restrição

grad_r_d.m

cálculo do gradiente reduzido

Listagem do programa grad_red.m :

clear clear functions echo off clg clc % METODO DO GRADIENTE REDUZIDO

Page 163: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

163

% Disciplina: Otimização % Versão 1.0 % Autor:prof. Ricardo de Araújo Kalid % Universidade Federal da Bahia % E-mail: RICKALID @ BRUFBA % Tel:(071) 247.5123 % Tel:(071) 336.1288 R.116 / R.141 % Fax:(071) 247.3410 disp(' ') disp(' ') disp(' Aguarde um momento, programa em execução ...') disp(' ') disp(' ') disp('Para interromper pressione CTRL-C e aguarde.') disp(' ') %==========================================================\ % Exemplo 1. Página 1-6 do manual do toolbox de otimização do MATLAB % Este mesmo exemplo é utilizado no tutorial do MATLAB sobre otimizaçãp % Aqui nós iremos resolvê-lo pelo método do Gradiente Reduzido. % 1a. Etapa: Escrever o problema segundo a forma padrão: x = [ xd ; xi ] % 2a. Etapa: Escolha das variáveis dependentes e independentes global xi

Page 164: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

164

% Início do trecho que pode sofrer alteração pelo usuário % ==================================================== % Estimativa inicial (escolhida pelo usuário), variáveis básicas x(1) = - 100 ; x(2) = + 100 ; % Variáveis fictícias, variáveis não-básicas x(3) = + 1.0 ; x(4) = + 1.0 ; % Variáveis dependentes ou variáveis básicas (escolhidas pelo usuário) xd = [ x(1) ; x(2) ] ; % Variáveis independentes ou variáveis não básicas (escolhidas pelo usuário) xi = [ x(3) ; x(4) ] ; % Definição de parâmetros do método numérico lambda = 1 ; h_tol= 1e-3 ; f_tol= 1e-5 ; f_tipo_dif = 'absoluta' ; % f_tipo_dif = 'relativa' ; num_max_iteracao = 1000 ; taxa_diminuicao_lambda = 5 ; % Fim do trecho que pode sofrer alteração pelo usuário % ====================================================

Page 165: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

165

gr = [ ] ; iteracao = 0 ; diminuicao_lambda = 'sim' ; continua_minimizacao = 'sim' ; % Determinação de uma solução viável inicial. xd = fsolve('grad_r_h' , xd) ; x = [ xd ; xi ] ; % Função objetivo f_old = grad_r_f(x) ; % Restrições h_old = grad_r_h(xd) ; while continua_minimizacao == 'sim' , iteracao = iteracao + 1 x0= x; xd0 = xd ; xi0 = xi ; %3a Etapa: Cálculo do Gradiente Reduzido %Derivadas [ dfdxd , dfdxi , dhdxd , dhdxi ]= grad_r_d(xd) ; idhdxd= inv(dhdxd) ; gr_old = gr ; gr = dfdxi - dhdxi' * idhdxd' * dfdxd ;

Page 166: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

166

%4a. Etapa: Determinação da direção da variação % das variáveis independentes if diminuicao_lambda == 'sim' , deltai = - gr ; else deltai = - gr + deltai*gr'*gr/(gr_old'*gr_old) ; end %5a. Etapa: Determinação da direção da variação % das variáveis dependentes deltad = - idhdxd * dhdxi * deltai ; %6a. Etapa: Determinação da magnitude da variação % das variáveis independentes e dependentes. xi = xi + lambda * deltai ; xd_old = xd + lambda * deltad ; %7a. Etapa: Determinação de uma solução viável a partir % das variáveis dependentes. xd = fsolve('grad_r_h' , xd_old) ; %8a. Etapa: Verificação da convergência. x= [ xd ; xi ]; f= grad_r_f(x); hr = grad_r_h(xd) ;

Page 167: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

167

if sum( abs(hr) > h_tol ) == 0 if f_old > f %Alternativa (a): O pontoxdé viável e a função % objetivo diminui de valor. lambda = 1 ; diminuicao_lambda = 'nao' ; continua_minimizacao = 'sim' ; else% if f_old <= f %Alternativa (b): O pontoxdé viável e a função objetivo % NÃO diminui de valor. x= x0; xd = xd0 ; xi = xi0 ; diminuicao_lambda = 'sim' ; continua_minimizacao = 'sim' ; lambda = lambda / taxa_diminuicao_lambda ; end % if f_old else % if sum( abs(hr) < h_tol ) == 0 %Alternativa (c): O pontoxdnão é viável. disp('') disp('Não foi encontrado uma solução viável, ou seja, ') disp('não foi encontrado um conjunto básico viável.') disp('Deve-se aumentar a tolerânciah_tol, ou') disp('tentar nova estimativa inicial paraxdexi.') continua_minimizacao = 'nao' ; end% if sum( abs(hr) > h_tol ) == 0

Page 168: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

168

%Alternativa (d): O programa entrou em loop infinito. if iteracao >= num_max_iteracao ; disp('') disp('O programa não convergiu até o número máximo de iterações estipulado. ') disp('Deve-se aumentar o número máximo de iterações, ou') disp('mudar as bases, i.e., mudarxdexi, ou') disp('tentar nova estimativa inicial paraxdexi.') continua_minimizacao = 'nao' ; end %9a. Etapa: Critério de parada do programa. if f_tipo_dif == 'absoluta' , f_dif = abs( f-f_old ) ; else % if f_tipo_dif == 'absoluta' f_dif = abs( (f-f_old)/f_old ) ; end% if f_tipo_dif if f_dif <= f_tol , continua_minimizacao = 'nao' ; end% if f_dif <= f_tol f_old = f ; end % while continua_minimizacao % Relatório de saída if sum( abs(hr) > h_tol ) == 0

Page 169: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

169

if f_dif <= f_tol , disp(' ') disp('O programa convergiu!!') disp(' ') disp('Minimização alcançada!!') else % if f_dif > f_tol disp(' ') disp('O programa NÃO convergiu!!') disp(' ') disp('Últimos resultados alcançados!!') end% if f_dif <= f_tol disp(' ') disp(' ') disp('Número de iterações') iteracao disp('Valor da função objetivo') f if f_tipo_dif == 'relativa' , disp('Diferença relativa entre duas iterações para a função objetivo') else disp('Diferença absoluta entre duas iterações para a função objetivo') end f_dif disp('Ponto mínimo') x end % if sum( abs(hr) < h_tol ) == 0 % Fim deste arquivo

Page 170: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

170

Fim da listagem do programa grad_red.m

Listagem do programa grad_r_f.m : function f = grad_r_f(x) % Função objetivo do Exemplo 1. Página 1-6 do manual do % toolbox de otimização do MATLAB. % Função chamada pelo arquivo GRAD_RED.M f = exp(x(1)) * ( 4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + 1) ; % Fim deste arquivo

Fim da listagem do programa grad_r_f.m

Page 171: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

171

Listagem do programa grad_r_h.m : function h = grad_r_h(xd) global xi x = [ xd ; xi ] ; % Restrições do Exemplo 1. Página 1-6 do manual do % toolbox de otimização do MATLAB. % Função chamada pelo arquivo GRAD_RED.M h(1) = 1.5 + x(1) * x(2) - x(1) - x(2) + x(3)^2 ; h(2) = - x(1) * x(2) - 10 + x(4)^2 ; % Fim deste arquivo

Fim da listagem do programa grad_r_h.m

Listagem do programa grad_r_d.m: function [ dfdxd , dfdxi , dhdxd , dhdxi ]= grad_r_d(xd) global xi x = [ xd ; xi ] ; % Função objetivo do Exemplo 1. Página 1-6 do manual do % toolbox de otimização do MATLAB. % Função chamada pelo arquivo GRAD_RED.M f = grad_r_f(x) ; dfdxd_aux(1) = f +exp( x(1) ) * ( 8*x(1) + 4*x(2) ) ; dfdxd_aux(2) = exp( x(1) ) * ( 4*x(1) + 4*x(2) + 2 ) ; dfdxd = dfdxd_aux' ; dfdxi = [ 0 0 ] ; dhdxd = [ ( x(2) - 1 ) , ( x(1) - 1 ) -x(2) ,-x(1)] ; dhdxi = [ +2*x(3) 0 0 +2*x(4) ] ; % Fim deste arquivo

Fim da listagem do programa grad_r_h.m

Page 172: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

172

11.3. Exercícios

E11.1. Utilizando o método GRG resolva o seguinte problema.

( )( ) ( ) ( )

( ) 05, s.a.44,

,min

2121

22

2121

21

≥−−=−+−=

xxxxgxxxx

xx

φ

φ

Compare os resultados obtidos com o Exemplo 9.1, com o exercício 9.1. e 10.1. E11.2. Resolva o seguinte PPNL por GRG:

( )( )

07020s.a.

124min

31

23

22

322

21

=−+=−−

−+−=

xxxx

xxxxx

φ

φ

Page 173: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

173

12. Programação Inteira e Mista - PIM

Muitos problemas em operação, projeto, localização e escalonamento de plantas envolvem variáveis que não são contínuas e sim discretas, ou seja variáveis que são inteiras. Variáveis de decisão do tipo instala (1) ou não instala (0) um equipamento, ou número de unidades de bombas a serem implementadas (5, 6 ou 7), etc. Uma abordagem para resolver o Problema de Programação Inteira (PPI) é tratar as variáveis como contínuas e aproximar a solução obtida aos números inteiros mais próximos, porém este procedimento só é válido quando as variáveis de decisão assumem valores grandes. A solução obtida seguindo este método é subótima. Existem os seguintes problemas de otimização envolvendo variáveis inteiras: 1. Apenas estão presentes variáveis discretas: problema de PI ("Integer

Programming" - IP); 2. Apenas estão presentes variáveis discretas binárias (0 ou 1): programação

inteira binária PIB ("Binary Integer Programming" - BIP); 3. Algumas variáveis de decisão são contínuas (y) outras são discretas.(x):

programação inteira-mista PIM ("Mixed-Integer Programming" - MIP); 4. Algumas variáveis de decisão são contínuas (y) outras são discretas.(x) com

a FO e as FR's lineares: programação inteira-mista linear PIML ("Mixed-Integer Linear Programming" - MILP);

Um dos algoritmos numéricos mais empregados para PIM e denominada Branch and Bound Technique (algoritmo do ramifica e limita).

12.1. Branch and Bound Technique

O branch and bound pode ser aplicado problemas de o PI, bem como a PIM. O algoritmo deste método pode assim ser resumido: 1. Obtenha uma solução contínua (não-inteira) do problema; denomine este

problema de C; 2. A solução de C satisfaz todas as restrições inteiras? Se sim, o problema esta

resolvido. Se não , vá ao passo 3; 3. Escolha uma das variáveis não inteiras da solução do problema C, digamos

α. Construa dois subproblemas a partir de C, através de uma ramificação (branch) em volta de α adicionando as seguintes restrições ao problema C: (a) subproblema C1 :xα > menor inteiro maior que α (b) subproblema C2 :xα< maior inteiro menor que α Escolha um dos subproblemas (depois retomaremos a outra ramificação), digamos C1;

4. A partir de C1 , encontre a solução do problema contínuo e ramifique as soluções não inteiras conforme apresentado no passo 3;

Page 174: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

174

5. A partir de C2 , encontre a solução do problema contínuo e ramifique as soluções não inteiras conforme apresentado no passo 3;

6. Repita os passos 3, 4 e 5 para cada ramificação nova, sempre calculando o valor da FO e a nova solução; continue a ramificar até que uma das três seguintes condições ocorra: (a) você encontra uma solução na qual todas as restrições inteiras são satisfeitas; (b) o valor da FO para um subproblema é superior (se estamos minimizando) a todas os valores encontrados anteriormente e que satisfaçam as restrições inteiras; (c) não existe região viável.

7. Compare o valor alcançado pelas soluções dos subproblemas, Ci , o menor (maior) valor de FO é a solução do problema.

Para ilustrar o uso da técnica branch and bound considere o seguinte exemplo:

Page 175: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

175

Exemplo 12.1:

1ou 0,,875532767

8754276774 s.a.40486max

321

321

321

321

=≤++

≤++++=

xxxxxx

xxxxxxφ

Aplicando a técnica do branch and bound e utilizando o comando lp do MATLAB obtemos : Se uma variável assume valores inteiros não-necessariamente binários, podemos tratar esse problema como PIB, fazendo a seguinte transformação de

variável: ( )

1ou 0

.1

=

= ∑=

i

n

jijji

y

ykx

Equação 12-A

PL contínuo s.a. 0 < x1 < 1 0 < x2 < 1 0 < x3 < 1 Solução: x* = (1; 0,776; 1) Valor da FO: φ= 129,10

PL contínuo s.a. 0 < x1 <1 x2 = 1 0 < x3 < 1 Solução: x* = (0,978; 1; 1) Valor da FO: φ= 128 11

PL contínuo s.a. x1 = 1 x2 = 1 0 < x3 < 1 Solução: x* = (1; 1; 0,595) Valor da FO: φ= 113,81

PL contínuo s.a.: 0 < x1 < 1 x2 = 0 0 < x3 < 1 Solução: x* = (1; 0; 1) Valor da FO: φ = 126,00

PL contínuo s.a. x1 = 0 x2 = 1 0 < x3 < 1 Solução: x* = (0; 1; 1) Valor da FO: φ = 44,00

PL contínuo s.a. x1 = 1 x2 = 1 x3 = 0 Solução: x* = (1; 1; 0) Valor da FO: φ = 90,0

x2 = 1 x2 = 0

x1 = 1 x1 = 0

x3 = 0

Page 176: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

176

12.2. Exercícios

E12.1. Utilizando o MATLAB reconstrua o Exemplo 13.1 E12.2. Duas unidades (U1 e U2), em uma planta a batelada, produzem as

substâncias 1 e 2, respectivamente, a partir de 3 reagentes (A, B e C) conforme pode ser visto na figura abaixo. A unidade U1 tem uma capacidade máxima de 8 ton/dia e a U2 tem capacidade máxima de 10 ton/dia. Para fazer 1 kg do produto 1 é necessário 0,4 kg de A e 0,6 kg de B; enquanto que para produzir 1 kg do produto 2 é necessário 0,3 kg de B e 0,7 kg de C. No máximo, só estão disponíveis 6 ton/dia de B. Assuma que cada batelada produz 2 ton de cada produto.

Pede-se: (a) Formule a FO; (b) Formule as FR's; (c) Escreva o problema como PIB; (d) Aplicando a técnica do branch and bound encontre o ponto ótimo.

Fluxograma da planta a batelada

U1 x1 (kg/dia)

U2 x2 (kg/dia)

A

B

C

Page 177: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

177

13. Controle Ótimo - CO

Uma outra classe de problemas que ocorre com certa freqüência na Engenharia Química é o Problema de Controle Ótimo (PCO) descrito pelas seguintes equações:

( ) ( ) ( )( )

( ) ( )( ) ( )( ) ( ) ( )( )

( ) ( )( )

( ) ( )( )( ) ( )( ) 0,

0,

,,s.a.

,,,,

,,min

0

≥=

=

+=Φ

Φ

tutxgtutxh

ttutxHdt

xd

dtttutxFtxGttutx

ttutxtu

ft

tf

Equação 13-A

A forma discreta do PCO é a seguinte

( ) ( ) ( )( )

( ) ( )( ) ( )( ) ( ) ( )( )

( ) ( ) ( )( )( ) ( )( )( ) ( )( ) 0,

0,,,1s.a.

,,,,

,,min

1

0

≥=

=+

+=Φ

Φ

∑−

=

kukxgkukxh

kkukxHkx

kkukxFKxGttutx

ttutxtu

K

k

Equação 13-B

Observe que a função objetivo min Φ é um escalar que depende de funções (G, F), Φ é denominado de um funcional (uma função de funções) e tem propriedades análogas às das funções. Note também que as restrições são equações diferenciais ou de diferenças. A função G é o custo ou penalidade associada ao erro entre o valor desejado final e o alcançado. A função F é a perda ou o custo relacionado com os erros transientes e/ou esforço de controle. A forma das funções G e F dependem das características físicas do problema, mas podem ser assim classificados:

1. Problema de tempo mínimo: G = 0 e F = 1 , então Φ = tf - to . Por exemplo, quando queremos determinar o tempo mínimo de parada ou partida de uma planta.

2. Problema de erro final mínimo: G = [x(tf ) - xd )]TA[x(tf ) - xd )] e F = 0 , então minimizar é equivalente a minimizar a norma quadrada do vetor diferença entre o valor alcançado x(tf )e o valor desejado xd . Por exemplo quando x é o vetor de componentes indesejados em um sistema reacional a batelada, então x(tf )é a concentração ao final da operação do reator, tf.

Page 178: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

178

3. Problema de mínimo esforço de controle: G = 0 e F = uTCu, então é a medida do esforço (quantidade de energia ou de utilidades) desprendido para atingir o objetivo. Por exemplo, quando queremos sair de um certo estado inicial a um estado final determinado consumindo o mínimo de energia.

4. Problema de rastreamento: G = 0 e F = [x(t) - xd(t))]TB[x(t) - xd(t))], então minimizar Φ é equivalente a minimizar a integral do erro transiente entre o valor atual da trajetória, x(t) , e a trajetória desejada, xd(t) . Para fins práticos é necessário limitar a ação de controle, então F = [x(t) - xd(t))]TB[x(t) - xd(t))] + u(t)TCu(t) .

5. Problema geral: F = [x(t) - xd(t))]TB[x(t) - xd(t))] + u(t)TCu(t)eG = [x(tf) - xd)]TA[x(tf) - xd )] . Por exemplo o problema do regulador linear quadrático ("linear quadratic regulator"- LQR)

13.1. Algoritmos para o Problema de Controle Ótimo

Existem basicamente três abordagens para resolver o PCO: 1. Parametrização ou discretização das FR's e resolução do problema com

PNL; 2. Utilização do princípio da otimalidade de Bellman que conduz ao uso da

Programação Dinâmica PD. 3. Utilização do princípio mínimo de Pontryagin através da aplicação dos

multiplicadores de Lagrange. Embora esteja fora do escopo deste curso apresentar detalhes dessas abordagens na tabela 13-a comparamos as características, vantagens e desvantagens de cada um desses procedimentos.

Page 179: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

179

Tabela 13-A: Métodos para PCO

Abordagem Características Vantagens Desvantagens

Discretização da FO

Utilizar os métodos de PNL já estudados. Requer a parametrização por polinômios ou discretização das FR's por diferenças finitas.

Estamos mais acostumados com PPNL. Ás vezes temos uma boa estimativa(s) do polinômio(s) aproximador(es),

Geralmente leva a problemas com número elevado de variáveis de decisão. A discretização conduz SEANL.

Programação Dinâmica

Utiliza o princípio de otimalidade de Bellman. Malha fechada

Pode ser aplicado a sistemas lineares, não-lineares, contínuos, discretos, variantes no tempo, MIMO, determinísticos, de parâmetros concentrados ou distribuídos.

Exige grande esforço computacional para um número elevado de variáveis de decisão

Princípio mínimo de Pontryagin

Define-se o funcional Hamiltoniano, análogo à função Lagrangeana Define-se um vetor de co-estado, análogo aos multiplicadores de Lagrange Define as condições necessárias para um ponto ótimo Malha aberta

Pode ser aplicado a sistemas lineares, não-lineares, contínuos, discretos, variantes no tempo, MIMO, determinísticos, de parâmetros concentrados. Conduz a sistemas de equações elegantes e gerais.

Requer conhecimento de funcionais e de cálculo variacional para o entendimento e aplicação da teoria.

Page 180: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

180

Apêndice I:

Controle Ótimo

de um Reator a Batelada

Page 181: [Apostila] Otimizacao de Processos - Ufba

Ricardo Kalid - Otimização de Processos – [email protected]

181

Apêndice II:

Reproduções de páginas do livro

Process Analysis by Statistical Methods Himmelblau, D. M.