61
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO SISTEMA DE PLANEJAMENTO DE ROTAS DE ENTREGAS DE MERCADORIAS ANDRÉ LUIZ PEDRELLI BLUMENAU 2013 2013/7-05

SISTEMA DE PLANEJAMENTO DE ROTAS DE ENTREGAS DE …dsc.inf.furb.br/arquivos/tccs/monografias/TCC2013-1-03-VF-AndreLPe... · universidade regional de blumenau centro de ciÊncias exatas

Embed Size (px)

Citation preview

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

SISTEMA DE PLANEJAMENTO DE ROTAS DE ENTREGAS

DE MERCADORIAS

ANDRÉ LUIZ PEDRELLI

BLUMENAU 2013

2013/7-05

ANDRÉ LUIZ PEDRELLI

SISTEMA DE PLANEJAMENTO DE ROTAS DE ENTREGAS

DE MERCADORIAS

Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Sistemas de Informação— Bacharelado.

Prof. Cláudio Ratke, Mestre. - Orientador

BLUMENAU 2013

2013/7-05

SISTEMA DE PLANEJAMENTO DE ROTAS DE ENTREGAS

DE MERCADORIAS

Por

ANDRÉ LUIZ PEDRELLI

Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por:

______________________________________________________ Presidente: Prof. Cláudio Ratke, Mestre – Orientador, FURB

______________________________________________________ Membro: Prof. Wilson Pedro Carli, Mestre – FURB

______________________________________________________ Membro: Prof. Oscar Dalfovo, Doutor – FURB

Blumenau, 05 de julho de 2013.

Dedico este trabalho a todos os amigos, especialmente aqueles que me ajudaram diretamente na realização deste.

AGRADECIMENTOS

A Deus por ter posto em meu caminho pessoas sábias e maravilhosas, os familiares, os

professores, os colegas de turma, com o auxílio das quais pude realizar os meus ideais.

A minha mãe Zenaide e ao meu pai Amélio (in memoriam) e ao meu irmão Giani, que

sempre me apoiaram e incentivaram nas horas de decisão, a fim de poder continuar a galgar

os caminhos do saber.

Aos amigos e colegas de curso, que compartilharam dos bons e maus momentos, onde

juntos construímos nossa história acadêmica, com respeito, dignidade e humildade.

A todos os professores que influenciaram na minha formação acadêmica.

Ao meu professor orientador, Cláudio Ratke, pela dedicação na orientação deste

trabalho de conclusão de curso.

Falhamos muito mais por timidez do que por ousadia !

David Graysom

RESUMO

Este trabalho consiste em apresentar um sistemas de informação para o planejamento de rotas

de entregas de mercadorias. Uma empresa que possua diversos produtos a serem entregues em

diferentes locais, encontra dificuldade para definir a melhor combinação de cargas a serem

transportadas, qual melhor veículo e a disponibilidade, e a rota com menor custo para a

entrega dos pedidos e a ordem de carregamento no veículo. Com o sistema pretende-se

roteirizar a entrega de mercadoria com o menor custo e maior eficácia. O trabalho foi

desenvolvido em Java e SQL Server 2008.

Palavras-chave: Roteirização. Logística. Restrições.

ABSTRACT

This work consists in presenting an information system for planning routes for deliveries of

goods. A company that has many products to be delivered in different places, find it difficult

to define the best combination of loads to be carried, and what better vehicle availability, and

lower cost route for the delivery of goods in load order. With the system it is intended

itinerary delivery of the goods with the lowest cost and highest efficacy. The work was

developed in Java and SQL Server 2008.

Keywords: Routing. Logistics. Restrictions.

LISTA DE ILUSTRAÇÕES

Figura 1 – Roteiro simples (12 clientes) em um bolsão de distribuição................................. 19

Figura 2 – Vértices (grafo dirigido) ........................................................................................ 20

Figura 3 – Algoritmo (grafo dirigido) .................................................................................... 21

Figura 4 – Fluxograma de distribuição ..................................................................................... 22

Figura 5 – Janela de parametrização do software NR .............................................................. 25

Quadro 1 – Requisitos funcionais ............................................................................................. 28

Quadro 2 – Requisitos não funcionais ...................................................................................... 29

Figura 6 – Diagrama de casos de uso ....................................................................................... 29

Figura 7 – Diagrama de atividade............................................................................................. 30

Figura 8 – Modelo entidade relacionamento ............................................................................ 31

Quadro 3 – Código fonte para gravar um novo usuário no sistema ......................................... 32

Figura 9 – Tela de login ............................................................................................................ 33

Figura 10 – Tela principal ........................................................................................................ 34

Figura 11 – Menu cadastro ....................................................................................................... 34

Figura 12 – Tela de cadastro de funcionário ............................................................................ 35

Figura 13 – Tela de cadastro de veículos ................................................................................. 36

Figura 14 – Tela de cadastro de distância................................................................................. 37

Figura 15 – Tela de cadastro de produto .................................................................................. 38

Figura 16 – Tela para listar produtos do pedido ....................................................................... 39

Figura 17 – Tela para gerar rota de entrega .............................................................................. 40

Figura 18 – Demonstração do cálculo de menor custo ............................................................. 40

Figura 19 – Código do cálculo de menor custo da rota ............................................................ 40

Quadro 4 – Apresenta-se o caso de uso "Efetuar login" ........................................................... 47

Quadro 5 – Apresenta-se o caso de uso "Cadastro de Veículos" ............................................. 47

Quadro 6 – Apresenta-se o caso de uso "Cadastro de Produtos" ............................................. 49

Quadro 7 – Apresenta-se o caso de uso "Cadastro de Rotas" .................................................. 50

Quadro 8 – Apresenta-se o caso de uso "Buscar clientes" ....................................................... 51

Quadro 9 – Apresenta-se o caso de uso "Listar a rota de entrega" ........................................... 52

Quadro 10 – Apresenta-se o caso de uso "Verificar os produtos do pedidos" ......................... 52

Quadro 11 – Apresenta-se o caso de uso " Manter os acessos do sistema" ............................. 53

Quadro 12 – Apresenta-se o caso de uso "Buscar os pedido" .................................................. 56

Quadro 13 – Apresenta-se o dicionário de dados da tabela "distancias" .................................. 56

Quadro 14 – Apresenta-se o dicionário de dados da tabela "produtos" ................................... 56

Quadro 15 – Apresenta-se o dicionário de dados da tabela "usuario" ...................................... 56

Quadro 16 – Apresenta-se o dicionário de dados da tabela "veiculo" ...................................... 57

Quadro 17 – Apresenta-se o dicionário de dados da tabela "entregas" .................................... 57

Quadro 18 – Apresenta-se o dicionário de dados da tabela "roteiro" ....................................... 57

LISTA DE SIGLAS

CSP - Constraint Satisfaction Problem

DOS - Disk Operating System

JVM - Java Virtual Machine

KM/L – Quilômetro por litro

MER - Modelo Entidade Relacionamento

NR - Networking Routing

PVC - Problema do Caixeiro-Viajante

SQL - Structured Query Language

TR - Transportation Routing

TSP - Traveling Salesman Problem

SUMÁRIO

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

1.1 OBJETIVOS DO TRABALHO ......................................................................................... 13

1.2 ESTRUTURA DO TRABALHO ....................................................................................... 14

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 15

2.1 IMPORTÂNCIA DA LOGÍSTICA NO PROCESSO........................................................15

2.2 ROTEIRIZAÇÃO...............................................................................................................17

2.3 SISTEMA ATUAL.............................................................................................................21

2.3.1 Políticas da Empresa ..... ...................................................................................................22

2.4 TRABALHOS CORRELATOS.........................................................................................23

2.4.1 Constraint Satisfaction Problem (CSP) ........................................................................... 23

2.4.2 Dissertação de Mestrado de Enomoto ............................................................................. 24

3 DESENVOLVIMENTO .................................................................................................... 26

3.1 LEVANTAMENTO DE INFORMAÇÕES ...................................................................... 26

3.2 ESPECIFICAÇÃO ............................................................................................................ 28

3.2.1 Especificações dos Requisitos ......................................................................................... 28

3.2.2 Diagramas de Casos de Uso ............................................................................................ 29

3.2.3 Diagrama de Atividades .................................................................................................. 29

3.2.4 Modelo Entidade Relacionamento................................................................................... 30

3.3 IMPLEMENTAÇÃO ......................................................................................................... 29

3.3.1 Técnicas e ferramentas utilizadas .................................................................................... 31

3.3.1.1 Java ............................................................................................................................... 31

3.3.1.2 SQL Server 2008 .......................................................................................................... 31

3.3.1.3 Swing ............................................................................................................................ 31

3.3.2 Operacionalidade da implementação ............................................................................... 33

3.3.2.1 Tela de Login ................................................................................................................ 31

3.3.2.2 Tela Principal ................................................................................................................ 31

3.3.2.3 Menu Cadastros ............................................................................................................ 31

3.3.2.4 Cadastro de Funcionário ............................................................................................... 31

3.3.2.5 Cadastro de Veículos .................................................................................................... 31

3.3.2.6 Cadastro de Distância ................................................................................................... 31

3.3.2.7 Cadastro de Produto ..................................................................................................... 31

3.3.2.8 Menu Listar Produtos do Pedido .................................................................................. 40

3.3.2.9 Menu Gerar Rota de Entrega ........................................................................................ 40

3.4 RESULTADOS E DISCUSSÕES................................. ..................................................... 42

4 CONCLUSÕES .................................................................................................................. 44

4.1 EXTENSÕES .................................................................................................................... 44

REFERÊNCIAS ..................................................................................................................... 46

APÊNDICE A – Descrição dos Casos de Uso ...................................................................... 49

APÊNDICE B – Dicionário de Dados ................................................................................... 49

12

1 INTRODUÇÃO

Com a crescente concorrência do mercado nacional, e anseios por conquistas a novos

mercados e ampliação de clientes, o termo logístico, até então pouco direcionado, e voltado

diretamente ao mercado interno, ganhou uma nova dimensão, por meios tecnológicos e

sistemas de última geração. Dessa forma vem conquistando novas dimensões e novas

variáveis logísticas, sobretudo, as tecnológicas (GOMES; RIBEIRO, 2004).

Na sua origem, o conceito de logística estava essencialmente ligado às operações

militares, advindo dos generais que precisavam ter, sob suas ordens, uma equipe que

providenciasse o deslocamento, na hora certa, de todo o aparato militar, ao decidir avançar

suas tropas, seguindo uma determinada estratégia. Foi o que aconteceu com as empresas

durante um bom período. Uma indústria precisa transportar seus produtos da fábrica para os

depósitos, ou para as lojas de seus clientes (NOVAES, 2004).

Falar em logística remete a um aparato tecnológico, que sempre constituiu a

plataforma básica e impulsionou o desenvolvimento das organizações e permitiu a

consolidação da globalização. Entretanto, foi com a invenção do computador na segunda

metade do século XX que permitiu que as organizações apresentassem características atuais

de automatização e automação de suas atividades. Sem o computador seria mais difícil de

administrar grandes organizações com uma variedade incrível de produtos, processos,

materiais, clientes, fornecedores e pessoas envolvidas. A informática trouxe a possibilidade de

lidar com grandes números e com grandes e diferentes negócios simultaneamente a um custo

mais baixo e com maior rapidez e absoluta confiabilidade (GOMES; RIBEIRO, 2004).

Uma empresa que possua diversos produtos a serem entregues em diferentes locais e

que disponha de alguns veículos para essas entregas, tem como problema definir a melhor

combinação de cargas a serem transportadas, qual o melhor veículo e disponibilidade, e o

melhor caminho a ser percorrido (ROGRIGUES, 2007). Desta forma, o trabalho em questão

abordará a roteirização como um meio de planejamento para a entrega eficaz de mercadoria.

A logística de distribuição é uma área de atividade dinâmica que trata do caminho do produto

desde sua criação, manufatura, ou bem comum, até sua chegada ao consumidor final.

A Empresa denominada Ferrovia, localizada no município de Gaspar, estado de Santa

Catarina, objeto deste estudo, comercializa produtos do ramo metalúrgico e serralheiro, porém

hoje não possui uma ferramenta de logística que faça o planejamento e a gestão das entregas

de mercadorias automatizada. A oportunidade de criar uma ferramenta para auxiliar na

13

distribuição das cargas e roteiro, possibilita que não gere erros na distribuição das

mercadorias, tais como produtos carregados erroneamente, enviados para consumidores

errados, carregado na sequência de visita inversa ou produtos não enviados.

Na empresa é utilizado um software que foi projetado a partir das necessidades dos

diversos tipos de comércio. É um sistema de automação comercial, com diversas funções para

fazer o gerenciamento da empresa, vendas, estoque e controle financeiro fornecido pela Ideal

Software. Esse software não faz o planejamento e a gestão das entregas de mercadorias, sendo

assim, desenvolveu-se um módulo para integrar o software já existente para gerenciar toda a

entrega, sendo que, os softwares existentes no mercado são caros, e de grande potencial, a

serem utilizados em empresas com grandes demandas de mercadorias e entregas.

A partir disso, surgiu a ideia de criar um módulo que complemente o sistema usado

hoje pela empresa, e que permita a gestão de entregas. O interesse e a demanda pela aplicação

de modelos de roteirização para problemas reais têm crescido consideravelmente,

principalmente após a estabilização da economia, o aumento competitivo do mercado e a

busca da eficiência justificada pela diminuição da inflação, entre as razões destaca-se a

exigência cada vez mais dos clientes, com relação aos prazos de entregas e suas decorrências.

Verificando-se este problema junto a empresa, percebeu-se que um sistema

informatizado poderia reduzir custos e ganhar mais agilidade nas entregas.

11..11 OOBBJJEETTIIVVOOSS DDOO TTRRAABBAALLHHOO

O objetivo do trabalho é desenvolver um sistema de planejamento para entrega de

mercadorias.

Os objetivos específicos do trabalho proposto são:

a) identificar o melhor veículo de carga a ser utilizado para o transporte da

mercadoria a partir dos dados do veículo e dos produtos, e quantidades fornecidas

pelos indicadores;

b) apresentar informações na ordem que as mercadorias serão carregadas através do

local de entrega, definindo a rota de menor custo.

14

11..22 EESSTTRRUUTTUURRAA DDOO TTRRAABBAALLHHOO

No primeiro capítulo tem-se a introdução deste trabalho com a apresentação da

justificativa e dos objetivos.

No segundo capítulo apresenta-se a fundamentação teórica pesquisada sobre a

importância da logística no processo, roteirização, sistema atual, trabalhos correlatos.

O terceiro capítulo apresenta o desenvolvimento do sistema de planejamento de rotas

de entregas de mercadorias iniciando-se com o levantamento de informações, especificação,

implementação e os resultados e discussões.

No quarto capítulo tem-se as conclusões deste trabalho bem como se apresentam

sugestões para trabalhos futuros.

15

2 FUNDAMENTAÇÃO TEÓRICA

Esse capítulo aborda a importância da logística no processo, problemas de roteirização,

sistema atual e trabalhos correlatos.

22..11 IIMMPPOORRTTÂÂNNCCIIAA DDAA LLOOGGÍÍSSTTIICCAA NNOO PPRROOCCEESSSSOO

A logística é responsável pelos recursos, equipamentos e informações para que todas

as atividades de uma empresa sejam executadas e correlacionadas ao êxito. Para isso, é

preciso planejar o transporte, armazenagem, processamento dos pedidos e o correto

gerenciamento das informações (NOVAES, 2004).

Uma logística bem planejada representa ganhos como entregas mais rápidas, redução

de estoques e custos operacionais, aumento da produtividade e no giro de mercadorias. A

logística adiciona um novo valor frente ao cliente e confere um diferencial competitivo para

sua empresa. Desta forma, como menciona Rodrigues (2007) acredita-se que a logística se

tornou um sinônimo de redução de custos e melhoria nos serviços, observando o

relacionamento entre clientes e fornecedores, proporcionando um laço mais confiante entre

todos, tendo assim, um sistema de coordenação sistematizada com objetivos comuns.

Embora as diversas combinações de rotas possam ser testadas manualmente, técnicas

programáveis podem ser atrativas. Para Razzolini Filho (2006, p. 22) “esta exigência de

rapidez e flexibilidade levam as empresa a buscarem a integração de seus canais de

suprimentos de forma que possam atender adequadamente aos seus mercados em que atuam”.

Uma organização deve oferecer produtos e serviços aos seus clientes, conforme suas

necessidades e exigências, da maneira mais eficiente possível, a redução dos custos logísticos

engloba um desses fatores.

A distribuição de produtos é uma das principais preocupações das empresas, pois

define o seu sucesso ou insucesso, no processo de atendimento aos seus clientes. Um bom

planejamento logístico pode criar condições para alcançar a eficiência e a confiabilidade no

serviço prestado pela empresa, garantindo a satisfação dos clientes e a redução dos seus custos

(BOTELHO, 2003).

Redução de custos é o grande diferencial, quando se busca alternativas viáveis de

16

manutenção deste serviço. Segundo Ballou (2001) este planejamento é bastante importante,

uma vez que os custos de transporte correspondem de um a dois terços do total dos custos

operacionais das empresas.

Para Novaes (2004), na prática, a distribuição de produtos é analisada sobre diferentes

perspectivas funcionais. Para a logística, a distribuição física está relacionada aos processos

operacionais e de controle. Já para o pessoal de marketing e de vendas, a cadeia de

suprimentos é encarada focalizando os aspectos ligados à comercialização dos produtos e aos

serviços a ela associados.

A missão da logística consiste em colocar os diversos tipos de produtos, e meios de

aquisição, no momento certo, e nas condições desejadas, para isso, um sistema que permita

diminuir o tempo de entrega, diminuir custos desnecessários com o serviço e demais maneiras

da própria entrega, facilita e propicia lucros, e, o mais desejado, que é a manutenção dos

clientes.

Com o acirramento competitivo dos mercados através da globalização, os clientes

estão cada vez mais intolerantes a falhas. A excelência na entrega está deixando de ser

diferencial, para se tornar imprescindível na manutenção destes clientes. A rentabilidade da

empresa é a diferença do valor e o custo do produto acrescido dos impostos. Portanto, a meta

principal das empresas é criar valor aos clientes que exceda o custo (BOWERSOX; CLOSS,

2001).

Para o acompanhamento e ajuda nestas premissas logísticas, existem alguns softwares,

ditos roteirizadores, e sistemas integrados de gestão, desenvolvidos para integrar, controlar e

gerenciar a cadeia de suprimentos com o objetivo de melhor atender ao cliente, e, que ajudam

na melhoria contínua deste serviço de caráter fundamental e na manutenção dos custos

logísticos e principalmente do nível de serviço. A roteirização de veículos é uma das histórias

de grande sucesso da pesquisa operacional nas últimas décadas (ASSAD; SANO, 2003).

Conforme salienta Cunha (2000), esse interesse é devido a dois fatores: a ênfase cada

vez maior dada aos problemas de roteirização e sua complexidade matemática. Pois é

impossível determinar soluções ótimas para os problemas de roteirização, desafiando a busca

de cálculos mais eficientes. Ainda no conceito de Cunha (2000), embora a quase totalidade

dos desenvolvedores de softwares de roteirização mantenham em sigilo os algoritmos de

soluções utilizados, a análise de resultados obtidos para algumas instâncias específicas de

problemas permite induzir que são heurísticas simples, que produzem soluções viáveis e, em

geral, de boa qualidade para problemas de grande porte, em reduzido tempo de

processamento. No entanto, vale destacar o que comenta Ferreira Filho e Melo (2001), ao

17

dizer que as heurísticas existentes para resolver os problemas das rotas e entregas, nos

softwares especializados no mercado, tendem a ser muito generalistas e não costumam gerar

resultados satisfatórios.

A troca de informações que acontece no processo logístico tem a finalidade de apoiar a

movimentação de materiais, no sentido de atender às necessidades em toda a cadeia de

abastecimento. A meta de uma boa logística é sincronizar distribuição física com demanda

pela redução de incertezas na análise das informações (SILVA, 2003).

Para assegurar um transporte de qualidade que atenda as demandas existentes e uma

série de rotinas operacionais adequadas e planejadas, destaca-se a roteirização e programação

de veículos, a qual não será difundida neste trabalho.

De acordo com Marques (2002), os softwares de roteirização possuem três

funcionalidades principais: monitoramento e controle, planejamento e execução, e, por fim, o

apoio à negociação e auditoria de frete, relacionado ao controle sobre serviços de transportes

oferecidos por terceiros.

Contudo, para Naruo (2003) e Pelizaro (2000) geralmente os sistemas de roteirização e

programação tem como saída básica o mesmo: para cada veículo ou tripulante, uma rota e

uma programação são providenciadas.

Essas informações permitem ao sistema gerar modelos muito próximos da realidade

atual, que trabalhados em conjunto com poderosos recursos gráficos, fornecem importantes

informações para o processo de tomada de decisão.

22..22 RROOTTEEIIRRIIZZAAÇÇÃÃOO

O processo de roteirização, nada mais é, do que um processo de criação de roteiros ou

sequências, onde pontos de paradas, geograficamente dispersos, em locais pré-determinados,

devem ser atendidos de acordo com suas necessidades, com o menor tempo, melhor rota e

custo na distribuição (NOVAES, 2004).

O termo roteirização de veículos, embora não encontrado nos dicionários de língua

portuguesa, tem sido utilizado como equivalente ao inglês routing (ou routeing) para designar

o processo de determinação de uma ou mais rotas ou sequências de paradas a serem

cumpridas por veículos de uma determinada frota.

Segundo Laporte et al (2000), a roteirização de veículos consiste em definir rotas de

18

veículos que minimizem o custo total de atendimento, assegurando que cada ponto seja

visitado exatamente uma vez. Na roteirização urbana, o problema é mais complexo, pois o

sistema viário é mais denso, o número de alternativas de itinerários é muito superior e as

restrições de circulação são mais rigorosas (mão de direção, movimentos permitidos e

proibidos). Como salienta Novaes (2004) na prática, problemas de roteirização ocorrem com

bastante frequência na distribuição de produtos e de serviços.

Segundo Carrara (2007), em um perímetro urbano, existem diversos fatores que podem

influenciar na escolha da melhor rota, tempo, fluxo de veículos, distância, entre outros. Com a

combinação desses fatores, seria possível obter com maior precisão a rota mais adequada para

determinado tipo de veículo. Resolver esse problema envolve determinar quantos veículos são

necessários para servir os destinos e desenvolver uma rota e programação para cada um.

Problemas de roteirização de veículos são muitas vezes definidos como questões de múltiplos

caixeiros-viajantes com restrições adicionais de capacidade, além de outras que dependem de

cada aplicação. Na literatura técnica, o problema de roteirização sem restrições é chamado de

Problema do Caixeiro-Viajante (PVC). Existe uma grande variedade deste tipo de problema

(do inglês Traveling Salesman Problem - TSP)1.

Este problema consiste em determinar uma rota de mínimo custo que passe por todos

os nós, uma única vez. Sua formulação original é a seguinte: existem N pontos (nós) numa

rede onde o caixeiro viajante deve partir de um ponto inicial (depósito ou base) e visitar pelo

menos uma vez os outros N - 1 pontos, voltando no final da viagem para o ponto inicial. O

problema a ser resolvido é o de encontrar a sequência de visitas aos clientes que torne mínimo

o percurso dentro do bolsão de distribuição.

Como evidenciado na Figura 1, onde um bolsão circular de clientes e rotas já traçadas

torna-se fácil a roteirização deste tipo de entrega, mostra que todos os tipos de problemas de

roteirização e programação são de natureza essencialmente operacional, ou seja, fazem parte

das tarefas rotineiras de programação da frota, realizadas com frequência regular, em geral

diária ou semanal. O problema a ser resolvido é encontrar a sequência de visitas aos clientes

que torne mínimo o percurso dentro do bolsão de distribuição.

1 Na literatura técnica, o problema de roteirização sem restrições recebe o nome de Problema do Caixeiro-Viajante (PVC). Isso porque o autor que primeiro analisou a questão exemplificou a metodologia através de aplicação a um caso em que um caixeiro-viajante tem de visitar um determinado número de cidades localizadas numa região, devendo achar a sequência que minimize o percurso total (NOVAES, 2004, p. 304).

19

Figura 1 - Roteiro simples (12 clientes) em um bolsão de distribuição

Fonte: Novaes (2004, p. 305).

A Figura 1 representada acima mostra um modelo simples de roteirização, em um

bolsão circular, mas de complexa absorção, se levar em consideração diferentes rotas e

destinos no mesmo circuito de entrega, isso devido às relevâncias que envolvem as decisões

para melhor utilização da frota. Os problemas de roteirização de veículos podem ser

classificados, segundo Christofides (1985) em diversas categorias e tipos. Os vários

problemas diferem, entre si, em aspectos relacionados ao tipo de operação, de carga, da frota

utilizada, à localização dos clientes, ao tipo de restrições, de função objetivo e vários outros

fatores.

Nos estudos relacionados de Christofides (1985), Brejon (1998) e Assad (1988)

destacam-se os problemas básicos da roteirização de veículos baseados nos parâmetros mais

relevantes e comuns, sendo classificados em quatro categorias, função objetivo (minimizar

custos e distância total percorrida), restrições (veículos, clientes e rotas), variáveis de decisão

e hipóteses e/ou recursos (roteiro a ser percorrido, quantidade da carga transportada, tempo de

início de atendimento do primeiro cliente da rota, tipo de operação, carga, demanda, tamanho

da frota, jornada de trabalho, estrutura da rede) e características dos problemas.

Assad (1988) coloca como uma das maiores dificuldades em encontrar um esquema de

classificação apropriado está em considerar ou não as restrições do problema e o método de

solução proposto. Para o autor, cada problema prático seja caracterizado particularmente, de

acordo com um conjunto de elementos. Nos problemas clássicos de roteirização, pressupõe-se

que a demanda é conhecida antecipadamente. Na roteirização dinâmica a demanda, os roteiros

ocorrem em tempo real.

Pelizzaro (2000) aborda que cada problema tende a ser diferente, necessitando de

atenção particular. Um importante atributo para a roteirização de veículos é a precisão das

informações geográficas sobre as localizações dos clientes e redes viárias.

Clientes

Roteiro de visitas

Bolsão de distribuição

Distribuição/recepção

20

O problema do caminho mínimo consiste basicamente: dado um grafo com pesos nas

arestas, obter o caminho de menor custo entre dois vértices x e y. Como muitas vezes o peso

representa a distância entre os vértices, este problema passou a ser conhecido como problema

do caminho mínimo. Quando todas as arestas de grafo G possuem peso 1, o problema de

encontrar o caminho de menor custo entre um vértice s e os outros vértices de G, se resume ao

caminho mais curto entre s e os outros vértices do grafo G, ou seja, o caminho com o menor

número de arestas. Considere o grafo dirigido da Figura 2.

Figura 2 - Vértices (grafo dirigido)

Fonte: Nonato (2000).

Suponha-se que s na figura acima seja o vértice v3. O caminho mais curto de s até o

próprio vértice v3 é 0. Agora se pode olhar para todos os vértices que estão a uma distância 1

de s, ou seja, os vértices v1 e v6 que são adjacentes a s. Os vértices que estão a uma distância

2 de s podem ser encontrados através dos vértices adjacentes aos vértices v1 e v6, cujo

caminho mais curto ainda não tenha sido encontrado. Na Figura 3, como cita Nonato (2000),

estes vértices são v2 e v4. Seguindo o procedimento acima, pode-se encontrar os vértices que

estão a uma distância 3,4. Note-se que o esquema acima é muito parecido com o método de

busca em largura. O algoritmo da Figura 3 assume que cada vértice possui a informação de

sua distância até o vértice fonte. Esta informação será armazenada no campo DIST ou ROTA.

21

Figura 3 - Algoritmo (grafo dirigido)

Fonte: Nonato (2000).

Cada vértice do grafo é colocado na fila no máximo uma vez, e cada aresta adjacente a

um vértice também é percorrida no máximo uma vez (pois o grafo é dirigido).

22..33 SSIISSTTEEMMAA AATTUUAALL

Localizada no município de Gaspar, estado de Santa Catarina, a empresa Ferrovia

Comércio de Ferro e Aço, foi iniciada com o objetivo de comercializar produtos no ramo

metalúrgico e serralheiro. Têm como meta possibilitar a satisfação aos clientes de forma a se

tornarem fortes parceiros comerciais (FERROVIA, 2009).

Atualmente a empresa não utiliza um módulo de roteirização para ajustar e planejar as

entregas. Na entrega do material, levam-se em consideração boas práticas de carregamento e

entrega, a fim de melhorar a rota específica e a redução do nível de trabalho. A roteirização na

void calc_dist(heads *G, int s) /* s eh o indice do vertice fonte */ { int i; no *aux; for(i=0; i<NUMVERT; i++) { G[i].FLAG = 0; G[i].DIST = MAXINT; /* MAXINT eh o maior inteir o representavel */ } G[s].FLAG = 1; G[s].DIST = 0; INSERE(Q,s); while (EMPTY(Q) != 1) { i = REMOVE(Q); for(aux = G[i].ADJ; aux; aux = aux->NEXT) { if (G[aux->VERTEX].FLAG == 0) { G[aux->VERTEX].FLAG = 1; G[aux->VERTEX].DIST = G[i].DIST + 1; INSERE(Q,aux->VERTEX); } } } }

22

empresa é feita de forma manual, sem o suporte de nenhum software. O gerente de logística,

junto com os motoristas dos caminhões determinam o roteiro das entregas somente com base

em seus conhecimentos do trânsito, horário de entrega dos clientes, e caminhos que eles

julgam mais apropriados para conseguir atender os prazos.

Desta forma, o gerente emite o romaneio de entregas para o motorista. São agrupados

os pedidos por locais específicos da cidade e região, e localizações de clientes mais próximos,

preparando assim o caminhão de entregas, conforme a ilustração da Figura 4.

Figura 4 - Fluxograma de distribuição

2.3.1 Política da empresa

Segundo Ferrovia (2009) com o desejo de possibilitar satisfação aos clientes de forma

a tornar-se fortes parceiros comerciais, com seus clientes e fornecedores, tem como metas:

a) atender as necessidades de nossos clientes, entregando com rapidez e perfeição os

produtos por eles adquiridos, dentro de uma facilidade financeira necessária;

b) manter o estoque de produtos cada vez mais diversificado, para que possamos

disponibilizar à pronta entrega todas as necessidades de nossos clientes;

c) investir em treinamento de funcionários para que possa-se oferecer um atendimento

cada vez melhor.

São pressupostos indispensáveis a atuação da empresa, melhorias do ambiente

operacional, onde a otimização de recursos envolvidos pode trazer ganhos para o sistema da

empresa como um todo, evidenciando-as ao processo, aumento da produtividade, redução do

lead time, entre outros valores que agregam qualidade ao contexto. Nas descrições acima, a

Início Envio da solicitação do departamento de

compras

Programação de transportes

Emissão da coleta

Despacho do veículo

Contato com o fornecedor

Carregamento do veículo

Retorno do veículo à empresa

Término Suporte de expedição

23

caracterização de um ambiente roteirizado fará a diferença na conquista dos pressupostos

evidenciados.

22..44 TTRRAABBAALLHHOOSS CCOORRRREELLAATTOOSS

O estudo referenciado teve acesso a artigos que apresentaram menor relação com o

tema pesquisado, mas de extrema importância para o desenvolvimento deste trabalho.

2.4.1 Constraint Satisfaction Problem (CSP)

O trabalho de Rosa (2005) que utilizou uma técnica para otimizar rotas para entregas

de coletas e mercadorias por vias rodoviárias através do Constraint Satisfaction Problem

(CSP) também chamada de programação por restrições obteve sucesso ao enquadrar qual a

melhor rota para os produtos chegarem a seus destinos. Conforme a autora, a qual citou

Sucupira (2003, p. 1) afirma que a programação de restrições (constraint programming) tem a

capacidade de reduzir o esforço e tornar mais natural o desenvolvimento da programação para

alguns tipos de problemas devido a fatores como a utilização de ferramentas que tornam as

soluções mais automatizadas.

Ainda, segundo Sucupira (2003), as qualidades da programação de restrições, apoiadas

em uma forte fundamentação teórica e aliadas à eficiência dos sistemas existentes para a

prática da programação de restrições, têm resultado num grande sucesso, tornando essa

tecnologia escolha frequente para o tratamento de diversas classes de problemas, como por

exemplo, o problema do caixeiro viajante, da coloração de mapas, entre outros.

De acordo com Rosa (2005) um CSP é formalmente definido como um conjunto de

variáveis, X1, X2,..., Xn, e um conjunto de restrições (constraints), C1, C2,..., Cm. Cada

variável Xi tem domínio Di, não vazio e de valores possíveis. Cada restrição Ci envolve

algum subconjunto de variáveis e especifica as combinações dos valores possíveis para esse

subconjunto. Um estado do problema é definido por atribuição dos valores a algumas ou a

todas as variáveis, {X1 = V1, X2 = V2,..., Xn = Vn}. Uma atribuição que não viole nenhuma

das restrições é chamada de atribuição consistente ou legal. Uma atribuição completa possui

24

todas as variáveis mencionadas, e uma solução para um CSP é uma atribuição completa que

satisfaz a todas as restrições.

A ferramenta utilizada para o desenvolvimento do trabalho foi o GNU Prolog pois

contém uma eficiente solução de restrições e de domínios finitos. Isso possibilita a

programação lógica de restrições que combina o poder da programação de restrições e a

declaratividade da programação lógica.

Na elucidação do trabalho acima, baseou-se nos termos utilizados e em alguns

conceitos de Sistemas para logística de Distribuição, e algumas metodologias aplicadas, no

contexto logístico atual, as quais constam no referencial teórico deste trabalho.

2.4.2 Dissertação de Mestrado de Enomoto

Outro trabalho de relevância para o assunto roteirização, remete aos estudos de

Enomoto (2005), o qual se refere aos estudos em um atacadista, utilizando um software

específico de roteirização, e estudos aplicados a este módulo de logística. A empresa, a qual

foi o tema do estudo de Enomoto (2005) começou em 1986 a trabalhar com o software de

roteirização chamado Trucks, que operava em ambiente DOS. Este software apresenta vários

registros de utilização no Brasil.

O software apresenta uma interface bastante amigável ao usuário, e trabalha com o

conceito de janelas típica do Windows, e, podem ser abertas por atalhos. As janelas principais

correspondem a informações sobre as Praças ou locais (Location), Pedidos (Order), Rede

(Network), Planejamento (Planning) e Rotas (Route), conforme Figura 5, que mostra uma

ampliação das janelas principais e alguns campos de parametrização da janela de Locations.

25

Figura 5 – Janela de parametrização do software NR

Fonte: Enomoto (2005, p. 92).

26

3 DESENVOLVIMENTO

Neste capitulo será descrito o desenvolvimento do sistema. As seções descrevem os

requisitos principais do sistema, especificação do sistema, e implementação do sistema.

33..11 LLEEVVAANNTTAAMMEENNTTOO DDEE IINNFFOORRMMAAÇÇÕÕEESS

Desta forma para se estabelecer um roteiro ideal de entregas ou visitas, é necessário

que seja considerado:

a) malha viária previamente definida (determinando a distância entre os locais de

entrega);

b) conjunto de nós (pontos de movimentação de cargas, ou clientes);

c) frota de veículos (caminhões, carros, motos, utilitários, etc);

d) demanda de entrega ou coleta, que deve ser entregue pelos veículos, aos clientes, na

malha predefinida, respeitando todas as restrições inseridas no sistema, limite de

peso e volume.

O resultado é a sequência de visita entre os clientes, realizada pelos veículos, seguindo

o critério de menor custo de entrega. Com os dados dos clientes no sistema, são capturadas as

informações de localização e suas respectivas necessidades, como tipo de

mercadoria/material.

Após a importação das informações de localização dos clientes, é necessária a

conexão desses clientes em uma malha viária pré-existente. Efetuada a conexão do cliente é

necessário cadastrar os veículos de todos os tipos e capacidades. Além das informações

anteriores, é possível cadastrar todos os produtos que serão transportados, com informações

sobre o peso, o volume, agrupamentos e fragmentações possíveis.

Nos itens anteriores tratou-se da preparação do cenário para a programação das

entregas, posteriormente, são necessárias as informações relacionadas ao que vai ser

efetivamente transportado. Assim, a roteirização, é a etapa final do processo de planejamento,

é nela que o sistema irá definir a melhor sequência, os veículos a serem utilizados, os trajetos

que deverão ser percorridos.

27

Segundo Fernandes (2002) existem três diferentes modalidades de operação com a

roteirização:

a) por proximidade geográfica, com vínculo a zona de venda: esta definida pela

delimitação da área de entrega e veículos a ela alocados, de forma que se formam

vínculos entre um ou mais veículos e um determinado número de clientes. O vínculo é

entre um vendedor (dentro do seu território, ou zona de vendas) e o veículo. Ou seja, o

vendedor sempre terá n veículos à sua disposição, independente da demanda. Esse

modelo garante a constância de um mesmo motorista/veículo, aos clientes, mas não

garante a qualidade da rota, nem o ganho potencial de redução de recursos físicos e

humanos;

b) linear: esse método apresenta a elaboração de um itinerário de entrega, como se todas

as entregas fossem feitas a todos os clientes da semana em um único dia, por um

veículo teórico, criando assim um grande roteiro, que depois se fragmentará em sub-

roteiros, de acordo com a capacidade dos veículos disponíveis;

c) dinâmica: este método utiliza o conceito de que os recursos físicos e humanos

existentes estão disponíveis para efetuar certo número de entregas diariamente, e

considera uma produtividade média por veículo, dentro de sua jornada de trabalho

normal, ou a prática de horas extras. Ou seja, na primeira, restringe-se à demanda em

função da capacidade, e na segunda, a capacidade em função da demanda.

A partir do processamento dos pedidos do dia, são definidos os itinerários de entrega,

a alocação de veículos, tipo de veículo, maximização do aproveitamento dos veículos, menor

quilometragem e/ou menor jornada de trabalho.

O método dinâmico cria rotas sempre variadas, inclusive para os mesmos dias da

semana, uma vez que não é possível garantir aos mesmos clientes, que sejam atendidos

sempre no mesmo dia da semana, com o mesmo volume de pedido.

Após a definição da rota, é emitido um romaneio que contém a ordem das entregas.

Em seguida os pedidos são enviados a expedição na ordem que vão ser entregues, ou seja, o

primeiro a ser carregado no veículo de entregas será o último a ser recebido pelo seu

respectivo cliente, e o último pedido a subir no caminhão será o primeiro a ser entregue, este

conceito também é chamado como, último a entrar, primeiro a sair.

O problema do caminho mínimo consiste basicamente em um grafo com pesos nas

arestas, obter o caminho de menor custo entre dois vértices x e y, conforme explicado na

Figura 2 do capítulo 2.

28

33..22 EESSPPEECCIIFFIICCAAÇÇÃÃOO

A especificação do sistema foi feito através de Diagramas de Caso de Uso, Atividades

e do Modelo Entidade Relacionamento (MER), utilizando a ferramenta de auxílio o Enterprise

Architect.

3.2.1 Especificações dos Requisitos

O Quadro 1 apresenta os requisitos funcionais previstos para o sistema e sua

rastreabilidade, ou seja, vinculação com o(s) caso(s) de uso associado(s).

Quadro 1 - Requisitos funcionais

Requisitos Funcionais Caso de Uso

RF01: O sistema deverá permitir o usuário efetuar login no sistema. UC01

RF02: O sistema deverá permitir o cadastro de veículos. UC02

RF03: O sistema deverá permitir o cadastro de produtos. UC03

RF04: O sistema deverá permitir o cadastro das distâncias entre os clientes. UC04

RF05: O sistema deverá permitir integrar informações dos clientes. UC05

RF06: O sistema deverá permitir ao usuário a listar a rota de entrega com

seus determinados pedidos. UC06

RF07: O sistema deverá permitir ao usuário a verificar os produtos. UC07

RF08: O sistema deverá permitir o administrador manter o acesso dos

usuários através de perfis. UC08

RF09: O sistema deverá permitir buscar os pedidos. UC09

O Quadro 2 lista os requisitos não funcionais previstos para o sistema.

Quadro 2 - Requisitos não funcionais

Requisitos Não Funcionais

RNF01: O sistema deverá interagir com o sistema Shop Control 8.

RNF02: O sistema será implementado utilizando linguagem Java.

29

RNF03: O sistema deverá utilizar banco de dados SQL Server 2008

3.2.2 Diagramas de Casos de Uso

Esta subseção apresenta os diagramas de casos de uso do sistema. Na Figura 6

apresenta-se o diagrama de casos de uso especificando as ações que o usuário pode realizar no

sistema. Nota-se que o diagrama de casos de uso possui os atores Usuário, Administrador e

Shop Control. As descrições dos casos de uso encontram-se no Apêndice A.

Figura 6 - Diagrama de casos de uso

3.2.3 Diagrama de Atividades

A Figura 7 representa o diagrama de atividades do processo da geração de rota de

entrega da mercadoria. Primeiramente o processo inicia quando o usuário efetua o login no

30

sistema, posteriormente o usuário informa a data que o sistema irá buscar os pedidos para

gerar as entregas do dia seguinte, chegando ao final do ciclo.

Figura 7 - Diagrama de atividade

3.2.4 Modelo Entidade Relacionamento

Na Figura 8 verifica-se o MER do aplicativo desenvolvido com as entidades criadas e

seus relacionamentos. O dicionário de dados se encontra no Apêndice B.

Na tabela entregas é gravado o código do veículo e os pedidos em que o mesmo irá

transportar, utilizando com restrição a capacidade de transporte, ao atingir o limite da

capacidade do veículo o próximo pedido irá para o próximo veículo e assim sucessivamente.

Ao término o sistema irá montar a tabela roteiro mais detalhada, percorrendo a tabela

31

entregas, para depois calcular qual o é a rota de menor custo.

Figura 8 – Modelo entidade relacionamento

33..33 IIMMPPLLEEMMEENNTTAAÇÇÃÃOO

A seguir são mostradas as técnicas e ferramentas utilizadas e a operacionalidade da

implementação.

3.3.1 Técnicas e ferramentas utilizadas

A seguir são apresentadas as ferramentas utilizadas para o desenvolvimento do sistema

32

proposto, tais como Java com Swing e SQL Server 2008. É mostrado também algumas

operacionalidades da implementação através de código fonte.

3.3.1.1 Java

O Java é uma linguagem de programação orientada a objeto desenvolvida por uma

equipe de programadores da empresa Sun Microsystems na década de 90. A linguagem Java é

compilada para um bytecode que é executada por uma máquina virtual, Java Virtual Machine

(JVM) (CAELUM, 2013).

O Quadro 3 ilustra o código fonte para a realizar a gravação de um novo usuário.

Quadro 3 – Código fonte para gravar um novo usuário no sistema.

private void botao_gravarActionPerformed(java.awt.event.ActionEvent evt) { if ( tf_codigo .getText().equals( "" ) || tf_nome .getText().equals( "" )|| tf_senha .getText().equals( "" )) JOptionPane.showMessageDialog( null ,"Os campos não podem ser vazios"); try { String sqlinsert = (String) ("insert into usuarios (codigo, nome, senha, fg_acesso, fg_cadastro, fg_gerar_rota, fg_li star_produtos) " + "values ('" + tf_codigo .getText()+ "','" +tf_nome .getText()+ "','" +tf_senha .getText()+ "'," + ( rd_acesso .getSelectedObjects() == null ? 0 : 1)+ "," + ( rd_gerar_rota .getSelectedObjects() == null ? 0 : 1)+ "," + ( rd_cadastro .getSelectedObjects() == null ? 0 : 1)+ "," + ( rd_listar_produtos .getSelectedObjects() == null ? 0 : 1)+ ")" ); con_usuario.statementIdeal .executeUpdate(sqlinsert); JOptionPane.showMessageDialog( null , "Gravação efetuada com sucesso!" ); con_usuario .executeSQLIdeal( "select * from usuarios order by codigo" ); preencher_jtable(); } catch (SQLException erro) { System. out .println(erro); JOptionPane.showMessageDialog( null , "Erro ao tentar gravar registro" ); } }

33

3.3.1.2 SQL Server 2008

Para o armazenamento dos dados do sistema é utilizado o SQL Server 2008 que é o

mesmo utilizado pelo sistema Shop Control. O Microsoft SQL Server 2008 Express é um

sistema de gerenciamento de dados avançado e confiável que fornece um conjunto sofisticado

de recursos, proteção de dados e desempenho para clientes de aplicativos incorporados,

aplicativos web leves e armazenamentos de dados locais (MICROSOFT, 2013).

3.3.1 Swing

No desenvolvimento do sistema foi utilizado o Swing para acelerar o desenvolvimento

do sistema. Criado para desenhar por conta própria todos os componentes, ao invés de delegar

essa tarefa ao sistema operacional (CAELUM, 2013).

3.3.2 Operacionalidade da implementação

Nesta subseção apresentam-se as telas do sistema com uma apresentação sobre suas

funcionalidades, bem como trechos de código relevantes para o entendimento de algumas

rotinas.

3.3.2.1 Tela de Login

Para o usuário acessar o sistema, primeiramente deverá efetuar o login, conforme

Figura 9, nesta tela o usuário deve informar o usuário e a senha para ter acesso ao sistema.

34

Figura 9 – Tela de login

Informando usuário e senha, o usuário deve clicar no botão entrar. Se algum campo

estiver em branco, o sistema exibirá a mensagem: “Os campos não podem ser vazios”. Após o

usuário informar todos os campos e clicar no botão entrar, o sistema fará a validação do

usuário. Caso o usuário não exista, ou a senha esteja incorreta, será apresentada a mensagem:

“Senha Incorreta”. Após validar o usuário, ele será redirecionado para a tela principal do

sistema.

3.3.2.2 Tela Principal

Após efetuar login no sistema, o usuário é direcionado para a tela principal do sistema,

conforme mostra a Figura 10, onde o usuário terá acesso a duas opções distintas: gerar rota de

entrega, listar produtos do pedido, além do acesso a opção de cadastros, pelo menu superior.

35

Figura 10 – Tela principal

3.3.2.3 Menu Cadastros

O menu Cadastro é composto pelos itens Usuários, Produtos, Veículos e Distância.

Todas as telas possuem permissão de acesso, que deve ser concedida ao cadastrar um novo

usuário.

A Figura 11 apresenta o menu Cadastro.

Figura 11 – Menu cadastro

36

3.3.2.4 Cadastro de Usuário

A Figura 12 apresenta onde é cadastrado um novo usuário e delegará as telas onde

cada usuário terá acesso.

Esta tela possui um cadastro simples, porém os únicos campos obrigatórios são o

código, nome a senha. O botão “GRAVAR” somente é liberado quando o usuário informar o

código do novo usuário que é gerado automaticamente ao clicar no botão próximo código

representado pelo “>”. Para gravar um novo usuário o mesmo deverá clicar no botão

“LIMPAR” e novamente clicar no botão próximo código representado pelo “>”. O

“ALTERAR” somente é liberado quando o usuário selecionar na tabela o funcionário que

deseja fazer a alteração.

Figura 12 – Tela de cadastro de usuários

37

3.3.2.5 Cadastro de Veículos

Na Figura 13 é apresentada a tela de cadastro de veículos, onde se pode efetuar o

cadastro de veículos que possuem como campos obrigatórios código, veiculo, Km/l, peso,

largura, altura e comprimento, dados utilizados para calcular a capacidade de carga e o custo

da entrega. O botão “GRAVAR” somente é liberado quando o usuário informar o código do

novo veículo que é gerado automaticamente ao clicar no botão próximo código representado

pelo “>”. Para gravar um novo veículo o mesmo deverá clicar no botão “LIMPAR” e

novamente clicar no botão próximo código representado pelo “>”. O “ALTERAR” somente é

liberado quando o usuário selecionar na tabela o veículo que deseja fazer a alteração.

Figura 13 – Tela de cadastro de veículos

38

3.3.2.6 Cadastro de Distância

Na Figura 14 é cadastrada a distância entre os clientes e caso tenha restrição (custo que

deverá ser somada na distância entre os clientes selecionados, tais como pedágio naquele

trecho), com estes dados o sistema irá verificar qual a menor distância entre os clientes na

geração da rota. Para efetuar o cadastro da distância, o usuário deverá selecionar o código do

cliente, assim o sistema irá buscar no Shop Control o cliente e listará todas as possibilidades

entre clientes já cadastrados no sistema. O botão “GRAVAR” somente é liberado quando o

usuário selecionar na tabela a linha em que deseja cadastrar a distância e que a mesma esteja

com a distância em branco, se a distância já esteja preenchida irá liberar somente o botão

“ALTERAR”.

Figura 14 – Tela de cadastro de distância

39

3.3.2.7 Cadastro de Produto

Na Figura 15 é apresentada a tela de cadastro de produtos. O sistema irá listar na tabela

todos os produtos já cadastrados no Shop Control, faltando somente o usuário cadastrar os

campos obrigatórios para o calculo da cubagem da carga como peso, comprimento, largura e

altura. O botão “GRAVAR” somente é liberado quando o usuário selecionar na tabela um

produto que não esteja cadastrado os campos peso, comprimento, largura e altura, caso o

produtos selecionado já esteja com estes campos selecionados o sistema irá liberar somente o

botão “ALTERAR”.

Figura 15 – Tela de cadastro de produto

40

3.3.2.8 Menu Listar produtos do pedido

A Figura 16 é utilizada para verificar os produtos que compõem o pedido, o

funcionário deverá preencher o campo com o número da sequencia do pedido e clicar em

“BUSCAR”, assim o sistema irá apresentar o código, nome e a quantidade vendida que

compõem o pedido.

Figura 16 – Tela para listar produtos do pedido

3.3.2.9 Menu Gerar Rota de Entrega

A Figura 17 apresenta a tela que é utilizada para gerar a rota de menor custo para a

entrega dos pedidos, ao informar a data das vendas e o valor do combustível, o funcionário

deverá clicar no botão “GERAR ROTA” o sistema irá apresentar o veículo com a sequência

de clientes em que ele irá percorrer no dia seguinte. Deste modo o estoquista irá pegar o

pedido desses clientes e carregar no veículo informando pelo sistema. O estoquista deverá

começar a carregar o veículo pelo último cliente informando pelo sistema, assim o último

pedido carregado será o primeiro a ser entregue.

41

Figura 17 – Tela para gerar rota de entrega

A Figura 18 ilustra o comportamento do sistema para gerar a rota com menor custo de

dois pedidos. Devido a restrição do peso do veículo a Figura 18 ilustra duas alternativas das

cinco possíveis.

Na 1ª alternativa, cada pedido irá em um veículo diferente, assim o custo total para a

entrega é de R$ 11,00 reais. Na 2ª alternativa, os dois pedidos irão no mesmo veículo, devido

o veículo gastar mais combustível por quilômetro rodado o custo total para a entrega sobe

para R$ 32,00 reais. Desta forma a 1ª alternativa é mais viável para efetuar a entrega das

mercadorias.

42

Figura 18 – Demonstração do cálculo de menor custo

Na Figura 19 tem-se o cálculo da rota de menor custo, ele atende o requisito “b” dos

objetos específicos do trabalho.

Figura 19 – Código do cálculo de menor custo da rota

33..44 RREESSUULLTTAADDOOSS EE DDIISSCCUUSSSSÕÕEESS

O principal objetivo deste trabalho era planejar a rota de entrega com o menor custo. O

trabalho desenvolvido por Rosa (2005) se relaciona em partes com este trabalho, pois tem

43

como objetivo enquadrar a melhor rota para os produtos chegaram ao seus destino, através da

utilização de Constraint Satisfaction Problem (CSP) também chamada de programação de

restrições.

Rosa (2005) utilizou a ferramenta GNU Prolog para executar a técnica de CSP, pois

contém uma eficiente solução de restrições e de domínios finitos.

A relação com o trabalho de Enomoto (2005) que utilizou um software específico de

roteirização aplicado em uma empresa atacadista, que utilizava os dados de latitude e

longitude para definição da rota.

O objetivo foi alcançado nos testes realizados no ambiente de testes na empresa,

utilizando uma cópia da base de dados oficial do Shop Control 8, e em seguida foi

apresentado para o gerente de logística da empresa. O mesmo realizou testes durante alguns

dias confirmando que o sistema estava apresentando o menor custo para a entrega das

mercadorias, gerando a rota e a sequência em que os pedidos deveriam ser carregados no

caminhão.

Através deste teste, conclui-se que o sistema desenvolvido apresentou bons resultados

na geração da rota com menor custo para entrega dos pedidos, que feita de forma

manualmente não se percebia que poderia ser melhor planejada.

44

4 CONCLUSÕES

Este trabalho propôs o desenvolvimento de um sistema para auxiliar na hora da entrega

das mercadorias. O mesmo visa planejar a rota com o menor custo, maior eficácia, e maior

agilidade, proporcionando uma melhora no atendimento aos seus clientes, através da

diminuição dos erros ao efetuar o carregamento dos pedidos.

Neste trabalho desenvolveu-se um sistema para determinar o melhor veículo de carga a

ser utilizado para o transporte da mercadoria a partir dos dados do veículo e dos produtos, e

quantidades fornecidas pelos indicadores. Buscou definir a ordem que os pedidos seriam

carregadas através do local de entrega definindo assim a rota e menor custo.

Com isso a empresa consegue ter uma visão do custo de entrega das mercadorias que

permite com que faça o planejamento do preço de venda com maior eficácia para gerar maior

lucro ao incluir o valor do frete, além de diminuir as despesas com combustível, ao conseguir

gerenciar a entrega.

O desenvolvimento deste trabalho contribui positivamente para o desenvolvimento

pessoal e profissional do autor, gerando maior conhecimento e experiência com programação,

manipulação de dados, bem como a busca por conhecimento na logística de entrega de

mercadoria.

Conclui-se com este trabalho a importância da existência de um sistema que permita a

gestão da logística de uma empresa. Com a realização do mesmo proporcionou-se ao autor um

entusiasmo em dar continuidade ao sistema, permitindo desenvolver um sistema cada vez

mais preciso para gerar a rota com menor custo.

44..11 EEXXTTEENNSSÕÕEESS

Como sugestão de extensão deste trabalho sugere-se:

a) definir a hora de entrega para cada cliente;

b) restrição por volume;

c) restrição por quantidade de quilômetros máximo por dia para cada veículo;

d) ter a possibilidade de cadastrar mais possibilidades de custos e não apenas a

distância;

45

e) integrar com o google maps, para obter a distância mais precisa, tendo assim um

custo mais preciso.

46

REFERÊNCIAS

ASSAD, Arjang. Modeling and implementation issues in vehicle routing. In: Vehicle Routing: Methods and Studies, B.L. Golden, 1988.

ASSAD, Eduardo Delgado, SANO, Edson Eyji. Sistemas de informações geográficas: aplicações na agricultura. 2. ed. Brasília: EMBRAPA-SPI / EMBRAPA-CPAC, 2003.

BALLOU, Ronald H. Gerenciamento da cadeia de suprimentos: planejamento, organização e logística empresarial. Porto Alegre: Bookman, 2001.

BOTELHO, Leonardo Gondinho. Um método para o planejamento operacional de distribuição: aplicação para casos com abastecimento de granéis líquidos. Dissertação de Mestrado. Programa de Pós Graduação em Logística empresarial da PUC – Rio de Janeiro, 2003.

BOWERSOX, Donald. J., CLOSS David J. Logística Empresarial: o processo de integração da Cadeia de Suprimento. São Paulo: Atlas, 2001

BREJON, Sergio Renato Carmo. Algoritmo para resolução do problema de programação do transporte de suprimentos para unidades marítimas de exploração de petróleo. São Paulo, 1998. 132 p. Dissertação (Mestrado em Engenharia Naval) – Escola Politécnica, Universidade de São Paulo, 1998.

CAELUM. Homepage. [S.l], 2013. Disponível em: <http://www.caelum.com.br/apostila-java-orientacao-objetos/o-que-e-java/>. Acesso em: 23 jun. 2013.

CAELUM. Homepage. [S.l], 2013. Disponível em: < http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/interfaces-graficas-com-swing/>. Acesso em: 05 jul. 2013.

CARRARA, Camila Miguel. Uma aplicação do SIG para a localização e alocação de terminais logísticos em áreas urbanas congestionadas. Dissertação de Mestrado. Escola de Engenharia de São Carlos, São Paulo; SP, 2007.

CHRISTOFIDES, Nicos. Vehicle routing. In: The traveling salesman problem, edited by: Lawler, E.; Lenstra, J. K.; Rinnoy Kan, A. H. G.; Shmoys, D.B. John Wiley, 1985, p. 431-448.

CUNHA, Claudio. B. Aspectos práticos da aplicação de modelos de roteirização de veículos a problemas reais. Revista Transportes da ANPET – Associação Nacional de Pesquisa e Ensino em Transportes, v. 8, n. 2, p. 51-74, nov. 2000.

47

ENOMOTO, Leandro Minoru. Análise da distribuição física e roteirização em um atacadista do sul de Minas Gerais. 2005. 142f. Dissertação (Mestrado) – Universidade Federal de Itajubá, Itajubá, 2005.

FERNANDES, José Carlos. Administração de Material: um enfoque sistêmico. 2. ed. Rio de Janeiro: LTC, 2002.

FERREIRA FILHO, Virgilio José Martins; MELO, Andre Cristinao Silva. Sistemas de Roteirização e Programação de Veículos. Seção de Software. Pesquisa Operacional, v. 21, n. 2, p. 223-232. Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2001.

FERROVIA. Homepage. Gaspar, 2009. Disponível em: <www.ferrovianet.com.br>. Acesso em: 19 jun. 2013.

GOMES, Carlos Francisco Simões; RIBEIRO, Priscilla Cristina Cabral. Gestão da cadeia de suprimentos integrada à tecnologia da informação. São Paulo: Pioneira Thomson, 2004.

HILLIER, Frederick S.; LIEBERMAN Gerald J. Introdução à pesquisa operacional. Rio de Janeiro: Campus, 1988.

HILLIER, Frederick S.; LIEBERMAN Gerald J. Introdução à pesquisa operacional. São Paulo: McGraw-Hill, 2006.

LAPORTE, Gilbert, et al. Classical and modern heuristics for the vehicle routing problem. International transactions in operational research, v. 7, n. 4/5, p. 285-300, USA, 2000.

MARQUES, Vitor. Utilizando o transportation management system para uma gestão eficaz de transportes. Instituto de Logística e Supply Chain. Rio de Janeiro, 2002.

MICROSOFT. Homepage. [S.l], 2013. Disponível em: <http://www.microsoft.com/pt-br/download/details.aspx?id=1695 />. Acesso em: 23 jun. 2013.

NARUO, Mauro Kenji. O estudo do consórcio entre municípios de pequeno porte para disposição final de Resíduos Sólidos Urbanos, utilizando Sistemas de Informação Geográfica. 2003. Dissertação (Mestrado) – Escola de Engenharia de São Carlos, USP, São Carlos. 283p.

NONATO, Luis Gustavo. Algorítmo sobre Caminho mais Curto.[S.I], 2012 Disponível em: http://www.lcad.icmc.usp.br/~nonato/ED/Grafos/node83.html. Acesso em: 20 jul. 2012.

NOVAES, Aantonio Galvão. Logística e gerenciamento da cadeia de distribuição. 2. ed. Rio de Janeiro: Campus, 2004.

PELIZARO, Claudia. Avaliação de desempenho do algoritmo de um programa comercial para roteirização de veículos. Dissertação (Mestrado) – Escola de Engenharia de São Carlos, USP, São Carlos, 2000, 153p.

48

RAZZOLINI FILHO, Edelvino. Logística - Evolução na Administração - Desempenho e Flexibilidade. São Paulo: Ed. Juruá, 2006.

RODRIGUES, Paulo Roberto Aambrosio. Introdução aos sistemas de transporte no Brasil e à logística internacional. 4. ed. São Paulo: Aduaneiras, 2007.

ROSA, Viviane Bittencourt. Sistema para logística de distribuição. 2005. 67 f, il. Trabalho de Conclusão de Curso - Universidade Regional de Blumenau, Curso de Ciência da Computação. Blumenau, 2005. Disponível em: <http://www.bc.furb.br/docs/MO/2005/306772_1_1.pdf>. Acesso em: 20 jun. 2012.

SILVA, Vinicius da. Logística e Transporte na Indústria Brasileira de Laticínios: Estudo de Casos. 2003. 109f. Monografia (Graduação) – Curso de Engenharia de Produção, Universidade Federal de Ouro Preto, Ouro Preto, 2003.

SUCUPIRA, Igor Ribeiro. Programação por propagação de restrições: teoria e aplicações. São Paulo, 2003. Disponível em: <http://www.ime.usp.br/~igorrs/ic/relatorio/relatorio.pdf>. Acesso em: 20 jul. 2012.

49

APÊNDICE A – Descrição dos Casos de Uso

Este Apêndice apresenta a descrição dos principais casos de uso descritos na seção de

especificação deste trabalho.

No Quadro 4 apresenta-se o caso de uso "Efetuar login".

Quadro 4 – Efetuar login

Caso de uso - UC01

Ator: Usuário

Objetivo: Permite ao usuário através da identificação por usuário e senha conectar-se ao

sistema.

Pré-condições: Usuário deve estar cadastrado no banco de dados.

Pós-condições: Usuário entra conectado ao sistema.

Cenário Principal:

1. usuário preenche seu login e sua senha

2. sistema valida os dados de login e senha do usuário

3. sistema direciona o usuário para a tela principal

Cenário Alternativo:

No passo 2 caso o nome de usuário e/ou senha forem inválido(s):

2.1. sistema exibe a mensagem “usuário ou senha inválida”.

2.2. sistema volta para o fluxo principal no passo 2.

No Quadro 5 apresenta-se o caso de uso "Cadastro de Veículos".

Quadro 5 – Cadastro de Veículos

Caso de uso - UC02

Ator: Usuário

Objetivo: Permite ao usuário a cadastrar o veiculo com os seguintes dados: código do

veiculo, peso, largura, tamanho, comprimento, km/l, descrição, renavam e placa.

Pré-condições: Usuário deve fazer login no sistema.

50

Pós-condições: Usuário editou, excluiu ou incluiu um veiculo.

Cenário Principal:

1. usuário preenche descrição do veiculo;

2. usuário clica na opção “Confirmar”;

3. sistema valida os campos obrigatórios;

4. sistema persiste os dados no banco de dados;

5. sistema lança a mensagem “Registro incluído com sucesso”.

Cenário Alternativo:

No passo 3 durante a inclusão ou edição caso os campos obrigatórios não forem

preenchidos:

3.1. sistema apresenta a mensagem “Favor preencher todos os campos obrigatórios”.

3.2. sistema volta ao fluxo principal no passo 2.

No passo 4 durante a inclusão, edição ou exclusão caso ocorra algum erro durante a

operação:

4.1. sistema exibe a mensagem “Erro durante a inclusão/edição/exclusão do registro”.

4.2. sistema retorna ao fluxo principal no passo 2.

Cenário Alternativo:

1. sistema mostra veículos cadastrados;

2. usuário seleciona um veiculo para edição;

3. sistema mostra a descrição;

4. usuário realiza as alterações necessárias;

5. usuário clica na opção confirmar;

6. sistema exibe a mensagem “Registro alterado com sucesso”;

7. sistema lista os veículos cadastrados.

Cenário Alternativo:

1. usuário seleciona a opção novo veículos;

2. sistema mostra registros cadastrados.

Cenário Alternativo:

51

1. sistema mostra veículos cadastrados;

2. usuário seleciona um veiculo para exclusão;

3. usuário clica na opção excluir;

4. sistema exclui o registro e exibe a mensagem “Registro excluído com sucesso”.

No Quadro 6 apresenta-se o caso de uso "Cadastro de Produtos".

Quadro 6 – Cadastro de Produtos

Caso de uso - UC03

Ator: Usuário

Objetivo: O usuário acessa a tela de cadastrar de produto. Serão cadastrados os seguinte

dados: código do produto, descrição, peso, altura, comprimento, largura.

Pré-condições: Usuário deve fazer login no sistema.

Pós-condições: Usuário entra conectado ao sistema.

Cenário Principal:

1. usuário preenche descrição do produto;

2. usuário clica na opção “Confirmar”;

3. sistema valida os campos obrigatórios;

4. sistema persiste os dados no banco de dados;

5. sistema lança a mensagem “Registro incluído com sucesso”.

Cenário Alternativo:

No passo 3 durante a inclusão ou edição caso os campos obrigatórios não forem

preenchidos:

3.1. sistema apresenta a mensagem “Favor preencher todos os campos obrigatórios”.

3.2. sistema volta ao fluxo principal no passo 2.

No passo 4 durante a inclusão, edição ou exclusão caso ocorra algum erro durante a

operação:

4.1. sistema exibe a mensagem “Erro durante a inclusão/edição/exclusão do registro”.

4.2. sistema retorna ao fluxo principal no passo 2.

Cenário Alternativo:

52

1. sistema mostra produtos cadastrados;

2. usuário seleciona um produto para edição;

3. sistema mostra a descrição;

4. usuário realiza as alterações necessárias;

5. usuário clica na opção confirmar;

6. sistema exibe a mensagem “Registro alterado com sucesso”;

7. sistema lista os produtos cadastrados.

Cenário Alternativo:

1. usuário seleciona a opção novo produto;

2. sistema mostra registros cadastrados.

Cenário Alternativo:

1. sistema mostra produtos cadastrados;

2. usuário seleciona um produto para exclusão;

3. usuário clica na opção excluir;

4. sistema exclui o registro e exibe a mensagem “Registro excluído com sucesso”.

No Quadro 7 apresenta-se o caso de uso "Cadastro de Distâncias".

Quadro 7 – Cadastro de Distâncias

Caso de uso - UC04

Ator: Usuário

Objetivo: O sistema deverá permitir o cadastro das distâncias e restrições.

Pré-condições: Usuário deve fazer login no sistema.

Pós-condições: Usuário editou ou incluiu uma distancia.

Cenário Principal:

1. usuário cadastra a distância entre os clientes;

2. usuário clica na opção “Confirmar”;

3. sistema valida os campos obrigatórios;

4. sistema persiste os dados no banco de dados;

5. sistema lança a mensagem “Registro incluído com sucesso”.

53

Cenário Alternativo:

No passo 3 durante a inclusão ou edição caso os campos obrigatórios não forem

preenchidos:

3.1. sistema apresenta a mensagem “Favor preencher todos os campos obrigatórios”.

3.2. sistema volta ao fluxo principal no passo 2.

No passo 4 durante a inclusão, edição ou exclusão caso ocorra algum erro durante a

operação:

4.1. sistema exibe a mensagem “Erro durante a inclusão/edição/exclusão do registro”.

4.2. sistema retorna ao fluxo principal no passo 2.

Cenário Alternativo:

1. sistema mostra as distâncias cadastradas;

2. usuário seleciona uma rota para edição;

3. sistema mostra a descrição;

4. usuário realiza as alterações necessárias;

5. usuário clica na opção confirmar;

6. sistema exibe a mensagem “Registro alterado com sucesso”;

7. sistema lista as rotas cadastrados.

Cenário Alternativo:

1. usuário seleciona a opção nova rota;

2. sistema mostra registros cadastrados.

No Quadro 8 apresenta-se o caso de uso "Integrar informações dos clientes".

Quadro 8 – Integrar informações dos clientes

Caso de uso - UC05

Ator: Shop Control

Objetivo: Buscar os clientes cadastrados no shop control para listar no cadastro de distancia.

Pré-condições: Clientes devem estar cadastrados no sistema shop control.

Pós-condições: Usuário listar os clientes no cadastro de distância.

54

No Quadro 9 apresenta-se o caso de uso "Listar a rota de entrega".

Quadro 9 – Listar a rota de entrega

Caso de uso - UC06

Ator: Usuário

Objetivo: O sistema deverá permitir ao usuário a listar a rota de entrega com seus

determinados pedidos.

Pré-condições: Usuário deve fazer login no sistema.

Pós-condições: Usuário listou as rotas de entrega.

Cenário Principal:

1. usuário preenche a data das vendas;

2. usuário clica na opção “Listar”;

3. sistema lista as rotas e seus determinados pedidos para o usuário.

Cenário Alternativo:

No passo 3 caso nenhum registro seja encontrado:

3.1. sistema alerta com mensagem “Nenhum registro encontrado”;

3.2. sistema retorna para o fluxo principal no passo

No Quadro 10 apresenta-se o caso de uso "Verificar os produtos do pedidos".

Quadro 10 – Verificar os produtos do pedidos

Caso de uso - UC07

Ator: Usuário

Objetivo: O usuário acessa a tela de pedido.

Pré-condições: Usuário deve fazer login no sistema.

Pós-condições: Usuário listou os produtos do pedido.

Cenário Principal:

1. usuário seleciona os dados do filtro do pedido;

2. usuário clica na opção “Confirmar”;

3. sistema valida os campos obrigatórios;

4. sistema verifica os dados no banco de dados;

55

5. sistema lista os pedidos;

6. usuário seleciona o pedido;

7. usuário clica na opção “Confirmar”;

8. sistema imprime na tela os produtos do pedido;

Cenário Alternativo:

No passo 3 durante caso os campos obrigatórios não forem preenchidos:

3.1. sistema apresenta a mensagem “Favor preencher todos os campos obrigatórios”.

3.2. sistema volta ao fluxo principal no passo 2.

No passo 4 durante a inclusão, edição ou exclusão caso ocorra algum erro durante a

operação:

4.1. sistema exibe a mensagem “Faltam dados no filtro”.

4.2. sistema retorna ao fluxo principal no passo 2.

No Quadro 11 apresenta-se o caso de uso "Manter os acessos do sistema".

Quadro 11 – Manter os acessos do sistema

Caso de uso - UC08

Ator: Administrador

Objetivo: O administrador acessa a tela de liberar acesso para associar um ou mais perfis de

acesso aos usuários.

Pré-condições: Administrador deve fazer login no sistema.

Pós-condições: Administrador editou, apagou ou cadastrou um perfil de acesso ao sistema.

Cenário Principal:

1. administrador seleciona usuário;

2. administrador configura o perfil;

3. administrador clica na opção “Confirmar”;

4. sistema persiste os dados no banco de dados;

5. sistema exibe a mensagem “Registro incluído com sucesso”.

Cenário Alternativo:

No passo 4 durante a inclusão, edição ou exclusão caso ocorra algum erro durante a

56

operação:

4.1. sistema exibe a mensagem “Erro durante a inclusão/edição/exclusão do registro”.

4.2. sistema retorna ao fluxo principal no passo 1.

No Quadro 12 apresenta-se o caso de uso "Buscar os pedido".

Quadro 12 – Buscar os pedido

Caso de uso - UC09

Ator: Shop Control

Objetivo: Buscar os produtos do pedido do cliente.

Pré-condições: usuário ter feito a venda pelo shop control.

Pós-condições: usuário listar os produtos do pedido

57

APÊNDICE B – Dicionário de dados

Este Apêndice apresenta o dicionário de dados das tabelas do sistema.

No Quadro 13 apresenta-se o dicionário de dados da tabela "distâncias".

Quadro 13 – Distância

Campo Descrição Tipo Tamanho Chave primária

codigo Código da distancia Int 4 Sim

cod_origem Código da cidade origem Bigint 8 Não

cod_destino Código da cidade destino Bigint 8 Não

distancia Distancia entre as duas cidades Bigint 8 Não

dt_rota Data criação da distancia Datetime Não

restricao Custo adicionais a ser considerado float 8 Não

No Quadro 14 apresenta-se o dicionário de dados da tabela "produtos".

Quadro 14 – Produtos

Campo Descrição Tipo Tamanho Chave primária

codigo Código do produto Bigint 8 Sim

nome Descrição do produto Varchar 150 Não

peso Peso do produto Float 8 Não

largura Largura do produto Float 8 Não

comprimento Comprimento do produto Float 8 Não

altura Altura do produto Float 8 Não

No Quadro 15 apresenta-se o dicionário de dados da tabela "usuários".

Quadro 15 – Usuários

Campo Descrição Tipo Tamanho Chave primária

codigo Código do usuário Bigint 8 Sim

nome Nome do usuário Varchar 250 Não

58

senha Senha do usuário Varchar 10 Não

fg_acesso Acesso ao sistema Bit 1 Não

fg_cadastro Acesso a tela de cadastro Bit 1 Não

fg_gerar_rota Acesso a tela de gerar rota Bit 1 Não

fg_listar_produtos Acesso a tela de listar

produtos do pedido

Bit 1

No Quadro 16 apresenta-se o dicionário de dados da tabela "veiculo".

Quadro 16 – Veículo

Campo Descrição Tipo Tamanho Chave primária

codigo Código do veiculo Bigint 8 Sim

veiculo Descrição do veiculo Varchar 150 Não

peso Peso máximo da carga float 8 Não

largura Largura do veiculo float 8 Não

comprimento Comprimento do veiculo float 8 Não

altura Altura máxima da carga float 8 Não

placa Placa do veiculo Varchar 50 Não

km Quilômetros faz por litro Bigint 8 Não

chassi Chassi do veiculo Bigint 8 Não

renavam Renavam do veiculo Bigint 8 Não

No Quadro 17 apresenta-se o dicionário de dados da tabela "entregas".

Quadro 17 – Entregas

Campo Descrição Tipo Tamanho Chave primária

codigo Código da entrega Bigint 8 Sim

id_caminhao Código do veiculo Bigint 8 Não

id_pedido Sequencia do pedido Bigint 8 Não

No Quadro 18 apresenta-se o dicionário de dados da tabela "roteiro".

59

Quadro 18 – Roteiro

Campo Descrição Tipo Tamanho Chave primária

id Código do roteiro Bigint 8 Sim

identrega Código da entrega Bigint 8 Não

idpedido Sequencia do pedido Bigint 8 Não

veiculo Código do veículo Bigint 8 Não

origem Código da origem Bigint 8 Não

destino Código do destino Bigint 8 Não

distancia Código da distancia Float 8 Não