Engenharia de Processos e Sistemasnuno/eps/Conteudos/Referencias_adicionais/... · Engenharia de...
Transcript of Engenharia de Processos e Sistemasnuno/eps/Conteudos/Referencias_adicionais/... · Engenharia de...
Engenharia de Processos e Sistemas (EPS)
Equações não-lineares e optimização
Nuno Oliveira
Departamento de Engenharia Química
Universidade de Coimbra
2013/14
Versão de terça-feira 15 Abril, 2014.
Contactos: Nuno Oliveira (DEQ/FCTUC) — coordenador.
[email protected], Tel. 914 006 725, 239 798 742.
Sítios web:
• Oficial: http://e-learn.engiq.pt/moodle/ (temporariamente indisponí-
vel).
• Edições anteriores (e backup): http://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 . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Conteúdo . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 “Background” dos formandos? . . . . . . . . . . . . . . . 8
2 Ferramentas básicas na solução de problemas numéricos 11
2.1 Tarefas consideradas . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Tarefas de natureza conceptual . . . . . . . . . . . . . . . 12
2.1.2 Tarefas de natureza operacional . . . . . . . . . . . . . . 13
2.2 Sistemas disponíveis (ferramentas) . . . . . . . . . . . . . . . . . 16
2.2.1 Sistemas operativos . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Folhas de cálculo . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.3 Linguagens básicas de programação . . . . . . . . . . . . 21
2.2.4 Linguagens avançadas de programação . . . . . . . . . . 22
2.2.5 Linguagens para modelação e optimização . . . . . . . . 24
3 Solução de sistemas de equações não-lineares 29
3
4 Conteúdo
3.1 Sistemas de equações lineares . . . . . . . . . . . . . . . . . . . . 30
3.2 Sistemas não-lineares . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Métodos gráficos . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.2 Método das substituições sucessivas . . . . . . . . . . . . 33
3.2.3 Método de Newton . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Problemas propostos . . . . . . . . . . . . . . . . . . . . . . . . . 50
4 Optimização não-linear 51
4.1 Optimização sem restrições . . . . . . . . . . . . . . . . . . . . . 53
4.1.1 Condição necessária . . . . . . . . . . . . . . . . . . . . . 55
4.1.2 Condição suficiente . . . . . . . . . . . . . . . . . . . . . 56
4.2 Optimização com restrições . . . . . . . . . . . . . . . . . . . . . 59
4.3 Implementação prática . . . . . . . . . . . . . . . . . . . . . . . 59
4.4 Exemplos de aplicação . . . . . . . . . . . . . . . . . . . . . . . . 59
5 Optimização linear e discreta 61
5.1 Optimização linear . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.1.1 Modelos de redes . . . . . . . . . . . . . . . . . . . . . . . 62
5.2 Optimização com decisões discretas . . . . . . . . . . . . . . . . 62
5.3 Exemplos de aplicação . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4 Referências adicionais . . . . . . . . . . . . . . . . . . . . . . . . 63
6 Optimização de sistemas descritos por equações diferenciais 65
6.1 Solução de modelos com equações diferenciais — revisão . . . . 69
6.1.1 Solução de problemas de valor inicial (PVI) . . . . . . . . 69
6.1.2 Solução de problemas às condições fronteira (PCF) . . . . 72
6.2 Exemplos de aplicação . . . . . . . . . . . . . . . . . . . . . . . . 77
Bibliografia 79
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):
Desenvolvimento e aplicação de metodologias sistemáticas de solução de
problemas (descritos num formalismo matemático) no domínio da Enge-
nharia 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).
• 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).
• 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).
Figura 1.1 Gestão de operações numa organização (Slack et al., 2013).
EPS — Programa EngIQ
4 Introdução
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
• 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
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).
Alguns exemplos de aplicação na área de processos químicos podem ser encon-
trados em Oliveira (2003).
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
1.2 Conteúdo e funcionamento
Necessário elemento de contacto por sítio.
1.2.1 Conteúdo
Ver Ficha da Unidade Curricular (FUC) e o plano de funcionamento.
1.2.2 Avaliação
A avaliação desta unidade curricular terá duas componentes: avaliação contí-
nua (40%) e projecto final (60%), incluindo a sua apresentação e discussão. Os
trabalhos deverão ser realizados em grupos de 2 alunos.
1. Avaliação contínua: 4 mini tarefas / fichas de problemas, nas áreas te-
máticas seguintes, com as datas tentativas de distribuição:
• Solução de equações / optimização contínua (Nuno Oliveira): 25 de
Janeiro.
• Optimização linear / discreta e incertezas (Fernando Bernardo): 7 de
Fevereiro.
• Modelação contínua / sistemas de equações diferenciais (José Paulo
Mota): 22 de Fevereiro.
• Modelação de base estatística e análise de dados (Marco Reis): 8 de
Março.
Opcionalmente estas fichas poderão ser resolvidas, no todo ou em parte,
durante as aulas (ao critério do docente).
As datas de entrega das resoluções destas tarefas são de 2 semanas após
a distribuição, excepto se estipulado em contrário. Caso estes prazos não
EPS — Programa EngIQ
1.2 Conteúdo e funcionamento 7
sejam exequíveis, os alunos deverão contactar o docente respectivo.
2. Projecto final: De acordo com os seus interesses técnico-científicos, cada
grupo deverá escolher uma área de aplicação, para aplicação de uma meto-
dologia de EPS na solução de um problema relevante. Esta aplicação deverá
corresponder a um problema de complexidade superior aos considerados
como exemplos nas aulas e resolvidos nas mini-tarefas, e permitir aferir o
domínio das matérias respectivas.
Prevê-se que os docentes desta unidade curricular disponibilizem apoio
tutorial na realização deste projecto.
Para a alocação dos temas, os alunos devem enviar a seguinte informação
ao docente coordenador da unidade curricular (até ao final da 2a¯ semana
de aulas):
• Constituição do grupo.
• Informação sobre background curricular / interesses científicos.
• Proposta sumária de 1 ou + tópicos (preferências) que gostariam de
analisar.
Mediante a informação recebida o docente coordenador validará as escolhas
realizadas, com possíveis adaptações das propostas recebidas, e indicará
os docentes que poderão fornecer apoio tutorial. A avaliação do projecto
compreenderá um relatório escrito e uma apresentação oral.
Data da apresentação: Sábado, 12 de Abril de 2014, 10h–13h (sessão
presencial na Universidade de Coimbra).
Notar ainda que:
• As classificações atribuídas aos elementos dos grupos reflectem as suas
contribuições individuais, podendo ser distintas dentro do mesmo grupo.
EPS — Programa EngIQ
8 Introdução
• Durante a discussão do projecto final, será efectuada uma apreciação do
trabalho desenvolvido ao longo do trimestre. Apesar de não ser o objectivo
desta discussão a realização de um exame oral, poderão ser abordados
outros tópicos e colocadas aos elementos dos grupos questões sobre di-
versas matérias abordadas nesta unidade curricular, para aferir o grau de
conhecimento de cada elemento do grupo.
• Na última semana de aulas será distribuída uma ficha de auto-avaliação
na disciplina, que deverá ser preenchida e entregue na sessão final de
apresentação dos projectos.
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
1.2 Conteúdo e funcionamento 9
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
2.1 Tarefas consideradas
• Conceptuais:
– Construirmodelos ou formulações matemáticas dos problemas em
análise.
– Implementar computacionalmente estes modelos numa linguagem
ou sistema.
• Operacionais:
– Resolver sistemas de equações NL.
– Resolver problemas deoptimização. Esta pode originar diversos tipos
de formulações (problemas), que podem ser resolvidos por técnicas
11
12 Ferramentas básicas na solução de problemas numéricos
(algoritmos) distintos.
• Funcionais:
– 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).
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.
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).
Muitas universidades oferecem presentemente cursos nestas áreas, alguns do
tipo MOOC1. Estimativas recentes apontam que este domínio poderá movimen-1MOOC —Massive Open Online Course.
EPS — Programa EngIQ
2.1 Tarefas consideradas 13
tar em breve recursos financeiros semelhantes aos de um segmento industrial
tradicional. Uma lista de tópicos actuais nesta área, indexada continuamente de
acordo com a sua popularidade pode ser encontrada em DataTau (2014).
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:
v = a0T + a1 lnT + a2C2A versus v = A0e−Ea/RTCA
Ambas têm sido usadas com sucesso por alunos deste programa doutoral!
2.1.2 Tarefas de natureza operacional
Sistemas de equações não-lineares:
f (x) = 0; x , f ( · ) ∈ Rn (2.1)
Notação:
α ,β ∈ R; a,x ∈ Rn; A,B ∈ Rn×m
Caso linear: A ·x = b
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:
EPS — Programa EngIQ
14 Ferramentas básicas na solução de problemas numéricos
• 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:
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).
O problema (2.1) pode também ser generalizado através da solução de um sistema
misto de equações e desigualdades
f (x) = 0, д(x) ≤ 0
ainda com x ∈ Rn , e com f ( · ) ∈ Rm , д( · ) ∈ Rp . Neste caso as restrições quecompõem д(x) podem ser divididas em 2 grupos: as activas na solução x∗ e as
inactivas; as primeiras tornam-se igualdades, e as últimas podem ser ignoradas;
esta propriedade será revisitada na parte de optimização.
EPS — Programa EngIQ
2.1 Tarefas consideradas 15
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 solu-
ções de um outro problema mais complexo (projecto óptimo de redes de
transferência de calor), decomposto em várias tarefas. Uma destas tarefas
(entender os fluxos de calor numa rede) pode ser interpretada como um
problema de transportes com re-expedição (Papoulias e Grossmann, 1983).
Formulações de optimização:
minx
ϕ(x)
s.a h(x) = 0д(x) ≤ 0
• ϕ(x)→ função objectivo: avalia o mérito das soluções alternativas.
• h(x) = 0, д(x) ≤ 0→ restrições do problema.
• x → variáveis de decisão.
EPS — Programa EngIQ
16 Ferramentas básicas na solução de problemas numéricos
Embora as variáveis do problema x 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 ϕ( · ) ∈ R, senão estamos na presença de um problema de optimiza-
çãomultiobjectivo. Em geral x , д, e h 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)
Como utilizá-las:
• Procurar usar sempre os sistemas (ferramentas) mais específicos para a tarefa
em causa. Em geral estes permitemmaiores produtividades, menor esforço,
melhor qualidade de solução.
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).
EPS — Programa EngIQ
2.2 Sistemas disponíveis (ferramentas) 17
Objectivo: Cada aluno (praticante) deve estar familiarizado e ser proficiente
com pelo menos uma ferramenta de cada um dos tipos anteriores.
2.2.1 Sistemas operativos
Sistemas mais comuns: Microsoft Windows, MacOSX, Linux.
• Usar sempre o mais conveniente.
• MacOSX, 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 comandos a
usar.
– Quase todas as ferramentas podem ser escolhidas (e personalizadas),
e.g., shells, ambientes gráficos.
– Possível experimentar estes ambientes, usando máquinas virtuais
(emuladores), e.g., VirtualBox, VmWare.
2.2.2 Folhas de cálculo
Programas mais comuns: Microsoft Excel, LibreOffice / OpenOffice.
Características fundamentais:
EPS — Programa EngIQ
18 Ferramentas básicas na solução de problemas numéricos
• Manipulações simples de dados, visualização, introdução e apresentação
de dados (organização).
• Desaconselhável em programação (elaborada), ou folhas com dependências
complexas (por exemplo, difícil de validar / remover erros).
• Constitui ummeio natural de entrada / saída de dados, incluindo interfaces
com outros programas (e.g., bases de dados, outros sistemas, simuladores).
• O solver permite resolver sistemas de equações (L/NL) e 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
(anos 70).
O Microsoft Excel 2010 incorpora 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:
minx1,x2
ϕ(x1,x2) = x21 + x22
s.a 3x1 + 2x2 = 4(2.3)
Da igualdade é possível eliminar
x2 = (4 − 3x1)/2 (2.4)
e substituir este resultado na função objectivo ϕ(x1,x2), originando umproblema de optimização sem restrições:
minx1
ψ (x1) = a + bx1 + cx21 (2.5)
EPS — Programa EngIQ
2.2 Sistemas disponíveis (ferramentas) 19
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 x∗1 de (2.5),
esta pode ser substituída na equação (2.4) para obter x∗2. O vector (x∗1,x∗2)é a solução do problema original (2.3).
Os métodos do tipo RG (“reduced gradient”) aplicam uma abordagem
conceptualmente semelhante ∼ solução incremental.
• Existe muita documentação (Web, livros) disponível relativamente à utili-
zação dos solvers.
• Outros solversmais específicos estão também disponíveis para o Microsoft
Excel (caixas negras), por exemplo:
@Risk (Palisade Corporation)→ simulação probabilística de cenários.
Exemplo 2.4: Modelo probabilístico de previsão de vendas
Considere um modelo bastante elaborado, que relaciona:
Procura Diesel = f (EVD, IDesempenho,Brent, . . .)
Neste modelo EVD ≡ Câmbio Euro / USD.
Nota: Este 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.1. Os resul-
tados produzidos estão indicados na Figura 2.2.
Nota: Esta utilização é inteiramente como caixa negra (evitar, devido aos
riscos associados!).
EPS — Programa EngIQ
20 Ferramentas básicas na solução de problemas numéricos
→
Figura 2.1 Dados de entrada de previsão do preço do Brent e da procura —distribuições probabilísticas.
Figura 2.2 Exemplo de utilização do solver @Risk.
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 mais à frente.
EPS — Programa EngIQ
2.2 Sistemas disponíveis (ferramentas) 21
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.
• 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 (mas existem outras alternativas).
• 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).
EPS — Programa EngIQ
22 Ferramentas básicas na solução de problemas numéricos
2.2.4 Linguagens avançadas de programação
Estas são sobretudo + específicas do domínio de aplicação pretendido. 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á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.
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, ChemE!
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 como objectivo fundamental.
Os objectos básicos são matrizes. Alguns exemplos de comandos são:
EPS — Programa EngIQ
2.2 Sistemas disponíveis (ferramentas) 23
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.
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, impera-
tiva, funcional, baseada em regras de substituição, etc.).
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
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.
EPS — Programa EngIQ
24 Ferramentas básicas na solução de problemas numéricos
2.2.5 Linguagens para modelação e optimização
• GAMS: <http://www.gams.com/>.
• AMPL: <http://www.ampl.com/>.
• AIMMS: <http://business.aimms.com/>.
• LINDO: <http://www.lindo.com/>.
• 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).
Nestes sistemas apenas é necessário fornecer as equações que descrevemo
problema (i.e., a sua formulaçãomatemá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.
EPS — Programa EngIQ
2.2 Sistemas disponíveis (ferramentas) 25
A linguagem GAMS será muito usada neste curso, pelo que será necessá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 exem-
plos (bibliotecas extensivas, etc.) → instalar versão de demonstraçã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 considerados apenas alguns exemplos de aplicação; muitos outros podem
ser encontrados nas referências indicadas.
Fourer et al. (2003); Brooke et al. (2005) constituem referências adicionais para
este capítulo.
EPS — Programa EngIQ
26 Ferramentas básicas na solução de problemas numéricos
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:
minxi j
∑i
∑j
ci jxi j
s.a∑i
xi j ≥ pj , ∀j∑j
xi j ≤ si , ∀i
xi j ≥ 0, xi j ∈ R
Este é um problema do tipo LP, com xi j ∈ R. A implementação em GAMS é
considerada no ficheiro trnsport.gms.
EPS — Programa EngIQ
2.2 Sistemas disponíveis (ferramentas) 27
Exemplo 2.6: Problema de atribuição (“assignment”)
Aqui é necessário usar variáveis binárias yi ∈ {0,1} para codificar decisões:
yi =
1, se opção i escolhida
0, se opção i não escolhida
A formulação matemática fica:
maxyi
∑i
viyi
s.a∑i
eiyi ≤ M
yi ∈ {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
simultaneamente compouco 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
28 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, apesar de nos sistemas operados se
pretender sempre atingir nGDL = 0 .
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:
Avaliaçã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 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.
29
30 Solução de sistemas de equações não-lineares
(Nota: Este assunto é partilhado com os problemas de optimização, sendo
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:
A ·x = b , com A ∈ Rn×n , x ,b ∈ Rn
A unicidade da solução está garantida neste caso, se car(A) = n (i.e., A 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 é:
xk+1 = f (xk )
EPS — Programa EngIQ
3.2 Sistemas não-lineares 31
x1 = f (x0) ← fornecido
x2 = f (x1)x3 = f (x2)...
Garantias de convergência?
Por vezes métodos iterativos podem ser preferíveis, e.g.:
• Matrizes esparsas.
• Sistemas de grandes dimensões.
• Apenas solução parcial (aproximação) desejada.
Bibliotecas básicas que permitema solução deste tipo de problemas: BLAS, LAPACK
(NETLIB).
Em geral, é possível a solução de problemas deste tipo de larga escala (e.g., 106
variáveis), sem dificuldades de maior.
3.2 Sistemas não-lineares
A forma geral destes problemas é:
f (x) = 0 , com f , x ∈ Rn
A maioria dos modelos em engenharia são deste tipo.
Exemplo: CSTR (RCPA), ondeC(T ) eT (C) simultaneamente (balanços de massae energia).
Neste caso não há em geral garantias de existência de soluções para este tipo
de sistemas. Quando as soluções existem, elas podem ser múltiplas (quais as +
EPS — Programa EngIQ
32 Solução de sistemas de equações não-lineares
interessantes?).
Diversos métodos básicos podem ser usados na solução deste tipo de sistemas:
3.2.1 Métodos gráficos
Se apenas uma variável no sistema, a localização pode ser feita graficamente
(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 / variáveis, usando
gráficos 3D. Para sistemas de maior dimensão a aplicação deste método requer a
eliminação de algumas variáveis a partir de algumas equações (caso a caso).
Exemplo 3.1: Demonstração da multiplicidade de estados estacio-
nários num RCPA
Por eliminação de variáveis (C) 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: f1(T )— calor adicionado / removido na
entrada e saída, e f2(T )— calor gerado por reacção química (Figura 3.2).
As possíveis soluções (estados estacionários do sistema) correspondem
aos pontos onde f1(T ) = f2(T ).
EPS — Programa EngIQ
3.2 Sistemas não-lineares 33
Figura 3.2 Identificação da multiplicidade de estados estacionários num RCPA.
3.2.2 Método das substituições sucessivas
Neste caso pretende-se transformar o sistema inicial f (x) = 0 num sistema equi-
valente, da forma x = д(x), afim de possibilitar a aplicação do método iterativo
xk+1 = д(xk )
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.
Exemplo 3.2: Substituições sucessivas — caso simples
Uma equação do tipo x − exp(−x) = 0 pode ser rearranjada como
x − exp(−x) = 0 ⇒ xk+1 = exp(−xk )
Nota: As raízes deste sistema podem ser facilmente localizadas pelo
método gráfico.
EPS — Programa EngIQ
34 Solução de sistemas de equações não-lineares
Figura 3.3 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.3.
Se a corrente 6 ≡ corrente quebrada→ origina correntes x6a e x6b , durante
a aplicação deste método.
Os balanços ao processo (por exemplo, mássicos) podem ser escritos
como:n2 = n1 + n6a
n3 = f1(n2,u1)n4 = f2(n3,u2)n6b = n4 − n5
⇒ n6b = д(n1,n6a) (3.1)
• ni — quantidades da corrente i (e.g., caudais).
• uj — parâmetros da unidade j.
• fj —modelo matemático da unidade j.
O sistema de equações (3.1) deve ser considerado como alternativa à
solução simultânea de todas as equações do sistema:
f (n,u) = 0
Este problema é claramente de maior dimensão, e consequentemente
mais difícil de resolver (tipicamente).
EPS — Programa EngIQ
3.2 Sistemas não-lineares 35
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, serão
sempre problemas de menor complexidade do que a solução do modelo
global do processo, e daí a atractividade deste procedimento.
Neste processo de solução, é necessário iterar (3.1) até se atingirn6b = n6a .
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.
Este procedimento é muito comum, sendo por exemplo utilizado por
defeito pelo ASPEN One, uma vez que requer pouco esforço adicional, para
além da iteração das correntes.
Esta abordagem é descrita como sequencial-modular, em alternativa à
abordagem de solução simultânea, onde omodelo 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 servem.
A metodologia de solução sequencial utilizada no exemplo anterior apresenta
algumas semelhanças com a estratégia seguida na simplificação do problema de
optimização considerada no Exemplo 2.3.
Problema 3.1
Verificar a afirmação anterior (correntes 2, 3 e 4), indicando o procedi-
mento de cálculo a ser seguido. Compare o esforço em cada caso.
EPS — Programa EngIQ
36 Solução de sistemas de equações não-lineares
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
x5 − 4x2 − 4 = 0 → xk+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 a maior potência da expressão polinomial (porquê?).
Existem algumas questões a responder para usar este método com segurança:
1. Quando converge? (propriedades globais).
2. Se convergir, qual a sua rapidez de convergência? (propriedades locais).
Teorema 3.1: Convergência do MSS
Para o método das substituições sucessivas (MSS) correspondente à aplica-
ção da fórmula iterativa xk+1 = д(xk ) convergir, é necessário que a funçãoд tenha as características de função contractiva (“contractive mapping”).
Se ‖д′(x)‖ < 1 então д(x) é uma aplicação contractiva, e o método MSS anteriorconverge (condição suficiente) — Figura 3.4.
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 (A), as normas traduzemo conceito de amplificação associada
ao operador linear correspondente y = A ·x .
Rapidez de convergência: Quando ‖д′(x)‖ → 0 a convergência torna-se mais
rápida.
EPS — Programa EngIQ
3.2 Sistemas não-lineares 37
Figura 3.4 Ilustração da aplicação de um método iterativo correspondente auma aplicação contractiva.
Questão fundamental: como escolher д(x)? Resposta complexa→ considerar
outros tipos de métodos.
3.2.3 Método de Newton
Método muito conhecido na sua aplicação unidimensional. Para x ∈ R:
xk+1 = xk −f (xk )f ′(xk )
Em problemas multidimensionais (x ∈ Rn):
f (xk ) , 0
EPS — Programa EngIQ
38 Solução de sistemas de equações não-lineares
Expansão em série de Taylor:
f (xk + h) = f (xk ) + ∇f (xk )T︸ ︷︷ ︸J Tk
·h + · · · = 0 (3.2)
JTk ≡ Jacobiano do sistema.
Resolvendo (3.2) em ordem a h resulta o método iterativo de Newton:
JTk ·hk = −fk (3.3)
Depois faz-se
xk+1 = xk + hk (3.4)
Nesta equação fk ≡ f (xk ).
Consequentemente torna-se necessário resolver um sistema de equações lineares
por iteração no método de Newton (A ·x = b).
Este método iterativo pára quando ‖hk ‖ ≤ ϵ1 e ‖fk ‖ ≤ ϵ2. Em geral é necessário
usar vários destes critérios simultaneamente.
Revisão de operadores diferenciais: Considerando uma função escalar ϕ( · ) ∈ Re uma função vectorial f ∈ Rn é possível definir as suas derivadas de 1a¯ ordem
forma semelhante, usando operadores diferenciais apropriados:
• Gradiente:
∇ϕ =
∂∂x1∂
∂x2...
∂∂xn
ϕ =
∂ϕ∂x1∂ϕ∂x2...
∂ϕ∂xn
∈ Rn (3.5)
Aplicável a funções escalares, origina um vector.
EPS — Programa EngIQ
3.2 Sistemas não-lineares 39
• Jacobiano:
J ≡ ∇f T =
∂∂x1∂
∂x2...
∂∂xn
[f1 f2 · · · fn
]=
∂f1∂x1
∂f1∂x2
· · ·∂f1∂xn
∂f2∂x1
∂f2∂x2
· · ·∂f2∂xn
....... . .
...
∂fn∂x1
∂fn∂x2
· · ·∂fn∂xn
∈ Rn×n
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 xk+1 = д(xk ), para avaliarmos a utilidade prática do método de Newton (3.3),necessitamos de caracterizar as suas propriedades de convergência.
• Rapidez (propriedades locais): convergência quadrática (bastante rápida) —
mais detalhes em Oliveira (2006):
‖x∗ − xk+1‖‖x∗ − xk ‖2 ≤ c
Por exemplo:
ek = ‖x∗ − xk ‖ = 10−2
ek+1 = 10−4
ek+2 = 10−8
ek+3 = 10−16, etc.
• Propriedades globais (domínio de convergência)— quais as estimativas ini-
EPS — Programa EngIQ
40 Solução de sistemas de equações não-lineares
ciais que podem ser usadas com sucesso?
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:
f (x) = 0 e minx
ϕ(x) = 12f T(x). f (x) = 1
2
∑x
f 2i (x)
Ilustração unidimensional (1D):
f (x) = 0 minx
12
∑x
f 2i (x)
Nas notas manuscritas mostra-se que no método de Newton dado pela equa-
ção (3.3), hk é sempre uma direcção de descida garantida para ϕ(x) anterior.
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.4) adaptando o tamanho do passo
a usar
xk+1 = xk + αhk (3.6)
onde α ∈ R é um parâmetro ajustável, que tem que ser escolhido (adaptado)
durante a aplicação do método iterativo.
A equação (3.6) define também uma estratégia para solução de problemas de
optimização, partilhada por muitos métodos numéricos:
EPS — Programa EngIQ
3.2 Sistemas não-lineares 41
1. Escolher a direcção de pesquisa a investigar (hk oudk ), específica dométodo
usado.
2. Escolher o tamanho do passo α apropriado nesta direcção.
Nota: Em alternativa é possível pensar na aplicação dos passos anteriores em
ordem inversa: fixar 1o¯ o tamanho do passo apropriado (olhando por exemplo,
para o progresso conseguido nas últimas iterações), e escolhendo depois a di-
recção mais apropriada. Esta estratégia é usada por exemplo nos métodos 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:
Mesmo com x ∈ Rn este passo é sempre uma pesquisa linear!
O passo apropriado (α) deve ser escolhido tendo em conta:
• Amaior rapidez de convergência dométodo. Por exemplo, no caso dométodo
de Newton deve ser usado α = 1, sempre que possível.
• A garantia da propriedade de descida de ϕ(x).
• Este passo não conduz à localização exacta do óptimo de ϕ(x). Por outrolado, qualquer novo ponto de ϕ(x) investigado ao longo desta linha requeruma 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 ϕ(x) na direcção dk não é localizado; apenas são excluídas as
EPS — Programa EngIQ
42 Solução de sistemas de equações não-lineares
regiões sombreadas na Figura anterior (gamas de α perigosas).
Escolha do passo mais apropriado: pesquisa linear inexacta (Armijo, 1966) —mais
detalhes nas folhas manuscritas:
1. Propor inicialmente α = 1 (valor máximo usual).
2. Avaliar ϕ(xk + αdk ).
3. Se progresso suficiente, i.e.
ϕ(xk + αdk ) suficientemente menor que ϕ(xk )
aceitar α , e terminar a pesquisa.
4. Caso contrário, propor um novo valor de α por interpolação quadrática /
cúbica de ϕ, usando os valores já conhecidos (anteriores) de ϕ(xk + αdk ), evoltar ao passo 2.
Considerando Φ(α) ≡ ϕ(xk + αdk ) os valores anteriores da função que podem ser
usados para interpolação são:
EPS — Programa EngIQ
3.2 Sistemas não-lineares 43
Ψ(0)→ ϕ(xk )Ψ(1)→ ϕ(xk + dk )Ψ′(0)→ derivada direccional de ϕ(x) na origem.
. . .o último valor de Ψ(α), a partir da 2a¯ iteração.
Algoritmo do Método de Newton globalizante:
1. Fixar x0.
2. Avaliar fk ≡ f (xk ), Jk .
3. Resolver JTk hk = −fk , obtendo dNewt,k ≡ hk . Se dNewt,k não estiver definida,
modificar o sistema linear anterior, e obter a solução deste.
4. Encontrar αk apropriado através de uma pesquisa linear inexacta (testar
sempre α = 1, inicialmente). Depois, fazer:
xk+1 = xk + αkdNewt,k
5. Se ‖dNewt,k ‖ ≤ ϵ1 e ‖fk ‖ ≤ ϵ2, terminar. Caso contrário voltar ao passo 2 coma estimativa actualizada xk+1.
Devido às suas múltiplas vantagens, o método de Newton anterior é muito
usado para resolver sistemas de equações diferenciais. 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:
EPS — Programa EngIQ
44 Solução de sistemas de equações não-lineares
Aproximação de Jk por diferenças finitas: Esta modificação é usada quando as
derivadas de f (x) não podem ser calculadas facilmente. Por exemplo f (x) podecorresponder a um programa de simulação tipo caixa negra, que não é possível
alterar, nem conhecer. Outras vezes as derivadas de f (x) podem ser calculadas,
mas o esforço é demasiado grande.
Neste caso as derivadas necessárias são aproximadas por diferenças finitas
f ′(xk ) = f (xk + ϵ) − f (xk )ϵ
(3.7)
com ϵ 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).
• O número de avaliações da função objectivo cresce substancialmente neste
caso. Por exemplo, quando (3.7) é usada, são necessárias n + 1 avaliações
da função f (x) ∈ Rn (verificar).
• O parâmetro ϵ deve ser escolhido criteriosamente para minimizar os erros
resultantes da aplicação da equação (3.7), 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:
Bk (xk − xk−1)︸ ︷︷ ︸sk
= (f (xk ) − f (xk−1))︸ ︷︷ ︸yk
EPS — Programa EngIQ
3.2 Sistemas não-lineares 45
Esta equação tem a mesma estrutura que a equação (3.3), usada como base no
método de Newton; apenas a estrutura é diferente (secantes agora):
Quando x ∈ Rn a matriz Bk não está definida unicamente.
Método de Broyden (actualização mínima — cauteloso):
Bk = Bk−1 +(yk − Bk−1sk )sTk
sTk sk
Mais detalhes e exemplo de aplicação em Oliveira (2006).
Para além destasmodificações nométodo de Newton, baseado na estratégia (3.6),
é 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.6),
é usada uma estratégia distinta:
1. Em função do sucesso conseguido nas últimas iterações (nos métodos
anteriores seria o α . . . ), propor (i.e., fixar) um passo expectável: δk → raio
de confiança actual, a considerar nesta iteração. Deste modo, força-se a
que:
‖xk+1 − xk ‖2 ≤ δ
2. Determinar a melhor solução do problema (direcção) dentro da região de
confiança actual.
EPS — Programa EngIQ
46 Solução de sistemas de equações não-lineares
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:
minx
‖f (x)‖2s.a ‖h‖2 ≤ δ
A aplicação destes métodos resulta, geralmente, em problemas de optimização
com restrições de estrutura especial, que podem ser tratadas facilmente.
Estes métodos consideram explicitamente que os modelos aproximados de f (x)(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).
Exemplos de aplicação
Alguns exemplos simples são apresentados em Oliveira (2006). Outros exemplos
(TPCs anteriores):
1. Determinação da temperatura de flash de umamistura com 3 hidrocarbone-
tos. Considerar P = 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.
2. Escolher, a partir da literatura, uma sistema binário com um azeótropo
homogéneo (por exemplo, álcool + água, hidrocarboneto + álcool). Usando
EPS — Programa EngIQ
3.2 Sistemas não-lineares 47
o modelo NRTL, desenhar os diagramas de equilíbrio y − x e T − x − y, e
comparar estas previsões com os dados experimentais. Este modelo de
equilíbrio pode ser descrito como:
lnγi =LiMi+
∑j
x jGi j
Mj(τi j − Lj
Mj)
Li =∑k
xkτkiGki , Mi =∑k
xkGki
Gi j = exp(−αi jτi j )
τi j =(дi j − дii )
RT=
∆дi j
RT, i , j, e τi j = 0, i = j
Considerar a fase de vapor ideal, e usar o modelo NRTL para determinar
os coeficientes de actividade γi,L 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á:
yiP = γi,LxiPsati (T )
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
implementação.
EPS — Programa EngIQ
48 Solução de sistemas de equações não-lineares
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 xk+1 = д(xk ), para a solução de umsistema f (x) = 0.
7. A aplicação do método das substituições sucessivas pode ou não convergir.
Isto depende da estrutura e propriedades de д( · ), sendo difícil em geral de
garantir (excepto em casos especiais).
8. A família dos métodos de Newton é usada como alternativa, dadas as
EPS — Programa EngIQ
3.2 Sistemas não-lineares 49
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 f (n,u) = 0 (estratégia desoluçã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-
dendo ser mais rápidos devido a este facto.
EPS — Programa EngIQ
50 Solução de sistemas de equações não-lineares
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 (x ∈ Rn). O problema mais geral deste tipo pode ser formulado como:
minx
ϕ(x)
s.a h(x) = 0д(x) ≤ 0x ∈ Rn
(4.1)
Nota: Habitualmente é apenas considerada uma única função objectivo (de mé-
rito) ϕ(x) ∈ R; caso contrário resulta um problema de optimização multiobjectivo
(mais complexo, aqui não abordado).
Diversos critérios de optimização usados emsimultâneo podemser contraditórios
→ necessário estabelecer compromissos.
Apenas referidas 2 abordagens fundamentais distintas para optimização multi-
objectivo:
51
52 Optimização não-linear
• Redução a um objectivo único, por exemplo através de pesagem:
Φ(x) = w1 + ϕ1(x) +w2ϕ2(x)
Dificuldade: Quais os pesos apropriados a usar (e.g., 30% ou 40%)?
Nalguns cenários é também possível converter alguns objectivos em restri-
ções, por exemplo:
minx
ϕ1(x) ∧ ϕ2(x) → minx
ϕ1(x)
s.a д(x) ≤ 0 s.a ϕ2(x) ≤ ϵд(x) ≤ 0
• 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:
EPS — Programa EngIQ
4.1 Optimização sem restrições 53
s1, s2 → soluções não-inferiores
s3 → candidato não óptimo
s4 → 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 (x ∈ R).
• Optimização discreta emista (n ∈ N+0 , x ∈ R).
• Optimização de trajectórias (f (t), t ∈ [t0,tf ]).
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:
minx
ϕ(x)
x ∈ Rn(4.2)
EPS — Programa EngIQ
54 Optimização não-linear
A solução deste problema x∗ satisfaz a propriedade local:
ϕ(x∗) ≤ ϕ(x), ∀x ∈ B(x∗,δ ) (4.3)
Para identificar um máximo pode ser escrita uma condição semelhante.
A optimalidade é consequente uma condição local (óptimo local). Uma função
não-linearϕ(x) pode apresentar vários óptimos domesmo tipo (pontos extremos).O melhor destes pontos é denominado óptimo global.
x∗1, x∗2 → óptimos locais
x∗3 → óptimo global
EPS — Programa EngIQ
4.1 Optimização sem restrições 55
Nota: Apenas necessário saber minimizar (ou maximizar):
minx
ϕ(x) ⇔ maxx
−ϕ(x)
A condição (4.3) não é habitualmente usada directamente na pesquisa dos pontos
óptimos. Em vez disso usadas condições alternativas:
4.1.1 Condição necessária
Se ϕ(x) for diferenciável, então os pontos óptimos devem obedecer à condição de
estacionaridade:
∇ϕ(x∗) = 0
Deve ser recordada a definição de gradiente de uma função (equação 3.5). 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
EPS — Programa EngIQ
56 Optimização não-linear
caracterização completa destes pontos.
4.1.2 Condição suficiente
Considerando a condição (4.3), para x∗ ser um mínimo é necessário que a curva-
tura de ϕ(x) em x∗ seja positiva (função convexa):
x1
x2
ΦHx1,x2 L
Interpretação geométrica: crescimento em qualquer direcção, a partir de x∗.
Isto pode ser avaliado através das propriedades da matriz de 2a¯s derivadas de
ϕ(x∗):∇2ϕ(x) ≡ H (x∗) ≡
[∂2ϕ
∂xi ∂x j
]
Nota: A matriz H (x∗)— Hessiana em x∗ — é sempre simétrica, sendo constante
para um ponto x∗ especificado.
Para x∗ ser um mínimo local a matriz H (x∗) tem de ser positiva definida. Esta
propriedade pode ser avaliada, de forma equivalente, através de qualquer uma
das 2 condições seguintes:
1.
dT ·H (x∗) ·d > 0, ∀d ∈ Rn (qualquer direcção)
2.
λi (H (x∗)) > 0, onde |H − λI | = 0
EPS — Programa EngIQ
4.1 Optimização sem restrições 57
Como H é simétrica, os seus valores próprios λi são todos reais, devendo
neste caso ser todos positivos para que H seja positiva definida.
Porquê utilizar a matriz de 2a¯s derivadas? Considerando uma expansão de ϕ(x)
em série de Taylor, em torno de x∗:
ϕ(x) = ϕ(x∗) + ∇ϕ(x∗)(x − x∗) + 12(x − x∗)TH (x∗)(x − x∗) + · · ·
Esta série produz uma aproximação polinomial em torno do ponto x∗, para uma
função ϕ(x) arbitrária.
Para (x−x∗) pequeno (i.e., na vizinhança de x∗), o termo quadrático é o dominantena série anterior (potência de menor ordem, com coeficiente não nulo).
EPS — Programa EngIQ
58 Optimização não-linear
Todos os casos possíveis para a matriz Hessiana H (x∗):
Positiva definida dT ·H (x∗) ·d > 0Mínimo
Negativa definida dT ·H (x∗) ·d < 0Máximo
Positiva semi-definida dT ·H (x∗) ·d ≥ 0Mínimo degenerado
Negativa semi-definida dT ·H (x∗) ·d ≤ 0Máximo degenerado
Indefinida dT ·H (x∗) ·d ≷ 0Ponto de sela
Nota: SeH (x∗) = 0, deve ser usada a derivada par de ordem superior, procurando-se retirar conclusões semelhantes.
Convexidade: Oliveira (2003).
EPS — Programa EngIQ
4.2 Optimização com restrições 59
Exemplos práticos: Oliveira (2003).
4.2 Optimização com restrições
Detalhes adicionais sobre estas matérias podem ser encontradas em Nocedal e
Wright (2006).
Condições de optimalidade — Karush-Kuhn-Tucker: Oliveira (2003); KKT conditi-
ons (2014).
Exemplos de algoritmos de optimização — Oliveira (2003).
4.3 Implementação prática
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.
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.
61
62 Optimização linear e discreta
5.1.1 Modelos de redes
Este tipo de problemas constitui 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.). Winston (2003); Taha (2007) descrevem os tipos mais
comuns de problemas de redes, com indicação de algoritmos mais específicos
para os diversos casos.
5.2 Optimização com decisões discretas
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).
Duas referências que dedicam grande ênfase à construção de modelos de optimi-
zação discreta são Williams (1999); Chen et al. (2010).
5.3 Exemplos de aplicação
As formulações de optimização linear e discreta têm imensas aplicações na área
de Investigação Operacional. Como tal, as referências desta área descrevem bem
os algoritmos considerados, e a sua aplicação a problemas característicos, como
o caso dos problemas de redes (Winston, 2003; Taha, 2007).
EPS — Programa EngIQ
5.4 Referências adicionais 63
5.4 Referências adicionais
Uma referência muito concisa da utilização de variáveis discretas na construção
de formulações de optimização pode ser encontrada em FICO (2009).
EPS — Programa EngIQ
Capítulo 6
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
65
66 Optimização de sistemas descritos por equações diferenciais
de processos que funcionam essencialmente em contínuo (e.g., polime-
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 6.1: Mistura óptima de catalisadores:
O sistema químico
Ak1ak1b
Bk2 C
ocorre num reactor tubular com enchimento, a temperatura constante
(Jackson, 1968; Biegler, 2010). 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 poru(z) ∈ [0,1], sendou(z) a fracção de catalisador I presentena posição axial z.
EPS — Programa EngIQ
67
Este problema pode ser formulado como:
maxu(z)
C(L)
s.a modelo cinético
u(z) ∈ [0,1]
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.
A formulação anterior permite determinar o perfil óptimo de doseamento
de catalisadores a usar neste caso.
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:
Exemplo: Problema do braquístocrono (trajectória para tmin):
EPS — Programa EngIQ
68 Optimização de sistemas descritos por equações diferenciais
Jacques e Johann Bernoulli (século XVIII, Suíça).
Objectivo: Determinar perfil ou trajectória óptima para problema especí-
fico:
miny(x )
ϕ (x ,y(x))
s.a modelo dinâmico
y(x) ∈ R
Solução é y(x) ≡ f (x) (ou f (t)) para x ∈ [a,b] (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 6.1:
minθ
ϕ(czi ) ≡ resíduos (qualidade de ajuste)
s.a modelo cinético(θ )θ ∈ Rp
• Número de graus de liberdade é finito (θ ∈ Rp ).
• Principal problema: como lidar eficientemente com derivadas?
EPS — Programa EngIQ
6.1 Solução de modelos com equações diferenciais — revisão 69
6.1 Solução demodelos com equações diferenciais — re-
visão
Aqui apenas considerados métodos para a solução de problemas com equações
diferenciais ordinárias:
dx(t)dt= x ′(t) = f (x ,t), x(t0) = x0, x ∈ Rn (6.1)
Por vezes é também usada a nomenclatura x ′(t) ≡ x(t). O tratamento de equaçõesàs derivadas parciais é considerado noutras aulas do curso.
6.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 (6.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 (6.1) é contínua e
analítica no ponto tk , é possível escrever
x(tk+1) = x(tk ) + x ′(tk )h + x ′′(tk )h2
2+ · · · + x (p)(tk )h
p
p!+O(hp+1)
onde h = tk+1 − tk . Truncando a série no termo de ordem de h2, e substituindo
(6.1) na equação anterior obtém-se o método de Euler explícito:
x(tk+1) = x(tk ) + hf (xk ,tk ) (6.2)
Esta equação pode ser aplicada sucessivamente, a partir de uma condição inicial
EPS — Programa EngIQ
70 Optimização de sistemas descritos por equações diferenciais
x(t0) = x0:
x(t1) = x(t0) + hf (x0,t0)x(t2) = x(t1) + hf (x1,t1)x(t3) = · · ·
Uma aplicação alternativa do desenvolvimento em série de Taylor conduz ao
método de Euler implícito:
x(tk+1) = x(tk ) + hf (xk+1,tk+1) (6.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:
x(t1) = x(t0) + hf (x1,t1) ⇔ x(t1) = д(x(t1))
Na aplicação destes métodos deve ser notada que a diminuição do passo h es-
colhido, para além de diminuir o erro da aproximação, de acordo com a equa-
ção (6.1), permite ainda atenuar a não-linearidade do modelo f (x ,t).
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 6.1. Tal 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 (6.1), em
EPS — Programa EngIQ
6.1 Solução de modelos com equações diferenciais — revisão 71
Tabela 6.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).
x ∈ [a,b], relacionado com o tamanho máximo dos passos h que é possível
escolher em cada caso, para ser obtida uma dada precisão na solução.
EPS — Programa EngIQ
72 Optimização de sistemas descritos por equações diferenciais
6.1.2 Solução de problemas às condições fronteira (PCF)
BVP — “boundary value problems”.
Neste caso, ao contrário da equação (6.1), nem todas as condições são especi-
ficadas num único ponto (extremo) do domínio. Isto acontece por exemplo no
sistema:
u ′′(x) + u(x) = 0, x ∈ [a,b], u ∈ R
u(a) = 0u(b) = β
Nestes casos são necessários métodos de solução distintos dos anteriores.
Exemplo 6.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:
1x
d
dx
(x2
dc
dx
)= 3ϕ2r (c) (6.4)
dc
dx
�����x=0= 0;
dc
dx
�����x=1= Bim(1 − c(1)) (6.5)
NOTA: Este modelo já está adimensionalizado.
Solução típica (qualitativa):
A condição fronteira em x = 1 pode ser substituída por outra equivalente.
EPS — Programa EngIQ
6.1 Solução de modelos com equações diferenciais — revisão 73
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→ ou←.
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:
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-
EPS — Programa EngIQ
74 Optimização de sistemas descritos por equações diferenciais
siva):dy
dx=y(x + h) − y(x)
h+O(h) (6.6)
Podem ser usadasmuitas outras aproximações, comerros de aproxima-
ção distintos. A Tabela 6.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ínuox ∈ [0,1] é aproximado por umconjuntofinito de pontos xi = 0 + i∆x , com i = 1,2, . . . ,N . A solução exacta y(x)é substituída pelo valor da solução numérica yi (xi ), obtida em cada
um dos pontos anteriores.
Quais os erros deste tipo de aproximação? Em particular, se h →
0 (N → ∞), a solução numérica convergirá para a solução exacta?
• Com N ↗, o erro na aproximação de cada diferença finita (em
cada ponto do domínio) não é necessariamente inferior!
• Existe um h (ou ∆x) óptimo para a aproximação numérica dada
pela equação (6.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 ϵ = O(h2) ou ϵ = O(h4) 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)
EPS — Programa EngIQ
6.1 Solução de modelos com equações diferenciais — revisão 75
Tabela 6.2 Tabela de diferenças finitas, para aproximação de várias derivadas(Hoffman, 2001).
EPS — Programa EngIQ
76 Optimização de sistemas descritos por equações diferenciais
podem ser deduzidas através de 2 abordagens distintas:
i. Integração espacial dos balanços diferenciais iniciais:$V
(· · · ,∂y
∂t,∂y
∂x, · · ·
)dV = 0 ⇒
dyidt= · · · , para cadaVi
ii. Reformulação da conceptualização física:
Exemplo: Permutador “double-pipe”:
• 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 é Ti (t), para i = 1,2, . . . ,N (coordenadas espaciais
eliminadas).
3. Método dos resíduos pesados (aproximação):
Ver a descrição em (Oliveira, 2003, p. 70).
ϕi (t) ≡ funções de base, escolhidas pelo utilizador (e.g., polinómios). Neces-sitam serem independentes, no domínio usado.
Em geral R(a,t) ≡ zN (t) − f (t ,u,zN ,θ ) , 0:
EPS — Programa EngIQ
6.2 Exemplos de aplicação 77
As equações de erro integral permitem uma “escolha óptima” (segundo
critérios específicos) dos coeficientes ai (Oliveira, 2003, p. 70).
Resultados com adaptação da dimensão dos elementos finitos (perfil de
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
6.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
EPS — Programa EngIQ
78 Optimização de sistemas descritos por equações diferenciais
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
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
U.M. Ascher, R.M.M. Mattheij, R.D. Russel, Numerical Soltution of Boundary ValueProblems for Ordinary Differential Equations, SIAM, Philadelphia, PA (1995).
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).
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).
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, NY (2010).
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).
I. Danaila, P. Joly, S.M. Kaber, M. Postel, An Introduction to Scientific Computing:Twelve Computational Projects Solved with MATLAB, SIAM, Philadelphia, PA(2007).
79
80 Bibliografia
Data Science, <http://en.wikipedia.org/wiki/Data_science> (2014).
DataTau, <http://www.datatau.com/> (2014)
J.E. Dennis, Jr., R.B. Schnabel, Numerical Methods for Unconstrained Optimizationand Nonlinear Equations, Prentice-Hall, Englewood Cliffs, NJ (1983).
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).
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).
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).
Karush-Kuhn-Tucker conditions, <http://en.wikipedia.org/wiki/Karush-Kuhn-Tucker_conditions> (2014).
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).
Chemical Engineering PanAmerican Collaboration, PASI 2011 — Process Modelingand Optimization for Energy and Sustainability, <http://cepac.cheme.cmu.edu/pasi2011/index.html> (2011)
S.A. Papoulias, I.E. Grossmann, “A Structural Optimization Approach in Process
EPS — Programa EngIQ
Bibliografia 81
Synthesis. 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).
S.I. Sandler, Chemical, Biochemical and Engineering Thermodynamics, 4a¯ Edição, J.Wiley & Sons, NY (2006).
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).
K. Sigmon,MATLAB Primer, <http://www.math.ucsd.edu/~bdriver/21d-s99/matlab-primer.html> (1992).
H.A. Taha, Operations Research, An Introduction, Pearson Prentice-Hall, UpperSaddle River, NJ (2007).
TOP500 Supercomputer Sites, <http://www.top500.org/lists/> (2014).
M. Trick, “Formulations and Reformulations in Integer Programming”, Proc.CPAIOR 2005, 366–379, Springer Verlag, Berlim (2005).
D.B. Wagner, Power Programming with Mathematica, The Kernel, McGraw-Hill,New York, NY (1996).
P.R. Wellin, Programming with Mathematica: An Introduction, Cambridge Univer-sity Press, Cambridge, UK (2013).
H.P. Williams,Model Building in Mathematical Programming, 4a¯ Edição, J. Wiley& Sons, NY (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