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

 

  • Page:
    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.

  • Page:
    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.

  • Page:
    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

  • Page:
    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.

  • Page:
    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.

  • Page:
    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:

  • Page:
    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.

  • Page:
    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.

  • Page:
    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:

  1. Post do problema logístico para o endpoint https://api.maplink.global/planning/v1/problems;

  2. Checa o processamento até que a solução esteja disponível o qual pode ser feito obtendo o status através de callback;

  3. 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}.

Parâmetros e Exemplos