• Nenhum resultado encontrado

Engenharia de Processos e Sistemas (EPS)

N/A
N/A
Protected

Academic year: 2021

Share "Engenharia de Processos e Sistemas (EPS)"

Copied!
83
0
0

Texto

(1)

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

Nuno Oliveira

nuno@eq.uc.pt

Departamento de Engenharia Química Universidade de Coimbra

(2)

Contactos: Marco Reis (DEQ/FCTUC) — coordenador. marco@eq.uc.pt, Tel. 934 293 295, 239 798 727. Nuno Oliveira (DEQ/FCTUC).

nuno@eq.uc.pt, Tel. 914 006 725, 239 798 742.

Sítios web:

• Oficial:http://e-learn.engiq.pt/moodle/(temporariamente indisponí-vel).

• Página actual:http://www.eq.uc.pt/~marco/eps/. • Edições anteriores:http://www.eq.uc.pt/~nuno/eps/.

Lista de divulgação: Correio electrónico: eps@e-learn.engiq.pt. O arquivo de mensagens anteriores pode ser consultado emhttp://e-learn.engiq.pt/ mailman/listinfo/.

(3)

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 . . . 6

1.2.4 “Background” dos formandos? . . . 6

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 . . . 11

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

2.2.1 Sistemas operativos . . . 15

2.2.2 Folhas de cálculo . . . 16

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

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

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

(4)

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

3.2 Sistemas não-lineares . . . 29

3.2.1 Métodos gráficos . . . 30

3.2.2 Método das substituições sucessivas . . . 31

3.2.3 Método de Newton . . . 35

3.3 Problemas propostos . . . 48

4 Optimização não-linear 49 4.1 Optimização sem restrições . . . 51

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

4.1.2 Condição suficiente . . . 54

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

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

4.4 Exemplos de aplicação . . . 57

5 Optimização linear e discreta 59 5.1 Optimização linear . . . 59

5.1.1 Modelos de redes. . . 60

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

5.3 Exemplos de aplicação . . . 60

5.4 Referências adicionais . . . 61

6 Optimização de sistemas descritos por equações diferenciais 63 6.1 Solução de modelos com equações diferenciais — revisão . . . . 67

6.1.1 Solução de problemas de valor inicial (PVI) . . . 67

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

6.2 Exemplos de aplicação . . . 75

(5)

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 EngeEnge-nharia 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.

(6)

• 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).

(7)

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

• As metodologias 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(Figura1.1). Esta tarefa assume habitualmente um lugar central de coordenação com outras funções organizacionais (Figura1.2).

(8)

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

(9)

• 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 integradas metodologias diversas (a vários

níveis e com várias facetas).

• Pretende-se abranger neste tratamento todas as escalas dos sistemas quí-micos, desde as moléculas até às organizações globais (Figura1.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 emOliveira(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).

(10)

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.

(11)

• Opções em engenharia de sistemas. • Experiência prática.

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 complexidadedos problemas resultantes das aplicações anteriores.

(12)
(13)

Ferramentas básicas na solução de

problemas numéricos

2.1

Tarefas consideradas

• Conceptuais:

Construir modelos 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 de optimização. Esta pode originar diversos tipos de formulações (problemas), que podem ser resolvidos por técnicas

(14)

(algoritmos) distintos. • Funcionais:

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

– Síntesede 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

Os modelos 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 em princípios e leis físico-químicos básicos.

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 + a1lnT + a2CA2+ · · · versus v= A0e−Ea/RTC

A

Ambas 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

(15)

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-tar em breve recursos financeiros semelhantes aos de um segmento industrial tradicional. Uma lista de tópicos actuais nesta área, indexada diariamente de acordo com a sua popularidade pode ser encontrada emDataTau(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:

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

(16)

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 mistode equações e desigualdades

f(x) = 0, д(x) ≤ 0

ainda com x ∈ Rn, e com f ( · ) ∈ Rm, д( · ) ∈ Rp. Neste caso as restrições que compõem д(x) podem ser divididas em 2 grupos: as activas na solução xe 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 é fre-quente o reaproveitamento de formulações (formalismos de conceptualização) de problemas.

(17)

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çõesde 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:

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.

(18)

• x → variáveis de decisão.

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-ção multiobjectivo. 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ítulo4.

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ítulo5).

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 permitem maiores 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.

(19)

• Ú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 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.

(20)

2.2.2

Folhas de cálculo

Programas mais comuns:Microsoft Excel,LibreOffice/OpenOffice. Características fundamentais:

• 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 um meio 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).

OMicrosoft Excel 2010incorpora solvers mais 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: min x1,x2 ϕ(x1,x2) = x 2 1+ x22 s.a 3x1+ 2x2= 4 (2.3)

Da igualdade é possível eliminar

(21)

e substituir este resultado na função objectivo ϕ(x1,x2), originando um problema de optimização sem restrições:

minx

1 ψ(x1) = a + bx1+ cx

2

1 (2.5)

As condições de optimalidade deste tipo de problemas são mais fáceis de manipular — Secção4.1. Depois de obtida a solução óptima x∗

1de (2.5), esta pode ser substituída na equação (2.4) para obter x∗

2. O vector (x1∗,x2∗) é 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 solvers mais específicos estão também disponíveis para oMicrosoft 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.

(22)

Exemplos de curvas de distribuição probabilística dos dados de entrada, para utilização no modelo anterior são indicados na Figura2.1. Os resul-tados produzidos estão indicados na Figura2.2.

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

Figura 2.1 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 aspecto muito importante na utilização prática das soluções obtidas, sendo por isso abordado 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.

• OFortrancontinua a ser muito usado em cálculo numérico (eficiência, bibliotecas anteriores muito extensas); actualmente tem funcionalidades muito semelhantes à linguagemC, cuja evolução tem tentado acompanhar.

(23)

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

• C++,Python: object based (orientadas por objectos) → programação mais avançada. A modularidade permite criar mais facilmente sistemas de maior dimensão. A linguagemC++é compilada (permitindo > velocidade), e a linguagemPythoné 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.

(24)

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

Existem muitas 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

(25)

mantém-se a compatibilidade como objectivo fundamental.

Os objectos básicos são matrizes. Alguns exemplos de comandos são: 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 a manipulaçã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 emWolfram(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 porWellin(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.

(26)

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 projectoCOIN-ORem <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 descrevem 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.

(27)

A linguagemGAMSserá 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.

(28)

Exemplo 2.5: Problema de transportes

Este problema é considerado no Capítulo 2 do manual doGAMS(tutorial). O grafo correspondente é:

A sua formulação matemática fica: minx i j X i X j cijxij s.a X i xij ≥pj, ∀j X j xij ≤si, ∀i xij ≥0, xij ∈ R

Este é um problema do tipo LP, com xij ∈ R. A implementação emGAMSé considerada no ficheirotrnsport.gms.

(29)

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:

maxy i X i viyi s.a X i eiyi ≤M yi ∈{0,1}

Este é um problema do tipo ILP. A implementação emGAMSestá no ficheiro 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 com pouco esforço? → métodos de enumeração implícita, abordados no Capítulo5.

Conceitos-chave a reter

1. Os modelos 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

(30)

• 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. A manipulação eficaz destes modelos 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 .

(31)

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.

(32)

(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ítulo4, 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)

(33)

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 permitem a 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), onde C(T ) e T (C) simultaneamente (balanços de massa e 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 +

(34)

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 (Figura3.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 (Figura3.2). As possíveis soluções (estados estacionários do sistema) correspondem aos pontos onde f1(T ) = f2(T ).

(35)

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.

(36)

Figura 3.3 Diagrama de fabrico considerado no Exemplo3.3.

Exemplo 3.3: Simulação de diagramas de fabrico

Considere o diagrama de fabrico apresentado na Figura3.3.

Se a corrente 6 ≡ corrente quebrada → origina correntes x6ae 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).

(37)

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 atingir n6b = 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 peloASPEN 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 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 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 Exemplo2.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.

(38)

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 kд0

(x)k < 1 então д(x) é uma aplicação contractiva, e o método MSS anterior converge (condição suficiente) — Figura3.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.

• Para matrizes (A), as normas traduzem o conceito de amplificação associada ao operador linear correspondente y = A · x.

Rapidezde convergência: Quando kд0

(x)k → 0 a convergência torna-se mais rápida.

(39)

Figura 3.4 Ilustração da aplicação de um método iterativo correspondente a uma 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) f0(x

k) Em problemas multidimensionais (x ∈ Rn):

(40)

Expansão em série de Taylor: f(xk+ h) = f (xk) + ∇f (xk)T | {z } JT k ·h + · · · = 0 (3.2) JkT≡Jacobiano do sistema.

Resolvendo (3.2) em ordem a h resulta o método iterativo de Newton:

JkT·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 khkk ≤ ϵ1e kfkk ≤ ϵ2. Em geral é necessário usar vários destes critérios simultaneamente.

Revisão de operadores diferenciais: Considerando uma função escalar ϕ( · ) ∈ R e 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)

(41)

• Jacobiano: J ≡ ∇fT=                ∂ ∂x1 ∂ ∂x2 .. . ∂ ∂xn                 f1 f2 · · · fn  =                ∂f1 ∂x1 ∂x∂f12 · · · ∂x∂f1n ∂f2 ∂x1 ∂x∂f22 · · · ∂x∂f2n .. . ... . .. ... ∂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 emOliveira(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 emOliveira(2006):

kx∗ xk+1k kx∗x kk2 ≤c Por exemplo: ek = kx∗−xkk = 10−2 ek+1= 10−4 ek+2= 10−8 ek+3= 10−16, etc.

(42)

ini-ciais que podem ser usadas com sucesso?

Na análise das propriedades globais é conveniente construir uma analogia entre solução de sistemasde equações e optimização sem restrições através dos 2 proble-mas semelhantes: f(x) = 0 e minx ϕ(x) =12fT(x).f (x) = 12X x fi2(x) Ilustração unidimensional (1D): f(x) = 0 minx 12X x fi2(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:

(43)

1. Escolher a direcção de pesquisa a investigar (hkou dk), específica do mé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 ∈ Rneste passo é sempre uma pesquisa linear! O passo apropriado (α) 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 α = 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 outro lado, qualquer novo ponto de ϕ(x) 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 ϕ(x) na direcção dknão é localizado; apenas são excluídas as

(44)

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), e voltar ao passo2.

Considerando Φ(α) ≡ ϕ(xk+ αdk) os valores anteriores da função que podem ser usados para interpolação são:

(45)

Ψ(0) → ϕ(xk) Ψ(1) → ϕ(xk+ dk) Ψ0

(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 JT

khk= −fk, obtendo dNewt,k ≡hk. Se dNewt,knão estiver definida, modificar o sistema linear anterior, e obter a solução deste.

4. Encontrar αkapropriado através de uma pesquisa linear inexacta (testar sempre α = 1, inicialmente). Depois, fazer:

xk+1= xk+ αkdNewt,k

5. Se kdNewt,kk ≤ ϵ1e kfkk ≤ ϵ2, terminar. Caso contrário voltar ao passo2com a 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:

(46)

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) pode corresponder 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 f0(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étorequeri-dos estão disponíveis emOliveira

(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óficaOliveira(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 emOliveira(2006). Necessário obedecer sempre à equação das secantes:

Bk(xk−xk−1) | {z } sk = (f (xk) − f (xk−1)) | {z } yk

(47)

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 ∈ Rna matriz Bknão está definida unicamente.

Método de Broyden (actualização mínima — cauteloso): Bk = Bk−1+(yk

−Bk−1sk)skT skTsk

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

Para além destas modificações no mé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çaactual, a considerar nesta iteração. Deste modo, força-se a que:

kxk+1−xkk2≤δ

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

(48)

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 kf (x)k2 s.a khk2≤δ

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 emDennis Jr. e Schnabel(1983);Nocedal e Wright(2006).

Exemplos de aplicação

Alguns exemplos simples são apresentados emOliveira(2006). Outros exemplos (TPCs anteriores):

1. Determinação da temperatura de flash de uma mistura 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

(49)

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 = Li Mi + X j xjGij Mj (τij − Lj Mj) Li = X k xkτkiGki, Mi = X k xkGki Gij = exp(−αijτij) τij =(дij −дii) RT = ∆дij RT , i , j, e τij = 0, i = j

Considerar a fase de vapor ideal, e usar o modelo NRTL para determinar os coeficientes de actividade γi,Lda 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,LxiPisat(T )

EmFloudas 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.

(50)

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 de mé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 (Exemplo3.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 um sistema 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).

(51)

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ítulo4).

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ção4.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 Exemplo3.3, referente à simulação de um diagrama de fabrico, o método de Newton pode ser aplicado de 2 formas distintas:

• Ao problema como um todo, considerando f (n,u) = 0 (estratégia de solução simultânea).

• Ao problema 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 sistemaASPEN 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.

(52)

Os modelos formulados em linguagens de modelação como oGAMSou o AMPLsã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.

(53)

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) ≤ 0 x ∈ 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 em simultâneo podem ser contraditórios →necessário estabelecer compromissos.

Apenas referidas 2 abordagens fundamentais distintas para optimização multi-objectivo:

(54)

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

(55)

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 e mista (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)

(56)

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 do mesmo tipo (pontos extremos). O melhor destes pontos é denominado óptimo global.

x∗1, x2∗ → óptimos locais x3∗ → óptimo global

(57)

Nota:Apenas necessário saber minimizar (ou maximizar): minx ϕ(x) ⇔ max

x −ϕ(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ção3.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

(58)

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-turade ϕ(x) em x∗seja positiva (função convexa):

x1

x2

ΦHx1,x2L

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

¯sderivadas de ϕ(x∗ ): ∇2ϕ(x) ≡ H (x∗) ≡  ∂2ϕ ∂xi∂xj  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.

(59)

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

¯sderivadas? 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 dominante na série anterior (potência de menor ordem, com coeficiente não nulo).

(60)

Todos os casos possíveis para a matriz Hessiana H(x∗ ): Positiva definida dT· H(x∗ ) · d > 0 Mínimo Negativa definida dT· H(x∗ ) · d < 0 Máximo Positiva semi-definida dT· H(x∗) · d ≥ 0 Mínimo degenerado Negativa semi-definida dT· H(x∗ ) · d ≤ 0 Máximo degenerado Indefinida dT· H(x∗ ) · d ≷ 0 Ponto de sela Nota:Se H(x∗

) = 0, deve ser usada a derivada par de ordem superior, procurando-se retirar conclusões procurando-semelhantes.

(61)

Exemplos práticos:Oliveira(2003).

4.2

Optimização com restrições

Detalhes adicionais sobre estas matérias podem ser encontradas emNocedal 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 sistemaGAMS, a biblioteca de modelosGAMS Model Libraryinclui 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).

(62)
(63)

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.

(64)

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ãoWilliams(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).

(65)

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 emFICO(2009).

(66)
(67)

Optimização de sistemas descritos

por equações diferenciais

Modelos envolvendo equações diferenciais são muito 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.

(68)

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

A kk1a

1b B

k2

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 presente na posição axial z.

(69)

Este problema pode ser formulado como: max

u(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, emGAMS, ou noMicrosoft Excel)?

Principais tipos de problemas desta categoria (Oliveira,2003, p. 59): 1. Problemas de controlo óptimo → ∞ graus de liberdade:

(70)

Jacques e Johann Bernoulli (século XVIII, Suíça).

Objectivo:Determinar perfil ou trajectória óptima para problema especí-fico:

min

y(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 infinitosgraus 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 Exemplo6.1:

min

θ ϕ(czi) ≡ resíduos (qualidade de ajuste)

s.a modelo cinético(θ) θ ∈ Rp

• Número de graus de liberdade é finito (θ ∈ Rp).

(71)

6.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:

dx(t) dt = x

0

(t) = f (x,t), x(t0) = x0, x ∈ Rn (6.1)

Por vezes é também usada a nomenclatura x0

(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íticano ponto tk, é possível escrever

x(tk+1) = x(tk) + x0(tk)h + x00(tk)h 2 2 + · · · + x(p)(tk) hp p! + O(h p+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) + h f (xk,tk) (6.2)

(72)

x(t0) = x0:

x(t1) = x(t0) + h f (x0,t0) x(t2) = x(t1) + h f (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) + h f (xk+1,tk+1) (6.3)

Tipicamente esta já é uma equação não-linear, cuja solução requer a aplicação de um método numérico para a solução de sistemas de equações não-lineares, como os apresentados no Capítulo3. Por exemplo para o 1o

¯passo de aplicação

do algoritmo tem-se:

x(t1) = x(t0) + h f (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 emAscher et al.(1995). Um resumo comparativo das fórmulas iterativas correspondentes a vários destes métodos é apresentado na Tabela6.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. • O número total de passos necessários para efectuar a integração de (6.1), em

(73)

Tabela 6.1 Fórmulas iterativas, e ordens de aproximação de diversos métodos disponí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.

Referências

Documentos relacionados

Além da rotina acadêmica desde o ato da matrícula, arquivo e manutenção de prontuários dos discentes, cabe a Secretaria recepcionar e direcionar o aluno, no

O “Nós que abraçam, mulheres que criam” é um abraço para enfrentamento aos desafios atuais, para que elas adquiram a autonomia financeira, porque quando as

Considerando que os oficiais da arbitragem [árbitros(as), assistentes, assessores(as), analistas, VAR, AVAR, quality manager, instrutor(a) e obser- vador(a) VAR] no desempenho de

Use of the Michigan Neuropathy Screening Instrument as a measure of distal symmetrical peripheral neuropathy in Type 1 diabetes: results from the diabetes control and

Esperava-se, como objetivo último, assim como indica D’Hulst (2001), promover aqui uma expansão dos conhecimentos dos estudiosos da tradução e, concomitantemente,

Em relação ao contato com o Poder Público, os gestores frisaram a positiva proximidade que a Concessionária Porto Novo mantinha com as empresas da região,

“A Escola do Direito Natural ou do jusnaturalismo distingue-se da concepção clássica do direito natural aristotélico-tomista por este motivo principal: enquan- to para Santo

O objetivo deste trabalho foi avaliar o efeito da concentração e da massa molar de PEG (400 e 4000 g/mol) sobre a extração de flavonoides totais a partir de Passiflora edulis