Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

A Planning API é responsável por retornar a ordenação dos pontos logísticos da forma mais otimizada possível, mas podemos utilizá-la com a Trip API para obter também a melhor rota entre os pontos.

Neste exemplo, temos uma requisição para Planning API com integração a Trip API para resolver um problema logístico de 2 veículos e 10 operações, partindo do centro de distribuição.


Parâmetros utilizados:

Planning:

"optimizationProfile": "BRAZIL46". Para essa simulação, foi usado o perfil de otimização BRAZIL46. Para os tipos disponíveis, verifique em optimizationProfile.

"tripsProfile": "MAPLINKBR". Utilizamos o perfil que contém o mapa mais atualizado e configurado para utilizar o modo de cálculo para utilizar vias mais rápidas.

"startDate": "1620298800000". Horário de início de referência para o cálculo da otimização logística.

"legislationProfiles": Parâmetro com o nome do perfil que se aplica ao tempo de direção, duração de um dia de trabalho ou intervalo. Neste caso não há nenhuma característica definida.

"logisticConstraints": Restrições logísticas usadas para determinar o tempo fixo de carregamento e descarregamento da carga. Nesse exemplo, foi usado 1800 segundos (30 minutos) para o tempo de carregamento do caminhão e 300 segundos (5 minutos) para o descarregamento na entrega.

"products": Nome para referenciar o produto.

"sites": Localização onde ocorrerão as atividades de entregas, com definição do nome e a restrição logística com o tempo de entrega.

"depots": Localização do centro de distribuição, com definição do nome e a restrição logística com o tempo de carregamento do caminhão.

"vehicleTypes" : Neste parâmetro especificamos a capacidade de carga dos veículos da frota, como volume e peso máximos e o tamanho dentro de um intervalo de 1 a 9, e o nome da tipologia.

"vehicles": Foram especificados os veículos que estão disponíveis para executar a rota. Se define também o período de trabalho e o perfil de legislação aplicável ao motorista. Foi definido que os veículos sairão e retornarão ao centro de distribuição.

"operations" : São as características das operações de entregas, definindo o local, peso e volume, produto, tipo de atividade, centro de distribuição da origem do produto e o horário que o cliente irá receber. 

 Trip:

"calculationMode" : Foi definido que o módulo de cálculo da rota seria o mais rápido (“THE FASTEST”).

"crossedBorders": Indica o retorno das cidades que a rota cruzará.

"toll": Indica que a rota deverá informar o cálculo do pedágio.

"freight": Foram definidos os parâmetros que retornam os cálculos referente ao Piso Mínimo do Frete.

Request:

{
    "optimizationProfile": "BRAZIL46",
    "tripsProfile": "MAPLINKBR",
    "startDate": 1620298800000,
    "legislationProfiles": [
        {
            "name": "DEFAULT"
        }
    ],
    "logisticConstraints": [
        {
            "name": "P1Pickup",
            "siteLoadingFixedTime": 1800
        },
        {
            "name": "P1Delivery",
            "siteUnloadingFixedTime": 300
        }
    ],
    "products": [
        {
            "name": "DEFAULT"
        }
    ],
    "sites": [
        {
            "name": "Cliente1",
            "coordinates": {
                "latitude": -23.507608,
                "longitude": -46.587145
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente2",
            "coordinates": {
                "latitude": -23.621059,
                "longitude": -46.756193
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente3",
            "coordinates": {
                "latitude": -23.44935,
                "longitude": -46.588822
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente4",
            "coordinates": {
                "latitude": -23.751801,
                "longitude": -46.698468
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente5",
            "coordinates": {
                "latitude": -23.520565,
                "longitude": -46.508478
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente6",
            "coordinates": {
                "latitude": -23.506592,
                "longitude": -46.524707
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente7",
            "coordinates": {
                "latitude": -23.646993,
                "longitude": -46.779077
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente8",
            "coordinates": {
                "latitude": -23.373816,
                "longitude": -46.57777
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente9",
            "coordinates": {
                "latitude": -23.476158,
                "longitude": -46.640241
            },
            "logisticConstraints": "P1Delivery"
        },
        {
            "name": "Cliente10",
            "coordinates": {
                "latitude": -23.761565,
                "longitude": -46.655746
            },
            "logisticConstraints": "P1Delivery"
        }
    ],
    "depots": [
        {
            "name": "CD",
            "coordinates": {
                "latitude": -23.503939,
                "longitude": -46.498419
            },
            "logisticConstraints": "P1Pickup"
        }
    ],
    "vehicleTypes": [
        {
            "name": "3/4",
            "maxWeight": 15000,
            "maxVolume": 30,
            "size": 1
        }
    ],
    "vehicles": [
        {
            "name": "3/4_1",
            "vehicleType": "3/4",
            "legislationProfile": "DEFAULT",
            "availablePeriods": [
                {
                    "departureSite": "CD",
                    "arrivalSite": "CD",
                    "maxRoutesNumber": 1,
                    "timeWindow": {
                        "start": 1620298800000,
                        "end": 1620334800000
                    }
                }
            ]
        },
        {
            "name": "3/4_2",
            "vehicleType": "3/4",
            "legislationProfile": "DEFAULT",
            "availablePeriods": [
                {
                    "departureSite": "CD",
                    "arrivalSite": "CD",
                    "maxRoutesNumber": 1,
                    "timeWindow": {
                        "start": 1620298800000,
                        "end": 1620334800000
                    }
                }
            ]
        }
    ],
    "operations": [
        {
            "id": "P1",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente1",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P2",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente2",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P3",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente3",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P4",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente4",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P5",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente4",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P6",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente6",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P7",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente7",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P8",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente8",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P9",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente9",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        },
        {
            "id": "P10",
            "weight": 2,
            "volume": 2,
            "product": "DEFAULT",
            "type": "DELIVERY",
            "depotSite": "CD",
            "customerSite": "Cliente10",
            "customerTimeWindows": [
                {
                    "start": 1620302400000,
                    "end": 1620309600000
                }
            ]
        }
    ],
    "trip": {
        "calculationMode": "THE_FASTEST",
        "crossedBorders": {
            "level": "CITY"
        },
        "toll": {
            "vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES"
        },
        "freight": {
            "operationType": [
                "A",
                "D"
            ],
            "goodsType": [
                "GRANEL_LIQUIDO",
                "GRANEL_SOLIDO"
            ],
            "axis": [
                "2",
                "4"
            ],
            "roundTrip": false,
            "backEmpty": false,
            "otherCosts": [
                {
                    "name": "ICMS",
                    "type": "PERCENT",
                    "value": "5"
                },
                {
                    "name": "Lucro",
                    "type": "PERCENT",
                    "value": "20"
                },
                {
                    "name": "TaxaFixa",
                    "type": "FIXED",
                    "value": "500"
                }
            ],
            "date": "2021-10-02"
        }
    }
}


Solução do problema logístico

A resposta da API retornará no formato json o melhor sequenciamento das operações de entrega para cada veículo. A resposta completa pode ser obtida no arquivo em anexo.

A resposta retorna os seguintes indicadores globais:

Indicador

Resultado

Tempo total de serviço

01:45:00

Tempo total de entrega

00:45:00

Tempo total do dia de trabalho

06:16:18

Tempo total de trabalho noturno

00:00:00

Tempo total de descarregamento

00:00:00

Tempo total de trabalho

06:16:18

Tempo total de coleta

00:00:00

Número de janelas de horário

2

Tempo total de condução

04:31:18

Tempo total de carregamento

01:00:00

Tempo total

06:16:18

Distância total

191.61 km

Taxa de ocupação média em Volume

33.33

Taxa de ocupação média em Peso

0.07

Número de rejeições

0

Tempo total de espera

00:00:00

Tempo total de descanso

00:00:00

Número de rotas

2

A resposta também retorna a sequência temporal de atividades de cada veículo. Esse é um exemplo do veículo de nome “3/4_1”:

VEÍCULO

ATIVIDADE

ID DO LOCAL DE PARTIDA

ID DO LOCAL DE RETORNO

DISTÂNCIA

DURAÇÃO NOMINAL

JANELA DE HORÁRIO INICIAL

JANELA DE HORÁRIO FINAL

3/4_1

ROUTE_START

CD

06/05/21 08:00

06/05/21 08:00

3/4_1

LOADING

CD

06/05/21 08:00

06/05/21 08:30

3/4_1

DRIVING

CD

Cliente2

37.96 km

00:50:38

06/05/21 08:30

06/05/21 09:20

3/4_1

DELIVERY

Cliente2

06/05/21 09:20

06/05/21 09:25

3/4_1

DRIVING

Cliente2

Cliente7

4.77 km

00:07:27

06/05/21 09:25

06/05/21 09:33

3/4_1

DELIVERY

Cliente7

06/05/21 09:33

06/05/21 09:38

3/4_1

DRIVING

Cliente7

Cliente10

26.91 km

00:35:36

06/05/21 09:38

06/05/21 10:13

3/4_1

DELIVERY

Cliente10

06/05/21 10:13

06/05/21 10:18

3/4_1

DRIVING

Cliente10

Cliente4

5.47 km

00:10:25

06/05/21 10:18

06/05/21 10:29

3/4_1

DELIVERY

Cliente4

06/05/21 10:29

06/05/21 10:34

3/4_1

DRIVING

Cliente4

CD

45.25 km

01:01:02

06/05/21 10:34

06/05/21 11:35

3/4_1

ROUTE_END

CD

06/05/21 11:35

06/05/21 11:35

  • No labels