Engenharia de Processos e Sistemas

113
Engenharia de Processos e Sistemas (EPS) Equações não-lineares e optimização Nuno Oliveira [email protected] Departamento de Engenharia Química Universidade de Coimbra 2019-20

Transcript of Engenharia de Processos e Sistemas

Page 1: Engenharia de Processos e Sistemas

Engenharia de Processos e Sistemas (EPS)

Equações não-lineares e optimização

Nuno Oliveira

[email protected]

Departamento de Engenharia Química

Universidade de Coimbra

2019-20

Page 2: Engenharia de Processos e Sistemas

Versão de sexta-feira 24 Janeiro, 2020.

Contactos: Nuno Oliveira (DEQ/FCTUC) — coordenador.

[email protected], Tel. 914 006 725, 239 798 742.

Sítios web:

• Página actual: https://www.eq.uc.pt/~nuno/eps/.

Lista de divulgação: Correio electrónico: [email protected]. O arquivo

de mensagens anteriores pode ser consultado em http://e-learn.engiq.pt/

mailman/listinfo/.

Page 3: Engenharia de Processos e Sistemas

Conteúdo

1 Introdução 1

1.1 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Conteúdo e funcionamento . . . . . . . . . . . . . . . . . . . . . 7

1.2.1 Conteúdo . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.2 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.3 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.4 “Background” dos formandos? . . . . . . . . . . . . . . . 7

2 Ferramentas básicas na solução de problemas numéricos 9

2.1 Tarefas consideradas . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Tarefas de natureza conceptual . . . . . . . . . . . . . . . 10

2.1.2 Tarefas de natureza operacional . . . . . . . . . . . . . . 12

2.2 Sistemas disponíveis (ferramentas) . . . . . . . . . . . . . . . . . 15

2.2.1 Sistemas operativos . . . . . . . . . . . . . . . . . . . . . 16

2.2.2 Folhas de cálculo . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.3 Linguagens básicas de programação . . . . . . . . . . . . 22

2.2.4 Linguagens avançadas de programação . . . . . . . . . . 23

2.2.5 Linguagens para modelação e optimização . . . . . . . . 26

3 Solução de sistemas de equações não-lineares 33

3

Page 4: Engenharia de Processos e Sistemas

4 Conteúdo

3.1 Sistemas de equações lineares . . . . . . . . . . . . . . . . . . . . 34

3.2 Sistemas não-lineares . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.1 Métodos gráficos . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.2 Método das substituições sucessivas (MSS) . . . . . . . . 38

3.2.3 Método de Newton . . . . . . . . . . . . . . . . . . . . . . 44

3.3 Problemas propostos . . . . . . . . . . . . . . . . . . . . . . . . . 58

4 Optimização não-linear 59

4.1 Optimização sem restrições . . . . . . . . . . . . . . . . . . . . . 62

4.1.1 Condição necessária . . . . . . . . . . . . . . . . . . . . . 64

4.1.2 Condição suficiente . . . . . . . . . . . . . . . . . . . . . 64

4.2 Optimização com restrições . . . . . . . . . . . . . . . . . . . . . 68

4.3 Implementação prática . . . . . . . . . . . . . . . . . . . . . . . 68

4.4 Exemplos de aplicação . . . . . . . . . . . . . . . . . . . . . . . . 69

5 Optimização linear e discreta 71

5.1 Optimização linear . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.1.1 Modelos de redes . . . . . . . . . . . . . . . . . . . . . . . 72

5.2 Optimização com decisões discretas . . . . . . . . . . . . . . . . 72

5.2.1 Modelação com variáveies discretas . . . . . . . . . . . . 74

5.2.2 Exemplos de aplicação . . . . . . . . . . . . . . . . . . . . 74

6 Modelação mecanística de sistemas 75

6.1 Balanços macroscópicos de extensidades . . . . . . . . . . . . . . 80

6.2 Balanços microscópicos de extensidades . . . . . . . . . . . . . . 81

6.3 Balanços de populações . . . . . . . . . . . . . . . . . . . . . . . 82

7 Optimização de sistemas descritos por equações diferenciais 85

7.1 Solução de modelos com equações diferenciais — revisão . . . . 89

7.1.1 Solução de problemas de valor inicial (PVI) . . . . . . . . 89

7.1.2 Solução de problemas às condições fronteira (PCF) . . . . 91

EPS — Programa EngIQ

Page 5: Engenharia de Processos e Sistemas

Conteúdo 5

7.2 Exemplos de aplicação . . . . . . . . . . . . . . . . . . . . . . . . 98

Bibliografia 101

A Propriedades de descida do método de Newton 107

EPS — Programa EngIQ

Page 6: Engenharia de Processos e Sistemas
Page 7: Engenharia de Processos e Sistemas

Capítulo 1

Introdução

1.1 Objectivos

Fornecer aos estudantes uma visão geral sobre a área de Engenharia de Processos

e Sistemas— EPS (Process Engineering, 2014):

JDesenvolvimento e aplicação demetodologias sistemáticas

de solução de problemas (descritos num formalismo matemá-

tico) no domínio da Engenharia Química, e em particular de

Engenharia de Processos e Produtos.

São exemplos de áreas de aplicação destas metodologias:

• Projecto de processos.

• Desenvolvimento de produtos.

• Concepção de estratégias de supervisão.

• Diagnóstico de funcionamento.

1

Page 8: Engenharia de Processos e Sistemas

2 Introdução

• Optimização de unidades e operações existentes.

• Tratamento de dados e desenvolvimento de modelos.

• Desenvolvimento de estratégias de eficiência energética e ambiental.

Exemplos de aplicação muito diversificados podem ser encontrados em vários

tipos de fontes. Algumas (não exaustivas) são:

• artigos de revisão (Grossmann e Westerberg, 2000; Stephanopoulos e Re-

klaitis, 2011).

• referências fundamentais da área (Floudas, 1995; Biegler et al., 1997).

• publicações e conferências periódicas na área (Computers and Chemical

Engineering, 2014; Computer Aided Chemical Engineering, 2014).

• cursos na área (CAPD, 2014; CEPAC, 2011; Oliveira, 2003).

EPS — Programa EngIQ

Page 9: Engenharia de Processos e Sistemas

1.1 Objectivos 3

Características fundamentais:

• A metodologia de procura de soluções favorece o estabelecimento de mé-

todos com carácter sistemático, com procedimentos aplicáveis a diversos

sistemas, suportados na informação disponível sobre estes.

• Os métodos de solução usados procuram, em geral, garantir a qualidade

das soluções encontradas (optimalidade).

• A identificação destas soluções baseia-se na construção e utilização de

modelos. Assim, a actividade demodelação constitui uma componente

fulcral do âmbito da Engenharia de Processos e Sistemas. Os modelos ma-

temáticos criados possuem geralmente uma dada finalidade de utilização.

Consoante o uso pretendido, os modelos que descrevem um dado sistema

podem diferir bastante entre si.

• Asmetodologias aplicam-se igualmente a sistemas físicos (e.g., processos

químicos) e a operações (intangíveis) numa organização. Por isso são áreas

afins:

– Investigação operacional (“operations research”).

– Gestão de operações (Figura 1.1). Esta tarefa assume habitualmente

um lugar central de coordenação com outras funções organizacionais

(Figura 1.2).

• Nesta área, é frequente o reaproveitamento de elementos (problemas) exis-

tentes na definição de estratégias de solução (originando ferramentas).

• São também frequentemente integradasmetodologias diversas (a vários

EPS — Programa EngIQ

Page 10: Engenharia de Processos e Sistemas

4 Introdução

Figura 1.1 Gestão de operações numa organização (Slack et al., 2013).

Figura 1.2 Relação central da gestão de operações com as outras funções numaorganização (Slack et al., 2013).

EPS — Programa EngIQ

Page 11: Engenharia de Processos e Sistemas

1.1 Objectivos 5

níveis e com várias facetas).

• Pretende-se abranger neste tratamento todas as escalas dos sistemas quí-

micos, desde asmoléculas até às organizações globais (Figura 1.3). A apli-

cação integrada de diversas metodologias é a via para se atingir a gestão

óptima da cadeia de valor dos processos e produtos químicos.

Figura 1.3 Leque de escalas dos sistemas químicos (Grossmann e Westerberg,2000).

Algumas áreas de aplicação desta metodologia sistemática de EPS estão listados

na Tabela 1.1. Outros exemplos de aplicação na área de processos químicos

podem ser encontrados em Oliveira (2003) (Secção 1.3 e outras).

Este domínio é extremamente vasto. Consequentemente será necessário estabe-

lecer um compromisso nas matérias abordadas aqui (nos assuntos tratados e na

sua extensão).

EPS — Programa EngIQ

Page 12: Engenharia de Processos e Sistemas

6 Introdução

Tabela 1.1 Aplicações correntes na área de EPS (Grossmann eWesterberg, 2000).

Design OperationsEnergy recovery networks SchedulingDistillation systems Multiperiod planning and optimizationReactor networks Data reconciliationHierarchical decomposition of flowsheets Real-time optimizationSuperstructure optimization Flexibility analysisMultiproduct & multipurpose batch plants Fault diagnosis

Control Support toolsModel predictive control Sequential-modular simulationControllability Equation-based simulationRobust control A.I. / Expert SystemsNonlinear control Large-scale NLPStatistical process control Optimization of DAEsProcess Monitoring Mixed-integer NLP

Global optimization

EPS — Programa EngIQ

Page 13: Engenharia de Processos e Sistemas

1.2 Conteúdo e funcionamento 7

1.2 Conteúdo e funcionamento

Lista de contactos?

1.2.1 Conteúdo

Ver Ficha da Unidade Curricular (FUC) e o plano de funcionamento.

1.2.2 Avaliação

Ver plano de funcionamento.

1.2.3 Bibliografia

• Geral: indicada na FUC.

• Notas do curso CIM2003 (Oliveira, 2003).

• Outras referências específicas indicadas em cada aula.

• Elementos adicionais e notas disponibilizados em cada aula.

1.2.4 “Background” dos formandos?

• Formação anterior.

• Programação.

• Métodos numéricos.

• Optimização.

• Modelação avançada.

• Opções em engenharia de sistemas.

• Experiência prática.

EPS — Programa EngIQ

Page 14: Engenharia de Processos e Sistemas

8 Introdução

Conceitos-chave a reter

1. O domínio de Engenharia de Processos e Sistemas (EPS) tem como ob-

jectivo o desenvolvimento de metodologias sistemáticas de resolução de

problemas.

2. As suas aplicações abarcam todas as áreas dos Processos Químicos e a área

genérica de Operações, nas organizações.

3. Para o sucesso desta tarefa é necessário aprender a tratar com eficiência a

complexidade dos problemas resultantes das aplicações anteriores.

EPS — Programa EngIQ

Page 15: Engenharia de Processos e Sistemas

Capítulo 2

Ferramentas básicas na solução de

problemas numéricos

Uma característica da aplicação da metodologia de EPS a problemas tão diver-

sificados é a sua abordagem sistemática do processo de pesquisa de soluções.

Neste processo, as etapas e os elementos considerados podem ser agrupados

em vários tipos de tarefas (identificados abaixo). Isto permite a reutilização de

abordagens e estratégias de solução em aplicações muito diversificadas.

2.1 Tarefas consideradas

• Conceptuais: O principal objectivo neste nível é a construção de um mo-

delo matemático do problema, descrevendo o sistema em causa, e os objecti-

vos e especificações da tarefa, criando uma conceptualização do problema

(formulação) que servirá de suporte à análise a realizar:

– Construirmodelos ou formulações matemáticas dos problemas em

análise.

9

Page 16: Engenharia de Processos e Sistemas

10 Ferramentas básicas na solução de problemas numéricos

– Implementar computacionalmente estes modelos numa linguagem

ou sistema.

• Operacionais: Neste nível, temos como principal preocupação a manipu-

lação eficiente da formulação anterior do problema e dos modelos criados.

– Resolver sistemas de equações não-lineares (NL).

– Resolver problemas de optimização. Esta tarefa pode corresponder

a classes diversas de subproblemas, que podem ser resolvidos por

técnicas (algoritmos) distintos.

• Funcionais: Neste nível consideramos o tipo de problema a ser resolvido,

analisando os objectivos da problema considerado, tentando que a sua

expressão seja efectuada de forma apropriada na formulação matemática

produzida. Algumas exemplos de problemas típicos são:

– Análise de sistemas (e.g., diagnóstico).

– Síntese de sistemas ou de procedimentos (e.g., projecto de unidades,

ou de metodologias de gestão e supervisão).

As necessidades de diagnóstico e demelhoria de processos constituem fre-

quentemente as principais forças motrizes na modelação desses sistemas.

2.1.1 Tarefas de natureza conceptual

Osmodelos dos sistemas em análise constituem sempre a base para as tarefas

anteriores. As suas natureza e origem podem contudo ser bastante distintas:

• Empírica (estatística) ou data-driven— baseada em observações (dados)

do processo.

• Mecanística (fundamentalista)—baseada emprincípios e leis físico-químicos

básicos.

EPS — Programa EngIQ

Page 17: Engenharia de Processos e Sistemas

2.1 Tarefas consideradas 11

Exemplo 2.1: Cinética de uma reacção química:

Duas formas alternativas de estruturas de modelos para representar velo-

cidades de reacção química:

E = 00) + 01 ln) + 02�2� + · · · versus E = �04−�0/')��

No 1o¯ caso, é usado um conjunto de regressores escolhidos de forma

empírica, com boa capacidade de explicar um conjunto de dados.

No 2o¯ caso existe a preocupação de usar uma estrutura mecanística na

expressão de E (pode não ser única).

Ambas abordagens (e em especial a sua combinação) têm sido usadas com

sucesso por alunos deste programa doutoral!

Cada uma destas classes de modelos possui vantagens e desvantagens; por

esta razão nenhuma destas abordagens é em geral superior à outra. É possível

encontrar aplicações onde uma destas metodologias é claramente preferível.

Apesar de a utilização dos modelos mecanísticos ser em geral mais alargada na

descrição de processos químicos, neste domínio (tal como noutros domínios

científicos), a aplicação de abordagens de modelação de base estatística tem

vindo a aumentar, e deu origem a um novo domínio científico denominado

“data science”, que congrega técnicas e abordagens de vários outros domínios

científicos como estatística, aprendizagem computacional, etc. (Data science,

2014). Uma abordagem introdutória à construção deste tipo de modelos está

disponível em Gama (2015).

Muitas universidades oferecem presentemente cursos nestas áreas, alguns do

tipo MOOC1. Estimativas recentes apontam que este domínio poderá movimen-

tar em breve recursos financeiros semelhantes aos de um segmento industrial

1MOOC —Massive Open Online Course.

EPS — Programa EngIQ

Page 18: Engenharia de Processos e Sistemas

12 Ferramentas básicas na solução de problemas numéricos

tradicional. Uma lista de tópicos actuais nesta área, indexada diariamente de

acordo com a sua popularidade pode ser encontrada em DataTau (2014). Alguns

sítios na web disponibilizam competições de construção de modelos com base

em dados, por exemplo:

• http://datascience.net/fr/home/.

• https://www.kaggle.com/.

2.1.2 Tarefas de natureza operacional

Sistemas de equações não-lineares:

5 (G) = 0; G, 5 ( · ) ∈ R= (2.1)

Notação:

U, V ∈ R; 0, G ∈ R=; �, � ∈ R=×<

Caso linear: � ·G = 1

Este é considerado um problema simples (elementar), sendo portanto frequente-

mente integrado (i.e., considerado como subproblema) na resolução de proble-

mas mais complexos.

Conceitos fundamentais:

• no¯ de graus de liberdade:

nGDL = nVARS − nEQs (2.2)

• Existência e unicidade de soluções (linear vs. não-linear).

• Graus de dificuldade na pesquisa das soluções:

O problema (2.1) pode também ser generalizado através da solução de um sistema

EPS — Programa EngIQ

Page 19: Engenharia de Processos e Sistemas

2.1 Tarefas consideradas 13

misto de equações e desigualdades

5 (G) = 0, 6(G) ≤ 0 (2.3)

ainda com G ∈ R=, e com 5 ( · ) ∈ R<, 6( · ) ∈ R? . Neste caso as restrições que

compõem 6(G) podem ser divididas em 2 grupos: as activas na solução G∗ e as

inactivas; as primeiras tornam-se igualdades, e as últimas podem ser ignoradas;

esta propriedade será revisitada na parte de optimização.

Muitos problemas numéricos são decompostos numa sucessão de problemas

mais simples; Por exemplo, é muito frequente a solução de sistemas lineares de

equações (ou a iteração— aproximação destes problemas).

Também é frequente o reaproveitamento de formulações (formalismos de

conceptualização) de problemas.

EPS — Programa EngIQ

Page 20: Engenharia de Processos e Sistemas

14 Ferramentas básicas na solução de problemas numéricos

Exemplo 2.2: Uso de formulação de transportes no projecto de re-

des de recuperação de calor

O diagrama de uma rede de transportes com re-expedição —

“transshipment problem” pode ser representado através do grafo:

→ Optimização linear (LP)

Nesta aplicação é reaproveitada a formulação de um problema simples

(estudado previamente), para resolver e conhecer as propriedades das so-

luções de um outro problema mais complexo (projecto óptimo de redes

de transferência de calor), decomposto em várias tarefas. Uma destas

tarefas em causa — entender os fluxos de calor numa rede — pode ser in-

terpretada como um problema de transportes com re-expedição (Papoulias

e Grossmann, 1983).

Formulações de optimização:

minG

q (G)

s.a ℎ(G) = 0

6(G) ≤ 0

• q (G) → função objectivo: avalia o mérito das soluções alternativas.

• ℎ(G) = 0, 6(G) ≤ 0→ restrições do problema.

EPS — Programa EngIQ

Page 21: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 15

• G → variáveis de decisão.

Embora as variáveis do problema G necessitem serem todas especificadas (em

conjunto), nem todas correspondem a graus de liberdade do problema:

nGDL = no. variáveis de decisão−no. restrições activas (igualdades na solução)

Em geral pretende-se que nos sistemas operados nGDL = 0 (i.e., estes estejam

completamente especificados).

Tipicamente q ( · ) ∈ R, senão estamos na presença de um problema de optimiza-

çãomultiobjectivo. Em geral G , 6, e ℎ são vectores.

A optimização multiobjectivo não é tratada explicitamente aqui. Algumas abor-

dagens são consideradas no Capítulo 4.

Também é possível a inclusão de variáveis discretas (binárias, inteiras) nestes

problemas. Esta possibilidade alarga consideravelmente o tipo de problemas

que podem ser abordados, mas requer técnicas de solução bastante distintas

(Capítulo 5).

2.2 Sistemas disponíveis (ferramentas)

Uma vez que a manipulação prática das formulações matemáticas criadas en-

volve praticamente sempre a sua implementação computacional, os sistemas de

suporte (ferramentas) escolhidos desempenham um papel fulcral no processo

de solução.

Como utilizá-las:

• Procurar usar sempre os sistemas mais específicos para a tarefa em causa.

Em geral estes permitem maiores produtividades, menor esforço, e por

vezes uma melhor qualidade de solução.

EPS — Programa EngIQ

Page 22: Engenharia de Processos e Sistemas

16 Ferramentas básicas na solução de problemas numéricos

Exemplo: construção de estradas.

• Útil conhecer (dominar) 1 leque alargado de ferramentas de uso possível

num dado tipo de problemas.

• Útil conhecer ferramentas de uso geral, utilizáveis em muitas classes de

problemas (garantia de resposta).

Objectivo: Cada aluno (praticante) deve estar familiarizado e ser proficiente

com pelo menos uma ferramenta de cada uma das classes anteriores.

2.2.1 Sistemas operativos

Sistemas mais comuns: Microsoft Windows, MacOS, Linux.

• Usar sempre o mais conveniente.

• MacOS, Linux partilham base comum (UNIX):

– muitos servidores, quase todos da lista TOP500 (2014) são Linux-

based.

– muitas facilidades de programação e muitas ferramentas no domínio

público.

Exemplo: na shell (emulador de terminal — texto):

ls | wc

simul | tee result.txt

– Muita usada a shell (terminal)→ necessário conhecer conjunto de

comandos essenciais a usar. Esta informação está disponível em múl-

tiplas fontes, e.g., na Web e em Siever et al. (2009).

– Quase todas as ferramentas podem ser escolhidas (e personalizadas),

e.g., shells, ambientes gráficos.

EPS — Programa EngIQ

Page 23: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 17

– É possível experimentar, com relativa facilidade, estes ambientes,

usando máquinas virtuais (emuladores), e.g., em VirtualBox, VmWare.

• Uma descrição da racionalidade da subjacente à organização dos sistemas

UNIX, conjuntamente com uma introdução a este ambiente de trabalho

pode ser encontrada em Kernighan e Pike (1984).

2.2.2 Folhas de cálculo

Alguns programas mais comuns deste tipo são o Microsoft Excel, e o Libre-

Office Calc. O primeiro temumautilizaçãomais vulgarizada, especialmente em

ambientes empresariais. No entanto, o LibreOffice Calc tem vindo a melhorar

as suas características ao longo de inúmeras versões recentes, apresentando uma

dinâmica actual de crescimento muito interessante.

Algumas características fundamentais destes sistemas são:

• Permitem manipulações simples de dados, visualização, introdução e apre-

sentação de dados (organização).

• É desaconselhável a sua utilização em programação (elaborada), ou folhas

com dependências complexas (por exemplo, difícil de validar / remover

erros). Apesar de, na prática, esta recomendação ser descurada com muita

frequência, este aspecto tem sido bastante analisado, e.g. por Panko (2008),

existindo um conjunto de recomendações básicas relevantes.

• Constituem um meio natural de entrada / saída de dados, incluindo inter-

faces com outros programas (e.g., bases de dados, outros sistemas, simula-

dores).

• O solver das folhas de cálculo permite resolver sistemas de equações (L/NL)

e problemas de optimização (L/NL):

O método numérico básico (versões anteriores do Microsoft Excel) é

o GRG — generalized reduced gradient → robustez numérica intermédia

EPS — Programa EngIQ

Page 24: Engenharia de Processos e Sistemas

18 Ferramentas básicas na solução de problemas numéricos

(anos 70).

As versões do Microsoft Excel 2010 e posteriores incorporam solversmais

variados (e.g., multistart, evolucionários).

Exemplo 2.3: Simplificação de um problema de optimização por eli-

minação de variáveis

Considere o problema inicial:

minG1,G2

q (G1, G2) = G21 + G22

s.a 3G1 + 2G2 = 4(2.4)

Da igualdade do problema é possível eliminar uma das variáveis, resol-

vendo por exemplo esta equação em ordem a G2

G2 = (4 − 3G1)/2 (2.5)

e substituir este resultado na função objectivo q (G1, G2), originando um

problema de optimização sem restrições:

minG1

k (G1) = G21 +(4 − 3G1)2

4= 0 + 1G1 + 2G21 (2.6)

As condições de optimalidade deste tipo de problemas são mais fáceis de

manipular — Secção 4.1. Depois de obtida a solução óptima G∗1 de (2.6),

esta pode ser substituída na equação (2.5) para obter G∗2. O vector (G∗1, G∗2)

é a solução do problema original (2.4).

Os métodos do tipo RG (“reduced gradient”), usados frequentemente nos

solvers das folhas de cálculo, aplicam uma abordagem conceptualmente

semelhante ∼ solução incremental.

• Existe muita documentação (Web, livros) disponível relativamente à utili-

EPS — Programa EngIQ

Page 25: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 19

zação dos solvers.

• Estão também disponíveis outros solvers para o Microsoft Excel, imple-

mentando frequentemente algoritmos como caixas negras. Um grupo de

solvers permite por exemplo a realização de cálculos com incertezas.

Alguns exemplos de sistemas do tipo anterior onde é possível efectuar o trata-

mento de incertezas, e a sua visualização são por exemplo:

• @Risk (Palisade Corporation): Este é um solver do Excel que permite a

simulação probabilística de cenários.

• Guesstimate: Este é um sistema de folha de cálculo alternativo ao Ex-

cel, que permite a realização de cálculos com incertezas. O Guesstimate

utiliza uma amostragem de Monte Carlo, com alguns parâmetros pré-

estabelecidos, para maior eficiência numérica (Rvídeo de demonstração

no site).

Este sistema está construído na linguagem JavaScript, estando disponível

no formato de open-source, e podendo ser ser instalado num computador

local.

Em ambos os casos, a propagação rápida dos efeitos e a visualização dos resul-

tados permite explorar o efeito de incertezas nos dados de entrada (Figura 2.1).

EPS — Programa EngIQ

Page 26: Engenharia de Processos e Sistemas

20 Ferramentas básicas na solução de problemas numéricos

Figura 2.1 Utilização do sistema Guesstimate para previsão das receitas de umaloja (modelo 3206).

EPS — Programa EngIQ

Page 27: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 21

Exemplo 2.4: Modelo probabilístico de previsão de vendas

Considere um modelo bastante elaborado, que relaciona:

Procura Diesel = 5 (EVD, IDesempenho,Brent, . . .)

Neste modelo: EVD ≡ Câmbio Euro / USD,

IDesempenho ≡ Índice de desempenho económico,

Brent ≡ Preço de referência do Brent.

O modelo pode, por exemplo, ter sido obtido por regressão de dados

de mercado, verificados em períodos anteriores e, apesar de ter a forma

anterior, pode ser estruturado em dados, e não possuir a forma de uma

equação explícita.

Exemplos de curvas de distribuição probabilística dos dados de entrada,

para utilização no modelo anterior são indicados na Figura 2.2. Os resul-

tados produzidos estão indicados na Figura 2.3.

Nota: Esta utilização é inteiramente como caixa negra (evitar, devido aos

riscos associados!).

Figura 2.2 Dados de entrada de previsão do preço do Brent e da procura —distribuições probabilísticas.

Nota: O estudo do efeito de incertezas nas soluções, e a optimização robusta

(analisando e controlando o efeito das incertezas) é um aspectomuito importante

na utilização prática das soluções obtidas, sendo por isso abordado num Capítulo

EPS — Programa EngIQ

Page 28: Engenharia de Processos e Sistemas

22 Ferramentas básicas na solução de problemas numéricos

Figura 2.3 Exemplo de utilização do solver @Risk.

mais à frente.

2.2.3 Linguagens básicas de programação

Estas implementam sistemas capazes de realizarem cálculos numéricos e proces-

samento de dados arbitrários. Exemplos mais comuns: Fortran, C/C++, Visual-

Basic, Python, etc.

• A codificação directa da sequência de cálculos é da responsabilidade do

utilizador)→ linguagens imperativas.

• O Fortran continua a ser muito usado em cálculo numérico (eficiência,

bibliotecas anteriores muito extensas); actualmente tem funcionalidades

muito semelhantes à linguagem C, cuja evolução tem tentado acompanhar.

EPS — Programa EngIQ

Page 29: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 23

• C++, Python: object based (orientadas por objectos)→ programação mais

avançada. Amodularidade permite criar mais facilmente sistemas demaior

dimensão. A linguagem C++ é compilada (permitindo > velocidade), e a

linguagem Python é interpretada (embora existamoutras alternativas, neste

último caso).

• Estas linguagens são usadas em tarefas muito repetitivas, na manipulação

de sistemas de grandes dimensões, ou quando é necessário obter grande

eficiência numérica.

A programação neste tipo de linguagens recorre geralmente a bibliotecas, que

contêm código (organizado em funções ou rotinas), para a implementação de

tarefas específicas.

Bibliotecas numéricas→ NETLIB <http://www.netlib.org>.

Bibliotecas numéricas básicas mais comuns: BLAS, LAPACK. Frequentemente os

sistemas incluem versões optimizadas destas (e.g., Intel MKL).

2.2.4 Linguagens avançadas de programação

Estas linguagens já são mais específicas do domínio de aplicação pretendido,

ou do(s) tipo(s) principais de problemas que se pretendem resolver. Alguns

exemplos mais comuns são: MATLAB / Octave, Mathematica.

• Para além das funcionalidades das linguagens básicas, permitem a mani-

pulação matricial, e de outros objectos, e incluem sistemas gráficos.

• É possível estabelecer interfaces com outros sistemas e linguagens (depen-

dendo das facilidades do sistema operativo).

• Outros paradigmas (modelos) de programação são também tornados possí-

veis (e.g., programação baseada em listas, programação funcional).

• Permitem (incentivam) a programação interactiva→ desenvolvimento rá-

EPS — Programa EngIQ

Page 30: Engenharia de Processos e Sistemas

24 Ferramentas básicas na solução de problemas numéricos

pido de aplicações.

• A eficiência numérica pode ser inferior à da conseguida com linguagens

de programação básicas. No entanto, a optimização destas aplicações (por

exemplo através da vectorização) já permite eficiências comparáveis.

Em algumas das linguagens de programação descritas anteriormente como mais

básicas, a sua enorme flexibilidade, bem como os aspectos de possibilidade de de-

finição de e manipulação de objectos abstractos, permite a criação de facilidades

semelhantes às descritas nesta secção. Situações deste tipo são por exemplo as

capacidades de manipulação de objectos matriciais no sistema Python, através da

biblioteca NumPy, ou a possibilidade de manipulação simbólica de equações atra-

vés da biblioteca SymPy. Neste caso torna-se importante a escolha da linguagem

base a usar, que permita tirar partido desta flexibilidade, quer através da dispo-

nibilização de bibliotecas abrangendo um conjunto vasto de aplicações, quer

através da possibilidade de interligação a módulos construídos em linguagens

de programação distintas.

MATLAB / Octave

Existemmuitas referências disponíveis na Internet, e.g., Sigmon (1992); Selhofer

et al. (2008).

GNU Octave: <http://www.gnu.org/software/octave/>. John W. Eaton, Uni-

versidade de Wisconsin, no contexto da Engenharia Química!

O Octave possui (ainda) algumas diferenças importantes face a MATLAB (nome-

adamente interface gráfico — Java, e muitas bibliotecas adicionais); no entanto

mantém-se a compatibilidade com a linguagem MATLAB como objectivo funda-

mental.

Nestas duas linguagens, os objectos básicos são matrizes. Alguns exemplos de

comandos são:

EPS — Programa EngIQ

Page 31: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 25

A = [ 1 2; 3 4];

b = [1 ; 2];

x = A\b (divisão à esquerda)

Testar outras funções sistema de ajuda (help), por exemplo:

eig(A)

Possíveis testes lógicos (if) e ciclos de iteração (for), etc., de forma semelhante às

linguagens básicas. Algumas extensões recentes permitem ainda a programação

orientado por objectos.

Mathematica

Esta linguagem foi concebida desde o início para permitir amanipulação simbólica

de objectos matemáticos. Permite por exemplo o uso de precisão infinita nos

cálculos efectuados.

Outra vantagem desta linguagem é a de incorporar muitas funcionalidades que

permitem a integração de vário modelos de programação (por exemplo, impe-

rativa, funcional, baseada em regras de substituição, etc.). Aspectos avançados

como a paralelização automática do código produzido, a possibilidade de compi-

lação para códigomáquina de algumas funções commaiores requisitos em termos

de processamento, ou a utilização de placas gráficas para processamento para-

lelo em tarefas mais intensivas, permitem utilizar esta linguagem num conjunto

alargado de aplicações.

Uma descrição extremamente detalhada desta linguagem pode ser encontrada

em Wolfram (2003). A 1a¯ parte deste livro apresenta uma visão geral sobre o

sistema. Devido à extensão das modificações introduzidas em cada nova versão

do programa, esta referência deixou de ser no entanto actualizada. Uma outra

abordagem, de carácter mais pedagógico, é descrita por Wellin (2013). Blachman

(1992) apresenta uma introdução extremamente sucinta a este sistema. Por

EPS — Programa EngIQ

Page 32: Engenharia de Processos e Sistemas

26 Ferramentas básicas na solução de problemas numéricos

seu lado, Wagner (1996) efectua uma discussão mais aprofundada das facilida-

des disponíveis neste sistema, incluindo uma comparação com os paradigmas

encontrados noutras linguagens de programação.

2.2.5 Linguagens para modelação e optimização

Um grupo de linguagens de programação, denominadas de forma genérica como

linguagens de modelação algébrica (LMA) permitem a construção e análise de

modelos matemáticos, facilitando a resolução de problemas de optimização.

Em geral, os modelos são implementados nestes sistemas usando uma descri-

ção de nível elevado, próxima da sua descrição matemática original, sobretudo

quando esta inclui apenas equações algébricas (daí a designação adoptada). Esta

capacidade permite simplificar consideravelmente o desenvolvimento e a manu-

tenção de modelos complexos, bem como a integração fontes externas de dados.

Devido a estas facilidades, as LMA são presentemente bastante usadas em diver-

sos domínios de investigação científica, engenharia, economia e em aplicações

empresariais (Kallrath, 2004; Andrei, 2013). Alguns exemplos de sistemas deste

tipo estão listados na Tabela 2.1. Exemplos adicionais são:

• FICO Xpress: <http://www.fico.com/>.

• lpsolve: <http://sourceforge.net/projects/lpsolve/>.

• Diversas bibliotecas numéricas e projectos deste tipo de carácter aberto

estão disponíveis através do projecto COIN-OR em <http://www.coin-or.

org/>. A sua utilização pressupõe uma boa familiaridade com os tipos de

modelos, e linguagens de programação (expert level).

EPS — Programa EngIQ

Page 33: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 27

Tabela 2.1 Exemplos de linguagens de modelação algébrica (Andrei, 2013).

EPS — Programa EngIQ

Page 34: Engenharia de Processos e Sistemas

28 Ferramentas básicas na solução de problemas numéricos

JNestes sistemas apenas é necessário fornecer as equações que descre-

vem o problema (i.e., a sua formulação matemática). Evita-se assim

a necessidade de chamar rotinas / funções, ou verificar argumentos

(parâmetros) de passagem de informação entre estas. Quando são

necessárias derivadas, estas são obtidas directamente das equações

do modelo. A mudança de solver numérico é possível com a mudança

de uma única opção no código original.

WA linguagem GAMS será muito usada neste curso, pelo que será neces-

sário adquirir uma (boa) familiaridade com esta. Serão apresentados

diversos exemplos, com complexidade crescente. Está igualmente

prevista uma aula relativa a esclarecimento de aspectos de utilização

avançada.

Esta linguagem possui bom suporte comercial, muitos manuais e

exemplos (bibliotecas extensivas, etc.)→ instalar versão de demons-

tração / estudante.

• Solvers: bibliotecas numéricas para tipos específicos de sistemas.

• Como codificar os modelos matemáticos? (limitações e paradigmas dis-

tintos destas linguagens). Diversas formulações possíveis para o mesmo

problema possuem a mesma eficiência?

• Os modelos assim desenvolvidos são conjuntos de equações. Torna-se difícil

portanto a implementação de procedimentos.

Aqui são apenas considerados alguns exemplos de aplicação (de carácter simples);

muitos outros podem ser encontrados nas referências indicadas.

Aspectos tutoriais Em geral, cada sistema deste tipo disponibiliza um manual

(ou mais) de referência, contendo informação extremamente detalhada sobre a

EPS — Programa EngIQ

Page 35: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 29

utilização e as capacidades disponibilizadas. Desta forma, Fourer et al. (2003);

Brooke et al. (2005) constituem referências fundamentais sobre os sistemas AMPL

e GAMS, respectivamente. Para além deste tipo de informação, os sítios Web de

cada sistema disponibilizam ainda um conjunto muito vasto de exemplos de

aplicação, que podem ser usados durante a aprendizagem. Por exemplo, para o

sistema GAMS, um manual extremamente detalhado conhecido comoMcCarl

GAMS User Guide pode ser encontrado no sítio da empresa GAMS (McCarl, 2017).

Alguns livros de texto que abordam as tópicos considerados nos Capítulos se-

guintes contêm também tutoriais relativos à utilização destes sistemas. Breves

introduções à linguagem GAMS podem, por exemplo, ser encontradas em Castillo

et al. (2005); Andrei (2013).

Estratégias mistas (avançado) Por vezes é possível combinar as vantagens das

linguagens concebidas para modelação e optimização com a flexibilidade das

linguagens de programação mais generalistas. Existem essencialmente 2 modos

distintos de o fazer:

• Através da utilização de interfaces (APIs), suportados por bibliotecas de

interligação destas linguagens de modelação e optimização com outras

linguagens de natureza mais geral. Por exemplo, o sistema GAMS possibilita

o interface com os sistemas .NET, Java e Python.

• Através da utilização de sistemas de modelação construídos numa des-

tas linguagens generalistas. Um exemplo é o sistema Pyomo — Python

Optimization Modeling Objects (Hart et al., 2012). Neste caso os diversos

componentes de um problema de optimização são especificados directa-

mente na linguagem Python. Para além das facilidades de construção de

modelos algébricos, o sistema Pyomo possui uma extensão PySP que per-

mite a formulação de problemas de optimização estocásticos, considerando

cenários onde alguns parâmetros contêm incertezas.

EPS — Programa EngIQ

Page 36: Engenharia de Processos e Sistemas

30 Ferramentas básicas na solução de problemas numéricos

Outro exemplo semelhante é o sistema JuMP (JuMP, 2017), associado neste

caso à linguagem de programação Julia. Uma comparação das vantagens

e facilidades adicionais disponíveis nestes ambientes de trabalho com

os sistemas clássicos de modelação AMPL e GAMS é efectuada por Chen e

Brunaud (2017).

Em ambos os casos, é necessário um domínio relativamente avançado das ca-

pacidades dos sistemas de modelação e optimização em causa, para utilização

desta abordagem.

Exemplo 2.5: Problema de transportes

Este problema é considerado no Capítulo 2 do manual do GAMS (tutorial).

O grafo correspondente é:

A sua formulação matemática fica:

minG8 9

∑8

∑9

28 9G8 9

s.a∑8

G8 9 ≥ ? 9 , ∀9∑9

G8 9 ≤ B8 , ∀8

G8 9 ≥ 0, G8 9 ∈ R

Este é um problema do tipo LP, com G8 9 ∈ R. A implementação em GAMS é

considerada no ficheiro trnsport.gms.

EPS — Programa EngIQ

Page 37: Engenharia de Processos e Sistemas

2.2 Sistemas disponíveis (ferramentas) 31

Exemplo 2.6: Problema de atribuição (“assignment”)

Aqui é necessário usar variáveis binárias ~8 ∈ {0,1} para codificar decisões:

~8 =

1, se opção 8 escolhida

0, se opção 8 não escolhida

A formulação matemática fica:

max~8

∑8

E8~8

s.a∑8

48~8 ≤ "

~8 ∈ {0,1}

Este é umproblemado tipo ILP. A implementação em GAMS está noficheiro

mochila1.gms.

Nota: Os algoritmos necessários neste caso são bastante diferentes do

caso anterior: o conceito de derivada não existe com variáveis discretas,

mas em alternativa torna-se possível agora o estudo de combinações de

possibilidades (cenários), que são finitos.

Desafio: Como explorar o espaço de combinações de forma exaustiva, e si-

multaneamente com pouco esforço?→métodos de enumeração implícita,

abordados no Capítulo 5.

Conceitos-chave a reter

1. Osmodelos dos processos ou operações desempenham um papel crucial

nesta tarefa, porque expressam todas as relações de causa / efeito associa-

das aos sistemas em estudo. Consequentemente, as tarefas de

EPS — Programa EngIQ

Page 38: Engenharia de Processos e Sistemas

32 Ferramentas básicas na solução de problemas numéricos

• desenvolvimento / aperfeiçoamento de modelos;

• manipulação de modelos;

são vitais na aplicação das metodologias de EPS, e são elas próprias objecto

de estudo nesta área.

2. Amanipulação eficaz destesmodelos requer a disponibilidade (e o domínio)

de ferramentas (sistemas computacionais) especializados.

3. Uma análise de graus de liberdade— equação (2.2) é essencial para clas-

sificar o tipo de problema em causa.

Nos sistemas operados pretende-se sempre atingir nGDL = 0 , fixando por

completo os graus de liberdade disponíveis.

EPS — Programa EngIQ

Page 39: Engenharia de Processos e Sistemas

Capítulo 3

Solução de sistemas de equações

não-lineares

Tal como visto anteriormente, a solução de sistemas de equações NL é uma tarefa

numérica muito frequente na manipulação de modelos:

JAvaliação do modelo ' previsão do comportamento de um sistema,

para um conjunto de condições específicas (nGDL = 0).

Objectivos: Compreender e dominar:

1. Quais os tipos de métodos de solução que podem ser usados, e quando

(óptica de utilizador).

2. Quais os métodos mais eficazes num dado problema, e porquê. Qual o tipo

de esforço mínimo necessário para a solução de um problema deste tipo.

3. Quais os cuidados a ter na formulação matemática deste tipo de problemas.

(Nota: Este assunto é partilhado com os problemas de optimização, sendo

33

Page 40: Engenharia de Processos e Sistemas

34 Solução de sistemas de equações não-lineares

considerado no capítulo seguinte).

4. Quais os sistemas (ferramentas) que nos podem ajudar na resolução deste

tipo de problemas.

Estes objectivos são também comuns aos métodos descritos no Capítulo 4, dedi-

cado à optimização não-linear. Existem diversos aspectos de proximidade entre

a solução de sistemas de equações e a optimização, que serão evidenciados no

decurso destes capítulos.

3.1 Sistemas de equações lineares

Sistemas lineares (L) são muito comuns, por exemplo como subtarefas de outros

métodos numéricos:

� ·G = 1 , com � ∈ R=×=, G,1 ∈ R=

A unicidade da solução está garantida neste caso, se car(�) = = (i.e., � for

não-singular).

Estão disponíveis métodos directos (e.g., eliminação Gaussiana) ou iterativos (e.g.,

Gauss-Seidel), para a solução destes sistemas (Oliveira, 2006).

A expressão geral destes métodos iterativos é:

G:+1 = 5 (G: )

EPS — Programa EngIQ

Page 41: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 35

G1 = 5 (G0) ← fornecido

G2 = 5 (G1)

G3 = 5 (G2)...

Garantias de convergência?

Por vezes métodos iterativos podem ser preferíveis, por exemplo com:

• Matrizes esparsas.

• Sistemas de grandes dimensões.

• Apenas solução parcial (aproximação) desejada.

Algumas bibliotecas básicas disponíveis permitem a solução e robusta deste tipo

de problemas: BLAS, LAPACK (NETLIB <http://www.netlib.org>).

Em geral, é possível assumir a solução de problemas deste tipo de larga escala

(por exemplo, com 106 variáveis), sem dificuldades de maior.

3.2 Sistemas não-lineares

A forma geral destes problemas é:

5 (G) = 0 , com 5 , G ∈ R=

A maioria dos modelos em engenharia são deste tipo.

Exemplo: Nummodelo mecanístico de um reactor contínuo perfeitamente agi-

tado (RCPA) — CSTR, onde ocorrem transformações cinéticas de qualquer tipo,

são habitualmente efectuados balanços de conservação de extensidades, relativos

à conservação de massa e energia. Desta forma, surgem pelo menos 2 equações

não lineares, onde se tem� () ) e) (�) simultaneamente.

EPS — Programa EngIQ

Page 42: Engenharia de Processos e Sistemas

36 Solução de sistemas de equações não-lineares

Em modelos não-lineares não há, em geral garantias de existência de soluções

para o sistema correspondentes. Quando as soluções existem, elas podem ser

múltiplas. Por exemplo, um modelo de uma unidade de cracking catalítico pode

apresentar até 7 estados estacionários múltiplos (quais as praticáveis / mais

interessantes?)

Diversas abordagens elementares podem ser usadas na procura de soluções para

este tipo de sistemas:

3.2.1 Métodos gráficos

Se existir apenas uma variável no sistema, a localização pode ser feita grafi-

camente (Figura 3.1). Devem no entanto ser usadas algumas precauções na

utilização deste método!

Figura 3.1 Localização das soluções de uma equação através do método gráfico.

Este método pode também ser aplicado com 2 equações não-lineares a 2 incóg-

nitas, usando gráficos 3D. Por exemplo no sistema

51 (G,~) = 0

52 (G,~) = 0(3.1)

a aplicação directa do método gráfico requer a realização de 2 gráficos tridimen-

sionais de 51 (G,~) e 52 (G,~), sendo adicionalmente necessário localizar os pontos

EPS — Programa EngIQ

Page 43: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 37

-10

-5

0

510

x

-10

-5

0

5-10

y

-505

10

-5

0

5

05

f (x,y)1

-10

-5

0

510

x

-10

-5

0

5

y

-10-505

10

-5

0

5

05

f (x,y)2

(a)

51 (G,~) = ~ − exp(−G) 52 (G,~) = G − sin(~)

-10

-5

0

5-10

x

-10

-5

0

510

y

-50510

-5

0

5

f (x,y)1,2

-10 -5 0 5 10x

-10

-5

0

5

10

y

(b)

Figura 3.2 Localização das raízes de um sistema de duas equações: (a) Gráficostridimensionais. (b) Intersecção das duas superfícies e solução do sistema deequações (ponto •) — (Oliveira, 2006).

onde as 2 funções se anulam simultaneamente. Esta é uma tarefamorosa, mesmo

para funções com comportamentos simples, como ilustrado na Figura 3.2.

Para sistemas demaior dimensão a aplicação destemétodo requer já a eliminação

de algumas variáveis a partir de algumas equações (caso a caso); consequente-

mente, este procedimento nem sempre é viávelRilustração.

EPS — Programa EngIQ

Page 44: Engenharia de Processos e Sistemas

38 Solução de sistemas de equações não-lineares

Exemplo 3.1: Demonstração da multiplicidade de estados estacio-

nários num RCPA

Por eliminação de variáveis (�) a partir do balanço de massa, e substitui-

ção dos termos resultantes no balanço energético, é possível identificar

2 contribuições nesta equação: 51 () ) — calor adicionado / removido na

entrada e saída, e 52 () ) — calor gerado por reacção química (Figura 3.3).

As possíveis soluções (estados estacionários do sistema) correspondem

aos pontos onde 51 () ) = 52 () )Rilustração.

Figura 3.3 Identificação da multiplicidade de estados estacionários num RCPA.

3.2.2 Método das substituições sucessivas (MSS)

Neste caso pretende-se transformar o sistema inicial 5 (G) = 0 num sistema

equivalente, da forma G = 6(G), afim de possibilitar a aplicação do método

iterativo

G:+1 = 6(G: )

Existe frequentemente mais do que uma maneira de conseguir isto. Quando

isto acontece, nem todos os métodos do tipo anterior são igualmente eficientes.

Vários exemplos são considerados em seguida.

EPS — Programa EngIQ

Page 45: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 39

Exemplo 3.2: Substituições sucessivas — caso simples

Uma equação do tipo G − exp(−G) = 0 pode ser rearranjada como

G − exp(−G) = 0 ⇒ G:+1 = exp(−G: )

Rilustração.

Obviamente, neste caso as raízes deste sistema podem também ser facil-

mente localizadas pelo método gráfico.

No caso do sistema considerado na Figura 3.2, uma possível implementação do

método das substituições sucessivas seria:

G:+1 = sin(~: )

~:+1 = exp(−G: )

O método das substituições sucessivas é particularmente útil na simulação de

diagramas de fabrico sendo por isso usado com frequência em simuladores de

processo, como por exemplo o ASPEN Plus.

Figura 3.4 Diagrama de fabrico considerado no Exemplo 3.3.

Exemplo 3.3: Simulação de diagramas de fabrico

Considere o diagrama de fabrico apresentado na Figura 3.4.

Se a corrente 6 for quebrada (i.e., considerada uma corrente de corte),

sendo dividida nas correntes G60 e G61 , à esquerda e à direita do ponto de

corte, durante a aplicação deste método, os balanços ao processo (por

EPS — Programa EngIQ

Page 46: Engenharia de Processos e Sistemas

40 Solução de sistemas de equações não-lineares

exemplo, mássicos) podem ser escritos como:

=2 = =1 + =60

=3 = 51 (=2, D1)

=4 = 52 (=3, D2)

=61 = =4 − =5

⇒ =61 = 6(=1, =60) (3.2)

Nestas equações, representa-se:

• =8 — quantidades da corrente 8 (e.g., caudais).

• D 9 — parâmetros da unidade 9 .

• 59 —modelo matemático da unidade 9 .

O sistema de equações (3.2) deve ser considerado como alternativa à

solução simultânea de todas as equações do sistema:

5 (=,D) = 0 (3.3)

Este problema simultâneo é claramente de maior dimensão, e consequen-

temente poderá ser mais difícil de resolver, devido a diversos factores

• pela sua dimensãomais elevada (que poderá ser algumas ordens

de magnitude superior).

• pela necessidade de dispor simultaneamente de estimativas apro-

priadas para todas as variáveis do problema.

• pela dificuldade da incorporação de métodos específicos na so-

lução de alguns blocos do sistema. Por exemplo, um bloco de se-

paração por destilação pode estar apenas concebido para calcular

as especificações das correntes de saída a partir da especificação

das entradas e dos parâmetros operatórios, mas não funcionar ao

contrário (e.g., calculando os parâmetros operatórios necessários

para uma dada recuperação).

EPS — Programa EngIQ

Page 47: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 41

Deve ser notado que a avaliação destes modelos correspondentes a cada

bloco pode requerer a solução de outros conjuntos de equações (e.g.,

modelos termodinâmicos de equilíbrio), ou a aplicação de outros métodos

numéricos (e.g., modelos diferenciais de contacto). No entanto, se a

simulação das unidades for efectuada individualmente, serão sempre

problemas de menor complexidade do que a solução do modelo global do

processo, e daí a atractividade deste procedimento.

Critério de paragem: Neste processo de solução, é necessário iterar (3.2)

até se atingir =61 = =60.

Cada iteração envolve a resolução do modelo completo do processo, con-

siderando no entanto apenas as equações de cada unidade (ou ponto de

mistura / separação) individualmente. Por isso torna-se importante a

convergência rápida destes métodos.

Esta abordagem de substituições sucessivas é também descrita como

sequencial-modular, em alternativa à abordagem de solução simultâ-

nea, onde o modelo completo da instalação é considerado em conjunto.

São necessários procedimentos adicionais para decidir quais as correntes

que devem ser quebradas (iteradas). No caso anterior, as correntes 2, 3, e 4

também podem servir como escolhas alternativas.

Quando a metodologia simultânea é praticável, ela torna-se por vezes

mais rápida, uma vez que o modelo global do processo é apenas resolvido

uma vez. Isto é especialmente importante na solução de problemas de

optimização—Capítulo 4, uma vez que nesse caso apenas se obtém a solu-

ção óptima do problema. Na prática, o uso da metodologia simultânea é

frequentemente combinado com a facilidade de inicialização da estratégia

sequencial-modular, nas primeiras iterações dos métodos numéricos.

A metodologia de solução sequencial utilizada no exemplo anterior apresenta

EPS — Programa EngIQ

Page 48: Engenharia de Processos e Sistemas

42 Solução de sistemas de equações não-lineares

algumas semelhanças com a estratégia seguida na simplificação do problema de

optimização considerada no Exemplo 2.3. Isto significa que o solver do Excel

implementa uma estratégia com algumas semelhanças conceptuais aos usar os

métodos do tipo GRG (embora com algumas diferenças).

Problema 3.1

No exemplo anterior, em alternativa à quebra da corrente 6, verificar as

possibilidade alternativas de quebrar a corrente 2, ou a corrente 3, ou a

corrente 4, indicando o procedimento de cálculo a ser seguido. Compare

o esforço de cálculo respectivo a cada caso.

Exemplo 3.4: Raízes de equações polinomiais

No caso de funções polinomiais, são possíveis em geral vários rearranjos

do tipo

G5 − 4G2 − 4 = 0 → G:+1 = ± 5√· · ·

Embora isso não simplifique habitualmente a expressão obtida, uma

regra heurística para estes casos indica que se deve tentar isolar do lado

esquerdo amaior potência da expressão polinomial (porquê?).

Para usar este método com alguma relativa segurança, existem algumas questões

importantes que devem ser respondidas:

1. Em que condições ele converge? (propriedades globais).

2. Se convergir, qual a sua rapidez de convergência? (propriedades locais).

EPS — Programa EngIQ

Page 49: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 43

Teorema 3.1: Convergência do MSS

Para o método das substituições sucessivas (MSS) correspondente à aplica-

ção da fórmula iterativa G:+1 = 6(G: ) convergir, é necessário que a função

6 tenha as características de função contractiva (“contractive mapping”).

Para este fim, se ‖6′(G)‖ < 1 então 6(G) é uma aplicação contractiva, e o método

MSS anterior converge (condição suficiente) — Figura 3.5.

Figura 3.5 Ilustração da aplicação de um método iterativo correspondente auma aplicação contractiva.

Para esta análise, é necessário rever os conceitos de normas vectoriais (Oliveira,

2006):

• Com vectores, as normas representam essencialmente os conceitos de

distância ou tamanho de vectores.

• Paramatrizes (�), as normas traduzemo conceito de amplificação associada

ao operador linear correspondente ~ = � ·G .

Rapidez de convergência: Quando ‖6′(G)‖ → 0 a convergência torna-se mais

rápida.

EPS — Programa EngIQ

Page 50: Engenharia de Processos e Sistemas

44 Solução de sistemas de equações não-lineares

Questão fundamental: como escolher 6(G)? A resposta a esta questão é bastante

complexa, e ficará em aberto de momento. No sentido de a responder adequa-

damente, será preferível analisar o funcionamento (e desempenho de outros

métodos alternativos).

3.2.3 Método de Newton

Este método é muito conhecido na sua aplicação unidimensional, onde G ∈ R

(Figura 3.6).

G:+1 = G: −5 (G: )5 ′(G: )

Figura 3.6 Aplicação do método de Newton unidimensional.

De forma semelhante, em problemasmultidimensionais (G ∈ R=):

5 (G: ) ≠ 0

Considerando uma expansão em série de Taylor

5 (G: + ℎ) = 5 (G: ) + ∇5 (G: )T︸ ︷︷ ︸� T:

·ℎ + · · · = 0 (3.4)

onde �T:denota o Jacobiano do sistema, e retendo apenas os termos até à 1a¯ or-

EPS — Programa EngIQ

Page 51: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 45

dem fica, resolvendo (3.4) em ordem a ℎ:

�T:·ℎ: = −5: (3.5)

Depois actualiza-se

G:+1 = G: + ℎ: (3.6)

e utiliza-se a equação (3.5) novamente, até ser verificado um critério de paragem

das iterações. Nesta equação 5: ≡ 5 (G: ). Consequentemente torna-se necessário

resolver um sistema de equações lineares (3.5) por iteração no método de Newton

(� ·G = 1).

Este método iterativo poderá ser terminado quando ‖ℎ: ‖ ≤ n1 e ‖ 5: ‖ ≤ n2. Em

geral é necessário considerar simultaneamente vários destes critérios, para maior

segurança na detecção da convergência do método.

Revisão de operadores diferenciais: Considerando uma função escalar q ( · ) ∈ R

e uma função vectorial 5 ∈ R= é possível definir as suas derivadas de 1a¯ ordem

forma semelhante, usando operadores diferenciais apropriados:

• Gradiente:

∇q =

mmG1

mmG2...

mmG=

q =

mq

mG1mq

mG2...

mq

mG=

∈ R= (3.7)

Aplicável a funções escalares, origina um vector.

EPS — Programa EngIQ

Page 52: Engenharia de Processos e Sistemas

46 Solução de sistemas de equações não-lineares

• Jacobiano:

� ≡ ∇5 T =

mmG1

mmG2...

mmG=

[51 52 · · · 5=

]=

m51mG1

m51mG2

· · · m51mG=

m52mG1

m52mG2

· · · m52mG=

......

. . ....

m5=mG1

m5=mG2

· · · m5=mG=

∈ R=×=

Aplicável a funções vectoriais, origina uma matriz.

Uma descrição mais detalhada do método de Newton para sistemas de equações

pode ser encontrada em Oliveira (2006).

Convergência do método de Newton:

Tal como nos métodos de substituições sucessivas com a fórmula iterativa gené-

rica G:+1 = 6(G: ), para avaliarmos a utilidade prática do método de Newton (3.5),

necessitamos de caracterizar as suas propriedades de convergência.

• Rapidez (propriedades locais): convergência quadrática (bastante rápida)

— mais detalhes em Oliveira (2006):

‖G∗ − G:+1‖‖G∗ − G: ‖2

≤ 2

Por exemplo:

4: = ‖G∗ − G: ‖ = 10−2

4:+1 = 10−4

4:+2 = 10−8

4:+3 = 10−16, etc.

• Propriedades globais (domínio de convergência)— quais as estimativas ini-

ciais que podem ser usadas com sucesso?

EPS — Programa EngIQ

Page 53: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 47

Na análise das propriedades globais é conveniente construir uma analogia entre

solução de sistemas de equações e optimização sem restrições através dos 2 proble-

mas semelhantes (Figura 3.7):

5 (G) = 0 e minGq (G) = 1

25 T (G).5 (G) = 1

2

∑G

5 28 (G) (3.8)

5 (G) = 0 minG

12

∑G

5 28 (G)

Figura 3.7 Ilustração unidimensional da equivalência entre a solução de siste-mas não-lineares a a optimização sem restrições.

No Apêndice Amostra-se que nométodo de Newton dado pela equação (3.5), ℎ: é

sempre uma direcção de descida garantida para a função q (G) definida em (3.8).

Isto permite assegurar a convergência global do método de Newton, desde que

o passo dado nesta direcção não seja demasiado grande!

Para isso é conveniente modificar a equação (3.6) adaptando o tamanho do passo

a usar

G:+1 = G: + Uℎ: (3.9)

onde U ∈ R é um parâmetro ajustável, que tem que ser escolhido (adaptado)

durante a aplicação do método iterativo.

A equação (3.9) define também uma estratégia para solução de problemas de

optimização, partilhada por muitos métodos numéricos:

EPS — Programa EngIQ

Page 54: Engenharia de Processos e Sistemas

48 Solução de sistemas de equações não-lineares

1. Escolher a direcção de pesquisa a investigar (ℎ: ou3: ), específica dométodo

usado.

2. Escolher o tamanho do passo U apropriado nesta direcção.

Nota: Em alternativa é possível pensar na aplicação dos passos anteriores em

ordem inversa:

1. Fixar 1o¯ o tamanho do passo apropriado (olhando por exemplo, para o

progresso conseguido nas últimas iterações).

2. Escolher depois a direcção mais apropriada para um passo do tamanho

anterior.

Esta estratégia é implementada por exemplo nométodo de regiões de confiança

(descrito mais à frente).

O procedimento anterior torna bastante importante a fase de pesquisa linear

como componente (comum) da aplicação de métodos iterativos (Figura 3.8).

Mesmo com G ∈ R= este passo é sempre uma pesquisa linear (i.e., numa direcção

definida por 3: )!

Figura 3.8 Gráfico unidimensional de q (G: + U3: ), para ilustração do funciona-mento da pesquisa linear.

O passo apropriado (U) deve ser escolhido tendo em conta:

• A maior rapidez de convergência do método. Por exemplo, no caso do

método de Newton deve ser usado U = 1, sempre que possível.

EPS — Programa EngIQ

Page 55: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 49

• A garantia da propriedade de descida de q (G).

• Este passo não conduz à localização exacta do óptimo de q (G), segundo

a direcção 3: . Por outro lado, qualquer novo ponto de q (G) investigado

ao longo desta linha requer uma nova avaliação da função objectivo, o

que pode ser pesado. Desta forma são habitualmente privilegiados mé-

todos de pesquisa linear inexacta: o mínimo de q (G) na direcção 3: não é

localizado; apenas são excluídas as regiões sombreadas na Figura anterior

(consideradas como gamas perigosas de U).

Escolha do passo mais apropriado: pesquisa linear inexacta (Armijo, 1966;

Dennis Jr. e Schnabel, 1983; Nocedal e Wright, 2006):

1. Propor inicialmente U = 1 (valor máximo usual).

2. Avaliar q (G: + U3: ).

3. Se progresso suficiente, i.e.

q (G: + U3: ) suficientemente menor que q (G: )

aceitar U , e terminar a pesquisa.

4. Caso contrário, propor um novo valor de U por interpolação quadrática /

cúbica de q , usando os valores já conhecidos (anteriores) de q (G: + U3: ), e

voltar ao passo 2.

Considerando Φ(U) ≡ q (G: + U3: ) os valores anteriores da função que podem ser

usados para interpolação são (Figura 3.9):

EPS — Programa EngIQ

Page 56: Engenharia de Processos e Sistemas

50 Solução de sistemas de equações não-lineares

Ψ(0) → q (G: )

Ψ(1) → q (G: + 3: )

Ψ′(0) → derivada direccional de q (G) na origem.

. . .o último valor de Ψ(U), a partir da 2a¯ iteração.

Figura 3.9 Elementos usados na interpolação quadrática durante a fase depesquisa linear.

Algoritmo do Método de Newton globalizante:

1. Fixar G0.

2. Avaliar 5: ≡ 5 (G: ), �: .

3. Resolver �T:ℎ: = −5: , obtendo 3Newt,: ≡ ℎ: . Se 3Newt,: não estiver definida,

modificar o sistema linear anterior, e obter a solução deste.

4. Encontrar U: apropriado através de uma pesquisa linear inexacta (testar

EPS — Programa EngIQ

Page 57: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 51

sempre U = 1, inicialmente). Depois, fazer:

G:+1 = G: + U:3Newt,:

5. Se ‖3Newt,: ‖ ≤ n1 e ‖ 5: ‖ ≤ n2, terminar. Caso contrário voltar ao passo 2

com a estimativa actualizada G:+1.

Devido às suas múltiplas vantagens, o método de Newton anterior é muito

usado para resolver sistemas de equações não-lineares. Este pode ser aplicado

como método numérico dentro de outro método numérico (por exemplo, em

optimização, ou na resolução de equações diferenciais); daí ser importante tentar

preservar a sua eficiência numérica.

Apesar das vantagens anteriores, a aplicação do método de Newton anterior

(puro) nem sempre é possível, ou conveniente. No entanto, dadas as vantagens

anteriores, é possível considerar diversas modificações no algoritmo base para

ultrapassar este problema:

Aproximação de �: por diferenças finitas: Esta modificação é usada quando as

derivadas de 5 (G) não podem ser calculadas facilmente. Por exemplo 5 (G) pode

corresponder a um programa de simulação tipo caixa negra, que não é possível

alterar, nem conhecer. Outras vezes as derivadas de 5 (G) podem ser calculadas,

mas o esforço é demasiado grande.

Neste caso as derivadas necessárias são aproximadas por diferenças finitas

5 ′(G: ) =5 (G: + n) − 5 (G: )

n(3.10)

com n pré-especificado. A fórmula anterior produz uma aproximação de 1a¯õrdem.

Podem ser usadas outras fórmulas de aproximação, com erros e esforços requeri-

dos distintos. Mais detalhes sobre estes métodos estão disponíveis em Oliveira

(2006).

EPS — Programa EngIQ

Page 58: Engenharia de Processos e Sistemas

52 Solução de sistemas de equações não-lineares

• O número de avaliações da função objectivo cresce substancialmente neste

caso. Por exemplo, quando (3.10) é usada, são necessárias = + 1 avaliações

da função 5 (G) ∈ R= (verificar).

• O parâmetro n deve ser escolhido criteriosamente para minimizar os erros

resultantes da aplicação da equação (3.10), e sobretudo para evitar a sua

aplicação catastrófica Oliveira (2006).

• Como resultado da observação anterior, as propriedades de convergência

do método base podem ser perdidas, neste caso, no todo ou em parte.

Substituição de tangentes por secantes: Método descrito em Oliveira (2006).

Necessário obedecer sempre à equação das secantes:

�: (G: − G:−1)︸ ︷︷ ︸B:

= (5 (G: ) − 5 (G:−1))︸ ︷︷ ︸~:

Esta equação tem a mesma estrutura que a equação (3.5), usada como base no

método de Newton; apenas a estrutura é diferente (secantes agora) — Figura 3.10.

Figura 3.10 Substituição das tangentes por secantes, num método iterativounidimensional para solução de equações não-lineares.

Quando G ∈ R= a matriz de secantes �: não está definida unicamente.

EPS — Programa EngIQ

Page 59: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 53

Método de Broyden (actualização mínima — cauteloso):

�: = �:−1 +(~: − �:−1B: )BT:

BT:B:

Mais detalhes e exemplo de aplicação em Oliveira (2006).

Para além destasmodificações nométodo de Newton, baseado na estratégia (3.9),

é possível usar uma metodologia de solução diferente.

Métodos de regiões de confiança Nesta classe de métodos, ao contrário de (3.9),

é usada uma estratégia distinta:

1. Em função do sucesso conseguido nas últimas iterações (nos métodos

anteriores seria o U . . . ), propor (i.e., fixar) um passo expectável: X: → raio

de confiança actual, a considerar nesta iteração. Deste modo, força-se a

que:

‖G:+1 − G: ‖2 ≤ X

2. Determinar a melhor solução do problema (direcção) dentro da região de

confiança actual.

3. Com base no progresso obtido na última iteração (esperado versus real),

actualizar o raio de confiança.

A versão deste método para resolução de sistemas de equações não-lineares é

aplicada como:

minG

‖ 5 (G)‖2

s.a ‖ℎ‖2 ≤ X

A aplicação destes métodos resulta, geralmente, em problemas de optimização

com restrições de estrutura especial, que podem ser tratadas facilmente.

EPS — Programa EngIQ

Page 60: Engenharia de Processos e Sistemas

54 Solução de sistemas de equações não-lineares

Estes métodos consideram explicitamente que os modelos aproximados de 5 (G)

(por exemplo a aproximação linear no método de Newton) apenas são válidos

numa vizinhança do ponto actual. Consequentemente, se a solução apontada

por estes modelos aproximados estiver fora do raio de confiança actual, estas

soluções devem ser evitadas.

Detalhes adicionais sobre estas matérias podem ser encontradas em Dennis Jr. e

Schnabel (1983); Nocedal e Wright (2006).

JNo sistema GAMS a solução de sistemas de equações não-lineares é

(geralmente) efectuada formulando modelos do tipo CNS— constrai-

ned nonlinear system. Isto significa que os problemas correspondentes

podem ser formulados como um sistema misto de equações e desi-

gualdades na forma (2.3)

5 (G) = 0, 6(G) ≤ 0

com G ∈ R=.

Nestas formulações é gerado um erro se o número de graus de li-

berdade não for efectivamente nulo. Esta característica facilita a

construção de modelos estruturalmente correctos, podendo ser con-

siderada vantajosa face à solução do mesmo problema numa folha de

cálculo.

Exemplos de aplicação

Alguns exemplos simples são apresentados em Oliveira (2006). Andrei (2013)

descreve um conjunto de aplicações em diversas áreas de Engenharia. Outros

exemplos de TPCs anteriores são:

1. Determinação da temperatura de flash de umamistura com 3 hidrocarbone-

EPS — Programa EngIQ

Page 61: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 55

tos. Considerar % = 1 atm, modelos de propriedades físicas ideais, equação

de Antoine para a pressão de vapor. Admitir que a fracção vaporizada

(molar) é 1/2.Rilustração (problema bubble).

2. Escolher, a partir da literatura, uma sistema binário com um azeótropo

homogéneo (por exemplo, álcool + água, hidrocarboneto + álcool). Usando

o modelo NRTL, desenhar os diagramas de equilíbrio ~ − G e ) − G − ~, e

comparar estas previsões com os dados experimentais. Este modelo de

equilíbrio pode ser descrito como:

lnW8 =!8

"8

+∑9

G 9�8 9

" 9

(g8 9 −! 9

" 9

)

!8 =∑:

G:g:8�:8 , "8 =∑:

G:�:8

�8 9 = exp(−U8 9g8 9

)g8 9 =

(68 9 − 688 )')

=Δ68 9

'), 8 ≠ 9, e g8 9 = 0, 8 = 9

Considerar a fase de vapor ideal, e usar o modelo NRTL para determinar

os coeficientes de actividade W8,! da fase líquida. Usar a equação de An-

toine para a pressão de vapor dos compostos puros. A equação base para

descrever o equilíbrio L-V será:

~8% = W8,!G8%sat8 () )

Em Floudas et al. (1999), são referenciados métodos disponíveis para detec-

tar a presença de azeótropos nas simulações de equilíbrio de fases. Sandler

(2006) fornece uma descrição adicional deste tipo de modelos, e apresenta

muitos exemplos de aplicação (equilíbrios L-V, e L-L), alguns contendo

dados experimentais que podem ser usados para comparação com as previ-

sões do modelo. Oliveira (2013) apresenta exemplos de regressão de dados

de equilíbrio L-L descritos por este modelo, e discute aspectos práticos de

EPS — Programa EngIQ

Page 62: Engenharia de Processos e Sistemas

56 Solução de sistemas de equações não-lineares

implementação.

Conceitos-chave a reter

1. A solução de sistemas de equações NL é uma tarefa muito comum na área

de EPS, correspondendo à manipulação de modelos com nGDL = 0.

2. Em geral este problema pode ou não ter soluções. Daí serem preferidos

métodos de aplicação simples, que possam produzir respostas completas

(quantas soluções podemos garantir, e onde).

3. Para problemas de pequena dimensão, é possível a aplicação demétodos

gráficos.

4. Para problemas com poucos graus de liberdade, a aplicação do método das

substituições sucessivas pode ser tornada semelhante ao uso dos métodos

gráficos anteriores (Exemplo 3.3).

5. Em sistemas com estrutura especial de interligação (por exemplo diagramas

de fabrico, ou outros esquemas de organização), a aplicação de métodos

de substituições sucessivas pode ser vantajosa, dado que apenas são con-

siderados modelos das unidades (ou blocos) individualmente. Assim, o

tamanho (número de variáveis e equações) considerados de cada vez é mais

reduzido (estratégia sequencial-modular).

6. A aplicação dos métodos de substituições sucessivas não está no entanto

limitada ao caso anterior. Ela é geral, desde que seja possível “inventar”

uma fórmula iterativa correspondente G:+1 = 6(G: ), para a solução de um

sistema 5 (G) = 0.

7. A aplicação do método das substituições sucessivas pode ou não convergir.

Isto depende da estrutura e propriedades de 6( · ), sendo difícil em geral de

garantir (excepto em casos especiais).

EPS — Programa EngIQ

Page 63: Engenharia de Processos e Sistemas

3.2 Sistemas não-lineares 57

8. A família dos métodos de Newton é usada como alternativa, dadas as

limitações anteriores. Esta classe de métodos traz uma série de vantagens

face às alternativas anteriores, mas requer a utilização de derivadas do

modelo, ou a sua aproximação.

9. A convergência local do método de Newton é quadrática, sendo bastante

rápida na proximidade da solução.

10. Os métodos de Newton podem ser modificados de forma a assegurarem

propriedades de convergência global. Esta extensão é efectuada con-

siderando a analogia com a resolução de um problema de optimização

equivalente, e impondo propriedades de descida no algoritmo resultante

(Capítulo 4).

Mesmo assim, devem ser aplicados vários cuidados especiais (práticos) na

formulação destes problemas, para garantir que os métodos numéricos

usados consigam efectivamente convergir para uma solução do problema

(Secção 4.3).

11. Tal como o método das substituições sucessivas, a aplicação de métodos de

Newton é geral, para qualquer problema do tipo considerado. Em particular,

no Exemplo 3.3, referente à simulação de um diagrama de fabrico, ométodo

de Newton pode ser aplicado de 2 formas distintas:

• Ao problema como um todo, considerando 5 (=,D) = 0 (estratégia de

solução simultânea).

• Aoproblema reduzido, resultante da aplicação da estratégia sequencial-

modular.

12. A estratégia de resolução seguida depende da ferramenta utilizada. Por

exemplo o sistema ASPEN One é conhecido por utilizar tipicamente a es-

tratégia sequencial-modular; no entanto, outros simuladores de processos

químicos já recorrem com maior frequência a estratégias simultâneas, po-

EPS — Programa EngIQ

Page 64: Engenharia de Processos e Sistemas

58 Solução de sistemas de equações não-lineares

dendo ser mais rápidos devido a este facto.

Os modelos formulados em linguagens de modelação como o GAMS ou o

AMPL são tipicamente considerados como modelos globais, que podem ser

resolvidos em simultâneo. No entanto, alguns solvers podem decompor

estes problemas em blocos (de forma transparente para o utilizador), e

trabalhar num espaço de variáveis de decisão de dimensão mais reduzida.

3.3 Problemas propostos

1. Descreva em detalhe as possibilidades de aplicação do método de Newton

ao Exemplo 3.3. Considere que as correntes têm 10 espécies químicas

distintas, e que o modelo de cada unidade tem cerca de 5 parâmetros.

Compare o tamanho dos problemas resolvidos em cada um dos casos, e o

espaço de memória correspondente.

EPS — Programa EngIQ

Page 65: Engenharia de Processos e Sistemas

Capítulo 4

Optimização não-linear

Considerados aqui os problemas clássicos de optimização, com variáveis contí-

nuas (G ∈ R=). O problema mais geral deste tipo pode ser formulado como:

minG

q (G)

s.a ℎ(G) = 0

6(G) ≤ 0

G ∈ R=

(4.1)

Nota: Habitualmente é apenas considerada uma única função objectivo (de mé-

rito) q (G) ∈ R; caso contrário resulta um problema de optimização multiobjectivo

(mais complexo, aqui não abordado).

Diversos critérios de optimização usados em simultâneo podem ser contraditó-

rios, sendo consequentemente necessário estabelecer compromissos entre estes.

São apenas consideradas brevemente aqui algumas abordagens fundamentais

distintas para optimização multiobjectivo:

59

Page 66: Engenharia de Processos e Sistemas

60 Optimização não-linear

1. Redução a um objectivo único, por exemplo através de pesagem:

Φ(G) = F1 + q1 (G) +F2q2 (G)

Dificuldade: Quais os pesos apropriados a usar (e.g.,F1 = 30% ou 40%)?

2. Nalguns cenários é também possível converter alguns objectivos em restri-

ções, por exemplo:

minG

q1 (G) ∧ q2 (G) → minG

q1 (G)

s.a 6(G) ≤ 0 s.a q2 (G) ≤ n

6(G) ≤ 0

Pressupondo que os objectivos podem ser ordenados por ordem relativa de

importância, esta abordagem pode ser usada para implementação de uma

abordagem conhecida como método lexicográfico, onde os objectivos

mais importantes são considerados primeiro, e os restantes são caracteri-

zados posteriormente.

3. Tentar elucidar consequências de várias decisões possíveis, e deixar a es-

colha final dentro de um leque de decisões possíveis para o decisor. Nesta

abordagem são sobretudo esclarecidos os diferentes compromissos que

podem ser criados, em soluções distintas.

Aqui é possível nomeadamente caracterizar a superfície não-inferior (ou

de Pareto) do problema: face a qualquer outra solução candidata, os pontos

nesta superfície caracterizam-se por apenas ser possível melhorar um dos

objectivos, piorando um ou mais dos restantes (Figura 4.1):

EPS — Programa EngIQ

Page 67: Engenharia de Processos e Sistemas

61

Figura 4.1 Identificação da superfície de Pareto num problema com 2 funçõesobjectivo.

B1, B2 → soluções não-inferiores

B3 → candidato não óptimo

B4 → candidato inviável

As características do problema de optimização determinam os algoritmos de

solução que podem (devem) ser usados:

• Optimização contínua (G ∈ R).

• Optimização discreta emista (= ∈ N+0, G ∈ R).

• Optimização de trajectórias (5 (C), C ∈ [C0, C5 ]).

EPS — Programa EngIQ

Page 68: Engenharia de Processos e Sistemas

62 Optimização não-linear

Tipo Objectivo Restrições Variáveis

IP L L I

LP L L R

MILP L L I, R

NLP NL NL R

MINLP NL NL I, R

NIP NL NL I

4.1 Optimização sem restrições

Formulação correspondente:

minG

q (G)

G ∈ R=(4.2)

A solução deste problema G∗ satisfaz a propriedade local:

q (G∗) ≤ q (G), ∀G ∈ �(G∗, X) (4.3)

Para identificar um máximo pode ser escrita uma condição semelhante (Fi-

gura 4.2).

A optimalidade é consequente uma condição local (óptimo local). Uma função

não-linearq (G) pode apresentar vários óptimos domesmo tipo (pontos extremos).

O melhor destes pontos é denominado óptimo global (Figura 4.3).

G∗1, G∗2 → óptimos locais

G∗3 → óptimo global

EPS — Programa EngIQ

Page 69: Engenharia de Processos e Sistemas

4.1 Optimização sem restrições 63

Figura 4.2 Classificação dos pontos de estacionaridade de uma função unidi-mensional.

Figura 4.3 Óptimos locais e global de uma função unidimensional.

Nota: Apenas é necessário saber minimizar (ou maximizar), dado que um pro-

blema de um tipo pode ser facilmente convertido no problema oposto, conside-

rando a função objectivo simétrica (Figura 4.4).

minG

q (G) ⇔ maxG

−q (G)

A condição (4.3) não é habitualmente usada directamente na pesquisa dos pontos

óptimos. Em vez disso, são usadas condições alternativas:

EPS — Programa EngIQ

Page 70: Engenharia de Processos e Sistemas

64 Optimização não-linear

Figura 4.4 Interconversão dos problemas de minimização e de maximização.

4.1.1 Condição necessária

Se q (G) for diferenciável, então os pontos óptimos devem obedecer à condição

de estacionaridade:

∇q (G∗) = 0

Deve ser recordada a definição de gradiente de uma função (equação 3.7). A

condição anterior corresponde a um sistema de equações não-lineares. Conse-

quentemente os problemas de resolução de sistemas de equações não-lineares e

de optimização sem restrições estão intimamente ligados!

A Figura anterior mostra que nem todos os pontos que satisfazem a condição

de estacionaridade são mínimos locais. Estes pontos devem antes ser conside-

rados candidatos; deste modo é necessário usar um critério adicional para a

caracterização completa destes pontos.

4.1.2 Condição suficiente

Considerando a condição (4.3), para G∗ ser um mínimo é necessário que a curva-

tura de q (G) em G∗ seja positiva (função convexa):

EPS — Programa EngIQ

Page 71: Engenharia de Processos e Sistemas

4.1 Optimização sem restrições 65

x1

x2

ΦHx1,x2 L

Interpretação geométrica: crescimento em qualquer direcção, a partir de G∗.

Isto pode ser avaliado através das propriedades da matriz de 2a¯s derivadas de

q (G∗):

∇2q (G) ≡ � (G∗) ≡[m2qmG8mG 9

]Nota: A matriz � (G∗) — Hessiana em G∗ — é sempre simétrica, sendo constante

para um ponto G∗ especificado.

Para G∗ ser um mínimo local a matriz � (G∗) tem de ser positiva definida. Esta

propriedade pode ser avaliada, de forma equivalente, através de qualquer uma

das 2 condições seguintes:

1.

3T ·� (G∗) ·3 > 0, ∀3 ∈ R= (qualquer direcção)

2.

_8 (� (G∗)) > 0, onde |� − _� | = 0

Como � é simétrica, os seus valores próprios _8 são todos reais, devendo

neste caso ser todos positivos para que � seja positiva definida.

Porquê utilizar a matriz de 2a¯s derivadas? Considerando uma expansão de q (G)

em série de Taylor, em torno de G∗:

q (G) = q (G∗) + ∇q (G∗) (G − G∗) + 12(G − G∗)T� (G∗) (G − G∗) + · · ·

EPS — Programa EngIQ

Page 72: Engenharia de Processos e Sistemas

66 Optimização não-linear

Esta série produz uma aproximação polinomial em torno do ponto G∗, para uma

função q (G) arbitrária.

Para (G−G∗) pequeno (i.e., na vizinhança deG∗), o termo quadrático é o dominante

na série anterior (potência de menor ordem, com coeficiente não nulo).

EPS — Programa EngIQ

Page 73: Engenharia de Processos e Sistemas

4.1 Optimização sem restrições 67

Todos os casos possíveis para a matriz Hessiana � (G∗):

Positiva definida 3T ·� (G∗) ·3 > 0

Mínimo

Negativa definida 3T ·� (G∗) ·3 < 0

Máximo

Positiva semi-definida 3T ·� (G∗) ·3 ≥ 0

Mínimo degenerado

Negativa semi-definida 3T ·� (G∗) ·3 ≤ 0

Máximo degenerado

Indefinida 3T ·� (G∗) ·3 ≷ 0

Ponto de sela

Nota: Se� (G∗) = 0, deve ser usada a derivada par de ordem superior, procurando-

se retirar conclusões semelhantes.

Convexidade: Oliveira (2003); Beck (2014).

EPS — Programa EngIQ

Page 74: Engenharia de Processos e Sistemas

68 Optimização não-linear

Exemplos práticos: Oliveira (2003).

4.2 Optimização com restrições

Detalhes adicionais sobre este assunto podem ser encontrados em Nocedal e

Wright (2006); Beck (2014).

Tal como na optimização sem restrições, um conceito fundamental é a caracte-

rização das condições de optimalidade. Nalguns casos, a sua solução directa

permite a caracterização imediata dos pontos extremos do problema; alguns mé-

todos utilizam esta abordagem directa, de forma semelhante à solução analítica:

formulação das condições de optimalidade do problema e solução das equações

resultantes.

Para problemas de optimização com restrições foram formuladas diversas condi-

ções de optimalidade. Entre estas, as mais conhecidas são as de Fritz John (FJ) e as

de Karush-Kuhn-Tucker (KKT), com aplicabilidades que envolvem pressupostos

distintos. As condições de optimalidade mais divulgadas são talvez as KKT (Oli-

veira, 2003; Beck, 2014; KKT conditions, 2014). Uma dedução e descrição mais

detalhadas destas condições de optimalidade pode ser encontrada em Bazaraa et

al. (2006).

Alguns algoritmos de optimização mais comuns para problemas de optimização

com restrições estão descritos em Oliveira (2003); Beck (2014).

4.3 Implementação prática

A implementação deste tipo de problemas usando os sistemas computacionais

disponíveis requer por vezes a utilização de alguns “truques” de implementação

(i.e., formas específicas que facilitam a codificação dos problemas, ou a sua

resolução subsequente). Alguns aspectos desta natureza são por exemplo:

EPS — Programa EngIQ

Page 75: Engenharia de Processos e Sistemas

4.4 Exemplos de aplicação 69

• Conversão de problemas não-diferenciáveis em aproximações diferenciá-

veis, por aproximação de termos contendo as funções min( · ), max( · ) e

abs( · ).

• Substituição de restrições do tipo desigualdade por igualdades, e utilização

apenas de variáveis positivas.

• Aproximação de termos não-lineares por segmentos lineares.

• Tratamento de conjuntos disjuntos de restrições.

Diversa informação desta natureza pode ser encontrada em Williams (1999);

Castillo et al. (2005); Drud (2015).

4.4 Exemplos de aplicação

Os livros de texto na área de optimização incluem muitos exemplos de aplicação,

em áreas muito diversificadas, e.g. Williams (1999); Castillo et al. (2005); Andrei

(2013).

Outras fontes de exemplos são as bibliotecas de exemplos incluídas com as

linguagens de modelação e optimização. No caso do sistema GAMS, a biblioteca

de modelos GAMS Model Library inclui muitos exemplos na área de Engenharia

Química, com alguns modelos na área da Refinação. A biblioteca é instalada com

o sistema, e pode ser consultada também na web, em <http://www.gams.com/

modlibs/>.

O sistema AIMMS disponibiliza um manual com muitos exemplos, analisados

em detalhe na sua formulação (Bisschop, 2012).

EPS — Programa EngIQ

Page 76: Engenharia de Processos e Sistemas
Page 77: Engenharia de Processos e Sistemas

Capítulo 5

Optimização linear e discreta

Devido às suas características especiais a formulação e solução de problemas

lineares e envolvendo decisões discretas (i.e., descontínuas) são analisadas em

separado, dado que habitualmente são utilizados algoritmos específicos nestes

casos.

5.1 Optimização linear

Gass (1970) considera a aplicação de metodologias de programação linear a um

conjunto de aplicações básicas, incluindo a ilustração gráfica da solução destes

problemas. Alguns problemas considerados são:

• O problema da dieta.

• A atribuição de tarefas.

• Diversos problemas de redes.

71

Page 78: Engenharia de Processos e Sistemas

72 Optimização linear e discreta

5.1.1 Modelos de redes

Os problemas formulados com base em modelos de redes constituem uma aplica-

ção extremamente importante dos modelos de optimização linear, com inúmeras

aplicações em todas as áreas de Engenharia, nomeadamente na modelação de

problemas que envolvem fluxos (de massa, energia, etc.).

Amodelação com base em redes é tambémmuito usada para expressar problemas

no domínio da Investigação Operacional. Como tal, as referências desta área

descrevem bem a sua aplicação a problemas característico, com indicação de

algoritmos mais específicos para os diversos casos (Winston, 2003; Taha, 2007;

Sarker e Newton, 2008).

5.2 Optimização com decisões discretas

Uma classe fundamental de algoritmos para a solução de problemas lineares

com decisões discretas são os métodos de “branch-and-bound”. Estes algoritmos

permitem a pesquisa da melhor solução numa árvore de decisão correspondente

ao espaço das decisões discretas do problema, através de um procedimento de

enumeração implícita. Em cada nodo da árvore de decisão é resolvido um pro-

blema linear apenas com variáveis contínuas, correspondendo à relaxação do

problema discreto correspondente ao nodo. O procedimento de solução é termi-

nado quando a árvore de decisão for totalmente varrida (através da enumeração

dos nodos correspondentes), ou quando é possível demonstrar, usando os limites

actuais para a solução do problema, que as soluções ainda não encontradas não

seriam melhores do que as conhecidas actualmente (incluindo eventualmente

uma tolerância pré-especificada).

Os algoritmos de “branch-and-bound” têm sido melhorados nos últimos anos,

originando os métodos de “branch-and-cut”, disponíveis na maioria dos solvers

actuais. Neste caso, para além dos componentes do método de “branch-and-

EPS — Programa EngIQ

Page 79: Engenharia de Processos e Sistemas

5.2 Optimização com decisões discretas 73

bound”, são também adicionadas restrições lineares adicionais ao problema

(denominadas como cortes), por forma a melhorar o desempenho do método.

Na optimização discreta, é possível a formulação de modelos matematicamente

equivalentes, mas que requerem na prática um esforço de solução muito dis-

tinto. Isto pode acontecer mesmo com formulações lineares. Vários autores têm

chamado a atenção para este facto, enfatizando a conveniência da utilização de

formulações fortes, com relaxações lineares mais apertadas (Pataki, 2003; Trick,

2005; Vielma, 2015). Sugestões de carácter prático relativas à solução de pro-

blemas MILP, bem como ao diagnóstico e tratamento de dificuldades durante a

resolução desta classe de problemas são fornecidas por Klotz e Newman (2013).

Algumas referências que dedicam grande ênfase à construção de modelos de

optimização discreta são Williams (1999); Sarker e Newton (2008); Chen et al.

(2010).

Problemas com características especiais de tamanho, ou estrutura do problema

podem ser resolvidos com vantagem usando métodos especiais, baseados em

técnicas de decomposição (por exemplo, Relaxação Lagrangiana, Decomposição

de Benders, e métodos de Geração de Colunas). Uma revisão das principais

aplicações deste tipo de metodologias está disponível em Conejo et al. (2006).

Outro aspecto importante na resolução de problemas envolvendo decisões dis-

cretas é a escolha dos solvers a utilizar. A eficiência de solução depende não

apenas das características do problema, bem como das técnicas implementa-

das e das opções escolhidas pelo utilizador. Em particular, a possibilidade do

uso de processamento paralelo, aproveitando as capacidades deste tipo cada vez

mais comuns (mesmo em sistemas apenas com um único processador), permite

frequentemente a redução significativa do tempos de computação necessários.

Ralphs et al. (2017) disponibiliza uma revisão destas capacidades nos principais

solvers disponíveis actualmente, para problemas MILP.

EPS — Programa EngIQ

Page 80: Engenharia de Processos e Sistemas

74 Optimização linear e discreta

Uma revisão relativa às principais técnicas e algoritmos disponíveis para a reso-

lução prática de problemas do tipo MINLP está disponível em D’Ambrosio e Lodi

(2011).

5.2.1 Modelação com variáveies discretas

Uma referência muito concisa relativa à utilização de variáveis discretas na

construção de formulações de optimização pode ser encontrada em FICO (2009).

5.2.2 Exemplos de aplicação

EPS — Programa EngIQ

Page 81: Engenharia de Processos e Sistemas

Capítulo 6

Modelação mecanística de siste-

mas

Amodelação de sistemas e processos é uma actividade muito comum nos domí-

nios da investigação científica, engenharia, economia, e em actividades empresa-

riais, beneficiando actualmente da disponibilidade demeios computacionais e da

facilidade de recolha de dados relativos aos sistemas em causa. Esta actividade

envolve a criação de uma representação formal mas idealizada de um sistema,

com vista ao seu uso numa (ou mais) tarefas.

Em geral, é esta aplicação específica que constitui a principal força motriz na

actividade de modelação. Por exemplo, é frequente reconhecer que os modelos

são desenvolvidos para optimização dos sistemas que representam. No entanto,

outras actividades podem tirar partido da existência de modelos dos sistemas, e

da representação de conhecimento subjacente, por exemplo:

• Diagnóstico.

• Projecto.

75

Page 82: Engenharia de Processos e Sistemas

76 Modelação mecanística de sistemas

• Controlo e supervisão de processos.

Figura 6.1 Principais funcionalidades e organização dos fluxos de informaçãoem modelos de sistemas.

Devido a esta diversidade de aplicações, podem ser construídos diversos modelos

para descrever um dado sistema, dependendo da funcionalidade pretendida.

Uma vez que os modelos desenvolvidos têm habitualmente por base um conjunto

de equações e relações matemáticas, a sua implementação deve ser flexível,

permitindo a sua utilização com fluxos de informação diversificados (Figura 6.1).

Isto torna atractiva a utilização de sistemas demodelação algébrica (AMLs), como a

linguagemGAMS, em vez de simuladoresmodulares, baseados emprocedimentos,

onde os fluxos de informação são frequentemente especificados de uma forma

mais rígida.

Entre as características principais dos modelos podem ser consideradas:

• Modelos quantitativos / qualitativos. Osmodelos qualitativos podempor

EPS — Programa EngIQ

Page 83: Engenharia de Processos e Sistemas

77

vezes ser organizados sob a forma de diagramas de influência (Figura 6.2).

Figura 6.2 Construção de diagramas de influência.

• Modelosmecanísticos / empíricos. Esta divisão foi já analisada na Sec-

ção 2.1.1.

• Modelos determinísticos / estocásticos. Os modelos de natureza estocás-

tica incluem componentes aleatórias na sua resposta.

• Modelos lineares / não-lineares. A análise da 1a¯ classe de modelos é

em geral bastante mais simples. Por isso, em algumas situações, estes

modelos são preferidos, apesar da sua menor capacidade de aproximação

de fenómenos mais complexos.

• Modelos de parâmetros agrupados / parâmetros distribuídos. Nos mo-

delos de parâmetros agrupados, as variáveis de estado x(C) apenas depen-

dem do tempo. Nos modelos de parâmetros distribuídos as variáveis de

estado x(C, I) dependem ainda de pelo menos uma coordenada espacial I

(Figura 6.3).

EPS — Programa EngIQ

Page 84: Engenharia de Processos e Sistemas

78 Modelação mecanística de sistemas

Figura 6.3 Modelos de parâmetros agrupados e distribuídos.

Nos modelos resultantes da aplicação de balanços de conservação os mode-

los de parâmetros agrupados resultam da realização de balançosmacros-

cópicos (i.e., realizados a elementos de volume macroscópicos), enquanto

que os modelos de parâmetros distribuídos resultam da realização de ba-

lançosmicroscópicos.

• Estado transiente / estacionário.

Na modelação de sistemas físicos é ainda conveniente distinguir entre sistemas

abertos, fechados e isolados (Figura 6.4).

Figura 6.4 Sistemas abertos, fechados e isolados.

EPS — Programa EngIQ

Page 85: Engenharia de Processos e Sistemas

79

Por definição, as variáveis de estado do sistema x(C) (ou x(C,I), no caso dos

modelos de parâmetros distribuídos) devem permitir a descrição completa do

estado do sistema, a partir de uma condição inicial x0 (C) = x0 (ou x0 (C,I) =

x0 (I)), e do conjunto de entradas u(C), para C > 0.

Na descrição do estado do sistema podem ser usadas 2 categorias de variáveis:

• Variáveis extensivas (e.g.,<, � ) — proporcionalmente dependentes do

volume de controlo considerado.

• Variáveis intensivas (e.g., % , ) ) — indicativas da intensidade de alguns

fenómenos ocorrentes, e por isso não proporcionais ao volume considerado.

Os modelos de natureza mecanística utilizam pretendem usar como base a des-

crição rigorosa dos fenómenos físico-químicos ocorrentes, assentando por isso

em leis fundamentais. O princípio usado na construção destes modelos é quase

sempre a observação do princípio de conservação de extensidades, i.e., variá-

veis de estado extensivas. Na descrição de processos químicos, os modelos de

conservação mais comuns são:

• Balanços de conservação de massa. Estes balanços podem ser relativos

apenas a uma espécie química ou serem balanços globais (i.e., incluindo

todas as espécies).

• Balanços de conservação de energia.

• Balanços de conservação de quantidade de movimento. Estas equações

são também conhecidas como equações de Navier-Stokes. Em sistemas de

parâmetros distribuídos permitem-nos conhecer a distribuição de velocida-

des no sistema, e consequentemente conhecer os fluxos de massa e energia

associados.

• Balanços de conservação de entropia (Demirel, 2014).

Estes balanços de conservação de extensidades são completados por relações

EPS — Programa EngIQ

Page 86: Engenharia de Processos e Sistemas

80 Modelação mecanística de sistemas

constitutivas, que são equações complementares usadas para expressar a natu-

reza de alguns fenómenos (por exemplo, velocidades de reacção, de transferência

de calor devido a fenómenos específicos), na definição de quantidades físico-

químicas (como entalpias, viscosidades, etc.), ou na especificação de restrições

geométricas.

Nos modelos dinâmicos, tal como nos modelos estáticos, é possível realizar uma

análise de graus de liberdade, para verificar se um dado sistema se encontra

completamente especificado.

6.1 Balanços macroscópicos de extensidades

A lei genérica de conservação em estado transiente pode, neste caso, ser expressa

como:

[acumulação] = [entradas] − [saídas]︸ ︷︷ ︸entrada líquida

+ [geração] − [consumo]︸ ︷︷ ︸geração líquida

Expressando esta equação numa forma diferencial para uma extensidade genérica

�, por unidade de tempo, fica

d"dC

= & (C) +� (C)

" (C0) = "0

onde:

" (C) — quantidade total de extensidade [ext].

& (C) — caudal líquido de extensidade [ext.s−1].

� (C) — velocidade (líquida) de geração de extensidade [ext.s−1].

RIlustração: Modelo de um tanque de gás.

EPS — Programa EngIQ

Page 87: Engenharia de Processos e Sistemas

6.2 Balanços microscópicos de extensidades 81

6.2 Balanços microscópicos de extensidades

Neste tipo de sistemas, a descrição concisa dos balanços de conservação de

extensidade requer:

• a escolha de um sistema de coordenadas adequado. Por vezes, explorando

as propriedades de simetria de um sistema, é possível reduzir o número de

coordenadas necessárias para descrever o sistemaRilustração.

• a utilização de operadores diferenciais característicos, como o gradiente,

divergência, Laplaciano, rotacional, etc.

Estas equações de balanço seguem o formalismo desenvolvido (após um esforço

considerável...) para as leis de Maxwell do electromagnetismo. A lei genérica

de conservação neste caso pode ser expressa, por unidade de tempo e de volume

comom5

mC+ ∇ · J − 6 = 0

onde:

5 — densidade de extensidade [E.m−3].

J — vector fluxo de extensidade [E.m−2.s−1].

6 — taxa líquida de produção de extensidade [E.m−3.s−1].

O vector fluxo de extensidade tem frequentemente diversas componentes, relati-

vas aos diversos fenómenos físicos ocorrentes no sistema (por exemplo, advecção,

condução, radiação, etc.). Algumas referências fundamentais na construção

destes modelos são Hangos e Cameron (2001); Bird et al. (2002); Wilkes (2006).

Uma vez que estes modelos são constituídos frequentemente por equações di-

ferenciais às derivadas parciais (PDEs), a sua implementação computacional é

frequentemente efectuada por recurso a sistemas de software específico, como

por exemplo sistemas de dinâmica de fluidos computacional (CFD), sobretudo

EPS — Programa EngIQ

Page 88: Engenharia de Processos e Sistemas

82 Modelação mecanística de sistemas

para sistemas com configuração geométrica mais complexa. Alguns sistemas

deste tipo são por exemplo:

• ANSYS Fluent: http://www.ansys.com/Products/Fluids/ANSYS-Fluent.

• ANSYS Autodyn: http://www.ansys.com/products/structures/ansys-autodyn.

• COMSOL: https://www.comsol.com/.

• OpenFOAM: http://www.openfoam.com/. Este é um sistema de código aberto.

• Diversos solvers para PDEs disponíveis para linguagens de programação

genéricas, correspondendo em muitos casos a sistemas de código aberto.

Por exemplo, com a linguagem Python, podemos encontrar os sistemas

FiPy, baseados em volumes finitos, ou SfePy, FEniCS, estes baseados em

abordagens de elementos finitos).

Dada a complexidade dos procedimentos de solução usados, a simulação dos

modelos implementados num dado sistema pode ser bastante mais fácil do que a

sua optimização. Nesta situação, são aplicáveis as considerações efectuadas no

início deste Capítulo, relativas à flexibilidade relativa de manipulação de alguns

modelos implementados em sistemas baseados em procedimentos.

RIlustração: http://www.cacheme.org, http://lorenabarba.com/, geração

de grelhas, exemplo com ANSYS Autodyn.

6.3 Balanços de populações

Estes modelos são usado na descrição de sistemas onde pelo menos uma variável

importante se encontra sujeita a uma distribuição contínua de propriedades

? (=), frequentemente associáveis a tamanhos de moléculas ou aglomerados. São

exemplos de sistemas deste tipo:

• Um RCPA com catalisador fino disperso num fluido; a agitação e os movi-

mentos do fluido reaccional provocam frequentemente a quebra gradual

EPS — Programa EngIQ

Page 89: Engenharia de Processos e Sistemas

6.3 Balanços de populações 83

das partículas de catalisador, que passa a ser descrito por uma distribuição

de tamanhos, mesmo que o catalisador tenha inicialmente propriedades

homogéneas.

• Um cristalizador, ou um equipamento de spray-drying, onde há crescimento

de partículas associados a fenómenos de transição de fases.

• Um sistema de polimerização, com moléculas de diferentes tamanhos.

• Um sistema de aerossol, onde partículas de diferentes tamanhos interagem

entre si.

Devido a esta distribuição de propriedades, estes sistemas são descritos por

um vector de estados x(C,=) com dimensão infinita, o que pode implicar a

necessidade de novos algoritmos de manipulação destes modelos. A forma

mais comum de modelação destes sistemas é através de PDEs (parâmetros

distribuídos) com derivadas parciais mm=, mesmo quando as propriedades do

sistema não variam com as coordenadas espaciais.

A distribuição de tamanhos associada à variável genérica =, pode ser descrita em

termos da função densidade de distribuição 5 (=) onde:∫ ∞

05? (=) d= = 1

Neste caso a fracção de indivíduos (partículas, aglomerados, etc.) com o valor

propriedade ? entre =1 e =2 é calculável através de∫ =2=1

5? (=) d=. A densidade cu-

mulativa � (=) permite-nos identificar a fracção de indivíduos com propriedade

? até um dado limite =1:

� (=1) =∫ =1

05? (=) d=

Os fenómenos a considerar dependem da natureza do sistema; por exemplo,

podem ser considerados fenómenos de colisão, quebra, coalescência, coagulação,

etc. Algumas referências de índole geral neste domínio são Friedlander (2000);

EPS — Programa EngIQ

Page 90: Engenharia de Processos e Sistemas

84 Modelação mecanística de sistemas

Ramkrishna (2000).

RIlustração: nG2P.

EPS — Programa EngIQ

Page 91: Engenharia de Processos e Sistemas

Capítulo 7

Optimização de sistemas descritos

por equações diferenciais

Modelos envolvendo equações diferenciais sãomuito comuns em todas as áreas de

aplicação nos processos químicos (ver por exemplo, aplicações noutros módulos

do programa EngIQ).

Alguns exemplos são:

• Sistemas reaccionais (e.g., partículas de catalisador), leitos fixos.

• Operações de separação onde existam gradientes espaciais ou temporais

(e.g., transferência de massa ou calor num leito, tal como em destilação,

absorção ou extracção, processos com membranas).

• Unidades operadas em regime descontínuo, por exemplo reactores de poli-

merização.

• Intervalos de tempo associados a mudanças de regime, arranque e paragem

de processos que funcionam essencialmente em contínuo (e.g., polime-

85

Page 92: Engenharia de Processos e Sistemas

86 Optimização de sistemas descritos por equações diferenciais

rização de etileno, mudança de alimentação numa coluna de destilação

atmosférica numa refinaria, etc.).

Tal como na aplicação dos métodos anteriores de optimização, os problemas

envolvendo estes sistemas podem surgir em tarefas de

• projecto;

• operação (controlo e supervisão);

• diagnóstico;

e portanto conjunto muito alargado de tarefas em EPS! Também como acontece

com os sistemas algébricos, a possibilidade de optimizar estes processos constitui

a principal “driving force” na construção de modelos deste tipo.

Exemplo 7.1: Mistura óptima de catalisadores:

O sistema químico

A:10

:11B

:2 C

ocorre num reactor tubular com enchimento, a temperatura constante

(Jackson, 1968; Biegler, 2010; Li e Liu, 2015). A 1a¯ reacção é catalisada

pelo catalisador I, sendo necessário também usar o catalisador II por

causa da 2a¯ reacção. C é a espécie química desejada, e o objectivo deste

problema é determinar a mistura óptima de catalisadores ao longo do

reactor. Esta pode ser representada por D (I) ∈ [0,1], sendo D (I) a fracção

de catalisador I presente na posição axial I.

Este problema pode ser formulado como:

maxD (I)

C(!)

s.a modelo cinético

D (I) ∈ [0,1]

EPS — Programa EngIQ

Page 93: Engenharia de Processos e Sistemas

87

Uma solução possível consiste em usar catalisador I na secção inicial, e

depois encher o reactor com catalisador II no final (solução “bang-bang”).

No entanto, se o reactor for suficientemente longo, a conversão máxima

de B pode ser limitada neste caso pelo equilíbrio químico da 1a¯ reacção, e

a produção de B pode ser afectada. Neste caso a produção de C pode ser

melhorada usando uma mistura de catalisadores, por exemplo numa zona

intermédia do reactor (Figura 7.1).

A formulação anterior permite determinar o perfil óptimo de doseamento

de catalisadores a usar neste caso.

(a) (b)

Figura 7.1 Perfis óptimos de distribuição dos catalisadores, para :1 = :3 = 1,:2 = 10 : (a) C� = 1; (b) C5 = 12 Li e Liu (2015).

Algumas questões fundamentais (iniciais):

• Quais as principais diferenças entre esta classe de problemas e a optimiza-

ção clássica?

• Como expressar modelos diferenciais em linguagens de modelação (por

exemplo, em GAMS, ou no Microsoft Excel)?

Principais tipos de problemas desta categoria (Oliveira, 2003, p. 59):

1. Problemas de controlo óptimo→∞ graus de liberdade:

EPS — Programa EngIQ

Page 94: Engenharia de Processos e Sistemas

88 Optimização de sistemas descritos por equações diferenciais

Exemplo: Problema do braquístocrono (trajectória para Cmin):

Jacques e Johann Bernoulli (século XVIII, Suíça).

Objectivo: Determinar perfil ou trajectória óptima para problema especí-

fico:

min~ (G)

q (G,~ (G))

s.a modelo dinâmico

~ (G) ∈ R

Solução é ~ (G) ≡ 5 (G) (ou 5 (C)) para G ∈ [0,1] (função contínua)⇒ com

infinitos graus de liberdade→ necessária análise variacional.

2. Problemas de estimativa de parâmetros (ou estados) — e.g. como determinar

os parâmetros cinéticos no modelo considerado no Exemplo 7.1:

min\

q (2I8 ) ≡ resíduos (qualidade de ajuste)

s.a modelo cinético(\ )

\ ∈ R?

• Número de graus de liberdade é finito (\ ∈ R? ).

• Principal problema: como lidar eficientemente com derivadas?

EPS — Programa EngIQ

Page 95: Engenharia de Processos e Sistemas

7.1 Solução de modelos com equações diferenciais — revisão 89

7.1 Solução de modelos com equações diferenciais — re-

visão

Aqui apenas considerados métodos para a solução de problemas com equações

diferenciais ordinárias:

3G (C)3C

= G ′(C) = 5 (G,C), G (C0) = G0, G ∈ R= (7.1)

Por vezes é tambémusada a nomenclatura G ′(C) ≡ ¤G (C). O tratamento de equações

às derivadas parciais é considerado noutras aulas do curso.

7.1.1 Solução de problemas de valor inicial (PVI)

IVP — “initial value problems”.

Aqui é considerada a solução de problemas do tipo da equação (7.1). Uma base

possível para o desenvolvimento de métodos de solução para estes sistemas é

a expansão em série de Taylor. Admitindo que a solução de (7.1) é contínua e

analítica no ponto C: , é possível escrever

G (C:+1) = G (C: ) + G ′(C: )ℎ + G ′′(C: )ℎ2

2+ · · · + G (?) (C: )

ℎ?

?!+$ (ℎ?+1)

onde ℎ = C:+1 − C: . Truncando a série no termo de ordem de ℎ2, e substituindo

(7.1) na equação anterior obtém-se o método de Euler explícito:

G (C:+1) = G (C: ) + ℎ5 (G: ,C: ) (7.2)

Esta equação pode ser aplicada sucessivamente, a partir de uma condição inicial

EPS — Programa EngIQ

Page 96: Engenharia de Processos e Sistemas

90 Optimização de sistemas descritos por equações diferenciais

G (C0) = G0:

G (C1) = G (C0) + ℎ5 (G0,C0)

G (C2) = G (C1) + ℎ5 (G1,C1)

G (C3) = · · ·

Uma aplicação alternativa do desenvolvimento em série de Taylor conduz ao

método de Euler implícito:

G (C:+1) = G (C: ) + ℎ5 (G:+1,C:+1) (7.3)

Tipicamente esta já é uma equação não-linear, cuja solução requer a aplicação

de ummétodo numérico para a solução de sistemas de equações não-lineares,

como os apresentados no Capítulo 3. Por exemplo para o 1o¯ passo de aplicação

do algoritmo tem-se:

G (C1) = G (C0) + ℎ5 (G1,C1) ⇔ G (C1) = 6(G (C1))

Na aplicação destes métodos deve ser notada que a diminuição do passo ℎ es-

colhido, para além de diminuir o erro da aproximação, de acordo com a equa-

ção (7.1), permite ainda atenuar a não-linearidade do modelo 5 (G,C).

Métodos alternativos para a solução destes sistemas podem ser encontrados por

exemplo em Ascher et al. (1995). Um resumo comparativo das fórmulas iterativas

correspondentes a vários destes métodos é apresentado na Tabela 7.1.

EPS — Programa EngIQ

Page 97: Engenharia de Processos e Sistemas

7.1 Solução de modelos com equações diferenciais — revisão 91

JTal como nos métodos iterativos para a solução de sistemas de equa-

ções não-lineares e de problemas de optimização, na escolha destes

métodos deve ser balanceado:

• O esforço requerido em cada passo de aplicação de um destes

métodos.

• Onúmero total de passos necessários para efectuar a integração

de (7.1), em G ∈ [0,1], relacionado com o tamanho máximo dos

passos ℎ que é possível escolher em cada caso, para ser obtida

uma dada precisão na solução.

7.1.2 Solução de problemas às condições fronteira (PCF)

BVP — “boundary value problems”.

Neste caso, ao contrário da equação (7.1), nem todas as condições são especi-

ficadas num único ponto (extremo) do domínio. Isto acontece por exemplo no

sistema:

D ′′(G) + D (G) = 0,

D (0) = 0

D (1) = V, G ∈ [0,1], D ∈ R

Nestes casos são necessários métodos de solução distintos dos anteriores.

EPS — Programa EngIQ

Page 98: Engenharia de Processos e Sistemas

92 Optimização de sistemas descritos por equações diferenciais

Tabela 7.1 Fórmulas iterativas, e ordens de aproximação de diversos métodosdisponíveis para a integração de problemas de valor inicial (Danaila et al., 2007).

EPS — Programa EngIQ

Page 99: Engenharia de Processos e Sistemas

7.1 Solução de modelos com equações diferenciais — revisão 93

Exemplo 7.2: Conservação de massa, numa partícula de catalisa-

dor:

Em coordenadas esféricas, num partícula de catalisador isotérmico, em

estado estacionário, considerando um modelo unidimensional:

1G

3

3G

(G232

3G

)= 3q2A (2) (7.4)

32

3G

����G=0

= 0;32

3G

����G=1

= Bi< (1 − 2 (1)) (7.5)

NOTA: Este modelo já está adimensionalizado.

Solução típica (qualitativa):

A condição fronteira em G = 1 pode ser substituída por outra equivalente.

Como integrar este sistema?

Existem diferentes classes de métodos de solução, correspondentes a diferentes

estratégias de solução. Como principais abordagens temos:

1. “Shooting” — integração por tentativas: conversão em problema de valor

inicial (PVI) + iteração (solução de equações não-lineares).

Nota: Possível integração nos sentidos directo (→) ou reverso (←).

Um problema frequente na aplicação dos métodos de integração por ten-

tativas é o aparecimento de modos instáveis, associados a pólos instáveis

(sistemas lineares). Neste caso, reverter o sentido da integração⇔ reverter

a estabilidade do sistema:

EPS — Programa EngIQ

Page 100: Engenharia de Processos e Sistemas

94 Optimização de sistemas descritos por equações diferenciais

Consequentemente, os métodos de “shooting” são desapropriados quando

o modelo do sistema inclui simultaneamente modos estáveis e instáveis

(bastante comum).

2. Discretização ou aproximação: Nestas classes de métodos é obtida uma

aproximação local, que é formulada conjuntamente para um grupo de

pontos ou regiões individuais. Assim o perfil de solução completo é obtido

conjuntamente, requerendo em geral a solução de um problema de maior

dimensão numérica.

(a) Diferenças finitas (discretização): Aproximação de 1a¯ ordem (progres-

siva):3~

3G=~ (G + ℎ) − ~ (G)

ℎ+$ (ℎ) (7.6)

Podem ser usadasmuitas outras aproximações, comerros de aproxima-

ção distintos. A Tabela 7.2 lista diferentes possibilidades de escolha, e

os erros de aproximação correspondentes, obtidas a partir de diversas

expansões em série de Taylor.

Neste caso o domínio contínuo G ∈ [0,1] é aproximado por um con-

junto finito de pontos G8 = 0 + 8ΔG , com 8 = 1,2, . . . ,# . A solução exacta

~ (G) é substituída pelo valor da solução numérica ~8 (G8 ), obtida em

cada um dos pontos anteriores.

Quais os erros deste tipo de aproximação? Em particular, se ℎ →

0 (# →∞), a solução numérica convergirá para a solução exacta?

EPS — Programa EngIQ

Page 101: Engenharia de Processos e Sistemas

7.1 Solução de modelos com equações diferenciais — revisão 95

Tabela 7.2 Tabela de diferenças finitas, para aproximação de várias derivadas(Hoffman, 2001).

EPS — Programa EngIQ

Page 102: Engenharia de Processos e Sistemas

96 Optimização de sistemas descritos por equações diferenciais

• Com # ↗, o erro na aproximação de cada diferença finita (em

cada ponto do domínio) não é necessariamente inferior!

• Existe um ℎ (ou ΔG) óptimo para a aproximação numérica dada

pela equação (7.6): ver (Oliveira, 2006, p. 37).

• Consequentemente, existe um limitemínimopara o erro de solução

(ou de optimização), quando este tipo de métodos é usado. Este

limite depende da ordem de aproximação das diferenças finitas

usadas.

Em particular n = $ (ℎ2) ou n = $ (ℎ4) são comuns→ ver (Oliveira,

2003, p. 69).

(b) Volumes finitos (discretização): Neste método procede-se à partição

do domínio em elementos de volume (zonas), considerados suficiente-

mente pequenos para serem descritos como homogéneos.

As equações de conservação em cada volume elementar (balanços)

podem ser deduzidas através de 2 abordagens distintas:

i. Integração espacial dos balanços diferenciais iniciais:∭+

(· · · , m~

mC,m~

mG, · · ·

)3+ = 0 ⇒ 3~8

3C= · · · , para cada+8

ii. Reformulação da conceptualização física:

Exemplo: Permutador “double-pipe”:

EPS — Programa EngIQ

Page 103: Engenharia de Processos e Sistemas

7.1 Solução de modelos com equações diferenciais — revisão 97

• Necessário caracterizar fluxos (para métodos conservativos).

• O domínio pode ser aproximado de diferentes modos, usando

grelhas adaptativas, etc.→ Date (2005), p. 8.

O resultado é )8 (C), para 8 = 1,2, . . . ,# (coordenadas espaciais

eliminadas).

3. Método dos resíduos pesados (aproximação):

Ver a descrição em (Oliveira, 2003, p. 70).

q8 (C) ≡ funções de base, escolhidas pelo utilizador (e.g., polinómios). Ne-

cessitam serem independentes, no domínio usado.

Em geral '(0,C) ≡ I# (C) − 5 (C,D, I# , \ ) ≠ 0:

As equações de erro integral permitem uma “escolha óptima” (segundo

critérios específicos) dos coeficientes 08 (Oliveira, 2003, p. 70).

Resultados com adaptação da dimensão dos elementos finitos (perfil de

EPS — Programa EngIQ

Page 104: Engenharia de Processos e Sistemas

98 Optimização de sistemas descritos por equações diferenciais

combustão numa unidade de FCC):

0.0 0.2 0.4 0.6 0.8 1.0

0

1

2

3

4

5

x

nCO

Final

Original

7.2 Exemplos de aplicação

Oliveira (2003) considera estas aplicações da optimização de modelos descritos

por equações diferenciais:

1. Controlo predictivo ou MPC — “model predictive control”. Esta metodologia

permite a supervisão de uma unidade, processo ou conjunto de processos,

podendo ser aplicada com diversos modelos, correspondentes a níveis de

detalhe bastante distintos. A sua aplicação permite a gestão óptima de um

complexo químico.

2. Optimização de catalisadores heterogéneos: aqui a distribuição não homo-

génea dos centros activos em partículas de diversas geometrias permite

aumentar o factor de eficiência correspondente, utilizando a mesma quan-

tidade total de metal.

A estimativa de parâmetros cinéticos em sistemas descritos por equações di-

ferenciais (e.g., em estado transiente, ou com variações espaciais) conduz, em

geral, a problemas deste tipo.

Chambel et al. (2011) descrevem a modelação e optimização de uma unidade

EPS — Programa EngIQ

Page 105: Engenharia de Processos e Sistemas

7.2 Exemplos de aplicação 99

FCC, do tipo UOP, com um regenerador de elevada eficiência. O modelo utiliza

a técnica de colocação ortogonal em elementos finitos para a descrição dos

perfis espaciais deste tipo de unidades, em estado estacionário. O modelo foi

implementado no sistema GAMS, permitindo a sua utilização com um leque de

funções objectivo bastante diversificado.

EPS — Programa EngIQ

Page 106: Engenharia de Processos e Sistemas
Page 107: Engenharia de Processos e Sistemas

Bibliografia

N. Andrei, Nonlinear Optimization Applications Using the GAMS Technology, Sprin-ger, New York, NY (2013).

L. Armijo, “Minimization of functions having Lipschitz-continuous first partialderivatives”, Pacific J. Math., 16, 1–3 (1966).

U.M. Ascher, R.M.M. Mattheij, R.D. Russel, Numerical Soltution of Boundary ValueProblems for Ordinary Differential Equations, SIAM, Philadelphia, PA (1995).

M.S. Bazaraa, H.D. Sherali, C.M. Shetty, Nonlinear Programming, Theory andAlgorithms, 3a¯ Edição, J. Wiley & Sons, New York (2006).

A. Beck, Introduction to Nonlinear Optimization, SIAM, Philadelphia, PA (2014).

L.T. Biegler, I.E. Grossmann, A.W. Westerberg, Systematic Methods of ChemicalProcess Design, Prentice-Hall PTR, Upper Saddle River, NJ (1997).

L.T. Biegler, Nonlinear Programming, SIAM, Philadelphia, PA (2010).

R.B. Bird, W.E. Stewart, E.N. Lightfoot, Transport Phenomena, 2a¯ Edição, J. Wiley& Sons, New York (2006).

N. Blachman, “Introduction to Mathematica”, The Mathematica Conference, Bos-ton, MA (1992).

J. Bisschop,AIMMS, OptimizationModeling, ParagonDecision Technology, <http://www.aimms.com/>, Haarlem, Holanda (2012).

A. Brooke, D. Kendrick, A. Meeraus, R. Raman, GAMS: A User’s Guide, GAMSDevelopment Corporation, Washington, DC, E.U.A. (2005).

Center for Advanced Process Decision-making, Short Course on OptimizationModeling, Conceptual Design and Integrated Process Operations, <http://capd.cheme.cmu.edu/shortcourse/index.html>, CarnegieMellon University, Pitts-burgh, PA, E.U.A. (2014).

E. Castillo, A.J. Gonejo, P. Pedregal, R. Garcia, N. Alguacil, Building and SolvingMathematical Programming Models in Engineering and Science, J. Wiley & Sons,New York (2001).

101

Page 108: Engenharia de Processos e Sistemas

102 Bibliografia

Computer Aided Chemical Engineering, ISBN: 978-0-444-59505-8, Elsevier (2014).

A.J.S. Chambel, J.F.P. Rocha, C.I.C. Pinheiro, N.M.C. Oliveira, “Equation Orien-ted Modelling of UOP FCC Units With High-Efficiency Regenerators”, Proc.ChemPor 2011, Caparica, Lisboa (2011).

D.S. Chen, R.G. Batson, Y. Dang, Applied Integer Programming, Modeling andSolution, J. Wiley & Sons, New York (2010).

Q. Chen, B. Brunaud, Pyomo and JuMP — Modeling environments for the 21st cen-tury, EWO Seminar, Carnegie Mellon University, Pittsburgh, PA, E.U.A., <http://egon.cheme.cmu.edu/ewo/docs/EWO_Seminar_03_10_2017.pdf> (2017).

Computers & Chemical Engineering, An International Journal of Computer Ap-plications in Chemical Engineering, <http://www.journals.elsevier.com/computers-and-chemical-engineering/>, ISSN: 0098-1354 (2014).

A.J. Conejo, E. Castillo, R.Mínguez, R. García-Bertrand,Decomposition Techniquesin Mathematical Programming, Engineering and Science Applications, Springer,New York, NY (2006).

C. D’Ambrosio, A. Lodi, “Mixed integer nonlinear programming tools: a practicaloverview”, 4OR-Q J. Oper. Res., 9, 329–349 (2011).

I. Danaila, P. Joly, S.M. Kaber, M. Postel, An Introduction to Scientific Computing:Twelve Computational Projects Solved with MATLAB, SIAM, Philadelphia, PA(2007).

Data Science, <http://en.wikipedia.org/wiki/Data_science> (2014).

DataTau, <http://www.datatau.com/> (2014)

Y. Demirel, Nonequilibrium Thermodynamics, 3a¯ edição, Elsevier, Amsterdam(2014).

J.E. Dennis, Jr., R.B. Schnabel, Numerical Methods for Unconstrained Optimizationand Nonlinear Equations, Prentice-Hall, Englewood Cliffs, NJ (1983).

A. Drud, CONOPT GAMS Solver Documentation, <http://www.gams.com/dd/docs/solvers/conopt/> (2015).

FICO Xpress Optimization Suite,MIP Formulations and Linearizations, <http://www.fico.com/>, Fair Isaac Corporation, Leamington Spa, Reino Unido (2009).

C.A. Floudas, Nonlinear and Mixed-Integer Optimization, Theory and Applications,Oxford University Press, New York (1995).

C.A. Floudas, P.M. Pardalos, C.S. Adjiman, W.R. Esposito, Z.H. Gümüs, S.T. Har-ding, J.L. Klepeis, C.A. Meyer, C.A. Schweiger, Handbook of Test Problems inLocal and Global Optimization, Kluwer Academic Publishers, Dordrecht, Ho-landa (1999).

R. Fourer, D.M. Gay, B.W. Kernighan, AMPL: A Modeling Language for Mathemati-cal Programming, 2a¯ edição, Thomson Brooks/Cole, Pacific Grove, CA (2003).

EPS — Programa EngIQ

Page 109: Engenharia de Processos e Sistemas

Bibliografia 103

S.K. Friedlander, Smoke, Dust, and Haze, 2a¯ edição, Oxford University Press, NewYork (2000).

J. Gama, A.P.L. Carvalho, K. Faceli, A.C. Lorena, M. Oliveira, Extração de Conheci-mento de Dados — Data Mining, 2a¯ edição, Edições Sílabo, Lisboa (2015).

S.I. Gass, An Illustrated Guide to Linear Programming, McGraw-Hill, New York(1970).

I.E. Grossmann, A.W. Westerberg, “Research Challenges in Process SystemsEngineering”, AIChE J., 46(9), 1700–1703 (2000).

K.M. Hangos, I.T. Cameron, Process Modelling and Analysis, Academic Press, SanDiego (CA) (2001).

W.E. Hart, C. Laird, J.P. Watson, D.L. Woodruff, Pyomo — Optimization Modelingin Python, Springer, Berlin (2012).

J.D. Hoffman, Numerical Methods for Engineers and Scientists, 2a¯ edição, MarcelDekker, New York (2001).

R. Jackson, “Optimal Use of Mixed Catalysts for Two Successive Chemical Reacti-ons”, J. Optim. Theory Appl., 2(1), 27–39 (1968).

JuMP — Julia for Mathematical Optimization, <https://jump.readthedocs.io/en/latest/> (2014).

J. Kallrath (Ed.),Modeling Languages in Mathematical Optimization, Kluwer Aca-demic Publishers, Boston, MA (2004).

B.W. Kernighan, R. Pike, The UNIX Programming Environment, Prentice-Hall,Englewood Cliffs, NJ (1984).

Karush-Kuhn-Tucker conditions, <http://en.wikipedia.org/wiki/Karush-Kuhn-Tucker_conditions> (2014).

E. Klot, A.M. Newman, “Practical Guidelines for Solving Difficult Mixed IntegerLinear Programs”, Surv. Oper. Res. Manag. Sci., 18, 18–32 (2013).

B. McCarl, McCarl GAMS User Guide, <https://www.gams.com/latest/docs/userguides/mccarl/index.html> (2017).

J. Nocedal, S.J. Wright, Numerical Optimization, 2a¯ edição, Springer Verlag, Berlin(2006).

N.M.C. Oliveira, Optimization and Control of Chemical Processes, Proc. Workshopon Modeling and Simulation in Chemical Engineering, <http://www.eq.uc.pt/~nuno/cim2003/>, Coimbra (2003).

N.M.C. Oliveira, Prática de Computação, Imprensa da Universidade de Coimbra,Coimbra (2006).

N.M.C Oliveira, Optimização — Uma ferramenta em Engenharia e no Laboratório,Universidade de Aveiro (2013).

EPS — Programa EngIQ

Page 110: Engenharia de Processos e Sistemas

104 Bibliografia

Chemical Engineering PanAmerican Collaboration, PASI 2011 — Process Modelingand Optimization for Energy and Sustainability, <http://cepac.cheme.cmu.edu/pasi2011/index.html> (2011)

G. Li, X. Liu, “Comments on Optimal Use of Mixed Catalysts for Two SuccessiveChemical Reactions”, J. Optim. Theory and Applications, 165(2), 678–692(2015).

R.R. Panko, “What We Know About Spreadsheet Errors”, J. End User Computing,10(2), 15–21 (1998); revisto em (2008).

S.A. Papoulias, I.E. Grossmann, “A Structural Optimization Approach in ProcessSynthesis. II—Heat Recovery Networks”, Computers & Chemical Engineering,7(6), 707–721, (1983).

G. Pataki, “Teaching Integer Programming Formulations Using the TravelingSalesman Problem", SIAM Review, 45(1), 116–123 (2003).

Process engineering, <http://en.wikipedia.org/wiki/Process_engineering>(2014).

T. Ralphs, Y. Shinano, T. Berthold, T. Koch, “Parallel Solvers for Mixed IntegerLinear Optimization”, COR@L Tech. Report 16T-014-R3, Lehigh University,Bethlehem, PA (2017).

D. Ramkrishna, Population Balances, Academic Press, San Diego (CA) (2000).

S.I. Sandler, Chemical, Biochemical and Engineering Thermodynamics, 4a¯ Edição, J.Wiley & Sons, New York (2006).

R.A. Sarker, C.S. Newton, Optimization Modelling, A Practical Approach, CRCPress (2008).

H. Selhofer, M. Olivier, T.L. Scofield, Introduction to GNU Octave,<http://math.jacobs-university.de/oliver/teaching/iub/resources/octave/octave-intro/octave-intro.html> (2008).

N. Slack, A. Brandon-Jones, R. Johnston, Operations Management, 7a¯ Edição,Pearson Education, Harlow, UK (2013).

E. Siever, S. Figgins, R. Love, A. Robbins, Linux in a Nutshell, 6a¯ edição, O’ReillyMedia, Sebastopol, CA (2009).

K. Sigmon,MATLAB Primer, <http://www.math.ucsd.edu/~bdriver/21d-s99/matlab-primer.html> (1992).

G. Stephanopoulos, G.V. Reklaitis, “Process systems engineering: From Solvayto modern bio- and nanotechnology. A history of development, successes andprospects for the future”, Chemical Engineering Science, 66, 4272–4306, (2011).

H.A. Taha, Operations Research, An Introduction, Pearson Prentice-Hall, UpperSaddle River, NJ (2007).

TOP500 Supercomputer Sites, <http://www.top500.org/lists/> (2014).

EPS — Programa EngIQ

Page 111: Engenharia de Processos e Sistemas

Bibliografia 105

M. Trick, “Formulations and Reformulations in Integer Programming”, Proc.CPAIOR 2005, 366–379, Springer Verlag, Berlim (2005).

J.P. Vielma, “Mixed Integer Linear Programming Formulation Techniques”, SIAMReview, 57(1), 3–57 (2015).

D.B. Wagner, Power Programming with Mathematica, The Kernel, McGraw-Hill,New York (1996).

P.R. Wellin, Programming with Mathematica: An Introduction, Cambridge Univer-sity Press, Cambridge, UK (2013).

J.O. Wilkes, Fluid Mechanics for Chemical Engineers, 2a¯ Edição, Prentice Hall,Upper Saddle River, NJ (2006).

H.P. Williams,Model Building in Mathematical Programming, 4a¯ Edição, J. Wiley& Sons, New York (1999).

W.L. Winston, Operations Research, Applications and Algorithms, 4a¯ Edição, Dux-bury Press, Boston, MA (2003).

S. Wolfram, The Mathematica Book, 5a¯ edição, Wolfram Media (2003).

EPS — Programa EngIQ

Page 112: Engenharia de Processos e Sistemas
Page 113: Engenharia de Processos e Sistemas

Apêndice A

Propriedades de descida do mé-todo de Newton

*** TODO.

Este assunto pode ser consultado em Dennis Jr. e Schnabel (1983); Nocedal eWright (2006).

107