Upload
others
View
9
Download
1
Embed Size (px)
Citation preview
Engenharia de Processos e Sistemas (EPS)
Equações não-lineares e optimização
Nuno Oliveira
Departamento de Engenharia Química
Universidade de Coimbra
2019-20
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/.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2.2 Sistemas disponíveis (ferramentas) 27
Tabela 2.1 Exemplos de linguagens de modelação algébrica (Andrei, 2013).
EPS — Programa EngIQ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
84 Modelação mecanística de sistemas
Ramkrishna (2000).
RIlustração: nG2P.
EPS — Programa EngIQ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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