tcc hermann clay.pdf

53
INSTITUTO DE ENSINO SUPERIOR DA PARAÍBA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO HERMANN CLAY DE ALMEIDA LEITE OTIMIZAÇÃO DE ROTAS EM DISTRIBUIDORA DE ENERGIA ELÉTRICA UTILIZANDO MAPAS E METAHEURÍSTICA BASEADA NO COMPORTAMENTO DE COLÔNIA DE FORMIGAS JOÃO PESSOA 2010

Upload: hermannclayalmeida

Post on 05-Feb-2016

67 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TCC HERMANN CLAY.pdf

INSTITUTO DE ENSINO SUPERIOR DA PARAÍBA

CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO

HERMANN CLAY DE ALMEIDA LEITE

OTIMIZAÇÃO DE ROTAS EM DISTRIBUIDORA DE ENERGIA ELÉTRICA

UTILIZANDO MAPAS E METAHEURÍSTICA BASEADA NO COMPORTAMENTO

DE COLÔNIA DE FORMIGAS

JOÃO PESSOA

2010

Page 2: TCC HERMANN CLAY.pdf

HERMANN CLAY DE ALMEIDA LEITE

OTIMIZAÇÃO DE ROTAS EM DISTRIBUIDORA DE ENERGIA ELÉTRICA

UTILIZANDO MAPAS E METAHEURÍSTICA BASEADA NO COMPORTAMENTO

DE COLÔNIA DE FORMIGAS

Trabalho de conclusão de curso apresentado

como requisito parcial para a obtenção do

título de bacharel em Sistemas de

Informação do Instituto de Ensino Superior

da Paraíba - IESP orientado pelo prof.

Gustavo Wagner Diniz Mendes.

JOÃO PESSOA

2010

Page 3: TCC HERMANN CLAY.pdf

Hermann Clay de Almeida Leite

OTIMIZAÇÃO DE ROTAS EM DISTRIBUIDORA DE ENERGIA ELÉTRICA

UTILIZANDO MAPAS E METAHEURÍSTICA BASEADA NO COMPORTAMENTO

DE COLÔNIA DE FORMIGAS

Trabalho de conclusão de curso

apresentado como requisito parcial para a

obtenção do título de bacharel em Sistemas

de Informação do Instituto de Ensino

Superior da Paraíba IESP orientado pelo

prof. Gustavo Wagner Diniz Mendes.

Aprovada em ____ de __________ de _______.

BANCA EXAMINADORA

__________________________________________

Prof. Gustavo Wagner Diniz Mendes (Orientador) Instituto de Educação Superior da Paraíba

__________________________________________

Prof. André Bronzeado Guedes Instituto de Educação Superior da Paraíba

__________________________________________

Prof(a). Roberta Brito Nunes Diniz Instituto de Educação Superior da Paraíba

Page 4: TCC HERMANN CLAY.pdf

Dedico este trabalho a todos

aqueles que acreditaram e

contribuíram para sua realização, em

especial ao meu Pai (in memorian),

minha Esposa e filho, família e

amigos.

Page 5: TCC HERMANN CLAY.pdf

AGRADECIMENTOS

Agradeço primeiramente a Deus, por ser meu ponto de apoio nos momentos

mais difíceis de minha vida e por me dar a fé necessária para a conclusão de uma

etapa tão importante para mim.

Ao meu Pai, Francisco (in memorian), minha grande inspiração na busca de

ser uma pessoa melhor a cada dia. Meu grande ídolo. Que saudades.

À minha Família, por todos os ensinamentos, amor, paciência e sacrifícios

incondicionais.

À minha esposa Callyandra e meu Filho Gabriel, pelo carinho sempre na hora

certa. Pela compreensão sempre que tiveram que dividir minha atenção com o

desenvolvimento deste trabalho. E por me desviar do meu trabalho sempre nas

horas necessárias.

A Manoel Messias e Crestana da Energisa, por confiar em minha capacidade,

pelo apoio e reconhecimento nos momentos de entusiasmo.

Ao meu professor e orientador Gustavo Wagner, pela paciência, incentivo e

apoio para que este trabalho se concretizasse.

A todos os meus amigo pelo incentivo nos momentos de cansaço e desânimo,

pelo apoio.

Page 6: TCC HERMANN CLAY.pdf

“Julgue seu sucesso pelas coisas que

você teve que renunciar para conseguir”.

Dalai Lama

Page 7: TCC HERMANN CLAY.pdf

RESUMO

Este trabalho propõe a criação de um sistema para otimização de rotas de

veículos visando auxiliar o despacho de ordens de serviço emergenciais, comerciais

e técnicas da ENERGISA, empresa que atua no segmento de distribuição e

fornecimento de energia elétrica. Empresas distribuidoras de energia elétrica

realizam muitos atendimentos de ordens de serviço. As rotas a serem seguidas

pelos veículos normalmente são definidas em curto prazo pelos operadores que nem

sempre conseguem tomar a melhor decisão devido às informações imprecisas. A

otimização de rotas é um problema bastante complexo pelas inúmeras combinações

possíveis que resultariam em diversas soluções. Escolhas de rotas erradas resultam

num gasto excessivo de combustível e tempo, causando custos desnecessários

para a empresa e insatisfação por parte do cliente. Utilizando aplicação de meta-

heurística dada a sua eficiência na resolução de problemas combinatórios e mapas

para problema de roteirização de veículos, esse sistema tem como objetivo principal

auxiliar a gestão operacional referente a despacho de ordens de serviço para as

equipes e agilizar as visitas, minimizando a distância percorrida entre cada

atendimento, reduzindo tempo e custos operacionais. Foi utilizado o algoritmo ACO

de otimização baseado no comportamento de colônia de formigas. ACO, do inglês

Ant Colony Otimization, é uma metaheurística recente para solução de problemas

combinatórios. É baseada na construção de soluções e foi inspirada na observação

do comportamento das formigas em busca de alimentos. Foram realizados testes

considerando lotes de ordens de serviços que foram preparados com diferentes

graus de dificuldades de acordo com a quantidade de ordem de serviços. Após

simulações de alguns cenários de teste e de análise de seus resultados foi possível

concluir que a aplicação da metaheurística ACO aplicada a roteirização é realmente

capaz de chegar a uma solução próxima da ótima.

Palavras-chave: roteirização, metaheurística, ACO, ant colony, mapas, ordens de

serviço

Page 8: TCC HERMANN CLAY.pdf

ABSTRACT

This document proposes the creation of a system for optimization of vehicle

routing in order to assist in the delivery of emergency service orders, commercial and

technical of the ENERGISA Company. It operates in the distribution and supply of

electricity. Electricity distribution companies execute a lot of service orders. The

routes of vehicles are often defined by traders on short-term who can not always

make the best decision due to inaccurate information. The route optimization is a

very complex problem due to many possible combinations that result in various

solutions. Wrong choices of routes result in excessive waste of fuel and time, causing

unnecessary costs to business and customer dissatisfaction. Using the application of

meta-heuristics due to their efficiency in solving combinatorial problems and maps for

vehicle routing problem, this system has as main purpose to assist the operational

management regarding the delivery of service orders for the teams and expedite

requests, minimizing the distance between each call, reducing time and operational

costs. We used the ACO optimization algorithm based on the behavior of ant colony.

ACO, Ant Colony Otimization in English, is a recent metaheuristic for solving

combinatorial problems. It is based on elaboration solutions and was inspired by

observing the behavior of ants looking for food. There was done tests considering

lots of service orders that were prepared with different degrees of difficulty according

to amount of service orders. After some simulations of test scenarios and analyzing

their results, there was concluded the application of ACO metaheuristic applied to the

routing is actually able to reach a solution close to optimal.

Key-words: routing, metaheuristic, ACO, ant colony , maps, service orders

Page 9: TCC HERMANN CLAY.pdf

LISTA DE GRÁFICOS

Gráfico 1: Comparativo de Resultados de Instâncias de testes ................................ 41

Gráfico 2: Comparativo do ganho com ACO x distância média entre ordens de

serviço ....................................................................................................................... 42

Gráfico 3: Comparativo da duração do cálculo pelo método de obtenção da

distância. ................................................................................................................... 44

Page 10: TCC HERMANN CLAY.pdf

LISTA DE FIGURAS

Figura 1: Exemplo de roteirização ruim e boa (BALLOU, 2001)................................ 17

Figura 2: Cenário de um Problema de Roteamento de Veículos Dinâmico. ............. 20

Figura 3: Comportamento das formigas na busca de alimento ................................. 26

Figura 4: Pseudo-código do Ant Colony System ....................................................... 33

Figura 5: Fluxo de Comunicação entre o veículo e o centro de despacho ................ 36

Figura 6: Arquitetura em Camadas utilizada no projeto ............................................ 37

Figura 7: Pseudo-código do algoritmo Ant Colony System implementado na solução

.................................................................................................................................. 38

Figura 8: Exemplo de problema na roteirização por serviço de mapa desatualizado 43

Figura 9: Modelo de arquitetura sistêmica sugerida .................................................. 46

Figura 10: Interface do Software implementado ........................................................ 47

Page 11: TCC HERMANN CLAY.pdf

LISTA DE SIGLAS

3G - Third generation

ACO - Ant Colony Optimization

ACS – Ant Colony System

API - Application Programming Interface

AS – Ant System

CAD - Computer-Aided design

DLL - Dynamic-link library

EDGE - Enhanced Data Rates for GSM Evolution

ETL - Extract Transform Load

GPRS - General Packet Radio Service

GPS - Global Positioning System

PRV – Problema de Roteirização de Veículo

PRVDJT – Problema de roteirização de Veiculo Dinâmica com Janela de Tempo

PRVJT – Problema de Roteirização de Veiculo com Janela de Tempo

SGBD – Sistema Gerenciador de Banco de Dados

SQL - Structured Query Language

TSP - Traveling Salesman Problem

UI – User Interface

WAN - Wide Area Network

WPF - Windows Presentation Foundation

XAML - Extensible Application Markup Language

Page 12: TCC HERMANN CLAY.pdf

SUMÁRIO

1 INTRODUÇÃO ................................................................................................... 12

1.1 OBJETIVO GERAL ......................................................................................... 13

2 JUSTIFICATIVA ................................................................................................ 13

3 METODOLOGIA ................................................................................................ 15

4 FUNDAMENTAÇÃO TEÓRICA ......................................................................... 16

4.1 O PROBLEMA DE DESPACHO DE ORDENS DE SERVIÇO ........................ 16

4.2 O PROBLEMA DE ROTEIRIZAÇÃO DE VEÍCULOS ..................................... 18

5 METAHEURÍSTICA ANT COLONY OTIMIZATION .......................................... 24

5.1 INTRODUÇÃO ............................................................................................... 24

5.2 ANT COLONY OTIMIZATION ........................................................................ 24

5.3 INSPIRAÇÃO BIOLÓGICA ............................................................................. 25

5.4 ANT SYSTEM - AS ......................................................................................... 29

5.5 ANT COLONY SYSTEM - ACS ...................................................................... 31

6 MODELAGEM DO PROBLEMA ........................................................................ 33

6.1 INFORMAÇÕES GEOGRÁFICAS .................................................................. 34

6.2 COMUNICAÇÃO E POSICIONAMENTO ....................................................... 35

7 DESENVOLVIMENTO DA SOLUÇÃO .............................................................. 36

7.1 ARQUITETURA DA SOLUÇÃO ..................................................................... 36

7.2 IMPLEMENTAÇÃO DA SOLUÇÃO ................................................................ 37

8 RESULTADOS .................................................................................................. 39

8.1 DESCRIÇÃO DOS CENÁRIOS DE TESTE ................................................... 39

9 CONCLUSÃO .................................................................................................... 48

9.1 TRABALHOS FUTUROS ................................................................................ 49

REFERÊNCIAS ......................................................................................................... 50

Page 13: TCC HERMANN CLAY.pdf

12

1 INTRODUÇÃO

Em empresas que atuam no segmento de distribuição e fornecimento de

energia elétrica, os atendimentos das ordens de serviços emergenciais, comerciais e

técnicos representam um grande desafio quando se observa a necessidade de

manter a produtividade das equipes em padrões aceitáveis e com baixo custo

operacional.

Isso porque as incidências das ocorrências e solicitações de serviços por

consumidores são distribuídas aleatoriamente em tempo e espaço, dificultando o

processo de despacho de equipes e atendimento dentro de um prazo desejado.

A natureza dinâmica destas ocorrências no decorrer do dia gera alterações de

rotas não planejadas previamente, provocando aumento significativo no tempo de

atendimento, devido à distância dos trajetos e consequentemente aumento de

custos operacionais como combustíveis e manutenção do veículo.

Além disso, muitas empresas ficam a mercê da experiência de seus

funcionários e motoristas, que nem sempre conhecem o melhor caminho ou trajeto

no deslocamento entre um determinado local a outro da rota, além de desconhecer a

situação atual das vias de trânsito, que podem estar obstruídas por manutenção,

bloqueadas por algum acidente ou engarrafadas, comprometendo assim o tempo de

atendimento planejado.

O presente trabalho propõe a criação de um sistema dinâmico de

gerenciamento das rotas para auxílio e otimização de despacho de ordens de

serviço emergenciais, comerciais e técnicas de acordo com as melhores rotas de

atendimento, considerando critérios tais como prioridade, prazo, localização, tipo de

equipe e disponibilidade, utilizando metaheurística devido à sua eficiência na

resolução de problemas combinatórios e mapas geográficos para problema de

roteirização de veículos.

Page 14: TCC HERMANN CLAY.pdf

13

A organização deste trabalho é dividida nas seguintes seções. Na seção 2,

inicia-se com o objetivo geral e a justificativa para o problema o proposto a ser

resolvido, delimitando os seus parâmetros. As seções que se sucedem demonstram:

a metodologia utilizada na solução do problema; a fundamentação teórica; a

modelagem do problema e os resultados obtidos nas simulações expondo os pontos

propostos positivos, como também os negativos, e serão expostas as conclusões.

1.1 OBJETIVO GERAL

Este trabalho tem como objetivo geral apresentar uma proposta

computacional utilizando metaheurística e mapas para otimização de rotas em

distribuidora de energia elétrica visando aumentar a produtividade das equipes com

a redução do tempo de deslocamento, maior disponibilidade e consequentemente

reduzir os custos operacionais.

2 JUSTIFICATIVA

Segundo (BALLOU, 1998) a logística participa de pelo menos um terço total

das despesas de uma empresa, e estes custos podem variar de acordo com o

tempo de viagem entre o atendimento de um cliente e outro, ou o atendimento de

uma nova demanda inesperada. Na Energisa estes custos, estão relacionados ao

deslocamento para o atendimento de ocorrências e/ou solicitações de serviço pelos

clientes. Uma eficiente operação logística tem impacto relevante no resultado da

empresa. Essa eficiência é obtida através da determinação de boas rotas para uma

frota de veículos.

Page 15: TCC HERMANN CLAY.pdf

14

Desta forma, o aumento da produtividade na roteirização de veículos é

fundamental para redução de custos e aumento da produtividade na execução dos

serviços em empresas distribuidoras de energia elétrica.

Segundo Araújo (2008) a maioria dos problemas de roteirização de veículos

encontrados apresenta dificuldades na resolução por métodos exatos. Eles são

resolvidos por processos heurísticos, que buscam melhores respostas em tempos

computacionais viáveis.

O Problema de Roteirização de Veículos (PRV) consiste basicamente em

definir um conjunto de pontos a serem percorrido por um ou mais veículos, para

atender um determinado conjunto de clientes geograficamente dispersos, com

distâncias e custos diferentes associados a suas conexões. Estes clientes estão

conectados entre si através de trajetos ou rotas, para cada par de clientes há um ou

mais trajetos que os ligam. O problema consiste, então, em encontrar o menor

caminho para percorrer todos os clientes em uma única vez. O Conjunto de todos os

caminhos possíveis a serem percorrido, define o espaço da busca para este

problema. Quando o conjunto é pequeno se torna fácil de resolver, testando todas

as possibilidades. Mas em conjuntos maiores a dificuldade cresce exponencialmente

devido as inúmeras possibilidades combinatórias. Daí a necessidade de estratégias

computacionais de baixo custo, mais que possam encontrar soluções ótimas ou

próximas delas para este tipo de problema.

Os Algoritmos Genéticos descrito por Holland (1975), inspirados pela biologia

evolutiva, que se baseia na observação da evolução das espécies, são muito

utilizados na resolução de problemas do tipo caixeiro-viajante e de roteirização de

veículos com janela de tempo. Porém, para problemas de roteirização em veículos

sem janelas de tempo, os algoritmos genéticos não vinham apresentando bons

resultados se comparados com algoritmos baseados em meta-heurística

(TAILLARD, 1994).

Atualmente, existem vários estudos publicados que propõem a resolução de

diferentes tipos de PRV, dentre eles, os modelos definidos por Dorigo e Colorni

(1996) que utilizam metaheurística baseadas na observação de fenômenos físicos e

Page 16: TCC HERMANN CLAY.pdf

15

biológicos e de inteligência artificial que tem apresentado melhores resultados

quando aplicados em problemas reais.

Propõe-se neste trabalho a construção de uma solução sistêmica utilizando

meta-heurística e mapas para gerenciamento de rotas dinâmicas, otimizando o

despacho de ordens de serviços que dependam de uma roteirização de veículos

eficiente.

3 METODOLOGIA

A princípio foi realizado um levantamento teórico acerca do tema através de

livros, artigos científicos e sites da internet, com a finalidade de obter informações

sobre os estudos existentes na área e fundamentar o presente trabalho.

Para a realização do estudo, foi implementado um protótipo de um sistema

que se comunica com o sistema de controle de Ordens de Serviço da

concessionária de energia elétrica ENERGISA. O sistema computacional foi

desenvolvido utilizando linguagem de programação C#.NET para cálculo da menor

distância. Para armazenamento das informações de rotas foi utilizado sistema

gerenciador de banco de dados SQL Server.

A linguagem de programação C# foi escolhida por ser orientado a objetos,

possuir frameworks ágeis para desenvolvimento de aplicações para diversas

plataformas, possuir grande conectividade com os principais SGBDs (Sistema

Gerenciador de Banco de Dados) e ser utilizado em outras aplicações da empresa.

Foi implementado um protótipo da aplicação de modo compacto, ou seja, sem

contemplar todos os requisitos funcionais que serão descritos neste projeto, mas

que servirão para verificação dos benefícios obtidos com a roteirização.

Para representação gráfica dos Mapas, foi utilizada uma biblioteca DLL Open

Source chamada GMap.NET. Com ela é possível conectar os principais Mapas

Page 17: TCC HERMANN CLAY.pdf

16

disponíveis atualmente no mercado como: Google Maps, Yahoo Maps, Bing Maps,

OpenStreetMap entre outros. Essa biblioteca implementa as principais funções das

APIs (Application Programming Interface) dos mapas. Porém o termo de serviço de

utilização da API do Google Maps, utilizada neste trabalho, exige que a aplicação

implementada com o mapa seja de livre acesso. Caso o uso do sistema seja restrito,

deve-se utilizar a API Premier.

O sistema foi desenvolvido utilizando componente do Microsoft. NET

Framework 3.5 chamado WPF (Windows Presentation Foundation), que usa uma

linguagem de marcação conhecida como XAML (Extensible Application Markup

Language). Considerado a próxima geração de UI (User Interface), que permite a

criação de aplicações com um grau de personalização extremamente elevado.

4 FUNDAMENTAÇÃO TEÓRICA

4.1 O PROBLEMA DE DESPACHO DE ORDENS DE SERVIÇO

O problema de despacho de ordens de serviço tem como objetivo cumprir um

determinado conjunto de tarefas em um determinado prazo. Este conjunto de tarefas

é dividido em subconjuntos a serem distribuídos para um determinado número de

equipes disponíveis, de acordo com a classificação do tipo de serviço que cada

equipe está apta a executar e sua posição inicial.

Cada tarefa possui características e atributos própria tais como: tipo da tarefa,

localização, prioridade, tempo de atendimento, material necessário, entre outros. Já

a equipe, por sua vez, tem atributos que se referem a sua disponibilidade,

localização, tipo de serviços aptos a executarem, tipo de veículo, material disponível,

velocidade média de deslocamento entre outros. Além disso, deve-se considerar a

área de atuação da equipe.

Page 18: TCC HERMANN CLAY.pdf

17

As ordens de serviço devem ser agrupadas de modo a manter as tarefas mais

próximas do centróide (ponto que define o centro geométrico de um objeto) de

agrupamento, reduzindo assim a distância de deslocamento da equipe de um

determinado agrupamento de tarefas.

Na Energisa, o despacho de ordens de serviços, seja ela do tipo Comercial ou

Técnica, é realizado de forma centralizada, através do Centro de Operações de

Serviços. A partir de um conjunto de ordens de serviços disponíveis, o despachante

seleciona uma combinação de tarefas para atender a um determinado conjunto de

clientes, onde o custo seja o menor possível (normalmente distância percorrida ou

tempo de deslocamento). Este conjunto de ordens de serviços agrupadas é

denominado Lote. Ao realizar o despacho do lote de tarefas, atualmente, o sistema

da Energisa transfere os dados para dispositivo móvel do tipo Smartfone (aparelho

celular com sistema operacional e funcionalidades avançadas) da equipe através de

rede de dados wireless (quando a equipe encontra-se na garagem ou sede da

empresa) ou por conexão GPRS/EDGE/3G (quando a equipe encontra-se em

operação). As ordens de serviços transferidas para o dispositivo móvel não seguem

qualquer tipo de ordenação; a seqüência e priorização são realizadas pelo

despachante durante as atividades do dia-a-dia através de rádio, podendo ocorrer

cruzamentos de trajetos conforme ilustrado na Figura 1 abaixo.

Roteirização ruimOs trajetos se cruzam

Roteirização boaNão há cruzamento entre

trajetos

Figura 1: Exemplo de roteirização ruim e boa (BALLOU, 2001).

Page 19: TCC HERMANN CLAY.pdf

18

Durante o decorrer do dia, novas demandas são geradas devido às

incidências de ocorrências ou solicitações de clientes, gerando alterações de rotas

previamente não planejadas e a necessidade de reprogramação das equipes em

operação. Atualmente na ENERGISA, a escolha da equipe para execução da nova

tarefa é baseada apenas em visualização gráfica através de ferramenta CAD (do

inglês, Computer-aided design) e/ou conhecimento de agente de despacho, ou seja,

sem qualquer análise computacional da equipe ideal para atendimento baseado em

tipo da equipe, localização, inter-relações entre as tarefas, e da complexidade

associada a cada uma delas (prioridade, indicadores, prazos etc). Segundo Ballou

(2001) utilizar o raciocínio humano para determinar roteiros já trás resultados

positivos, como por exemplo, evitar que as rotas se cruzem. Entretanto, o aumento

da complexidade como o número de tarefas, restrições de velocidade, sentido das

vias e tempo de parada, passa a exigir modelos computacionais como ferramenta

para aumento da eficácia.

4.2 O PROBLEMA DE ROTEIRIZAÇÃO DE VEÍCULOS

A otimização de rotas em problema de roteirização de veículos é algo

bastante complexo, devido a inúmeras possibilidades de combinações que podem

resultar em diversas soluções. O objetivo é determinar um conjunto de rotas ideais,

para uma determinada frota de veículos, de menor custo, que atenda a um conjunto

de tarefas, respeitando as restrições operacionais definidas para cada problema, tais

como tipo do serviço, material, localização, prioridade, prazo, tipo de equipe e

transporte.

O termo roteirização (equivalente ao inglês, “routing”), apesar de não

encontrado em todos os dicionários de língua portuguesa, é definido como o

processo para a determinação de um ou mais roteiros ou seqüências de paradas a

serem cumpridos, com o objetivo de visitar um conjunto de pontos distintos

geograficamente e pré-determinados (CUNHA, 2000).

Page 20: TCC HERMANN CLAY.pdf

19

A roteirização segundo Assad (1988) apud Cunha:

“consiste em uma das histórias de grande sucesso da Pesquisa

Operacional nas últimas décadas, que pode ser medido pelo expressivo

número de artigos que vêm sendo publicados ao longo dos anos na

literatura especializada, incluindo os anais de congressos da ANPET

(Associação Nacional de Pesquisa e Ensino em Transportes)”. (p2)

O primeiro problema de roteirização a ser estudado foi o problema do caixeiro

viajante (no inglês “Travel Salesman Problem” ou TSP), que consiste em estabelecer

qual a melhor rota ou sequência de cidades a ser feita por um vendedor, onde o

mesmo deve percorrer a menor distância possível e assegurando que cada cidade

seja visitada exatamente uma única vez.

Desde então, restrições vem sendo adicionadas ao problema do caixeiro

viajante, com o objetivo de representar os diferentes tipos de problemas que

envolvem a definição de roteiros para pessoas e veículos. Muitas vezes problemas

do tipo caixeiro viajante podem ser vistos como problemas de múltiplos caixeiros

viajantes, com restrições adicionais de capacidade e outras restrições que depende

de cada aplicação (CUNHA, 2006).

O problema de roteirização de veículos pode ser classificado basicamente em

dois tipos: Estáticos e Dinâmicos. No problema estático, conhecido como Problema

de Roteamento de Veículos com Janelas de Tempo (PRVJT), todos os dados

relativo aos clientes são conhecido antes das rotas serem construídas e nenhuma

mudança é realizada após a fase de roteamento dos veículos.

O desenvolvimento de novas tecnologias de informações e o avanço nas

telecomunicações vem exigindo que as empresas revisem os seus modelos de

distribuição. Recentes avanços na comunicação permitem que novas tarefas sejam

processadas em tempo real, geralmente enquanto as rotas já estão sendo

executadas, e novas informações podem ser obtidas durante a operação das

equipes como: tempo de parada, veículo quebrado ou atrasado, situação das vias

etc.

Page 21: TCC HERMANN CLAY.pdf

20

Com isso, uma classe de problema não muito explorada vem crescendo,

conhecida como Problemas de Roteamento de Veículos Dinâmico com Janelas de

Tempo (PRVDJT). No problema Dinâmico as rotas previamente planejadas podem

ser alteradas durante a operação dos veículos mediante o surgimento de novas

tarefas. De certa forma, pode ser visto como um conjunto de problemas estáticos a

serem resolvidos durante a operação dos veículos (PSARAFTIS, 1995).

4.2.1 Problema de Roteamento Dinâmico

No PRVDJT, os veículos em operação podem sofrer uma reprogramação em

tempo real, para atender a um novo conjunto de tarefas com suas respectivas

características, de tal modo que o custo seja o menor possível (geralmente a

distância percorrida ou tempo de deslocamento). Além disso, algumas requisições

dos clientes podem ser conhecidas previamente, por exemplo, antes da saída dos

veículos da garagem. (RIBEIRO; LORENA, 2005, p2)

A natureza dinâmica das novas solicitações de serviços que surgem no

decorrer do dia faz-se necessário que seja realizada a reprogramação dos veículos

que estão em operação. No momento da reprogramação das rotas, esse problema

pode ser visto como um problema estático (PRVJT) a ser resolvido.

Garagem

Rota 1 Rota 2

Posição Atual do Veículo

Rota Planejada

Novo segmento de rota

Requisição programada

Nova requisição

Requisição atendida

Figura 2: Cenário de um Problema de Roteamento de Veículos Dinâmico (RIBEIRO; LORENA, 2005)

Page 22: TCC HERMANN CLAY.pdf

21

A Figura 2 mostra um problema simples de roteirização dinâmica de veículos.

No exemplo, dois veículos partem para atender um conjunto de rotas previamente

existentes no qual cada um inicia na posição atual do veículo e ao término retornam

para a garagem. Considera-se no exemplo que os veículos estão capacitados para

atender tanto as requisições programadas quanto novas requisições. As requisições

previamente solicitadas e programadas são representadas pelos círculos negros,

enquanto as novas requisições são representadas pelos círculos brancos.

As linhas sólidas representam as duas rotas que o despachante planejou para

os veículos. A linha sólida de espessura mais grossa representa a posição atual do

veículo no momento que novas requisições são recebidas.

No problema tratado neste trabalho, parte das ordens de serviço é conhecida

previamente, os quais são utilizados para roteirização de um determinado conjunto

de rotas definidas inicialmente. No decorrer do dia, novas ordens de serviço que

entram no sistema são atribuídas a equipes que estão em operação, desta forma as

rotas podem sofrer reprogramação em tempo real, para atender um novo conjunto

de ordens de serviço, de tal modo que o custo baseado na menor distância

percorrida ou tempo de viajem seja o menor possível.

Para que as tarefas não programadas possam ser atendidas no mesmo dia

da solicitação, é necessário definir um tempo limite de entrada de novas solicitações

para a janela atual de operação, para que as ordens de serviços geradas após o

tempo limite sejam colocadas para o próximo dia de operação. Ou seja, os veículos

que já se encontram em operação têm conhecimento prévio sobre a localização das

novas tarefas (MONTEMANNI; GAMBARDELLA; DONATI, 2003).

Considerou-se que os veículos que já estão em operação não precisam

retornar a Garagem da ENERGISA para processar novas requisições. Após a

reprogramação das rotas, o sistema de despacho de ordens de serviço deverá se

comunicar com o dispositivo móvel instalado no veículo e atualizar a sequência dos

serviços que deverão ser atendidos. Este dispositivo móvel, por sua vez, está

equipado com sistema GPS e conexão de dados móvel (GSM/GPRS/HSPDA/3G).

Page 23: TCC HERMANN CLAY.pdf

22

Embora um problema de roteirização de veículos tenha como objetivo final

minimizar os custos, seus atributos possuem a capacidade de assumir diferentes

características. Assad (1988) apud Cunha sugere um conjunto de elementos para a

caracterização de problemas de roteirização, que podem servir de base para

aquisição ou implementação de um software de roteirização. Como exemplo tem-se:

Natureza e características do atendimento:

- somente coletas, somente entregas ou coletas e entregas;

- único produto ou múltiplos produtos;

- atendimento parcial ou total;

- demanda homogênea ou heterogênea , conhecida a priori ou

de forma dinâmica;

- necessidade de programação das visitas;

Frota de veículos:

- diferentes capacidades (frota heterogênea) ou mesma

capacidade (frota homogênea);

- restrições quanto ao limite de capacidade (peso ou volume);

- vinculo entre o veículo e a sua garagem;

- compatibilidade entre o veículo e os produtos;

- podem retornar ou não para o reabastecimento;

- frota fixa ou frota variável;

Requisitos de pessoal:

- duração da jornada de trabalho;

- opção e número de horas extras permitidas;

- numero fixo ou variável de equipes;

- locais e horários de inicio e término das jornadas de trabalho

das equipes;

- tempo de intervalo para refeições e outros tipos de parada

(abastecimento, descanso, por exemplo);

- possibilidade de viagens com duração superior a jornada de

trabalho;

Foram consideradas neste trabalho algumas variantes para o problema de

roteirização de veículos. Elas foram classificadas em quatro categorias, conforme

Page 24: TCC HERMANN CLAY.pdf

23

notação adotada por Silva (2007): função e objetivo, restrições, variáveis de decisão

e hipóteses/recursos, e/ou características do problema.

Diante da grande diversidade de fatores e condicionantes que aparecem em

problemas de roteirização, são necessárias estratégias matemáticas eficazes e

robustas o suficiente para serem aplicadas nos mais diferentes problemas, para que

possam ser atingidas soluções de qualidade, e para que sejam supridas as

demandas particulares de cada problema originado de situações reais.

Segundo Cunha (2000, p. 13), um fato importante a ser destacado é que,

embora a maioria dos modelos matemáticos que se propõem a otimização de

roteiros, na prática nem sempre conseguem levar em consideração todos os custos

operacionais, que compreende não só os custos variáveis como a distância

percorrida, mas também os custos fixos dos veículos e os custos de horários com as

equipes.

De acordo com Laporte (1992), as estratégias de solução de problemas de

roteirização de veículos podem ser divididas em algoritmos exatos e soluções

heurísticas. De acordo com Cunha (2006), citado por Araújo (2008, p. 20) “as meta-

heurísticas podem ser definidas como as estratégias e técnicas mais recentes e

avançadas, que guiam outras heurísticas a fim de encontrar soluções melhores,

ultrapassando o ponto de parada das heurísticas tradicionais.”

Muitas pesquisas estão sendo realizadas utilizando metaheurística na

resolução do PRVDJT. Propõe-se neste trabalho uma solução utilizando meta-

heurística baseada no comportamento de colônia de formigas, que empregam um

processo adaptativo e paralelo de busca de soluções em problemas complexos, o

que o torna uma técnica muito útil em problemas de otimização.

Page 25: TCC HERMANN CLAY.pdf

24

5 METAHEURÍSTICA ANT COLONY OTIMIZATION

5.1 INTRODUÇÃO

A palavra heurística, de origem da língua grega “heurisken”, significa procurar

algo, descobrir, encontrar; enquanto “meta” significa além de, em um nível superior.

De forma genérica, metaheurística pode ser definida como um processo inteligente

na busca por melhores soluções. A idéia principal por trás das metaheurísticas é a

exploração do espaço da busca de maneira eficiente, encontrando ótimas soluções

sem ter de explorar excessivamente o espaço da busca. Utilizam combinações de

escolhas aleatórias e informações históricas dos resultados anteriores para se

guiarem e realizar suas buscas.

Pesquisadores de diferentes áreas têm sido inspirados na observação da

natureza e a evolução das espécies para desenvolver e aperfeiçoar métodos

heurísticos de otimização. Muitas pesquisas vêm sendo realizada baseada no

comportamento de colônia de insetos. Esta nova área de pesquisa conhecida como

Inteligência Coletiva ou Swarm Intelligence baseia-se na aplicação do conhecimento

adquirido acerca de como as colônias de insetos realizam atividades coletivas no

desenvolvimento de novos algoritmos de simulação e otimização (BONABEAU;

DORIGO; THERAULAZ, 1999).

5.2 ANT COLONY OTIMIZATION

Neste trabalho foi utilizado um algoritmo de otimização baseado no

comportamento de colônia de formigas (ACO, do inglês ant colony otimization). O

ACO (do inglês Ant Colony Otimization) foi desenvolvido por Dorigo (1991), é uma

Page 26: TCC HERMANN CLAY.pdf

25

meta-heurística recente para solução de problemas combinatórios. É baseada na

construção de soluções e foi inspirada na observação do comportamento das

formigas em busca de alimentos.

5.3 INSPIRAÇÃO BIOLÓGICA

As formigas são capazes de criar caminhos otimizados entre a sua colônia e

uma fonte de alimento sem utilizar elementos visuais. Elas utilizam uma forma de

comunicação indireta, onde um indivíduo da colônia modifica de alguma forma o

ambiente ao ser redor, e algum tempo depois, outro indivíduo responde a esta

modificação. Esta comunicação indireta entre dois indivíduos permite que seja

encontrado o menor caminho.

Enquanto as formigas se movimentam da colônia até o alimento, elas

depositam no solo uma substância química que produzem chamada de feromônio.

Em cada caminho é formada uma trilha de feromônios. Desta forma, num primeiro

instante, várias trilhas podem ser geradas. Outras formigas percebem a presença

desta substância no solo e de um modo simplificado, a tendência é a formiga

escolher a trilha com maior concentração de feromônios. Com o tempo, o feromônio

depositado no solo passa a evaporar, assim, quanto maior o tempo que uma formiga

fica sem passar em um ponto, menor será a quantidade de feromônio no mesmo.

As primeiras formigas a saírem da colônia se movimentam de forma aleatória.

As que saem posteriormente têm sua escolha de rota a seguir influenciada pelas

diferentes quantidades de feromônios depositados previamente. As rotas com maior

quantidade de feromônios possuem maior probabilidade de serem escolhidas. Desta

forma, as rotas são reforçadas com mais quantidade de feromônios e mais formigas

seguem este caminho.

Page 27: TCC HERMANN CLAY.pdf

26

Na Figura 3 é demonstrado um exemplo do comportamento das formigas à

procura de uma fonte de alimento.

Figura 3: Comportamento das formigas na busca de alimento (OLIVEIRA, 2007).

Inicialmente (Figura 3(a)), as formigas se movimentam em linha reta seguindo

a trilha de feromônio que liga o ninho a uma fonte de alimento. Na Figura 3(b) é

demonstrado o surgimento de um obstáculo que interrompe o trajeto anterior das

formigas e cria dois caminhos distintos, um maior que o outro até a fonte de

alimento. O grupo de formigas que primeiro chega ao obstáculo e não consegue

seguir a trilha de feromônio não sabe que caminho seguir e escolhe aleatoriamente

ir pela esquerda ou pela direita (Figura 3(c)). Desta forma, é possível prever que

50% das formigas escolheram ir pela direita e 50% pela esquerda.

As formigas que escolheram o caminho mais curto para contornar o obstáculo

e chegar à fonte de alimento retornam para o seu ninho mais rápido (Figura 3(d)).

Desta forma a trilha que acumula uma maior concentração de feromônio influencia

outras formigas a seguir esta trilha. Assim, as formigas deixam de escolher as trilhas

aleatoriamente e a concentração de feromônio torna-se o parâmetro principal na

decisão da escolha da trilha a seguir.

Page 28: TCC HERMANN CLAY.pdf

27

De acordo com Dorigo (1999), os algoritmos baseados no comportamento de

colônia de formigas possuem algumas características que devem ser considerados,

tais como:

Uma colônia de formigas é formada por um conjunto de indivíduos

cooperativos;

As formigas optam por percorrer caminhos com alta concentração de

feromônio;

Cada formiga da colônia deve ser capaz de encontrar uma solução;

Nos caminhos menores (solução de menor custo) existe uma elevada

concentração de feromônio;

Cada formiga utiliza-se apenas de suas próprias informações, além das

informações locais sobre o ponto que visita;

As formigas se comunicam de forma indireta, medida pela trilha de

feromônio;

Ainda segundo Dorigo (1999) as formigas da colônia possuem algumas

características. Cada formiga procura por uma solução possível de realizar e de

menor custo, de acordo com a função de avaliação instituída. Possuem uma

memória que utiliza para armazenar informações sobre o caminho percorrido até o

momento. Esta memória pode ser utilizada para avaliar uma solução encontrada,

refazer o caminho de trás para frente e construir soluções factíveis. Além disso, cada

formiga pode-se deslocar a partir de um determinado nó i para qualquer nó j em sua

vizinhança. Uma formiga k localizada em um nó i pode-se deslocar para um nó j

escolhido, desde que este não tenha sido visitado ainda por nenhuma das demais

formigas. O movimento da formiga é selecionado de acordo com uma regra

probabilística que se baseia em:

i. valores armazenados na estrutura do nó de forma local, definida como

tabela de roteamento da formiga, obtida através da relação entre a

quantidade de feromônio presente em um nó e valores heurísticos;

ii. memória da formiga, que armazena suas decisões passadas;

iii. restrições do problema;

Page 29: TCC HERMANN CLAY.pdf

28

Quando as formigas se movem do nó i para o nó j, elas podem atualizar a

quantidade de feromônio presente no arco (i, j). Isto é conhecido como atualização

online passo-a-passo do feromônio. Uma vez que a solução seja construída, a

formiga pode percorrer o mesmo caminho de trás para frente, atualizando os índices

de feromônio nos arcos atravessados. Isto é denominado como atualização online

atrasada do feromônio. Após a formiga ter concluído a construção da solução e

atualizado os índices de feromônio, ela morre, liberando recursos.

Como já foi dito, a metaheurística ACO baseia-se em um processo de

construção de soluções. É também baseada em população, quando ocorre a

cooperação entre as formigas. Os métodos de busca populacionais se caracterizam

por armazenar um conjunto de boas soluções, que são combinadas de diferentes

formas. Estas combinações têm como objetivo, agrupar os bons atributos presentes

na melhor solução e gerar uma nova, possivelmente melhor que as demais. Umas

das principais inovações do ACO é a utilização de formigas artificiais, que a cada

caminho percorrido, depositam certa quantidade de feromônio que irá influenciar na

decisão das formigas que vierem em seguida. Baseado na influencia deste

feromônio o ACO busca obter a construção de soluções, com efeito, tanto de

diversificação quanto de intensificação.

O processo de construção de uma solução ACO é realizado levando em

consideração informações heurísticas e informações de feromônio, que é alterada

dinamicamente para refletir a experiência da formiga. Inicialmente, as formigas

artificiais são colocadas em pontos aleatoriamente. Quando a formiga dá um passo

na construção da solução, ela faz um cálculo probabilístico baseada na quantidade

de feromônio depositada nas arestas que ligam a sua posição atual até posições

ainda não visitadas e na informação heurística relacionada a estas arestas.

Existem algumas variações do ACO, a principal diferença entre elas é a forma

de como fazem o incremento do feromônio. Neste trabalho será utilizado o ACS (Ant

Colony System), que consiste num melhoramento do Ant System (AS), que é o

primeiro exemplo de algoritmo ACO, desenvolvido por Marco Dorigo, Vitorio

Maniezzo e Alberto Colorni em 1996 que serviu como ponto de partida na

implementação de diversos outros algoritmos inspirados no comportamento de

formigas.

Page 30: TCC HERMANN CLAY.pdf

29

5.4 ANT SYSTEM - AS

No Ant System – AS, durante uma iteração do algoritmo, cada formiga

artificial k em um conjunto de m formigas constrói um caminho percorrendo n = N

passos, onde n representa o número do nó atual (um cliente por exemplo) e N o total

de nós (total de clientes) a visitar. As iterações são representadas por t, onde t

pertence ao intervalo entre 1 e o número máximo de iterações, tmax, definido pelo

usuário. Para cada formiga k, a escolha de movimento do nó i para o nó j na iteração

t é baseada em uma função probabilística que depende de três fatores:

i. se o nó j já foi visitado pela formiga k. Para que não ocorram

movimentos inválidos, a formiga tem uma memória (denominada lista

tabu) que armazena os nós visitados por ela. É representada pelo

conjunto kiJ . Esse conjunto contém todos os nós que a formiga k,

estando no nó i, ainda tem de visitar. Inicialmente, kiJ contém todos os

nós, exceto o nó de partida que a formiga k inicia sua rota. Quando um

nó i é visitado pela formiga k, ele é retirado do conjunto kiJ para evitar

uma nova visita. Desta forma, quando a formiga constrói uma solução,

ela é forçada a evitar que um mesmo nó (um cliente, por exemplo) seja

visitado duas ou mais vezes até que a solução esteja completa;

ii. atratividade ij ou parâmetro visibilidade, definido neste problema

como o inverso da distância. Expressa o desejo a priori de se

movimentar do nó j, a partir do nó i;

iii. rastro de feromônio (t)ijτ presente nos caminhos (arestas) que

conectam os nós. As formigas artificiais, assim como as reais, optam

na maioria dos casos, pela escolha determinística do trajeto, a partir da

maior concentração de feromônio e maior atratividade. A trilha de

feromônio é atualizada a cada iteração. Quando a formiga percorre

todo um caminho (nós), ela incrementa a taxa de feromônio em cada

aresta (i,j) que ela visitou. A probabilidade de escolha de um caminho é

Page 31: TCC HERMANN CLAY.pdf

30

proporcional ao rastro e à atratividade do feromônio. O rastro de

feromônio pode ser vista como um indicador da aprendizagem ao se

escolher um nó j, a partir do nó i.

A escolha do caminho a ser seguido pela formiga artificial é feita de acordo

com a seguinte expressão:

kiJj se

kiJj se

t

t

tp kiJu iuiu

ijij

k

ij

,0

,)(

)(

)(

(1)

Essa expressão é apresentada em Dorigo (1991). Onde:

α e β: são parâmetros ajustáveis que controlam a intensidade do rastro

de feromônio τij(t) e a atratividade, ij . Estão situados na faixa [0, 1] e

definidos de acordo com as particularidades do usuário.

kijp : probabilidade da formiga k mover-se no nó i para o nó j ;

τij : é a quantidade de feromônio associado ao arco ij;

kiJ : memória da formiga k (lista tabu);

u : nó sucessível de ser escolhido pela formiga k;

Ao término de cada iteração, uma taxa de evaporação é associada ao

feromônio. Esta ação é responsável por reduzir a quantidade de feromônio em cada

arco. Este procedimento busca evitar que as formigas venham a se vincular em

ótimos locais (estagnação), diminuindo, assim, a probabilidade de escolha de arcos

que foram utilizados recentemente. A expressão de atualização do feromônio no

algoritmo Ant System apresentada em (Dorigo, 1991) e é dada por:

ijijij tt )()1()( (2)

Page 32: TCC HERMANN CLAY.pdf

31

Nesta expressão, tem-se que:

ρ : é o coeficiente de redução da quantidade de feromônio no caminho.

Seus valores estão no intervalo de [0,1];

(t)ijτ : quantidade de feromônio associado ao arco (i,j) na interação t;

ijΔτ : variação da intensidade do feromônio no arco (i,j) da interação t;

5.5 ANT COLONY SYSTEM - ACS

No Ant Colony System - ACS os feromônios são atualizados a cada interação

da fase de construção da solução. Esta ação é conhecida como atualização local de

feromônios. Além da atualização local, o ACS realiza uma atualização global de

feromônio, a qual é executada a cada fase de atualização, e é feita somente pela

formiga que construiu a melhor solução até o momento. Além disso, ACS utiliza

critério de seleção de soluções mais agressivo, foi proposto para competir com

outros algoritmos populacionais e problemas envolvendo mais de um objetivo

(CARVALHO; RAMOS, 2007).

No ACS foi introduzido um parâmetro adicional q0, responsável por controlar a

construção das soluções, definindo a probabilidade de ser utilizada uma nova

fórmula para a decisão de qual aresta cada formiga deve seguir na fase de

construção conforme expressão abaixo:

contrário caso 1, expressão

qq setps

ijij

k

ij 0,)( (3)

Um número aleatório q é gerado a cada interação e comparado a um

parâmetro q0. Se o valor de q for menor que o parâmetro q0, o algoritmo funcionará

de forma gulosa, ou seja, de acordo com a menor distância. Caso contrário, se o

Page 33: TCC HERMANN CLAY.pdf

32

valor de q for maior que q0, a geração da solução será feita de forma probabilística,

utilizando a mesma regra de decisão do algoritmo AS segundo expressão (1).

Outra diferença do ACS em relação ao AS, é que no AS a atualização do

feromônio só é feita após a conclusão da etapa de construção da solução, já no ACS

o processo de deposito e evaporação do feromônio foi modificado, de modo que a

matriz de feromônio seja atualizada de forma global e local. A cada interação da fase

de construção da solução as formigas atualizam o feromônio da aresta da qual

acabaram de atravessar. Conhecida como atualização local, esta foi inserida no

algoritmo para contrabalancear a regra de decisão um tanto quanto gulosa

mencionada acima.

Além da atualização local, o ACS inclui uma atualização global de feromônio

para privilegiar apenas os caminhos pertencentes à melhor solução global, ou seja,

a cada iteração, após todas as formigas terem gerado suas soluções, apenas a

formiga que gerou a melhor solução desde o início do algoritmo irá depositar

feromônio. Segundo Dorigo e Gambardella (1997), a atualização global do ACS evita

a lenta tendência dos resultados, centralizando as buscas na vizinhança da melhor

solução. A atualização global do feromônio é feita pela expressão:

bestsolbestcost

ijijij ,)1(

(4)

onde:

- ijτ : quantidade de feromônio associada ao arco (i,j);

- : taxa de evaporação de feromônio. Valores no intervalo de [0,1];

- bestcost: menor distância percorrida, calculada desde o inicio da aplicação do

algoritmo;

- bestsol: melhor solução calculada desde o inicio da aplicação do algoritmo;

Uma etapa adicional denominado de Daemon Actions pode ser utilizada, de

forma opcional, com o objetivo de auxiliar o processo de tomada de decisões do

ACS em ocasiões como a de ativar um procedimento de busca local ao final de cada

Page 34: TCC HERMANN CLAY.pdf

33

iteração ou de depositar uma quantidade extra de feromônio sobre a melhor solução.

Esses são exemplos de decisões que não podem ser tomadas pelas formigas

individualmente. Como caracterizado por Dorigo (1991), a Figura 4 mostra o pseudo-

código do algoritmo Ant Colony System aplicado ao PRV clássico.

Figura 4: Pseudo-código do Ant Colony System

Os algoritmos ACO, em especial o ACS, por sua definição, são capazes de

obter excelentes resultados quando de sua aplicação a Problemas de Roteamento

de Veículos Dinâmicos, mostrando um bom comportamento em relação a variáveis

geradas aleatoriamente. (DORIGO, M.; BIRATTARI, M. e STÜTZLE, T., 2006)

6 MODELAGEM DO PROBLEMA

A otimização de rotas é um problema bastante complexo pelas inúmeras

combinações possíveis que resultariam em diversas soluções. Para

desenvolvimento deste trabalho foi considerado uma única variável de decisão para

otimização de uma rota: a distância. Outros elementos como prioridade, tipo de

serviço, equipe, veículo e carga não foram considerados. A implementação destes

Page 35: TCC HERMANN CLAY.pdf

34

elementos possui algumas características e precisarão ser vistas com mais detalhes

em trabalhos futuros.

A solução proposta deste trabalho considera que um veículo parte de um

ponto inicial (garagem) e segue executando ordens de serviços em diferentes pontos

de uma rota, e que, por fim, retorna ao ponto de origem (garagem). O objetivo é

encontrar o melhor caminho possível (menor distância), de forma que todos os

pontos marcados da rota sejam visitados.

Em rotas urbanas a quantidade de combinações possíveis para levar um

veículo de um ponto a outro é muito grande. Dados os inúmeros trajetos possíveis a

serem seguidos, todos levam ao mesmo destino, porém nem todos têm o melhor

custo. Isto porque algumas características do trajeto podem levar a um melhor ou

pior caminho tais como: classificação da via (rodovia, urbana, transição e coletora),

parâmetros de tráfego, limite de velocidade, pedágios, condições das vias etc.

6.1 INFORMAÇÕES GEOGRÁFICAS

Com o avanço dos mapas geográficos online nos últimos anos, muitas dessas

características já se encontram disponíveis. O googlemaps, serviço de mapa online

escolhido para ser utilizado neste trabalho, já contempla informações tais como

sentido da vias, classificação viária, nome das ruas, pontos de interesse entre

outros. Porém, não foram identificadas informações quanto a cronograma de

atualizações destas informações, o que pode acarretar em uma falha na roteirização

de uma rota pelo fato dos dados estarem desatualizadas. Como exemplo dessa

desatualização podemos citar a mudança no sentido de uma via anteriormente dupla

que passou a ser de sentido único. Além deste fator, é fundamental que o serviço de

mapa escolhido seja capaz de processar de forma rápida grande quantidade de

informações geográficas, principalmente para resolver problemas em tempo real.

Page 36: TCC HERMANN CLAY.pdf

35

6.2 COMUNICAÇÃO E POSICIONAMENTO

Para um sistema de roteirização, além de equipamentos de posicionamento

como GPS (Global Positioning System) para determinar a posição atual dos

veículos, a comunicação entre o veículo e o centro de despacho de serviços é

essencial para a tomada de decisões e acompanhamento em tempo real das

atividades. O GPS é uma constelação de 24 satélites orbitando a Terra que enviam

constantemente sinais dando as suas posições. A comunicação entre o centro de

despacho de serviço hoje pode ser realizado através de telefonia móvel ou rádio. A

principal diferença entre estas tecnologias é o custo. Um sistema de comunicações

de telefonia móvel é relativamente caro, mas tem baixo custo inicial, porque a

tecnologia de base é fornecida por empresas de telefonia GSM (Global System for

Mobile) que hoje oferece uma área de cobertura quase que total.

Já os custos iniciais em um sistema de comunicação por rádio são

extremamente elevados, porque os equipamentos de transmissão são relativamente

caros e precisam ser instalados em todos os veículos. Além disso, o sistema de

rádio não oferece a mesma flexibilidade em relação ao sistema de comunicações de

telefonia móvel. (LARSEN, 2000).

A Figura 5 abaixo ilustra o fluxo da troca de informação entre o veículo e o

centro de despacho de serviços. Através deste sistema de comunicação o centro de

despacho acompanha a posição real e status do veículo de acordo com informações

de posicionamento atualizadas e transmitidas em um determinado intervalo de

tempo.

Page 37: TCC HERMANN CLAY.pdf

36

coordenadas

Posição atual, status, etc

Atualização de rota, novas ordens de serviço.

Comunicação Móvel(GSM/Rádio/Wi-Fi)

GPS Satélite

Centro de Despacho

Despachante

Atualização de rota, novas ordens de serviço.

Posição, status, etc

Veículo em Operação

Figura 5: Fluxo de Comunicação entre o veículo e o centro de despacho

Desta forma, é possível que o centro de despacho envie atualizações de rotas

e acompanhe a execução das ordens de serviço. Um fato que deve ser considerado

para estudos futuros é como o sistema se comportará quando houver falha na

comunicação de um veículo com o centro de despacho ocasionado, por exemplo,

por algum fator meteorológico, falha de sinal ou pelo veículo estar fora da área de

cobertura do sinal móvel.

7 DESENVOLVIMENTO DA SOLUÇÃO

7.1 ARQUITETURA DA SOLUÇÃO

A Arquitetura de uma Solução é a forma como as várias partes do software

são integradas para formar um total coeso. Ou seja, devem-se definir os módulos do

Page 38: TCC HERMANN CLAY.pdf

37

software e suas interligações. A solução proposta foi implementada utilizando

arquitetura distribuída em multicamadas, conforme ilustrada na Figura 6 abaixo.

Figura 6: Arquitetura em Camadas utilizada no projeto

Este modelo de arquitetura traz diversos benefícios como a prática do

conceito de “dividir para conquistar”. Este tipo de arquitetura tem como uma

característica importante a independência das camadas, facilitando a substituição de

qualquer uma delas em caso da necessidade de uma reengenharia. Por exemplo, se

a camada de negócio tivesse de ser trocada por outra, não seria necessário

nenhuma modificação nas camadas acima, desde que a nova camada de negócio

que viria a substituir a antiga implementa-se a interface definida.

Compatibilizado a uma arquitetura de quatro camadas bem definidas, foi

utilizado na implementação da solução, padrões de projeto (em inglês: Design

Patterns), visando facilitar a reutilização de código em futuras implementações.

7.2 IMPLEMENTAÇÃO DA SOLUÇÃO

O algoritmos ACS foi implementado utilizando linguagem C#. Foi utilizada uma

matriz N × N para representar o grafo com os valores das distâncias entre uma

ordem de serviço e outra e uma segunda matriz N × N para representar o grafo com

os valores das taxas de feromônio depositado em cada aresta, isto é, entre o

Page 39: TCC HERMANN CLAY.pdf

38

caminho de uma ordem de serviço e outra. Cada formiga artificial é uma estrutura de

dados com dois vetores de tamanho N e uma variável numérica. Um vetor é usado

para guardar a solução em construção o e o segundo para marcar as ordens de

serviço ainda não visitadas pela formiga. A variável numérica guarda o custo da

solução construída pela formiga.

Foi implementado uma interface de protótipo para utilização no cenário de

testes. Esta interface não se comunica com os sistemas corporativos de despacho

de ordens de serviço da Energisa. Foi criado um banco de dados específico para o

cenário de teste, e as informações foram copiadas do banco de dados corporativo

através de processo de Extração Transformação Carga – ETL (do inglês, Extract

Transform Load).

No protótipo do cenário de teste, a primeira ordem de serviço executada foi

considerada como o ponto de origem e o ponto final, já que não foi possível verificar

os horários de saída dos veículos da garagem da Energisa. Neste cenário não

haverá reprogramação de rotas, ou seja, todas as ordens de serviço serão

conhecidas previamente. A Figura 7 apresenta o pseudo-código do ACS utilizado na

arquitetura proposta.

Figura 7: Pseudo-código do algoritmo Ant Colony System implementado na solução

Três variaveis condicionais foram utilizadas como condição de parada para

interroper execução do algoritmo ACS. Estas, por sua vez, podem ser

Page 40: TCC HERMANN CLAY.pdf

39

parametrizadas para alcançar melhores resultados computacionais de acordo com a

necessidade do usuário, são elas:

“OptimalACO” – Solução Ótima (distância considerada ótima);

“MaxInteration” – Numero máximo de interações permitidas no

algoritmo ACO na busca pela solução ótima;

“MaxDuration” – Tempo maximo permitido para resolução do problema.

Para cada interação realizada no algoritmo ACO na busca da solução do

problema, estas condicionais são verificadas. Caso alguma das condicionais seja

alcançada de acordo com a sua parametrização, o algoritmo é finalizado retornando

a melhor solução encontrada naquele instante.

8 RESULTADOS

Nesta seção serão descritos os experimentos executados para avaliação de

desempenho do algoritmo heurístico ACO (Ant Collony Otimization) que simula o

comportamento das formigas entre a colônia e a fonte de alimento. Como forma de

avaliar o resultado do algoritmo, foi preparado um conjunto de instâncias de testes

contendo lotes de ordens de serviços com diferente grau de dificuldades, através da

variação de quantidade e disposição geográfica.

8.1 DESCRIÇÃO DOS CENÁRIOS DE TESTE

Foi considerado um único veículo para o atendimento das ordens de serviço e

os dados foram comparados com informações em baseline de serviços executados

entre Janeiro à Junho de 2010. Foi considerado que o veículo em operação na rota

Page 41: TCC HERMANN CLAY.pdf

40

tem capacidade suficiente para atender a todas as Ordens de Serviço, independente

do seu tipo e características.

As instâncias de teste consideraram cadastro de ordens de serviços do tipo

Comercial executadas na ENERGISA de janeiro a junho de 2010. Devido ao grande

volume de dados, foi realizado um filtro para diminuir o tamanho da amostragem

através de seleção randômica. Foram utilizadas cinco instâncias de teste. Para cada

instância de teste, foram selecionados, de forma aleatória, 10 lotes de ordens de

serviços executadas na localidade de João Pessoa-PB. Cada lote possui uma

determinada quantidade de ordem de serviço definida na instância de teste.

Inicialmente, os parâmetros do ACS foram configurados. Os valores de

parâmetros utilizados foram sugeridos por Dorigo (2004) baseados em seus

experimentos. =0.5, α=1, β=1, m=n. Em seguida, foram definidos os parâmetros

condicionais de interrupção do algoritmo ACS baseados em valores que se

mostraram mais eficazes encontrados na literatura. O primeiro parâmetro é o de

número máximo de interações. Foi definido como 200 (duzentos), números elevados

de iterações aumentam a probabilidade de se chegar a melhores soluções em

função de um maior tempo computacional, porém pode levar a demora

computacional do algoritmo. Neste sentido, o segundo parâmetro, tempo máximo

para duração da solução, foi definido como 60 (sessenta) segundos.

Com o objetivo de validar o funcionamento do protótipo implementado e a

eficiência do algoritmo de otimização de rotas utilizando meta-heurística ACO,

proposto neste trabalho, foram verificados os resultados obtidos após execução de

dez lotes de ordem de serviços para cada instância de teste. Os nomes das

instâncias de testes foram assim definidos: R(n), onde n é o número de ordens de

serviços por lote. Logo, a instância R5, por exemplo, é composta por 10 lotes de 5

ordens de serviços.

No Gráfico 1 abaixo, percebe-se que houve um ganho referente à distância

percorrida entre a rota normal, forma atual utilizada na Energisa para roteirização

dos veículos no atendimento de ordens de serviço e a rota ACO, após a aplicação

do algoritmo de otimização. A média de ganho das cinco instâncias de teste em

Page 42: TCC HERMANN CLAY.pdf

41

relação à distância percorrida após a otimização com ACO é de 16% em relação ao

modo normal.

Gráfico 1: Comparativo de Resultados de Instâncias de testes

A principio, analisando os resultados de forma sintética, observou-se que os

melhores resultados médios obtidos estavam em instância de testes com maior

número de ordens de serviços por lote. Isso poderia levar a conclusão que as

melhores soluções dependeriam da quantidade de ordens de serviço. Porém, após

análise dos valores segmentada por lote de ordens de serviço, foi possível verificar

que o desempenho não depende só do número de ordens de serviço, mas da

posição geográfica de cada um deles.

De acordo com Larsen (2000), distribuição espacial da localização geográfica

dos clientes é um dos parâmetros mais importantes no problema de otimização de

roteiros, seja ele estático ou dinâmico. Isto porque à medida que a distância entre

um determinado cliente atendido em direção ao próximo cliente cresce, diminui-se a

atratividade relacionada à distância.

O Gráfico 2 apresenta um comparativo entre o ganho médio % da diferença

entre a distância normal, ou seja, sem aplicação do algoritmo ACO, em relação a

Page 43: TCC HERMANN CLAY.pdf

42

distância das soluções encontrada utilizando algoritmo ACO versus a distância

média (km) entre as Ordens de Serviço. É possível verificar que à medida em que a

distância entre as ordens de serviço cresce , o ganho diminui.

Gráfico 2: Comparativo do ganho com ACO x distância média entre ordens de serviço

Neste trabalho, para se obter a distância entre as ordens de serviço foram

realizados inicialmente testes utilizando a distância real do trajeto, obtida através do

serviço de mapa utilizado. Esta distância considera todo o trajeto como: curvas,

desvios, retornos etc. Uma premissa importante neste caso é a necessidade de

atualizações constantes dos mapas no que se refere a sentidos de vias. Mudanças

nos sentidos das vias ou a abertura de novas vias de acesso acontecem com certa

freqüência em grandes centros urbanos, e caso o sistema de mapas não esteja

alinhado a estas mudanças o algoritmo poderia levar a erros periódicos baseados

em informações incoerentes.

A Figura 8 abaixo, ilustra um exemplo de problema que poderia ocorrer por

motivo de serviço de mapa desatualizado. No exemplo, foi solicitado ao serviço de

mapa utilizado (GoogleMaps) a distância e a rota do ponto A, situado a Av. Min.

José Américo de Almeida, na cidade de João Pessoa-PB para o ponto B, situado as

Page 44: TCC HERMANN CLAY.pdf

43

margens da BR 230 (coordenadas -7.125775,-34.845363). O trajeto sugerido pelo

serviço de mapa está traçado na Figura 8 na cor azul. A distância retornada pelo

servidor de mapa foi de 7km. Porém, é possível verificar in-loco que existe um

acesso criado interligando estas vias, ilustrado na Figura 8 através da linha de cor

vermelha cuja distância verificada é de apenas 1.2km.

Figura 8: Exemplo de problema na roteirização por serviço de mapa desatualizado

Além de eventos desta natureza que podem levar a tomadas de decisões

erradas pelo algoritmo, um parâmetro importante no problema de otimização é a

duração do cálculo para se obter a melhor solução, já que problemas combinatórios

possuem inúmeras probabilidades a serem verificadas e isto requer recursos de

processamento e tráfego de dados.

Neste cenário observou-se que a duração do cálculo do algoritmo tinha

desempenho afetado devido à necessidade de aguardar reposta do servidor de

mapa através de conexão com a internet. Além disso, dependendo do problema e

da quantidade de itens, observou-se uma grande quantidade de requisições para o

servidor de mapa e tráfego de dados, o que poderia onerar os custos de

comunicação. O Gráfico 3 abaixo demonstra o comparativo dos resultados do tempo

computacionais (em milisegundos) para resolução dos problemas considerando a

Page 45: TCC HERMANN CLAY.pdf

44

distância real e linear das rotas obtidas pelo serviço de mapas utilizado versus a

quantidade de ordens de serviço de cada lote testado.

Gráfico 3: Comparativo da duração do cálculo pelo método de obtenção da distância.

É possível observar que no Gráfico 3 que a duração do cálculo pela distância

real (linha vermelha) varia independente do número de ordens de serviço. Esta

variação pode ser devido à falha de conexões com o servidor de mapas com

inúmeros pedidos de requisições ou instabilidade da camada de rede WAN.

Em seguida, foram realizados novos testes do algoritmo ACO, levando em

consideração a distância linear entre dois pontos. Neste caso, a distância é obtida

sem a necessidade de conexão com o servidor de mapa. Ela é obtida através das

coordenadas geográficas dos dois pontos (Latitude e Longitude), porém não

corresponde a distância real do trajeto, pois não considera curvas, desvios, retornos

e obstáculos. Neste cenário o algoritmo ACO apresentar melhor desempenho

computacional conforme demonstrado no Gráfico 3 o resultado que considera o

cenário onde a distância é obtida de forma linear (linha azul).

Page 46: TCC HERMANN CLAY.pdf

45

É possivel observar no Gráfico 3 que a duração do cálculo pela distância

linear cresce na medida que a quantidade de ordens de serviço se eleva. Além da

quantidade de ordens de serviço, este resultado também depende da arquitetura

fisica utilizada. Para a verificação dos resultados desta abordagem, os testes foram

executados em um computador com as seguintes configurações: Processador: Inter

Core 2 duo 2.4GHz, com 2 GB de memória RAM e sistema operacional Windows XP

SP3.

A duração do cálculo da solução é um parâmetro importante em soluções que

requer uma resposta em um determinado limite de tempo. Em casos mais

complexos, com grande quantidades de ordens de serviço, o algoritmo poderia levar

um tempo elevado para encontrar a melhor solução devido ao número de

combinações possíveis. Neste caso, o resultado do desempenho do algoritmo

dependerá dos parâmetros fornecidos.

Neste trabalho, optou-se pela utilização da distância linear entre os pontos de

destino pela melhor eficiência no tempo de cálculo das soluções, Porém, este

método pode levar o algoritmo ACO a soluções pouco eficientes, por não considerar

a distância real dos trajetos.

Na maioria das fontes pesquisadas para este trabalho foi possível constatar

que as soluções propostas pelos autores para a otimização de rotas, são baseadas

principalmente em roteirização entre cidades e não em rotas urbanas. Em rotas

urbanas existem inúmeros trajetos possíveis para um mesmo destino dado a

elevada probabilidade de combinações entre as interseções das vias e seus

sentidos, o que já ocasionaria um número ainda mais elevado de probabilidades a

serem verificadas pelo algoritmo ACO para se chegar ao melhor roteiro, e reduzindo

o desempenho da metaheurística. Uma possível solução para este problema seria

dividir as etapas de roteirização entre o centro de despacho e o computador portátil

do veículo.

A Figura 9 abaixo, demonstra a arquitetura proposta de implementação futura

para o sistema, onde parte da roteirização seria executada pelo back-end e parte

pelo front-end. O algoritmo de roteirização do back-end ficaria responsável pela

roteirização utilizando o método de obtenção de distância linear pelo seu melhor

Page 47: TCC HERMANN CLAY.pdf

46

desempenho referente ao tempo de cálculo computacional apresentado. Neste

processo as rotas seriam processadas para a obtenção dos melhores agrupamento

de ordens de serviço por equipe baseada na localização geográfica das mesmas e

suas distâncias lineares.

Figura 9: Modelo de arquitetura sistêmica sugerida

Já o algoritmo de roteirização alocado no front-end do computador portátil

instalado nos veículos, ficariam responsáveis pela definição do melhor caminho a

seguir, definidas as ordens de serviços selecionadas na etapa anterior. Este

roteirização funcionaria semelhante ao que se existe hoje em equipamentos de GPS

veicular, que mostrar um determinado roteiro a ser seguido entre uma origem e

destino.

A princípio este trabalho tratou apenas da primeira etapa. Na Figura 10, é

apresentada a interface do software desenvolvido e utilizada no o cenário de teste

do projeto.

Page 48: TCC HERMANN CLAY.pdf

47

Figura 10: Interface do Software implementado

A figura mostra o comparativo de um lote de ordens de serviços executadas,

no lado esquerdo, a rota atual percorrida pela empresa, no lado direito a rota

otimizada após aplicação do ACO. Algumas informações como duração,

distância, velocidade média e custo são exibidas para comparações entre os dois

métodos.

Os resultados obtidos com a implementação da arquitetura proposta e da

aplicação da metaheurística apresentada na seção 6 foram submetidos a inúmeros

testes. Variou-se o grau de dificuldade do problema através do número de ordens de

serviço, e após a realização dos testes, foi feita uma avaliação e uma comparação

dos resultados. Os resultados computacionais comprovam a viabilidade da

metodologia proposta.

Page 49: TCC HERMANN CLAY.pdf

48

9 CONCLUSÃO

Este trabalho apresentou uma proposta de sistema para otimização de rotas

utilizando mapas e metaheurística ACO baseada no comportamento das formigas.

Os resultados obtidos em cenários de testes mostraram eficiência do algoritmo de

metaheurística. Para todas as instâncias testadas, o algoritmo sempre encontrou

resultado melhor ou igual se comparados com soluções que já foram executadas em

situações reais, gerando percentuais de ganho significativos. A qualidade das

soluções obtidas e tempo gasto mostram que a sua utilização, na prática, trará

grandes benefícios há empresas que prestam serviço de atendimento a clientes

como distribuidoras de Energia Elétrica, uma vez que reduzirá o tempo gasto para

atendimento dos clientes envolvidos de forma factível.

Em rotas urbanas existem diversos fatores que podem influenciar na escolha

do melhor caminho, como por exemplo: tempo, tráfego, sentido das vias, entre

outros. Fatores como estes devem ser implementado no aplicativo demonstrado,

tornando-o assim mais flexível. Sendo que estes fatores podem ser utilizados como

parâmetros de influência na escolha de uma rota pelo algoritmo ACO.

Algumas simplificações que foram adotadas nesse trabalho, como por

exemplo: a de desconsiderar a prioridade da ordem de serviço e o seu prazo pode

tornar o problema em certos casos distante da realidade, porém, trariam dificuldades

computacionais significativas que, em outro momento, deverão ser consideradas.

Com a evolução da tecnologia e a crescente oferta de soluções, tem-se uma

grande disponibilidade de recursos que podem ser integrados aos sistemas

corporativos das empresas, ferramentas fundamentais na busca pela melhoria da

qualidade do atendimento e eficiência nos serviços prestados aos clientes. E

ferramentas de roteirização de veículos se mostram cada vez mais necessárias no

auxílio à decisão ou descoberta das melhores rotas em empresas como a

ENERGISA.

Page 50: TCC HERMANN CLAY.pdf

49

9.1 TRABALHOS FUTUROS

Como trabalhos futuros propõem-se a realização de testes mais efetivos

utilizando dados dinâmicos para realização de reprogramações de rotas (Problema

Dinâmico), uma vez que foram testados apenas dados já efetivados com o objetivo

de validar o funcionamento da arquitetura. Outra proposição refere-se à ampliação

da arquitetura conforme sugerido na Figura 9 com o objetivo de melhorar o tempo de

cálculo computacional mantendo a principal característica proposta de encontrar

soluções factíveis e sem penalidades.

Além disso, propõem-se a adaptação do algoritmo ACO utilizado para a

adição de algumas características a ser utilizadas como parâmetros de influência na

decisão das rotas.

A prioridade da Ordem de Serviço é um fator importante para Energisa, uma

vez que, alguns tipos de ordens de serviço oferecem risco de vida a pessoas, e ser

motivo de grande influência na decisão do algoritmo ACO.

Os prazos para o cumprimento do serviço também é um fator importante, pois

a empresa pode ser penalizada com aplicação de multas não execução de serviços

dentro do prazo estabelecido pela ANEEL (Agência Nacional de Energia Elétrica).

Por fim, após a realização de todas as etapas propostas e a verificação de

seus resultados, será recomendado a implantação do trabalho proposto na Energisa.

Page 51: TCC HERMANN CLAY.pdf

50

REFERÊNCIAS

Afinal, o que é um Smartfone e um pocket PC?? Disponível em:< http://mobilidades.net/2007/07/30/afinal-o-que-e-um-smartphone-e-um-pocket-pc> Acesso: 01 dez. 2010. ARAUJO, C. Algoritmo Genético Hibrido sem delimitadores de rotas para problemas de roteirização de veículos.Dissertação de mestrado em Engenharia.

Escola Politécnica da Universidade de São Paulo. São Paulo, 2008. BALLOU, R. Gerenciamento da cadeia de suprimentos: planejamento, organização e logística empresarial. Porto Alegre: Bookmann 4ª ed, 2001. Bing Maps. Disponível em: < http://www.bing.com/maps/ > Acesso: 01 dez. 2010. BONABEAU, E.; DORIGO, M.; THERAULAZ, G. Swarm intellligence: from natural to artificial systems. Oxford University Press, 1999. CARVALHO, E. ; RAMOS, G. Otimização por Colônia de Formigas (AntColony Optimization - ACO), 11 de Junho de 2007. CDMA, GSM, TDMA, GPRS: saiba o que essas siglas significam. Disponível em: < http://tecnologia.uol.com.br/ultnot/2006/11/24/ult2870u201.jhtm> Acesso: 12 out. 2010. DORIGO, M. G. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation,

Vol.1 , pp. 1-24, 1997. DORIGO, M. S. Ant Colony Optimization. Massachusetts: Bradford Books, 2004. DORIGO, M. The ant system: an autocatalytic optimization process. Technical Report Revised. Dipartimento di Elettronica, Politecnico di Milano, Itália, 1991. DORIGO, M.; BIRATTARI, M.; STÜTZLE, T. Ant colony optimization theory: artificial ants as a computational intelligence technique. IEEE Computational Intelligence Magazine, v. 6, , pp. p. 28–39, 2006.

Page 52: TCC HERMANN CLAY.pdf

51

DORIGO, M.; CARO, G. Di ; GAMBARDELLA, L. M. Ant algorithms for discrete optimization. Artificial Life, v. 5, n. 2, , pp. p. 137–172, MIT Press Cambridge, Massachusetts, 1999. DORIGO, M.; MANIEZZO, V.; COLORNI, A. Ant system: optimization by colony of cooperating agents. IEEE Transactions on systems, man and cybernetics , pp. p. 29–41, 1996. ENERGISA. Disponível em: < http://www.energisa.com.br > Acesso: 01 out. 2010. GMap.NET - Great Maps for Windows Forms & Presentation. Disponível em: < http://greatmaps.codeplex.com> Acesso: 01 dez. 2010. GoogleMaps. Disponível em: < http://maps.google.com.br/> Acesso: 01 dez. 2010. GPS (Sistema de Posicionamento Global). Disponível em: < http://www.infoescola.com/cartografia/gps-sistema-de-posicionamento-global/> Acesso em: 12 out. 2010. LAPORTE, G. The Vehicle Routing Problem: An Overview of Exact and Approximate Algorithms. Society for Industrial and Applied Mathematics Philadelphia. Estados Unidos, 2001. LARSEN, A. The Dynamic Vehicle Routing Problem. Ph.D. thesis at the Department of MathematicalModelling (IMM) at the Technical University of Denmark (DTU). Lyngby, 2000. MONTEMANNI, R.; GAMBARDELLA, L. M.; DONATI, A. E. New Algorithm for a Dynamic Veiche Routing problem based on Ant Colony System . Istituto Dalle Molle Di Studi Sull Intelligenza Artificiale, 2003 OLIVEIRA, S. Metaheuristica Ant Colony System aplicada à uma proposta de uma arquitetura para resolução de problemas de roteamento de veículos com demanda dinâmica e janela de tempo. Dissertação em Matemática. Centro Federal de Educação Tecnológica de Minas Gerais. Belo Horizonte-MG, 2007. OpenStreetMap. Disponível em: < http://www.openstreetmap.org > Acesso: 01 dez. 2010. RIBEIRO, G.;LORENA, L. .Roteamento de Veículos Dinâmico usando algoritmos genéticos. XIX ANPET. Recife – PE, 2005.

Page 53: TCC HERMANN CLAY.pdf

52

TAILLARD, E. Parallel Iterative Search Methods for Vehicle-Routing Problems. pp. Volume 23, p. 661-673., dezembro 1993. Windows Presentation Foundation. Disponível em: < http://msdn.microsoft.com/en-us/library/aa970268.aspx> Acesso: 12 out. 2010. XAML Overview. Disponível em: < http://msdn.microsoft.com/en-us/library/cc189036(v=VS.95).aspx> Acesso: 21 set. 2010. Yahoo! Maps, Driving Directions, and Traffic. Disponível em: < http://maps.yahoo.com > Acesso: 01 dez. 2010.