TIAGO ARAÚJO NEVES
Heurísti as om Memória Adaptativa Apli adas ao
Problema de Roteamento e S heduling de Sondas de
Manutenção
NITERÓI
TIAGO ARAÚJO NEVES
Heurísti as om Memória Adaptativa Apli adas ao
Problema de Roteamento e S heduling de Sondas de
Manutenção
Dissertação de Mestrado submetida ao
Pro-gramadePós-GraduaçãoemComputaçãoda
Universidade Federal Fluminense omo
re-quisito par ial para a obtenção do tíulo de
Mestre emComputação. Areade
on entra-ção: OtimizaçãoCombinatóriaeInteligên ia
Arti ial.
Orientador:
Luiz Satoru O hi
Roteamento e S heduling de Sondas de Manutenção
Tiago Araújo Neves
Dissertação de Mestrado submetida ao
Pro-gramadePós-GraduaçãoemComputaçãoda
Universidade Federal Fluminense omo
re-quisito par ial para a obtenção do tíulo de
Mestre emComputação.
Aprovada por:
Prof. Luiz Satoru O hi / IC-UFF(Presidente)
Prof. Eduardo U hoa Barboza / EP-UFF
Profa. Lú ia M. A. Drummond /IC-UFF
Prof. Mar oneJ. F. Souza / DECOM-UFOP
Profa. NairMariaMaia de Abreu / COPPE-UFRJ
A Deus, pelasaúde e pela ajuda quemais ninguém pode dar.
À minhafamília,em espe ialàminhaavóTereza, aosmeus paisWilleseConsolação,
àminha irmã ea meu tioAfonso pelo apoioe in entivo.
Ao professore orientadorLuiz SatoruO hi, peloapoio,orientação eamizade.
Aosprofessores EduardoU hoa,CristinaBoereseLú iaDrummondpeloapoiodado.
Ao amigoMar one JamilsonFreitas Souza, pelo ompanheirismo e amizade.
Aos grandes amigos quez emOuro Preto e reen ontrei emNiterói.
Aos bons amigos quez aquiem Niterói.
Aos irmãosde Mestrado,Doutorado elaboratório.
Aos irmãosde repúbli a.
Aos amigosde outras idades, que quando pre isei,sempre estenderamas mãos para
meajudar.
OProblemade Roteamento eS heduling de Sondasde Manutenção é umageneralização
doProblemade Roteamentode Veí ulos lássi o,que onsiste em riar rotaspara o
on-juntode sondasresponsáveis porfazer manutenção nos poços de petróleo. O objetivodo
problema é reduzir o tempo em que os poços am o iosos, aumentando assim a
quan-tidade de óleo oletado. Para resolver o problema foram utilizadasté ni as de Memória
Adaptativa,quefazem uso estratégi ode memória,asso iadasàheurísti as. Quatro
heu-rísti as foram propostas: um GRASP tradi ional, um GRASP que faz uso de té ni as
de memória adaptativa, uma Bus a Tabu e uma Bus a Lo al Iterada. Os algoritmos
propostos foramtestados om instân ias de tamanhovariadoe, para algumasdessas
ins-tân ias, omparados ommétodosexatos. Resultados omputa ionaismostramqueouso
de té ni as de memóriaadaptativapode melhoraro desempenho dessas metaheurísti as,
TheWorkoverRigRoutingandS hedulingProblemisageneralizationofthe lassi
Vehi- leRouting Problem and onsists on reating routes to the workover rig set responsable
fordoing mantenan e onoil wells. The goalisredu e the wells'idletime, in reasing the
amount of oil ole ted. Adaptive Memory te hniques, that are te hniques that use
me-moryin astrategi way, asso iated with heuristi s were used to solve the problem. Four
heuristi s were proposed: a traditional GRASP, a GRASP that uses adaptive memory
te hniques, a Tabu Sear h and a Iterated Lo al Sear h. The proposed algorithms were
testedwithvariablesizeinstan es, and, forsome ofthese instan es, ompared withexa t
methods. Computa ional results show that the use of adaptive memory te hniques an
1. Metaheurísti a
2. Memória Adaptativa
3. Bus a Tabu
4. GRASP
5. Bus a Lo alIterada
Listade Figuras ix
Listade Tabelas x
1 Introdução 12
2 Revisão deliteratura 14
2.1 O Problemade Roteamento de Veí ulos -PRV . . . 14
2.2 O Problemade Roteamento de Veí ulos omMúltiplos Depósitos -PRVMD 17 3 O Problema de Roteamento e S heduling deSondas deManutenção (PRSSM) 20 4 AlgoritmosPropostosPara o PRSSM 25 4.1 Memória Adaptativasegundo Glover . . . 27
4.1.1 Fazendo uso da memóriaadaptativa. . . 28
4.2 Memória Adaptativasegundo Taillard. . . 31
4.3 Propostas . . . 33
4.3.1 GRASP e GRASP+MA . . . 33
4.3.2 Bus a Tabu . . . 41
4.3.3 Bus a Lo al Iterada(Iterated Lo al Sera h) . . . 45
5 Resultados omputa ionais 48 5.1 Instân ias . . . 48
5.3 Analise Probabilísti a. . . 63
5.4 Testes om Instân iasexatas . . . 66
6 Con lusões e Trabalhos Futuros 75
3.1 Representação Grá a para oPRSSM . . . 22
4.1 Memória Adaptativa . . . 26
4.2 Soluçõesa serem submetidasà Construção de Vo abulário . . . 29
4.3 Bus a por Palavras . . . 30
4.4 Construção de Frases . . . 30
4.5 Re onexão de Caminhos . . . 31
4.6 Contagem dadiferença entre duas soluções . . . 39
4.7 Exemplo de Perturbação Baseada emMemória . . . 47
5.1 Análise Probabilísti a para instân ia50/10-3 . . . 64
5.2 Análise Probabilísti a para instân ia100/10-4(alvo fá il) . . . 65
5.1 GRASP: resultados para instân ias de 5 sondas . . . 50
5.1 GRASP: resultados para instân ias de 5 sondas . . . 51
5.2 GRASP: resultados para instân ias de 10sondas . . . 51
5.2 GRASP: resultados para instân ias de 10sondas . . . 52
5.3 GRASP+MA: resultados para instân ias de 5 sondas . . . 53
5.3 GRASP+MA: resultados para instân ias de 5 sondas . . . 54
5.4 GRASP+MA: resultados para instân ias de 10 sondas. . . 55
5.5 GRASP X GRASP+MA para instân ias de 50 poços e5 sondas . . . 55
5.6 GRASP X GRASP+MA para instân ias de 100 poços e 5 sondas . . . 56
5.7 GRASP X GRASP+MA para instân ias de 500 poços e 5 sondas . . . 56
5.8 GRASP X GRASP+MA para instân ias de 50 poços e10 sondas . . . 57
5.9 GRASP X GRASP+MA para instân ias de 100 poços e 10 sondas . . . 57
5.10 GRASP X GRASP+MA para instân ias de 500 poços e 10 sondas . . . 58
5.13 BLI: resultados para instân ias de 5 sondas . . . 60
5.14 BLI: resultados para instân ias de 10 sondas . . . 61
5.11 Bus a Tabu: resultados para instân ias de 5sondas . . . 68
5.12 Bus a Tabu: resultados para instân ias de 10sondas . . . 69
5.15 Comparativo para instân ias de 5 sondas . . . 70
5.16 Comparativo das médias parainstân ias de 5 sondas . . . 71
5.17 Comparativo para instân ias de 10sondas . . . 72
Introdução
O petróleo é uma das riquezas minerais mais importantes da atualidade. Seu uso omo
fontede energiaen ontra-seamplamentedifundidoemnossaso iedade, bem omoosseus
derivados diretos e indiretos, gerando empregos e riquezas em todos os estágios de sua
adeiaprodutiva.
O mer ado de petróleo é muito ompetitivo, movimentado milhões de dólares
anu-almente. Por ter um mer ado tão ompetitivo e também por se tratar de um re urso
não renovável, sua exploração deve ser feita de maneira e iente, de modoque os ustos
sejamreduzidos e as jazidas melhor aproveitadas. Por isso, os problemas rela ionados à
extraçãodo petróleovêmse tornando um grande desao para asempresas.
Umdestes problemas,abordado nestetrabalho, éoProblemade Roteamentoe
S he-duling de Sondas de Manutenção (PRSSM), que onsiste em onstruir um onjunto de
boas rotasparaum onjuntodesondas responsáveispelamanutençãodos poços. O
obje-tivodoproblema éminimizarotempoqueospoçosemmanutenção permane emo iosos,
aumentando assim aquantidade de óleo oletado.
Para resolver este problema foram feitos,neste trabalho, estudos em té ni as de
me-mória adaptativa. Tais té ni as fazem uso de estruturas de memória om o objetivo de
tentar melhorar a qualidade das soluções en ontradas. Com base nestes estudos foram
propostas quatro heurísti aspara resolveroproblema: umGRASP tradi ional;uma
ver-são do GRASP que faz uso de memóriaadaptativa, hamada GRASP+MA; uma Bus a
Lo al Iterada (Iterated Lo al Sear h) e uma Bus a Tabu, que também fazem uso de
es-truturas de memória.
aversãoadaptativaGRASP+MA.Osresultadosempíri osindi amqueousodasté ni as
de memória adaptativa pode melhorar onsideravelmente a qualidade nal das soluções
en ontradas porestas heurísti as.
Em uma segunda fase, foram analisados os omportamentos das heurísti as Bus a
Lo alIterada e aBus a Tabu, que são pro edimentos que tem se mostrado e ientes na
solução de diferentes problemas de otimização ombinatória. Em simulações feitas om
diferentes instân ias do PRSSM, foi observado que estas heurísti as, que também fazem
uso de memóriaadaptativa,produzem soluçõesaltamente ompetitivas para o problema
analisado.
Para omprovara qualidadedas heurísti as propostas, foramfeitostestes
omparati-vosentre estaseummodelomatemáti o,tambémpropostonestetrabalho. Osresultados
mostramqueasheurísti as propostas são apazes de atingir ovaloótimo para as
instân- ias testadas.
O restante deste trabalho en ontra-se dividido daseguintemaneira: no apítulo2, é
feita uma breve revisão da literatura; no apítulo 3, é feita uma des rição detalhada do
problemaabordadoeproposta umaformulaçãomatemáti aparaoproblema; no apítulo
4,é feitauma dis ussão sobre memóriaadaptativae são apresentadas as heurísti as
pro-postas para o problema; no apítulo 5, são apresentados os resultados omputa ionais e
Revisão de literatura
O PRSSM é uma generalização do problema lássi o de roteamento de veí ulos (PRV).
Nas últimas dé adas, o problema de roteamento de veí ulos e suas variações têm sido
massivamenteestudados devidoaograndenúmerodeapli açõesreaiseaelevada
omple-xidade destesproblemas.
O modelo lássi ode roteamentode veí ulos euma variante ommúltiplosdepósitos
(origens)são des ritos a seguir.
2.1 O Problema de Roteamento de Veí ulos - PRV
O Problema de Roteamento de veí ulos (PRV) foi proposto nos anos 50 por Dantzig e
Ramser[10℄edesde entãovemsendoestudado massivamenteapontodeser um dos mais
estudados dentro da área de otimização ombinatória [8℄.O on eito deste problema é
bastante omumno otidianodas pessoas,entre suas apli açõessein luemadistribuição
de gás, a oleta de lixo, aentrega e oleta de en omendas, a onstrução de itineráriosde
nibus, aminhões, heli ópteros, navios, aeronaves, trens, et .
Aliteraturaapresentou, nasúltimasdé adas,diferentesapli açõesdoPRVbem omo
inúmeros métodos exatos e heurísti os para a sua resolução. Contudo, Grande destaque
temsidodado àsté ni asheurísti as devidoaofatodeosmodelos dePRV serem,emsua
maioria, lassi ados omoNP-Difí eis.
O problema típi o de roteamento de veí ulos (PRV) pode ser des rito, onforme
Bräysy eGendreau[4℄, omooproblemadedenição domenor usto dasrotasde um
úni o veí ulo, omeçando e terminando emum mesmo depósito, de forma anão ex eder
a apa idade doveí ulo. Todas as demandas dos lientes devemser satisfeitas.
UmarevisãosobrediversosmétodosdesoluçãoparaoPRV,bem omoaapresentação
dediferentesvariantesdoproblemaéen ontradaemCordeauetal. [8℄. Nessetrabalho,os
pro edimentos de solução existentes na literaturasão lassi ados emquatro ategorias,
asaber: pre isão, velo idade, simpli idadee exibilidade.
Golden et al. [18℄ fazem uma revisão históri a do PRV, apresentando uma
ompara-ção entre diversas té ni as utilizadas na resolução deste problema. Os autores sugerem
maneirasde apresentar resultadose parâmetros. Estes ainda re omendamqueos
pesqui-sadores onstruamheurísti as apazesde auto-ajustar algunsdeseusparâmetros,porque,
segundo eles, algumasheurísti asre entes possuem umnúmerode parâmetros maiorque
onúmero de problemas teste existentes.
Laporte et al., em [23℄, fazem uma revisão sobre as heurísti as lássi as
apresenta-das na literatura para o PRV. Estes armam que pou o espaço ainda resta para novos
melhoramentos na área de heurísti as lássi as para o problema, uma vez que, as
me-taheurísti as são apazes de en ontrar soluções de melhor qualidade e, algumas vezes,
exigindomenos tempo omputa ional.
Gendreauetal.,em[14℄,fazemuma omparaçãoentrediversasmetaheurísti as
apli a-dasaoPRV, hegandoa on lusãodequeasversõesdeBus aTabusãoasqueapresentam
osmelhoresresultados,enquantoasversõesdeSimulatedAnnealing eColniadeFormigas
usualmente não se mostram ompetitivasneste problema.
No que tange aos métodos exatos, Toth et al. [40℄ apresentam uma revisão dos mais
importantesalgoritmosde bran h-and-bound propostos,duranteaúltimadé ada, paraas
versõessimétri aeassimétri adoPRV. Estesarmamqueaindahámuito paraser feito,
uma vez que aindaexistem instân ias do problema emaberto.
Uma possível formulação matemáti a para o PRV é apresentada [19℄, e aqui
trans- rita om o objetivo de ilustrar o uso de métodos exatos para o PRV. Nesta formulação
onsidera-se: um onjunto de vérti es ( lientes)
N
enumerado por{1, ..., n}
, represen-tandoos lientese 0aorigemdas rotas;um onjuntode ar osligandoestes vérti es, omc
ij
representando o usto de viagem para se ir do lientei
ao lientej
;q
j
a demanda doliente
j
;Q
a apa idadedos veí ulose,nalmente,k
aquantidadedisponíveldeveí ulos homogêneos.• y
ij
representa a quantidade de uxo que passa de um lientei
para um lientej
.• x
ij
=
(
1
seo lientej
é atendido logoapós o lientei
0
aso ontrárioMin
n
X
i=0
n
X
j=0
c
ij
x
ij
(2.1)s.a.
n
X
i=0
x
ij
= 1 (j = 1, ..., n)
(2.2)n
X
j=0
x
ij
= 1 (i = 1, ..., n)
(2.3)n
X
i=0
x
i0
=
n
X
j=0
x
0
j
= k
(2.4)n
X
i=0
y
ij
−
n
X
i=0
y
ji
= q
j
(j = 1, ..., n)
(2.5)q
j
x
ij
≤ y
ij
≤ (Q − q
i
)x
ij
(i, j = 1, ..., n)
(2.6)x
ij
∈ {0, 1}, (i, j = 1, ..., n)
(2.7)Na formulação des rita por (2.1)-(2.7), a função objetivo des rita em 2.1requer que
se minimize o usto total de viagem. As restrições 2.2 exigem que todo liente só seja
visitadouma úni avez. As restrições2.3exigem quesóse possa partiruma úni avez de
um liente. As restrições 2.4 e 2.7 espe i am que existem exatamente
k
rotas, fazendo assim, omquetodososveí ulossejamutilizados. Asrestrições2.5e2.6evitam a riaçãode rotas des onexas daorigem eas restrições2.6 estabele em aligação entre asvariáveis
y
ij
ex
ij
,assegurandoquehaverátransportede argaemumar osealgumveí uloutilizareste ar o.
Diversas são asvariaçõesdoPRV bási o,namaioriadas vezes apenas ompostas por
um maior número de restrições, seja de tempo, de distân ia, de omposição de frota,
de limitação de frota, et . Mais informações sobre o PRV e suas variantes podem ser
2.2 O Problema de Roteamento de Veí ulos om
Múl-tiplos Depósitos - PRVMD
O PRVMD difere do PRV pelo fato de que existem vários depósitos de onde as rotas
podem se originar. Dentre osmodelos mais popularesda literatura, este é o que mais se
assemelha ao PRSSM, abordado neste trabalho. Contudo, é um problema ainda pou o
exploradoquando omparado om oPRV.
Namaioriados asos,pararesolvê-loéfeitaumaasso iaçãodos lientesaosdepósitos.
Esta asso iação faz omque oproblema sejareduzido a vários PRV tradi ionais,quesão
então resolvidos separadamenteouem onjuntos.
Uma das primeiras heurísti as para resolver o PRVMD foi proposta em 1969 por
Tillman [38℄ e usa o ritério de e onomia de Clarke e Wright [7℄. Primeiramente, o
algoritmoasso ia ada lienteaodepósito quese en ontramais próximoaeste, e depois,
onstróirotas para ada depósito. Essas rotas são gradualmente ombinadas usando um
ritério de e onomia que leva em onta a presença de depósitos diferentes, resultando
assim em rotas maiores. Essa heurísti a é apenas onstrutiva e não possui uma fase
posteriorde renamento.
Taillard[33℄des revemétodospararesolverproblemasde lusterização om entróides
através da de omposição do problema em problemas menores. Apesar de os métodos
teremsido propostos para aresolução doproblema de p-medianas, oautormen iona que
alguns destes métodos podem ser utilizadospara o PRVMD. Através de espe ializações,
os métodos podem ser usados para fazer a asso iação de lientes aos depósitos, bem
omopara otimizarossub-problemasproduzidosporestaasso iação. Porém,oautornão
apresentaresultados para estas espe ializações.
Tansini et al. [37℄ apresentam uma omparação entre vários métodos de asso iação
entre lientes e depósitos. Resultados apresentados apontam, segundo os autores, que
usar métodos exatos para resolver o problema de asso iação é uma boa opção, uma vez
queestes apresentam soluções de boa qualidadeemum tempo omputa ionalviável.
Renaud et al. [29℄ propõem uma Bus a Tabu omposta de uma fase de onstrução
ini ial, seguido de uma bus a lo al, uma fase de intensi ação e uma de diversi ação.
O algoritmo foi testado em diversas instân ias já onhe idas na literatura, retiradas de
[15, 6, 5℄ , que possuem entre 50 e 360 lientes e entre 2 e 9 depósitos. O algoritmo foi
Nagy eSalhi[25℄ abordamoPRV om entregae oletade mer adorias,apresentando
uma breve dis ussão sobre os modelos existentes para este tipode problema. Osautores
apresentammétodos paramodi arrotasemostram omoestendersuas propostasparao
PRVMD. Foramapresentadosresultadosdetestes omparativos omoutrasheurísti asda
literatura,utilizandotantoumúni odepósitoquantomúltiplosdepósitos, parainstân ias
bem onhe idas daliteratura.
Re entemente,em2007,Crevier,CordeaueLaporte[9℄apresentaramumestudosobre
umaversãodoPRVMDnaqualosveí ulospodempararemdepósitosintermediáriospara
reabaste imentode argaduranteaexe uçãodasrotas. Umaformulaçãomatemáti apara
oproblemaéapresentada, eumalgoritmodeBus aTabuépropostobaseadonasidéiasde
Cordeau[8℄ eTaillard [34℄. Testesforam feitosparainstân ias lássi ase para instân ias
riadasespe i amente para este problema. Resultados mostramuma heurísti a robusta
eque exigeum tempo omputa ionala eitável.
No quedizrespeito aos algoritmosexatos, podemos men ionarotrabalhode Laporte
[22℄,queapresentaumalgoritmobaseado emumaformulação omrelaxações
ombinató-rias. Oproblema éreduzido a um problema de asso iaçãoatravés de uma transformação
emgrafos. Um algoritmo Bran h-and-Bound modi adoé então utilizado para resolver
asinviabilidadesgeradas para oproblema original.
Umapossívelformulaçãopara oproblema, aquiproposta om analidadede ilustrar
ousodemétodosexatosparaoPRVMD,podeserdenidadaseguintemaneira: onsidere
um grafo
G = (V, D, A)
, ondeV = {v
1
, ..., v
n
}
é o onjunto de vérti es que representam os lientes. Considere ainda o onjuntoD = {d
1
, ..., d
k
}
de vérti es que representam depósitoseA
o onjuntodearestasinterligandoestesvérti es, omum ustoc
ij
asso iado, representandoo ustodeirdovérti ei
aovérti ej
. Cada lientej
possuiumademandaq
j
asso iada e ada depósitok
possuium número deveí ulos asso iador
k
. A argamáxima omportada pelos veí uloshomogêneos é denotada porQ
.Assim denem-se asseguintes variáveis:
• y
ijk
representa a quantidade de uxo que passa do lientei
para o lientej
vindododepósito
k
.• x
ijk
=
1
se o lientej
é atendido logoapós o lientei
porum veí ulo vindododepósito
k
Min
X
i∈V ∪D
X
j∈V ∪D
X
k∈D
c
ij
x
ijk
(2.8)S.a.
X
j∈V ∪D
X
k∈D
x
ijk
= 1 ∀i ∈ V
(2.9)X
i∈V ∪D
X
k∈D
x
ijk
= 1 ∀j ∈ V
(2.10)X
i∈V ∪D
X
j∈V
x
ijk
= r
k
∀k ∈ D
(2.11)X
i∈V
X
j∈V ∪D
x
ijk
= r
k
∀k ∈ D
(2.12)X
i∈V ∪D
X
k∈D
y
ijk
−
X
i∈V ∪D
X
k∈D
y
jik
= q
j
∀j ∈ V
(2.13)X
i∈V
x
ikk
= r
k
∀k ∈ D
(2.14)X
j∈V
x
kjk
= r
k
∀k ∈ D
(2.15)X
i∈V ∪D
x
ijk
=
X
i∈V ∪D
x
jik
∀j ∈ V, ∀k ∈ D
(2.16)y
ijk
≤ x
ijk
Q ∀i, j ∈ V ∪ D, ∀k ∈ D
(2.17)x
ijk
∈ {0, 1}, ∀i, j ∈ V ∪ D, ∀k ∈ D
(2.18)Na formulação des rita por (2.8)-(2.18),a função objetivoé des rita em2.8 e requer
a solução de menor usto para o problema. As restrições 2.9 e 2.10 exigem que para
ada liente haja exatamente uma entrada euma saída. As restrições2.11 e2.12 tratam
donúmero de veí ulos utilizadospor ada depósito, visando que todos os veí ulos sejam
utilizados. As restrições2.13 tratamdaproibiçãodaformaçãode subrotas. As restrições
2.14, 2.15 e 2.16 exigem que as rotas terminem no mesmo depósito que omeçaram. As
restrições 2.17 estabele em a ligação entre as variáveis
y
ijk
ex
ijk
exigindo que só haja uxopassandoporumaarestaseestaestiverativanasoluçãoeassegurandoaviabilidadeO Problema de Roteamento e S heduling
de Sondas de Manutenção (PRSSM)
Aretiradade petróleoegás dosubsolo,sejaemterra oumar, éumaatividadede elevado
usto,poisrequermão-de-obraespe ializada, altate nologiaeequipamentossosti ados.
E por se tratarem de re ursos não renováveis, as jazidas ne essitam ser exploradas por
métodos omprovadamentee ientes,quegarantamomelhoraproveitamentodasmesmas.
Como dito em[26℄, [41℄e[2℄, emmuitos asos, aelevação dos uidoséfeitade forma
arti ial omouso de equipamentosespe iaisdevido aofatode queospoços nemsempre
possuem pressão su iente para que os uidos atinjam a superfí ie. Por isso, serviços
omoos de limpezae manutenção dos equipamentosde elevação de uidossão essen iais
para seevitar paradas nopro esso de extração.
Esses serviços de manutenção, limpeza e até mesmo reparo para poços terrestres
(onshore)são realizados porequipamentosmóveis, denominadossondas,queestão
dispo-níveisemumnúmerolimitadoe muitopequenose omparado àquantidade de poços que
demandam serviços. Seria ideal que houvesse uma sonda de manutenção xa para ada
poço; assim, um poçoque pre isasse de manutenção seriaprontamente atendido. Porém,
devidoaoseualto ustodeaquisição,nãoélu rativomanter umnúmerotãograndedesse
tipo de equipamento. Sendo assim, a manutenção imediata de um poço nem sempre é
possível,o que provo aa o orrên ia de uma lade poços à espera de atendimento.
Quandoédete tadaumafalhanosequipamentosdealgumpoço,paraqueestevolteà
fun ionaromaisbrevepossível,éfeitoumpedidodemanutenção. Emseguida,éfeitoum
planejamentode atendimento para ada sonda disponívelemum dado períodode tempo
pro esso, da dete ção de problemas nos poços, até a exe ução dos es alonamentos pelas
sondas, é hamado de horizonte de trabalho. Trindade [41℄ apresenta uma des rição
detalhadado proto olo de agendamento de manutenção para os poços.
Éimportantelembrarque adapoçopossuisuarespe tivavazão,queéa apa idadede
produçãodeóleobrutoporunidadedetempo. Quandoalgumproblemanosequipamentos
de extração de um poço é dete tado, por questões de segurança, os equipamentos são
desligados ea vazão desse poçodeixade ser oletada até queo problema seja orrigido.
Destaforma,podemos olo ar omoobjetivodoProblemadeRoteamentoeS heduling
de Sondas de Manutenção (PRSSM) en ontrar o melhor es alonamento para as sondas
disponíveis, minimizandoa perda total de produção de petróleo asso iada aos poços que
estão aguardando por atendimento. Entende-se por perda de produção de petróleo de
um poço omo sendo a vazão desse poço multipli ada pela quantidade de unidades de
tempo que esse poço teve sua produção interrompida e, por perda total de produção,
a soma da perda de produção de todos os poços que aguardam pela manutenção. Além
disso,paragerarumaboasoluçãodoproblema,deve-sefazerumes alonamentodesondas
para o onjunto de poços, onsiderando informações omo: vazão do poço, sua posição
em relação aos demais poços que ne essitam ser reparados e o prazo limite para o seu
atendimento.
Assim, ada poço
i
quesoli ita a manutenção possui: uma vazão, queindi a a apa- idadede produçãodeste poço; um tempo de serviço, que indi ao tempoestimado pararealizar a manutenção e um limite de tempo, que representa o tempo máximo que este
poçopode aro ioso(sem produzir). Cada poçodeve ser atendido umaúni a vez epor
uma úni asonda.
Cada sonda parte de um ponto ini ial diferente no omeço do planejamento. Esse
fatotorna oPRSSM integranteda lassedos Problemas de Roteamentode Veí ulos om
MúltiplosDepósitos.
A Figura 3.1 mostra uma representação grá a para o PRSSM. Nela são vistos, um
onjuntode poços, em inza laroe mar adospelaletra P;um onjunto de sondas, inza
es uroemar adaspelaletraS;easrotaspara adasonda. Noteque,asrotasnãopre isam
retornar ao ponto de origem. Este fato o orre devido à inexistên ia de garagens para as
sondas. Ospontos ini iaisdas sondas,emumhorizontede trabalho,são osúltimospoços
atendidos por ada uma delas no horizonte anterior. Assim, um poço que se en ontra
Figura3.1: Representação Grá a para oPRSSM
O PRSSM é naverdade, uma generalização dos problemas PRV e PRVMD. Como o
PRV perten e à lasse NP-difí il [24℄ e por se tratar de uma generalização deste último,
oPRSSM tambémé lassi ado omo perten ente à lasseNP-difí il,limitando omisso
ouso ex lusivo de métodos exatos para asolução doproblema de maneiraviável.
Entretanto,mesmo om estas limitaçõesaouso de métodos exatos, é importante
de-senvolverformulaçõesmatemáti asparaestes problemas,tantoparaavaliarosresultados
de métodos aproximados em instân ias de pequeno porte, omo para tentar obter
limi-tes inferiores de boa qualidade para o valor ótimo (valor ou função objetivo asso iado à
solução ótima). Desta forma, propomos neste apítulo uma formulação matemáti a do
PRSSM, modelando-o omo um problema de programação linear inteira mista, om o
objetivo de possibilitar o uso de métodos exatos, via software CPLEX, na resolução de
instân ias doPRSSM. Para isto, onsidere a seguinte notação:
Seja
N
o onjunto de poços,N = {p
1
, p
2
, ..., p
n
}
,S = {s
1
, s
2
, ..., s
r
}
o onjunto de sondaset
ij
o tempo gasto para per orrer a distân iaentre os poçosp
i
ep
j
, omi 6= j
ep
i
, p
j
∈ N
. Cadapoçop
i
possuiasso iadoumavazãov
i
porunidadede tempo,um tempode serviço
ts
i
e um tempo limite de atendimentol
i
asso iado. No iní io da rota, ada sondas
k
estálo alizadaemalgumpontoo
k
queperten eao onjuntodeorigensdesondas, dado omo entrada e indexado porO = {o
1
, o
2
, ..., o
r
}
. Cada poçodeve ser visitado uma úni a vez e por uma úni a sonda, sendo que nenhum poço pode ar sem atendimentonoperíodo. Na formulação des rita por (3.1)-(3.11), a função objetivo des rita em (3.1)
limitesde tempo de atendimento.
Denimos também, as seguintes variáveis:
• y
i
≥ 0;
tempo queo poçoi
ou parado.• x
ijk
=
(
1
seo poçoj
éatendido pelasondak
logoapóso poçoi
0
aso ontrárioMin
X
i∈N
y
i
v
i
(3.1)S.a.
y
i
≤ l
i
, ∀i ∈ N
(3.2)X
i∈N ∪O
i6=j
X
k∈S
x
ijk
= 1, ∀j ∈ N
(3.3)X
j∈N
i6=j
X
k∈S
x
ijk
≤ 1, ∀i ∈ N ∪ O
(3.4)X
i∈N ∪O
i6=j
x
ijk
−
X
i∈N ∪O
i6=j
x
jik
≥ 0, ∀j ∈ N, ∀k ∈ O
(3.5)X
j∈N
x
ijk
≤ 1, onde i = o
k
, ∀k ∈ S
(3.6)X
i∈O
X
j∈N
x
ijk
≤ 1, ∀k ∈ S
(3.7)X
i∈O
i6=o
k
X
j∈N
x
ijk
= 0, ∀k ∈ S
(3.8)(y
i
+ t
ij
x
ijk
+ ts
j
x
ijk
) − y
j
≤ (1 − x
ijk
)M,
∀i ∈ N ∪ O, ∀j ∈ N(i 6= j), ∀k ∈ S e onde M >>> 0 (constante)
(3.9)y
i
≥ 0, ∀i ∈ N
(3.10)x
ijk
∈ {0, 1}, ∀i ∈ N ∪ O, ∀j ∈ N, ∀k ∈ S
(3.11)Na formulação des rita por(3.1)-(3.11), a função objetivo des ritaem (3.1) requer a
minimização da quantidade de óleo que deixa de ser oletado no período. As restrições
(3.2) exigem que todos os poços sejam atendidos dentro de seus respe tivos limites de
tempo de atendimento.
sondapartindo deste. As restrições (3.5) exigem que, seuma sonda hega a um poço
p
i
, somenteela sairá deste mesmopoço. As restrições (3.6)obrigam que ada sonda saianomáximoumavez desuaorigem. Asrestrições(3.7)exigemque adasondasaiadaorigem
nomáximo uma vez para atender um poço. As igualdades (3.8) exigem que uma sonda
sópossa sairde sua origem orrespondente. As inequações(3.9) indi amque seum poço
p
j
é atendidoapósumpoçop
i
,pelamesmasonda,o tempoy
j
deveser maior ouigualaotempo
y
i
somadoaotempode viagemt
ij
eaotempode atendimentots
j
,sendo Mé uma onstante omvalorarbitrariamentealto. Finalmente,(3.10) e(3.11)são asrestriçõesdeintegralidadee não negatividade referentes às variáveisdoproblema.
Esta formulação foi utilizada neste trabalho na resolução de pequenas instân ias do
problema através do software CPLEX. Esta formulação foi utilizada neste trabalho na
Algoritmos Propostos Para o PRSSM
Pelo fato de o PRSSM ser um problema da lasse NP-difí il,a tendên ia é que métodos
exatos não onsigam resolvê-lo para a maioria das instân ias de maior porte ou, em
alguns asos, não onsigam resolvê-lo em tempo satisfatório. Devido a este fato, foram
propostasalgumasheurísti asparaseremusadasisoladamenteouparaseremin orporadas
adiferentesmetaheurísti asnaaresoluçãodoproblema. Metaheurísti asnãosãométodos
exatos, ou seja,não dão garantiade en ontrar uma soluçãoótima para oproblema, mas
freqüentemente apresentam resultados de boa qualidade em um tempo omputa ional
muito inferior aodos métodos exatos.
Neste ontexto,paraal ançarestasmetas,umatendên iaquetemtrazidobons
resul-tados é o uso de algum tipo de memórianos algoritmosheurísti os, omo já o orre, por
exemplo,nas heurísti asde Bus aTabu [16, 34℄eemalgumasversões de metaheurísti as
híbridas[35, 36℄.
De uma forma geral, as té ni as de memória adaptativa onsistem em fazer uso de
memóriaparaarmazenar informaçõesrelevantes sobre soluçõesouregiõesjá pesquisadas
noespaço de bus a e utilizar essas informações para dire ionar uma estratégia de bus a
nos passos seguintes, objetivando por exemplo: evitar per orrer novamente as soluções
pesquisadas anteriormente, retomar a bus a nas proximidades de pontos já pesquisados,
ombinar ara terísti as de diferentes soluções já analisadas, ou ainda uma ombinação
e/oupermutaçãodestas estratégias.
O objetivo maior em in orporar memória numa metaheurísti a é obter soluções de
melhor qualidade a partir de informações dos pontos do espaço de bus a já visitados.
de a ordo om a estratégia adotada. Por exemplo, se a té ni a es olhida for ombinar
elementos de boas soluções anteriores, podemos utilizar a onstrução de vo abulário[16℄
omo té ni a de geração de novas soluções. Caso o objetivo seja intensi ar a bus a ao
redorde determinadassoluções, podemosusaro on eitodeRe onexãode Caminhos[16℄.
Agora, se a estratégia adotada for de evitar repetir a bus a em espaços já vas ulhados,
uma té ni a de onstrução gulosa aleatória, penalizando os elementos omuns entre as
soluçõesen ontradas, pode ser utilizada.
Porm, estratégiasparaatualizaraestruturadememóriadevemseres olhidas. Para
isso, deve-se levar em onsideração o uso de informações das novas soluções geradas, e
tambémofatode queasinformações ontidasnaestruturade memóriapodemestar
desa-tualizadas. Às vezes é onveniente des onsiderar informaçõesmenos re entes. Emoutros
asos, manter informação sobre todo o espaço já veri ado é extremamente ne essário.
Todas estasquestõesdevemser levadasem ontanomomentodeatualizaraestruturade
memóriautilizada.
Figura4.1: Memória Adaptativa
A Figura 4.1 mostra, resumidamente, o esquema de fun ionamento das té ni as de
memóriaadaptativa. Nelapodemosverinformações ontidasnamemóriasendousadasna
onstrução de novas soluções, bem omo informações das soluções geradas sendo usadas
para atualizaramemória.
As té ni as de memória adaptativa normalmente possuem uma des rição muito
su- inta, porém, seu uso ideal na práti a não é trivial. Questões omo: que atributos das
soluções deve-se armazenar, que té ni as utilizar para ombiná-los, por quanto tempo
um atributo deve ser levado em onsideração ainda são temas polêmi os e normalmente
tratadas aso a aso [16, 35,17,27, 36℄.
paraBus a Tabu een ontra-sea mais tempo emdis ussão estando, portanto,mais
ama-dure ida. Já a segunda, é mais genéri a e pode ser apli ada a diversas metaheurísti as,
porém,porser mais re ente, aindaé pou o apli ada.
4.1 Memória Adaptativa segundo Glover
ParaFredGlover,até ni adememóriaadaptativaépartedoframework doalgoritmode
Bus aTabu (BT) [16℄. Segundo ele, aBT popularizada não émais doque umareduzida
porçãodométodoquepossui originalmente,alémdaBT popular,umamemóriade longo
prazoe pro essos de diversi ação eintensi ação asso iados.
Ainda segundo Glover, quatro fatoressão essen iais para até ni ade memória
adap-tativa: oquão re ente 1
oatributo é,freqüên ia, qualidadee inuên ia.
Oquãore ente umelementoérefere-seàmemóriade urtoprazodaBT.Rela iona-se
om atributos modi ados re entemente e que passam a ser onsiderados tabu por um
períodode tempo.
A freqüên ia, por sua vez, está asso iada à memória de longo prazo. Normalmente
vistas omo frações, onde o numerador ostuma ser o número de vezes que um evento
o orre ou o número de vezes que um atributo apare e nas soluções já visitadas. Os
denominadores, geralmente, são o número total de eventos o orridos representados pelo
numerador ouum valormáximo assumidopelonumerador.
Estes dois primeiros fatores se omplementam, fazendo om que a BT tenha uma
visãodos espaços de bus a já visitado a urto ea longo prazo.
Aqualidade serefereàhabilidadedediferen iaroméritodesoluçõesvisitadasdurante
abus a. Napráti a,aqualidadesetornaumfundamentoparaoaprendizadobaseado em
in entivo. Prêmiossãodadosparaestimularaçõesquelevemaboassoluçõesepenalidades
sãodadaspara desen orajaraçõesquelevemasoluçõesruins. Aqualidadetambémpode
ser um guia para restringiro espaço de bus a.
A inuên ia onsidera o impa todas es olhas feitasdurante a bus a, não apenas na
qualidade,mas tambémna estrutura. Emum algoritmobran h-and-bound porexemplo,
as regras de separação são pré-espe i adas e as direções de divisão xas. Porém, é
óbvioquealgumas de isõestêm mais inuên iadoque outras,porexemplo, quetiposde
movimento de vizinhança utilizar e em que ordem utilizá-los (em um bran h-and-bound
que usa uma estratégia de bus a em profundidade, o ramo da árvore a ser vas ulhado
primeirotem uma grandeinuên ia).
4.1.1 Fazendo uso da memória adaptativa
Trabalhos rela ionados às idéias de Glover seguem quase sempre os mesmos padrões de
usopara memóriaadaptativa. Até ni a utilizadadepende muitodotipode estruturade
memória adotada. Neste trabalho serão mostradas as té ni as para duas estruturas de
memória: onjunto elite e matriz de freqüên ias.
O onjunto elite énadamaisdoqueum onjuntodeboassoluçõesdistintas
en ontra-dasaolongodopro essodebus a. Fatores omootamanhodeste onjuntoeasemelhança
entreassoluçõespresentesnelesãoimportantesenãopodemserdeixadosdeladodurante
aimplementação.
Uma matriz de freqüên ias é simplesmenteuma matriz que ontém as freqüên iasde
aspe tosrela ionadosaoproblema. Taisaspe tospodemser desdeonúmerode vezesque
um evento o orre em uma solução até o número de vezes que um determinado atributo
apare e nas soluçõesen ontradas durantea bus a.
Para o onjunto elite, duas té ni as têm sido mais exploradas: i) a des oberta de
padrões (feita por exemplo om Mineração de Dados (Data Mining [31, 32℄) ou
Cons-truçãode Vo abulário(Vo abulary Building)[16℄) e ii)aRe onexão de Caminhos ( Path
Relinking)[16℄.
Já para matriz de freqüên ias, as duas té ni as mais utilizadas são a mineração de
dadose a Construçãode Vo abulário.
A Mineração de Dados, no ontexto de módulo de uma metaheurísti a [31, 32℄, visa
a obtenção de tendên ias, padrões e orrelações em uma base de dados, no aso, um
onjuntoelite. Váriostiposde onhe imentopodemser des obertos,dentre eles podemos
itarregrasdeasso iação(elasrepresentam umpadrãoderela ionamentoentreosdados),
regras de lassi ação (uma hierarquia entre as várias regras presentes emum sistema),
padrões de seqüên ias (seqüên ias de ações, eventos ou atributos), padrões em séries
temporais (padrões que se repetem em determinadas posições de uma série temporal) e
agrupamento (um onjunto de itens ou eventos pode ser dividido em sub onjuntos de
onsiste em unir fragmentos (palavras) ontidos em várias soluções de boa qualidade,
tentando onstruir soluçõesmelhores apartir destes fragmentos.
A Figura4.2ilustraum exemplode duas soluçõesque serãosubmetidas à onstrução
de vo abulário. As soluções, neste exemplo, são grafos a í li os dire ionados que são
representados pelovetor de adja ên ia logoabaixo delas.
Figura 4.2: Soluções aserem submetidas à Construçãode Vo abulário
Já a Figura 4.3 ilustra o pro esso de bus a por palavras. Neste aso, foi ilustrada
a bus a por fragmentos omuns entre as soluções. De uma forma geral, para que boas
palavrassejamextraídas,éne essárioqueassoluçõesutilizadasnopro essosejamde boa
qualidade, uma vez que, aso uma das soluções não seja de boa qualidade, um número
muito pequeno de palavras (elementos omuns) pode ser en ontrado, dada a diferença
entre assoluções, e, aso ambas sejamde máqualidade,aspalavrasextraídasserão ruins
porquerepresentarãosemelhançasentre soluçõesruins. Estas palavrasruinsnão são
inte-ressantes paraaté ni ade Construçãode Vo abulário,umavez que,ametodologiadesta
té ni aé onstruirsoluçõesmelhores,a partirde palavrasen ontradasnas boas soluções.
As palavras extraídas durante o pro esso de bus a por palavras são armazenadas para
uso em uma fase posterior da té ni a de Construção de Vo abulário que é a onstrução
de frases.
A Figura 4.4 mostra a onstrução de frases. Nesta etapa, é feita uma junção das
palavras en ontradas na etapa de bus a por palavras. O objetivo desta fase é juntar
fragmentos de boas soluções para onstruir novas soluções. No exemplo dado, a junção
de palavras resultou em uma solução ompleta e viável, mas isto nem sempre a onte e,
e, freqüentemente, é ne essário usar um pro edimento de orreção para transformar a
Figura4.3: Bus a por Palavras
Figura 4.4: Construção de Frases
tensiva. Elaexplora avizinhançaentre duas soluçõesextremas de boaqualidade. Temos
uma solução base e uma solução guia. O objetivo é tentar en ontrar uma solução
inter-mediáriade melhorqualidadeper orrendoo aminhoentre asduas soluçõesextremas. A
idéia é usar duas boas soluções, pois, a justi ativa neste aso, é que no aminho entre
duas boas soluçõespode haveruma outra (ou outras) de melhor qualidade.
Até ni ade RCfun ionadaseguintemaneira: ini ialmente al ulam-seasdiferenças
entre asolução base e asolução guia. Para ada uma destas diferenças, será gerada uma
solução andidata. Suponhao onjunto
D = {d
1
, d
2
, ..., d
n
}
o onjuntode diferençasentre assoluçõesbase eguia. Para adad
i
∈ D
, serágerada umasolução andidatas
i
idênti a àsoluçãobase, porém,s
i
ão onterá adiferençad
i
,fato este quetornas
i
um pou o mais semelhante à solução guia. Com isso, podemos denir o onjunto de diferenças entre asolução andidata
s
i
e a solução guia, denotado porD
i
, omoD
i
= D − {d
i
}
. Todas as soluções andidatas são avaliadas, e aquela que possui o melhor usto é es olhida omoEstepro essoérepetidoatéquenãohajadiferençasentre asoluçãobase easoluçãoguia.
Figura4.5: Re onexãode Caminhos
A RCexe uta uma bus a mais intensa naes olhadas primeirassoluções
intermediá-rias. Como as soluções intermediárias vão se tornando mais semelhantes à solução guia
ao longo do pro edimento, no ini io da RC há um número maior de diferenças entre as
soluções intermediárias ea solução guia, o quefaz om queuma bus a mais intensa seja
feitana es olhadas primeiras soluçõesintermediárias.
Pode ser feitoouso de bus alo alnas soluçõesintermediáriaspara melhorara
quali-dadedasoluçãoretornadapelaRC, ontudoassoluçõesresultantes daapli açãode bus a
lo aldevemser tratadasseparadamente, pois,usá-las omosolução intermediária daRC
pode fazer om que aRCnão atinja asolução guia.
Outro fatora ser onsideradoé osentido emque aRCéapli ada. Esta té ni apode
ser apli ada no sentido da pior solução para a melhor, no sentido da melhor para pior,
ou ainda nos dois sentidos simultaneamente. É evidente que, quando apli ada nos dois
sentidos, a RC tende a onseguir resultados melhores do que quando apli ada em um
úni osentido. Contudo, apli aresta té ni anos dois sentidos pode ser muitooneroso em
termos omputa ionais. Quando a exe ução da RC nos dois sentidos é inviável, a RC
deve,preferen ialmente, ser apli adano sentido damelhor soluçãopara a pior, vistoque
elafaz uma bus a mais intensiva naes olha das primeirassoluçõesintermediárias.
AFigura4.5ilustragra amente omoo aminhodesoluçõesper orridopelopro esso
de re onexão por aminhos fun iona.
4.2 Memória Adaptativa segundo Taillard
adap-Paraosautores,até ni adememóriaadaptativaé ompostadequatroelementos: (1)
um onjuntodesoluçõesouumaestruturadedadosespe ialqueagregaasparti ularidades
das soluções produzidas pela bus a. (2) Uma solução provisória onstruída usando os
dadosnamemória. (3)Ummétodoparatentarmelhorarasoluçãoprovisóriafazendouso
deum algoritmode bus alo alouumametaheurísti amaissosti ada. (4)Ummodode
fazer omqueanovasoluçãosejain luídanamemóriaouusadaparaatualizaraestrutura
de dados quearmazena o históri oda bus a.
Ainda, segundo os autores, várias metaheurísti as in orporam partes dessa té ni a,
quando não, elatoda, omo apresentadas a seguir:
Algoritmos Genéti os (Geneti Algorithms)[20℄
•
Memória: população de soluções;•
Memóriana onstrução de novos indivíduos: operador rossover;•
Bus a lo al: algumas versões de Algoritmos Genéti os ( hamados de AlgoritmosMeméti os) fazem uso de um pro edimento de bus a lo al nos novos indivíduos
gerados;
•
Usodas soluçõesgeradas para atualizara memória: reposição da população;Bus a Tabu (Tabu Sear h)[16℄
•
Memória: ListaTabu, ConjuntoElite, matrizde freqüên ias,et .•
Memória na onstrução de novas soluções: uso da lista tabu para evitar i lagem(bus a emáreas já visitadas), onstrução de novas soluções semelhantes
(intensi- ação)ounão (diversi ação) à(s) melhor(res) solução(ões).
•
Bus alo al: bus a na vizinhança.•
Uso das soluções geradas para atualizar a memória: reposição do(s) melhor(es)indivíduo(s)no onjuntoelite; atributos das soluçõesgeradas armazenadosna lista
tabu,et .
Colnia de formigas (Ant Colony Systems)[11℄
•
Memóriana onstrução de novos indivíduos: onstróiuma nova solução utilizandoastrilhas armazenadas.
•
Bus alo al: qualquer método.•
Uso das soluções geradas para atualizar a memória: atualização das trilhas defe-romnio.
Como mostrado,a té ni ade memóriaadaptativapropostaporTaillardé apli ávela
diversas metaheurísti as e este é,sem dúvida, seu prin ipalmérito.
Existemaindapou ostrabalhosrela ionadosqueabordamaversãodememória
adap-tativapropostaporTaillardetal. [35℄. Umdosquemaismere edestaqueéotrabalhode
Kadlu zka et al. [21℄, que onstrói um framework usando esta idéia. Esta linha de
pes-quisa, ade onstrução de frameworks quein orporamaversão de Taillard para memória
adaptativa,pare eser promissora epoderá renderbons trabalhos no futuro.
Algumas metaheurísti as, omo as versões ini iais do GRASP [30℄, não fazem uso
de nenhum tipo de memória entre suas iterações. Atualmente, já existem propostas
para tornar as iterações GRASP adaptativas omo o orre nas iterações de sua fase de
onstrução [12, 27, 28℄.Algumas destas idéias in luem os on eitos de: i) atualização
dinâmi adoparâmetro
α
naetapade onstrução(GRASPReativo)[12,27℄;ii)ain lusão de um módulo de Re onexão de Caminhos fazendo uso de um onjuntoelite [41℄.Neste ontexto, olo amos omoobjetivodestetrabalhopropordiferentes heurísti as
adaptativasparaasoluçãodoPRSSM eefetuar omparaçõesentre elas emetaheurísti as
quenão fazem uso de memória, omo é o aso doGRASPtradi ional.
4.3 Propostas
PararesolveroPRSSMforampropostasquatroheurísti as. UmGRASPtradi ionaleum
GRASP om memória adaptativa (GRASP+MA), baseados nas propostas apresentadas
porTrindade em[41℄, uma Bus a Tabu e uma Bus aLo alIterada (BLI).
4.3.1 GRASP e GRASP+MA
e uma versão que faz uso de memória hamado de GRASP+MA (GRASP + Memória
Adaptativa). Ambosutilizam omesmo método onstrutivo ea mesma bus alo al.
Trindade, em[41℄,abordouum problemasimilar aoPRSSMepropsdois algoritmos
onstrutivose3bus aslo ais paraoproblemaabordado. Comosalgoritmos onstrutivos
e bus as lo ais propostas, foram onstruídas seis versões GRASP (G1, G2, G3,G4, G5,
G6), uma para ada ombinação de algoritmo onstrutivo e bus alo al.
Nesse trabalho, foramimplementadas etestadas todas as ombinações propostas por
Trindade, devidamente adaptadas para o PRSSM. Dentre todas as ombinações, a que
apresentou os melhores resultados empíri os foi a ombinação G5. Esta ombinação é
onstituída pelo algoritmo onstrutivo hamado C1 e pela bus a lo al hamada BL3,
ambosserão des ritos aseguir.
O onstrutivo C1 [41℄, des ritonoAlgoritmo 1,é baseado no on eito de inserçãodo
vizinho mais próximo. Para isso, ini ialmente é denida uma fórmula para determinar
o nível de prioridade de ada poço no to ante ao seu atendimento. Esta prioridade é
al ulada da seguinte maneira: suponha uma rota
r
em onstrução, uma sondas
k
para atendê-lae oúltimo poçop
i
perten enteà rotaem onstrução. A prioridade de um poçop
j
é dada pela equaçãoprioridade(p
j
) = v
j
/(t
ij
+ ts
j
)
, ondev
j
é a vazão do poçop
j
,t
ij
o tempo de viagem do último poçop
i
perten ente à rota atép
j
ets
j
o tempo deserviço de
p
j
. Este ritériode prioridade éinteressante, poisleva em onsideração,tanto a vazão do poço andidato a ser inserido omo o tempo de per urso entre o poço a serinseridoe últimopoçoperten ente àrota par ial. Este algoritmo onstrutivo semostrou
mais adequado para o PRSSM do que o onstrutivo C2, também apresentado em [41℄.
O onstrutivo C2 leva em onta somente a vazão dos poços no momento de denir a
prioridade,desprezando otempo de viagem entre os poços.
O algoritmoC1, a ada passo, insere alternadamenteum poçoem ada sonda,
ons-truindoassim as rotas de maneira gradativa, pro urando gerar rotas balan eadas no
to- ante àquantidade de poços alo adosem ada rota (sonda).
A bus a lo alutilizadaemambas as versões doGRASP(puro e om memória
adap-tativa)éumavariaçãodabus alo alBL3,tambémapresentadaem[41℄. Estabus alo al
é omposta de duas bus as lo ais, uma de realo ação de poços dentro da mesma sonda
(Intra-Rota) e uma realo ação de poços para sondas diferentes (Inter-Rota). A BL3 é
uma bus a gulosa e exaustiva, logo, a ada iteração, os poços sempre são olo ados na
Algoritmo 1 Pro edimentoC1 ()
1: Solução saída =nova Solução
2: índi eSonda =0
3: enquanto houverpoços não atendidos faça
4: Listalis = onstruirLRC(
α
, saída,índi eSonda) 5: Poçop =sorteio(lis);6: inserirPoçoNoFinalDaRota(p,índi eSonda,saída)
7: índi eSonda =(índi eSonda+1) modnumTotalDeSondas
8: m enquanto
9: retorne saída
Primeiramente, a BL3 tenta realo ar os poços dentro das próprias sondas, tentando
en ontrarummelhorarranjodospoçospara adasonda. Opro edimentoqueimplementa
estabus alo aléilustradopeloAlgoritmo2. Feitoisso, tenta-seumarealo açãode poços
parasondas diferentes dasonda original. Testa-sea inserçãode todos ospoços emtodas
asposições das rotas de todas as sondas e a melhorposição ées olhida para inserçãodo
poço. O pseudo ódigo que implementaesta bus a lo alé apresentado pelo Algoritmo3.
Abus alo alBL3exe utasu essivamenteestasduasbus aslo aisa adaiteração,epára
quando abus a lo alInter-Rota não onsegue melhorara soluçãoin umbente.
Algoritmo 2 Pro edimentoIntra-Rota(Soluçãoentrada)
1: para todo rota perten ente ao onjunto de rotas de entrada faça
2: rotaBase = opia(rota)
3: rotaMelhor= opia(rota)
4: para i variandode 1até tamanho de rota faça
5: poçoAtual = rota[i℄
6: paraj variandode 1até tamanhode rota faça
7: rotaAux = inserePoçoPosição(rotaBase, poçatual,j)
8: se rotaAux é melhorque rotaMelhorentão
9: rotaMelhor =rotaAux
10: m se
11: mpara
12: rotaBase =rotaMelhor
13: m para
14: substituirRota(rota,rotaBase, entrada)
15: m para
A bus a lo alutilizadaneste trabalho, hamadaBL4, utiliza tambémasduas bus as
lo ais utilizadas pela BL3 (Intra-Rota e Inter-Rota). A BL4 difere da BL3 somente no
ritériode parada. Enquanto na bus a lo al BL3 o algoritmopára quando a bus a lo al
Inter-Rotanão onseguemelhorarasoluçãoin umbente, aBL4sópára quandonenhuma
Algoritmo 3 Pro edimentoInter-Rota(Soluçãoentrada)
1: soluçãoBase = opia(entrada)
2: soluçãoMelhor = opia(entrada)
3: para i variando de 1 até o númerode sondas faça
4: para j variando de 1 até o número de poços dasonda i faça
5: poçoAtual = sol.sonda(i).poço(j)
6: parak variandode 1até o número de sondas faça
7: se i
6=
k então8: para lvariandode 1 até a onúmerode poços dasonda k +1faça
9: soluçãoAux =realo aPoço(entrada,i, j, k, l)
10: se soluçãoAux émelhor que soluçãoMelhorentão
11: soluçãoMelhor= soluçãoAux 12: m se 13: m para 14: m se 15: mpara 16: soluçãoBase=soluçãoMelhor 17: m para 18: m para 19: entrada = soluçãoBase
uma solução melhor. Testes experimentais revelaram que esta simples diferença pode
a arretar melhora em er a de 40% dos asos. O pseudo ódigo da bus a lo al BL4 é
apresentado noAlgoritmo4.
Algoritmo 4 Pro edimentoBL4 (Soluçãoentrada)
1: valor=0
2: enquanto valor
6=
usto(entrada) faça 3: valor= usto(entrada)4: V1(entrada)
5: V2(entrada)
6: m enquanto
Duas versõesdametaheurísti aGRASPforamimplementadasutilizandooalgoritmo
onstrutivoC1eabus alo alBL4,umGRASPtradi ional[30℄(denotadoapartirdeagora
simplesmente por GRASP)e um GRASP que faz uso de memória (denotado a partir de
agoraporGRASP+MA), proposto neste trabalho.
A heurísti a GRASP, des rita pelo Algoritmo 5, fun iona da seguinte maneira:
pri-meiramente,umasolução é riadapeloalgoritmo onstrutivoC1. Emseguida,éapli ada
abus alo alBL4nasoluçãogeradapelo onstrutivo. OGRASPrepete estesdois passos
O GRASP+MA, que é mostrado no Algoritmo 9, faz uso de uma série de té ni as
bem onhe idas de memória adaptativa, queserão itadas e expli adasa seguir.
Algoritmo 5 Pro edimentoGRASP()
1: Solução melhor= C1()
2: enquanto ritériode paradanão atingido faça
3: Soluçãoaux =C1()
4: BL4(aux)
5: se usto(aux) melhor que usto(melhor) então
6: melhor= aux
7: m se
8: m enquanto
9: retorne melhor
Auto onguração do parâmetro
α
( oe iente de aleatoriedade do algoritmo onstrutivo do GRASP): um dos problemas fundamentais de sintonia na do GRASPé a alibração do
α
[27, 30, 28℄. Para ada instân ia é pre iso en ontrar um valor deα
que produza boas soluções mas que também possibilite ao algoritmo não ar presoem ótimos lo ais ainda distantes de um ótimo global. Para resolver este problema, foi
proposto um modelo de GRASP reativo, que ongura automati amente o valor deste
parâmetro. Esta onguração é feita de a ordo om a instân ia trabalhada a partir de
uma fase de treinamento om diferentes valores para
α
. Ao nal deste treinamento, xa-se o valorque retornou a melhor solução, e, no restante do tempo (ou nas iteraçõesremanes entes),oGRASPseráexe utado omestevalor
α
,agoraxado. Neste trabalho, ovalordeα
es olhido éaquelequegerouamelhorsoluçãoduranteafasede treinamento. Esta onguração éfeita pelo pro edimentoen ontrarMelhorAlpha(),mostrado na linha1doalgoritmo GRASP+MA.
Conjunto Elite e Re onexão de Caminhos: A Re onexão de Caminhos (RC),
foi proposta ini ialmente para a Bus a Tabu e S atter Sear h por Glover e Laguna [16,
17℄. Comodito anteriormente, ela utilizaduas soluções extremasde boaqualidade (base
e guia), para tentar en ontrar uma solução intermediária que seja melhor que as duas
soluçõesdaextremidade. Aidéiaéfazer omque,passoapasso, asoluçãobaseque mais
pare ida om a solução guia ou solução alvo. O onjunto elite é usado omo repositório
de soluções base e/ou guia, às quais a RC será apli ada. Esta té ni a pode ser apli ada
no sentido da solução de melhor qualidade para a de pior qualidade, no sentido da pior
para amelhor, ouainda nos dois sentidos simultaneamente.
Trindade, em [41℄, também propõe um modelo de RC para uma versão do PRSSM.
i-ésimaposiçãode adarotadasoluçãobaseigualài-ésimaposiçãode adarotadasolução
guia. Desta forma,naiteração
1
todasas rotasdasoluçãobase têm sua primeiraposição modi ada,de formaqueelas quem iguaisàprimeiraposiçãodas rotas dasoluçãoguia.Esta solução om a primeiraposição de ada rota alterada é tomada omo nova solução
base. Na iteração
2
todas asrotas dasoluçãobase têm suasegunda posiçãomodi adae assimsu essivamente. Asoluçãoémodi ada olunapor oluna,fazendouma aminhadalinear entre a solução base e a solução guia. A ada passo da RC a bus a lo al BL3 é
utilizadapara tentarmelhorara solução.
A RCapresentada porTrindade[41℄diferedaRC lássi a. Omodelo lássi oexe uta
uma bus a mais intensa na es olha das primeirassoluções intermediárias. A retiradade
ada uma das diferenças entre as soluções base e guia é avaliada e aquela que resulta
em uma melhor solução é implementada. A solução resultante dessa implementação é
tomada omo nova solução intermediária. Ao longo do pro edimento, omo as soluções
base e guia vão se tornando mais semelhantes, há, no ini io da RC, um número maior
de diferenças entre as soluções base e guia, o que faz om que uma bus a mais intensa
seja feita na es olha das primeiras soluções intermediárias. Por outro lado, no modelo
apresentadoporTrindadeamesmaquantidadedetrabalhoéfeitaa ada iteraçãodaRC.
Estes dois modelos, o lássi o, proposto por Glover [16℄ e o proposto por Trindade
[41℄, foram implementados e em testes preliminares onstatou-se que a versão lássi a
apresenta melhor desempenho médio. Este fato fez om que somente o modelo lássi o
de Re onexão porCaminhos fosse utilizadodurante ostestes om as instân ias.
Asso iada à RC, está a bus a lo al BL4 que é apli ada somente na melhor solução
intermediária.
Também foram feitos testes experimentais om a RC implementada para oPRSSM,
nosentido dapiorparamelhor(1), nosentido damelhorparapior (2)enos dois sentidos
simultaneamente(3). Entreossentidos1e2daRC,osentido2obtevemelhoresresultados
nagrandemaioriaos testes, omo já era esperado[16℄. Na omparaçãodosentido 2 om
o sentido 3, os resultados foram muito pare idos, om ligeira vantagem para o sentido
3. Porém, o tempo de exe ução da opção 3 é muito maior que o dosentido 2. Por isso,
optou-se por usar somente osentido 2 durante osdemais experimentos.
Neste trabalho, aRCé utilizadade maneirahierárqui a. Comootempode exe ução
foies olhido omo ritériode parada para asheurísti as aquipropostas, depois de
solução base será a de melhor qualidade e a guia a solução de pior qualidade). Durante
esse pro edimento, o onjunto elite pode ser modi ado aso uma solução melhor que a
piorsoluçãoelite for en ontrada. Casoistoo orra, aonaldas iteraçõesGRASP,aRCé
novamenteativada,agoraentre adapardesoluçõesdeste onjunto,nosentidodamelhor
para apior.
Fatores omo a dimensão do onjunto elite e a diversidade das soluções ontidas
nele são importantes para um bom desempenho destas té ni as. Um número grande de
soluçõeselitespodefazer omqueaexe uçãodaRCsetornemuitodemoradaeumnúmero
pequeno pode fazer om que a RC não en ontre soluções de melhor qualidade. No que
tangea diversidade das soluções, éimportantelembrar quese duas soluções semelhantes
são passadas à RC, pou os passos (pou as soluçõesintermediárias)serão feitos para que
umasetorneigualàoutra. Istopodefazer omqueaRCtenhamenos han edemelhorar
assoluçõesextremas. Oidealéqueambasassoluçõesextremasdadas omoentradasejam
deboaqualidade,mas quetenhamum ertograude diversidade entre si. Neste trabalho,
o tamanho do onjunto elite utilizado após testes preliminares foi xado em 10 (dez)
soluções e a diversidade mínima entre soluções de 6 (seis) omponentes. A diferença
al uladaemnúmerosde omponentes (variáveisdeumasolução)foipreferidaàopçãode
al ular a diferença somente a partir do valor da função objetivo, uma vez que soluções
om ustos bem diferentes podem ter estruturas muito semelhantes e, re ipro amente,
soluções om ustossemelhantes podemter estruturas bemdiferentes. Para al ularesta
diferença faz-se uma varredura na solução e onta-se o número de vezes em que poços
apare em emlo ais diferentes.
Figura4.6: Contagem dadiferença entre duas soluções
Algoritmo 6 Pro edimentoexe utaRC(Solução sol)
1: para todo soluçãos no onjunto elite faça
2: Soluçãoaux
3: se s melhorque solentão
4: aux= re onexãoCaminhos(s, sol)
5: se não
6: aux= re onexãoCaminhos(sol, s)
7: m se
8: tentarInserirConjuntoElite(aux)
9: m para
10: se onjunto elite foi modi adoentão
11: onjuntoEliteRC()
12: m se
Algoritmo 7 Pro edimentore onexãoCaminhos(Solução base, Solução guia)
1: Solução baseInterna = opia(base)
2: Solução retorno= opia(base)
3: enquanto baseInterna fordiferente de guia faça
4: Listalis = omputarDiferenças(baseInterna, guia)
5: SoluçãomelhorIntermediaria
6: para i variandode 1até tamanho(lis)faça
7: Soluçãoaux =desfazDiferença(baseInterna, guia, lista[i℄)
8: seaux melhor quemelhorIntermediariaentão
9: melhorIntemediaria = aux
10: mse
11: m para
12: BL4(melhorIntermediaria)
13: se melhorIntermediaria melhorque retornoentão
14: retorno=melhorIntermediaria
15: m se
16: m enquanto
Algoritmo 8 Pro edimento onjuntoEliteRC()
1: ontinuar = verdadeiro
2: enquanto ontinuar for verdadeiro faça
3: para todo Solução
s
1
no onjunto elite faça4: para todo Solução
s
2
no onjunto elite talques
1
6= s
2
faça 5: Soluçãoaux6: se
s
1
for melhor ques
2
então 7: aux= re onexãoCaminhos(s
1
,s
2
) 8: se não 9: aux= re onexãoCaminhos(s
2
,s
1
) 10: m se 11: tentarInserirConjuntoElite(aux) 12: mpara 13: m para14: se onjuntoelite nao foi modi adoentão
15: ontinuar =falso
16: m se
17: m enquanto
Diversi ação Reativo+Conjunto Elite: Também foi implementada uma
estra-tégiasimples de diversi ação que éavariaçãodoparâmetro
α
em onjunto oma atua-lização do onjunto elite durante a exe ução. Esta variação é feita da seguinte maneira:durante a bus a, é feita uma medição de quanto tempo o onjunto elite ou estáti o
(sem modi ação). Toda vez que este tempo atinge um valor
t
(parâmetro de entrada), ovalordeα
é aumentado em0.1
, tornando ométodo onstrutivomenos guloso. Quando o Conjunto elite é atualizado,α
retorna ao valor original que possuía antes da primeira modi ação. Esta estratégia tem omo objetivo fazer om que o GRASP+MA tentees- apar om mais fa ilidade de ótimos lo ais ainda distantes de um ótimo global,uma vez
que,usandopormuito tempoomesmovalorparaoparâmetro
α
,oalgoritmo onstrutivo tendea produzir mais soluções similares.4.3.2 Bus a Tabu
Além de heurísti as GRASP, são propostos outros algoritmosheurísti os que fazem uso
de memóriadotipoBus a Tabu e Bus aLo alIterada para oPRSSM.
A heurísti a Bus a Tabu implementada para a resolução do PRSSM é baseada na
proposta por Taillard et al., em [34℄, para o PRV. Nesta Bus a Tabu, uma estrutura de
dados ontendo rotas de soluções geradas anteriormente é explorada na onstrução de
Algoritmo 9 pro edimentoGRASP+MA(tempot)
1: en ontrarMelhorAlpha()
2: enquanto ritériode paradanão atingido faça
3: Soluçãoaux =C1() 4: BL4(aux) 5: tentarInserirConjuntoElite(aux) 6: se tempoSemMelhora > tentão 7: aumentaro valorde
α
8: m se9: se ondição daRe onexão por Caminhos foi atingidaentão
10: exe utaRC(aux)
11: m se
12: m enquanto
13: retorne melhorsolução do onjunto elite
Primeiramente,um onjuntoini ialde soluçõeségeradoutilizandoométodo
onstru-tivo C1, tambémutilizado noGRASP e no GRASP+MA. Como as soluçõesproduzidas
por este onstrutivo podem ser melhoradas, uma Bus a Tabu bási a é apli ada a ada
uma das soluções ini iais para aprimorar este onjunto. Estas soluções melhoradas são
armazenadasem uma estrutura de memória espe ial e, ao longo do pro edimento, serão
utilizadas omo base para onstruçãode novas soluções.
A estrutura de memória men ionada armazena o onjunto de rotas extraídas das
melhores soluções en ontradas durante a bus a. Todas as rotas de uma solução são
ar-mazenadas ontiguamente e as soluções são ordenadas pelo valor da função objetivo.
Conseqüentemente, asrotas asso iadas à melhorsolução se en ontram nas primeiras
po-siçõesdamemória. Este onjuntoéutilizadopara onstruirsoluçõesini iaisparaaBus a
Tabu.
Para gerar novas soluções, são es olhidas e agregadas algumas rotas presentes na
memóriagerandoassimumasoluçãoprovisória. Comoasrotases olhidastêmumagrande
possibilidade de não ontemplarem todos os lientes, um pro edimento de orreção é
utilizadopara ompletarasoluçãoprovisóriaque,agora,seráutilizada omonovasolução
para aBus a Tabu adaptativa.
Paraes olher umarota, primeiramente, épre isoes olher,entre assoluçõespresentes
namemória, uma solução doadora, da qual será es olhida um rota para ser in orporada
à solução em onstrução. Para es olher uma solução para ser doadora, foi utilizado o
pro esso esto ásti o des rito em [34℄ que privilegia soluções de melhor qualidade. Para
meirasposições do onjunto. Em seguida,é atribuída à ada soluçãouma probabilidade
de es olha, baseada na posição que a solução o upa no onjunto ordenado. Esta
pro-babilidade de es olha é dada da seguinte maneira: sendo
T
o onjunto de soluções,i
a posição que uma solução o upa neste onjunto, a probabilidade de es olha é dada pelaseguinteequação:
probEscolha(i) = (2 × (|T | − i + 1))/(|T | × (|T | + 1))
,onde|T |
denota otamanhodo onjuntoT
. Umavez es olhida asolução doadora, seguindo este pro esso, umarotaperten enteàesta soluçãoées olhida, aleatoriamente, einseridanasolução emonstrução.
Uma vez es olhida uma rota
r
, as demais rotas namemória ( onjunto) que possuem umoumaispoçosem omum omarotaes olhidasão des artadasdopro essodeseleção.Re orde que no PRSSM as rotas possuem sondas asso iadas, uma vez que, uma mesma
rota (seqüên ia de poços) possui vazões perdidas diferentes quando asso iada à sondas
diferentes. Assim, todas as rotas atribuídas à sonda asso iada om a rota es olhida
tambémsãodes artadasdopro essodeseleção. Emseguida,umasegundarotaées olhida
entreasrotas restantes namemória. Este pro essoérepetido atéqueo onjuntode rotas
sele ionadas ubratodosos lientes ouaté não havermais rotas disponíveisparaseleção.
Neste último aso, opro edimentopara orrigirasolução(uma vez que,pornão atender
todos ospoços, elaé inviável)éutilizado. Este pro edimentode orreçãoé simplesmente
amesma heurísti a de inserçãoque es olhe aposição de menor usto para ada poço. A
ordemem queos poços são inseridosno pro edimento de orreção éaleatória.
Uma vez on luída a fase de geração de uma nova solução, uma Bus a Tabu bási a
éapli ada à solução gerada. No nal, a solução retornada por esta Bus aTabu bási a é
utilizadapara atualizaraestrutura de memória.
Este i lo de geração de uma nova solução, otimização através de uma Bus a Tabu
bási ae atualização de memóriase repete até que um ritériode parada sejaatingido.
Em [34℄, os autores ainda parti ionam o onjunto de lientes presentes na solução
geradaapartirdamemóriaemtrês sub- onjuntos, de a ordo omsua disposiçãoespa ial
emrelaçãoaopontodeorigemdosveí ulos. Comisso,osautoresvisamreduzirotamanho
doproblema original. Após esta divisão, a Bus a Tabu bási a é apli ada à ada um dos
sub onjuntos, e, ao nal deste pro esso, as soluções en ontradas para os sub- onjuntos
são justapostas, formandouma solução para oproblema original.
Como existemvários pontosde origemde veí ulos (sondas) noPRSSM, optou-se por