39
Rodolfo de Mello Pussente Calibração de Modelos de Malha de Escoamento Utilizando Algoritmos Genéticos Monografia apresentada ao Departamento de Engenharia Elétrica da PUC/Rio como parte dos requisitos para a obtenção do título de Especialização em Business Intelligence. Orientadora: Marley Maria B. Rebuzzi Vellasco Rio de Janeiro 10/12/2009

Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

Rodolfo de Mello Pussente

Calibração de Modelos de Malha de Escoamento Utilizando Algoritmos Genéticos

Monografia apresentada ao Departamento de Engenharia Elétrica da PUC/Rio como parte dos requisitos para a obtenção do título de

Especialização em Business Intelligence.

Orientadora:

Marley Maria B. Rebuzzi Vellasco

Rio de Janeiro

10/12/2009

Page 2: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

Aos meus pais Luiz e Maria,

a minha esposa Lilian e a minha filha Luiza

Page 3: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

AGRADECIMENTOS

A Petrobras pela oportunidade de desenvolver este trabalho.

A minha orientadora Marley, pelo tempo disponibilizado para o

esclarecimento das dúvidas e pelas sugestões que ajudaram a melhorar o

trabalho.

A todos os professores do BI Master pelos conhecimentos transmitidos ao

longo do curso.

A todos os companheiros do curso que também ajudaram no

desenvolvimento deste trabalho.

Page 4: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

RESUMO

A produção de petróleo em campos off-shore não deve ser limitada por

restrições da malha de escoamento. Para garantir o escoamento total da

produção são criados modelos de escoamento que são utilizados por

engenheiros em simuladores para prever cenários futuros de escoamento. Estes

cenários ajudam na tomada de decisões no processo de garantia de

escoamento. Os modelos precisam ser calibrados para representar fielmente a

malha de dutos existente, hoje, este processo de calibração é realizado pelos

engenheiros através de um processo de tentativa e erro utilizando dados

históricos. Esta monografia propõe uma solução baseada em algoritmos

genéticos para a calibração dos modelos de malha de escoamento, através da

otimização de um conjunto de variáveis que caracterizam os elementos dos

modelos de escoamento, buscando automatizar a calibração e aumentar a

precisão dos modelos.

ABSTRACT

The off-shore oil production should not be limited by flow mesh restrictions. To

guarantee total production flow, flow mesh models are created and used in

simulators to predict future flow scenarios. Those scenarios help in decision

making during the flow assurance process. The models need to be calibrated to

accurately represent the existent duct mesh, currently, these calibration process

is made by engineers in a trial and error process using historical data. This paper

proposes a genetic algorithm solution to the flow mesh model calibration, by

optimizing a subset of the variables that describes the elements of the flow mesh

model, trying to automate the calibration and to increase the model precision.

Page 5: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

SUMÁRIO

1. INTRODUÇÃO.............................................................................................. 6

1.1 MOTIVAÇÃO ................................................................................................ 7

1.2 OBJETIVOS DO TRABALHO ...................................................................... 9

1.3 DESCRIÇÃO DO TRABALHO ..................................................................... 9

2. DESCRIÇÃO DO PROBLEMA .................................................................. 11

3. ESTADO DA ARTE .................................................................................... 15

4. ARQUITETURA DO SISTEMA PROPOSTO............................................. 22

5. RESULTADOS ........................................................................................... 29

6. CONCLUSÕES E TRABALHOS FUTUROS ............................................. 37

REFERÊNCIAS BIBLIOGRÁFICAS...................................................................... 39

Page 6: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

1. INTRODUÇÃO

Os modelos de malha de escoamento representam a malha de dutos,

válvulas, plataformas e unidades de processamento existentes na produção de

petróleo em campos off-shore. Estes modelos são utilizados na simulação de

cenários de escoamento com o objetivo de minimizar os problemas da garantia

de escoamento.

A garantia de escoamento engloba o processo de produção de petróleo

desde a sua extração do reservatório até as plantas de processamento e de

armazenamento na superfície, evitando a ocorrência de perdas de produção

causadas pela impossibilidade de transportar todo o óleo através da planta de

produção (MCMULLEN, 2006). Os problemas desta área focam nos aspectos da

mecânica dos fluidos, na transferência de calor que ocorre entre o óleo nos

dutos e a água do mar, nas características químicas do óleo e nos processos de

instrumentação e de controle da planta.

Ainda segundo (MCMULLEN, 2006), é importante que possamos prever,

através de uma função do comportamento do reservatório ao longo do tempo de

vida do campo, a pressão e a temperatura do fluido ao longo da planta de

produção para que seja possível prevenir as perdas por redução de pressão e de

temperatura. Também devemos gerenciar a corrosão, a erosão, o depósito de

cera e a formação de hidratos (sólidos cristalinos formados a base de água que

se parecem com gelo) que podem causar o vazamento dos fluido ou o bloqueio

dos equipamentos, causando perdas de produção em ambos os casos.

Ao longo deste trabalho iremos considerar apenas uma das partes do

problema da garantia de escoamento, esta parte consiste em encontrar uma

configuração ótima de abertura e fechamento de válvulas nos dutos entre as

plataformas e as unidades processadoras, além de verificar a necessidade de

ampliação da malha, de forma a garantir o escoamento total do óleo produzido.

A influência do depósito de cera e de hidratos nas linhas de transmissão são

tratados diretamente pelo simulador e não influenciaram no desenvolvimento do

algoritmo, assim como a corrosão e a erosão dos equipamentos.

O problema que buscamos resolver pode ser dividido nas etapas de

calibração e de simulação. A etapa de calibração consiste em ajustar

determinados parâmetros de operação dos elementos que formam o modelo da

malha de escoamento no simulador PipeSim, de forma que o resultado

apresentado pela simulação esteja o mais próximo possível dos valores reais.

Page 7: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

7

Nesta etapa são simulados cenários passados através de dados históricos para

verificar os resultados apresentados pelo simulador.

Após a calibração do modelo de escoamento é possível simular cenários

futuros de escoamento com maior precisão. As entradas para uma simulação

são os estados das válvulas da malha, os valores de vazão, temperatura e BSW

do óleo produzido nas plataformas e os valores de pressão e BSW do óleo que

chega nas unidades de processamento. As saídas de uma simulação são a

vazão e a temperatura do óleo nas unidades de processamento e a pressão do

óleo nas plataformas de produção.

Neste trabalho iremos desenvolver um algoritmo genético para realizar a

calibração das malhas de escoamento, buscando reduzir o trabalho dos

engenheiros que participam do processo de garantia de escoamento. O

algoritmo genético desenvolvido visa minimizar os erros dos valores das

variáveis simuladas através da busca de parâmetros ótimos para a calibração do

modelo da malha de escoamento.

1.1 MOTIVAÇÃO

A garantia de escoamento passou a ter um papel importante na produção

nos projetos de exploração de petróleo a partir de 1987, quando teve início a

exploração em lâminas de água maiores que 200 metros (NOE, NASCIMENTO,

et al., 2008). Atualmente, uma parte significativa das reservas de petróleo

brasileiras estão localizadas em águas ultra profundas, com lâmina de água

maior do que 1500m. Nestas profundidades a garantia de escoamento possui

um papel muito importante devido as altas pressões e baixas temperaturas, que

contribuem para a formação dos compostos químicos que podem bloquear a

passagem dos fluidos (CAMARGO, GONÇALVES, et al., 2004).

As limitações existentes para se acessar os equipamentos instalados no

fundo do mar transformam os problemas operacionais existentes em águas

rasas em problemas que podem inviabilizar o desenvolvimento de um projeto em

águas profundas (BROWN, 2002). Além dos impactos relacionados a

disponibilidade do sistema, os custos relacionados as intervenções causadas por

problemas de garantia de escoamento nos projetos em águas profundas e ultra

profundas possuem custos de intervenção muito elevados (HUDSON, DYKHNO,

et al., 2000).

Page 8: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

8

No período entre Dezembro de 2002 e Dezembro de 2007 ocorreu um

grande volume de perdas causadas por problemas de garantia de escoamento

no Campo de Roncador, localizado na Bacia de Campos. Neste período o

percentual das perdas que foram causadas por problemas de garantia de

escoamento variou de 31,2% até 67,1% (NOE, NASCIMENTO, et al., 2008). Um

grande conjunto de fatores contribuiu para a ocorrência desses problemas e

segundo (NOE, NASCIMENTO, et al., 2008) devem ser feitos esforços no

desenvolvimento de modelos computacionais para melhor prever os problemas

da garantia de escoamento e para ajudar na solução desses problemas. Neste

caso, também podemos perceber que uma planta mais complexa aumenta a

flexibilidade para a solução de problemas de garantia de escoamento, mas por

outro lado aumenta a complexidade de operação da planta.

A importância de uma estratégia bem definida para evitar os problemas da

garantia de escoamento foram os desafios encontrados pelo projeto do Campo

Papa-Terra, realizado pela Petrobras na Bacia de Campos, apresentado em

(JUNIOR, PATERNOST e CONDESSA, 2009). Este é um dos projetos

subaquáticos mais complexos desenvolvidos no Brasil, onde as estratégias de

garantia de escoamento são extremamente necessárias, dada a grande

profundidade, a alta viscosidade, o baixo grau API dos fluidos produzidos e a

grande complexidade da planta instalada. O projeto demandou uma nova

abordagem na modelagem do comportamento dos fluidos, o que gerou novo

modelo de fluidos utilizado em simuladores de fluxo que consideram os dados de

viscosidade dos fluidos que são medidos em laboratório.

O projeto para o campo Lobito-Tomboco, realizado pela Chevron no Bloco

14 na Angola, teve como principal desafio o desenvolvimento de um sistema de

produção robusto o suficiente para transportar de maneira eficiente e com pouca

influência dos problemas da garantia de escoamento os fluidos produzidos.

Dessa forma o sistema subaquático foi fortemente impactado pelas estratégias

de garantia de escoamento. Sendo que a aplicação de estratégias de garantia de

escoamento ajudaram na escolha de tecnologias melhores que melhoraram o

retorno econômico do projeto (SONG, 2008).

Além dos exemplos já citados existem diversos outros casos onde a

garantia de escoamento exerce um papel importante na produção de petróleo.

Em (BELTRÃO, SOMBRA, et al., 2009) temos uma breve descrição dos desafios

a serem superados no desenvolvimento do cluster do pré-sal que está sendo

desenvolvido na Bacia de Santos. O Campo de Bonga, o primeiro campo

Page 9: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

9

desenvolvido em águas profundas na Nigéria, possui um sistema de

monitoramento do campo apresentado em (SCHOPPA e JAYAWARDENA,

2007). Um histórico dos problemas encontrados nos diversos problemas deste

tema encontrads pela Petrobras ao longo dos anos pode ser encontrado em

(CARDOSO, ALVER, et al., 2003).

Podemos concluir a partir dos exemplos acima que a garantia de

escoamento possui uma grande importância na indústria de petróleo,

principalmente na exploração em águas profundas e ultra profundas. Os

impactos dos problemas apresentados até aqui estão sempre atrelados ao custo

total do projeto, onde existe uma relação entre o custo e o benefício das

despesas de implantação da planta e de operação da mesma. Acreditamos que

existe um grande espaço para minimizar os custos de operação, através de

sistemas computacionais inteligentes, que sejam capazes de prever problemas e

de ajudar na solução de problemas existentes.

1.2 OBJETIVOS DO TRABALHO

O principal objetivo deste trabalho é criar um algoritmo genético capaz de

realizar de forma automática o processo de calibração das malhas de

escoamento, reduzindo o trabalho dos engenheiros que participam do processo

de garantia de escoamento. Buscamos modificar a forma como a calibração dos

modelos de escoamento é feita atualmente, um processo de tentativa e erro

apoiado por uma planilha Excel. Além do algoritmo genético, queremos

desenvolver uma interface amigável, que desperte o interesse dos engenheiros e

facilite o trabalho no projeto das plantas de produção submarina e também na

operação destas.

1.3 DESCRIÇÃO DO TRABALHO

Ao longo deste trabalho desenvolvemos um algoritmo genético utilizando a

biblioteca ECJ (Evolutionary Computing for Java) para calibração de modelos de

escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é

de código aberto e foi desenvolvida em Java, ela foi desenhada de forma a ser

altamente flexível, com todas as suas configurações determinadas

dinamicamente através de um arquivo de configuração criado pelo usuário e com

grande facilidade para modificar as suas estruturas básicas. Criamos uma

representação genética dos parâmetros de calibração das malhas de

escoamento que pode ser evoluída através do algoritmo genético e avaliada

Page 10: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

10

através do simulador. Para a simulação dos indivíduos gerados utilizamos uma

DLL para comunicação com o PipeSim. Baseados em dados históricos

avaliaremos o algoritmo desenvolvido e chegamos aos resultados apresentados

na conclusão do trabalho.

1.4 ORGANIZAÇÃO DA MONOGRAFIA

Esta monografia está dividida em quatro capítulos adicionais, descritos a

seguir:

O capítulo 2 apresenta a descrição do problema, neste capítulo vamos

mostrar em detalhes a fase de calibração dos modelos de escoamento dentro do

processo de garantia de escoamento e vamos apresentar os problemas da forma

como esta calibração é realizada atualmente.

O capítulo 3 apresenta as técnicas utilizadas neste trabalho para resolver o

problema apresentado no capítulo 2. Neste capítulo faremos uma breve

explicação sobre algoritmos genéticos e as suas diversas técnicas de

representação de indivíduos e de evolução das populações.

O capítulo 4 apresenta a arquitetura do sistema proposto, explicaremos a

representação genética utilizada, bem como os operadores utilizados e as

configurações do algoritmo genético criado. Alem disto faremos uma discussão

sobre a arquitetura do sistema proposto.

O capítulo 5 detalha os resultados obtidos com a solução apresentada.

Vamos analisar os resultados de alguns testes realizados com uma malha de

escoamento criada para este trabalho.

Finalmente, o capítulo 6 descreve as conclusões do trabalho e identifica

possíveis trabalhos futuros.

Page 11: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

2. DESCRIÇÃO DO PROBLEMA

A garantia de escoamento, como vimos anteriormente, é um grande

desafio da indústria de petróleo no desenvolvimento de projetos em águas

profundas. É um conjunto de operações que geram um fluxo confiável,

gerenciável e lucrativo dos fluidos desde o reservatório até as instalações na

superfície (BROWN, 2002). Dentro deste escopo existem diversos problemas

que podem ocorrer e que devem se prevenidos através das estratégias de

garantia de escoamento. Estas estratégias devem ser criadas durante a fase de

engenharia do projeto e utilizadas durante a operação do mesmo.

Neste escopo, o planejamento da garantia de escoamento é um dos

principais passos na ligação entre o projeto de engenharia e a operação com

sucesso de um campo de petróleo (NG, TADIMETI e LOWRY, 2009). O primeiro

objetivo desse planejamento é desenvolver um modelo preciso da malha de

escoamento e do comportamento do fluído produzido de acordo com as

características da planta submarina e do ambiente onde ela será instalada. Com

um modelo confiável, os engenheiros e os operadores podem realizar

simulações de escoamento, entender melhor os limites reais, identificar e

monitorar os desvios dos alvos de operação, antecipar e prevenir problemas

operacionais, implementar estratégias e procedimentos efetivos, além de

planejar futuras operações e novos desenvolvimentos do campo.

Dada a importância dos modelos de malha de escoamento e a ausência,

até o momento da escrita desse trabalho, de ferramentas que auxiliem nesta

calibração, decidimos atuar no processo de calibração como um primeiro passo

na criação de aplicações que auxiliem no processo de garantia de escoamento.

Desse ponto em diante iremos focar em um dos problemas da garantia de

escoamento: a calibração dos modelos de malha de escoamento.

É importante definir os critérios de aceitação para determinar se as

previsões geradas a partir da simulação de um modelo estão dentro de uma

margem de erro aceitável quando comparadas com os valores medidos. O

critério de aceitação deve ser determinado com base nos objetivos do processo

de avaliação do modelo e são tipicamente limitados pela incerteza intrínseca das

suposições dos usuários e dos equipamentos de medição (NG, TADIMETI e

LOWRY, 2009).

Para termos um modelo de malha de escoamento confiável é necessário

que este modelo esteja devidamente calibrado. Para realizar a calibração de um

Page 12: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

12

modelo é necessário executar simulações utilizando cenários e dados históricos

para comparar o resultado obtido através do simulador com os valores

observados na planta. O primeiro passo consiste em formar uma base histórica

de dados de produção que serão utilizados na calibração. Para que estes dados

sejam obtidos devemos ter um sistema de monitoramento do campo assim como

o instalado no Campo de Bonga na Nigéria (SCHOPPA e JAYAWARDENA,

2007).

O modelo do simulador será considerado calibrado quando a diferença

entre o resultado do simulador e o valor lido na planta estiver dentro de um limite

aceitável, conforme discutimos nos parágrafos anteriores. Assim, o objetivo da

calibração dos modelos de escoamento é encontrar os parâmetros de

configuração do modelo que minimizam o erro existente nas simulações de

cenários de escoamento.

Os parâmetros de entrada de uma simulação são os valores de vazão

bruta, temperatura e BSW do óleo produzido nas plataformas, os valores de

pressão e BSW do óleo que chega as unidades de processamento, os estados

das válvulas, que podem estar abertas ou fechadas e um conjunto de outros

parâmetros que representam as características de operação de cada um dos

elementos que compõem o modelo. Estes parâmetros são os que devem ser

otimizados para que o engenheiro encontre a calibração ideal para o modelo.

Uma malha de escoamento é formada por um conjunto de plataformas de

produção, unidades de processamento, válvulas e dutos. Para cada um destes

elementos existe um conjunto de variáveis que representam as suas

características de funcionamento, estas variáveis são as que devem ser

modificadas até que o modelo esteja calibrado,

O resultado de uma simulação é o valor da pressão do óleo nas

plataformas produtoras e os valores de vazão bruta e temperatura do óleo que

chega as unidades de processamento, durante o processo de calibração o

engenheiro deve comparar os resultados da simulação com os valores históricos

destas variáveis para avaliar o estado atual da calibração do modelo.

Atualmente a calibração dos modelos de malha de escoamento é feita

através de um processo de tentativa e erro apoiado por uma planilha Excel. O

engenheiro precisa selecionar um conjunto de dados históricos para gerar os

cenários de escoamento que serão utilizados no processo de calibração. Com os

cenários escolhidos são realizadas rodadas de ajuste dos parâmetros da malha

Page 13: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

13

de acordo com o conhecimento do engenheiro e da simulação dos cenários.

Este processo se repete até que os valores simulados estejam dentro de uma

faixa de erro aceitávelEsta tarefa é executada através dos seguintes passos:

1. Obter um conjunto de dados históricos a serem utilizados na

calibração;

2. Executar o simulador PipeSim com os dados de entrada

selecionados;

3. Comparar o resultado do simulador com os dados recuperados;

4. Se a diferença estiver abaixo do limite aceitável, o modelo está

calibrado;

5. Senão, continuar o processo de calibração;

6. Alterar os parâmetros do modelo e voltar ao passo 2 do processo;

O mesmo processo pode ser representado na Figura 1.

Figura 1 - Diagrama do Modelo Atual de Calibração

Page 14: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

14

O processo atual de calibração descrito acima requer muito tempo dos

engenheiros por apresentar um grande espaço de busca para a solução. Esta

solução também é muito dependente da experiência do engenheiro com relação

a malha simulada. Dessa forma, um engenheiro com pouca experiência pode

nunca encontrar uma solução que atinja uma margem de erro satisfatória, assim

como, também é possível que uma solução não ótima seja utilizada.

Este é claramente um problema de otimização com um grande espaço de

busca, onde devemos encontrar os melhores valores para os parâmetros do

modelo com o objetivo de minimizar o erro do resultado da simulação. Como

veremos mais adiante, a técnica mais indicada para resolver esse problema são

os algoritmos genéticos, que serão descritos no capítulo a seguir.

Page 15: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

3. ESTADO DA ARTE

Os algoritmos genéticos fazem parte de um conjunto de sistemas

computacionais inspirados na natureza. Eles simulam os processos naturais de

evolução das espécies apresentados por Charles Darwin em 1850 para evoluir

as soluções de um determinado problema. Segundo Darwin, durante o curso da

evolução, as populações evoluem conforme os princípios de seleção natural e

sobrevivência através da adaptação, dessa forma, os indivíduos que se adaptam

melhor ao ambiente possuem maiores chances de sobreviver e de reproduzir,

enquanto os indivíduos menos aptos tendem a serem eliminados. Isto significa

que a cada geração os genes dos indivíduos mais aptos irão influenciar um

número cada vez maior de novos indivíduos. Seguindo esta tendência, a espécie

destes indivíduos tende a se tornar cada vez mais apta a sobreviver no ambiente

em que reside.

Os primeiros trabalhos sobre algoritmos genéticos foram realizadas por

John Holland, dedicou-se ao estudo formal do fenômeno da evolução e foi

gradualmente refinando as suas descobertas, até que em 1975 publicou o seu

primeiro livro, intitulado “Adaptation in Natural and Artificial Systems”. Em

(HOLLAND, 1975), os algoritmos genéticos foram apresentados como uma

abstração da evolução biológica, este trabalho foi baseado na teoria da evolução

das espécies (DARWIN, 1859) e na teoria da herança genética (MENDEL,

1865).

Os algoritmos genéticos são indicados para resolver problemas

complexos, com difícil formulação matemática e com grande espaço de busca

por empregarem um processo adaptativo e paralelo de busca de soluções

(PACHECO e VELLASCO, 2007). O espaço de busca é o conjunto de todas as

soluções possíveis de um problema e o paralelismo da busca provém da

capacidade de avaliar múltiplas soluções para o problema de forma simultânea e

a adaptabilidade provém da capacidade de gerar soluções melhores baseadas

nas soluções já encontradas.

Segundo (MICHALEWICZ, 1996) os algoritmos genéticos possuem ampla

aplicação em problemas de otimização como planejamento, controle adaptativo,

jogos, modelagem cognitiva, problemas de transportes, problemas de caixeiro

viajante, entre outros. Ainda segundo (MICHALEWICZ, 1996) eles pertencem a

classe de algoritmos probabilísticos, apesar de serem bem diferentes de

Page 16: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

16

algoritmos randômicos, uma vez que eles juntam elementos de busca direta e de

busca estocástica.

Os algoritmos genéticos representam as soluções de um problema através

de um cromossomo, desta forma eles trabalham com uma codificação do

conjunto de parâmetros do problema e não com os parâmetros em si

(PACHECO e VELLASCO, 2007). Os cromossomos são utilizados para codificar

os indivíduos, através dessa codificação é possível criar operadores de

recombinação (crossover) e de mutação, utilizados no processo de evolução dos

indivíduos que ocorre durante a execução de um algoritmo genético. Este

processo de evolução consiste na avaliação, seleção, recombinação e mutação

destes indivíduos. A representação na qual as possíveis soluções aparecem

dentro dos cromossomos deve descrever o espaço de busca do problema,

permitindo que todas as soluções possíveis para o problema possam ser

representadas.

A escolha da codificação mais adequada para o cromossomo que irá

representar as soluções de um determinado problema é um dos principais

fatores que determinam a possibilidade de utilizar um algoritmo genético na

solução deste problema. Uma codificação inadequada pode gerar uma elevada

quantidade de indivíduos inválidos, que não satisfazem as restrições do

problema, durante o processo de recombinação e de mutação. A forma mais

simples de codificação é a binária, onde o cromossomo é formado por uma

cadeia de bits, mas outros tipos de codificação podem ser usados de acordo

com as características do problema. Como outros exemplos de codificação,

temos a representação por números inteiros ou por números com pontos

flutuantes. Durante a etapa de avaliação os indivíduos devem ser decodificados

de acordo com o cromossomo para os parâmetros do problema, de forma a

possibilitar a utilização na função de avaliação.

A simulação do processo de evolução natural realizada por um algoritmo

genético tem início com uma população inicial de indivíduos aleatórios. A cada

iteração do algoritmo estes indivíduos são avaliados e selecionados, de acordo

com uma probabilidade, para sofrerem alterações determinadas por operadores

genéticos de forma a gerar uma nova população de novos indivíduos mais

evoluídos. Como podemos perceber, em um algoritmo genético, uma população

é o conjunto de indivíduos gerados a cada iteração do algoritmo e um indivíduo é

uma solução possível para o problema que buscamos resolver.

Page 17: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

17

A qualidade de um indivíduo, o equivalente a sua adaptação ao ambiente

na evolução natural, é medida através de uma função de aptidão, também

chamada de função objetivo. Esta função deve quantificar a adaptação de um

determinado indivíduo ao problema que desejamos resolver, permitindo assim

quantificar as melhores soluções do problema. Ela deve fornecer a medida de

proximidade da solução em relação ao objetivo do problema. Um problema pode

ter múltiplos objetivos, sendo que estes podem ser conflitantes, estas

características devem ser representadas na função de avaliação, permitindo

assim que o algoritmo genético quantifique a qualidade de um indivíduo.

Aos indivíduos mais aptos são aplicadas maiores probabilidades de

reprodução para a geração seguinte, o que permite que as suas características

sejam transmitidas aos novos indivíduos, da mesma forma que ocorre na teoria

da evolução de Darwin. Os indivíduos menos aptos recebem uma menor

probabilidade de reprodução, mas mesmo assim eles possuem chances, isto

ocorre para permitir que o algoritmo percorra uma maior parte do espaço de

busca, evitando que um indivíduo muito apto monopolize a reprodução.

A geração da população seguinte ocorre através da escolha de duplas de

indivíduos de forma aleatória e baseada nas suas probabilidades de reprodução,

a essa dupla de indivíduos será aplicado um operador genético de recombinação

que irá recombinar os cromossomos dos indivíduos pais e gerar um novo

indivíduo que irá possuir características dos dois indivíduos pais. A operação de

recombinação possui a característica de acelerar o processo de busca, uma vez

que ela toma proveito das soluções mais promissoras. Após a recombinação,

pode ser realizada uma operação de mutação que irá mudar uma característica

genética do indivíduo filho de forma aleatória, este processo pode ocorrer de

acordo com uma probabilidade que é um parâmetro de configuração do

algoritmo conhecido como taxa de mutação. A operação de mutação tem um

perfil exploratório, uma vez que pode levar a solução para um local distante do

atual, dispersando assim a população pelo espaço de busca.

O processo de produção de novos indivíduos ocorre até que a população

seguinte esteja completa. Depois de criada a nova população todos os novos

indivíduos são avaliados e o processo de recombinação e mutação ocorre

novamente. Sendo que este ciclo de avaliação, seleção e geração é repetido até

que um critério de parada do algoritmo seja atingido. Podem existir diversos

critérios de parada, como número de iterações do algoritmo, tempo de execução,

valor da aptidão do melhor indivíduo encontrado até o momento e número de

Page 18: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

18

iterações sem que haja melhora no melhor indivíduo. O pseudo-algoritmo abaixo

representa a execução de um algoritmo genético.

Pseudo Algoritmo Genético

Início

Gerar população inicial

Avaliar os indivíduos

Repetir

Selecionar um conjunto de indivíduos

pais

Recombinar os pais selecionados

Mutação sobre os filhos gerados

Avaliar os indivíduos

Até satisfazer um critério de parada

Fim

Page 19: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

19

A evolução de um algoritmo genético também pode ser representada pela Figura

2.

Figura 2 - Diagrama de Execução de um Algoritmo Genético

Os operadores genéticos são as ferramentas de evolução dos algoritmos

genéticos. São responsáveis por criar novos pontos de busca no espaço da

solução do problema, utilizando como base os pontos de busca da solução atual,

os indivíduos da população atual, para gerar soluções cada vez melhores. Vimos

Page 20: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

20

até agora que existem dois tipos de operadores genéticos, os de recombinação

(crossover) e os de mutação.

Os operadores de recombinação produzem novos indivíduos a partir da

combinação dos cromossomos de dois ou mais indivíduos pais, a quantidade de

indivíduos pais pode ser parametrizada de acordo com a necessidade do

problema a ser resolvido. Estes operadores exploram as características

genéticas dos indivíduos pais, levando assim a novos locais de busca próximos

aos dos seus progenitores, temos então uma busca local que vai evoluindo para

resultados cada vez melhores. Esta busca local pode não ser eficiente, uma vez

que o algoritmo pode ficar preso em uma solução ótima local da função de

avaliação. A escolha dos operadores de recombinação a serem utilizados deve

ser baseada no cromossomo utilizado para evitar que soluções inválidas sejam

geradas pela recombinação dos indivíduos pais.

O operador de mutação permite a criação de um novo indivíduo através

da alteração do seu cromossomo de um indivíduo fonte, aumentando assim a

diversidade na população. Consiste na mudança aleatória de um ou mais genes

de um cromossomo, permitindo assim a produção de indivíduos com

características totalmente diferentes dos outros indivíduos da população. Este

operador diminui a possibilidade do algoritmo ficar preso em uma solução ótima

local, uma vez que dispersa os indivíduos pelo espaço de busca do problema.

Podemos citar como exemplos de mutação a seleção aleatória de um novo valor

para um determinado gene do cromossomo ou a troca entre dois genes do

cromossomo. Assim como nos operadores de recombinação, a seleção dos

operadores de mutação deve levar em conta o que cada gene do cromossomo

representa e as restrições do problema com o objetivo de reduzir ao máximo o

número de indivíduos inválidos gerados.

Os algoritmos genéticos utilizam conceitos de probabilidade para

direcionar a busca pela solução ótima de um problema, sendo que a

convergência destes algoritmos é determinada pelos parâmetros de

configuração escolhidos. Deve haver um balanceamento entre a dispersão das

soluções criadas pelo espaço de busca e a velocidade de convergência do

algoritmo, para isto deve existir um equilíbrio entre a diversidade populacional e

a pressão seletiva. A diversidade populacional indica a distância entre os

diversos indivíduos de uma população mostrando a dispersão desta população

no espaço de busca. Enquanto a pressão seletiva representa a direção e a

velocidade de convergência. A pressão seletiva ocorre quando a aptidão de

Page 21: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

21

alguns indivíduos se torna muito maior que a de outros, aumentando assim a sua

probabilidade de reprodução. Como falamos anteriormente, a pressão seletiva

pode levar o algoritmo a indicar soluções ótimas locais.

A parametrização mais indicada de um algoritmo genético deve aumentar

a diversidade populacional no início da sua execução, com alta taxa de

recombinação, visando varrer a maior parte do espaço de busca possível. A

medida que as soluções evoluem a pressão seletiva deve ser aumentada para

permitir a convergência do algoritmo, mas devemos aumentar ao mesmo tempo

a taxa de mutação para permitir que o algoritmo saia de soluções ótimas locais.

Uma aplicação de algoritmos genéticos apresentada em (PACHECO e

VELLASCO, 2007) é o Sistema Inteligente de Otimização de Alternativas para

Exploração de Campos de Petróleo Utilizando Computação Evolucionária. Este

sistema busca resolver o problema de seleção de alternativas para o

desenvolvimento de um campo de petróleo. A abordagem consiste em encontrar

a quantidade de poços produtores e injetores e as suas localizações no campo

de forma a maximizar o VPL do projeto.

Concluímos assim uma breve explicação sobre a técnica de algoritmos

genéticos que será utilizada para resolver o problema da calibração de malhas

de escoamento. Abordamos aqui somente os conceitos necessários para o

entendimento deste trabalho. Recomendamos ao leitor que deseja se aprofundar

no assunto que outras publicações com informações mais detalhadas.

Page 22: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

4. ARQUITETURA DO SISTEMA PROPOSTO

O sistema de calibração de malhas de escoamento será o responsável

por realizar a calibração do modelo de forma automatizada, ele será integrado a

um sistema já existente de garantia de escoamento e se comunicará com o

simulador PipeSim para realizar a avaliação das soluções obtidas. A proposta é

que esse sistema encontre os parâmetros ótimos do modelo de malha de

escoamento que minimizem a margem de erro do simulador a fim de que o

modelo possa ser utilizado para previsões de cenários com uma baixa taxa de

erro.

O sistema será desenvolvido na linguagem Java, pois esta é a linguagem

utilizada no sistema utilizado atualmente no processo de garantia de

escoamento. A biblioteca ECJ será utilizada para as operações do algoritmo

genético, esta é uma biblioteca de código aberto escrita em Java que foi

desenhada para ser altamente flexível, com todas as classes que representam o

comportamento do algoritmo sendo determinadas em tempo de execução

através de um arquivo de configuração criado pelo usuário. A biblioteca permite

que o usuário crie cromossomos específicos para os seus problemas, bem como

operadores genéticos que atendam as suas necessidades.

A comunicação com o simulador PipeSim é realizada através de um

conjunto de DLLs proprietárias da biblioteca OpenLink. Esta biblioteca provê

funções para obter os resultados das simulações e para consultar um item do

modelo para buscar os valores de suas características atuais. Também existem

funções para salvar os valores das características dos itens que devem ser

usados nas simulações e funções para realizar operações no modelo, como

executar uma simulação.

Um dos problemas da comunicação entre a biblioteca OpenLink e o

sistema desenvolvido em Java é a dificuldade de acessar DLLs utilizando código

Java. Para realizar esta comunicação iremos utilizar uma biblioteca Java

chamada Com4J. Esta biblioteca permite uma fácil intercomunicação entre

aplicativos Java e componentes COM (Microsoft Component Object Model). A

utilização da biblioteca parte da geração de classes Java a partir de uma

biblioteca COM, em tempo de execução a biblioteca irá gerar código de

implementação para as interfaces que foram marcadas durante a geração do

código. Estas implementações, chamadas de proxies, guardam referências para

as interfaces COM conforme ilustrado na Figura 3. Podemos ver que podem

Page 23: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

23

existir múltiplos proxies para uma mesma interface COM. A Figura 4 representa

a arquitetura completa de comunicação do sistema de calibração de malhas de

escoamento conforme discutimos anteriormente.

Figura 3 - Comunicação Java - COM com a Biblioteca Com4j

Figura 4 - Arquitetura do Sistema

O processo de calibração deverá ser realizado dentro do módulo de

calibração de modelos de malha de escoamento. O engenheiro responsável

deverá escolher um período passado, no qual existem dados reais de

escoamento. O sistema irá buscar para este período os dados de vazão bruta,

pressão, temperatura e BSW do óleo produzido nas plataformas e do óleo que

chega as unidades de processamento, bem como os estados das válvulas. Estes

dados representam apenas um instante de tempo do processamento, temos

assim uma foto do que estava acontecendo no instante exato no qual os dados

foram coletados. O engenheiro deverá então escolher o conjunto de dados que

será utilizado na calibração, essas informações serão utilizadas na simulação e

na avaliação das soluções geradas através do algoritmo genético.

Page 24: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

24

A população inicial do algoritmo genético pode ser totalmente aleatória ou

escolhida pelo engenheiro a partir do seu conhecimento do modelo, a segunda

opção permite que o algoritmo comece de soluções que já são razoavelmente

boas. A partir desta população inicial de soluções o módulo de calibração irá

utilizar o simulador para avaliar cada uma das soluções da população de forma

paralela.

Após o processo de avaliação o algoritmo irá gerar uma nova população

utilizando os operadores genéticos, que serão apresentados mais adiante, e uma

nova etapa de avaliação será realizada. Este processo irá ser repetir até que um

dos critérios de parada seja atingido. Os critérios de parada utilizados neste

trabalho são a quantidade de iterações realizadas, o tempo total de execução, o

nível de aptidão do melhor indivíduo gerado até o momento e o número de

iterações sem que o melhor indivíduo mude. Estes critérios poderão ser

configurados pelo engenheiro para permitir que este faça um balanceamento

entre o tempo de execução do algoritmo e a qualidade da melhor resposta

gerada.

O conjunto de variáveis a serem otimizadas neste problema se referem

as características de operação dos elementos que fazem parte da malha de

escoamento que desejamos calibrar. Este conjunto de características é muito

grande e varia de acordo com o modelo a ser calibrado. Visando simplificar o

problema, escolhemos, com base no conhecimento dos engenheiros de

elevação e escoamento, um subconjunto com as variáveis que mais influenciam

na calibração de um modelo de escoamento. Este subconjunto é formado pela

condutividade dos dutos, a velocidade dos fluidos nos dutos e a relação entre a

temperatura e a viscosidade do óleo produzido nas plataformas.

A condutividade de um duto e a velocidade que um óleo passa por ele

afetam diretamente a vazão de óleo que um determinado duto é capaz de

transportar. Para cada um dos dutos da malha teremos uma dupla de variáveis

reais no cromossomo do problema que representarão estas duas características.

Teremos então a seguinte representação no cromossomo para as variáveis

condutividade e velocidade do óleo em um duto

𝐶1 𝑉1 ... 𝐶𝑖 𝑉𝑖 ... 𝐶𝑑 𝑉𝑑

onde 𝐶𝑖 e 𝑉𝑖 são, respectivamente, a condutividade e a velocidade do fluido no

duto 𝑖 para 1 ≤ 𝑖 ≤ 𝑑, onde 𝑑 é o número total de dutos na malha. O domínio

Page 25: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

25

destas variáveis deverá ser informado ao módulo de otimização pelo usuário,

uma vez que o domínio pode mudar de acordo com as características dos dutos

utilizados.

As variáveis restantes dizem respeito as plataformas produtoras que enviam óleo

em direção as unidades processadoras. Para cada uma destas plataformas

teremos duas duplas de valores que relacionam a temperatura com a

viscosidade do óleo produzido nesta plataforma, formando uma reta de

temperatura por viscosidade, na qual o coeficiente angular deve ser negativo.

Isto ocorre porque o valor da viscosidade de um óleo diminui com o aumento da

temperatura. A Tabela 1 contém um conjunto de valores possíveis que

representam esta característica.

Temperatura Viscosidade

20º C 304 cP

40º C 141 cP

Tabela 1 - Valores de viscosidade por temperatura

O domínio de valores possíveis para a variável temperatura será qualquer real

maior do que zero e menor que um valor determinado pelo usuário. O mesmo

ocorre para a viscosidade que também possui valor máximo determinado pelo

usuário.

0 ≤ 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 ≤ 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎𝑚á𝑥𝑖𝑚𝑎

0 ≤ 𝑣𝑖𝑠𝑐𝑜𝑠𝑖𝑑𝑎𝑑𝑒 ≤ 𝑣𝑖𝑠𝑐𝑜𝑠𝑖𝑑𝑎𝑑𝑒𝑚á𝑥𝑖𝑚𝑎

onde 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎𝑚á𝑥𝑖𝑚𝑎 e 𝑣𝑖𝑠𝑐𝑜𝑠𝑖𝑑𝑎𝑑𝑒𝑚á𝑥𝑖𝑚𝑎 são escolhidos pelo usuário.

Para representar esta relação entre viscosidade e temperatura no cromossomo,

utilizamos dois números reais para os valores de temperatura e dois números

reais para os valores de viscosidade para cada uma das plataformas de

produção de óleo. Teremos então a seguinte representação para a relação entre

temperatura e viscosidade do óleo produzido em uma determinada plataforma

𝑇11 𝑉11 𝑇21 𝑉21 ... 𝑇1𝑖 𝑉1𝑖 𝑇2𝑖 𝑉2𝑖 ... 𝑇1𝑝 𝑉1𝑝 𝑇2𝑝 𝑉2𝑝

onde 𝑇1𝑖 e 𝑇2𝑖 são os dois valores de temperatura e 𝑉1𝑖 e 𝑉2𝑖 são os dois

valores da viscosidade que serão utilizados para representar a relação entre

temperatura e viscosidade do óleo produzido na plataforma 𝑖 para 1 ≤ 𝑖 ≤ 𝑝,

onde 𝑝 é o número total de plataformas na malha.

Page 26: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

26

A associação direta entre os valores 𝑇1𝑝 e 𝑉1𝑝 e entre os valores 𝑇2𝑝 e

𝑉2𝑝 para representar a relação entre viscosidade e temperatura pode levar a

criação de indivíduos inválidos, uma vez que devemos garantir que o valor da

viscosidade do óleo diminua com o aumento do valor de temperatura. Para

resolver esse problema criamos uma forma de decodificar este trecho do

cromossomo de maneira que não sejam criados indivíduos inválidos.

A decodificação utilizada para este trecho do cromossomo seleciona o

menor valor de temperatura e o maior valor de viscosidade para formar a

primeira dupla de valores e o maior valor de temperatura e o menor valor de

viscosidade para formar a segunda dupla de valores. Desta forma garantimos

que todos os indivíduos gerados aleatoriamente pela população inicial, gerados

através do operador de crossover e modificados através do operador de

mutação sejam válidos com relação a esta restrição.

Utilizando as representações apresentadas anteriormente chegamos ao

cromossomo completo que irá representar uma solução gerada pelo algoritmo

genético, este cromossomo terá a seguinte forma

𝐶1 𝑉1 ... 𝐶𝑑 𝑉𝑑 𝑇𝑉1 ... 𝑇𝑉𝑝

de acordo com os índices já apresentados anteriormente e onde 𝑇𝑉𝑖 é o conjunto

dos quatro valores de temperatura e viscosidade do óleo produzido na

plataforma 𝑖.

As características do sistema levaram a necessidade de criarmos uma

representação de cromossomo que varia de tamanho de acordo com os

parâmetros escolhidos pelo usuário. Da mesma forma, os domínios de algumas

variáveis são determinados por escolhas do usuário, temos então um espaço de

busca variável. Por estarmos trabalhando somente com variáveis reais não

precisaremos criar novos operadores genéticos para permitir a criação de novos

indivíduos, dessa forma escolhemos utilizar o crossover aritmético e a mutação

CREEP.

O crossover aritmético é uma combinação linear de dois vetores

genitores em uma determinada geração. Após a seleção de dois indivíduos pais

𝑃1 e 𝑃2, aplicamos o crossover aritmético para gerar os indivíduos filhos 𝐹1e 𝐹2

utilizando as seguintes expressões

Page 27: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

27

𝐹1 = 𝑎𝑃1 + (1 − 𝑎)𝑃2

e

𝐹2 = 𝑎𝑃2 + (1 − 𝑎)𝑃1

onde

𝑎 = 𝑟𝑎𝑛𝑑 ∈ [0,1]

o que caracteriza um crossover uniforme.

A mutação CREEP implementa uma busca local, tentando achar uma

solução ótima próxima da solução atual através de uma busca no sentido

positivo e no sentido negativo da variável. Após escolhido um determinado

indivíduo para sofrer mutação, para cada um dos genes reais do cromossomo

deste indivíduo realizamos um sorteio para verificar se o valor deste gene irá

aumentar ou diminuir, permitindo assim uma busca aleatória em qualquer

direção. O gene 𝑃 do cromossomo de origem sofrerá mutação de acordo com a

expressão

𝐹 = 𝑃 + ∆ max +𝑃 , 𝑠𝑒 𝑜 𝑣𝑎𝑙𝑜𝑟 𝑑𝑒𝑣𝑒 𝑎𝑢𝑚𝑒𝑛𝑡𝑎𝑟

𝑃 + ∆ P−𝑚𝑖𝑛 , 𝑠𝑒 𝑜 𝑣𝑎𝑙𝑜𝑟 𝑑𝑒𝑣𝑒 𝑑𝑖𝑚𝑖𝑛𝑢𝑖𝑟

e irá gerar um novo gene 𝐹 que fará parte do cromossomo do indivíduo após o

processo de mutação. Onde 𝑚𝑎𝑥 e 𝑚𝑖𝑛 são os limites do domínio de 𝑃 e onde

∆ 𝑥 = 𝑥. 𝑟𝑎𝑛𝑑

onde 𝑟𝑎𝑛𝑑 ∈ [0, 𝑦] e 𝑦 ≤ 1. O valor de 𝑦 é utilizado para determinar o passo

dado pela mutação CREEP. Quanto maior o valor de 𝑦 maior o ajuste e quanto

menor o seu valor, menor o ajuste realizado pela mutação.

O sistema de otimização deve minimizar o erro dos valores de pressão

simulados para cada uma das plataformas e os erros dos valores de vazão e

temperatura simulados para cada uma das unidades de processamento, onde o

erro é calculado pelo módulo da diferença entre o valor simulado e o valor

medido em situações reais. Temos então um problema de múltiplos objetivos

que podem ser agregados através da soma dos erros de todas as variáveis do

problema, uma vez que a fórmula de cálculo do erro garante que o menor valor

possível para este é zero por causa do operador módulo utilizado. Teremos

então a seguinte função de avaliação

Page 28: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

28

𝑎𝑣𝑎𝑙𝑖𝑎çã𝑜 = 𝑒𝑟𝑟𝑜𝑝𝑟𝑒𝑠 𝑠ã𝑜 𝑝𝑙𝑎𝑡𝑎𝑓𝑜𝑟𝑚𝑎

𝑝𝑙𝑎𝑡𝑎𝑓𝑜𝑟𝑚𝑎

+ 𝑒𝑟𝑟𝑜𝑣𝑎𝑧ã𝑜 𝑢𝑛𝑖𝑑𝑎𝑑𝑒 + 𝑒𝑟𝑟𝑜𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 𝑢𝑛𝑖𝑑𝑎𝑑𝑒

𝑢𝑛𝑖𝑑𝑎𝑑𝑒

que será utilizada para avaliar as soluções geradas pelo algoritmo genético. Onde

𝑒𝑟𝑟𝑜𝑝𝑟𝑒𝑠𝑠 ã𝑜 𝑝𝑙𝑎𝑡𝑎𝑓𝑜𝑟𝑚𝑎

= 𝑝𝑟𝑒𝑠𝑠ã𝑜𝑚𝑒𝑑𝑖𝑑𝑎 𝑝𝑙𝑎𝑡𝑎𝑓𝑜𝑟𝑚𝑎 − 𝑝𝑟𝑒𝑠𝑠ã𝑜𝑠𝑖𝑚𝑢𝑙𝑎𝑑𝑎 𝑝𝑙𝑎𝑡𝑎𝑓𝑜𝑟𝑚𝑎

𝑐𝑒𝑛 á𝑟𝑖𝑜𝑠

𝑒𝑟𝑟𝑜𝑣𝑎𝑧ã𝑜 𝑢𝑛𝑖𝑑𝑎𝑑𝑒 = 𝑣𝑎𝑧ã𝑜𝑚𝑒𝑑𝑖𝑑𝑎 𝑢𝑛𝑖𝑑𝑎𝑑𝑒 − 𝑣𝑎𝑧ã𝑜𝑠𝑖𝑚𝑢𝑙𝑎𝑑𝑎 𝑢𝑛𝑖𝑑𝑎𝑑𝑒

𝑐𝑒𝑛 á𝑟𝑖𝑜𝑠

𝑒𝑟𝑟𝑜𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 𝑢𝑛𝑖𝑑𝑎𝑑𝑒

= 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎𝑚𝑒𝑑𝑖𝑑𝑎 𝑢𝑛𝑖𝑑𝑎𝑑𝑒 − 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎𝑠𝑖𝑚𝑢𝑙𝑎𝑑𝑎 𝑢𝑛𝑖𝑑𝑎𝑑𝑒

𝑐𝑒𝑛 á𝑟𝑖𝑜𝑠

onde o somatório sobre os dados de entrada representa cada registro

encontrado na base de dados para o período escolhido pelo engenheiro.

A partir da arquitetura do sistema apresentada acima e do modelo de

cromossomo utilizado para representar as soluções geradas pelo algoritmo

podemos realizar a implementação do módulo de calibração de modelos de

malha de escoamento e realizar os testes para verificar a sua eficácia.

Page 29: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

5. RESULTADOS

Os testes do algoritmo implementado foram realizados sobre uma malha

de escoamento simples criada especificamente para estes testes, utilizamos esta

malha somente para provar que o algoritmo criado possui um bom potencial para

ser utilizado em malhas de escoamento reais. A malha de escoamento utilizada

está representada na Figura 5.

Figura 5 - Malha de escoamento de testes

Nesta malha o nó P27 é uma plataforma, uma origem de óleo, e o nó

P32-P27 é uma unidade de processamento, um destino de óleo. Os nós PAV3 e

MIS-P3227 são formados por conjuntos de dutos que levam o óleo produzido na

plataforma P27 até a unidade de processamento P32-P27. O nó PAV3 é

formado pelo duto MIS como podemos ver na Figura 6.

Figura 6 - Dutos de PAV3

O nó MIS-P3227 é formado pelos dutos MIS, F-MIS_P32-20 e R-MIS_P32-20

como podemos ver na Figura 7.

Page 30: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

30

Figura 7 - Dutos de MIS-P3227

O cromossomo gerado pelo algoritmo para esta malha será formado por

duas duplas de valores de viscosidade por temperatura para a plataforma de

produção P27 e quatro duplas de condutividade e de velocidade para cada um

dos quatro dutos existentes na malha. O cromossomo gerado vai possuir a

seguinte forma.

𝐶𝑃𝐴𝑉3_𝑀𝐼𝑆 𝑉𝑃𝐴𝑉3_𝑀𝐼𝑆 𝐶𝑀𝐼𝑆_𝑀𝐼𝑆 𝑉𝑀𝐼𝑆_𝑀𝐼𝑆 𝐶𝐹−𝑀𝐼𝑆 𝑉𝐹−𝑀𝐼𝑆 𝐶𝑅−𝑀𝐼𝑆 𝐶𝑅−𝑀𝐼𝑆

𝑇1,𝑃27 𝑉1,𝑃27 𝑇2,𝑃27 𝑉2,𝑃27

Após alguns testes selecionamos as taxas de mutação e de crossover

que resultaram nos melhores resultados. Visando acelerar o processo de

busca nas gerações iniciais e aumentar o espaço de busca nas gerações finais,

utilizamos taxas variáveis para estes dois operadores. A taxa de e crossover irá

diminui ao longo das gerações, enquanto a taxa de mutação possui

comportamento inverso. O algoritmo começa com uma taxa de crossover de 0,8

na primeira geração e que vai diminuindo proporcionalmente a cada geração até

alcançar uma taxa de 0,5 na última geração. De forma análoga a taxa de

mutação começa em 0,05 e termina em 0,4.

Conforme discutimos anteriormente, a saída do simulador fornece uma

variável para cada plataforma de produção e duas variáveis para cada unidade

de processamento. Para as plataformas de produção temos a pressão simulada

do óleo que é produzido e para as unidades de processamento temos a

Page 31: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

31

temperatura do óleo que chega e a vazão com a qual esse óleo chega. No caso

da malha escolhida para testes temos apenas a plataforma de produção P27 e a

unidade de processamento P32. Teremos então apenas os valores da pressão

simulada em P27 e da temperatura e da vazão simulada em P32. Ao longo dos

testes verificamos que o erro da vazão simulada em P32 era sempre zero, o que

indica que esta saída não é sensível as variáveis otimizadas pelo algoritmo.

Iremos discutir mais sobre esse assunto no capítulo de conclusão deste trabalho.

Vamos realizar a análise dos resultados para três configurações

diferentes para o número de indivíduos e para o número de gerações para uma

execução do algoritmo, para todos estes testes vamos utilizar os mesmos

valores para as taxas e crossover e mutação apresentados na Tabela 2.

Taxa Inicial Taxa Final

Crossover 0,8 0,5

Mutação 0,05 0,4

Tabela 2 - Configurações do algoritmo

Calculamos o tempo de execução do algoritmo através do número de indivíduos

avaliados através da simulação no PipeSim, verificamos através de um conjunto

de testes que o tempo médio para a simulação da malha utilizada nestes testes

é de três segundos. As três configurações testadas estão apresentadas na

Tabela 3 juntamente com o tempo total para a execução do algoritmo.

Cenário Indivíduos Gerações Elitismo

(Indivíduos)

Tempo

(minutos)

1 40 10 5 20

2 30 30 5 45

3 10 40 2 20

Tabela 3 - Cenários de teste

No primeiro teste a ser analisado rodamos o algoritmo com dez gerações

e com uma população com quarenta indivíduos e utilizamos elitismo com cinco

indivíduos. O tempo total para executar o algoritmo com esta configuração foi de

aproximadamente vinte minutos. O Gráfico 1 mostra a evolução do valor da

avaliação do melhor indivíduo por geração. Podemos verificar que já na quarta

geração temos um erro total abaixo de 0,5 em valores absolutos, e que na última

geração este valor está muito próximo de 0,1. Podemos notar também que já na

primeira população o erro é muito baixo, este resultado pode ser explicado pela

Page 32: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

32

simplicidade da malha de escoamento que pode gerar um conjunto grande de

soluções boas.

Gráfico 1 - Melhor Indivíduo por Geração (10 gerações e 40 indivíduos)

Vamos analisar a média das avaliações dos indivíduos por geração

através do Gráfico 2. Podemos perceber que a média cai em conjunto com o

melhor indivíduo, sendo que esta aumenta um pouco na sétima e na nona

geração. Este comportamento pode ser justificado pelo aumento da taxa de

mutação que pode levar a soluções piores dos que as que vinham sendo obtidas

nas gerações anteriores. Verificando o Gráfico 1 podemos perceber que apesar

do aumento na média a avaliação do melhor indivíduo diminui por causa do

elitismo.

Gráfico 2 - Média da Avaliação por Geração (10 gerações e 40 indivíduos)

1 2 3 4 5 6 7 8 9 10

Valor 3,3661 3,3661 3,3661 0,3766 0,3766 0,3539 0,3539 0,1739 0,1285 0,1285

0,00

0,50

1,00

1,50

2,00

2,50

3,00

3,50

4,00

Melhor Indivíduo por Geração

1 2 3 4 5 6 7 8 9 10

Valor 459,1 294,2 111,7 26,60 10,84 5,358 14,10 3,871 92,60 18,20

0,00

50,00

100,00

150,00

200,00

250,00

300,00

350,00

400,00

450,00

500,00

Média da Avaliação por Geração

Page 33: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

33

O erro total das três variáveis de saída do simulador não nos fornece uma

idéia ideal sobre o resultado obtido, portanto vamos analisar os erros destas

variáveis separadamente. O Gráfico 3 mostra o erro percentual da pressão

simulada na plataforma P27 para o melhor indivíduo por geração. Podemos

perceber que apesar do erro total diminuir consideravelmente na quarta geração

o mesmo não ocorre para a pressão, mas que mesmo assim nas últimas

gerações o erro desta variável diminui, alcançando valores abaixo de 1%.

Gráfico 3 - Erro (%) da Pressão em P27 (10 gerações e 40 indivíduos)

O erro percentual da temperatura simulada para a unidade de

processamento P32 está representado no Gráfico 4. Ao contrário da pressão em

P27 que se mantém com erro quase constante até a sétima geração, a

temperatura em P32 segue o mesmo padrão do erro total e tem uma grande

redução na quarta geração e continua caindo até a última geração. Este

comportamento era esperado, uma vez que uma das variáveis deveria diminuir

para que o erro total diminuísse.

1 2 3 4 5 6 7 8 9 10

Valor 3,85% 3,85% 3,85% 3,78% 3,78% 3,20% 3,20% 2,34% 0,94% 0,94%

0,00%

0,50%

1,00%

1,50%

2,00%

2,50%

3,00%

3,50%

4,00%

4,50%

Erro (%) da Pressão em P27

Page 34: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

34

Gráfico 4 - Erro (%) da Temperatura em P32 (10 gerações e 40 indivíduos)

O segundo teste foi realizado utilizando trinta gerações e uma população

com trinta indivíduos e elitismo com cinco indivíduos. O tempo total para

executar o algoritmo nesta configuração foi de quarenta e cinco minutos. O

Gráfico 5 mostra a evolução do valor da avaliação do melhor indivíduo por

geração. A linha em azul, cujo eixo vertical fica a esquerda, mostra o resultado

como um todo, enquanto a linha em vermelho, cujo eixo fica a direita, mostra o

mesmo gráfico a partir da quinta geração em outro eixo para possibilitar vermos

com detalhes a variação dos valores. O mesmo será feito nos gráficos adiante.

Podemos verificar que já na segunda geração o erro total absoluto é de duas

unidades, e que na quinta geração o erro já está próximo de 0,3 unidades

reduzindo ainda mais até a trigésima geração.

Gráfico 5 - Melhor Indivíduo por Geração (30 gerações e 30 indivíduos)

1 2 3 4 5 6 7 8 9 10

Valor 274,1 274,1 274,1 18,81 18,81 18,93 18,93 6,58% 7,66% 7,66%

0,00%

50,00%

100,00%

150,00%

200,00%

250,00%

300,00%

Erro (%) da Temperatura em P32

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,00

2,00

4,00

6,00

8,00

10,00

12,00

14,00

16,00

18,00

20,00

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

Melhor Indivíduo por Geração

Page 35: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

35

O erro da pressão simulada em P27 está apresentado no Gráfico 6,

podemos verificar que ele cai de 70% para menos de 10% em cinco gerações.

Este erro continua diminuindo ao longo do tempo, alcançando o valor de 4,59%

no melhor indivíduo da última geração. Mais uma vez criamos uma linha

vermelha que representa o erro da pressão simulada em P27 em detalhes a

partir da quinta geração.

Gráfico 6 - Erro (%) da Pressão em P27 (30 gerações e 30 indivíduos)

O erro da temperatura simulada em P32 é o primeiro resultado

encontrado que é afetado pela função de avaliação. Neste caso o erro cai para

valores menores que 10% a partir da quinta geração, alcança um valor mínimo

na décima quarta geração com 0,3% e depois volta a subir, terminando em 1%

como podemos ver no Gráfico 7. Isto ocorre porque os erros das variáveis de

saída do simulador não são avaliados separadamente, então um indivíduo pode

possuir avaliação melhor do que outro mesmo que leve a erros maiores em uma

das variáveis.

4,00%

4,20%

4,40%

4,60%

4,80%

5,00%

5,20%

5,40%

5,60%

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

Erro (%) da Pressão em P27

Page 36: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

36

Gráfico 7 - Erro (%) da Temperatura em P32 (30 gerações e 30 indivíduos)

No último caso testado utilizados um total de 40 gerações e uma

população com 10 indivíduos e elitismo com dois indivíduos. O tempo total de

execução do algoritmo para este teste foi de vinte minutos. O Gráfico 8 mostra a

avaliação do melhor indivíduo por geração, podemos perceber que a baixa

quantidade de indivíduos aumenta o tempo necessário para que o algoritmo

encontre soluções melhores. Somente a partir da vigésima terceira geração o

erro começa a cair significativamente. Através deste gráfico percebemos que

esta configuração não é a ideal, pois estamos desperdiçando tempo de

execução sem que as soluções estejam melhorando. Neste caso o mais indicado

seria aumentar o número de indivíduos e diminuir o número de iterações,

conforme foi realizado no primeiro cenário de testes.

Gráfico 8 - Melhor Indivíduo por Geração (40 gerações e 10 indivíduos)

0

0,01

0,02

0,03

0,04

0,05

0,06

0,07

0,08

0,00%

200,00%

400,00%

600,00%

800,00%

1000,00%

1200,00%

1400,00%

1600,00%

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

Erro (%) da Temperatura em P32

0,00

20,00

40,00

60,00

80,00

100,00

120,00

140,00

160,00

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39

Melhor Indivíduo por Geração

Page 37: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

6. CONCLUSÕES E TRABALHOS FUTUROS

Ao longo deste trabalho buscamos desenvolver um algoritmo genético para

resolver o problema da calibração de modelos de malha de escoamento que são

utilizados no aplicativo PipeSim para simular cenários de escoamento no

processo de garantia do escoamento. Conseguimos modelar e desenvolver, na

linguagem de programação Java, um algoritmo capaz de obter bons resultados

em tempo de execução razoável como vimos no capítulo anterior.

A comunicação entre o algoritmo genético e o simulador PipeSim foi feita

através de uma DLL fornecida pelo próprio simulador e por uma biblioteca Java

que facilita a comunicação entre código Java e DLLs. Esta estrutura de

comunicação se mostrou deficiente, uma vez que nem todos os tipos de dados

existentes na DLL de comunicação podem ser trafegados entre esta e a

linguagem Java por não existirem conversores adequados. Desta forma talvez

seja impossível incluir na otimização feita pelo algoritmo uma nova variável que

seja representada na DLL por algum desses tipos de dados.

A biblioteca ECJ, que contém diversas funcionalidades necessárias para a

execução do algoritmo genético, se mostrou bastante flexível, permitindo criar

nossos próprios operadores de crossover e mutação. Por outro lado ela se

mostrou um pouco incompleta por não possuir alguns operadores básicos, como

a mutação CREEP e o crossover uniforme. Esta biblioteca se mostrou ser a

escolha certa para o projeto, por ser desenvolvida na mesma linguagem do

projeto onde o algoritmo vai ser utilizado e por possuir código fonte aberto.

O cromossomo criado para representar os indivíduos do algoritmo e a

forma de decodificação deste cromossomo impossibilita a criação de indivíduos

inválidos, dessa forma minimizamos o tempo de execução do algoritmo. Esta

característica é muito importante, uma vez que o tempo de execução do

simulador é relativamente alto, em torno de três segundos para a malha utilizada

nos testes. Quanto a este ponto, um dos trabalhos futuros a ser realizado é

verificar o tempo médio para simular uma malha de escoamento real e

considerar a necessidade de criarmos um proxy baseado em redes neurais para

substituir o simulador caso o tempo de execução seja muito alto.

A análise dos resultados feita no capítulo anterior mostrou que em alguns

casos o melhor indivíduo da população inicial possui um erro absoluto muito

baixo, ou seja, uma avaliação muito boa. Como estamos trabalhando com uma

população inicial totalmente aleatória, podemos imaginar que existem muitas

Page 38: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

38

soluções para as quais o erro é muito baixo, dessa forma um indivíduo aleatório

pode alcançar tais taxas de erro. Além disto, verificamos que a variável vazão da

unidade de processamento P32, que é uma variável de saída do simulador e

participa do cálculo do erro utilizado na avaliação, apresentou sempre erro zero.

Acreditamos que estas características ocorrem porque a malha utilizada

para testes é muito simples, então sugerimos como trabalho futuro realizar testes

com uma malha de escoamento real mais complexa, com o objetivo de avaliar a

sensibilidade dos valores de saída do simulador com relação as variáveis de

calibração das malhas de escoamento que são otimizadas pelo algoritmo

genético. Caso o mesmo resultado ocorra para esta malha complexa deveremos

testar outras variáveis de calibração para verificar a sensibilidade das variáveis

de saída para com estas.

A integração com o módulo de garantia de escoamento é o último trabalho

futuro a ser realizado. Este trabalho consiste na criação de uma interface gráfica

para a entrada de dados e a apresentação dos resultados, bem como a

integração com a base de dados para a busca das informações necessárias a

calibração.

Page 39: Rodolfo de Mello Pussente - ica.ele.puc-rio.br - Rodolfo Pussente... · escoamento utilizados no simulador de escoamento PipeSim. A biblioteca ECJ é de código aberto e foi desenvolvida

39

REFERÊNCIAS BIBLIOGRÁFICAS

BELTRÃO, R. L. C. et al. Challenges and New Technologies for the Development

of the Pre-Salt Cluster, Santos Basin, Brazil. Offshore Technology

Conference, Texas, USA, 2009.

BROWN, L. D. Flow Asurance: A pi cube Discipline. Offshore Technology

Conference, Texas, USA, 2002.

CAMARGO, R. M. T. et al. A Perspective View of Flow Assurance in Deepwater

Fields in Brazil. Offshore Technology Conference, Texas, USA, 2004.

CARDOSO, C. B. et al. Management of Flow Assurance Constraints. Offshore

Technology Conference, Texas, USA, 2003.

DARWIN, C. The Origin of Species. London: Albermale Street: [s.n.], 1859.

HOLLAND, J. H. Adaptation in Natural and Artificial Systems. Ann Arbor: MI:

The University of Michigan Press, 1975.

HUDSON, J. D. et al. Flow Assurance for Subsea Wells. Offshore Technology

Conference, Texas, USA, 2000.

JUNIOR, J. G. S.; PATERNOST, G. M.; CONDESSA, D. S. Flow Assurance

Challenges in the Papa-Terra Project. Offshore Technology Conference,

Texas, USA, 2009.

MCMULLEN, N. D. Flow-Assurance Field Solutions. Offshore Technology

Conference, Texas, USA, 2006.

MENDEL, G. Ensaio com Plantas Híbridas. [S.l.]: Sociedade de História

Natural de Brno, 1865.

MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution

Programs. 3. ed. [S.l.]: New York: Springer, 1996.

NG, C.; TADIMETI, K.; LOWRY, T. Flow Assurance Benchmarking - Bridging the

Gap Between Initial Design and Ongoing Operations. Offshore

Technology Conference, Texas, USA, 2009.

NOE, G. et al. Challenges of Flow Assurance in the Roncador Field. Offshore

Technology Conference, Texas, USA, 2008.

PACHECO, M. A. C.; VELLASCO, M. M. B. R. Sistemas Inteligentes de Apoio

à Decisão - Análise Econômica de Projetos de Desenvolvimento de

Campos de Petróleo sob Incerteza. Rio de Janeiro: PUC Rio, 2007.

SCHOPPA, W.; JAYAWARDENA, S. Bonga - Flow Assurance Benchmarking via

Field Surveillance. Offshore Technology Conference, Texas, USA, 2007.

SONG, S. Managing Flow Assurance and Operation Risks in Subsea Tie-Back

System. Offshore Technology Conference, Texas, USA, 2008.