Você está na página 1de 24

GUILHERME DE LEMOS

Otimização de Rotas Rodoviárias Utilizando o Algoritmo de


Dijkstra e a API do Google Maps

Londrina
2009
GUILHERME DE LEMOS

Otimização de Rotas Rodoviárias Utilizando o Algoritmo de Dijkstra e a


API do Google Maps

Trabalho de Conclusão de Curso de Especializa-


ção em Análise, Projeto e Gerência de Sistemas
com Ênfase em Inteligência em Negócios – Resi-
dência em Software apresentado à Coordenação
do Curso de Ciência da Computação da Universi-
dade Estadual de Londrina.

Orientador: Jacques Duílio Brancher

Londrina
2009
AGRADECIMENTOS

Agradeço ao Conselho Nacional de Desenvolvimento Científico e Tecnoló-


gico - CNPq -Brasil pela bolsa concedida sob processo número 382188/2008-0.
A Universidade Estadual de Londrina por proporcionar o curso de pós-
graduação e o projeto de residência em software.
A Softcenter Sistemas e Informática Ltda pela oportunidade, confiança e
supervisão durante o desenvolvimento do projeto.
RESUMO

Esse trabalho tem como objetivo apresentar o início da implementação de um sistema web
para otimização de rotas rodoviárias baseada em um modelo de problema de roteamento de
veículos (PRV) simplificado sob a realidade de uma empresa transportadora de cargas utili-
zando um algoritmo de busca heurística e a API do Google Maps.

Palavras-chave: rota, veículo, dijkstra, google, maps.


SUMÁRIO

1  INTRODUÇÃO ................................................................................................................ 6 
1.1  ORGANIZAÇÃO DO TRABALHO ..................................................................................... 6 
2  FUNDAMENTAÇÃO TEÓRICA ................................................................................... 8 
3  MODELAGEM DO PROBLEMA ............................................................................... 10 
4  METODOLOGIA........................................................................................................... 12 
5  RESULTADOS OBTIDOS ............................................................................................ 20 
6  CONCLUSÃO................................................................................................................. 21 
7  TRABALHOS FUTUROS ............................................................................................. 22 
REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 23 
LISTA DE FIGURAS

Figura 1 - Dois caminhos para a mesma cidade. API Google Maps. ................................. 11
Figura 2 - Tela de apresentação ............................................................................................ 14
Figura 3 - Cadastro e manutenção de rotas. ........................................................................ 15
Figura 4 - Manipulação de rotas, parte 1. ............................................................................ 16
Figura 5 - Manipulação de rotas, parte 2. ............................................................................ 17
Figura 6 - Otimização de rotas. ............................................................................................. 18
Figura 7 - Representação do grafo. ....................................................................................... 19
6

1 INTRODUÇÃO

O Brasil possui uma das maiores malhas rodoviárias do mundo e o conforto


e praticidade que o transporte rodoviário proporciona contribuiu para que houvesse um cres-
cimento significativo na frota de veículos brasileira, provocando maior trafego de veículos de
carga por vias urbanas, engarrafamentos, acidentes, aumento de tempo para se percorrer traje-
tos e consequentemente desgaste das vias.
Para uma empresa transportadora de cargas que atua no segmento rodoviá-
rio todos esses fatores aliados ao custo de manutenção da sua frota de veículos e concorrência
por espaço nas vias encarecem o valor dos serviços prestados tornando necessário buscar
formas de otimizar de seus processos para reduzir seus custos operacionais e criar diferenciais
que venham trazer vantagem sobre seus concorrentes para se manterem competitivas no mer-
cado.
Diante de tantos pontos críticos e na tentativa de minimizar o custo de
transporte, essas empresas buscam soluções computacionais para traçarem as rotas de sua fro-
ta de forma que suas necessidades sejam atendidas, porém, o alto custo desse tipo de software
é proibitivo para pequenas e médias corporações que ficam presas à experiência de seus fun-
cionários e motoristas que nem sempre conhecem o melhor caminho para a entrega da carga e
desconhecem a situação das rodovias que podem estar engarrafadas, em manutenção, bloque-
adas, etc, deixando o serviço oferecido pela empresa mais passível de erro como o atraso de
entrega.
O presente trabalho é concebido sob a proposta de criar um sistema web, de
livre acesso, que utiliza o algoritmo de busca heurística de Dijkstra para otimizar rotas rodo-
viárias e representá-las graficamente utilizando o serviço de mapas do Google Maps de forma
que o resultado seja um auxílio ao usuário do sistema no processo de tomada de decisão vi-
sando a redução da distância total percorrida e redução de custo de transporte de cargas.

1.1 ORGANIZAÇÃO DO TRABALHO

A organização desse trabalho é dividida em seções, a seguir será apresenta-


da uma breve revisão bibliográfica para demonstrar quão vasto é o assunto abordado. Na ter-
ceira seção, inicia-se a modelagem do problema proposto a ser resolvido, delimitando um u-
niverso para ele. A quarta seção demonstra a metodologia utilizada para solução do problema.
Já na quinta seção são apresentados os resultados obtidos em simulações expondo tanto os
7

pontos positivos, quanto os negativos. Na sexta seção são apresentadas as conclusões que se
chegaram. Por fim, na sétima seção, é descrita a proposta de continuidade do trabalho.
8

2 FUNDAMENTAÇÃO TEÓRICA

O Problema de Roteamento de Veículos (PRV) consiste, basicamente, em


realizar entregas de cargas por meio de uma frota de veículos atendendo um conjunto de res-
trições. Essas restrições podem ser: a capacidade do veículo, o tipo de carga transportada, o
tipo de veículo, o valor da carga, o tipo de via de trânsito, janelas de tempo, etc.
Na literatura existem inúmeros estudos publicados que propõem a resolução
de diferentes tipos de PRV, a seguir, estão descritos alguns deles que abordam diferentes vi-
sões do problema em diversos níveis de complexibilidade, trazendo formas muito interessan-
tes de resolução.
Em 2003, Marcos Miura abordou em seu trabalho de conclusão de gradua-
ção uma solução do PRV em uma empresa transportadora que possuía uma frota não homo-
gênea com carga não homogênea onde a transportadora realizava a coleta de mercadorias com
veículos de carga mais leves e posteriormente fazia o transbordo de carga para veículos mais
pesados para iniciar o processo de entrega. O trabalho se mostrou bastante eficiente trazendo
benefícios como redução de tempo e de custo de transporte.
Em 2001, a abordagem feita por Daniel José Pimenta em sua dissertação de
mestrado que aborda problemas de roteamento de veículos no transporte conjunto de cargas e
de passageiros, considerou um modelo não clássico para o PRV onde a frota seria constituída
de diferentes tipos de veículos com diferentes capacidades e suas commodities seriam de dois
tipos, cargas e passageiros. O objetivo era implementar um algoritmo para resolução do pro-
blema dentro das restrições apresentadas, que se mostrou eficiente.
“[...] Em 1998, Savelsbergh e Sol apresentaram um software para planeja-
mento de transporte a ser incorporado em um sistema de suporte de decisão para
uma grande companhia de transporte rodoviário na região de “Benelux“ (Bélgica,
Holanda e Luxemburgo). O serviço dessa companhia era dividido em duas partes: o
sistema de transporte regular e o sistema de transporte direto.
No sistema regular, carregamentos devido a pequenas cargas que são coleta-
das no seu local de origem, são armazenados em um depósito central. Durante a noi-
te, estas cargas são transportadas até um centro de distribuição próximo do seu des-
tino e no dia seguinte entregues ao destinatário.
No sistema de transporte direto, carregamentos maiores até a carga completa
de um caminhão são coletados na origem e enviados através do mesmo veículo ao
destinatário.
Em cada pedido são especificados o tamanho da carga a ser transportada, a
sua origem e o seu destino e o tempo admitido entre a coleta e a entrega da mesma.
Nesse problema, foi considerada uma frota heterogênea de veículos disponível para
operar as rotas. Os parâmetros considerados no modelo de cada veículo são: capaci-
dade, origem, tempo necessário para sua disponibilidade no local onde ele está sen-
do requisitado. Esse tipo de problema é conhecido como problema geral de coleta e
entrega (GPDP - General Pickup and Delivery Problem). [...]” (SAVELSBERGH
apud PIMENTA, 2001, p. 9).
9

Esse trabalho retrata a realidade de grande parte das transportadoras de car-


ga rodoviária que geralmente utilizam veículos menores para realizar coletas no perímetro
urbano do município, armazenar a mercadoria até que se feche uma carga e posteriormente,
realizar o transporte até o destino utilizando veículos maiores.
Existem muitos estudos sobre PRV's, cada um tratando o tema de uma for-
ma diferente devido ao grande número de particularidades encontradas, particularidades que
variam de empresa para empresa. Está fora do contexto desse trabalho descrever as inúmeras
formas existentes de resolver os diversos tipos de PRV's existentes.
10

3 MODELAGEM DO PROBLEMA

A otimização de uma rota em um PRV é um problema complexo, com inú-


meras possíveis combinações que resultariam em diversas soluções. Fatores como tipo de
carga (perecível, tóxica, valiosa, líquida, sólida, etc), horário que o veículo irá transitar, via
rodoviária (via arterial, via de acesso, via expressa, etc), conservação do veículo, hora de en-
trega ou janela de tempo, condições climáticas, entre inúmeros outros fatores tornam o traba-
lho de definição e otimização de rotas uma tarefa extremamente complexa.
Para desenvolvimento desse trabalho foi adotado um modelo de PRV sim-
plificado onde o único fator considerado para otimizar a rota é a distância, outros fatores co-
mo tipo de veículo, tipo de carga, capacidade do veículo e janela de tempo não serão conside-
rados.
O problema adotado considera que um veículo parte de um ponto inicial que
pode ser um depósito ou uma garagem e segue realizando diversas coletas em diferentes pon-
tos de uma rota para, por fim, realizar uma entrega final da carga no ponto de destino que po-
de ser um armazém, uma aeronave, um porto seco, um porto fluvial, etc. Esse trabalho tem
por objetivo encontrar o menor caminho possível de forma que todos os pontos da rota sejam
considerados.
Segundo Taillard (1993), PRV's em sua maioria são problemas não polino-
miais difíceis e, portanto, técnicas de otimização combinatória e métodos heurísticos são mais
recomendados para resolver esse tipo de problema, com base nisso, foi adotado como forma
de representação da rota um grafo orientado e o cálculo do menor caminho será realizado uti-
lizando o algoritmo de Dijkstra.
A teoria dos grafos é amplamente estudada para resolução de problemas
combinatórios e se mostra muito eficiente para representar uma malha rodoviária pois seus
vértices podem ser considerados cidades ou localidades que o veículo deve atender e, as ares-
tas, seriam as estradas que ligam as cidades. Para cada aresta é possível definir um peso que
indica o custo de deslocamento de uma aresta a outra, no modelo proposto, para o cálculo do
peso será considerada apenas a distância entre as cidades.
Em um mapa rodoviário a quantidade de combinações possíveis para levar
um veículo de uma cidade a outra é muito grande, pois existem vários possíveis caminhos a
serem seguidos, todos levam ao destino, porém, nem todos são bons ou possuem o menor cus-
to conforme demonstra a Figura 1.
11

Figura 1 - Dois caminhos para a mesma cidade. API Google Maps.

A figura 1 exibe uma pequena área do norte do estado do Paraná onde a ci-
dade de Londrina é representada pelo marcador “A” e a cidade de Maringá é representada pe-
lo marcador “B”. Em destaque se encontram dois possíveis caminhos que ligam o marcador
“A” ao marcador “B” que podem ser utilizadas por um veículo qualquer.
Para simplificar o problema visando um melhor tempo de resposta e evitan-
do ciclos durante a montagem do grafo foi definido um universo onde uma cidade pode se
ligar a outra por apenas um caminho, ou seja, do vértice “A” ao vértice “B” pode existir ape-
nas uma aresta.
12

4 METODOLOGIA

Para a solução do problema proposto foi implementado um software web


que utiliza a linguagem de programação Ruby para cálculo da menor distância, sistema opera-
cional Linux como servidor de aplicação, sistema gerenciador de banco de dados (SGDB)
MySQL para armazenar as rotas e o serviço de mapas do Google para representação gráfica
do grafo rodoviário de rotas.
Foi escolhido o ambiente web por ser mais acessível do que sistemas desk-
top sendo independente de sistema operacional e podendo ser acessado de qualquer lugar do
mundo utilizando um navegador e uma conexão com a internet além de não depender de ins-
talação na máquina do usuário.
A linguagem de programação orientada a objetos Ruby foi utilizada por es-
tar em evidência no mercado internacional para aplicações web, por possuir uma semântica
agradável bem próxima a linguagem escrita, por possuir frameworks ágeis para desenvolvi-
mento e por possuir grande conectividade com os principais SGDB's do mercado como SQLi-
te, MySQL, PostgreSQL, MS SQL Server, Oracle, entre outros.
Para um problema combinatório deste porte, a implementação do algoritmo
de busca foi feito no lado do servidor, que conta com uma máquina com recursos computa-
cionais elevados em relação a uma máquina doméstica para que a resposta da aplicação seja
dada em um tempo razoável. Existe a possibilidade da implementação do algoritmo de busca
ser feito em JavaScript, simplificando ainda mais a implementação da aplicação como um to-
do, principalmente no que diz respeito à integração com a API do Google Maps, porém, como
JavaScript roda do lado do cliente, caso o grafo seja muito grande ou a máquina cliente não
disponha de recursos computacionais para realização dos cálculos o software não iria respon-
der em um tempo aceitável.
Edsger Wybe Dijkstra foi um cientista da computação que contribuiu muito
para a teoria dos grafos desenvolvendo um algoritmo de busca gulosa muito eficiente para
obter o menor caminho entre um vértice de origem e todos os outros vértices do grafo. Esse
algoritmo será utilizado para encontrar o menor caminho entre as cidades atendidas pelo veí-
culo com o objetivo de reduzir a distância percorrida por ele.
Visando explorar os recursos da API do Google Maps, foi utilizado para o
cálculo do peso das arestas uma fórmula de trigonometria esférica que utiliza as localizações
geográficas das cidades, latitude e longitude, que calcula a distância entre dois pontos no glo-
13

bo terrestre. A latitude e longitude são recuperadas diretamente da base de dados do Google


Maps por meio do endereço do ponto que pode ser uma rua, cidade, estado ou país.
A API do Google Maps foi escolhida para representação gráfica do grafo
pois a quantidade de recursos georeferenciais que esse serviço possui são vastos e incrivel-
mente simples de serem utilizados. A API disponibilizada duas formas de manipulação, uma
em JavaScript e outra em Adobe Flash, a adotada foi em JavaScript para facilitar a integração
com a linguagem Ruby.
Para utilizar a API é necessário inscrever-se e obter uma chave que é válida
apenas para o domínio cadastrado, o termo de serviço exige que o mapa implementado seja de
livre acesso e que a utilização da aplicação não seja cobrada. Caso seja necessário utilizar a
API em um sistema onde o uso é restrito deve-se utilizar a API Premier, para empresas.
Para marcar o mapa e adicionar pontos ao grafo foi utilizado dois recursos
da API, o primeiro recebe um endereço (nome de rua, cidade, estado, pais, etc) e o valida jun-
to a base de dados do Google e o segundo que pega o endereço validado e retorna suas coor-
denadas geográficas (latitude e longitude). Com esses dois recursos é garantida a consistência
dos dados informados pelo usuário evitando a utilização de pontos não cobertos pelo serviço
de mapas e viabilizando o cálculo de distância colhendo as coordenadas necessárias.
Uma vez com o ponto (vértice) marcado no mapa através da latitude e longi-
tude, foi utilizado o recurso de desenho de polilinhas entre localizações geográficas, neste
ponto é traçado uma linha reta de um vértice a outro representando um segmento da rota. Ela
é a representação do caminho. Não foi utilizada a própria malha rodoviária para representar o
caminho pois, como descrito anteriormente, o problema foi limitado em uma aresta conectan-
do dois vértices, utilizando a malha rodoviária teríamos diversas arestas conectando dois vér-
tices, em adição, tendo mais de uma aresta estaríamos comprometendo o tempo de resposta do
algoritmo e aumentando os parâmetros de cálculo comprometendo o tempo de resposta da
aplicação.
Nessa primeira versão foi contratado um serviço de hospedagem de um da-
tacenter brasileiro que dispõe de sistema operacional Linux RedHat AS5, banco de dados
MySQL e interpretador Ruby devidamente configurados para o ambiente de servidor de apli-
cação. A compatibilidade com navegadores foi mantida para o Mozilla Firefox e Safari porém
nada impede que o software funcione com os demais navegadores presentes no mercado.
A tela de apresentação, mostrada na figura 2, exibe os envolvidos no pro-
cesso de viabilização, engenharia e implementação do software. Ela dá acesso ao algoritmo de
14

Otimização de Rotas, à documentação da API do Google Maps (para interessados a utilizar o


Google Maps em seus projetos) e as tecnologias utilizadas como linguagem de programação e
navegadores compatíveis.

Figura 2 - Tela de apresentação

A figura 2 mostra a tela de apresentação do software implementado, ela exi-


be o título do trabalho no topo, traz referência ao processo junto ao CNPq a que esse trabalho
é realizado, logotipo das empresas e instituições envolvidas no projeto, hiperligação “Rotas”
que permite acesso ao software, hiperligação para a API do Google Maps e logomarca das
tecnologias utilizadas.
15

Figura 3 - Cadastro e manutenção de rotas.

Na figura 3 é apresentada a tela que é exibida quando o usuário clica na hi-


perligação “Rotas” na parte direita do software. Nessa tela é exibida a lista de rotas cadastra-
das e clicando em “Adicionar Nova rota” o software irá direcionar o navegador à tela de ca-
dastro de rotas. Na parte inferior estão listadas as rotas, dispostas em marcadores não ordena-
dos com seus títulos em azul e suas descrições em cinza, clicando no título é possível acessar
a tela de manutenção da rota que permite adição de localidades à mesma e, também, a monta-
gem do grafo que trará a rota otimizada.
16

Figura 4 - Manipulação de rotas, parte 1.

A figura 4 traz a primeira parte da tela de manutenção que exibe os dados da


rota como título e descrição e logo abaixo as localidades que à ela pertencem com suas res-
pectivas coordenadas geográficas. Os controles estão dispostos lado a lado na cor azul. O con-
trole “Alterar” permite ao usuário alterar os dados desta rota. O controle “Excluir” irá apagar
a rota. O controle “Todas as Rotas” irá direcionar o usuário para a tela exibida na figura 3. O
controle “Montar Grafo” irá enviar o usuário à tela de otimização da rota.
17

Figura 5 - Manipulação de rotas, parte 2.

Na figura 5 é apresentada a segunda parte da tela de manutenção de rotas


onde é possível adicionar novas localidades à ela. O campo “Nova Localidade” recebe o ende-
reço do ponto (rua, cidade, estado, país, etc). O botão “Validar” possui três funções, a primei-
ra irá pegar o endereço digitado e valida-lo junto ao Google, a segunda irá recuperar as coor-
denadas de latitude e longitude automaticamente com base no endereço e preencherá os res-
pectivos campos, por fim, a terceira irá marcar o mapa com o novo ponto, para conferência.
Os campos “Latitude” e “Longitude”, apesar de serem recuperados automaticamente, podem
ser preenchidos manualmente. Após a validação do endereço e marcação do ponto no mapa, é
possível clicar e arrastar, no mapa, o marcador adicionado para corrigir a posição da localida-
de que está sendo adicionada, a latitude e longitude são atualizadas automaticamente.
18

Figura 6 - Otimização de rotas.

Uma vez tendo a rota pronta, clicando na hiperligação “Montar Grafo”, é i-


niciado o processo de otimização da rota conforme mostra a figura 6. Nesta tela é exibido no
mapa os pontos que fazem parte desta rota representados por marcadores com letras. Os cam-
pos “Origem” e “Destino” indicam o ponto de partida e o ponto de chegada da rota, respecti-
vamente, eles aceitam como entrada a letra correspondente ao ponto no mapa. Clicando no
botão “Ok” o software irá iniciar o processo de cálculo de distância e busca pelo melhor ca-
minho com base nos pontos de origem e destino informados pelo usuário.
19

Figura 7 - Representação do grafo.

A figura 7 apresenta a tela de resultado da otimização que traz uma linha


traçada do ponto de origem até o ponto de destino. No final da tela está um resumo da otimi-
zação exibindo o ponto de origem, os pontos intermediários, o ponto de destino e por fim a
distância total percorrida em quilômetros. Esta tela é o resultado dos algoritmos de cálculo de
distância e de busca do menor caminho que utilizam como parâmetro os pontos de origem e
destino colhidos do usuário do software.
Conforme visto, o software é bastante simples e fácil de ser utilizado pois
dispõe de poucas opções de ações a serem realizadas.
20

5 RESULTADOS OBTIDOS

Como forma de medição de resultado foram criados dois cenários de teste


que visam apurar o tempo de resposta da aplicação em relação à quantidade de rotas.
Os cenários foram construídos com base no cadastro de rotas estaduais e in-
terestaduais com o mínimo de três e o máximo de cinquenta pontos. Cada cenário possui pelo
menos uma localidade de origem, uma localidade de destino e N-2 localidades intermediárias
que os veículos devem passar. Entende-se por N-2 a quantidade total de localidades da rota
menos a localidade de origem e a localidade de destino.
No primeiro cenário foi cadastrada uma rota com dez localidades aleatórias
do estado do Paraná. O software se mostrou eficiente, encontrando uma solução para o pro-
blema em todas as simulações realizadas.
No segundo cenário foram cadastradas cinquenta localidades aleatórias para
uma rota de nível interestadual. Com o número elevado de localidades deste cenário foram
encontrados problemas de desempenho, em que a demora para o cálculo da rota em algumas
simulações levavam o servidor a abortar a execução devido ao tempo de processamento ele-
vado. Outro problema encontrado foi a apresentação de uma solução não ótima para o pro-
blema dependendo do ponto de partida.
Do ponto de vista computacional, o software atende ao problema em tempo
viável enquanto o a rota possui um número limitado de localidades, até vinte. Acima desse
valor o custo computacional fica muito alto e por se tratar de um sistema web, se a requisição
demorar muito para ser processada, o servidor aborta sua execução. O servidor poderia ser
configurado para esperar mais tempo pela resposta, porém, esse método não resolve o pro-
blema uma vez que os recursos computacionais são limitados e a quantidade de pontos em
uma rota é ilimitada.
Partindo para um ponto de vista mais técnico, levando em conta a facilidade
de implementação do software com uma representação gráfica e validação de coordenadas em
tempo real, a API do Google Maps se mostra incrivelmente eficiente. Sua facilidade de uso
com métodos e bibliotecas JavaScript para manipulação do mapa são extremamente fáceis de
serem utilizadas e incorporadas a aplicações mais sofisticadas.
21

6 CONCLUSÃO

Com a implementação do software para resolver o problema proposto por


esse trabalho conclui-se que é possível construir soluções elaboradas para resolução do pro-
blemas de roteamento de veículos utilizando o serviço de mapas do Google interagindo com
algoritmos heurísticos através de linguagens de programação de forma simples, tornando a
implementação de softwares de geoprocessamento uma tarefa menos complicada.
Os resultados obtidos em simulações mostram a eficiência do software em
rotas pequenas (até 20 pontos) porém, para rotas maiores (por volta de 50 pontos), ele passa a
ser lento podendo até não trazer o resultado. Isso é devido a natureza não polinomial do pro-
blema e do fato do servidor não ser o mais adequado a este tipo de processamento.
Pela simplicidade da abordagem do problema, o software pode ser utili-
zado por qualquer empresa transportadora de carga, independente do tipo de carga transporta-
da ou do tipo de veículo utilizado, mas vale ressaltar que nesta etapa do trabalho, ele vale a-
penas como fonte de consulta, uma vez que fatores importantes como tempo de entrega, tipo
de carga, tipo de veículo, capacidade, entre outros, não são abordados.
O objetivo desse trabalho não é oferecer uma solução definitiva para o pro-
blema de roteamento de veículos, mas sim, apresentar uma forma simples e intuitiva de se
otimizar rotas rodoviárias.
22

7 TRABALHOS FUTUROS

Para tornar a solução mais interessante para utilização por empresas trans-
portadoras de carga é necessário a adição de mais características que aproximem o software
ao mundo real.
Janelas de tempo é uma característica chave para uma transportadora que
deve respeitar horários de coleta e entrega de suas cargas, seja por agendamento do cliente ou
por prazo de validade da carga transportada (produtos perecíveis).
O tipo de carga também é um fator importante para a otimização da rota,
uma vez que uma empresa pode transportar tanto cargas como passageiros.
Os diversos tipos de veículos que compõem a frota formam uma caracterís-
tica importante, pois, definem se será possível ou não realizar o transporte, uma vez que não é
possível transportar passageiros em veículos de carga, por exemplo.
Os tipos de via também é um fator importante, pois, visa a redução de custo
do transporte onde passa-se a considerar se a via é pavimentada, se é pedagiada, se é bem
conservada, etc levando em conta a opção que traz o melhor custo benefício.
Por fim, escolta e rastreamento tornam-se obrigatórios para cargas de maior
valor que, através de equipamentos de comunicação por satélite, informam o posicionamento
do veículo em coordenadas. Como o Google Maps oferece bibliotecas para manipulação do
mapa por esse tipo de coordenada, adicionar a posição real do veículo se torna de fácil im-
plementação.
23

REFERÊNCIAS BIBLIOGRÁFICAS

BARCO, Luiz. “Cálculo das distâncias entre dois pontos da Terra utilizando a trigonometria
esférica”. Disponível em: <http://caraipora.tripod.com/calc_dist_entre_dois_pontos.htm>.
Acesso em: 14 jul. 2009.
LEISERSON, Charles E. et al. “Algoritmos: Teoria e Prática”. Rio de Janeiro: Campus, 2002.
936 p.
MIURA, Marcos. “Resolução de um problema de Roteamento de Veículos em uma Empresa
Transportadora”. Escola Politécnica da Universidade de São Paulo. São Paulo. 2003.
PIMENTA, Daniel José. “Algoritmo de Otimização para o problema de roteamento de
Veículos no Transporte Conjunto de Cargas e de Passageiros”. Universidade Federal de
Minas Gerais. Belo Horizonte. Dezembro de 2001.
SAVELSBERGH, Martin and Sol, Marc. “Drive: Dynamic Routing of Independent
Vehicles”. Vol. 46, No 4, jul. 1998.
TAILLARD, É. “Parallel Iterative Search Methods for Vehicle Routing Problems”. 1993. p.
661-673.

Você também pode gostar