• No results found

O software EMSO (Environment for Modeling Simulation and Optimiza- tion) foi utilizado para realizar as simula¸c˜oes no presente trabalho. Este simulador ba- seado em equa¸c˜oes possui uma linguagem interna de modelagem orientada a objetos, permitindo heran¸ca e composi¸c˜ao. O conceito de heran¸ca permite construir modelos com- plexos a partir de outro mais simples, enquanto o conceito de composi¸c˜ao permite criar modelos complexos utilizando v´arios outros modelos simples (RODRIGUES; SOARES; SECCHI, 2010).

O software traz consigo um conjunto de modelos que cobrem grande parte das opera¸c˜oes industriais, como reatores, colunas de destila¸c˜ao, trocadores de calor, entre outros. Esses modelos est˜ao abertos para visualiza¸c˜ao e altera¸c˜ao do usu´ario, al´em de ser poss´ıvel a este desenvolver seus pr´oprios modelos empregando a linguagem de modelagem do simulador. Esta caracter´ıstica ´e fundamental para o presente trabalho, pois este envolve v´arios equipamentos que normalmente n˜ao s˜ao encontrados em simuladores comerciais.

Al´em do modo texto o simulador tamb´em possui uma interface gr´afica com o usu´ario, na qual este pode facilmente montar fluxogramas de processos ligando os equi- pamentos. Tal caracter´ıstica facilita a sua utiliza¸c˜ao por usu´arios leigos, para os quais a simula¸c˜ao em modo texto seria pouco atrativa (RODRIGUES; SOARES; SECCHI, 2010). Como o simulador pode apresentar problemas de convergˆencia, dependendo do conjunto de vari´aveis especificadas ou do valor destas, esse possibilita a utiliza¸c˜ao de arquivos contendo chutes iniciais para algumas, ou todas, as vari´aveis do sistema. Isso auxilia a convergˆencia do sistema, diminuindo, al´em disso, o n´umero de itera¸c˜oes necess´arias para a convergˆencia do mesmo. Esse aspecto ´e essencial para problemas de otimiza¸c˜ao, nos quais muitos pontos de opera¸c˜ao s˜ao testados.

60 3 Metodologia

3.1.1

Adi¸c˜ao de plug ins

Rotinas externas de c´alculo podem ser adicionadas ao EMSO atrav´es de plug ins implementados em linguagem C/C++ ou FORTRAN. ´E disponibilizado um template para facilitar o desenvolvimento do plug in, al´em das bibliotecas necess´arias. O plug in criado deve ser compilado como uma biblioteca dinˆamica (dll ), e esta inclu´ıda ao EMSO atrav´es da op¸c˜ao add plugin.

A implementa¸c˜ao de rotinas externas como plug ins torna o simulador bas- tante flex´ıvel. Por´em isso tem um pre¸co, pois, para tais rotinas n˜ao ´e poss´ıvel a deriva¸c˜ao simb´olica das equa¸c˜oes, o que ´e substitu´ıdo pela deriva¸c˜ao num´erica, que ´e menos robusta.

3.1.2

Adi¸c˜ao de Solvers

A adi¸c˜ao de solvers tamb´em segue um modelo que ´e disponibilizado junto com o EMSO, o qual deve ser implementado em linguagem C/C++. Adicionou-se o oti- mizador Particle Swarm Optimization (PSO) cl´assico (KENNEDY; EBERHART, 1995) como solver do EMSO. Por´em, o EMSO n˜ao estava adaptado para o uso de otimizadores estoc´asticos, pois este transfere ao otimizador todas as vari´aveis do problema, e n˜ao so- mente as vari´aveis de otimiza¸c˜ao. Neste caso, as equa¸c˜oes dos modelos dos equipamentos envolvidos s˜ao tratadas como restri¸c˜oes de igualdade para o problema de otimiza¸c˜ao.

Assim, foi necess´ario realizar adapta¸c˜oes no c´odigo fonte do EMSO para que este inclu´ısse uma op¸c˜ao mediante a qual somente as vari´aveis de otimiza¸c˜ao seriam recebidas pelo otimizador. Neste caso, cada itera¸c˜ao teria duas etapas: na primeira o otimizador atualiza o valor das vari´aveis de otimiza¸c˜ao, na sequˆencia um algoritmo de resolu¸c˜ao de sistemas n˜ao-lineares resolve o problema para as demais vari´aveis. No caso do sistema n˜ao convergir, ou seja,do ponto n˜ao ser fact´ıvel, a part´ıcula recebe um valor alto para a fun¸c˜ao objetivo, de modo que esta n˜ao seja escolhida como melhor part´ıcula. Outra abordagem est´a sendo estudada que n˜ao dependa do valor da fun¸c˜ao objetivo, pois o “valor alto” depende do caso particular em estudo. Estuda-se a possibilidade de utilizar uma vari´avel booleana para sinalizar se o sistema convergiu, sendo a part´ıcula descartada para o caso negativo.

3.2 Interpolador 61

3.2

Interpolador

Foi implementado um interpolador multilinear como plug in do EMSO, se- gundo o modelo descrito em Nelles (2001). Multilinear pois este n˜ao apresenta termos de ordem quadr´atica ou superior, somente termos de intera¸c˜ao bin´aria, tern´aria, etc., dependendo da dimens˜ao do sistema.

O interpolador realiza uma busca na tabela de dados de modo a encontrar os pontos mais pr´oximos `a entrada. A vari´avel resposta interpolada consiste nos valores desses pontos ponderados pelas ´areas (ou volumes, hipervolumes, etc., dependendo da dimens˜ao do sistema) opostas a ele, como mostra a equa¸c˜ao 3.1.

y′i= ∑

2M

j wj yi j

∑2iMwi

(3.1)

O pseudoc´odigo do interpolador ´e apresentado a seguir:

Algoritmo 2: pseudoc´odigo do interpolador(tabela de dados, x) Busque os pontos mais pr´oximos a x

w← 0 for i ← 1 to 2M do              wi← 1 for j ← 1 to M do nwi← wi∗ |pi j− xj| w← w + wi for i ← 1 to N do        y′i← 1 for j ← 1 to 2M do ny′i← y′i∗wj∗yi j w return (y′)

Na equa¸c˜ao e no pseudoc´odigo apresentados, M ´e o n´umero de vari´aveis de entrada, ou seja, as vari´aveis especificadas, N o n´umero de vari´aveis resposta, yi j ´e

a vari´avel resposta i no ponto j do interpolador, y′i ´e a vari´avel resposta i obtida por interpola¸c˜ao, xj ´e a vari´avel de entrada j, pi j ´e a vari´avel de entrada i no ponto j do

63

4

MODELAGEM

MATEM ´ATICA DA

BIORREFINARIA

4.1

Implementa¸c˜ao de modelos das unidades de pro-