A determinação eficiente de rotas é um problema sofrido por muitas empresas que precisam encontrar o caminho mais eficiente para um determinado destino.

Criado para a disciplina MAC499 - Trabalho de Formatura Supervisionado pelos alunos Felipe de Godoi Torres e Geraldo Castro Zampoli sob orientação do professor Alfredo Goldman, o Statim é um programa de apoio às empresas que precisam de eficiência nessa definição de rotas. Para mais informações, clique nos balões.

inicio

Algumas informações gerais sobre a disciplina e links úteis ao trabalho.

  • Sobre a disciplina MAC499 - Trabalho de Formatura Supervisionado.
  • Blog do Felipe e do Geraldo sobre as atividades realizadas durante a disciplina.
  • Repositório GitHub do Statim.
proposta

Um sistema de apoio a empresas de motoboys em conjunto com PCS2590 - Criação e Administração de Empresas de Computação.

Tema

Implementação de um sistema de otimização de rotas usando GPS com o auxílio da plataforma Android.

Resumo

Uma grande quantidade de empresas de entrega e retirada de produtos faz o gerenciamento dos seus funcionários em campo de maneira manual, de forma que uma rota para a retirada de um produto é definida de acordo com a experiência do profissional responsável pelo acompanhamento dos entregadores. No entanto, esse profissional nem sempre é capaz de definir a melhor rota para os motoboys, causando gastos desnecessários de combustível e tempo de deslocamento até o ponto de destino.

Visando atender esse contexto, neste trabalho será desenvolvido um sistema (que contará com uma parte mobile) para a otimização das rotas a um determinado destino. Para tanto, usaremos o GPS presente nos celulares que possuem o sistema operacional Android para o rastreamento dos motoboys, além do Google Maps para uma exibição dos pontos rastreados e da rota sugerida.

Durante a implementação, serão descritos alguns algoritmos de otimização, com ênfase em algoritmos genéticos.

Objetivos

  • Desenvolver um sistema, usando práticas ágeis, para otimizar as rotas dos motoboys até um ponto específico do mapa valendo-se de algumas funcionalidades disponíveis em celulares Android (como GPS e a integração com a API do Google Maps) e técnicas de otimização combinatória.
  • Esperamos que esse programa possa se tornar um produto a ser comercializado por uma empresa (cuja criação será posterior à conclusão desse trabalho), usando técnicas de empreendedorismo vistas na matéria PCS2590 - Criação e Administração de Empresas de Computação.

Atividades já realizadas

  • Estudo sobre algoritmos genéticos;
  • Resolução de problemas clássicos de otimização combinatória usando algoritmos genéticos;
  • Estudo e criação de aplicativos simples usando a plataforma Android.
  • Criação de blogs no Stoa (do Felipe e do Geraldo) sobre as atividades do trabalho.
  • Preparação do ambiente de desenvolvimento.
  • Cronograma de atividades

    Statim Mobile (Maio, Junho)

    Core do sistema de cadastro do device.
    Módulo para o envio do id do device para o Statim Server.
    Tela amigável para o cadastro (e recadastro) do device.
    Tela com botões para o envio e recadastro do id.

    Statim Server (Maio, Junho, Julho)

    CRUD para os devices e senders.
    Módulo para cadastro e remoção dos ids dos devices usando VRaptor.
    Ping para os devices.
    Com os senders (e seus respectivos devices) cadastrados, faremos o sistema de ping usando o C2DM.
    Interface de exibição e atualização das coordenadas dos devices.
    No ping back dos devices, teremos um mapa (usando a API do Google Maps) que exibirá as coordenadas.
    Como o ping back é um processo assíncrono, esse mapa consumirá um JSON que terá as coordenadas atualizadas.

    Otimizador de rotas (Agosto, Setembro, Outubro)

    Módulo inicial.
    Determinar a melhor rota em linha reta, dada a posição do device.
    Evolução do módulo inicial.
    Usando algoritmos genéticos, determinar a melhor rota em linha reta, considerando-se que os devices estarão em movimento.

    Monografia

    Fundamentos (Junho)
    Statim Mobile (Junho)
    Statim Server (Julho, Agosto, Setembro, Outubro)

    Poster (Outubro)

    Apresentação (Novembro)

    Estrutura esperada da monografia

    Resumo
    Introdução
    Contextualização
    Organização do trabalho
    Fundamentos
    Android
    Google Maps
    C2DM: enviando mensagens de um computador para um dispositivo móvel
    Statim Mobile
    Descrição
    Arquitetura
    Statim Server
    Descrição
    Arquitetura
    Implementação do Otimizador de rotas
    Análise dos resultados
    Parte Subjetiva
código

Veja o repositório do Statim e acompanhe sua evolução.

O Statim está hospedado no GitHub e os detalhes do seu código podem ser facilmente vistos.

empreendedorismo

Esse projeto foi o tema escolhido para a matéria PCS2590 - Criação e Administração de Empresas de Computação cujo foco é criar uma empresa fictícia que tenha como produto um software inovador. Acompanhe o andamento dos estudos sobre essa empresa.

Detalhamento da empresa que comercializará o Statim.
Estudo do nicho de mercado usando a teoria das forças de Porter vista nas seguintes referências:
Crossing the Chasm.
How Competitive Forces Shape Strategy.
Análise estratégica SWOT. Usando como referência seguintes artigos:
SWOT Analysis I: Looking Outside for Threats and Opportunities.
SWOT Analysis II: Looking Inside for Strengths and Weakness.
Precificação dos produtos. Essa precificação foi feita tendo em vista os conceitos encontrados em:
Pricing as Entrepreneurial Behavior.
Análise segundo as idéias da cadeia de valor de Porter, de acordo com o fonte:
The value chain and competitive advantage.
contato

Informações para contato dos desenvolvedores do projeto.

Felipe Torres:
Geraldo Zampoli:
Design inspirado em SimpleFolio