Roteirização de veículo para
realização de coleta utilizando
algoritmo evolucionários
Departamento de Sistemas e Computação – FURB
Curso de Ciência da Computação
Trabalho de conclusão de curso – 2014/01
Acadêmico: Cleber José Osika [email protected]
Orientador: Cláudio Ratke
Roteiro
• Motivação
• Objetivos
• Fundamentação teórica
• Especificação do sistema
• Implementação
• Operacionalidade
• Resultados obtidos
• Conclusão
• Utilizando o sistema
Motivação
• Logística – Concorrência entre empresas
– Vantagem Competitiva
– agrega valores e disponibiliza bens e serviços para clientes, fornecedores e demais interessado.
– Decisões de transporte é fundamental
• Importância do transporte
– Até 60% custo logísticos
– Custo do escoamento do produto tem influência no preço final.
– Roteirização de veículos
Motivação
• Problema de Roteamento de veículo (PRV)
– Benefícios: redução de custo, tempo de transporte,
produtividade, melhor satisfação do cliente, menor gastos
com agregados e veículos.
– Resolver todas as combinações
– Requere processamento elevado
• Algoritmo genético
Objetivos
• Desenvolver um sistema de roteirização de
veículos para operação de coletas utilizando o
algoritmo genético.
Objetivos Específicos
• calcular a melhor rota partindo de uma origem para um ou
mais destinos com restrições de tempo.
• descobrir a distância entre dois pontos.
• identificar os veículos que irão compor a rota. Será verificado a
capacidade de coletas das mercadorias e os veículos mais
econômicos de uma determina frota.
• visualizar as rotas de coletas através de mapas.
Fundamentação Teórica
Logística:
• Conceito: – Processo de gestão de produtos, serviços e da informação
• Importância
– Importância na qualidade de vida da humanidade
Fundamentação Teórica
• Problema de roteirização de veículo:
Extensões:
– Restrição de capacidade do veículo
– Janela de Tempo
– Coleta e entrega simultânea
• Aplicabilidade
– Transporte
– Distribuição
Fundamentação Teórica
• Algoritmo genético:
– Teoria da evolução
– Indivíduos mais adaptados ao seu meio podem
gerar descendentes mais adaptados.
• Aplicabilidade
– Espaço com dimensões elevadas e muitas variáveis
Trabalhos Correlatos
• Roteirização de veículos de (MIURA,
2003).
• Objetivo: resolver o PRV usando Clarke e
Wright.
Trabalhos Correlatos
• Sistema para logística de distribuição de
(ROSA, 2005).
• Objetivo: resolver o PRV usando Constraint
Satisfaction Problem (CSP).
Trabalhos Correlatos
• Modelo de roteirização de veículo por
(TSUDA, 2007).
• Objetivo: resolver o PRV usando sweep
algorithm.
Especificação
Requisitos Funcionais:
• calcular a melhor rota entre um ponto de origem e um ou
mais pontos de destinos (RF).
• calcular a distância em quilômetros (KM) entre uma origem e
um destino (RF).
• identificar os veículos que irão fazer determinada rota (RF).
Especificação
Requisitos Funcionais:
• disponibilizar uma interface para visualização da rota (RF).
• permitir cadastrar restrições baseada no domínio do
problema (RF).
Especificação
Requisitos Não Funcionais:
• utilizar web services para disponibilizar o serviço
que busca a melhor rota (RNF).
Implementação
Tecnologias usadas: • IDE: Microsoft Visual Studio 2012.
• Utilizado a linguagem C# Back-end, JavaScript Front-end.
• Banco de dados: Sql Server 2008.
• Framework de Persistência: Microsoft Entity Framework 6.0.
• Framework de desenvolvimento web: ASP.NET MVC.
• Framework de integração de sistema: Web Api.
• Geração de mapas e Serviços de geolocalização : API Bing Maps.
Implementação
• Código - calcular aptidão do genes do
cromossomo
double custoVeiculo =
(custoKMPercurso * Convert.ToDouble(veiculo.CustoPorKM));
aptidaoCromossomo += (numeroPenalidade *
Convert.ToDouble(custoVeiculo)));
Resultados e Discussões
• Criado dois cenários de testes comparando resultados com Tsuda.
• Cenário 1 possui 15 pontos para coletar e dois veículos com capacidade de 60 e 85 metros cúbicos.
• Cenário 2 possui 24 pontos para coletar e dois veículos com capacidade de 60 metros cúbicos.
Cenário de teste 1
Solução Rota do veículo Distância total
Osika veículo 1
0 -> 8 -> 15 -> 6 -> 5 -> 11
-> 7 -> 2 -> 1 -> 12 -> 14
-> 4 -> 0
veículo 2
0 -> 3 -> 13 -> 10 -> 9 -> 0
89 Km
Tsuda Rota do veículo 1
0-3-5-11-6-15-8-9-10-0
Rota do veículo 2
0-4-14-12-2-7-1-13-3-0
88.8 KM
Situação
real
veículo 1
0-3-0 -4-3-10-8-9-0
veículo 2
0-13-1-14-12-2-7-11-5-6-
15-0
109,6 KM
Cenário de teste 2
Soluço Rota do veículo Distância total
Osika veículo 1 : 0 -> 13 > 17 -> 15 -> 2 -> 1 -> 3 -> 11
-> 14 -> 22 -> 16 -> 24 -> 0 = 53.3
veículo 2 : 0 -> 5 -> 12 -> 6 -> 4 -> 7 -> 9 -> 10 -> 8
-> 19 -> 18 -> 23 -> 21 -> 20 -> 0 = 82.5
135.83 KM
Tsuda veículo 1 :0 – 24 – 16 – 22 – 14 – 11 – 3 -1 - 2 – 15
– 17 – 13 – 0 = 53,3414
veículo 2 : 0 – 5 – 12 – 6 – 4 – 7 – 9 – 10 – 8 – 19
– 18 – 23 – 21 – 20 – 0 = 82,4824
135.8239 KM
Situação
real
veículo 1 : 0 – 5 – 6 – 7 – 3 - 1- 2 – 0 = 93,0224
veículo 2 : 0 – 12 – 18 – 23 -19 – 9 – 10 – 8 – 11 –
14 – 22 – 16 – 13 – 17
175.7742 KM
Resultados e Discussões
• Impacto dos parâmetros do AG e das variáveis do problema
• número de restrição do problema:
– Quando maior for as restrições maior deverá ser o tamanho da população
• tamanho da população
– Quanto maior o tamanho da população terá mais chance de explorar o espaço de busca
• número de geração
– Quanto maior o numero de geração maior a chance de explorar o espaço de busca
Resultados e Discussões
• Cruzamento:
– Taxa de cruzamento alta garanti melhores soluções
• Mutação
– Taxa de mutação alta diminui a qualidade da solução
Comparativo dos trabalhos
correlatos Funcionalidade Osika Miura Rosa Tsuda
Plataforma Web Desktop Desktop Desktop
Disponibiliza integração da rotina de
roteirização com outro sistemas
Sim Não Não Não
Recursos gráficos para visualizar a
rota
Sim Não Não Não
Janela de tempo Sim Sim Não Não
Restrição de capacidade do veículo Sim Sim Sim Sim
Restrição dinâmica Sim Não Não Não
Possui mecanismo de
geocodificação
Sim Não Não Não
Método AG Clarke e
Wright
CSP Sweep
algorith
m
Conclusões
• Os objetivos propostos foram alcançados
• Qualidade da solução
• Algoritmo genético – Restrições e Operadores Genéticos
• Tempo de resolução do problema / Thread
• Bing Maps API
• Web Api
Limitações
• Problema para evoluir a população quando o espaço de
busca é elevada.
• Parâmetros do algoritmo genético.
• Modelo definido de restrição não garante 100% que
nenhuma restrição será inferida.
Extensões
• Implementar estratégias de busca local para que em
conjunto com o algoritmo genético melhore a sua
evolução
• Otimizar o processamento do algoritmo genético
• Implementar alguma estratégia para que os
parâmetros do algoritmo genético sejam obtidos de
forma dinâmica conforme o número de variáveis do
problema a ser roteirizado
Extensões
• Desenvolver um aplicativo para dispositivo móvel
para que seja possível visualizar o roteiro gerado
em um mapa.
• Criar a entidade empresa, onde ela poderá ter mais
de um deposito
• Implementar operação de entrega e gerar a
roteirização com entregas e coletas simultâneas.