1. Planning Antiga
Introdução
A API Planning é um web service que usa requisição HTTP para retornar JSON com o planejamento logístico do melhor sequenciamento das operações que serão realizadas por cada veículo, apresentando a otimização logística baseada na frota de veículos e características das operações.
Usado para os cenários de multiple vehicle routing problem (VRP) e traveling salesman problem (TSP).
Obtendo a otimização logística através da Planning API
Com a Planning API você pode:
resolver problemas logísticos com até 200 operações e múltiplos veículos;
considerar janela de horário dos clientes para entrega dos produtos;
analisar viagens de múltiplos dias; entre outros.
A API retorna de modo eficiente a otimização logística com sequenciamento das operações. É possível configurar as principais características das que mais importam para a jornada logística de forma que o algoritmo na Planning API irá levar em consideração para a otimização.
Principais Funcionalidades:
Permite realizar planejamento logístico com até 200 pontos de parada.
Modo de cálculo shortest/ fastest para otimização das operações na rota.
Permite definir o tipo de veículo e capacidade do peso e volume.
Horário inicial / final de trabalho do motorista.
Local de partida e retorno do motorista.
Permite características do motorista como tempo de descanso; tempo de direção contínuo; tempo de trabalho.
Permite realizar planejamento logístico para um dia ou múltiplos dias.
Permite definir a quantidade de rotas que o motorista faz.
Permite múltiplos depósitos em rota
Permite definir o depósito de origem para a entrega do produto.
Regras logísticas como:
Tempo de carregamento.
Tempo de descarregamento.
Configura a janela de horário das entregas
Prioridade das entregas
Permite definir um veículo pré-alocado para realizar uma operação.
Considera o volume/peso do produto para o melhor veículo conforme sua capacidade.
Permite definir produtos e pacotes para serem separados por tipo de veículo.
Permite realizar operações do tipo entrega ou coleta.
Permite definir zonas logísticas para associar áreas de atendimento dos veículos e operações.
Apresenta a solução logística com o melhor sequenciamento das operações para cada veículo e por rota:
Apresenta a sequência temporal das operações do veículo por rota.
Detalhe das atividades e operações de cada veículo.
Apresenta o resumo da rota do veículo com a hora inicial e final, local de partida e retorno.
Apresenta indicadores gerais da frota e do planejamento logístico como:
Tempo total de serviço;
Tempo total de atividade de entrega/coleta;
Tempo de trabalho durante o dia ou durante a noite;
Tempo total de trabalho;
Tempo total de direção dos motoristas;
Tempo total de carregamento;
Tempo estimado total para a realização de todas as atividades;
Distância total;
Média de ocupação em volume e peso dos veículos;
Operações rejeitadas;
Tempo total de espera e descanso.
Principais Conceitos e definições
-
depots* —
O parâmetro depots é um array de objetos, onde cada objeto representará um depósito ou centro de distribuição. Pode ser também uma loja física de onde o produto sairá para a entrega.
Os depots serão referenciados nas operações como origem do produto para entrega, ou como destino, caso seja uma operação de coleta.
Na requisição é possível definir um ou mais depots para atender as operações.
-
legislationProfiles* —
O parâmetro legislationProfiles é um array de objetos, onde cada objeto representará um perfil de legislação. Cada perfil de legislação definirá as características da jornada de trabalho do motorista, como por exemplo o tempo de direção contínua e hora para intervalo de almoço.
Pode ser criado um ou mais perfis de legislação conforme características da operação, por exemplo, para viagens de mais de um dia.
-
logisticConstraints* —
O parâmetro logisticConstraints é um array de objetos, onde cada objeto representará um grupo de regras logísticas para serem consideradas no planejamento e otimização, como tempo de carga e descarga por exemplo.
Cada regra logística deverá ser associada aos Depot ou Site ao qual ela se aplica.
Parâmetros obrigatórios
-
logisticZones —
O parâmetro logisticZones é um array de objetos, onde cada objeto representará uma zona logística que poderá ser assocido aos depots, sites e vehices para definir a relação entre eles.
Por exemplo, caso seja definido uma zona logística para um veículo, ele irá atender apenas aos sites que pertençam a mesma zona logística.
-
operations* —
O parâmetro operations é um array de objetos, onde cada objeto representará uma operação a ser resolvida no planejamento logístico. Cada objeto irá conter as características da operação, como o tipo (entrega ou coleta), janela horária do cliente, peso e volume da entrega, entre outros.
É recomendado ter por requisição até no máximo 200 operações para um melhor desempenho da API.
-
products* —
O parâmetro products é um array de objetos, onde cada objeto representará um produto a ser transportados pelos veículos. Cada produto deverá ser associado a uma operação.
Também é possível definir pacotes, ou packagings, para associar os produtos a um tipo de veículo específico.
Abaixo os parâmetros disponíveis em products:
-
sites* —
O parâmetro sites é um array de objetos, onde cada objeto representará um local em que deverá ser realizado uma operação de entrega ou de coleta. Devem ser referenciados em
operations
, para associar o local com a operação.Também podem ser referenciados em
vehicles
para definir o local de partida e retorno do motorista. -
vehicles* —
O parâmetro vehicles é um array de objetos, onde cada objeto representará um veículo disponível para realizar as atividades das operações, que compõe a frota para atender o planejamento logístico.
Em cada objeto em vehicles será definido o local de origem e retorno e também o horário disponível para realizar as operações.
-
vehicleTypes* —
O parâmetro vehicleTypes é um array de objetos, onde cada objeto representará um tipo de veículo. Tipos de veículos são as características dos veículos que serão usados no planejamento, como peso e volume suportados, por exemplo.
A API verificará a capacidade dos veículos para distribuir os pesos e volumes dos produtos de cada operação para a melhor otimização logística.
Antes de começar
Antes de começar a usar a Planning API, é necessário utilizar a Authentication API para obter o bearer token.
A Planning API trabalha em 3 passos:
Post do problema logístico para o endpoint https://api.maplink.global/planning/v1/problems;
Checa o processamento até que a solução esteja disponível o qual pode ser feito obtendo o status através de callback;
Obtém a solução do problema logístico com a otimização das operações e com a melhor ordem de execução para cada veículo no endpoint https://api.maplink.global/planning/v1/solutions/{jobid}.