ALGORITMO PARA O PROBLEMA DE ROTEAMENTO
DINÂMICO DE VEÍCULOS COM JANELAS DE TEMPO E
TEMPOS DE VIAGEM VARIÁVEIS
Belo Horizonte
Instituto de Ciênias Exatas
Programa de Pós-Graduação em Ciênia da Computação
ALGORITMO PARA O PROBLEMA DE ROTEAMENTO
DINÂMICO DE VEÍCULOS COM JANELAS DE TEMPO E
TEMPOS DE VIAGEM VARIÁVEIS
Proposta de dissertaçãoapresentada ao Curso
dePós-GraduaçãoemCiênia daComputação
daUniversidadeFederaldeMinasGeraisomo
requisito parial para a obtenção do grau de
Mestre emCiênia daComputação.
FRANCISCOHENRIQUE DE FREITAS VIANA
Belo Horizonte
FOLHADE APROVAÇO
Algoritmo para o Problema de Roteamento Dinâmio de Veíulos om
Janelas de Tempo e Tempos de Viagem Variáveis
FRANCISCOHENRIQUE DE FREITAS VIANA
Propostade dissertaçãodefendida e aprovada pelabana examinadoraonstituída por:
D.S. Geraldo Robson MateusOrientador
UniversidadeFederal de MinasGerais
D. S.Guilherme Bastos Alvarenga
Universidade Federal de Lavras(DCC/UFLA)
D.S.Sérgio Riardo de Souza
Centro Federal deEduação Tenológia (DCC/CEFET-MG)
D. S.Sebastian Alberto Urrutia
UniversidadeFederal de MinasGerais (DCC/UFMG)
É notório queo usto naldas meradorias no omério varejistadeorre, em grande parte,
dos gastos om o transporte de bens. Neste ontexto, surge o problema de roteamento de
veíulosquevisaaotimizarasrotas deumafrotaque temainumbênia deprestar serviços
de oleta ou de entrega em pontos de demanda. Diante da neessidade do atendimento de
requisiçõesefetuadas nodeorrerdoperíododeoperaçãodafrota,surgeoproblemade
rotea-mento dinâmio de veíulos. Este trabalho traz uma abordagem apaz de forneer soluções
de boa qualidadeparaoproblema deroteamento dinâmio deveíulos omjanelasde tempo
e tempos de viagem variáveis. Foi proposto um arabouço, baseado em uma heurístia de
geração de olunas que utiliza um algoritmo evoluionário dinâmio om o intuito de gerar
um onjunto de soluções parao referidoproblema. Assoiado a este algoritmo, foi utilizada
uma formulação matemátia do problema de partição de onjuntos que visa a obter a
mel-hor ombinação de rotas que atendem às restrições do problema, tendo omo base as rotas
pertenentes àssoluções enontradas pelo algoritmo evoluionário. Foram apresentadas três
polítias de roteamento dinâmio para determinar o momento no qual as novas requisições
efetuadas são repassadas ao algoritmo evoluionário dinâmio. A polítia Online repassa as
requisições logo que são geradas. A polítia Por Demanda aramazena as novas requisições
em umalae asrepassaao algoritmodinâmio somentequandoa laatinge o seulimitede
apaidade. Já a polítia Periódia, por sua vez, esperaum período de tempo xo entre os
repasses de novas requisições ao algoritmo evoluionário dinâmio. O arabouço foi testado
atravésdeumaadaptaçãodasinstâniaslássiasdeproblemasderoteamentodeveíulos
pro-postasporSolomon(1987 ). Foramrealizados testesdastrêspolítiasderoteamentodinâmio
Itiswell-knowthatthenalostofommerialprodutsismostlydueto expenseswiththeir
transport. In this ontext, appears the vehile routing problem that aims to optimize the
routes of a eet whih is responsible of providing pik-up and delivery servies. In fae of
the neessity inattending requests that ome during the eet'soperation time, appears the
dynamivehileroutingproblem. Thisdissertationbringsanapproahtoobtaingoodquality
solutions tothetime-dependentdynamitime-windowvehilerouting problem. Aframework
wasproposedbasedonolumngenerationheuristithatusesaevolutionaryalgorithm aiming
to generate a solution setto the problem. Moreover, theevolutionaryalgorithm generatesa
setofolumns,or asetofroutes thatattends theproblem'sonstraints,for asetpartitioning
problemformulation. Theoptimalsolutionforthesetpartitioningproblemisagoodsolution
for the vehile routing problem. Three dynami poliies were presented to determinate the
moment at whih the new requests are sent to the dynami evolutionary algorithm. The
Online poliysendstherequestassoonastheyaregenerated. TheSizeDemand poliystores
the new requests in a buer and sendthem forward to the dynami evolutionary algorithm
only when the buer is full. While the Periodi poliy waits a xed period of time before
forwardinganewrequeststo thedynamievolutionaryalgorithm. Theframeworkwastested
with thelassiinstanes proposedbySolomon (1987 ). It wasreported testsusingthethree
à minha tia Teresinha,
por meinentivaremsempre emtodos os momentosda minhavida.
Em primeiro lugar, agradeço a Deus, pelo domda vida. Agradeço também pela sualuz nos
momentos nosquaistive quetomar deisõesimportantesna minha vida.
Agradeço aos meus pais (Viana e Chaguinha), pelo arinho, pelo amor, por tudo que
semprefazempor mim,desdequeeunasi. Agradeçomuitoporestaremsemprepresentesna
minha vida,por teremaompanhado ada passomeu epor sempreestarem naretaguarda.
AgradeçoàminhatiaTê,peloseuarinho,peloseuamor,pelasuadediaçãoepelassuas
oraçõesdiárias.
Agradeço àVó Lourdes,ao Tio Alvim eà Mazé.
AgradeçoatodososmeusprofessoresdoursodeCiêniadaComputaçãodaUniversidade
Estadual do Ceará-UECE e, em espeial, ao Prof. Maros José Negreiros Gomes que, mais
do queumprofessor,tornou-seumamigo. Sempre quedelepreisamos, eleestápronto anos
atender, apesar de todososseus ompromissose oupações.
Agradeço ao meu orientador, Prof. Geraldo Robson Mateus,pelas instruções, pelas
on-versas,peloapoio,pelaompreensão e peladediação aoorientaro meutrabalho.
Agradeço aosmembros dabana por teremaeitado prontamente o onvite para
partii-parem da omissão examinadoradesta dissertação.
AgradeçoaosamigosdoLaPO-LaboratóriodePesquisaOperaionaldoDepartamentode
Ciênia daComputação- DCC/UFMGpeloonvívio epeloompanheirismo. Agradeço
tam-bémaosamigosda UFMGque nãosãodo LaPO, massãoagregados, omoAlla,Nakamura,
et.
AgradeçoatodososamigosqueznaUECEporteremmeinentivadoavirfazermestrado
naUFMGepor teremmeajudado atomarestadeisãotão difíil. Agradeçoatodos: Diana,
Maros,César, Rosivelt,Joel,Lia, Lisse, Henrique,Jeandro, Alex,Dayvison, Pedro, et.
Agradeço a todos os amigos da Capela São Judas Tadeu (Comunidade Vila
Pery/Maraponga)peloarinho e pelas orações.
Agradeço de um modo espeialà Juliana, ompanheira de sempre, simplesmente por ser
a minharazão deviver,porser aminha maior motivação para tudo quefaço naminha vida,
1 Introdução 1
1.1 Motivação . . . 1
1.1.1 ProblemaAbordado . . . 2
1.1.2 Objetivodo problema . . . 3
1.2 Estruturadesta dissertação . . . 3
2 Coneitos Básios 5 2.1 Problemade Roteamento deVeíulos . . . 5
2.1.1 Complexidade Computaional . . . 6
2.1.2 Apliabilidade . . . 6
2.2 Ténias deResolução . . . 6
2.2.1 Algoritmos Heurístios . . . 7
2.3 Conlusão . . . 7
3 Trabalhos Relaionados 9 3.1 Problemade Roteamento deVeíulos Capaitado - PRVC . . . 9
3.1.1 Formulação Matemátia . . . 9
3.2 Problema de Roteamento de Veíulos Capaitado om Janelas de Tempo -PRVCJT. . . 11
3.3 Problema de Roteamento Dinâmio de Veíulos Capaitado om Janelas de Tempo - PRDVCJT . . . 13
3.4 Problema de Roteamento Dinâmio de Veíulos Capaitado om Janelas de Tempo e Temposde ViagemVariáveis - PRDVCJTTVV . . . 13
3.5 Conlusão . . . 15
4 Roteamento Dinâmio de Veíulos om Janelas de Tempo e Tempos de Viagem Variáveis 16 4.1 Introdução. . . 16
4.2 Modelo doArabouço . . . 17
4.2.1 Geradorde Requisiçõese Consumidorde Requisições. . . 17
4.2.2 Polítias de Roteamento Dinâmio deVeíulos . . . 18
4.2.3 OAlgoritmoDinâmio . . . 19
4.3 Conlusão . . . 21
5 Algoritmo Evoluionário Apliado ao ProblemaAbordado 23 5.1 AEstrutura dasRequisições. . . 23
5.2 Representação dosIndivíduos edosCromossomos . . . 24
5.3 Afunção de avaliação . . . 25
5.4 IdéiaGeraldo Algoritmo. . . 26
5.5 População Iniial . . . 28
5.6 Afunção de Aptidão dosIndivíduos . . . 29
5.7 Seleção. . . 30
5.8 Geraçãode novassoluçõesviáveis . . . 30
5.9 Elitismo . . . 31
5.10 Mutação . . . 32
5.10.1 Migração aleatória de Requisição . . . 33
5.10.2 Arésimo Mínimode Custo. . . 33
5.10.3 Troa de RequisiçõesSimilares . . . 34
5.10.4 Troa de RequisiçõesomRedução deCusto . . . 34
5.10.5 Interalação de Rotas . . . 34
5.10.6 Divisãode Rotas . . . 34
5.11 Dependênia deTempo . . . 34
5.12 Inserçãode novasrequisiçõesno AlgoritmoEvoluionário Dinâmio . . . 36
5.13 Conlusão . . . 37
6 Resultados Obtidos 38 6.1 DesriçãodosCenários deTeste . . . 38
6.2 Ageração de requisições . . . 41
6.3 ResultadosObtidos . . . 43
6.3.1 Parâmetros doarabouço . . . 43
6.3.2 Tempo de Exeução . . . 44
6.3.3 Análise Estatístia . . . 45
6.3.4 Resultados . . . 45
6.4 Métriastestadas isoladamente . . . 60
6.4.1 DistâniaPerorrida . . . 62
6.4.2 VeíulosUtilizados . . . 65
6.5 Conlusão . . . 69
7 Considerações Finais e Trabalhos Futuros 70
4.1 Modelo geral do arabouço. . . 18
4.2 Problema Reduzido. . . 22
5.1 Representação de umindivíduo no ontexto do problema de roteamento estátio de veíulos. . . 25
5.2 Representaçãode umindivíduo noontextodoproblemade roteamento dinâmio de veíulos. . . 26
5.3 Migração Aleatória de Requisições . . . 33
5.4 Divisãode Rotas . . . 35
5.5 Variação dostemposdeviagem nodeorrer dotempo . . . 36
6.1 InstâniaR101 . . . 39
6.2 InstâniaR201 . . . 39
6.3 InstâniaC101 . . . 40
6.4 InstâniaC201 . . . 40
6.5 InstâniaRC101 . . . 41
6.6 InstâniaRC201 . . . 41
6.7 Horáriode registro dasrequisiçõesnodeorrer do tempo omgraude dinamismo de 40% . . . 42
6.8 Horáriode registro dasrequisiçõesnodeorrer do tempo omgrau de dinamismo de 80% . . . 43
6.9 Valoresda função deavaliação- Grausde dinamismo: 20%, 40%, 60%e 80% . . 46
6.10 Valoresda função deavaliação- Grausde dinamismo: 20% e80% . . . 46
6.11 Valoresda função deavaliação- Grausde dinamismo: 20%, 40%, 60%e 80% . . 52
6.12 Valoresda função deavaliação- Grausde dinamismo: 20% e80% . . . 52
6.13 Valoresda função deavaliação- Grausde dinamismo: 20%, 40%, 60%e 80% . . 57
6.14 Valoresda função deavaliação- Grausde dinamismo: 20% e80% . . . 58
6.15 Distâniaperorrida- Grausde dinamismo: 20%, 40%,60% e80% . . . 63
6.16 Distâniaperorrida- Grausde dinamismo: 20%e 80% . . . 63
6.17 Distâniaperorrida- Grausde dinamismo: 20%, 40%,60% e80% . . . 64
6.18 Distâniaperorrida- Grausde dinamismo: 20%e 80% . . . 64
6.19 Distâniaperorrida- Grausde dinamismo: 20%, 40%,60% e80% . . . 65
6.23 VeíulosUtilizados - Grausde dinamismo: 20%, 40%, 60%e 80% . . . 67
6.24 VeíulosUtilizados - Grausde dinamismo: 20% e80% . . . 67
6.25 VeíulosUtilizados - Grausde dinamismo: 20%, 40%, 60%e 80% . . . 68
6.1 Listagem de parâmetros doarabouço usadosnostestes . . . 44
6.2 Polítia: Online - Métria: distânia - Graude Dinamismo: 20% . . . 47
6.3 Polítia : Online - Métria: distânia - Graude Dinamismo: 40% . . . 47
6.4 Polítia: Online - Métria: distânia - Graude Dinamismo: 60% . . . 47
6.5 Polítia : Online - Métria: distânia - Graude Dinamismo: 80% . . . 48
6.6 Polítia : Online - Métria: veíulos - Graude Dinamismo: 20%. . . 48
6.7 Polítia : Online - Métria: Veíulos- Grau de Dinamismo: 40% . . . 48
6.8 Polítia : Online - Métria: Veíulos- Grau de Dinamismo: 60% . . . 49
6.9 Polítia : Online - Métria: veiulos - Graude Dinamismo: 80%. . . 49
6.10 Polítia : Online - Métria: espera- Grau deDinamismo: 20% . . . 49
6.11 Polítia : Online - Métria: espera- Grau deDinamismo: 40% . . . 50
6.12 Polítia : Online - Métria: espera- Grau deDinamismo: 60% . . . 50
6.13 Polítia : Online - Métria: espera- Grau deDinamismo: 80% . . . 50
6.14 Polítia : Online - Métria: atraso - Graude Dinamismo: 20% . . . 50
6.15 Polítia : Online - Métria: atraso - Graude Dinamismo: 40% . . . 51
6.16 Polítia : Online - Métria: atraso - Graude Dinamismo: 60% . . . 51
6.17 Polítia : Online - Métria: atraso - Graude Dinamismo: 80% . . . 51
6.18 Polítia : Por Demanda - Métria: distânia - Graude Dinamismo: 20% . . . 53
6.19 Polítia : Por Demanda - Métria: distânia - Graude Dinamismo: 40% . . . 53
6.20 Polítia : por Demanda - Métria: distânia - Graude Dinamismo: 60% . . . 53
6.21 Polítia : Por Demanda - Métria: distânia - Graude Dinamismo: 80% . . . 53
6.22 Polítia : Por Demanda - Métria: Veíulos- Grau de Dinamismo: 20% . . . 54
6.23 Polítia : Por Demanda - Métria: Veíulos- Grau de Dinamismo: 40% . . . 54
6.24 Polítia : Por Demanda - Métria: Veíulos- Grau de Dinamismo: 60% . . . 54
6.25 Polítia : Por Demanda - Métria: Veíulos- Grau de Dinamismo: 80% . . . 54
6.26 Polítia : Por Demanda - Métria: espera- Grau de Dinamismo: 20% . . . 55
6.27 Polítia : Por Demanda - Métria: espera- Grau de Dinamismo: 40% . . . 55
6.28 Polítia : Por Demanda - Métria: espera- Grau de Dinamismo: 60% . . . 55
6.29 Polítia : Por Demanda - Métria: espera- Grau de Dinamismo: 80% . . . 56
6.30 Polítia : Por Demanda - Métria: atraso - Grau deDinamismo: 20% . . . 56
6.31 Polítia : Por Demanda - Métria: atraso - Grau deDinamismo: 40% . . . 56
6.35 Polítia: Periódia - Métria: Distânia- Grau de Dinamismo: 60% . . . 58
6.36 Polítia: Periódia - Métria: distânia - Grau deDinamismo: 40% . . . 59
6.37 Polítia : Periódia - Métria: distânia - Grau deDinamismo: 20% . . . 59
6.38 Polítia : Periódia - Métria: Veíulos -Grau de Dinamismo: 20% . . . 59
6.39 Polítia : Periodi - Métria: veíulos - Graude Dinamismo: 40% . . . 59
6.40 Polítia : Periodi - Métria: Veíulos- Grau de Dinamismo: 60% . . . 60
6.41 Polítia : Periódia - Métria: veíulos - Graude Dinamismo: 80% . . . 60
6.42 Polítia : Periodi - Métria: espera- Grau deDinamismo: 20% . . . 60
6.43 Polítia : Periódia - Métria: espera- Grau de Dinamismo: 40% . . . 61
6.44 Polítia : Periódia - Métria: espera- Grau de Dinamismo: 60% . . . 61
6.45 Polítia : Periódia - Métria: espera- Grau de Dinamismo: 80% . . . 61
6.46 Polítia : Periódia - Métria: atraso - Grau deDinamismo: 20% . . . 61
6.47 Polítia : Periódia - Métria: atraso - Grau deDinamismo: 40% . . . 62
6.48 Polítia : Periódia - Métria: atraso - Grau deDinamismo: 60% . . . 62
Introdução
Este apítulo tem por objetivo explanar aera da motivação (seção 1.1) que impulsionou
a realização deste trabalho, bemomo expor, emlinhasgerais, o problema queé abordado
nessa dissertação (subseção 1.1.1 ), om ênfase no objetivo que se pretendeu alançar ao
planejá-la (subseção1.1.2 ). Porm,desreve-se,suintamente, oonteúdodeada apítulo
que sesegue(seção 1.2 ).
1.1 Motivação
Grandepareladoustonaldemeradoriasoudeserviçosdeve-seaogastoomotransporte
desses bensatéo onsumidor nal.
Tantonaetapadotransportedematérias-primasparaafabriaçãodosprodutos,omona
distribuição destasmeradorias paraentros omeriais, bem omo na entrega dosreferidos
produtos aoonsumidor nal, há grandesdespesasrelaionadas aotransporte.
Estes gastos, muitas vezes exessivos por não se adotar um modelo de otimização que
vise a minimizar tais despesas, interferem, de forma bastante signiativa, nos preços das
meradorias noomério varejista.
Esta problemátia tem inentivado tanto os pesquisadores omo as empresas que lidam
om transporte abusarem alternativasquepossamvir amelhorar alogístia detransporte,
no toante ao uso inteligente de frotas de veíulos para o transporte de meradorias, de
passageiros, bemomode lixooletadoem entrosurbanos, dentre outras apliações.
Neste ontexto, surge a idéia do Problema de Roteamento de Veíulos, ujo objetivo
pri-mordialégerarrotasparaosveíulosdeumafrota,visandoaminimizarosustosoperaionais
de transporte, utilizando omo métrias a distânia total perorrida, a quantidade máxima
de veíulos utilizadosemada jornada, dentreoutras.
Em geral,existemrestriçõesoperaionais inerentesaoproblema, quediultam oalane
do seuobjetivo. Estasrestriçõesdevem-sea fatores,omo, por exemplo,anatureza dosbens
quesãotransportadospelafrota, bemomoaqualidadeomqueoserviçodevaserprestado,
seja elede entrega ou deoleta.
veíulo, reai no aso partiular do Problema do Caixeiro Viajante - PCV. Existemdiversas
variantesdeste problema, taisomo Problemade Roteamento deVeíulosCapaitado, quese
araterizaporonsiderarqueosveíulosdafrotapossuemumaapaidadedeargalimitada;
Problema deRoteamento de Veíulos om Janelas de Tempo,que onsidera que ada liente
deve ser servido por um veíulo em um intervalo de tempo pré-estabeleido; Problema de
Roteamento de Veíulos om Múltiplos Depósitos, que trata de asos nos quais há várias
garagens de onde podem partir os veíulos para umprir uma jornada e para onde devem
retornar após tê-la umprido; Problema de Roteamento de Veíulos om Coleta e Entrega
Simultâneas, que onsidera a possibilidade de um veíulo ter que efetuar serviço de oleta
e de entrega na mesma jornada; Problema de Roteamento Dinâmio de Veíulos, que lida
om osasosnosquaisnão setemonheimento detodasasrequisiçõesnoiníio doperíodo
de operação dos veíulos, de modo que requisições efetuadas, enquanto a frota já estiver
realizando a sua jornada, sãoaloadas àsrotas em urso ou àsnovasrotas riadas paraeste
m; Problema de Roteamento Dinâmio de Veíulos om Janelas de Tempo e Tempos de
Viagem Variáveis, que é uma variante do problema de roteamento dinâmio de veíulos, a
qual onsidera que o tempo de viagem entre dois nósde demanda não é onstante, ou seja,
pode variar de aordo om o momento no qual setrafega em umdeterminado treho. Estas
variações nostemposde viagem oorremdevido a ongestionamentos, a huvas, a aidentes
napista,aobrasnasestradaseaoutrosfatores. Esteproblemaonsideratambémumajanela
de tempode atendimento assoiada aada requisição efetuada.
Uma disussão mais detalhada a respeito de algumas das prinipais variações do
Prob-lema de Roteamento de Veíulos, bem omo uma revisão bibliográa mostrando omo este
problema vemsendotratado, é apresentada noapítulo3.
1.1.1 Problema Abordado
Nesta dissertação, o problema tratado é umaombinação de algumas das variações de PRV
aqui itadas. Trata-se do Problema de Roteamento Dinâmio de Veíulos om Janelas de
Tempo e Tempos deViagem Variáveis.
Neste problema, parte-sedasseguintespremissas:
•
há uma frota deK
veíulos em um depósito entral antes do iníio do período deoperação;
•
há um e somente um depósito entral de onde partem os veíulos e para onde elesretornam apósa jornada;
•
ao depósito entral é assoiada uma janela de tempo, que orresponde ao período deoperação dosveíulos;
•
há umonjunto de requisiçõesa serem atendidasno iníio doperíodode operação dos•
novas requisições podem ser efetuadas a qualquer momento do período de operaçãodos veíulos, sendo atendidas no mesmo período, aso sejam efetuadas até um tempo
limiteestabeleidoa priori. Casoontrário, asrequisiçõessãoarmazenadas paraserem
atendidas noperíodo seguinte;
•
adarequisiçãoéaraterizadaporumademanda(arga),queorrespondead unidadesde apaidade (peso, volume)quea referidaarga iráouparnoveíulo;
•
ada requisiçãoé efetuadapor umliente, quepossuiumaloalizaçãonaqual oserviçode oleta deve ser efetuado por um dosveíulos da frota. Esta loalização foi tratada
omo sendoumpar de oordenadasartesianas (x,y);
•
ada requisição deve seratendida por umesomenteumveíulo;•
a frotaé homogênea, ouseja, todososveíulos possuemomesmo limitede apaidadeQ
;•
assoiadaaadarequisiçãoi
,existeumajaneladetempodeatendimento[
e
i
, l
i
]
. Ajanelade tempo impõe que uma requisição deva ser atendida preferenialmente no intervalo
de tempo por ela espeiado. Considera-se que as janelas de tempo são exíveis, ou
seja, soluçõesqueas infringemtambém sãoonsideradas viáveis,todavia,tais soluções
sãopenalizadas proporionalmenteao tempo de atraso eao tempode espera;
•
a adarequisição éassoiadaumaprevisãode tempo deserviço deoleta. Istoonsisteem umaestimativa dequanto tempo oveíulo, queirá atendera estarequisição, ará
parado no ponto de demanda espeiado pelas oordenadas do liente que efetuou a
referida requisição;
•
otempodeviagemneessárioparaumveíulorealizarumperursoentredoisquaisquerpontosde demandavariadeaordoomomomento dasuapartidado pontode origem
ao ponto de destino.
1.1.2 Objetivo do problema
O objetivodo problema éenontrar umonjunto de rotas quesatisfaça a todasasrestrições
doproblema,minimizandoadistâniatotalperorrida,onúmerodeveíulosusados,otempo
total deatraso dosveíulosquanto àhegada aosnósdedemanda, bemomominimizandoo
tempo total de esperado veíulo nosnós de demanda quando omomento da hegadaao nó
anteedeoiníioda respetivajaneladetempo. Trata-sedeumproblemamulti-ritério,pois
são onsideradas ,simultaneamente, asquatro métrias aima itadas.
1.2 Estrutura desta dissertação
Esta dissertação está organizada omo se segue. No apítulo 2 são introduzidos alguns
trabalho,poistratadesituaroproblemaabordadodentrodalassedeproblemasNP-Difíeis
e de apresentar, em linhas gerais, as ténias de resolução utilizadas neste trabalho. Este
apítulo também apresenta alguns oneitosrelaionados àsténias que foramapliadas ao
problema abordado.
No apítulo 3 são apresentadas as prinipais variantes do Problema de Roteamento de
Veíulos -PRV,bemomoomentáriosaerade algunstrabalhosda literaturarelaionados
a ada umadasderivaçõesde PRV listadas.
O apítulo 4 explia detalhadamente a forma omo o problema foi abordado nesta
dis-sertação. É apresentado um gerador de requisições, as polítias de roteamento dinâmio de
veíulos analisadas (Online, Por Demanda e Periódia), o algoritmo evoluionário dinâmio
e omo ele é utilizado omo parte de uma heurístia de geração de olunas para se obter
soluçõesde boaqualidade parao problemaabordado.
Oapítulo 5,por suavez,destina-se a expliar,pormenorizadamente, o algoritmo
evolu-ionário dinâmio proposto nesta dissertação para o Problema de Roteamento Dinâmio de
Veíulos om Janelas de Tempo e Tempos de Viagem Variáveis. Este algoritmo foi
desta-ado neste apítulo por ser onsiderado a etapa mais ruial do proedimento de solução
apresentadono apítulo4.
Oapítulo 6 apresenta osenários de teste aos quaiso proedimento de solução desrito
no apítulo 4 foisubmetido, os resultados obtidos, bem omo uma análise estatístia desses
resultados.
Por m, o apítulo 7 apresenta a onlusão a que se hegou mediante a análise de tais
resultados e as prinipais idéias de trabalhos futuros, bem omo melhorias que podem ser
Coneitos Básios
Esteapítulotratadeexpliaralgunsoneitoseténias,ujoonheimentoéneessáriopara
ummelhorentendimentodotrabalhodesenvolvidonestadissertação. Naseção2.1,dene-sea
formamaissimplesdoProblemadeRoteamento deVeíulos-PRV.Naseção2.1.1 ,disute-se
a omplexidade omputaional do PRV. Na seção 2.1.2 , são listadas algumas apliações do
mundo real, as quais fazem uso do PRV e de suas variações. Finalmente, a seção 2.2 traz
uma introdução aos oneitos básios das ténias de resolução apliadas ao PRV que são
utilizadas nestadissertação.
2.1 Problema de Roteamento de Veíulos
Dada uma frota de veíulos om
K
veíulos, um onjunto de pontosV
a serem visitadospor esta frota e um depósito entral no qual estão estaionados os veíulos antes do iníio
da jornada detrabalho, pode-se armar que oProblema de Roteamento de Veíulos onsiste
em denir
k
rotas de veíulos, onde uma rota é denida omo sendo um ilo que iniiano depósito entral, perorre um subonjunto dos pontos
V
e termina, evidentemente, nodepósito entral. A esolha das
k
rotas se dá de aordo om o ritério de otimização. Asmétrias mais omuns que se deseja minimizar são: distânia total perorrida e número de
veíulos, oude umamaneira geral,minimizar osustos.
Esteonjunto de
k
rotasdeveserdenidoonsiderando-seaondiçãode queadaumdospontos
v
∈
V
deve pertenera uma,e somenteauma, dask
rotas.Esta seria a denição mais básia do problema, pois não onsidera que os veíulos têm
apaidade limitada,nemqueexistedemandadeoletaoudeentregaassoiadaaadaponto.
Esteproblemafoiproposto primeiramenteem (Dantzig eRamser, 1959 ),onde é
apresen-tada umaformulação matemátiapara oreferidoproblema.
Muitas variaçõesdeste problema, entretanto, já foram denidas na literatura, dasquais,
2.1.1 Complexidade Computaional
O Problema de Roteamento de Veíulos - PRV, bem omo suas variações, são asos mais
genérios do Problema do Caixeiro Viajante - PCV. Como o PCV pertene à lasse
de problemas NP-Difíil, por onseguinte, o PRV também é um problema NP-Difíil
(Thompson e Psaraftis (1993 )). Este fatojustia a apliação de métodosheurístios a este
problema.
2.1.2 Apliabilidade
OProblemadeRoteamentodeVeíulostemsidoutilizadoemdiferentesapliações,namaioria
dasvezesvoltadaspara aáreade transportes,tais omo:
•
Distribuição de bebidasem pontosde venda;•
Transporte esolar;•
Distribuição e oleta de dinheiroemaixas eletrnios;•
Serviços de entregaem geral;•
Coleta de lixoementros urbanos.Este trabalho foi projetado para ser apliadoem um projeto de otimização de adeia de
suprimentos, denominadoOTIMAL, desenvolvido no Laboratório de Pesquisa Operaional
-LaPO, vinulado ao Departamento deCiênia da Computação - DCC/UFMG.
2.1.2.1 O Projeto OTIMAL
OProjetoOTIMAL(OtimizaçãoIntegradaemApliações Logístias-Produção eTransporte
- Projeto CT-INFO/CNPq - DCC/UFMG) é um projeto do CT-INFO/CNPq que visa a
otimizar uma adeia de suprimentos de uma indústria. Oobjetivo é otimizar desde a etapa
de planejamento da produção, passando pela otimização do sequeniamento de máquinas,
pela otimização da distribuição dos produtos nos entros distribuidores, pela otimização do
empaotamento dospedidos deentrega e peloroteamento deveíulos.
Este projeto está em vias de desenvolvimento e já existe um protótipo integrando os
módulosde planejamento da produção,sequeniamento e roteamento de veíulos.
Otrabalho apresentadonestadissertaçãoenquadra-senomóduloderoteamento de
veíu-los do projetoOTIMAL.
2.2 Ténias de Resolução
Diversas ténias têm sido apliadas às diversas variações do PRV. Desde formulações
matemátias, algoritmosenumerativos, algoritmosaproximativos,bemomométodos
2.2.1 Algoritmos Heurístios
Ofoodestetrabalhoéutilizaralgoritmosheurístiosparaoproblemaderoteamentodinâmio
de veíulosomjanelasdetempoetemposdeviagem variáveis. Maisespeiamente, dentre
as diversas opções de algoritmos heurístios, o objetivo é apliar algoritmos evoluionários.
Porisso,valedestaarosoneitosbásiosdealgoritmosgenétios,pois,nodeorrerdotexto,
tais oneitos serão impresindíveis paraumaboaompreensão.
2.2.1.1 Algoritmos Genétios
Algoritmos Genétios - AG são métodos adaptativos que podem ser usados para resolver
problemasdeotimização. Elessãobaseadosnosproessosgenétiosdosorganismosbiológios.
Atravésde várias gerações,populaçõesdeindivíduosevoluemde aordoomosprinípiosda
seleçãonatural,demodoquesobrevivemosindivíduosmaisadaptados,prinípiodenidopor
Charles Darwin emThe Origin of Speies.
Demaneiraanálogaaoproessodeevoluçãodasespéies,algoritmosgenétiossãoaptosa
evoluírem soluções(indivíduos) de problemas ombinatoriais. Os prinípiosbásiosdosAGs
foramdenidosrigorosamentepelaprimeiravez porHolland(1975 )eaprimoradospormuitos
autoresomo: Davis(1987 ),Davis(1991 ),Grefenstette(1986 ),Grefenstette(1990 ),Goldberg
(1989 ) e Mihalewiz (1992 ).
Algoritmos Genétios fazem uma anologia direta om a genétia natural. Tais
algorit-mos trabalhamomumapopulação deindivíduos, adaumrepresentando umasolução(nem
sempre viável) para o problema a ser resolvido. A ada indivíduo é assoiado um valor que
orrespondeà suaaptidão,ou seja, india quãoboaé areferida solução paraoproblema em
estudo.
É dada a oportunidade dos indivíduos se reproduzirem através do operador genétio de
ruzamento. Os novos indivíduos gerados devem possuir araterístias herdadas de seus
anestrais.
Umanova população ompletade possíveissoluçõesé entãoproduzida atravésdaseleção
dosmelhores indivíduosdageração orrentee dosnovosindivíduosgeradosna fasede
ruza-mento. Estanovapopulaçãotrazonsigo umaaltaproporçãodearaterístiasherdadas dos
bem adaptados membros da geração anterior. Dessa maneira, ao longo do tempo, as boas
araterístiasherdadasdegeraçõesanterioresmisturam-se, apontodefazeromqueabusa
por melhores soluçõesatinjaregiõesmaispromissoras do espaçode busa.
Nestetrabalho, optou-seporutilizar umalgoritmo evoluionário,o qualsediferenia dos
algoritmosgenétiospornãopossuirumafaseseruzamentoentreosindivíduosdapopulação.
2.3 Conlusão
Neste apítulo, foi denida a versão mais simples do problema de roteamento de veíulos.
Disutiu-se tambémumpouo aera da omplexidade do problema, sendo este enquadrado
eonmias o problema tem tido maiorrelevânia e apliabilidade. Por m, foi feito um
o-mentáriopreliminarsobreosoneitosbásiosdealgoritmosgenétios,impresindíveisparao
bomentendimento destetrabalho. Algumasreferêniasforamdestaadas, demodoafailitar
Trabalhos Relaionados
Este apítulo desreve algumas dasvariações do Problema de Roteamento de Veíulos, bem
omoasténiasealgoritmosapresentadosnaliteraturaquevisamabusarmelhoressoluções
para ada variante doproblema.
3.1 Problema de Roteamento de Veíulos Capaitado - PRVC
Esta variante do problema pode ser denida da seguinte forma: seja um grafo ompleto
G
= (
V, E
)
, ondeV
=
v
0
, v
1
, ..., v
n
é o onjunto de vérties eE
=
e
0
, e
1
, ..., e
m
é o onjuntode arestas. Ovértie
v
0
representa o depósito, enquanto queosdemais vérties representamoslientes queefetuaram requisiçõesde oleta oude entrega.
Ousto deviagementreosvérties
i
ej
édenotadoporc
ij
e assume-sequeosustossãosimétrios, ou seja,
c
ij
=
c
ji
∀
(
i, j
)
∈
E
. Se a frotade veíulos tem apaidade idêntiaQ
,o problema édito serhomogêneo; asoontrário, oproblema éheterogêneo.Cadaliente
i
tem a eleassoiada umademandaq
i
,onde0
< q
i
≤
Q
. Cadaliente deve ser visitado por umúnio veíulo e nenhum veíulo pode atender a um onjunto de lientesuja demanda total exeda asuaapaidade.
Oobjetivodo problemaéenontrar umonjunto derotas deusto mínimo,demodo que
osveíulosiniiem e terminemsuasjornadas no depósito.
3.1.1 Formulação Matemátia
Seja
x
ij
o número de vezes que umveíulo trafega entre os vértiesi
ej
(onsiderando quex
ij
ex
ji
representam a mesma variável). SejaV
c
=
V
\0
o onjunto de lientes (igual aoonjunto de vérties
V
,exetuando-seo depósito).Dado um onjunto de lientes
S
⊆
V
c
,q
(
S
)
representa o somatório das demandas dos lientes pertenentes ao onjuntoS
eδ
(
S
)
é o onjunto de arestas inidentes aos vértiespertenentes aoonjunto
S
.Umaformulação parao problemaé apresentadaa seguir:
Subject
to
: Σ
e
∈
δ
(
i
)
x
e
= 2
∀
i
∈
V
(3.2)Σ
e
∈
δ
(0)
x
e
= 2
K
(3.3)Σ
e
∈
δ
(
S
)
x
e
= 2
K
(
S
)
∀
S
⊆
V
(3.4)x
e
≤
1
∀
e
∈
E
\δ
(0)
(3.5)x
e
≥
0
∀
e
∈
E
(3.6)Oblooderestrição3.2espeiaqueadalientedeveservisitadoporapenasumveíulo.
Asrestrições do bloo 3.3impõemque
K
veíulos devemsair e retornar ao depósito. Obloo3.4orresponde àsrestriçõesde eliminaçãode subilos,asquaisespeiam, quepara
qualquer subonjunto
S
de lientes,K
(
S
)
veíulos devem entrar e sair deS
. Em outraspalavras, 3.4 impõe que todos ossubonjuntos do onjunto de lientes
V
deve ser atendidopelaquantidade adequada de veíulos.
Oálulode
K
(
S
)
é umproblema NP-Difíil,haja vistaque implia aresolução de umainstânia do Bin-Paking Problem (Lysgaard etal.(2003 )).
A função objetivo, mostrada em 3.1, india que o objetivo é minimizar o somatório do
produto dousto assoiado aada aresta
e
∈
E
pela quantidade de vezes que algum veíulo trafega por esta aresta. Uma aresta pode nuna ser utilizada aso não pertença a nenhumarota ou serutilizada uma úniavez no aso emque for aloada a alguma rota. Caso o grafo
seja simétrio, uma aresta
e
pode ainda ser utilizada duasvezes na mesma rota, no aso dese ter,na solução,uma rotaomumúnio liente aser visitado.
Lysgaardetal.(2003 ) apresentam umnovoalgoritmo branh-and-ut paraoPRVC.Este
algoritmousaumavariedadedeplanosdeortee,paraadaumadaslassesdedesigualdades,
é desrito um algoritmode separação. Também sãodesritosimportantes proedimentos do
branh-and-ut,omoasregras debranhing,aestratégiadeseleçãodenóseogereniamento
dos ortes. Resultados omputaionais mostram que o algoritmo é ompetitivo. Em
par-tiular, foram resolvidas (no ótimo), pela primeira vez, três instanias de Augerat a saber:
B-n50-k8, B-n66-k9 andB-n78-k10.
Moghaddama etal.(2006 )abordamumPRVC noqualademandadeumnópodeser
divi-didaemváriosveíulos. Oobjetivoéminimizaroustorelaionado àfrotaeàdistâniatotal
viajada. Ousto relaionado à frota depende do número de veíulos utilizados e da
apai-dade total não utilizada. Moghaddamaetal. (2006 )apresentam ummodelode Programação
LinearInteira Mistaparaesteproblema. Émostradatambémumameta-heurístiaSimulated
Annealing (SA) para resolvê-lo. A análise apresentada no artigo sugere que o modelo dado
onsegue atender àquantidade delientesestabeleida, usandoomínimo número deveíulos
e a máxima apaidade. O SA pode alançar soluções ótimas ou próximas da ótima para
problemas de pequeno porte. Para instânias de grande porte, o gap médio entre a solução
enontrada pela meta-heurístia SA e o limiteinferior obtido pelaformulação matemátia é
de 25%.
Toth e Vigo(2002 )fazumarevisãoliteráriasobre algoritmosexatosbaseadosem
onseguem resolver instânias de PRVC bem maiores em relação aos problemas que eram
resolvidosporabordagensanteriores. Alémdisso,pelomenosparaosasosnosquaisamatriz
de ustos é assimétria, mostra-se que algoritmos baseados na ténia de branh-and-bound
ainda representam oestado da arte no queque sereferea soluçõesexatasparao PRVC.
Lewise Sexton (2007 ) propõem uma heurístia para o PRVC om demanda unitária.
Assume-se que exista uma frota de veíulos ilimitada,de modo que, sea frota for xa, essa
heurístia podeproduzir soluçõesinviáveis.
Longo etal. (2006 ) resolvem o Capaitated Ar Routing ProblemCARP usando uma
transformação deste problema para o PRVC. É apresentado um algoritmo branh-and-ut
para resolver o PRVC e os resultados foram signiativamente melhores do que os obtidos
por métodos exatos apliados ao próprio CARP. Foram melhorados os limites inferiores de
quase todas as instânias que estão ainda em aberto na literatura e, para algumas dessas
instânias, enontrou-se asolução ótima.
Tarantilis (2005 ) desenvolve ummétodo de programaçãode memória adaptativapara
re-solveroPRVC.EstemétodofoidenominadoSolutionsElite PArtsSearh SEPAS.Trata-se
de ummétodoiterativoquegeraumasoluçãoiniial atravésde umaténiadediversiação
sistemátiaearmazenasuasrotasemumamemóriaadaptativa. Posteriormente, uma
heurís-tiaonstrutivafazumajunçãodeomponentesdessasrotasqueestãonamemóriaadaptativa.
Porm,umproedimentodeBusa Tabu tentamelhorarasolução onstruídapelaheurístia
e amemóriaadaptativaéadequadamente atualizada. SEPASfoitestadoemdoisbenhmarks
e obteve soluções de boa qualidade em tempo omputaional razoável. Comparações om
outras meta-heurístias mostram que SEPAS é umdos métodos maisbem suedidos
aplia-dos ao PRVC,alançando resultados quedesviam menos do que 0.2% dasmelhores soluções
enontradas na literatura.
3.2 Problema de Roteamento de Veíulos Capaitado om
Janelas de Tempo - PRVCJT
Além dasaraterístias já enumeradas na seção 3.1 , esta variação do PRV pressupõe que,
assoiadaaadarequisição,existeumajaneladetempodeatendimento,quepodeser
interpre-tadaomosendoointervalodetemponoqualarequisiçãodeveserservidapreferenialmente.
Soluçõesquenão atendem aumaoumaisjanelas de tempopodemsertratadasde diferentes
formas, de aordo om aspeuliaridades da apliação. Eis alguns dos tratamentos possíveis
para taissoluções:
•
podem seronsideradas inviáveis,quandoosrequisitosda apliaçãoimpõemquetodososatendimentosdevemrespeitar asjanelas de tempo;
•
podem ser onsideradas viáveis, mas penalizadas proporionalmente ao somatório dotempo deatraso de todososatendimentosque iniiaramposteriormenteao términoda
•
podem ser onsideradas viáveis, mas penalizadas proporionalmente ao somatório dotempo de espera de todos os veíulos que hegaram ao loal de atendimento
anterior-mente aoiníio darespetivajanela de tempo;
•
podemseronsideradasviáveis,maspenalizadas proporionalmentetanto aosomatóriodo tempode atraso omoao somatório do tempo deesperanospontosde demanda;
Dondoe Cerda(2007 )apresentamumaheurístiadetrêsfasesparaoProblemade
Rotea-mentodeVeíulosomJanelasde Tempo PRVJT,onsiderandomúltiplos depósitosefrota
heterogênea. Foi introduzido um modelo de Programação Linear Inteira Mista, que é apaz
de enontrar asolução ótimaparaasosom eradevinteeino nósdedemanda. Na fase
I, sãoenontrados oslusters viáveis eientesemtermos de usto.
NafaseII,umaformulaçãomatemátiaéutilizadaparaatribuiroslustersaosrespetivos
veíulos,bemomoparadenir aordemdevisitação deadarota. Na faseIII,outromodelo
matemátio determina o tempo de hegada dos veíulos em ada nó de demanda. Várias
instânias da literatura, tanto lusterizadas omo aleatórias (em termos de loalização dos
lientes), onsiderando janelas de tempo,foram utilizadas paratestes e foram resolvidas em
temposomputaionais aeitáveis.
Alvarenga etal.(2007 ) propuseram umaheurístiarobusta para o PRVJT usandoa
dis-tânia total perorrida pela frota omo métria prinipal. Trata-se de uma heurístia de
geraçãodeolunas apliadaaoPRVJT quefazusodeumAlgoritmoGenétio -AG edeuma
formulaçãomatemátiaparaoProblemadePartiçãodeConjuntos. Osresultados obtidossão
muito expressivos,estabeleendo melhores soluçõesparaalgumasinstânias daliteratura.
Bent e Hentenryk(2006 ) apresentam umaheurístia híbrida de duasfases para o
Prob-lema de Roteamento de Veíulos om Coleta e Entrega e Janelas de Tempo. A primeira
fase utiliza uma heurístia baseada em Simulated Anealing para reduzir o número de rotas,
enquantoasegundafaseusaLargeNeighborhood Searh-LNS,parareduzirustodeviagem.
Mautorae Naudina (2007 ) apresentam vários modelos aro-estados que podem ser
apli-ados a numerosos problemas de roteamento de veíulos, dentre os quais o Problema de
Roteamento de Veíulos om Janelasde Tempo. Nesses modelos, as variáveis orrespondem
aos estados dosveíulos quando eles trafegam através de um aro. Uma relaxação do
prob-lema fornee umlimite inferior,que éutilizado no algoritmo Branh-and-Bound,apliado na
resolução exata do problema, todavia, para utilizar um número de variáveis e de restrições
pseudo-polinomial, geração de linhas e de olunas foram utilizadas. Geralmente, em
algo-ritmos Branh-and-Bound, é neessário que se tenha um limite inferior muito eiente para
minimizar o tamanho da árvore de soluções. Nessa abordagem, todavia, embora os limites
inferiores tenhamderesido, otempoomputaional reduziu signiativamente.
Kallehaugea etal. (2006 ) onsideram um PRVJT ao qual se aplia uma relaxação da
restrição que impõe que ada liente deve servisitado por um e somente um veíulo. Dessa
forma, obtém-se umsubproblema de aminho mínimo restrito. É apresentado um algoritmo
de plano de orte estabilizado dentro de umframework de programação linear, resolvendo o
om 400 e1000 lientes respetivamente. Até opresentemomento, sãoasmaiores instânias
do problemaparaasquais foramenontradas suas soluçõesótimas.
3.3 Problema de Roteamento Dinâmio de Veíulos
Capaitado om Janelas de Tempo - PRDVCJT
No PRDVCJT, háapossibilidadede algumasrequisiçõessurgiremno deorrerdoperíodode
operaçãodosveíulos. Destaforma,faz-se neessáriorealizar umreajustederotas,omo
in-tuito deinluir,nasrotaspreviamenteestabeleidas,visitasaoslientesquezeram asnovas
requisições. Estasnovasdemandas sãoaeitasaqualquer momento, entretanto, serão
atendi-das no atual período de operação somente asrequisições quehegarem atéum determinado
momento - deadline - estabeleido a priori.
A literatura existente aera do Problema de Roteamento Dinâmio de Veíulos
está mais voltada para o Problema do Caixeiro Viajante Dinâmio (Psaraftis, 1988 ),
(Bertsimas eRyzin, 1991 ), (Regan etal., 2002 ), Dynami Traveling Repairman Problem
(Bertsimas eRyzin, 1991 ) (BertsimaseRyzin, 1993), (Xu , 1994 ), Dynami dial-a-ride
prob-lem e Dynami Vehile Alloation Problem (Powell, 1986 ), (Powell, 1987 ), (Powell, 1988 ),
(Regan etal.,1996 ), (Reganetal.,1998 ), (Cheung ePowell.,1996 ).
Haghanie Jung (2005) apresenta uma formulação para o Problema de Roteamento de
Veíulos Dinâmio de Veíulos om Janelas de Tempo e Tempos de Viagem Variáveis. É
também mostrado um algoritmo genétio para resolver o referido problema. Trata-se de
um problemade roteamento de veíulos (entrega ou oleta)om janelade tempo,no qual se
onsideraumafrotaommúltiplosveíulosomdiferentesapaidades,requisiçõesdeserviços
em tempo real, bem omo variações em tempo real dos tempos de viagem entre os nós de
demanda.
3.4 Problema de Roteamento Dinâmio de Veíulos
Capaitado om Janelas de Tempo e Tempos de Viagem
Variáveis - PRDVCJTTVV
Nestavariante doproblema,otempoqueumveíuloneessitaparaperorrerumtrehoentre
dois pontos de demanda quaisquer varia de aordo om o momento da partida. Este tipo
de modelagem visaa busaruma maioraproximação do queoorreno mundo real,devido a
ongestionamentos, aidentes, obras na pista, dentre outros fatoresque podem interferir no
tempo deviagem entredois pontosde demanda.
Enquanto muitos pesquisadores têm sedediado a propor melhores soluções paraas
ver-tentes mais genérias do Problema do Caixeiro Viajante e do Problema da Roteamento de
Veíulos, pesquisas a respeito do Problema de Roteamento de Veíulos om Tempos de
Vi-agem Variáveis,no qual os tempos de viagem variam de aordo omo momento da partida,
ArazãodaesassezdereferêniasaeradoProblemadeRoteamentoDinâmiodeVeíulos
om Janelas de Tempo e Tempos de Viagem Variáveis deve-se ao fato de que este enário é
maisdifíil de modelar ede resolver(Ihoua etal. ,2003 ).
Na literatura, os artigos que fazem referênia a este problema (Malandraki , 1989 ),
(Malandraki e Daskin, 1992 ), (Hill eBenton, 1992 ), (Malandraki e Dial , 1996), examinam
tanto o Problema de Roteamento de Veíulos om Tempos de Viagem Variáveis -PRVTVV
omo oProblema doCaixeiro Viajante Dependente deTempo PCVDT,que setratade um
asoespeialdePRVTVV quandoafrotaéompostadesomenteumveíulo. Estestrabalhos
mostram também formulações de Programação Linear Inteira Mista que inluem restrições
de janela de tempo, bem omo restriçõesde apaidade dosveíulos. Os tempos de viagem
são omputadosusandostep funtions.
Heurístias gulosas, tais omo a heurístia do vizinho mais próximo, são propostas para
resolver tanto o PCVDT dinâmio omo o PCVDT estátio. No aso estátio, não surgem
novospontos aserem visitadosapósoiníio doperíodo de operação.
Quando se têm pouos nós de demanda (entre 10 e 25 nós), pode-se utilizar uma
abor-dagem exata, apliando-se ténias omo o algoritmo branh-and-ut. Malandraki e Dial
(1996 ) propõem um algoritmo de programação dinâmia para resolver o PCVDT.
Malandraki e Daskin (1992 ),onsideram umPRVDT sem janela de tempo e é proposto um
modelobaseado na veloidade da viagem. São reportados resultados omputaionais de
ex-emplos depequeno porte(ino nósdedemanda).
Apesar da dependênia de tempo ter sido, até então, pouo estudada no ontexto do
Problema deRoteamento deVeíulos -PRV,estaabordagem temsido amplamente apliada
a problemas semelhantes, tais omo o problema do menor aminho dependente de tempo
(Hill e Benton ,1992 ), oproblema daesolhadoaminho dependentede tempo eo problema
do aixeiroviajante (Hadley, 1964 ).
Muitospesquisadorestêmadotadoregras simplesparaintegraromponentes dependentes
detempoaosseusmodelos. Elesutilizamfatoresmultipliadorespararepresentarvariaçõesno
tempodeviagem(Shene Potvin,1995 ). Emgeral,trabalha-seomvariaçõesnasveloidades
médias dos veíulos a ada fatia de tempo do período de operação. Claramente, trata-se de
uma aproximaçãonão muito eiente dasondições reaisdetráfego.
Neste tipo de formulação, o horizonte de interesse é disretizado empequenos intervalos
de tempo. O tempo de viagem e a função usto para ada link são alulados em função
do tempo em que ada veíulo parte do nó de origem (Ihouaet al., 2003 ). Esta estratégia
tem sido amplamente apliada em muitos tipos de problemas de transporte dependentes de
tempo (Chabini , 1997 ). Entretanto, sabe-se que, no mundo real, o tempo de viagem varia
ontinuamente ao longo do tempo. Por outro lado, destaam-se algumas limitações para a
abordagem queutiliza funçõesde tempo de viagemontínuas, a saber:
•
estasfunçõessãoainda aproximações doqueé observado nomundo real;•
geralmente são feitas suposições para que se obtenha modelos mais fáeis de se lidarIhoua etal.(2003 )propõemumametodologiadesoluçãodoPRVJT,usandoTabuSearh.
Resultados experimentais mostram que a modelagem dependente do tempo implia ganhos
signiativos se omparados om os modelos que utilizam step funtions e om os modelos
que nãoonsideram a dependênia detempo.
Haghanie Jung (2005) apresenta umaformulação para o PRDVJTTVV. Étambém
pro-posto umalgoritmogenétio pararesolveroproblema. Étratado um problemade oleta ou
entrega om janelas de tempo exíveis. Considera-se, também, umafrota omdiferentes
a-paidades, requisiçõesdeserviço emtemporeale variaçõestambémemtemporealdo tempo
de viagem gastoentreosnósde demanda.
Chenetal.(2006 )formulamumproblemaderoteamentodeveíulosdependentedotempo
om janelas de tempo através de uma sériede modelos de programação linear inteira mista,
que onsideram temposdeviagens variando emtemporeal, bemomo demandas soliitadas
tambémemtemporeal. Nestanovavariantedoproblema,nãosetemoonheimentodetodas
asinformaçõesneessáriasparaoplanejamentoderotas,noiníiodoperíododeoperaçãodos
veíulos.
A função que dene a variação do tempo de viagem em função do momento da partida
tambémvariaemtemporeal. Estaestratégiaéumaformadesimularaoorêniadeinidentes
inesperados,omoaidentes, huvasfortes,dentreoutros. Sãodenidos váriossubmodelosde
ProgramaçãoInteiraMista,sendoadaumdessessubmodelosumasoespeialdeumPRVJT
em um determinado momento em que ostemposde viagens e/ou as demandas tiverem sido
alteradas.
Estadissertação tratadesta variante do problemadisutida nesta seção.
3.5 Conlusão
Nesta revisão bibliográa, observou-se que existem na literatura soluçõesde boa qualidade
paradiversasvariaçõesdoproblemaderoteamento deveíulos,bemomopara suasvariantes
que onsideram apaidade limitada dosveíulos e janelas de tempo. Veriou-se que ainda
há uma launa noque serefere a variaçõesdo problema quelidam omo aspeto dinâmio,
nasquaisnãosetemtodasasinformaçõesparaaresoluçãodoproblemano iníiodoperíodo
de operaçãoda frota. São esassos, também, materiais aerade abordagens queonsiderem
ostemposde viagemvariáveis.
Consegue-se pereber, entretanto, que soluções que obtiveram bons resultados, quando
apliadas ao problema estátio, podem ser adaptadas ao ontexto do problema dinâmio e
Roteamento Dinâmio de Veíulos
om Janelas de Tempo e Tempos de
Viagem Variáveis
Esteapítulo tempor objetivodesreveroarabouço desenvolvidoparaserapliadoao
prob-lema deroteamentodinâmiodeveíulosomjanelasdetempoetemposdeviagemvariáveis,
mostrando todas asetapas queintegram o proedimento de solução proposto. Na seção 4.1,
apresenta-se em linhasgeraisoarabouço.
Em seguida, mostra-se o seu modelo de funionamento (seção 4.2 ). Nas subseções
seguintes, o modeloé detalhado. Asubseção4.2.1 explia omo funionaa apliaçãoliente,
que geraas requisiçõesem tempo real parao algoritmo dinâmio. A subseção4.2.2 trata de
explanar aera das polítias de roteamento dinâmio propostas. Em seguida, é desrita a
entidade denominada Otimizador, responsável pelo ontrole do funionamento do arabouço
(subseção 4.2.3 ).
A seguir, dene-se o oneitode ilhas de evolução, bemomo o seu funionamento
(sub-seção 4.2.4 ). Na subseção 4.2.5 é disutido o Problema de Partição de Conjuntos e omo
este problema enquadra-se noarabouço apresentado. Em seguida,apresenta-se a fasedeste
proedimento de solução que faz uso de um problema reduzido e justia-se o porquê de se
ter riado esta etapa (4.2.6 ). Por m, apresenta-se uma onlusão quetraz onsigo algumas
onsideraçõesnais aera doarabouço abordadoneste apítulo.
4.1 Introdução
Este apítulo desreve um arabouço desenvolvido para obter-se soluções de boa qualidade
para o Problema de Roteamento Dinâmio de Veíulos om Janelas de Tempo e Tempos de
Viagem Variáveis- PRDVJTTVV.
O arabouço é parametrizável, podendo ser utilizado para resolver outras variantes de
PRVquenãoonsiderem janelas detempo,temposdeviagemvariáveis,bemomoo aspeto
Viagem Variáveis 17
Para quesejam relaxadas asrestriçõesde janelas de tempo dasrequisições, pode-se
on-gurar as janelas de tempo de todas as requisições omo sendo igual à janela de tempo do
depósitoentral,ouseja,igualaoperíododeoperaçãodosveíulosqueiniianotempozero(0)
e perduraatéo términoda janelade tempodo depósito.
Para que o aráter dinâmio do prolema seja relaxado, ou seja, para que todas as
req-uisições sejam previamente onheidas, basta que se ongure o parâmetro
α
(grau dedi-namismo) para 0%. Deste modo, o algoritmo dinâmio não irá reeber novas requisições
duranteo períodode operação dafrotaeirá tratar oproblemaomoumProblema de
Rotea-mento deVeíulos Estátio.
Existe um modelo de tráfego, aoplado ao arabouço, responsável por regular ostempos
de viagens entrequaisquer dois pontos de demanda
i
ej
, onde ospontosi
ej
indiam duasloalizações de lientes que efetuaram requisições. O modelo de tráfego utilizado nostestes
apresentados neste trabalho édesrito no apitulo5 .
4.2 Modelo do Arabouço
Nesta seção,desreve-se,emalto nível, ofunionamentogeral destearabouço, ujadesrição
mais detalhada deada uma de suasfases é apresentada nasseçõessubsequentesdeste
apí-tulo.
Para exeutar-se umasimulação de otimizaçãode rotas de uma frota, faz-se neessárioo
desenvolvimento deumaapliaçãoliente,quegereasrequisiçõesemtemporeal,nodeorrer
doperíododeoperaçãodosveíulos. Esteperíodoorrespondeàjaneladetempododepósito
entral, ouseja, é operíodo queomeça no instanteem queo primeiroveíuloouo primeiro
onjuntodeveíulospartedodepósitoatéotempolimitequeelestêmpararetornaràgaragem.
A Figura 4.1 mostra o arabouço desenvolvido para resolver o Problema de Roteamento
Dinâmio de Veíulos om Janelas de Tempo e Tempos de Viagem Variáveis.
4.2.1 Gerador de Requisições e Consumidor de Requisições
Para efeito de teste, neste trabalho é apresentada uma apliação que faz uso das instânias
lássiasde PRVpropostasporSolomon (1987 ). Entretanto,oarabouço podeserfailmente
utilizado por uma apliação de uma empresa de transportes real, que reeba requisições de
oleta no deorrerdo período deoperação dafrota.
Ofunionamento daapliaçãopodeserompreendidoomoumproblemalássiode
Pro-dutor X Consumidor. O Produtor é representado por uma Thread, que gera requisições em
tempo real emumalaompartilhada por estae por outra Thread, a qual representa o
on-sumidor. O Consumidor pertene ao arabouço e, exeutando em paralelo om o Produtor,
veria periodiamente se há novas requisições na la. Em aso armativo, a Thread
on-sumidora repassaasnovasrequisiçõesparaaPolítia de RoteamentoDinâmio deVeíulos e
esvaziaa la.
Éimportante destaarqueo aessoàladenovasrequisiçõesé ontrolado por semáforo,
Figura4.1: Modelo geral doarabouço.
rítia, simultaneamente.
O repassedas novas requisições ao Otimizador não pode ser feito diretamente pela
apli-ação liente,que geraasrequisições, pois estarealimentação oorreno momento emquehá
umreajustederotaseestemomentoédenidopelapolítiaderoteamentodinâmiode
veíu-los adotada. Ao Otimizador abe o papel de gerente ou oordenador de todo o proesso de
otimização. Tais polítiaspertenem aoarabouço eserão desritasnasubseçãosubsequente
(4.2.2 ).
4.2.2 Polítias de Roteamento Dinâmio de Veíulos
Nesta seção, são desritas polítiasque determinam o momento no qual o Otimizador deve
reeberasnovasrequisiçõesqueporventuratenhamsidoefeutadase,apartirdeentão,
prou-rar soluções para o PRV, onsiderando, evidentemente, as novas requisições reebidas. O
Viagem Variáveis 19
Istoimpliaumreajustenografodoproblema,poisfaz-seneessária,noinstanteemqueas
no-vasrequisiçõessãorepassadasaoalgoritmo dinâmio, ainserção denovasarestasonetando
as novas requisições (vérties) aos vérties já existentes no grafo. Assim, ao término deste
ajuste,tem-se umgrafoompleto.
Caso já houvesse umalista de lientes previamente adastrados,quando surgissem novas
requisiçõesefetuadas por taislientes, não serianeessáriorealizara operação dereajustedo
grafo a ada vez quese adiionaumanovarequisição ao problema. Todavia,neste trabalho,
não se onsidera que já existem lientes adastrados, daí a neessidade deste reajuste. Em
umprimeiromomento,não serianeessárioqueseriassemarestasonetando onovovértie
(lientequeefetuouumanovarequisição)atodososdemaisvérties,paraqueanovarequisição
fosse inserida no problema. Entretanto, optou-se por trabalhar om grafo ompleto para
failitar asoperaçõesde troa inter-rotas e intra-rotas que sãoefetuadas pelosalgoritmos de
mutação e deruzamento.
4.2.2.1 Online
Nesta polítia, todas as requisições que são efetuadas são imediatamente repassadas ao
Otimizador. Este, por sua vez, trata de realizar a inorporação das novas requisições ao
onjunto de requisições doalgoritmodinâmio.
4.2.2.2 Por Demanda
Nesta polítia, as requisições são repassadas ao Otimizador somente quando a la que
ar-mazena asnovasrequisiçõesatinge umaquantidade de requisiçõesdenidaa priori nas
on-guraçõesdo arabouço.
4.2.2.3 Periódia
Esta polítia onsiste em armazenar as novas requisições na la durante um período de
tempo pré-estabeleido. Ao término do período, as requisições armazenadas são repassadas
ao Otimizador etem iníioumnovo round.
4.2.3 O Algoritmo Dinâmio
O Algoritmo Dinâmio iniia sua exeução a partir do momento que se onhee o depósito
entral e umonjunto iniial de requisiçõesa serematendidas emumdado período de
oper-ação.
Por serumalgoritmodinâmio,eleenontraumasolução iniial viávelparaoproblemae
ontinua prourandopormelhoressoluções,aopassoqueasoluçãoiniialjáérepassadapara
osaminhoneiros.
Obviamente, queo primeiro destinode ada veíulo da frota, denido na solução iniial,
será mantido, hava vista queosveíulos jádeixaram o depósito viajando nesta direção.
O algoritmo parte do pressuposto de que o tempo disponível para ele enontrar uma
em quea frotaparte do depósito até oinstanteem queumdosveíulos tenhaonluído sua
primeira visita. Neste instante, o algoritmo atualiza as rotas, aso tenha enontrado uma
solução demelhorqualidadedoqueasoluçãoorrente,epassaaonsiderarqueasrotasestão
xas até o segundo lientea ser visitado. Oproesso repete-seaté quese onlua o período
de operação.
4.2.4 As ilhas de Evolução
Com o intuito de atingir uma maiorregião do espaço de busade soluçõese sabendo-se que
a aleatoriedade inui na região que é explorada pelo algoritmo evoluionário, foi utilizada
a estratégia de submeter a mesma instânia do problema a
n
i
ilhas de evolução. Cada ilhade evolução onsiste em gerar uma solução para o PRDVJTTVV através de um algoritmo
evoluionário.
CadailhaorrespondeaumaThread, hajavistaquesãoproessosindependentes,ouseja,
umaevoluçãonãointerferenaoutra. Emadaumadessasilhasdeevolução, pode-seexeutar
uma meta-heurístia. Neste trabalho, foiutilizado o algoritmo evoluionário apresentado no
5.
Aotérmino daexeução detodasasilhasde evolução, tem-se
n
i
soluções.4.2.5 Problema de Partição de Conjuntos - PPC
Todas as rotas das
n
i
soluções enontradas pelas ilhas de evolução são adiionadas a umonjunto global de rotas
RouteSet
.Utiliza-se então ummodelo matemátio do Problema de Partição de Conjuntos para
se-leionar o subonjunto de
RouteSet
que atendea todasasrequisiçõesom ustomínimo.Aunião doalgoritmo evoluionário dinâmio, que gerarotas (olunas) deboa qualidade,
om o PPC que utiliza as rotas geradas pelo AE e enontra a melhor ombinação delas, é
denominada heurístia de geração de olunas para o problema de roteamento dinâmio de
veíulos.
4.2.5.1 Formulação Matemátia
Esta seção apresenta a formulação matemátia do Problema de Partição de Conjuntos
uti-lizada na heurístiade geração deolunas que éapliada aoproblema abordado.
min
Σ
r
∈
RouteSet
c
r
x
r
Subjet to: (4.1)Σ
r
∈
RouteSet
σ
ir
x
r
= 1
∀
i
∈
C
(4.2)x
r
∈
0
,
1
(4.3)No qual:
Viagem Variáveis 21
•
c
r
éoustototalassoiadoaumarota. Esteustoonsideraadistâniatotalperorrida,o tempode atraso eo tempo de esperadosveíulos nospontosde demanda;
•
x
r
é umavariável de deisão. Se a rotar
faz parte da solução, esta variávelassume ovalor 1(um). Caso ontrário, ovalorassumido é 0(zero);
•
σ
ir
india as requisições aloadas à rotar
. Este parâmetro tem valor igual a 1 (um)se a requisição
i
está ontida na rotar
. Nesta fase, já sesabe quais requisições estãoontidas emada rota, poisesta informaçãoé gerada peloalgoritmo evoluionário;
•
RouteSet
éo onjunto derotas viáveis geradas peloalgoritmo evoluionário dinâmio.Pode-se pereber que, se estivessem ontidas em
RouteSet
todasas rotas viáveis paraoproblema, atravésdaapliaçãodoproblemadepartiçãodeonjuntos,tería-seasoluçãoótima
para oproblema.
4.2.6 O Problema Reduzido
Objetivando diversiar o onjunto de rotas de
RouteSet
, ria-se um problema reduzido apartir doproblemaoriginal.
Oproblemareduzido(Figura4.2)temumonjunto derequisiçõesaserematendidas,
ger-ado apartirde esolhaaleatóriade umsubonjunto dasrequisiçõesatendidaspelo problema
original. Deformaanáloga àresolução doproblema original,o problemareduzido tambémé
submetido a
n
i
ilhasde evolução e amelhor ombinação das rotas enontradas por todasasilhasé obtida atravésda exeuçãodo Problema dePartição deConjuntos.
Oobjetivo desta fasedo arabouço é enontrar rotas quenão ontenham todosas
requi-sições queexistem no problemaoriginal. Isto pode ser útil na fasedo Problema de Partição
de Conjuntos, vistoquea tendêniaé quese tenhamenos interseçõesde requisiçõesentre as
rotas geradas, ontribuindo paraquehaja ummaior númerode ombinaçõesentreelas.
4.3 Conlusão
Neste apítulo, foram apresentadas todas asetapas que ompõemo arabouço desenvolvido.
Conlui-sequeoarabouçoestásubdivididoemfasesbemdenidasquepodemserfailmente
substituídas, aso haja o desejo de estendê-lo. A frequênia, a quantidade, bem omo a
distribuiçãodasrequisiçõesgeradasaolongodotempopodemserdenidasporumaapliação
real de uma empresa que faz uso de transporte para oleta ou para entrega de bens. O
algoritmo evoluionário pode ser substituído também por uma outra abordagem heurístia,
omoBusa Tabu,ouatémesmopor umaabordagemexata,utlizandoténiasomo
Algoritmo Evoluionário Apliado ao
Problema Abordado
O algoritmo evoluionário dinâmio desenvolvido tem omo objetivo minimizar uma função
que onsidera métrias diversas. Para difereniá-lo do algoritmo evoluionário tradiional,
o mesmo será denominado de Algoritmo Evoluionário Dinâmio. O arabouço é exível a
ponto de permitir que o usuário priorize a minimização da distânia ou da quantidade de
veíulos. São penalizadas as soluções que não respeitam as janelas de tempo assoiadas às
requisições.
Aseção5.1detalhaaestruturadeumarequisição. Aseção5.2mostraumparaleloentrea
representaçãodeumindivíduodoAlgoritmoEvoluionárioDinâmio omumarepresentação
voltadaparaoasoestátio. Aseção5.3destaa afunçãodeavaliaçãodoproblema. Aseção
5.4 dá uma noção geral do funionamento do algoritmo evoluionário dinâmio. A seção
5.5 explia omo foi implementado o algoritmo que gera a população iniial do algoritmo
evoluionáriodinâmio. Aseção5.6tratadafunçãoquemedeaadaptaçãodosindivíduos. As
demaisfasesdoalgoritmo(seleção,geração denovassoluçõesviáveis,elitismoemutação) são
desritasnasseções5.7 ,5.8 , 5.9e 5.10 . A seção5.11disutea formaomo foiimplementada
a dependêniade tempo. Aseção 5.12disuteainserção denovasrequisiçõesemtemporeal
e a seção5.13 apresenta uma onlusãoobjetivasobre oalgoritmo evoluionário dinâmio.
5.1 A Estrutura das Requisições
Asrequisiçõespodemserentendidasomopedidosdeoletaquesãoefetuadosaumaempresa,
queatuadiretaouindiretamentenaáreadetransporte. Assume-sequeumarequisiçãopossui
osseguintes atributos:
•
umidentiadorid
;•
umtempo noqual arequisição foiefetuadaregistrationT ime
;•
um par ordenado deoordenadas artesianas(
x, y
)
,que india a loalização do lienteque efetuoua requisição;
•
umajanela de tempo de atendimento[
e
,
l
i
]
;•
umaprevisão de tempode serviço.OProblemaérepresentadoomo umgrafoompleto bi-direionado
G
(
V, E
)
,noqualV
eE
resemdinamiamente, àmedida quenovasrequisiçõessãoefetuadase inorporadaspeloalgoritmo.
5.2 Representação dos Indivíduos e dos Cromossomos
Adaptandoaestruturadosalgoritmosevoluionáriosaoproblemaderoteamentode veíulos,
pode-semapear suasrespetivasentidadesda seguinte forma:
•
umasolução doproblemade roteamento deveíulos é mapeada paraumindivíduo;•
umapopulação podeserompreendida omosendoumonjuntode indivíduos,ouseja,umonjunto de soluções;
•
ada indivíduo é omposto por um onjunto de romossomos, onde ada romossomorepresenta umarota, quefaz partede umasolução;
•
ada romossomoontémumonjunto degenesquerepresentamasrequisiçõesaserematendidas emumadeterminada rota.
Odepósito entral é omitidodesta representação, haja vista queo problemaem sijá
de-terminaquetodasasrotasiniiemeterminemnodepósito. Assim,poreonomiadeestrutura
de armazenamento, odepósito não érepresentadoemada romossomo.
Para adaptar esta estrutura ao ontexto dinâmio do problema, são neessários alguns
ajustes:
1. A partirdeum erto tempo,pode-se terumaestimativada loalizaçãode ada veíulo
em trânsito, uma vez que as distânias entre quaisquer dois pontos de demanda são
onheidas e pode-se estimar o tempo de viagem entre os referidos pontos através de
uma função que retorna o tempo de viagem, utilizando, omo parâmetros, o tempo de
partida, oponto de origem
i
,o ponto de destinoj
ea distâniad
ij
;2. De posse da loalização estimada de ada veíulo, assume-se que o novo depósito ou
depósito artiial de ada rota passa a ser o próximodestino de ada veíulo, ou seja,
seumveíuloestáentreosnós
i
ej
,onsidera-se queonovodepósitodesta rotaéonój
. Foidada a estelientea nomenlatura de novo depósito por ele sero novo ponto de3. As requisições a serem atendidas por uma rota que, na representação dos
romosso-mos, estão loalizadas após o novo depósito, podem ser troadas de posição dentro
da mesma rota ou, até mesmo, podem ser atribuídas a outras rotas. As requisições
posiionadas anteriormente ao novo depósito de ada rota, todavia, sãotidas omo já
atendidas e,evidentemente, não podemsermaistroadasnem deposiçãonem derota.
Opróprio novo depósito tambémnãopode sofreralteraçãonoseuposiionamento
den-tro da rota nem ser troado de rota, porque parte-se do pressuposto de que já há um
veíulo loomovendo-se na suadireção.
A Figura 5.1 ilustra omo seria a representação de um indivíduo no ontexto estátio,
na qual são exibidas três rotas (romossomos) que ompõem uma solução (indivíduo). Na
primeira rota, são visitados os lientes 3, 11, 7, 2 e 9. Pela segunda rota, sãoatendidos os
lientes 12,8, 13, 5 e 10. Por m, na tereira rota oslientes servidossão: 4, 14,6, 15 e 1.
A Figura5.2mostraumaadaptaçãoda representaçãodo indivíduodo problemaestátio que
se adequa ao ontexto dinâmio do problema. Asrequisiçõesque estão maradas om a or
inza representam as requisições que já foram atendidas pelarespetiva rota (romossomo).
Asrequisiçõesmaradasem pretoorrespondem aosnovos depósitos oudepósitos artiiais.
Figura 5.1: Representação de umindivíduo no ontexto doproblema de roteamento estátio
de veíulos.
5.3 A função de avaliação
Dada umasolução viável,o seuusto podeser aluladoatravésda função:
F uncaoCusto
=
nv
∗
cv
+
dt
∗
cd
+
pa
∗
ta
+
pe
∗
te
(5.1)sendo: