PROTÓTIPO DE APLICAÇÃO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS EM DISPOSITIVOS MÓVEIS NA PLATAFORMA ANDROID Acadêmica: Shaiane Mafra Casa Orientador: Jacques Robert Heckmann 07/2013
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Introdução Contextualização Objetivos
Introdução Contextualização Objetivos
Contextualização Introdução Com o avanço da tecnologia e os inúmeros dispositivos; a crescente dificuldade de transitar pelas cidades; as empresas que efetuam entregas por via terrestre, viram que podem aperfeiçoar suas entregas; agilizar este tipo entrega é o objetivo de estudo do PRV ;
Introdução Contextualização Objetivos
Objetivos Introdução Disponibilizar um aplicativo executável em dispositivos móveis, que apresente uma alternativa de resolução para o problema de entregas terrestres; disponibilizar uma interface para que o usuário visualize o mapa com a rota; implementar o algoritmo de Dijkstra; implementar a comunicação entre o dispositivo móvel e o servidor utilizando o protocolo REST.
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Fundamentação Teórica O Problema de Roteamento de Veículos (PRV) Algoritmo de Dijkstra Desenvolvimento de aplicações para smartphone Protocolo Representational State Transfer (Rest) Trabalhos correlatos
Fundamentação Teórica O Problema de Roteamento de Veículos Algoritmo de Dijkstra Desenvolvimento de aplicações para smartphone Protocolo Rest Trabalhos correlatos
O Problema de Roteamento de Veículos Fundamentação Teórica Depósito
Fundamentação Teórica O Problema de Roteamento de Veículos Algoritmo de Dijkstra Desenvolvimento de aplicações para smartphone Protocolo Rest Trabalhos correlatos
Algoritmo de Dijkstra Fundamentação Teórica
Fundamentação Teórica O Problema de Roteamento de Veículos Algoritmo de Dijkstra Desenvolvimento de aplicações para smartphone Protocolo Rest Trabalhos correlatos
Desenvolvimento de aplicações para smartphone Fundamentação Teórica Características importantes a considerar: Kit SDK para Android; processamento limitado; adaptação da tela; não está preso a um hardware específico.
Fundamentação Teórica O Problema de Roteamento de Veículos Algoritmo de Dijkstra Desenvolvimento de aplicações para smartphone Protocolo Rest Trabalhos correlatos
Protocolo Rest Fundamentação Teórica É uma técnica de engenharia de software para sistemas distribuídos como a world wide web (WWW); é um estilo de arquitetura para criar aplicativos cliente/servidor; vê cada aplicação web como um conjunto de recursos; é possível aplicar várias ações sobre um recurso: put - cria ou atualiza o conteúdo do recurso; get - busca o conteúdo do recurso; delete - apaga o conteúdo do recurso.
Fundamentação Teórica O Problema de Roteamento de Veículos Algoritmo de Dijkstra Desenvolvimento de aplicações para smartphone Protocolo Rest Trabalhos correlatos
Trabalhos correlatos Fundamentação Teórica Arakaki Título: O Problema de Roteamento de Veículos e algumas metaheurísticas. Objetivo: Resolver o PRV utilizando o algoritmo de Busca Tabu.
Trabalhos correlatos Campos Fundamentação Teórica Título: Integração dos problemas de carregamento e roteamento de veículos com janela de tempo e frota heterogênea. Objetivo: Resolver o PRV utilizando a heurística de Clarke e Wright.
Trabalhos correlatos Fundamentação teórica Características Arakaki Campos Ano publicação 1998 2008 Função objetivo Distância Distância, Tempo Veículos Um ou mais Um ou mais Depósitos Um Um ou mais Plataforma -- -- Algoritmo Busca Tabu Heurística de Clarke e Wright Modificações no algoritmo utilizado Sim Sim
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Desenvolvimento Especificação Técnicas e ferramentas utilizadas Operacionalidade
Desenvolvimento Especificação Técnicas e ferramentas utilizadas Operacionalidade
Especificação Requisitos funcionais Desenvolvimento O aplicativo deverá: disponibilizar uma interface para o usuário criar um plano de destino; disponibilizar uma interface para o usuário selecionar os endereços; disponibilizar uma interface para o usuário informar os destinos; realizar o cálculo da menor rota para um plano de destino; exibir uma interface para apresentar a rota calculada; exibir uma interface para apresentar o mapa com a solução encontrada. *Plano de destino
Especificação Requisitos não funcionais Desenvolvimento O aplicativo deverá: armazenar e gerenciar os dados no banco de dados SqlServer ; ser implementado utilizando o ambiente de desenvolvimento Genexus; deverá ser compatível com dispositivos móveis que utilizam a plataforma android.
Especificação Desenvolvimento Diagrama de caso de uso
Especificação Desenvolvimento Diagrama de implantação
Especificação Desenvolvimento Diagrama de classe
Desenvolvimento Especificação Técnicas e ferramentas utilizadas Operacionalidade
Técnicas e ferramentas utilizadas Desenvolvimento GenexusX Evolution 2 na versão 10.2 (Estudante) (desenvolvimento) NetBeans IDE 7.3 (Gratuito) (desenvolvimento) Microsoft SQL Server Management Studio versão 11.0 (Gratuito)...(armazenamento) Enterprise Architect 9.0 (Trial) (especificação) Android Development Tools (Gratuito) (simulador)
Desenvolvimento Especificação Técnicas e ferramentas utilizadas Operacionalidade
Operacionalidade Desenvolvimento
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Resultados e discussões Resultados Trabalhos correlatos
Resultados e discussões Resultados Trabalhos correlatos
Resultados Resultados e discussões Na proposta foram apresentados dois testes e foram criados dois plano de destinos diferentes; a seguir será apresentado somente um teste.
Resultados Resultados e discussões Endereços do plano de destino Ordem de inserção Endereço Nome dos pontos 1 Rua Mariana Zabel ponto A 2 Rua Doutor Paulo Aldinger ponto B 3 Rua Frederico Jensen ponto C 4 Rua Dois de Setembro ponto D 5 Rua Professor Max Humpl ponto E 6 Rua Mariana Zabel ponto F
Resultados Resultados e discussões Rota gerada Google Maps aplicativo
Resultados Resultados e discussões Mapa gerado Google Maps aplicativo
Resultados Resultados e discussões Resultado da rota gerada Google Maps Mesma ordem de inserção dos endereços Rota gerada é idêntica a ordem de inserção Não efetua o cálculo do menor caminho Não reordena A ordem de inserção determina a rota Percurso total gerado é de 37,6 km Aplicativo Mesma ordem de inserção dos endereços Rota gerada é diferente a ordem de inserção Efetua o cálculo do menor caminho Reordena os endereços A ordem de inserção não determina a rota Percurso total gerado é de 21,9 km
Resultados e discussões Resultados Trabalhos correlatos
Trabalhos correlatos Resolução do PRV Resultados e discussões Características Arakaki Campos Mafra Ano publicação 1998 2008 2013 Função objetivo Distância Distância, Tempo Distância Veículos Um ou mais Um ou mais Um Depósitos Um Um ou mais Um Plataforma - - Móvel Apresentação de mapa - - Sim Integração com Api Google - - Sim Utilização de Web Server - - Sim Algoritmo Busca Tabu Heurística de Clarke e Wright Modificações no algoritmo utilizado Dijsktra Sim Sim Sim
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Conclusão Resultados obtidos: simplicidade nas operações; auxiliar na tomada de decisão na escolha da menor rota; oferecer uma boa relação custo-benefício para o usuário; minimizar a distância total percorrida.
Conclusão Dificuldades superadas: emulador Android muito lento e com baixo desempenho; limitação da ferramenta Genexus para smartphone; API do Google em Genexus muito limitada; importação da base de dados de endereços.
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Extensões Desenvolvimento de um modulo para acompanhamento das entregas; implementação de envio de mensagem de texto para o cliente a ser visitado; possibilitar o usuário a alterar a rota durante a apresentação da mesma.
Roteiro Introdução Fundamentação teórica Desenvolvimento Resultados e discussões Conclusão Extensões Demonstração
Demonstração De forma prática, diretamente no smartphone.
FIM Obrigada!