You are on page 1of 12

UM ALGORITMO GENTICO-2OPT APLICADO AO PROBLEMA DE

OTIMIZAO DE ITINERRIO DE SONDAS DE PRODUO


TERRESTRE

Rmulo Ferreira Douro *


FAESA
rfdouro@gmail.com

Luciano Lessa Lorenzoni *#


FAESA - IFES
luciano@faesa.br; lllorenzoni@ifes.edu.br

* FAESA Unidade de Computao e Sistemas


Rua Anselmo Serrat, 199, Ilha de Mote Belo, Vitria - ES, CEP 29040-410

# IFES - COMAT
Av Vitria, 1729, Jucutuquara, Vitria - ES, CEP 29040-780

RESUMO
Dentre as atividades de grande importncia executadas na indstria petrolfera est a tarefa de
intervir em poos de petrleo a fim de que melhorem a sua produo. Essas intervenes so
realizadas por unidades mveis denominadas sondas de produo. O custo das sondas elevado o
que a torna um recurso restrito gerando uma perda considervel com a no produo dos poos
que esto aguardando a realizao da interveno solicitada. O presente trabalho apresenta uma
estratgia de resoluo para o problema de alocao de sondas aos poos usando a heurstica
Algoritmo Gentico combinada com a tcnica de melhoramento 2-opt, visando estabelecer uma
melhoria na perda de vazo dos poos atravs da obteno de um itinerrio otimizado para os
atendimentos efetuados pelas Sondas de Produo Terrestre. Ao final da implementao foram
executados testes e comparativos com outros trabalhos encontrados na literatura, cujos resultados
obtidos foram superiores, indicando um bom desempenho do algoritmo.
PALAVRAS CHAVE. Metaheursticas, Interveno em poos, Algoritmo gentico
ABSTRACT
Among the activities undertaken by the oil industry is a task to intervene in oil wells to ensure
that interventions are made to improve their performance, among other goals. Such interventions
are costly and there is a lack of probes that perform this type of work, operating to answer many
wells. This paper presents a strategy for solving using the heuristic Genetic Algorithm combined
with the 2-opt technique, hybridized with the method, to establish an improvement in the loss of
water from wells by obtaining an optimal route for visits made by Echo Production land. At the
end of the deployment tests were performed and compared with other studies in the literature to
explain the technical points of compliance employed here.

KEYWORDS. Metaheuristics, Intervention in wells, Genetic algorithm

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2121


1. Introduo
No mbito das atividades tratadas pela indstria petrolfera esto inclusas as intervenes em
poos de petrleo. Essas intervenes, denominadas workover, so solicitadas de tempos em
tempos, e realizadas por unidades mveis denominadas sondas de produo terrestre (SPT) com o
intuito de manter o bom funcionamento dos poos.
De acordo com Accioly & Chiyoshi (2000), citado por Noronha (2001), as operaes de
interveno realizadas pelas sondas so classificadas como operaes de restaurao,
estimulao, avaliao, limpeza e completao. Uma descrio detalhada sobre o funcionamento
e as operaes realizadas pelas sondas de produo pode ser encontrada em Thomas (1999) e
Accioly & Chiyoshi (2000).
A sonda tem custo bastante elevado, o que a torna um recurso restrito, gerando uma perda
considervel com a no produo dos poos que esto aguardando a realizao da interveno
solicitada. Assim surge a necessidade de se estabelecer um itinerrio a ser percorrido pelas
sondas a fim de efetuar o atendimento aos poos requisitantes de servios, minimizando a perda
de vazo.
A obteno de melhores itinerrios para as sondas, a fim de minimizar a perda de vazo nos
poos, no uma tarefa de fcil resoluo, dada a natureza combinatorial do problema, sendo
necessrio, na maioria das vezes, o emprego de estratgias heursticas para tratar este problema.
Diversas estratgias tm sido utilizadas na resoluo desse problema. Dentre essas destacamos:
Tmpera Simulada (Paiva (1997)), Busca Tabu (Maia et al. (2002)), Algoritmo Memtico e
Transgentico (Gouva et al. (2002)), Colnia de Formigas (Aloise et al. (2002)), GRASP (Costa
(2005)), Algoritmo Gentico (Alves & Ferreira (2006)) e Scatter Search (Oliveira et al. (2007)).
A heurstica Algoritmo Gentico ser abordada neste trabalho como estratgia de resoluo e
ser aplicada em conjunto com tcnicas de busca local com o intuito de gerar melhores
resultados.
Este trabalho est organizado da seguinte forma: na seo 2 formalizado o Problema de
Otimizao do Itinerrio de Sondas de Produo Terrestre (SPT). Na seo 3 descrito o
Algoritmo Gentico com as propostas de modificaes implementadas, que incluem o uso de um
mtodo de melhoramento de solues. Na seo 4 relatam-se os experimentos computacionais
bem como os resultados obtidos e realiza-se uma comparao com trabalhos encontrados na
literatura. Finalizando, temos na seo 5, as concluses.

2. O Problema de Otimizao de Itinerrio de Sondas de Produo Terrestre POI-SPT


Como mencionado em Costa (2005, p.1), o fato de se ter muitos poos distribudos e a
existncia de poucas sondas gera a expectativa de que, freqentemente, ocorram problemas
quanto disponibilidade de SPTs para o atendimento aos poos de petrleo, ocasionando
prejuzos de carter financeiro uma vez que surgem as chamadas filas de atendimento o que
acarreta a perda da produo dos poos.
De acordo com Aloise et al. (2002) o problema de otimizao da alocao de sondas de
produo consiste em encontrar a melhor seqncia de atendimento para as sondas disponveis,
visando minimizar o tempo de atendimento das solicitaes e maximizar a produo mdia diria
da bacia petrolfera, o que implica em minimizar a perda de vazo pela espera no atendimento da
interveno solicitada. A deciso de qual sonda alocar a uma determinada solicitao de servio
depende de fatores como: potencial produtivo do poo, localizao geogrfica da sonda em
relao ao poo, tempo de interveno no poo, questes de risco ambiental e segurana e
limitao tcnica das sondas em relao ao tipo de interveno visto que a frota de sondas pode
no ser homognea. Esse problema pode ser visto como um caso especial do clssico problema
dos k-servos sendo portanto classificado como um problema NP-rduo (Goldbarg & Luna,
2000).
Neste trabalho ser adotada a modelagem matemtica proposta por Costa (2005) para o problema
em questo, onde desconsidera-se o tempo de deslocamento da sonda entre os poos e assume-se
que as sondas so homogneas, ou seja, realizam as mesmas atividades com o mesmo
desempenho. Os tempos de deslocamentos foram desconsiderados dado que na regio de um

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2122


campo de produo de petrleo o deslocamento entre poos no , em geral, um tempo
significativo perto do tempo dos trabalhos nos poos (Costa, 2005).
Inicialmente, so definidos os conjuntos:
N = {0..n-1} : conjunto dos n poos sujeitos interveno;
M = {0..m-1} : conjunto das m sondas disponveis;
T = {1..hp} : conjunto dos instantes de tempo no horizonte de planejamento hp.
Em seguida associa-se a cada poo i os seguintes parmetros:
Pi : perda de vazo em (unidade de volume) / (unidade de tempo);
di : a data de liberao para incio dos servios;
Di : data para a finalizao dos servios;
ti : tempo de servio.
As variveis de deciso so designadas por X ikt , sendo elas binrias, e cujo valor ser 1
quando a sonda k inicia a interveno no instante t no poo i e, assume o valor 0, caso contrrio.
O objetivo (1) minimizar a perda de vazo de petrleo em funo do tempo de espera para
atendimento e do tempo de atendimento propriamente dito.
O modelo matemtico associado ao problema pode ser formulado como segue.
Min
t
(t + t
i k
i d i ) Pi X i k t (1)
sujeito a:

t k
X i k t = 1, i N (2)
X i k t = 0, i N ; k M ; t T | Di t i < t < d i (3)
t
X i k t 1, k M ; t T (4)
X i k t + X j k t ' 1,{ i N ; k M ; t T ; | t t ' t + t ; j N | j i} (5)
X i k t {0,1}, i N ; k M ; t T (6)
As igualdades expressas em (2), (3) indicam respectivamente que, cada poo i deve ser
atendido uma nica vez por uma nica sonda e que o atendimento do poo i no ocorrer antes do
instante di nem aps ( Di t i ) . As desigualdades expressas em (4) e (5) estabelecem,
respectivamente, que cada sonda k, em cada instante de tempo, s inicia o servio em um poo, e
que, quando uma sonda k inicia os trabalhos no poo i no instante t, ela fica indisponvel para
iniciar outros trabalhos nos instantes t subseqentes, compreendido na janela de tempo
[t , t + t i ] , em todos os outros locais j diferentes de i. Por fim em (6) tem-se a definio das
variveis como binrias.
As questes referentes a prioridades de atendimento, caso hajam, podem ser atendidas por
meio das diferenas temporais entre di e Di.

3. Algoritmo Gentico 2opt aplicado ao problema


Segundo Lopes (2006) a estrutura de um algoritmo gentico, em sua forma bsica, segue os
preceitos obedecidos por operadores genticos atuando sobre uma populao de indivduos e que
fazem as funes de reproduo, ou crossover, e mutao para que se obtenha uma nova gerao
de indivduos.

3.1 Representao da soluo


Para tratar o POI-SPT foi estabelecida uma estrutura para representar uma soluo para o
problema (figura 1) onde se tem para cada sonda a sequncia de poos a serem atendidos pela
mesma

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2123


Poos0atendidos
Sonda {4,5,1}
Sonda 1 { 7 , 2 , 0 }
Sonda 2 { 6 , 3 }

Figura 1 Esquema de representao de uma soluo

Tomando como exemplo a disposio de poos, como na figura 1, e dada a tabela 1 com os
dados sobre perdas de vazo e tempo de alocao, pode-se ilustrar o clculo do fitness (funo
objetivo) desse indivduo como segue.

i 0 1 2 3 4 5 6 7
Pi 10 1 7 15 30 2 3 1
ti 1 2 2 5 1 1 3 5
Tabela 1 Dados de referncia para exemplo do clculo de fitness

Na figura 2 temos a codificao da soluo expressa por meio de um diagrama de Gantt.

tS Sonda 0451Sonda 1720Sonda 263012345678tempo

Figura 2 Diagrama de Gantt representando o tempo gasto nos poos atendidos

Assim o fitness, para o exemplo acima, calculado da seguinte forma: fitness = (30*1) +
(2*2) + (1*4) + (1*5) + (7*7) + (10*8) + (3*3) + (15*8) = 301.

3.2 Gerao da populao inicial


Para a gerao dos indivduos da populao inicial foi implementado um mtodo heurstico.
Tal mtodo baseado na Heurstica Mxima Prioridade Tricritrio - HMPT elaborada por Costa
(2005). Nesse mtodo os poos com maior perda de vazo so alocados primeiro, como segue.
a) ordenam-se os ndices que indicam cada poo de acordo com a maior perda de vazo,
fazendo com que os ndices dos poos com maior perda de vazo fiquem no incio;
b) a partir dos ndices ordenados, os mesmos so inseridos seqencialmente nos vetores que
representam cada sonda, de forma com que os que possuem maior perda sempre fiquem frente.
A figura 3 exemplifica o mtodo de construo da soluo com base nos dados fornecidos na
tabela 1.

Vetor ndice de poos ordenado


por maior perda
{4,5,1,7,2,0,5,6,3}
1 Passo 2 Passo 3 Passo 4 Passo
Sonda 0 { 4 } Sonda 0 { 4 } Sonda 0 { 4 } Sonda 0 { 4 , 7 }
Sonda 1 { } Sonda 1 { 5 } Sonda 1 { 5 } Sonda 1 { 5 }
Sonda 2 { } Sonda 2 { } Sonda 2 { 1 } Sonda 2 { 1 }

5 Passo 6 Passo 7 Passo 8 Passo - Final


Sonda 0 { 4 , 7 } Sonda 0 { 4 , 7 } Sonda 0 { 4 , 7 , 6 } Sonda 0 { 4 , 7 , 6 }
Sonda 1 { 5 , 2 } Sonda 1 { 5 , 2 } Sonda 1 { 5 , 2 } Sonda 1 { 5 , 2 , 3 }
Sonda 2 { 1 } Sonda 2 { 1 , 0 } Sonda 2 { 1 , 0 } Sonda 2 { 1 , 0 }

Figura 3 Exemplo de criao da soluo-matriz

Assim, tem-se uma primeira soluo a qual aqui chamada de soluo-matriz e que o
primeiro indivduo inserido na nova populao que est sendo criada. Essa soluo-matriz ento
recombinada com ela mesma (cruzamento assexuado) por meio da execuo do operador single-

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2124


point adaptado, descrito em 3.3.1. Os elementos gerados, desde que no tenham sido
anteriormente gerados, so inseridos na populao.
O processo de gerao de indivduos por mutao repetido at que a populao esteja
totalmente preenchida com, no caso deste algoritmo, 50 indivduos gerados (a soluo-matriz e
mais 49 mutaes sobre a mesma).

3.3 As operaes genticas


3.3.1 Cruzamento
Para a operao de cruzamento usado o operador single-point crossover mostrado por Lobo
(2005), o qual usado em sua forma original e em uma formatao adaptada. Os mtodos de
cruzamento so executados por sorteio tendo 50% de chances de execuo para cada mtodo.
O processo de cruzamento single-point aplicado sonda a sonda e nele, aps a definio de
um ponto de cruzamento aleatrio, a parte final das seqncias de poos das sondas do primeiro
pai trocada com a parte final das referentes seqncias de poos das sondas do segundo pai,
repetindo o processo do segundo para o primeiro pai e, conseqentemente, gerando duas novas
seqncias a serem usadas nos dois novos filhos. Na figura 4 est exemplificado este mtodo.

Pais escolhidos Para todos os vetores VetorSonda_i


P1 = [VetorSonda_0, de sondas executa-se Vetor em P1 = { 3 , 4 , 2 , 1 , 5 , 0 }
VetorSonda_1, ..., a seqncia de passos Vetor em P2 = { 2 , 1 , 0 , 5 , 4 , 3 }
VetorSonda_N]
P2 = [VetorSonda_0,
VetorSonda_1, ...,
VetorSonda_N] Ponto de cruzamento definido

VetorSonda_i do 1 Filho (P1 em P2) {3,4,2,1,5,0}


Insere 5 { 2 , 1 , 0 , 5 , 5 , 3 } - 4 VetorSonda_i do 2 Filho (P2 em P1)
Troca 4 { 2 , 1 , 0 , 4 , 5 , 3 } {2,1,0,5,4,3} Insere 4 { 3 , 4 , 2 , 1 , 4 , 0 } - 5
Insere 0 { 2 , 1 , 0 , 4 , 5 , 0 } - 3 Troca 5 { 3 , 5 , 2 , 1 , 4 , 0 }
Troca 3 { 2 , 1 , 3 , 4 , 5 , 0 } Insere 3 { 3 , 5 , 2 , 1 , 4 , 3 } - 0
Troca 0 { 0 , 5 , 2 , 1 , 4 , 3 }

Figura 4 Exemplo de execuo do cruzamento single-point

O single-point adaptado efetuado, tambm, aps a definio do ponto de cruzamento onde,


para cada seqncia de sondas feita a troca entre a parte final da seqncia do primeiro pai e a
parte inicial da seqncia do segundo pai repetindo o processo trocando a parte final da seqncia
do segundo pai e a parte inicial da seqncia do primeiro pai, gerando assim duas novas
seqncias que sero usadas uma em cada novo indivduo filho. Esse mtodo ilustrado na figura
5.

Pais escolhidos Para todos os vetores VetorSonda_i


P1 = [VetorSonda_0, de sondas executa-se Vetor em P1 = { 3 , 4 , 2 , 1 , 5 , 0 }
VetorSonda_1, ..., a seqncia de passos Vetor em P2 = { 2 , 1 , 0 , 5 , 4 , 3 }
VetorSonda_N]
P2 = [VetorSonda_0, Ponto de cruzamento definido
VetorSonda_1, ..., {3,4,2,1,5,0}
Processo de {2,1,0,5,4,3}
VetorSonda_N]
cruzamento
VetorSonda_i do 1 Filho (P1 em P2) VetorSonda_i do 2 Filho (P2 em P1)
Insere 5 { 5 , 1 , 0 , 5 , 4 , 3 } - 2 {3,4,2,1,5,0} Insere 4 { 4 , 4 , 2 , 1 , 5 , 0 } - 3
Troca 2 { 5 , 1 , 0 , 2 , 4 , 3 } Troca 3 { 4 , 3 , 2 , 1 , 5 , 0 }
Insere 0 { 5 , 0 , 0 , 2 , 4 , 3 } - 1 {2,1,0,5,4,3} Insere 3 { 4 , 3 , 2 , 1 , 5 , 0 } - 3
Troca 1 { 5 , 0 , 1 , 2 , 4 , 3 } Troca 4 { 4 , 3 , 2 , 1 , 5 , 0 }

Figura 5 Exemplo de execuo do cruzamento single-point adaptado

Tanto nos processos de cruzamento quanto nos de mutao, ao executar a insero de um


ndice em determinada posio, outro ndice deve ser retirado e inserido na posio, seja ela em
qualquer sonda, que era ocupada pelo ndice recm inserido. Por exemplo, tomemos uma situao
hipottica: o ndice 5, que inicialmente est alocado na posio 3 da sonda 2, inserido na

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2125


posio 0 da sonda 0 a qual ocupada pelo ndice 2. Neste momento o ndice 2 retirado de sua
posio original e inserido na posio original do ndice 5 (posio 3 da sonda 2), com essa
troca evita-se que algum poo aparea mais de uma vez no sistema Sondas X Poos.
Ao final do processo de cruzamento so gerados dois novos indivduos filhos que, por
sorteio, com uma probabilidade de 1%, podem ser submetidos ao processo de mutao, assim
pode haver a criao de dois ou quatro descendentes, os quais so avaliados e somente sero
includos na populao caso seu fitness seja melhor do que, pelo menos, um indivduo pai.

3.3.2 Mutao
Para a mutao foram definidos trs operadores sendo que em um deles aplicado o
cruzamento assexuado onde usado o mtodo single-point adaptado, descrito anteriormente, a
mutao por inverso e a mutao aleatria descritos a seguir.

Mutao por inverso


Na mutao por inverso, que baseada no operador SIM (Simple Inversion Mutation)
proposto por Holland (1975), uma parte central de cada seqncia de cada sonda em um
indivduo selecionada e ento invertida simetricamente em relao ao centro da seqncia,
trocando o primeiro elemento da parte selecionada com o ltimo, o segundo com o penltimo e
assim por diante at que o centro da seqncia seja alcanado. A mutao por inverso
exemplificada como na figura 6.

Situao inicial Pontos para inverso Processo de inverso


{3,7,8,1,4} {3,7,8,1,4}
{5,9,0,2} {5,9,0,2} Seleciona { 3 , 7 , 8 , 1 , 4 }
{5,9,0,2}

Situao final Troca {3,1,8,7,4}


{3,1,8,7,4} {5,2,0,9}
{5,2,0,9}

Figura 6 Exemplo de mutao por inverso

Mutao aleatria
No caso da mutao aleatria tem-se a seguinte situao:
a) define-se uma quantidade inicial de, no mximo, 10% do tamanho da seqncia de poos
em uma sonda;
b) sorteia-se uma posio aleatria que ser usada como base para a escolha do poo a ser
trocado;
c) para cada sonda sorteada mais uma posio aleatria e trocam-se os ndices dessa
posio com a posio sorteada para troca na mesma sonda;
d) repete-se o passo anterior at que seja atingida a contagem de mutaes estipulada.

Assim, tendo trs mtodos de mutao, foi definido o seu uso por sorteio, atravs do
mecanismo conhecido como roleta, da seguinte forma: para a mutao por inverso atribuda
uma probabilidade de 50% de ser executada, a mutao por cruzamento assexuado, usando o
single-point adaptado, possui uma probabilidade de 40%, em 5% atribuda a probabilidade de
usar uma combinao onde primeiro aplicada a mutao por inverso e, em seguida, o
cruzamento assexuado e, por fim, em 5% h a probabilidade de ser executado o mtodo de
mutao aleatrio.

3.4 Mtodo de melhoramento de solues


Foi usada uma tcnica, aqui chamada de melhor troca, adaptada da heurstica 2-opt que
segundo Goldbarg e Luna (2000) descrita na literatura como uma estratgia de melhoria
partindo de um ciclo hamiltoniano. Nessa adaptao so feitas trocas de posies entre os ndices

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2126


do conjunto Sondas X Poos, e essa troca pode ser feita em qualquer posio de qualquer sonda.
Dessa forma a elaborao do mtodo segue os seguintes passos:
a) seleciona-se o primeiro ndice do conjunto de sondas X poos;
b) do ndice posterior ao selecionado at o ltimo ndice so feitas trocas de posio entre
eles e armazena-se o valor do custo para o novo conjunto elaborado, caso esse seja menor que o
atual a posio de troca ento guardada como a melhor posio de troca e atualiza-se o valor do
custo para comparao;
c) ao final, caso seja estabelecida uma posio de troca eficiente, a troca ento efetuada e
o algoritmo repetido para prximo ndice do conjunto conforme a letra (a) at que seja atingido
o final do conjunto de Sondas X Poos.
Para a definio de seqncia de ndices aqui descrita deve-se fazer a seguinte considerao
conforme a figura 7:
a) o primeiro ndice de um conjunto Sondas X Poos o primeiro ndice da seqncia que
representa a ordem de execuo para a primeira sonda;
b) o segundo ndice de um conjunto Sondas X Poos o primeiro ndice da seqncia que
representa a ordem de execuo para a segunda sonda;
c) os ndices posteriores seguem a mesma ordem levando em considerao que, ao ser
atingido o final do nmero de sondas o prximo ndice a ser escolhido ser o referente prxima
posio na seqncia da primeira sonda sendo depois contados os ndices para cada sonda
posterior conforme a figura 7.

Sonda 0 {ndice 0, ndice N+1, ...}


Sonda 0 {ndice 1, ndice N+2, ...}
...
Sonda N {ndice N, ...}

Figura 7 Disposio dos ndices dos poos no sistema Sondas X Poos

A figura 8 esquematiza o mtodo de melhoramento descrito.

SIM

Atualiza a posio de melhor


Efetua a melhor troca
INCIO troca e o valor do fitness
com base na posio Chegou ao final do
armazenada aps os conjunto Sondas X
testes da iterao Poos? NO
Seleciona o
prximo ndice Seleciona ndice Testa a troca de
posterior posies entre os
FIM ndices
Chegou ao final do
conjunto Sondas X Melhorou o fitness ?
SIM NO
Poos? Armazena posio como
melhor troca e atualiza o SIM
valor de fitness
Figura 8 Esquema de execuo do mtodo de melhor troca

A figura 9 esboa um exemplo bsico de como a tcnica melhor troca usada. Tomando
como base as primeiras comparaes feitas no sistema de Sondas X Poos numa situao em que
se tm trs sondas aplicadas a um conjunto de dez poos.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2127


Sonda0 0 3 6 9 Sonda0 1 3 6 9 Sonda0 2 3 6 9
Sonda1 Situao
1 4
inicial
7
Primeira comparao
Sonda1 0 4 7
Segunda comparao
Sonda1 1 4 7
Sonda2 2 5 8 Sonda2 2 5 8 Sonda2 0 5 8

Sonda0 3 0 6 9 Sonda0 9 3 6 0 Sonda0 7 3 6 9


Terceira comparao
Sonda1 ltima comparao
Sonda1 Efetua melhor troca
Sonda1
1 4 7 1 4 7 1 4 0
Sonda2 2 5 8 Sonda2 2 5 8 Sonda2 2 5 8

Figura 9 Exemplo bsico de execuo da melhor troca

Assim, a figura 10 sintetiza o Algoritmo Gentico-2opt (AG-2opt) implementado neste


trabalho. O critrio de parada adotado estabelece que o algoritmo encerrado, aps 12 iteraes
sem a alterao do melhor indivduo da populao o algoritmo ou quando atingir 2000 iteraes.

Efetua evoluo
Populao inicial gerada
INCIO (Reprodues e Mutaes)
NO
Executou o nmero Executa heurstica de
SIM mximo de iteraes? melhoramento 2-opt

FIM NO
Passou perodo
Ordena populao (50 determinado sem
Executou mximo de indivduos) NO SIM
operaes sem alterar o alterar o melhor?
SIM
melhor?
Aplica mutao
coletiva
Figura 10 Esquema de execuo do AG-2opt

4. Experimentos computacionais
Na implementao do algoritmo foi adotada a linguagem de programao JAVA e os testes
executados em um computador com processador Pentium IV, 2 GHz com 480 MB de RAM.
Os experimentos foram realizados com a massa de dados gerada e disponibilizada por Costa
(2005). Essa massa de dados possui instncias com 25, 50, 75, 100 e 125 poos e 1, 2, 4, 6, 8 e 10
sondas, sendo que para cada grupo de poos foram gerados 10 exemplos, designados de A at J, o
que totaliza 300 instncias. As instncias foram nomeadas da seguinte forma: PNEx-S onde N
corresponde ao nmero de poos, S ao nmero de sondas e Ex ao conjunto de exemplos. Assim,
P75A-4 corresponde a uma instncia do problema A com 75 poos e 4 sondas.
As heursticas com as quais o algoritmo AG-2opt foi comparado so, a Heurstica de
Mxima Prioridade Tricritrio (HMPT), a Heurstica de Montagem Dinmica (HMD) e o Grasp
propostas por Costa (2005) e o Algoritmo Gentico proposto Alves e Ferreira (2006), designado
neste trabalho por AG, pois so as que utilizam a mesma base de dados. A HMTP e a HMD
foram resolvidas usando 3 critrios diferentes para a alocao de um novo poo nas sondas, so
eles: critiro 1 menor valor da vazo perdida (Pi), critrio 2 menor valor de Pi/ti e critrio 3
menor valor de Pi*ti.
Inicialmente, foram escolhidas 25 instncias do exemplo A para os grupos de 25, 50, 75, 100
e 125 poos e 2, 4, 6,8 e 10 sondas para a calibrao do algoritmo. Os resultados obtidos so
apresentados na tabela 2 onde na coluna Melhor Heurstica temos o melhor resultado obtido por
Costa (2005) dentre todas as heursticas implementadas em seu trabalho, na coluna AG-2opt os
resultados obtidos pelo algoritmo desenvolvido no presente trabalho (sendo este resultado a
mdia das cinco execues para cada instncia escolhida.) e a coluna Grasp indica os resultados
obtidos por Costa (2005) para a referida tcnica. Observa-se que o AG-2opt obteve melhores
resultados que o Grasp para todas as instncias testadas e tambm quando comparados com a
Melhor Heurstica, exceto para uma instncia (P25A-8).

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2128


Melhor AG-2opt Grasp
Instncia
heurstica Custo Tempo Custo Tempo
P25A-2 16421 16329 0:00:04 17737 0:01:24
P25A-4 10348 10312 0:00:05 10825 0:01:28
P25A-6 8555 8499 0:00:02 8897 0:01:28
P25A-8 7735 7736 0:00:01 7939 0:01:27
P25A-10 7329 7325 0:00:01 7470 0:01:29
P50A-2 66920 66907 0:00:14 81986 0:19:36
P50A-4 37936 37896 0:00:15 43451 0:20:24
P50A-6 28485 28353 0:00:05 33635 0:19:03
P50A-8 23839 23788 0:00:16 26910 0:20:00
P50A-10 21409 21351 0:00:10 23770 0:20:07
P75A-2 187358 187240 0:00:36 239459 1:23:50
P75A-4 103364 103218 0:00:27 137715 1:13:55
P75A-6 75871 75524 0:00:25 97572 1:30:44
P75A-8 62179 61916 0:00:18 78165 1:22:44
P75A-10 54099 53889 0:00:29 66270 1:26:01
P100A-2 299093 299051 0:01:01 405969 3:09:37
P100A-4 160016 159983 0:00:48 209626 2:59:46
P100A-6 114456 114275 0:02:16 148148 2:59:45
P100A-8 91954 91769 0:02:21 115852 3:05:01
P100A-10 78541 78402 0:00:58 96243 3:01:58
P125A-2 380631 380523 0:02:26 534998 5:38:07
P125A-4 200408 200368 0:01:00 265171 5:37:12
P125A-6 140648 140550 0:01:24 188746 5:34:10
P125A-8 111015 110844 0:01:06 145440 5:37:49
P125A-10 93280 93078 0:02:44 122438 5:48:08
Tabela 2 Resultados dos testes para o grupo A (exceto uma sonda)

A figura 11 destaca as diferenas percentuais obtidas com a execuo do AG-2opt em


comparao a Melhor Heurstica proveniente do trabalho de Costa (2005). Na comparao
tambm foram includas as instncias com apenas uma sonda.

0,10%
0,00%
-0,10%
-0,20%
Diferena

-0,30%
-0,40%
-0,50%
-0,60%
-0,70%
P100A-10

P125A-10

-0,80%
P50A-10

P75A-10

P100A-2
P100A-4
P100A-6
P100A-8

P125A-1

P125A-4

P125A-8
P25A-10

P100A-1

P125A-2

P125A-6
P25A-1

P25A-4

P25A-8

P50A-1

P75A-2

P75A-6
P25A-2

P25A-6

P50A-2
P50A-4
P50A-6
P50A-8

P75A-1

P75A-4

P75A-8

Ins tncias

Figura 11 Diferenas percentuais AG-2opt X Melhor heurstica

A seguir os resultados obtidos por AG-2opt e AG foram comparados com os resultados


timos, encontrados por Costa (2005) utilizando o solver CPLEX 9.0, para as 60 instncias com

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2129


25 poos. O histograma da figura 12 mostra os gaps do AG-2opt e do AG em relao aos
resultados obtidos pelo CPLEX 9.0. O gap calculado da seguinte forma gap (%) = (resultado
AG-2opt (ou AG) resultado CPLEX)*100 / resultado CPLEX. Nesse histograma observa-se
uma equiparao entre os resultados obtidos para as duas implementaes com ligeira vantagem
para o AG-2opt. H que se ressaltar que os resultados so bastante satisfatrios j que o gap
mximo para o AG-2opt no ultrapassa a 0,4%, enquanto para o AG chega em 0,6 % e para as
melhores heursticas apresentadas por Costa (2005) chega a 1,79 %.

60 55 54
50
40 AG-2opt AG
30
20
10 3 2 1 3 1 0 0 0 0 1 0 0
0

0,6 +
0,1 %

0,2 %

0,3 %

0,4 %

0,5 %

0,6 %
0,0 -

0,2 -

0,3 -

0,5 -
0,1 -

0,4 -

%
Figura 12 Histograma comparativo do gap (%) em relao ao CPLEX 9.0

A seguir, foram realizados testes com todas as outras instncias artificiais ainda no testadas.
Na tabela 3 tem-se a mdia de iteraes em cada grupo de poos para atingir a soluo do
problema, alm do tempo mdio de execuo para obter essa soluo.

25 Poos 50 Poos 75 Poos 100 Poos 125 Poos


Max. Iteraes 39 57 78 79 103
Iteraes 17 24 35 37 39
Tempo (s) 2 9 34 71 133
Tabela 3 Mdias de iteraes e tempos de execuo

Na tabela 4 encontra-se um resumo dos resultados obtidos, considerando vitria quando o


algoritmo implementado encontra um resultado menor ou igual ao melhor resultado obtido por
Costa(2005). Observa-se desempenho bastante superior do AG-2opt em relao s heursticas
implementadas por Costa (2005).

HMPT1 HMPT2 HMPT3 HMD1 HMD2 HMD3 AG-2opt


25 poos 1 10 0 12 10 11 57
2% 17% 0% 20% 17% 18% 95%
Exclusiva 0 0 0 1 0 1 47
50 poos 0 10 0 9 10 9 60
0% 17% 0% 15% 17% 15% 100%
Exclusiva 0 0 0 0 0 0 50
75 poos 0 12 0 10 12 10 58
0% 20% 0% 17% 20% 17% 97%
Exclusiva 0 0 0 0 0 0 48
100 poos 0 10 0 10 10 10 60
0% 17% 0% 17% 17% 17% 100%
Exclusiva 0 0 0 0 0 0 50
125 poos 0 10 0 10 10 10 60
0% 17% 0% 17% 17% 17% 100%
Exclusiva 0 0 0 0 0 0 50
Total 1 52 0 51 52 50 295
0% 17% 0% 17% 17% 17% 98%
Exclusiva 0 0 0 1 0 1 245
Tabela 4 Resumo das vitrias e vitrias exclusivas para todas as instncias testadas

Na tabela 5 encontra-se um resumo do nmero de vitrias obtido pelo AG-2opt e pelo AG


em relao aos resultados apresentados por Costa (2005). Ressalta-se que, no momento, no
possvel uma comparao direta entre AG-2opt e AG pois em Alves e Ferreira (2006) no foram

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2130


apresentados os resultados obtidos para cada instncia e sim um quadro resumo com as vitrias
obtidas.

AG-2opt AG
25 poos 95 % 83 %
50 poos 100 % 77 %
75 poos 97 % 68 %
100 poos 100 % 45 %
125 poos 100 % 22 %
Tabela 5 Resumo das vitrias do AG-2opt e do AG

Nota-se um desempenho superior do AG-2opt em relao ao AG para todos os grupos de


poos, em especial, para problemas de maior porte (com mais poos). Observa-se tambm que o
desempenho do AG-2opt no se deteriora medida que se aumenta o nmero de poos, ao
contrrio do AG, o que demonstra a robustez do AG-2opt.
Vale salientar que o AG foi executado numa mquina inferior (800 MHz Pentium III com
512 MB de RAM) ao que o AG-2opt foi executado. As instncias dos grupos 100 e 125 foram
resolvidas na mdia, respectivamente, em 97 e 122 segundos, para o AG, e 71 e 133 segundos
para o AG-2opt, o que no desmerece a eficincia do algoritmo implementado, especialmente
para instncias com muitos poos. interessante notar tambm que, o AG gera e avalia muito
mais indivduos, em torno de 24000, para instncias com 100 e 125 poos, enquanto o AG-2opt,
no ultrapassa a 8000 indivduos, o que indica a eficincia das operaes genticas e do mtodo
de melhoramento implementados neste trabalho. Como trabalho futuro prev-se a implementao
do algoritmo gentico proposto por Alves e Ferreira (2006) para que a comparao seja feita de
forma ainda mais apurada.

5. Concluses
Este trabalho mostrou a eficincia do uso da tcnica Algoritmo Gentico em conjunto com
outras tcnicas, como a heurstica 2-opt, possibilitando sua hibridizao e a empregando ao POI-
SPT. Pde-se perceber a importncia que h na combinao de mtodos heursticos para a
obteno de bons resultados. Em particular, a incluso da heurstica 2-opt, como mtodo de
aprimoramento de solues, melhorou consideravelmente a qualidade das solues obtidas no
decorrer do trabalho. H que se ressaltar a importncia do uso de um mtodo gerador de solues
iniciais derivado da HMPT, o qual foi empregado como estratgia para obter um melhoramento
prvio das solues tratadas pelo algoritmo, o que favoreceu a constituio de solues de boa
qualidade j no incio da execuo.
Ao se fazer comparaes, com outros mtodos, usando as instncias artificiais do trabalho de
Costa (2005) os resultados mostraram-se promissores dado que medida que o nmero de poos
aumenta a qualidade das solues no diminui. No obstante, novos tratamentos podem ser feitos
no contexto da escolha da melhor opo dentre os diferentes tipos de operadores genticos alm
dos critrios de parada e probabilidades de mutao e cruzamento, sendo interessante, ao final,
observar o comportamento do AG-2opt quando o mesmo fosse empregado em um ambiente
paralelizado.

6. Referncias.
Accioly, R. & Chiyoshi, Y. Modelando as operaes de suas sondas de petrleo utilizadas na
manuteno da produo. Editora Petrobrs, 2000.
Aloise, D. et al., Heursticas de colnia de formigas com path-relinking para o problema de
otimizao da alocao de sondas de produo terrestre SPT, Atas do XXXIV SBPO, 2002.
Alves, V. R. F. M.; Ferreira, V. J. M. Proposta de algoritmo gentico para a soluo do
problema de roteamento e seqenciamento de sondas de manuteno, Atas do XXXVIII SBPO,
2006.
Costa, L. R. da, Solues para o problema de otimizao de itinerrio de sondas, Tese de
mestrado, UFRJ, Rio de Janeiro, 2005.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2131


Goldbarg, M. C. e Luna, H. P. L., Otimizao combinatria e programao linear: modelos e
algoritmos, Campus, Rio de Janeiro, 2000.
Gouva, E. F.; Goldbarg, M. C.; Costa, W. E., Algoritmos evolucionrios na soluo do
problema de otimizao do emprego de sondas de produo em poos de petrleo, Atas do
XXXIV SBPO, 2002.
Holland, J. H., Adaptation in Natural and Artificial Systems: An Introductory Analysis with
Applications to Biology, Control, and Artificial Intelligence, University of Michigan Press, 1975.
Lobo, E. L. M., Uma soluo do problema de horrio escolar via algoritmo gentico. Tese de
mestrado, CEFET-MG, 2005 (http://www.mmc.cefetmg.br/info/downloads/D006-
EduardoLuizMirandaLobo2005.pdf), 9, 2008.
Lopes, H. S., Fundamentos de computao evolucionria e aplicaes, XIII Escola Regional de
Informtica da SBC - Paran, Bandeirantes: FFALM/SBC, Paran, 52-107, 2006.
Maia, R. S.; Gonzaga, C. M.; Lima, F. C. & Bittencourt, V.G. Otimizao das intervenes
em poos de petrleo por sondas de produo terrestre: Busca Tabu. Atas do XXXIV SBPO,
2002.
Noronha, T. F., Algoritmos e estratgias de soluo para o problema de gerenciamento de
sondas de produo terrestre na bacia petrolfera potiguar, Revista eletrnica de iniciao
cientfica, a. 1, v. 1, n. 2, SBC, 11, 2001 (https://www.sbc.org.br/reic/edicoes/2001e2/), 5, 2008.
Oliveira, E. F.; Pagoto, F. B.; Silva, F. T.; Lorenzoni, L. L., Scatter search aplicado ao
problema de otimizao da alocao de sondas de produo em poos de petrleo, Atas do XXVII
ENEGEP, 2007.
Paiva, R.O. Otimizao do itinerrio de Sondas de interveno com quantificao de perdas
atravs de simuladores de reservatrios. Dissertao de Mestrado - Unicamp, Campinas, SP,
Brasil, 1997.
Thomas, J. E. Fundamentos de Engenharia de Petrleo. Editora Intercincia. Rio de Janeiro,
1999.
Trindade, V. de A., Desenvolvimento e anlise experimental da metaheurstica GRASP para um
problema de planejamento de sondas de manuteno, Tese de mestrado, Universidade Federal
Fluminense, 2005 (http://www.ic.uff.br/PosGraduacao/Dissertacoes/273.pdf), 9, 2008.

XLI SBPO 2009 - Pesquisa Operacional na Gesto do Conhecimento Pg. 2132