Вы находитесь на странице: 1из 182

Otimização de Processos

Engenharia Química
Universidade Federal de Alagoas (UFAL)
181 pag.

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
OTIMIZAÇÃO DE
PROCESSOS

Prof. Dr. Ricardo de Araújo Kalid – kalid@ufba.br


Programa de Engenharia Industrial da Escola Politécnica da UFBA

Escola Politécnica
UFBA

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
2
CURRÍCULO DO INSTRUTOR

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


kalid@ufba.br
(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)

Á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
2
tese de doutorado (1) defendidas e aprovadas:
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 Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
3
Trabalhos em desenvolvimento em parceria com indústrias:
N Tema Equipe Instituição Status
Ascânio Pepe
POLICARBONATOS
Maximização do desempenho de malhas de Marcelo Coutinho Em
18
controle PID da POLICARBONATOS Marcelo Embiruçu desenvolvimento
UFBA
Ricardo Kalid
Jean Carlos
POLITENO
Sebastião
João Colonese
GRIFFIN
Nelson Siem Velarde
Silvia Araújo
MONSANTO
Reuso/reciclo e conservação de água e Breno Silva
Em
17 energia: redes de transferência de calor e Ivan Moraes
CARAÍBA METAIS desenvolvimento
massa José Luis
Asher Kiperstok
José Geraldo Pacheco
Emerson Sales UFBA
Ednildo Torres
Ricardo Kalid
Moisés Augusto
BRASKEM-UNIB
João Severiano
Minimização/reuso de águas industriais Asher Kiperstok Em
16
BRASKEM-ÁGUA José Geraldo Pacheco desenvolvimento
UFBA
Emerson Sales
Ricardo Kalid
Nadja Fontes
César Moares
BRASKEM-UNIB
Mauricio Moreno
Márcia Cunha
Lúcio Estrella
Diagnóstico de malhas de controle preditivo Ricardo Muller POLITENO Em
15
multivariavel – MPC Jean Carlos desenvolvimento
Marcelo Embiruçu
Ricardo Kalid
Mauricio Moreno UFBA
Fábio Carrilho
Ricardo Kalid
"Plantwide control" de um trem de separação Mauricio Moreno BRASKEM-UNIB
Em
14 de xilenos (3 colunas de destilação em Fábio Carrilho
UFBA desenvolvimento
série/paralelo) da BRASKEM Ricardo Kalid

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
4
Trabalhos concluídos em parceria com indústrias:
N Tema Equipe Instituição Status
Lucy Helena de Jesus
MONSANTO
13 Otimização da fonte de fósforo da MONSANTO Daniel Cortes Concluído
José Geraldo Pacheco UFBA
Wagner Mônaco CIQUINE
Otimização de colunas de destilação da
12 Viviane Scaranto Concluído
CIQUINE UFBA
Ricardo Kalid
Klauss Villalva Serra
Projeto e sintonia do controlador de topo da GRIFFIN
11 Almir Viana Cotias Concluído
coluna de destilação de 3,4 DCA da GRIFFIN
Ricardo Kalid UFBA
Projeto e sintonia do sistema de controle de pH Nelson Siem Velarde GRIFFIN
10 Concluído
dos efluentes da GRIFFIN Ricardo Kalid UFBA
Cathia R. Apenburg
Simulação e controle de colunas de BRASKEM-UNIB
09 Williane Carneiro Concluído
destilação de sulfolane da BRASKEM
Ricardo Kalid UFBA
BRASKEM-UNIB PETROBRAS
DETEN POLITENO
SENAI-CETIND OXITENO
NITROCARBONO POLIBRASIL
Plataforma de Automação Industrial do Estado
08 CEFET-BA BRASKEM-OPP Concluído
da BAHIA
Paulo Guimarães UNIFACS
Adhemar de Barros
Herman Lepikson UFBA
Ricardo Kalid
Mark Langerhost BRASKEM-UNIB
Simulação e controle de colunas de
07 Lueci V. do Vale Concluído
destilação de BTX da BRASKEM UFBA
Ricardo Kalid
Mauricio Moreno
BRASKEM-UNIB
Modelagem, simulação, controle e otimização Paulo Freitas
06 Concluído
de conversores de acetileno da BRASKEM Fabrício Brito
UFBA
Ricardo Kalid
Kleber Leite
Otimização da operação do reator de Márcio Barreto BRASKEM-OPP
05 Concluído
polimerização em baixa carga Charles Diament
Ricardo Kalid UFBA
EDN
Herman Lepikson
04 Plano diretor de automação da ESTIRENO Cayubi Alves da Costa Concluído
UFBA
Francisco Teixeira
Ricardo Kalid
Murilo F. de Amorim BRASKEM-UNIB
Estimativa do tempo de campanha de fornos de
03 Eliane Santanta Concluído
pirólise da BRASKEM UFBA
Ricardo Kalid
Luiz Alberto Falcon BRASKEM-UNIB
Modelagem por redes neurais híbridas e
02 Tatiana Freitas Concluído
otimização de reatores de CPD UFBA
Ricardo Kalid
Modelagem, simulação do reator de Gian Carlo Gangemi DETEN
01 Concluído
desidrogenação de n-parafinas da DETEN Ricardo Kalid UFBA

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
5
INSTRUTOR: RICARDO KALID - kalid@ufba.br

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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)
4
x 10
0.5

-0.5

-1

-1.5

-2

-2.5

-3

-3.5

-4

-4.5
-100 -50 0 50 100

Figura 1-A: Função Unimodal

max y 1
Função objetivo (FO):
y 1 = − a. x 2 + b. x + c
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)


Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
18
y2 = -a*x.^2 + b*x + c + 1000*sin(x);
plot(x,y2,'-r',x,y1,':b')
4
x 10
0.5

-0.5

-1

-1.5

-2

-2.5

-3

-3.5

-4

-4.5
-100 -50 0 50 100

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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;
max y1
Função objetivo: x

y1 = − a. x 2 + b. x + c
Equação 1.6-B

Sujeito a: 10 < x < 20


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

-400

-600

-800

-1000

-1200

-1400

-1600
10 12 14 16 18 20

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.,

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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).

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
23
whitebg
plot(x,Z) mesh(x,y,Z)

1
1
0.8

0.6 0.5

0.4

0.2
0

0
-0.5
-0.2 10
5 10
-0.4 0 5
-8 -6 -4 -2 0 2 4 6 8
0
-5 -5
-10 -10
Figura 1-D: Gráfico bidimensional

Figura 1-E: Gráfico tridimensional

c = contour(x,y,Z) ; meshc(x,y,Z)
clabel(c);

8
0
6
-0.2 0 1
4
0
2 0.2
0.8
0.5
0.4
0 -0.2 0.6

-2 0
0

Figura 1-F: Curvas de nível Figura 1-G: Tridimensional com


curvas de nível

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
24

pcolor(x,y,Z)

-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,

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 .8

0 .6

0 .4

0 .2

-0 .2

-0 .4
0 200 400 600 800 1000 1200
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 f ( x ) = 3x12 + 2 x1 x 2 + 1.5 x 22 construa seu gráficos e ache o


ponto de mínimo.

[
E1.4.Dada a função f ( x ) = x13 exp x 2 − x12 − 10( x1 − x 2 )
2
] , graficamente obtenha
o ponto de máximo. Estude a sensibilidade.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.
⎡ a11 a12 a1m ⎤
⎢a a 22 a 2 m ⎥⎥
A n xm = ⎢ 21
⎢ ⎥
⎢ ⎥
⎣ a n1 an2 a nm ⎦

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).
⎡1 0 0 0⎤
⎢0 1 0 0⎥⎥

I n xn = ⎢0 0 ⎥
⎢ ⎥
⎢ 1 0⎥
⎢⎣0 0 0 1⎥⎦
Equação 2-B

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
29
Vetores são um tipo especial de matriz e tem apenas uma linha ou uma
coluna.
⎡ x1 ⎤
⎢x ⎥
x nx1 = ⎢ 2⎥
⎢ ⎥
⎢ ⎥
⎣ xn ⎦
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.
x 1 xn = [x1 xn ]
T
x2

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
cij = ∑ a ik bkj
k =1

Equação 2-E

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


AB ≠ B A

Equação 2-F

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
30
Multiplicação de uma matriz por um escalar:
Cada elemento da matriz é multiplicada pelo número escalar:
s A = B ⇔ s.aij = bij

Equação 2-G

Transposta de um produto de matrizes:


(AB ) T
=B A
T T

Equação 2-H

Produto interno entre dois vetores:


Seja x e y dois vetores de dimensão n, então
n
x y = x, y = ∑ x i y i
T

i =1

Equação 2-I
n
x x = ∑ xi2 é um escalar
T

i =1

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
−1 −1
A A = AA = I

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:
−1
z = Ax ⇔ A z = x

Equação 2-L

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
⎛ ∂f ( x ) ⎞
⎜ ⎟
∂x1 ⎟
∂f ( x ) Δ ⎜
∇f ( x ) = =⎜ ⎟
∂ x ⎜ ∂f ( x ) ⎟
⎜ ∂x ⎟
⎝ n ⎠
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 f (x ) ∂ 2 f (x ) ∂ 2 f (x )⎤

⎢ ∂2 x1
2
∂x1∂x 2 ∂x1∂x n ⎥⎥
∂ 2 f (x ) Δ ⎢ ∂ f (x ) ∂ 2 f (x ) ∂ 2 f (x )⎥
H (x ) = = ⎢ ∂x ∂x ∂x 22 ∂x 2 ∂x n ⎥
∂ x2 ⎢ 2 1 ⎥
⎢ 2 ⎥
⎢ ∂ f (x ) ∂ f (x ) ∂ f (x )⎥
2 2

⎢ ∂x ∂x ∂x n ∂x 2 ∂x n2 ⎥⎦
⎣ n 1
Equação 2-N

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


∂ b f ( x ) ⎡ ∂ f ( x )⎤
T T
∂ bT x
=b⇔ =⎢ ⎥ b
∂x ∂x ⎣ ∂x ⎦
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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
32

(
∂ x T Az ) = Az
∂x
Equação 2-P

e
(
∂ x T Ax ) = Ax + A T
x
∂x
Equação 2-Q

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


(
∂ x T Ax ) = 2 Ax
∂x
Equação 2-R

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


(
∂ 2 x T Ax ) = 2A
∂x 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
n

∑d
j =1
j aj =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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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,
A aug = A Ι[ ]
Equação 2-U

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


A
−1
[A Ι] = [Ι A ]
−1

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
a1 x1 + a 2 x 2 + an xn = b
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:
⎡ a11 a12 a1n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
⎢a a 22 a 2 n ⎥⎥ ⎢⎢ x 2 ⎥⎥ ⎢⎢b2 ⎥⎥
⎢ 21 = ⇔ Ax = b
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ a n1 an2 a nn ⎦ ⎣ x n ⎦ ⎣bn ⎦

Equação 2-X

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
−1
x= A b

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
35
Av = α v

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
(A − α I )v = 0
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.
2500

2000

1500

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

4
x 10
1 10000

0.8 9000
0.6 8000
0.4 7000
0.2 6000
0 5000
-0.2 4000
-0.4 3000
-0.6 2000
-0.8 1000
-1 0
0 5 10 15 20 25 30 35
0 5 10 15 20 25 30

Figura 2-B: Função descontínua 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 f ( x) existe
x→ xo

c) lim f ( x) = f ( x o )
x → xo

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


a) f(xo,yo) existe
b) lim f ( x, y ) existe
( x , y )→( xo , yo )

c) lim f ( x, y ) = f ( x o , y o )
( x , y )→( xo , yo )

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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.
20

18

16

14

12
Custo

10

2
0 2 4 6 8 10
D iâ m e tro s d e tub o s c o m e rc ia lm e nte d is p o níve is

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,
f [θ x a + (1 − θ )x b ] ≥ θf ( x a ) + (1 − θ ) f ( x b )
Equação 2-BB
onde 0 < θ < 1 . A função é estritamente côncava se apenas a relação de
desigualdade (>) é atendida.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.
500

-500

-1000

-1500

-2000

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

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


3000

2500

2000

1500

1000

500

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

Figura 2-F: Função convexa

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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), W2f(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
f ( x ) = h11 x12 + h12 x1 x 2 + h22 x 22
Equação 2-CC
a Hessiana é dada por
⎡ ∂ 2 f ( x ) ∂ 2 f ( x )⎤

∂x 2 ∂x1∂x 2 ⎥⎥ ⎡2h11 h12 ⎤
H (x ) = ∇ 2 f (x ) = ⎢ 2 1 =
⎢ ∂ f ( x ) ∂ f ( x ) ⎥ ⎢⎣ h12 2h22 ⎥⎦
2

⎢ ∂x ∂x ∂x 22 ⎥⎦
⎣ 2 1
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
g k ( x ) = 0 para k = 1,2,…,
e
g k ( x ) ≤ 0 para k = + 1, + 2,… ,η
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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..

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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*

( )∗
( )
f ( x ) = f x + ∇ T f x .Δ x +
∗ 1
2
( ) ( )
Δ x .∇ 2 f x .Δ x + O3 (Δ x )
T ∗

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
( )
f (x ) − f x ≥ 0

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
( )
f (x ) − f x ≤ 0

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
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
46
Tabela 2-A

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


f(x) -f(x) que
≠0 não é ponto estacionário
=0 positiva >0 >0 existe mínimo
definida
=0 positiva semi- >0 possivelmente possivelmente
definida >0 existe mínimo
=0 negativa <0 <0 existe máximo
definida
=0 negativa semi- <0 possivelmente possivelmente
definida <0 existe máximo
=0 indefinida ambos > 0 e > 0, < 0 ou nada se pode
> 0, nenhum dos afirmar
dependendo dois
de Δx
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
f ( x ) = b0 + b1 x1 + b2 x 2 + b11 x12 + b22 x 22 + b12 x1 x 2
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
Relação
Sinal Sinal Tipo de Interpretação Ponto Problema de
Caso entre os Fig.
α1 α2 contorno geométrica estacionário otimização
autovalores
bem-comportado
1 α1 = α2 - - Círculo Monte circular Máximo 2.11
e raro na prática
bem-comportado
2 α1 = α2 + + Círculo Vale circular Mínimo 2.11
e raro na prática
bem-comportado
3 α1 > α2 - - Elipse Monte elíptico Máximo 2.12
e mais freqüente
bem-comportado
4 α1 > α2 + + Elipse Vale elíptico Mínimo 2.12
e mais freqüente
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
Condilheira
8 α2 = 0 - Reta Infinitos degenerado 2.15
estacionária
Vale
9 α2 = 0 + Reta Infinitos degenerado 2.15
estacionário
Cordilheira
10 α2 = 0 - Parábola No ∞ degenerado 2.16
crescente
Cordilheira
11 α2 = 0 + Parábola No ∞ degenerado 2.16
decrescente

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
48

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


circulares

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
49

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


elípticos

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
⎡1 4 ⎤
A=⎢ ⎥
⎣2 1 ⎦
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
⎡2 1 ⎤ ⎡1 ⎤
(a) A=⎢ ⎥ ;b = ⎢ ⎥
⎣1 2 ⎦ ⎣0 ⎦
⎡ 2 2⎤ ⎡6 ⎤
(b) A=⎢ ⎥ ;b = ⎢ ⎥
⎣1 1 ⎦ ⎣5 ⎦
⎡ 2 2⎤ ⎡6 ⎤
(c ) A=⎢ ⎥ ;b = ⎢ ⎥
⎣1 1 ⎦ ⎣ 3⎦
E2.4.Utilizando a equação det[A - αI] = 0 calcule os autovetores e autovalores
⎡1 2 ⎤
da matriz A = ⎢ ⎥ . Compare os resultados com os obtidos pelo
⎣2 1 ⎦
comando [v,d] = eig(A)
1
E2.5.Determine os pontos estacionários da função f ( x ) = e
x + 2x + x 2 + 1
4 3

classifique-os.
E2.6.Verifique a região na qual f(x) e f'(x) são contínuas:
1
a) f ( x ) =
x
b) f ( x ) = ln ( x )
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 + 2x22
b) f(x) = x12 + x1x2 + 2x2 + 4
c) f(x) = 2x1 + 3x2 + 6
d) f(x) = 2x12 + 2x1x2 + 1,5x22 + 7x1 + 8x2 + 24
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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) -x12 + 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+ x22 - 3x1 + 8x2 + 2
d) f(x) = 4 + 4,5x1 - 4x2 + x12 + 2x22 - 2x1x2 + x14 - 2 x12x2

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 + 20xA2 . 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?

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
53
Ref.: Todos os exercícios foram extraídos ou adaptados de Edgar, T. F. &
Himmelblau, D. M. "Optimization of Chemical Processes".

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
min f ( x)
x

sujeito a g (x ) = 0
e/ou h( x ) ≤ 0
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:


( ) − f (x ) < ε
f x
k +1 k
1

Equação 3-B

Erro relativo na FO:


( ) − f (x ) < ε
f x
k +1 k

f (x )
k 2

Equação 3-C

Erro absoluto no ponto ótimo:


xik +1 − xik < ε 3 ∀ i ≤ n

Equação 3-D
ou

∑ (x )
n
2
xik +1 − xik = k +1
i − xik < ε4
i =1

Equação 3-E

Erro relativo no ponto ótimo:


xik +1 − xik
< ε 5 ∀i ≤ n
xik

Equação 3-F

Erro absoluto na direção de busca:


2
⎡ ∂f ( x ) ⎤
( )
n
∇f x = ∑⎢ ⎥ < ε 6 ∀i ≤ n
k

i =1 ⎢ ∂ x x k ⎥
⎣ ⎦
Equação 3-G

Na verdade devemos utilizar no mínimo 2 critérios para caracterizar que as


tolerâncias especificadas foram alcançadas.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 x1opt .
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)
x1 x1
x 12
∫ Adx1 ∫ (1 − Kx1 )dx1 x1 − K 2
2 = 1 − K x1
Amed = 0
= 0
=
x1
x1 x1 2
∫ dx
0
1

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 é:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
59
C 2 qAmed x1 C qx C3 C qA x − C1 qx1 − C 3
f (q, x1 , x 2 , C1 , C 2 , C 3 , A) = − 1 1 − = 2 med 1
x1 + x 2 x1 + x 2 x1 + x 2 x1 + x 2

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

⎡ ⎛ 2 ⎞⎛ Cx C ⎞⎤
x1opt = x1∗ = ⎢ x 22 + ⎜ ⎟⎜⎜ x 2 − 1 2 + 3 ⎟⎟⎥ − x 2
⎣ ⎝ K ⎠⎝ C2 qC 2 ⎠⎦
Para x2 = 2 , K = 0,02 , q = 1000 , C1 = 0,4 , C2 = 1 , C3 = 1000 ,
então x1opt = 12,97 . Obviamente x1 é uma variável inteira, logo x1opt
deve ser aproximada para 13 , este procedimenteo é satisfatório se
x1opt assume valores elevados (12, 13, 14, 15, etc.), mas é
inapropriado se x1opt 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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
60
custo = S x (peso do material empregado na fabricação do vaso)
e a expressão matemática da FO é:
min f 1
S , ρ ,t , D , L

⎛ πD 2 ⎞
onde f 1 (S , ρ , t , D, L ) = Sρ ⎜⎜ 2 + πDL ⎟⎟t em unidade de custo em $
⎝ 4 ⎠
Como S, ρ e t são constantes então a FO também pode ser
min f 2
t ,D,L

⎛ πD 2 ⎞
onde f 2 ( ρ , t , D, L ) = ρ ⎜⎜ + πDL ⎟⎟t em unidades de peso
⎝ 2 ⎠
ou
min f 3
D,L

⎛ πD 2 ⎞
onde f 3 (D, L ) = ⎜⎜ + πDL ⎟⎟ em unidades de area
⎝ 2 ⎠
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:
πD 2 4
V= L⇔L=
4 πD 2V
Assim existe apenas uma variável de decisão e podemos reescrever a
FO da seguinte forma
min f 4
D

⎛ πD 2 4V ⎞
onde f 4 (D ) = ⎜⎜ + ⎟⎟ em unidades de area
⎝ 2 D ⎠
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
61
1/ 3
⎛ 4V ⎞
D =⎜
opt

⎝ π ⎠
e, consequentemente
1/ 3
⎛ 4V ⎞
Lopt = ⎜ ⎟
⎝ π ⎠
ou seja
opt
⎛L⎞
⎜ ⎟ =1
⎝D⎠
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).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 é
min f 5
S , ρ ,t , D , L

[
onde f 5 (S , ρ , t , D, L ) = Sρ 1,5(2,32 D 2 ) + πDL t ] unidade de custo em $
Substituindo t(D) em f5 e lembrando que S e ρ são constantes e
que
πD 2 ⎛ D⎞
V= ⎜L + ⎟
4 ⎝ 3⎠
obtemos
min f 6
D

onde f 6 (D ) = 0,0432V + 0,5


V
+ 0,3041D 2 + 0,0263D 3 unidade de custo em $
D

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,9
25000 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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
AΔT
Q= (a)
x 1
+
k hc
onde:
ΔT - diferença média de temperatura entre o fluido e o ambiente [=]
o
F
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).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 é
P = r (F0 + F1 x ) A (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]:
AΔT
Q0 − Q = hc AΔT − (c)
x 1
+
k hc
Assim a expressão matemática da FO (em dólares por ano) é
min f (hc , A, ΔT , k , F0 , F1 , r , x )
x
(d)
onde f (hc , A, ΔT , k , F0 , F1 , r , x ) = (Q0 − Q ).Y .H t − (F0 + F0 x ). A.r
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:
⎡ ⎛ H t .Y .ΔT ⎞ 1 ⎤
x opt = k ⎢ ⎜ 6 ⎟
⎢⎣ ⎜ 10 .k .F .r ⎟ − h ⎥⎥ (e)
⎝ 1 ⎠ c

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

A B MB1 = 92,4 kg/h


Planta
MB2 = 94,3 kg/h

C MB3 = 93,8 kg/h

MC1= 11,1 kg/h


MC2= 10,8 kg/h
MC3= 11,4 kg/h

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:
min f (M A )
MA
(b)
∑ [M ( )]
no.exp
onde f (M A ) =
2
rec
A − M Bi − M Ci
i =1

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
66
Diferenciando (c) em relação a MA e igualando a zero, obtemos
MAopt = 82,4.
Neste caso MAopt = Mbmed - MCmed
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.
k3 C
k1
A B
k2 k4
D

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 B ( k 1 , k 2 , k 3 , k 4 , C A , C B , CC , C D , t ) (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).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
dC A
= k 2 C B − k1 C A (b)
dt
dC B
= k1C A − (k 2 + k3 + k 4 )C B (c)
dt
dC C
= k 3C B (d)
dt
dC D
= k 4C B (e)
dt
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
1 ⎡ dC B ⎤
CA = ⎢ + (k 2 + k 3 + k 4 )C B ⎥ (g)
k1 ⎣ dt ⎦
Diferenciando (g) em relação ao tempo
dC A 1 ⎡ d 2 C B dC ⎤
= ⎢ 2
+ (k 2 + k 3 + k 4 ) B ⎥ (h)
dt k1 ⎣ dt dt ⎦
Substituindo (g) e (h) em (b) obtemos uma equação de segunda
ordem linear homogênea em CB:
d 2C B
+ (k1 + k 2 + k 3 + k 4 ) B + [k1 (k 2 + k 3 + k 4 ) − k1 k 2 ]C B = 0 (i)
dC
2
dt dt
cuja solução, para este caso em que as raizes da equação
característica são reais e distintas, é dada por
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
68

C B (t ) = α 1 e 1 + α 2 e
βt β 2t
(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
min SP (t ) − PV (t )

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:
{
min [SP(t ) − PV (t )]
2
}
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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
69
{ } {
min [E (t )] ⇔ min [E (t )] [E (t )]
2 T
}
Equação 3-J
onde
E = 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:
{
min [E (t )] W1 [E (t )] + [Δ MV (t )] W2 [Δ MV (t )]
T T
}
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
{
min [E (t )] W1 [E (t )] + [Δ MV (t )] W2 [Δ MV (t )] + [θ (MV (t ))]
T T 2
}
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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

{
min [E (t )] W1 [E (t )] + [Δ MV (t )] W 2 [Δ MV (t )] + [θ (MV (t ))]
T T 2
}
sujeito a MV (t )min ≤ MV (t ) ≤ MV (t )max
Δ MV (t )min ≤ Δ MV (t ) ≤ Δ MV (t )max

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

S P ’s das P V’s
M V’s e P V’s

MPC

M V’s
P V’S

P LA N T A

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

MV’s
PV’S

PLANTA

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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.
x x
1,1 T1 1,2
x2,1 T2 x 2,2
x Processo
1
1 x3,1 T3 x 3,2
x x
4,1 T4 4,2

_
x x
_ 1,3 T5 1,4
x x
2,3 2,4
Processo _ T6
3 x x
3,3 3,4
T7
x x
5,2 4,4

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:
x1,1 = a1,1 + b1,1 x1 x1,3 = a1,3 + b3,1 x 3
x 2,1 = a 2,1 + b2,1 x1 x 2 , 3 = a 2 , 3 + b2 , 3 x 3
x 3,1 = a 3,1 + b3,1 x1 x 3, 3 = a 3 , 3 + b 3, 3 x 3
x 4,1 = a 4,1 + b4,1 x1
As demandas dos seguintes produtos são conhecidas:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
73
x1, 2 = 6 t / h x1, 4 = 3 t / h
x 2, 2 = 4 t / h x 2, 4 = 7 t / h
x 3, 2 = 3.5 t / h x 3, 4 = 4 t / h
x 4, 4 = 5 t / h
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.

Monômero
A 1 E

2 F
Monômero
B

3 G

Inibidor
C

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
74
Dados do processo:
Matéria Máximo Custo
Prima disponível, $ / 100 lb
lb / dia
A 4000 1.50
B 3000 2.00
C 2500 2.50

Process Produto Reagentes Custo Preço de


o necessários (lb) por Operacional venda do
lb produto produto
1 E 2/3 A, 1/3 B $1.50/100 lb A $4.00/100 lb E
(consumido em 1)
2 F 2/3 A, 1/3 B $0.50/100 lb A $3.30/100 lb F
(consumido em 2)
3 G 1/2 A, 1/6 B, 1/3 C $1.00/100 lb G $3.80/100 lb G
(produzido em 3)

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?

Demanda
Produto Mínima,
lb / dia
E 2500
F 1500
G 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.
Preço de venda
Custo
Petróle ($ 24/bbl) Gasolina ($36/bbl)
o Querosene ($24/bbl)
Refinaria
Petróle ($15/bbl) Óleo combustível
o ($21/bbl)
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
Resíduo ($10/bbl)

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
75

Figura 3-U: Diagrama de blocos de uma refinaria

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


Porcentagem de rendimento Produção máxima
volumétrico
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 0,5 1,0
processamento
($/bbl)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
76

DNG Gasóle Propan Etano


o
Etano
Óleo
combustível
Craqueamento
térmico
Propan
Metano

Óleo combustível
Etileno Propilen Butadieno Gasolina
o
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 --- --- 0,21 0,01
combustível
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/kg
Propano 2,79 x103 kcal/kg
Gasóleo 2,17 x103 kcal/kg
DNG 2,53 x103 kcal/kg

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 Energia liberada na


combustível combustão
Gás natural 11,96 x103 kcal/kg
Metano 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 0,0992
combustível)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
78
{[ ][
T
][ ][
T
] [
FO1 = min W1 E (t ) W1 E (t ) + W2 Δ MV (t ) W2 Δ MV (t ) + Iθ (MV (t )) Iθ (MV (t )) ][
T
]}

{[ ][
FO2 = min W1 E (t ) + W 2 Δ MV (t ) + Iθ (MV (t )) W1 E (t ) + W2 Δ MV (t ) + Iθ (MV (t ))
T
]}

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
80
∂f ( x )
= f x (x ) = 0
∂x1 1

∂f ( x )
= f x (x ) = 0
∂x 2 2

∂f ( x )
= f x (x ) = 0
∂x n n

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:
k +1 ∗
x −x

≤α 0 ≤α ≤1
x −x
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
81
O símbolo ||.|| indica a norma Euclidiana de um vetor. Para x n-
dimensional:
n
x = ∑x
i =1
2
i

Equação 4-C
Ordem p:
k +1 ∗
x −x
≤α 0 ≤α ≤1
∗ p
x −x
k

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:
k +1 ∗
x −x
lim ∗
= 0 ou < α k eα k → 0 quando k → ∞
k →∞
x −x
k

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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
82

( ) (
f (x ) = f x k + x − x k )dfdx(x ) k
( ) ( ) ( )
⇔ f (x ) = f x k + x − x k . f ′ x k
x

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:

( ) ( ) ( )
f (x ) = f x k + x − x k . f ′ x k = 0 ⇔ x = x k −
( )
f xk
( )
f ′ xk
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:

x k +1 = x k −
g xk ( )
⇔ k +1
= k

f ′ xk ( )
g′ xk ( )
x x
f ′′ x k ( )
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
f ( x ) − f ( x − Δx )
f ′( x ) =
Δx
f ( x ) − 2 f ( x − Δx ) + f ( x − 2Δx )
f ′′( x ) =
Δx 2
Equação 4-I

DF2. Diferenças finitas para frente:


f ( x + Δx ) − f ( x )
f ′( x ) =
Δx
f ( x + 2Δx ) − 2 f ( x − Δx ) + f ( x )
f ′′( x ) =
Δx 2
Equação 4-J

DF3. Diferenças finitas para central:


f ( x + Δx ) − f ( x − Δx )
f ′( x ) =
2Δx
f ( x + Δx ) − 2 f ( x ) + f ( x − Δx )
f ′′( x ) =
Δx 2
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
f ( x + h) − f ( x − h)
x k +1 = xk −
f ′ ( )
x k
≅ xk − 2h = xk −
[ f (x + h) − f (x − h)] / 2h
( )
f ′′ x k
f ( x + h) − 2 f ( x ) + f ( x − h) [ f (x + h) − 2 f (x) + f (x − h)] / h 2
h2
Equação 4-L

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

) ( ) (x − x )2!. f ′′(x ) = 0
k 2
( ) (
k
f (x ) = f x k + x − x k . f ′ x k +

Equação 4-M

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


( ) ( ) ( )
f ′ x k + x − x k f ′′ x k = 0
Equação 4-N

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

m=
( )
f ′ xq − f ′ x p ( )
xq − x p
Equação 4-O

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


recorrência


= xq −
( )
f ′ xq
x apr
[ ( ) ( )] (
f ′ xq − f ′ x p / xq − x p )
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
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
k
⎛2⎞
Lk = ⎜ ⎟ L0
⎝3⎠
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.

x y
a b

Figura 4-B: Seção áurea


Δ
x + y =1
x+ y Δ y 1 y y
= ⇒ = = ⇒ y = 0,618
y x y x 1− y
Equação 4-R
e
Lk = (0,618) L0
k

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 , x1k = ak + 0,382.Lk e x2k = bk - 0,618.Lk
P3. Calcule f(x1k) e f(x2k)
P4. Se f(x1k) > f(x2k) então ak+1 = x1k , bk+1 =bk , x1k+1 = x2k
Se f(x1k) < f(x2k) então bk+1 = x2k , ak+1 =ak , x2k+1 = x1k
P5. Se a tolerância não foi atingida volte ao passo P2.
Veja a figura 4-c.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
f ( x1 ) ≅ g ( x1 ) = a + b.x1 + c.x12
f ( x 2 ) ≅ g ( x 2 ) = a + b.x 2 + c.x 22
f ( x 3 ) ≅ g ( x 3 ) = a + b.x 3 + c.x 32
Equação 4-T

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


∗ b
xg(x) = −
2c
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
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
88

x g∗ ( x ) =
( ) ( ) (
1 ⎡ x 22 − x32 g ( x1 ) + x32 − x12 g ( x 2 ) + x12 − x 22 g ( x3 ) ⎤ )
⎢ ⎥
2 ⎣ ( x 2 − x3 )g ( x1 ) + ( x3 − x1 )g ( x 2 ) + ( x1 − x 2 )g ( x3 ) ⎦

Equação 4-V

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

x ∗f ( x ) ≅
( ) ( ) (
1 ⎡ x 22 − x32 f ( x1 ) + x32 − x12 f ( x 2 ) + x12 − x 22 f ( x3 ) ⎤ )
⎢ ⎥
2 ⎣ ( x 2 − x3 ) f ( x1 ) + ( x3 − x1 ) f ( x 2 ) + ( x1 − x 2 ) f ( x3 ) ⎦

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
f ( x) ≅ g ( x) = a1 .x 3 + a 2 .x 2 + a3 .x + a 4
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):
⎡ x13 x12 x1 1⎤
⎢ 3 ⎥
x x 22 x2 1⎥
X = ⎢ 23
⎢ x3 x 32 x3 1⎥
⎢ 3 ⎥
⎢⎣ x 4 x 42 x4 1⎥⎦
F = [ f ( x1 ) f (x2 ) f ( x3 ) f ( x 4 )]
T

A = [a1 a4 ]
T
a2 a3
F=XA

Equação 4-Y

Onde o extremo de f(x) é obtido derivando f(x) e igualando a zero

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
89
f (x )
≅ 3a1 .x 2 + 2a 2 .x 1 + a 3 = 0
dx

− 2a 2 ± 4a 22 − 12a1 .a3
x apr =
6a1
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
−1
A= X F

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
90

o julgamento do engenheiro
é essencial na aceitação ou não
das soluções encontradas

pelos pacotes computacionais.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
( ) < f (x )
f x
k +1 k

Equação 5-A
o produto dos vetores ∇Tf(x) e s é sempre negativo, ou seja
∇T f ( x ).s < 0
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
( )
k k
( )
∇T f x .s = ∇T f x . s . cosθ
k k

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
s = −∇f x
k
( ) k

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
x
k +1
= x + Δ x = x + λk s = x − λk ∇f x
k k k k k
( )
k

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

λopt = −
( )
∇T f x .s
k k

(s ) .H (x ).s
k T k k

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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) = x12 + 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) = x12 + 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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
96
D3.
x1 = -2:0.1:2; x2 = -2:0.1:2;
[X1,X2] = meshgrid(x1,x2) ; v1 = [0.1,0.5,1,1.5,2,3,4,6];
fx1 = X1.^2 + X2.^2; c = contour(x1,x2,fx1,v1);
mesh(x1,x2,fx1) clabel(c);
2 6
6

1.5

8 1.5 3
1

6 1
0.5

4 0
0.1
0.5
2 -0.5

2
0 -1
2
1 2 6
-1.5
0 1
0 4 6
-1 -1 -2
-2 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 5-B: Gráfico de fx1 Figura 5-C: Curvas de nível de fx1

x1 = -2:0.1:2; x2 = -2:0.1:2;
v2 = [0.1,0.5,1,1.5,2,3,4,6];
[X1,X2] = meshgrid(x1,x2) ;
c = contour(x1,x2,fx,v2);
fx2 = X1.^2 + X2.^2 + X1.*X2;
clabel(c);
mesh(x1,x2,fx2)
4 4
2
20 6
1.5 2
1.5

15 1

0.5
0.1
10 0 0.5

-0.5 4
5 6 3
2 -1 1
1 2
0 1 -1.5
0
-1 -1 4
-2
-2 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 5-D: Gráfico de fx2 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)
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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) :

1
= −∇f (x ) + s
1 [∇f (x )] [∇f (x )]
0
1 T 1

[∇f (x )] [∇f (x )]
s
0 T 0

Equação 5-G

Para a k-ésima iteração:

k +1
= −∇f x ( )+ s
k +1 k [∇f (x )] [∇f (x )]
k +1 T k +1

[∇f (x )] [∇f (x )]
s T
k k

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.

( ) [ ( )] Δ x
f ( x ) ≅ f x + ∇f x
k k T k
+
1
2
( ) ( )( )
k T
Δ x .H x . Δ x
k k

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
( ) ( )( )
∇f x + H x . Δ x = 0
k k k

Equação 5-J
ou
Δx = x
k k +1
−x =−H x
k
[ ( )] ∇f (x )
k −1 k

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
98
iterações. Neste caso é interessante alterar a equação 5-k modificando a
amplitude do passo da seguinte maneira

Δx = x
k k +1
− x = −λk . H x
k
[ ( )] ∇f (x ) = λ .s
k −1 k k k

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
( )( )
H x . Δ x = −∇f x
k k
( ) k

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
~
H (x ) = H (x ) + β I
Equação 5-N

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

[H~ (x )] = [H (x )]
−1 −1
+γ I
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 s = − H + β k I
k
]−1
( ).
∇f x
k

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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) .
0
( )
P3. Calcule H ≡ H x 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 .
−1
= x + λk ⎛⎜ Hˆ ⎞⎟ s .
k +1 k
P2. Calcule xk+1 que minimiza f(x) : x
k k

⎝ ⎠
P3. Calcule f(xk+1) e ∇f(xk+1) .
P4. Calcule Δxk = xk+1 - xk e Δgk = ∇f(xk+1) - ∇f(xk) .
−1 −1 −1
P5. Calcule Hˆ = Hˆ + Δ⎛⎜ Hˆ ⎞⎟ ou ⎡ Hˆ ⎤ = ⎡ Hˆ ⎤ + ⎡Δ⎛⎜ Hˆ ⎞⎟⎤
k +1 k k k +1 k k

⎝ ⎠ ⎢
⎣ ⎥
⎦ ⎢
⎣ ⎦ ⎥ ⎢
⎣ ⎝ ⎠⎥⎦
escolhendo uma das equações entre equação 5-p e equação 5-t.
P6. Calcule a nova direção de busca por

• s
k +1
[ ]
= − Hˆ
k +1 −1
( ) através da inversão de matriz ou
∇f x
k +1

= −∇f (x ) pela solução do sistema linear,.


k +1 k +1
Hˆ s
k +1

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:
T
⎡ k ⎛ ˆ k ⎞ −1 k ⎤ ⎡ k ⎛ ˆ k ⎞ −1 k ⎤
k −1
⎢Δ x − ⎜⎝ H ⎟⎠ Δ g ⎥ ⎢Δ x − ⎜⎝ H ⎟⎠ Δ g ⎥
Δ⎜ H ⎟ = ⎣
⎛ ˆ ⎞ ⎦⎣ ⎦
⎝ ⎠ ⎡ k ⎛ ˆ ⎞ k −1
k⎤
T

⎢Δ x − ⎜⎝ H ⎟⎠ Δ g ⎥ Δ g
k

⎣ ⎦
Equação 5-P

Davidson-Fletcher-Powell (DFP):

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
101

(Δ x )(Δ x ) − ( ) (Δ g )(Δ g ) ( ) ⎥


k −1
k k T ⎡ ˆk −1 T

Δ (Hˆ ) =
k −1
k k T
⎦ ⎢⎣ H
(Δ x ) (Δ g ) (Δ g ) (Hˆ ) (Δ g )
k T k k T k −1 k

Equação 5-Q

ou sua equivalente

( )
T
⎛⎜ Δ g k − Hˆ k Δ x k ⎞⎟ Δ g k T + Δ g k ⎛⎜ Δ g k − Hˆ k Δ x k ⎞⎟
Δ⎛⎜ Hˆ ⎞⎟ = ⎝ ⎠ ⎝ ⎠ −
k

⎝ ⎠ ( )( )
Δg
k T
Δx
k

⎛⎜ Δ g − Hˆ Δ x ⎞⎟ Δ x Δ g (Δ g )
k T
k k k k k T

⎝ ⎠
[(Δ g ) (Δ x )][(Δ g ) (Δ x )]
k T k k T k

Equação 5-R

Broyden-Fletcher-Goldfarb-Shanno (BFGS):

( )
T
⎡ k ⎛ ˆ k ⎞ −1 k ⎤ k T k⎡ ⎛⎜ Hˆ k ⎞⎟ Δ g k ⎤
−1
Δ − ⎜ ⎟ Δ Δ + Δ Δ −
k
⎢ x H g ⎥ x x ⎢ x ⎥
k −1 ⎝ ⎠ ⎝ ⎠
Δ⎛⎜ Hˆ ⎞⎟ = ⎣ ⎦ ⎣ ⎦ −
⎝ ⎠ Δg ( )( )
k T
Δx
k

− ⎛⎜ Hˆ ⎞⎟ Δ g ⎥ Δ g Δ x (Δ x )
⎡ k ⎤
k −1
k T
⎢Δ x
k k k

⎣ ⎝ ⎠ ⎦
[(Δ g ) Δ x ][(Δ g ) Δ x ]
k T k k T k

Equação 5-S

ou sua equivalente

ˆ k
ΔH =( )
Δg Δg
k k


( )
Hˆ Δ x Δ x Hˆ
k k k T
( )k T

Δg
k T
Δx
k
( )( ) ( )
Δ x Hˆ Δ x
k T k k

Equação 5-T

Algumas desvantagens desses método são


k
D1. H ou ( )
H
k −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 ( ) k
ou Δ H ( ) k −1
pode tornar-se ilimitada devido aos erros
de arredondamento.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
102

D3. Se Δ x = − λk H
k
( ) ∇f ( x )
k −1 k
por acaso tem a mesma direção da

iteração anterior então H


k +1
ou ( )
H
k +1 −1
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
104

x1 = -2:0.1:2; x2 = -2:0.1:2; x1 = -2:0.1:2; x2 = -2:0.1:2;


[X1,X2] = meshgrid(x1,x2) ; [X1,X2] = meshgrid(x1,x2) ;
fx1 = X1.^2 + 10*X2.^2; fx2 = X1.^2 + X2.^2 + X1.*X2;
v1 = [0.1,0.5,1,1.5,2,3,4,6]; v2 = [0.1,0.5,1,1.5,2,3,4,6];
c = contour(x1,x2,fx1,v1); c = contour(x1,x2,fx,v2);
clabel(c); clabel(c);
4 4
2 2
6
1.5 1.5 2
1.5

1 1
6
3 0.5
0.5 0.1
4 0.1
0.5 0 0.5
0
1 1.52
-0.5 4
-0.5
6 6 3
-1 1
-1
-1.5
-1.5
4
-2
-2 -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

Figura 5-G: Curvas de nível com os Figura 5-H: Curvas de nível com os
eixos alinhados 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)
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 Utilizam f(x) a cada iteração
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
Nu = α Re β

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):


RgT a
P= −
V − b TV 2
para o SO2 a partir dos seguintes dados:
Tabela 5-C: Dados para o exercício E5.4.
V P massa de gás T
(cm3/g) (atm) (g) (°C)
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
Y (t ) = f ( x(t )) + σ (t ) = y (t ) + σ (t )
Equação 6-A

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
109

x(t) Modelo y(t)


x(t) Modelo Y(t)
Determinístic
Estocástico
o
(a)
(b)
Œ(t)

x(t) Modelo y(t) 6 Y(t) X(t) Modelo Y(t)


Determinístic Determinístic
o o
(c) (d)
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:


Y (t ) = b0 + b1 .x(t )
Equação 6-B

b) Modelo linear nos parâmetros e não-linear na VI:


Y (t ) = b0 + b1 . x(t )
Equação 6-C

c) Modelo não-linear nos parâmetros e na VI:


Y (t ) = exp(b0 .b1 ). x(t ) + b0
Equação 6-D

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 Equação na
Coordenadas na Forma Linear
Forma Forma
Não-Linear Eixo X Eixo Y Linear
1 1
= b0 + b1 .x x y# = y # = b0 + b1 .x
y y
1 1
y = b0 + b1 . x# = y y = b0 + b1 .x #
x x
x x
= b0 + b1 .x x y# = y # = b0 + b1 .x
y y

y = b0 .x b1 + b2 x # = log( x ) y # = log( y − b2 ) y # = log(b0 ) + b1 .x #

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:
Y = y + ε = b0 .x b1 + ε
Equação 6-E

Linearizando a equação 6-e, não obteremos o resultado abaixo:


log(Y ) = log(b0 ) + b1 . log( x ) + ε
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
111
modelos lineares de 1a ordem uma forma de estabelecer a independência
entre os parâmetros é escrever o modelo da seguinte maneira:
(
Y = b0 + b1 . x − x )
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:
f = minφ
n
[(
φ = ∑ Yi − η i . pi
i =1
)
2
]
Equação 6-H

onde
(
η i = b0 + b1 . xi − x )
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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

b0 ,b1
⎧n
b0 ,b1 ⎩ i =1
[(⎫
f = min φ = min ⎨∑ Yi − b0 − b1 . xi − x . pi ⎬
2


( )) ]
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:
⎧ n
[(
∂ ⎨∑ Yi − b0 − b1 . xi − x . pi ⎬ ( )) 2
]⎫⎭
∂φ
= ⎩ i =1 {[ ( )] }
n
= −2∑ Yi − b0 − b1 . xi − x . pi = 0
∂b0 ∂b0 i =1

Equação 6-K

⎧ n
[(
∂ ⎨∑ Yi − b0 − b1 . xi − x . pi ⎬ ( ))
2
]⎫⎭
∂φ
= ⎩ i =1 {[ ( )]( ) }
n
= −2∑ Yi − b0 − b1 . xi − x . xi − x . pi = 0
∂b1 ∂b1 i =1

Equação 6-L

Abrindo essas equações, obtemos

∑ [Y . p ] = b .∑ [ p ] + b .∑ [(x ) ]
n n n
i i 0 i 1 i − x . pi
i =1 i =1 i =1

Equação 6-M

∑ [Y .(x − x ). p ] = b .∑ [(x − x ). p ] + b .∑ [(x − x ) . p ]


n n n
2
i i i 0 i i 1 i i
i =1 i =1 i =1

Equação 6-N
mas
n

∑ [x . p ]
∑ [(x ) ]
n n n n i i n

i − x . p i =∑ [xi . pi ] − x.∑ [ p i ] = ∑ [xi . pi ] − i =1


n
.∑ [ p i ] = 0
i =1 i =1 i =1 i =1
∑[p ]
i =1
i
i =1

Equação 6-O

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
113
então, resolvendo para b0 e b1 , obtemos:

∑ [Y ]
n
i . pi
i =1
b0 = n
=Y
∑[p ]
i =1
i

Equação 6-P

∑ [Y .(x ) ]
n
i i − x . pi
b1 = i =1

∑ [(x ) ]
n
2
i − x . pi
i =1

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:
f = min φ
b0 ,b1,…bq
n
[(
φ = ∑ Yi − ηi . pi = ∑ ei 2 . pi
i =1
)2
] [ ] n

i =1

Equação 6-R

onde
( ) (
η i = b0 + b1 . xi ,1 − x1 + b2 . xi , 2 − x 2 + + bq . xi ,q − x q ) ( )
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 M em relação aos mesmos e igualar a zero:
∂φ
{[ ( ) ( ) ( )] }
n
= −2∑ Yi − b0 − b1 . xi1 − x 1 − b2 . xi 2 − x 2 − − bq . xiq − x q . p i = 0
∂b0 i =1

Equação 6-T

∂φ
{[ ( ) ( ) ( )]( ) }
n
= −2∑ Yi − b0 − b1 . xi1 − x 1 − b2 . xi 2 − x 2 − − bq . xiq − x q . xi1 − x 1 . pi = 0
∂b1 i =1

Equação 6-U

···
∂φ
{[ ( ) ( ) ( )]( ) }
n
= −2∑ Yi − b0 − b1 . xi1 − x1 − b2 . xi 2 − x 2 − − bq . xiq − x q . xiq − x q . pi = 0
∂bq i =1

Equação 6-V

Reescrevendo essas equações de forma apropriada:

∑ [Y ]
n
i . pi
i =1
b0 = n
=Y
∑ [p ]
i =1
i

Equação 6-W

pois

∑ [(x ) ]
n

ik − x k . pi = 0
i =1

Equação 6-X

⎧n
[( )( ⎫
) ]
⎧n ⎫
b1 ⎨∑ xi1 − x1 xi1 − x1 . pi ⎬ + b2 ⎨∑ xi 2 − x 2 xi1 − x1 . pi ⎬ + [( )( ) ]
⎩ i =1 ⎭ ⎩ i =1 ⎭
⎧n
[( )( ⎫ n
+ bq ⎨∑ xiq − x q xi1 − x1 . pi ⎬ = ∑ Y i xi1 − x1 pi ) ] [ ( ) ]
⎩ i =1 ⎭ i =1
Equação 6-Y

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
115
⎧n
[( )( ⎫
) ]
⎧n
[( ⎫
b1 ⎨∑ xi1 − x1 xi 2 − x 2 . pi ⎬ + b2 ⎨∑ xi 2 − x 2 xi 2 − x 2 . pi ⎬ + )( ) ]
⎩ i =1 ⎭ ⎩ i =1 ⎭
⎧n
[( )( ⎫ n
) ]
+ bq ⎨∑ xiq − x q xi 2 − x 2 . pi ⎬ = ∑ Y i xi 2 − x 2 pi [ ( ) ]
⎩ i =1 ⎭ i =1
Equação 6-Z

···
⎧n
[( )( ⎫
) ]
⎧n ⎫
[(
b1 ⎨∑ xi1 − x1 xiq − x q . pi ⎬ + b2 ⎨∑ xi 2 − x 2 xiq − x q . pi ⎬ + )( ) ]
⎩ i =1 ⎭ ⎩ i =1 ⎭
⎧n
[( )( ⎫ n
) ]
+ bq ⎨∑ xiq − x q xiq − x q . pi ⎬ = ∑ Y i xiq − x q pi [ ( ) ]
⎩ i =1 ⎭ i =1
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:
⎡Y 1 ⎤ ⎡b0 ⎤ ⎡1 (x 11 − x1) (x 12 − x2 ) (x 1q − xq ⎤ )
Y=
⎢ ⎥
⎢ Y2⎥
, b=
⎢b ⎥
⎢ 1⎥

, x=⎢
1 (x 21 − x ) (x
1 22 − x2 ) (x 2q − x q ⎥

)
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢⎣Y n ⎥⎦ n×1
⎢ ⎥
⎢⎣bq ⎥⎦ ( q +1)×1 ⎢⎣1 (x n1 − x1 ) (x n2 − x2 ) ( x nq − x q ⎥⎦ )
n×( q +1)

⎡ p1 0 0⎤ ⎡Y 1 ⎤ ⎡1 (x − x1 ) (x − x2 ) (x )
− x q ⎤ ⎡b0 ⎤
(x
11

− x ) (x
12

) (x
1q
⎢0
p=⎢
p2 0⎥ ⎥ ⎢ ⎥ ⎢
, e=⎢ ⎥−⎢
Y2 1 21 1 22 − x2
⎥⎢ ⎥
)
2q − x q ⎥ ⎢ 1 ⎥
b
⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥

⎣0 0

p n ⎦ n× n ⎢⎣Y n ⎥⎦ ⎣⎢1 (x n1 − x1 ) (x n2 − x2 ) ( )
x nq − x q ⎦⎥ ⎢⎣bq ⎥⎦

Equação 6-BB
obtemos
η = x.b , e = Y − η , φ = ∑ [ei2 . pi ] = eT . p.e
n

i =1

φ = (Y − η ) . p.(Y − η ) = (Y − x.b )T . p.(Y − x.b )


T

Equação 6-CC

Derivando φ em relação ao vetor b e igualando a zero:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
116
⎡ ∂φ ⎤

=
⎢ ∂b ⎥
=
T
(
∂φ ⎢ 0 ⎥ ∂ e . p.e
= 2⋅
)
∂ eT ( )
⋅ p.e = 2 ⋅
∂ (Y − x.b )T [ ]
⋅ p.e = −2.x . p.(Y − x.b ) = 0
T

∂ b ⎢ ∂φ ⎥ ∂b ∂b ∂b
⎢ ⎥
⎢ ∂bq ⎥
⎣ ⎦

Equação 6-DD

Resolvendo a equação 6-dd em relação ao vetor b :

x . p.Y = x . p.x.b ⇒ b = x . p.x


T T
( T
) (x . p.Y )
−1 T

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 (σi2) podemos
escrever:
⎡ 1 ⎤
⎢σ 2 0 0 ⎥
⎢ 1 ⎥
⎢ 0 1
0 ⎥
p=⎢ σ 22 ⎥
⎢ ⎥
⎢ 1 ⎥
⎢ 0 0 ⎥
⎣ σ n2 ⎦
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
η i = η i (xi1 , xi 2 ,… , x iq ,b1 ,b2 ,… ,bm )
Equação 6-GG

onde q é o número de variáveis independentes e m o número de parâmetros


do modelo.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
117
Em notação matricial a equação 6-hh seria
η = η ( x,b )
Equação 6-HH
onde
⎡ x11 x12 x1q ⎤ ⎡ b1 ⎤
⎢x x 22 x2q ⎥ ⎥ ⎢b ⎥
x=⎢ , b=⎢ 2⎥
21

⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎣⎢ x n1 xn2 x nq ⎦⎥ ⎣bm ⎦
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 , Oi , ou seja
Yi = ηi + ei , i = 1,2,…,n
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 = η x1 , x2 ,… , xq , b1 , b2 ,… , bm + e

Equação 6-KK

A função objetivo que almejamos é


f = minφ
b

{ }
n
φ = ∑ [Yi − η i ( x 1 , b )]2 . pi
i =1

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
Taxa de
Convergência Fórmula de
Método Linearização
longe da perto da Recorrência
solução solução
análoga à
Gauss-Seidel do modelo lenta alta
equação 6-ee
Gradiente análoga à
da função
(descendente ou alta lenta Equação 5-E
objetivo
conjugado) ou 5-H
combina a inicia conforme o
linearização do método do gradiente e
análoga à
Marquardt modelo com a depois se comporta
Equação 5-N
da função como o de Gauss-
objetivo Seidel

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;

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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ã Fração Molar


o do Hexano
(psia)

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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):
RgT a
P= −
V − b TV 2
para o SO2 a partir dos seguintes dados:

V P massa de gás T
(cm3/g) (ata) (g) (°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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 = b1 .exp(b2 . x ). x b3

Dados do experimento
x Y
Óxido de Concentração
Nitrogênio do Produto
Absorvido (g/l) (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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
125
E6.6. Ajuste a equação de Antoine
B
log10 p = A −
T
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
minφ ( x, c )
x
q
φ ( x, c ) = ∑ [ci xi ]
i =1

sujeitoa xi ≥ 0 , i = 1,2,… ,q

∑ [a x ] = b
q
e ji i j , j = 1,2,… ,m
i =1

∑ [a x ] ≤ b
q
e ji i j , j = m + 1,2,… , p
i =1

Equação 7-A
ou em notação matricial:
min φ ( x , c)
x
φ ( x , c) = c T x
sujeito a xi ≥ 0 , i = 1, 2,… , q
e A1 x = b 1
e A2 x ≤ b 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
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
maxφ ( x )
x
φ ( x ) = 8,1x1 + 10,8 x 2
sujeitoa x i ≥ 0 , i = 1,2
e 0,80 x1 + 0,44 x 2 ≤ 24.000
0,05 x1 + 0,10 x 2 ≤ 2.000
0,10 x1 + 0,36 x 2 ≤ 6.000
Equação 7-C

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
128
ou em notação matricial:
maxφ ( x, c )
x
φ ( x, c ) = c T x
sujeitoa xi ≥ 0 , i = 1,2
e A.x ≤ b
⎡x ⎤ ⎡ 8,1 ⎤
onde x = ⎢ 1 ⎥ , c = ⎢ ⎥
⎣ x2 ⎦ ⎣10,8⎦
⎡0,80 0,44⎤ ⎡24.000⎤
⎢ ⎥
A = ⎢0,05 0,10 ⎥ , b = ⎢⎢ 2.000 ⎥⎥
⎢⎣ 0,10 0,36⎥⎦ ⎢⎣ 6.000 ⎥⎦

Equação 7-D

Rescrevendo o problema na forma padrão:


min− φ ( x, c )
x
φ ( x, c ) = c T x
sujeitoa xi ≥ 0 , i = 1,2
e A.x ≤ b
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 .

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
minφ ( x, c )
x
φ ( x, c ) = c1T x1 + c T2 x 2
sujeitoa A11 .x1 + A12 .x 2 = b1 (q )
A 21 .x1 + A 22 .x 2 ≤ b 2 (m)
x1 ≥ 0 (r1 )
x 2 irrestrito (r2 )
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).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
131
A formulação dual será:
( )
minϕ y, b
y
ϕ ( y, b ) = b1T y1 + b T2 y 2
sujeitoa A11 . y 1 + A12 . y 2 = c1 (r1 )
T T

A 21 . y 1 + A 22 . y 2 ≥ c 2 (r2 )
T T

y1 ≥ 0 (q)
y 2 irrestrito ( m)

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 (AijT). 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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:

( ) ( ) ∇φ (x )
minφ ( x ) ≈ φ x + x − x
# # T #

s.a. h ( x ) ≈ h (x ) + (x − x ) ∇h (x ) = 0
# # T #
j j j

g ( x ) ≈ g (x ) + (x − x ) ∇g (x ) ≥ 0
# # T #
j j j

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;

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.


max φ
φ = 3x1 − 2 x2 + 4 x3
s.a. 2 x1 − 8 x2 + 9 x3 = 5
x1 + 5x3 ≥ 8
1,6 x1 + 4,7 x2 + 8 x3 ≤ 4
x1 ≥ 0
x2 ≤ 0

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
minφ ( x1 , x 2 ,…, x n )
s.a. h1 ( x1 , x 2 ,…, x n ) = 0
Equação 8-A

Defina uma nova função, denominada de função Lagrangeana ou


simplesmente Lagrangeana(o), da seguinte maneira:
L( x,w) = φ ( x ) + w1 .h1 ( x )
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 :
( ) ( ) ( )
φ x ∗ = L x ∗ , w = φ x ∗ + w1 .h1 x ∗ ( ) ( )
pois h1 x = 0

Equação 8-C

Logo o problema se resume a encontrar umw1que satisfaça o seguinte


problema de otimização sem restrição:
min L( x1 , x 2 ,…, x n ,w1 )
onde L( x1 , x 2 ,… , x n ,w1 ) = φ ( x1 , x 2 ,…, x n ) + w1 .h1 ( x1 , x 2 ,… , x n )
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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
135
∂L
=0
∂x1
∂L
=0
∂x 2

∂L
=0
∂x n
∂L
= h( x ) = 0
∂w1
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:


minφ ( x )
φ ( x ) = x1 .x 2
s.a.h( x ) = 25 − x12 − x 22 = 0
o Lagrangeano deste problema é:
(
L( x ) = φ ( x ) + w1 h( x ) = x1 .x 2 + w1 . 25 − x12 − x 22 )
portanto as condições necessárias para um ponto ser crítico são:
∂L( x1 , x 2 , w1 )
= x 2 − 2.w1 .x1 = 0
∂x1
∂L( x1 , x 2 , w1 )
= x1 − 2.w1 .x 2 = 0
∂x 2
∂L( x1 , x 2 , w1 )
= 25 − x12 − x 22 = 0
∂w1
resolvendo esse sistema de equações algébricas não-lineares encontramos os
seguintes pontos críticos:
w1 x1 x2
+3,54 -3,54
-0,5
-3,54 +3,54
+3,54 +3,54
+0,5
-3,54 -3,54

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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♠ :
⎡ ∂ 2 L( x, w ) ∂ 2 L( x, w ) ⎤

∂ 2 x1 ∂x1∂x 2 ⎥⎥ ⎡− 2.w1 1 ⎤
= ∇ 2 L( x ) = ⎢ 2 =
⎢ ∂ L( x, w ) ∂ L( x, w)⎥ ⎢⎣ 1 − 2.w1 ⎥⎦
H L( x ) 2

⎢ ∂x ∂x ∂ 2 x 2 ⎥⎦
⎣ 2 1

para os pontos críticos temos as seguintes possibilidades:

⎡+ 1 1 ⎤ ⎡0⎤
p/ w1 = −0,5 ⇒ ( x ) = (+ 3,54;−3,54 )ou (− 3,54;+3,54 ) ⇒ H L = ⎢ ⎥ ⇒ autovalores λ = ⎢ ⎥
⎣ 1 + 1⎦ ⎣ + 2⎦
⎡− 1 1 ⎤ ⎡- 2 ⎤
p/ w1 = +0,5 ⇒ ( x ) = (+ 3,54;+3,54 )ou (− 3,54;−3,54 ) ⇒ H L = ⎢ ⎥ ⇒ autovalores λ = ⎢ ⎥
⎣ 1 − 1⎦ ⎣0⎦
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 )
s.a. h j ( x ) = 0 j = 1,… , m
g j ( x) ≥ 0 j = m + 1,… , p

Equação 8-F

♠ Na seção 2.11 e 2.13 estudamos a matriz Hessiana e o seu significado.


Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
137
é transformado, pela subtração, na inequação, do quadrado da variável
de folga, σj2, j = m+1, ..., p:
minφ ( x )
s.a.h j ( x ) = 0 j = 1,…, m
g j ( x ) − σ 2j = 0 j = m + 1,…, p

Equação 8-G

Agora podemos definir a Lagrangeana da seguinte forma

[ ] ∑ {w .[g (x ) − σ ]}
m p
L( x, w) = φ ( x ) + ∑ w j .h j ( x ) + j j
2
j
j =1 j = m +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:
(
∂L x ∗ , w, σ )
=0 i = 1, …, n
∂x i
(
∂L x ∗ , w, σ )
=0 j = 1, …, p
∂w j
(
∂L x ∗ , w, σ )
= 2w j .σ j = 0 j = m + 1, …, p
∂σ j
Equação 8-I

Exemplo 8.2: Considere o seguinte problema de otimização não-linear:


minφ ( x )
φ ( x ) = x1 .x 2
s.a. g ( x ) = 25 − x12 − x 22 ≥ 0
o Lagrangeano deste problema é:
(
L( x ) = φ ( x ) + w1 g ( x ) = x1 .x 2 + w1 . 25 − x12 − x 22 − σ 12 )
portanto as condições necessárias para um ponto ser crítico são:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
138
∂L( x1 , x 2 , w1 , σ 1 )
= x 2 − 2.w1 .x1 = 0
∂x1
∂L( x1 , x 2 , w1 , σ 1 )
= x1 − 2.w1 .x 2 = 0
∂x 2
∂L( x1 , x 2 , w1 , σ 1 )
= 25 − x12 − x 22 − σ 12 = 0
∂w1
∂L( x1 , x 2 , w1 , σ 1 )
= 2.w1 .σ 1 = 0
∂σ 1
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 +3,54 -3,54 -12,5 mínimo
-0,5
0 -3,54 +3,54 -12,5 mínimo
0 +3,54 +3,54 +12,5 máximo
+0,5
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:
minφ ( x )
s.a.h( x ) = e (e sendo constante)
ou seja
s.a.h( x ) = h( x ) − e
Equação 8-J

Então o Lagrangeano será


∂L ∂
=
∂e ∂e
{ [
φ ( x ) + w h( x ) − e = − w]}
Equação 8-K

Aproximando a equação 8-k por diferenças finitas, obtemos:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
139
ΔL
= − w ou ΔL = − w.Δe
Δe
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):
minφ ( x )
s.a.h j ( x ) = 0 j = 1,…, J
g k ( x ) ≥ 0 k = 1,…, K
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:
J K
∇ x L( x, w, u ) = ∇φ ( x ) − ∑ w j .∇h j ( x ) − ∑ u k .∇g k ( x ) = 0
j =1 k =1

h j (x ) = 0 j = 1,2, … , J
g k (x ) = 0 k = 1,2, … , K
u k .g k ( x ) = 0 k = 1,2, … , K
uk ≥ 0 k = 1,2, … , K
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.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 = x12 + 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 p . A. N + Cs . H . A. N + C f + Cd + Cb + C L + C x

onde C - custo total, $


Cp - custo por pé-quadrados de área de um prato, $/ft2

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
α
⎡ ⎤
L ⎢ 1 ⎥ ⎛ L⎞
=⎢ ⎥ ⎜ ⎟
D ⎢1 − ⎛⎜ N min ⎞⎟ ⎥ ⎝ D ⎠ min
⎣ ⎝ N⎠ ⎦
A = K . ( L + D)
β

para simplificar assuma α = β= 1; então


⎡ ⎤
L ⎢ 1 ⎥⎛ L ⎞
=⎢ ⎥⎜ ⎟
D ⎢1 − ⎛⎜ N min ⎞⎟ ⎥⎝ D ⎠ min
⎣ ⎝ N⎠ ⎦
A = K . ( L + D)

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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
142
C L = 5000 + 0,7. L
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.
D
(destilado)

L
(refluxo)
F
(alimentação

B
(resíduo)

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
minφ ( x )
s.a.h j ( x ) = 0 j = 1,…, m
g j ( x ) ≥ 0 j = m + 1,…, p

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:
min P( x, R )
P( x, R ) = φ ( x ) + Ω(R, h( x ), g ( x ))
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.

minφ ( x1 , x 2 )
Exemplo 9.1: φ ( x1 , x 2 ) = ( x1 − 4)2 + ( x 2 − 4 )2
s.a. h( x1 , x 2 ) = x1 + x 2 − 5 = 0
Utilizando uma penalidade quadrática, escrevemos a função penalidade:
1
P( x1 , x 2 , R ) = ( x1 − 4) + ( x 2 − 4) + ( x1 + x 2 − 5)2
2 2

R
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:
Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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)
7 4,0000 4,0000 0,000000 0,00000000 3,0000
0
1000 3,9970 3,9970 0,008982 0,00001803 2,9940
1
100 3,9706 3,9706 0,088235 0,00172920 2,9412
10 3,7500 3,7500 0,750000 0,12502000 2,5000
0
1 3,0000 3,0000 3,000000 1,99900000 1,0001
0
0,1 2,5715 2,5714 4,285700 4,08160000 0,1429
0
0,01 2,5075 2,5074 4,477600 4,45530000 0,0149
0
0,001 2,5008 2,5007 4,497800 4,49550000 0,00150
0
0,0001 2,5000 2,5001 4,499800 4,49960000 0,00015
0
Solução 2,5000 2,5000 4,500000 4,50000000 0,00000
Exata 0
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
146
Tabela 9-A: Tipos de funções penalidades -
P( x, R ) = φ ( x ) + Ω(R, h( x ), g ( x ))

Tipo de Função Penalidade


Restrição Denominação Expressão

Penalidade Ω(R, h( x )) =
1 m
∑ h j (x )[2
]
Igualdade R j =1
Parabólica
Equação 9-C
Ω(h( x )) = 10 20 .∑ g j ( x )
j∈J

Equação 9-D

Inequações Barreira Infinita onde J identifica o conjunto de


restrições violadas, isto é, neste
caso
g j (x ) < 0 ∀ j ∈ J

[ ]
p
Ω( g ( x )) = − R. ∑ ln g j ( x )
2
Penalidade
Inequações
Logarítmica j = m +1

Equação 9-E
1
Ω(R, g ( x )) = R
∑ [ g (x ) ]
p
2
Inequações Penalidade Inversa j
j = m +1

Equação 9-F

Inequações
Operador Ω(R, g ( x )) =
1 p
∑ g j (x ) [ ]
2

Parênteses R j = m +1
Equação 9-G

Ω(R, h( x ), g ( x )) =
1 m
∑ [
h j ( x ) +R
2
] 1

∑ [ g (x ) ]
Equações e
p
R j =1 2

Inequações j = m +1
j

Equação 9-H
1 m
[ ] [ ]
p
Ω(R, g ( x )) = ∑ h j ( x ) −R ∑ ln g j ( x )
2
Equações e 2

Inequações R j =1 j = m +1

Equação 9-I
m p

Equações e Ω(R, g ( x )) = 10 20 ∑ h j ( x ) +10 20 ∑ g j (x )


Inequações j =1 j = m +1

Equação 9-J

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
147
⎧ g j ( x ) se g j ( x ) ≤ 0
onde g j (x ) = ⎨
⎩ 0 se g j ( x ) > 0

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.

min φ ( x1 , x 2 )
φ ( x1 , x 2 ) = ( x1 − 4)2 + ( x 2 − 4 )2
s.a. g ( x1 , x 2 ) = 5 − x1 − x 2 ≥ 0

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.

minφ ( x1 , x 2 )
φ ( x1 , x2 ) = x1 2 − x2
s.a. g1 ( x1 , x 2 ) = x1 − 1 ≥ 0
g 2 ( x1 , x 2 ) = 26 − x12 − x 22 ≥ 0
h1 ( x1 , x 2 ) = x1 + x 2 − 6 = 0

Sugestão: utilize os arquivos EX9_1.M e EX9_1_FC.M como modelos.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
minφ ( x )
x
1 T
φ (x ) = c T x + x Qx
2
s.a. A.x ≥ b
x≥0
Equação 10-A

Podemos rearranjar a equação 10-a da seguinte maneira


minφ ( x )
x
1 T
φ (x ) = c T x + x Qx
2
s.a. g 1 ( x ) = A.x − b ≥ 0
g 2 ( x ) = I .x ≥ 0

Equação 10-B

Escrevendo a função Lagrangeana da equação 10-b, obtemos


L( x, w, u ) = φ ( x ) + w g 1 ( x ) + u g 2 ( x )
T T

Equação 10-C

e
∇ xT L( x, w, u ) = c + Q.x − A w − u = 0
T

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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
149
∇ xT L( x, w, u ) = c + Q.x − A w − u = 0
T

A.x − b − y = 0
w y=0 u x=0
T T

x≥0 y≥0 w≥0 u ≥0

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:
minϕ ( x )
x
1
(
ϕ ( x ) = c T x + bT y
2
)
s.a. c + Q.x − A w − u = 0
T

A.x − b − y = 0
w y=0 u x=0
T T

x≥0 y≥0w≥0u≥0

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:
maxϕ ( z , w )
1 T
ϕ ( z, w) = b T w −z Qz
2
s.a. Q z − A w + c ≥ 0
T

w≥0
z irrestrito
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
minφ ( x )
s.a. h j ( x ) = 0 j = 1,2,…, J
g k ( x ) = 0 k = 1,2,…, K
Equação 10-H

defina a estimativa inicial xo ;


2. Aproximar o PPNL por um PPQ:

[ ( )] (x − x ) + 12 (x − x ) ∇ φ (x )(x
min ∇φ x
i T i +1 i i +1 i T 2 i i +1
−x
i
)
s.a. h (x ) + [∇h (x )] (x − x ) = 0 j = 1,2, … , J
i i T i +1 i
j j

g (x ) + [∇g (x )] (x − x ) ≥ 0 k = 1,2, … , K
i i T i +1 i
k k

Equação 10-I

ou, definindo o vetor direção de busca d = (xi+1 - xi) :

[ ( )] d + 12 d ∇ φ (x )d
min ∇φ x
i T T 2 i

s.a. h (x ) + [∇h (x )] d = 0 j = 1,2,…, J


i i T
j j

g (x ) + [∇g (x )] d ≥ 0 k = 1,2,…, K
i i T
k k

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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
151

[ ( )] d + 12 d ∇ L(x )d
min ∇L x
i T T 2 i

s.a. h (x ) + [∇h (x )] d = 0 j = 1,2,…, J


i i T
j j

g (x ) + [∇g (x )] d ≥ 0 k = 1,2,…, K
i i T
k k

Equação 10-K

onde
∇ x L( x, w, u ) = ∇ xφ ( x ) + w ∇ x h( x ) − u ∇ x g ( x )
T T

∇ 2x L( x, w, u ) = ∇ 2xφ ( x ) + w ∇ 2x h( x ) − u ∇ 2x g ( x )
T T

Equação 10-L

mas no ponto ótimo demonstra-se que w T ∇ x h( x ) = 0 e u ∇ x g ( x ) = 0 assim o


T

subproblema de PQ pode ser escrito como


(
min q d , x , w , u
i i i
)
( ) [ ( )] d + 12 d ∇ L(x , w , u )d
q d , x , w , u = ∇φ x
i i i i T T 2
x
i i i

s.a. h (d , x ) ≡ h (x ) + [∇h (x )] d = 0 j = 1,2,…, J


~ i i i T
j j j

g~ (d , x ) ≡ g (x ) + [∇g (x )] d ≥ 0 k = 1,2,…, K
i i i T
j k k

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
152
10.2. Exercícios

E10.1. Utilizando o método da programação quadrática resolva o seguinte


problema.

min φ ( x1 , x 2 )
φ ( x1 , x 2 ) = ( x1 − 4 ) + ( x 2 − 4 )
2 2

s.a. g( x1 , x 2 ) = 5 − x1 − x 2 ≥ 0

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 ) = x12 + 2 x22 + 3x32 + 4 x42 + 5x52
s.a. 2 x1 + x2 − 4 x3 + x4 − x5 = 0
5x1 − 2 x3 + x4 − x5 = 0
x1 + 2 x2 + x3 ≥ 6
4 x 3 + x 4 − 2 x5 ≤ 0

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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
min φ ( x ) x = [x1 xn ]
T
x2
s.a. h j ( x ) = 0 j = 1,2, … , m
Li ≤ x i ≤ U i i = 1,2, … , n
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:
h j ( x ) = g j ( x ) ± σ i2 − ∞ ≤ σ i ≤ +∞
ou
h j (x) = g j (x ) ± σ i σ i ≥ 0

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:
min φ ( x 1 , x 2 )
s.a. h( x 1 , x 2 ) = 0
Equação 11-C
O diferencial total de cada função é:
∂φ (x ) ∂φ (x )
dφ (x ) = dx1 + dx 2
∂x1 ∂x 2
Equação 11-D

∂h ( x ) ∂h ( x )
dh( x ) = dx1 + dx 2 = 0
∂x1 ∂x 2
Equação 11-E

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
⎡ ∂h ( x ) ⎤
⎡ ∂h ( x ) ⎤ ⎡ ∂h ( x ) ⎤
−1
⎢ ∂x ⎥
dx1 = − ⎢
∂h( x )⎥⎥ dx 2 = − ⎢⎣ ∂x1 ⎥⎦ ⎢⎣ ∂x 2 ⎥⎦ dx 2
2


⎢⎣ ∂x1 ⎥⎦
Equação 11-F

O algoritmo GRG é iterativo. A atualização dos valores dex1obedece à


seguinte relação:
x1k = x1k −1 + dx1k −1
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:
⎧⎪ ⎡ ∂φ ( x ) ⎤ ⎡ ∂h( x ) ⎤ −1 ⎡ ∂h( x ) ⎤ ∂φ ( x ) ⎫⎪
dφ ( x ) = ⎨ − ⎢ ⎥⎢ ⎥ ⎢ ⎥+ ⎬ dx 2
⎪⎩ ⎣ ∂x1 ⎦ ⎣ ∂x1 ⎦ ⎣ ∂x 2 ⎦ ∂x 2 ⎪⎭

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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
155

L ( x, w ) = φ ( x ) + w h ( x )
T

Equação 11-I

logo

∂L( x, w ) ∂φ ( x ) ⎡ ∂h( x )⎤
T

= +⎢ ⎥ w
∂x ∂x ⎣ ∂x ⎦
Equação 11-J

Lembrando do particionamento de xk = [ xDk | xIk ] :


L( x D , x I , w) = φ ( x D , x I ) + w h( x D , x I )
T

Equação 11-K

Particionando os vetores da equação 11-j:

∂L ( x I , w ) ∂φ ( x I ) ⎡ ∂h ( x I ) ⎤
T

= +⎢
∂ x I (n − m ) x 1 ⎣ ∂ x I ⎥⎦
w m x1
∂ x I (n − m ) x 1
(n − m ) x m

Equação 11-L
e, demonstra-se que
∂L ( x D , w ) ∂φ ( x D ) ⎡ ∂h ( x D ) ⎤
T

= +⎢ ⎥ w m x1 = 0
∂ x D m x1 ∂ x D m x1 ⎣ ∂ x D ⎦
mxm

Equação 11-M
Da equação 11-m obtém-se
−1 T
⎧⎪⎡ ∂h( x ) ⎤ T ⎫⎪ ⎡ ∂φ ( x ) ⎤ ⎧⎪⎡ ∂h( x ) ⎤ −1 ⎫⎪ ⎡ ∂φ ( x ) ⎤
w = −⎨⎢ ⎥ ⎬ ⎢ ⎥ = −⎨⎢ ⎥ ⎬ ⎢ ⎥
⎪⎩⎣ ∂ x D ⎦ ⎪⎭ ⎣ ∂ x D ⎦ ⎪⎩⎣ ∂ x D ⎦ ⎪⎭ ⎣ ∂ x D ⎦

Equação 11-N
ou

⎡ ∂φ ( x ) ⎤ ⎡ ∂h( x ) ⎤
T −1

w = −⎢
T
⎥ ⎢ ⎥
⎣ ∂ xD ⎦ ⎣∂ xD ⎦
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
T
∂L( x, w ) ∂φ ( x ) ⎡ ∂h( x )⎤
T
⎧⎪⎡ ∂h( x )⎤ −1 ⎫⎪ ⎡ ∂φ ( x ) ⎤
gR = = −⎢ ⎥ ⎨⎢ ⎥ ⎬ ⎢ ⎥
∂ xI ∂ xI ⎣ ∂ xI ⎦ ⎪⎩⎣ ∂ x D ⎦ ⎪⎭ ⎣ ∂ x D ⎦

Equação 11-P

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

{ 2 2
Exemplo 11.1: min f ( x) =min exp( x1 )(4.x1 + 2.x 2 +4.x1 x 2 +1) }
1,5 + x1 x 2 − x1 − x 2 <0
s.a.
x1 x 2 >− 10
A solução obtida pelo MATLAB é
x1 = − 9 ,5474
x2 = + 1, 0474
f min = 0 , 0236
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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
157
Tabela 11-A: Algoritmo GRG e aplicação

APLICAÇÃO DO ALGORITMO DO GRADIENTE REDUZIDO


1a ETAPA: 1a ETAPA:
Escrever o problema segundo a Função objetivo:
forma padrão, i.e.:
min f ( x)
minimizar f ( x ) x = [ x1 x2 xn ] T
f ( x) =exp( x )(4.x
2 2
+ 2.x 2 + 4.x1 x 2 + 2 x 2 +1)
1 1
sujeito a h j ( x) = 0 j = 1,…, m Restrições:
Se existirem inequações, as mesmas h1 ( x ) =1,5 + x1 x 2 − x1 − x 2 + x 3 =0
2

devem ser transformadas em


h2 ( x ) =−10 − x1 x 2 + x 4 =0
2
equações utilizando variáveis fictícias .
Obs.: as variáveis x3 e x4 são fictícias
2a ETAPA: 2a ETAPA:
Escolha das variáveis não-básicas Escolhemos, inicialmente, x1 e x2 como
(independentes) e básicas variáveis dependentes, enquanto x3 e x4
(dependentes). Definição de alguns são as variáveis independentes.
parâmetros do método numérico. Portanto:
Escolha prioritariamente as variáveis x D = [ x1 x2 ]
controladas, quando existirem, como
x I = [ x3 x4 ]
variáveis independentes x I .

Erro! Não é possível criar objetos a x 0D = [ −100 ; + 100 ]


partir de códigos de campo de x 0I = [ 0,0 ; 0,0 ]
edição.
Definição da estimativa inicial de xv λ0 = 1;
viável. Para tanto dado um certo xi taxa diminuição de λ = 5
utilizamos o método de Newton para
encontrar o xv viável. tolerância para FO = 1e-8
Definição do valor inicial de λ (fator de tolerância para FR's = 1e-3
amortecimento), da taxa de diminuição critério de parada: diferença absoluta ou
de λ , das tolerâncias, do(s) critério(s) relativa de dois valores sucessivos da
de parada e do número máximo de FO
iterações.
3a ETAPA: 3a ETAPA:
Cálculo do gradiente reduzido. ⎡ ∂f ( x ) ⎤ 2 2
⎢ ⎥ =exp( x1 )(4 x1 + 2 x 2 + 4 x1 x 2 + 2 x 2 +1)
⎣ ∂x1 ⎦
T T −1
⎡ ∂f k ⎤ ⎡ ∂f k ⎤ ⎡ ∂ hk ⎤ ⎡ ∂ hk
(g ) k T
=⎢ ⎥ −⎢ ⎥ ⎢ ⎥ ⎢ + exp( x1 )(8 x1 + 4 x 2 )
⎢⎣ ∂ x I ⎥⎦ ⎢⎣ ∂ x D ⎥⎦ ⎢⎣ ∂ x D ⎥⎦ ⎢⎣ ∂ x I
R k k k k

ou
⎡ ∂f ( x ) ⎤
⎢ ⎥ =exp( x1 )(4 x 2 + 4 x1 + 2)
T
⎡ ∂f k ⎤ ⎡ ∂ h k ⎤
T
⎧⎡ −1

⎪ ∂h ⎤ ⎪ ⎡ ∂f k ⎤
⎣ ∂x 2 ⎦
(g )
k
=⎢ ⎥ −⎢ ⎥ ⎨⎢ ⎥ ⎢ ⎥
k

⎢⎣ ∂ xI ⎥⎦ ⎢⎣ ∂ xI ⎥⎦ ⎪⎩⎢⎣ ∂ xD ⎥⎦ ⎪⎭ ⎢⎣ ∂ xD ⎥⎦
R k k k k

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
158

3a ETAPA: (continuação) 3a ETAPA: (continuação)


Cálculo do gradiente reduzido.
⎡ h1 ( x ) ⎤ ⎡ ∂f ( x ) ⎤
⎢ ⎥ =0
h( x ) = ⎢⎢ ⎥ um vetor m x 1
⎥ ⎣ ∂x 3 ⎦
⎢⎣hm ( x )⎥⎦
⎡ ∂f ( x ) ⎤
⎢ ⎥ =0
⎡ x1 ⎤ ⎣ ∂x 4 ⎦
⎢ ⎥
⎢ ⎥
⎢ xm ⎥
x =⎢ ⎥ um vetor n x 1 ⎡ ∂h1 ( x ) ⎤
⎢ x m+ 1 ⎥ ⎢ ⎥ = x 2 −1
⎢ ⎥ ⎣ ∂x1 ⎦
⎢ ⎥
⎣ xn ⎦ ⎡ ∂h1 ( x ) ⎤
⎢ ⎥ = x1 −1
⎣ ∂x 2 ⎦
⎡ ∂f ( x ) ⎤
[ ] ⎡ ∂f ( x ) ∂f ( x ) ⎤
T

⎢ ⎥ = ∇ xD f = ⎢ ⎡ ∂h2 ( x ) ⎤
T

⎣⎢ ∂ x D ⎦⎥ ⎣ ∂x1 ∂x m ⎦
⎢ ⎥ =− x 2
⎣ ∂x1 ⎦
um vetor1 x m
⎡ ∂ h2 ( x ) ⎤
⎥ =− x1
⎡ ∂f ( x ) ⎤
[ ] ⎡ ∂f ( x ) ∂f ( x ) ⎤
T

⎢ ⎥ = ∇ xI f =⎢
T
⎥ ⎣ ∂x 2 ⎦
⎣⎢ ∂ x I ⎦⎥ ⎢⎣ ∂x m +1 ∂x n ⎥⎦

um vetor1 x (n-m)

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
159

3a ETAPA: (continuação) 3a ETAPA: (continuação)


Cálculo do gradiente reduzido. ⎡ ∂ h( x ) ⎤ ⎡ x 2 −1 x1 −1⎤
portanto ⎢ ⎥ =⎢ ⎥ e
⎡ ∂h1 ( x ) ∂h1 ( x ) ⎤
⎣⎢ ∂ x D ⎦⎥ ⎣ − x 2 − x1 ⎦
⎢ ∂x m ⎥⎥
⎡ ∂ h( x ) ⎤ ⎢ ∂x1
⎢ ⎥ =⎢ ⎡ x1 x1 −1 ⎤
⎥ −1
⎢− x − x −
⎢⎣ ∂ x D ⎥⎦ ⎢ ∂hm ( x ) ∂h m ( x ) ⎥ ⎡ ∂ h( x ) ⎤ x1 − x 2 ⎥
⎢ ∂x1 ⎢ ⎥ =⎢ 1 2 ⎥

∂x m ⎥⎦ ⎢⎣ ∂ x D ⎥⎦ ⎢ x2 x 2 −1 ⎥

⎢⎣ x1 − x 2 x1 − x 2 ⎥⎦
uma matrizm x m
⎡ ∂h1 ( x ) ⎤
⎡ ∂h1 ( x ) ∂h1 ( x ) ⎤
⎢ ⎥ = 2 x3
⎢ ∂x n ⎥ ⎣ ∂x3 ⎦
⎡ ∂ h( x ) ⎤ ⎢ ∂x m +1 ⎥
⎢ ⎥ =⎢ ⎥ ⎡ ∂h1 ( x )⎤
⎢⎣ ∂ x I ⎥⎦ ⎢ ∂hm ( x ) ∂h m ( x ) ⎥ ⎢ ⎥ =0
⎢ ∂x ∂x n ⎥ ⎣ ∂x 4 ⎦
⎣ m +1 ⎦
⎡ ∂h 2 ( x ) ⎤
uma matrizm x (n-m) ⎢ ⎥ =0
⎣ ∂x 3 ⎦
⎡ ∂h 2 ( x ) ⎤
⎢ ⎥ =2x 4
⎣ ∂x 4 ⎦
⎡ ∂ h( x ) ⎤ ⎡ 2 x 3 0 ⎤
portanto ⎢ ⎥=⎢
⎣ ∂ xI ⎦ ⎣ 0 2 x 4 ⎥⎦

Então g R ( ) k T ⎡g ⎤
= ⎢ 1 ⎥ onde
⎣g 2 ⎦
3 2 2 2
exp( x1 )(4 x1 + 2 x1 x2 + 4 x1 x2 + x1 +8 x1 − 4 x2 − 2 x2 ) x3
g1 = − 2
x1 − x2
3 2 2 2
exp( x1 )(4 x1 + 4 x1 + 2 x1 x 2 − 6 x2 + 4 x1 x 2 − 3x1 + 1 − 2 x 2 − 4 x1 x 2 ) x 4
g2 =−2
x1 − x 2

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
160

4a ETAPA: 4a ETAPA:
Determinação da direção da Só foi necessário um cálculo do
variação das variáveis gradiente reduzido:
independentes.
Δ01 =0,7367 x 10 -40
Para a primeira iteração
Δ02 =0,7441 x 10 - 40
Δ =− g Ri
k
i i =1,…,n
Porém o valor do fator de
ou amortecimento λ da magnitude da
Δk =− g R variação das variáveis modificou-se,
veja os valores obtidos na 6a etapa.
nas demais iterações podemos
a
calcular a direção do incremento para Veja observação da 7 etapa sobre o
as variáveis independentes utilizando número de iterações necessárias.
a fórmula do gradiente conjugado de
Flercher-Reevs (algoritmo de Abadie):

Δk +1
=− g k +1

k (g ) (g )
k +1 T
R
k +1
R
I R I
(g ) (g )
R
k T k
R

5a ETAPA: 5a ETAPA:
Determinação da direção da Os valores obtidos para as variáveis
variação das variáveis dependentes para cada uma das 5
dependentes. iterações foram:

⎡∂ h k ⎤
−1
⎡∂ h k ⎤ k x1 x2
Δ =− ⎢
k
D ⎥ ⎢ ⎥Δ I -100.00,100.00
⎢⎣ x D ⎥⎦ ⎢⎣ x I ⎥⎦
-11.2280,-05.3257
-8.5371 , 1.0412
-9.5656,1.0465
-9.5664,1.0464
6a ETAPA: 6a ETAPA:
Determinação da magnitude da O valor do fator de amortecimento λ da
variação das variáveis magnitude da variação das variáveis
independentes e dependentes. modificou-se consideravelmente,
k +1 assumindo os seguintes valores:
x I = x I + λk ΔkI
k

1; 0,1; 0,01; 0,001 e 0,0001


~ k +1
x D = x D +λ k ΔkD
k
portanto tivemos 5 iterações até
~k+1 alcançar a convergência.
onde xD é um ponto de tentativa.

λk é determinado por uma busca


unidimensional

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
161

7a ETAPA: 7a ETAPA:
Determinação de uma região viável Na determinação da região viável
a partir das variáveis dependentes. utilizamos a função do MATLAB fsolve.
Usando o método de Newton procura-
se um conjunto de ~
k +1
x D que satisfaz
h(x) = 0.

x D =~
k +1 k +1
x D −⎢
(
⎡ ∂ h x kI +1 , ~
xD
k +1
)⎤⎥ h(x k +1
,~
k +1
xD )
∂ x kD )
I
⎢⎣ ⎥⎦
8a ETAPA: 8a ETAPA:
Verificação da convergência. Nesta etapa utilizamos os testes
descritos e desta maneira conseguimos
Várias situações podem ocorrer:
alcançar a convergência.
(a) Se x k + 1 é um ponto viável e
k +1 k +1 k +1
f ( x I , x D ) < f ( x I , x D ) adotar x e
k k

voltar para a 3a etapa.


k +1
(b) Se x é um ponto viável mas
k +1 k +1
f ( x I , x D )≥ f ( x I , x D ) , reduzir λ para
k k

1/10 do valor anterior, por exemplo, e


retornar a 6a etapa.
(c) Se na 6a etapa não foi encontrada
um x kD+ 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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
162

9a ETAPA: 9a ETAPA:
Critério de parada do programa. Para o problema em questão preferimos
adotar o critério de parada absoluto.
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.:
( ) − f (x ) ≤ tolerância
f x
k +1

f (x )

ou
( ) − f (x ) ≤ tolerância
f x
k +1

11.2.1. Listagem do Programa GRG para o Exemplo 11.1


Aqui estão listados os seguintes programas:
Programa Função
grad_red. programa principal
m
grad_r_f.m cálculo da função objetivo
grad_r_h. cálculo das funções de
m restrição
grad_r_d. cálculo do gradiente
m reduzido

Listagem do programa grad_red.m :

clear
clear functions
echo off
clg
clc

% METODO DO GRADIENTE REDUZIDO

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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


% ====================================================

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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 ;

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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) ;

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
172
11.3. Exercícios

E11.1. Utilizando o método GRG resolva o seguinte problema.


min φ ( x1 , x 2 )
φ ( x1 , x 2 ) = ( x1 − 4)2 + ( x 2 − 4 )2
s.a. g ( x1 , x 2 ) = 5 − x1 − x 2 ≥ 0
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:


min φ ( x )
φ ( x ) = x12 − x 22 + 4 x3 − 12
s.a.20 − x 22 − x 32 = 0
x1 + x3 − 7 = 0

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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;

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
175

maxφ = 86 x1 + 4 x2 + 40 x3
s.a. 774 x1 + 76 x2 + 42 x3 ≤ 875
Exemplo 12.1:
67 x1 + 27 x2 + 53x3 ≤ 875
x1 , x2 , x3 = 0 ou 1
Aplicando a técnica do branch and bound e utilizando o comando lp do
MATLAB obtemos :
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
x2 = 0
x2 = 1
PL contínuo s.a. 0 < x1 < PL contínuo s.a.: 0 < x1 < 1
1 x2 = 0
x2 = 1 0 < x3 < 1
*
0 < x3 < 1 Solução: x = (1; 0; 1)
Solução: x* = (0,978; 1; 1) Valor da FO: φ = 126,00
Valor da FO: φ= 128 11
x1 = 1 x1 = 0
PL contínuo s.a. x1 = 1 PL contínuo s.a. x1 = 0
x2 = 1 x2 = 1
0 < x3 < 1 0 < x3 < 1
Solução: x* = (1; 1; 0,595) Solução: x* = (0; 1; 1)
Valor da FO: φ= 113,81 Valor da FO: φ = 44,00

x3 = 0
PL contínuo s.a. x1 = 1
x2 = 1
x3 = 0
Solução: x* = (1; 1; 0)
Valor da FO: φ = 90,0

Se uma variável assume valores inteiros não-necessariamente binários,


podemos tratar esse problema como PIB, fazendo a seguinte transformação de
xi = ∑ (k j . yij )
n

variável: j =1

yi = 0 ou 1
Equação 12-A

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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.

x1 (kg/dia)
A U1

x2 (kg/dia)
C U2

Fluxograma da planta a batelada

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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:
min Φ ( x(t ), u (t ), t )
u (t )
tf

Φ( x(t ), u (t ), t ) = G (x(t f )) + ∫ F (x(t ), u(t ), t )dt


t0

= H ( x(t ), u (t ), t )
dx
s.a.
dt
h( x(t ), u (t )) = 0
g ( x(t ), u (t )) ≥ 0

Equação 13-A

A forma discreta do PCO é a seguinte


min Φ( x(t ), u (t ), t )
u (t )
K −1
Φ ( x(t ), u (t ), t ) = G ( x(K )) + ∑ F ( x(k ), u (k ), k )
k =0

s.a. x(k + 1) = H ( x(k ), u (k ), k )


h( x(k ), u (k )) = 0
g ( x(k ), u (k )) ≥ 0

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
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) Cu(t)eG = [x(tf) - xd)] A[x(tf) - xd )] . Por exemplo o problema do
T T

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.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
179
Tabela 13-A: Métodos para PCO

Abordagem Características Vantagens Desvantagens


Discretização da Utilizar os Estamos mais Geralmente leva a
FO métodos de PNL acostumados com problemas com
já estudados. PPNL. número elevado
de variáveis de
Requer a Ás vezes temos
decisão.
parametrização uma boa
por polinômios ou estimativa(s) do A discretização
discretização das polinômio(s) conduz SEANL.
FR's por aproximador(es),
diferenças finitas.
Programação Utiliza o princípio Pode ser aplicado Exige grande
Dinâmica de otimalidade de a sistemas esforço
Bellman. lineares, não- computacional
lineares, para um número
Malha fechada
contínuos, elevado de
discretos, variáveis de
variantes no decisão
tempo, MIMO,
determinísticos, de
parâmetros
concentrados ou
distribuídos.
Princípio mínimo Define-se o Pode ser aplicado Requer
de Pontryagin funcional a sistemas conhecimento de
Hamiltoniano, lineares, não- funcionais e de
análogo à função lineares, cálculo variacional
Lagrangeana contínuos, para o
discretos, entendimento e
Define-se um
variantes no aplicação da
vetor de co-
tempo, MIMO, teoria.
estado, análogo
determinísticos, de
aos
parâmetros
multiplicadores de
concentrados.
Lagrange
Conduz a
Define as
sistemas de
condições
equações
necessárias para
elegantes e
um ponto ótimo
gerais.
Malha aberta

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
180

Apêndice I:

Controle Ótimo

de um Reator a Batelada

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)
181

Apêndice II:

Reproduções de páginas do livro

Process Analysis by Statistical Methods


Himmelblau, D. M.

Ricardo Kalid - Otimização de Processos – kalid@ufba.br

Document shared on www.docsity.com


Downloaded by: luan-gabriel-16 (nascimento.lga@outlook.com)

Вам также может понравиться