Lista de parâmetros

A página a seguir contém tabelas de parâmetros em ordem alfabética para os seguintes componentes do método optimizeTours da API Route Optimization:

Essas tabelas de parâmetros apenas listam e descrevem brevemente os objetos de nível superior e os principais parâmetros para facilitar a descoberta. Para uma lista completa com descrições completas e todos os parâmetros aninhados, consulte a documentação de referência da API.

Corpo da solicitação

A estrutura de dados do corpo da solicitação.

O corpo da solicitação inclui os seguintes elementos, que são ilustrados no diagrama à direita e listados na tabela abaixo:

  • OptimizeToursRequest: o objeto de solicitação de nível superior que contém o modelo e os parâmetros de resolução.
    • ShipmentModel: a estrutura de dados principal que contém remessas, veículos e restrições globais.
      • Shipment: uma tarefa com coletas e entregas.
        • VisitRequest: o local e as restrições de uma retirada ou entrega.
      • Vehicle: um veículo disponível para realizar envios.
Com filhos Parâmetro Tipo de propriedade Descrição
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk booleano (true/false) Se for true, a solicitação será processada mesmo que o tempo limite esteja definido como um valor grande (mais de 30 minutos) que possa causar interrupções no servidor.
considerRoadTraffic booleano (true/false) Se for true, usa dados de trânsito para o trajeto. Se for falso, usa apenas as velocidades da rede rodoviária.
geodesicMetersPerSecond número Quando useGeodesicDistances é verdadeiro, essa velocidade é usada para calcular os tempos de viagem.
injectedFirstSolutionRoutes[] matriz de objetos (ShipmentRoute) Rotas de uma solução anterior para iniciar a otimização.
injectedSolutionConstraint objeto (InjectedSolutionConstraint) Restringe a solução para que seja semelhante às rotas atuais, especificando quais propriedades precisam ser preservadas e quais podem ser flexibilizadas.
interpretInjectedSolutionsUsingLabels booleano (true/false) Se for true, faz a correspondência de remessas/veículos em rotas injetadas pelo label em vez do índice de matriz.
label string Rótulo arbitrário para identificar a solicitação, retornado na resposta.
maxValidationErrors número inteiro Especifica o número máximo de erros de validação a serem retornados. Se não for especificado, um limite padrão será aplicado.
model objeto (ShipmentModel) Obrigatório. O conjunto de veículos e remessas a serem otimizados.
populatePolylines booleano (true/false) Se for true, retorna polilinhas codificadas para rotas.
populateTransitionPolylines booleano (true/false) Se for true, vai retornar polilinhas codificadas para transições individuais entre visitas.
refreshDetailsRoutes[] matriz de objetos (ShipmentRoute) Uma lista de rotas a serem atualizadas. Isso recalcula polilinhas, durações e distâncias para rotas existentes sem modificar a sequência de visitas.
searchMode enum (SearchMode) RETURN_FAST (resultados rápidos) ou CONSUME_ALL_AVAILABLE_TIME (melhor qualidade dentro do tempo limite).
solvingMode enum (SolvingMode) DEFAULT_SOLVE (padrão) ou VALIDATE_ONLY para validar o modelo sem resolver.
timeout Duração A duração máxima que o solucionador deve ser executado (por exemplo, "30s", "300s").
useGeodesicDistances booleano (true/false) Se for true, as distâncias e os tempos de viagem serão calculados usando distâncias geodésicas (em linha reta) e a velocidade de geodesicMetersPerSecond.
ShipmentModel
(Parte de OptimizeToursRequest)
durationDistanceMatrices[] matriz de objetos (DurationDistanceMatrix) Especifica matrizes personalizadas de duração e matriz de distância usadas para roteamento entre locais.
durationDistanceMatrixDstTags[] matriz de strings Tags que definem os destinos (colunas) para as matrizes de duração e distância personalizadas.
durationDistanceMatrixSrcTags[] matriz de strings Tags que definem as origens (linhas) para as matrizes de duração e distância personalizadas.
globalDurationCostPerHour número Custo por hora do período global da rota, do início mais cedo ao fim mais tarde do veículo.
globalEndTime Carimbo de data/hora Horário de término mais recente para qualquer evento no modelo.
globalStartTime Carimbo de data/hora Horário de início mais cedo para qualquer evento no modelo.
maxActiveVehicles número inteiro Número máximo de veículos que podem estar ativos na solução.
precedenceRules[] matriz de objetos (PrecedenceRule) Regras que definem restrições de pedidos entre remessas específicas.
shipments[] matriz de objetos (Shipment) A lista de remessas a serem atendidas.
shipmentTypeIncompatibilities[] matriz de objetos (ShipmentTypeIncompatibility) Regras que impedem que remessas de determinados tipos sejam atendidas pelo mesmo veículo.
shipmentTypeRequirements[] matriz de objetos (ShipmentTypeRequirement) Regras que exigem que remessas de determinados tipos sejam atendidas pelo mesmo veículo.
transitionAttributes[] matriz de objetos (TransitionAttributes) Especifica custos extras, atrasos e limites de distância para transições entre visitas com tags específicas.
vehicles[] matriz de objetos (Vehicle) A lista de veículos disponíveis para realizar as entregas.
Shipment
(Parte de ShipmentModel)
allowedVehicleIndices[] matriz de números inteiros Índices de veículos autorizados a realizar essa entrega.
costsPerVehicle[] mapa (chave: número inteiro, valor: número) Custos adicionais incorridos se um veículo específico atender a essa remessa.
costsPerVehicleIndices[] matriz de números inteiros Índices de veículos aos quais os valores de costsPerVehicle se aplicam.
deliveries[] matriz de objetos (VisitRequest) Alternativas para entregar a remessa.
ignore booleano (true/false) Se for true, a remessa será ignorada e não será usada na otimização.
label string Rótulo definido pelo usuário para identificar a remessa, retornado na resposta.
loadDemands map (key: string, value: Load) A capacidade necessária (por exemplo, peso, volume) para transportar essa remessa.
penaltyCost número Custo se a remessa não for atendida. Se não for definida, a remessa será obrigatória.
pickups[] matriz de objetos (VisitRequest) Alternativas para retirar o envio.
pickupToDeliveryAbsoluteDetourLimit Duração O tempo máximo absoluto de desvio permitido entre a retirada e a entrega em comparação com o caminho direto.
pickupToDeliveryRelativeDetourLimit número O desvio relativo máximo permitido para a remessa (por exemplo, um valor de 2,0 significa que o tempo total pode ser no máximo duas vezes o tempo de viagem direto).
pickupToDeliveryTimeLimit Duração A duração máxima permitida do início da retirada até o início da entrega.
shipmentType string Classificação de tipo usada para regras de incompatibilidade e requisitos.
VisitRequest
(um componente de pickups e deliveries em Shipment)
arrivalLocation objeto (LatLng) O local geográfico de chegada como coordenadas de latitude/longitude.
arrivalWaypoint objeto (Waypoint) O local em que o veículo chega para realizar a visita. Definido por coordenadas ou um ID de lugar.
cost número O custo incorrido se essa solicitação de visita específica for selecionada pelo solucionador.
departureLocation objeto (LatLng) O local de partida geográfico como coordenadas de latitude/longitude.
departureWaypoint objeto (Waypoint) O local de onde o veículo sai após concluir a visita. Se omitido, será considerado o mesmo que arrivalWaypoint.
duration Duração A duração da visita (tempo de serviço), por exemplo, quanto tempo leva para carregar/descarregar.
label string Rótulo definido pelo usuário para essa solicitação de visita específica, retornado na resposta.
loadDemands map (key: string, value: Load) Exige a especificação da mudança de carga nessa visita (por exemplo, -1 para entregar um pacote).
tags[] matriz de strings Tags anexadas a essa solicitação de visita. Eles são usados para calcular os tempos de viagem entre essa visita e outras usando transitionAttributes.
timeWindows[] matriz de objetos (TimeWindow) As janelas de tempo permitidas para a chegada nesta visita.
visitTypes[] matriz de strings Strings que descrevem o tipo de visita (por exemplo, "entrega", "instalação"). Usado para aplicar extraVisitDurationForVisitType do modelo de veículo.
Vehicle
(Parte de ShipmentModel)
breakRule objeto (BreakRule) Define regras para intervalos (por exemplo, intervalo obrigatório para almoço).
costPerHour número Custo por hora da duração total do trajeto.
costPerKilometer número Custo por quilômetro percorrido.
costPerTraveledHour número Custo por hora enquanto o veículo está em movimento.
endLocation objeto (LatLng) O local de término geográfico como coordenadas de latitude/longitude.
endTags[] matriz de strings Tags que definem o estado final do veículo, usadas para atributos de transição.
endTimeWindows[] matriz de objetos (TimeWindow) Janelas permitidas para o veículo encerrar o trajeto.
endWaypoint objeto (Waypoint) Local de destino geográfico usando um waypoint (coordenadas ou ID de lugar).
extraVisitDurationForVisitType map (key: string, value: Duration) Adiciona duração extra às visitas com base no visitType.
fixedCost número Um custo fixo que é aplicado se o veículo for usado, independentemente da distância ou duração do trajeto.
ignore booleano (true/false) Se for true, o veículo será ignorado e não será usado na otimização.
label string Rótulo definido pelo usuário para o veículo, retornado na resposta.
loadLimits map (key: string, value: LoadLimit) Capacidades do veículo (por exemplo, peso máximo, volume máximo).
routeDistanceLimit objeto (DistanceLimit) Um limite rígido ou flexível para a distância total do trajeto do veículo.
routeDurationLimit objeto (DurationLimit) Um limite rígido ou flexível para a duração total do trajeto do veículo.
routeModifiers objeto (RouteModifiers) Uma ou várias restrições, como evitar pedágios, rodovias ou balsas.
startLocation objeto (LatLng) O local de início geográfico como coordenadas de latitude/longitude.
startTags[] matriz de strings Tags que definem o estado inicial do veículo, usadas para atributos de transição.
startTimeWindows[] matriz de objetos (TimeWindow) Janelas permitidas para o veículo iniciar o trajeto.
startWaypoint objeto (Waypoint) Local de início geográfico usando um waypoint (coordenadas ou ID de lugar).
travelDurationLimit objeto (DurationLimit) Um limite rígido ou flexível para a duração total da viagem (excluindo o tempo de espera/serviço) do veículo.
travelDurationMultiple número Multiplicador aplicado aos tempos de viagem (por exemplo, 1,5 torna a viagem 50% mais lenta).
travelMode enum (TravelMode) O meio de transporte (por exemplo, DRIVING, WALKING). Afeta os tempos e as distâncias de viagem.
unloadingPolicy enum (UnloadingPolicy) Define a ordem de descarregamento (por exemplo, LIFO ou LAST_IN_FIRST_OUT).
usedIfRouteIsEmpty booleano (true/false) Se for true, o veículo será considerado usado mesmo sem remessas. Ele tem custos fixos e se desloca entre os locais de início e término.

Corpo da resposta

A estrutura de dados do corpo da resposta.

O corpo da resposta inclui os seguintes elementos, que estão ilustrados no diagrama à direita e listados na tabela abaixo:

  • OptimizeToursResponse: o objeto de resposta de nível superior que contém as rotas e métricas otimizadas.
    • Metrics: as estatísticas gerais de custo e execução da solução.
    • ShipmentRoute: a sequência de visitas e o trajeto de viagem atribuídos a um único veículo.
      • Visit: uma parada em um trajeto para realizar uma retirada ou entrega.
      • Transition: o trajeto e a duração entre duas paradas.
      • AggregatedMetrics: os totais somados de duração, distância e outras métricas. Esse elemento pode estar presente em Metrics e ShipmentRoute.
Com filhos Parâmetro Tipo de propriedade Descrição
OptimizeToursResponse metrics objeto (Metrics) Métricas agregadas para a solução, incluindo custo total, distância total, duração total e contagens de uso do veículo.
requestLabel string O rótulo copiado do campo label da solicitação. Usado para correlacionar a resposta com a solicitação original.
routes[] matriz de objetos (ShipmentRoute) A lista de rotas calculadas para cada veículo. Contém uma entrada para cada veículo, independentemente do uso.
skippedShipments[] matriz de objetos (SkippedShipment) A lista de remessas que foram ignoradas (não atendidas), junto com os motivos.
validationErrors[] matriz de objetos (OptimizeToursValidationError) Uma lista de erros de validação encontrados no modelo de entrada. Isso será preenchido se solvingMode tiver sido definido como VALIDATE_ONLY ou se ocorrerem erros durante a resolução.
Metrics
(Parte de OptimizeToursResponse)
aggregatedRouteMetrics objeto (AggregatedMetrics) Estatísticas agregadas de todos os trajetos, como distância total, duração total e tempos de espera.
costs mapa (chave: string, valor: número) Um detalhamento dos custos por tipo (por exemplo, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
earliestVehicleStartTime Carimbo de data/hora O horário de início mais cedo entre todos os veículos usados.
latestVehicleEndTime Carimbo de data/hora O horário de término mais recente entre todos os veículos usados.
skippedMandatoryShipmentCount número inteiro O número de remessas obrigatórias que foram ignoradas.
totalCost número O custo total da solução, somando todos os custos de rota e penalidades de remessa ignorada.
usedVehicleCount número inteiro O número de veículos usados na solução.
AggregatedMetrics
(Parte de Metrics e ShipmentRoute)
breakDuration Duração A duração total das pausas feitas em todos os trajetos.
costs mapa (chave: string, valor: número) Um detalhamento dos custos por tipo (por exemplo, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
delayDuration Duração A duração total do atraso em todas as rotas.
earliestVehicleStartTime Carimbo de data/hora O horário de início mais cedo entre todos os veículos usados.
latestVehicleEndTime Carimbo de data/hora O horário de término mais recente entre todos os veículos usados.
maxLoads map (key: string, value: VehicleLoad) A carga máxima transportada por qualquer veículo em qualquer ponto da solução, identificada pelo tipo de carga.
performedShipmentCount número inteiro O número total de entregas realizadas em todos os veículos.
skippedMandatoryShipmentCount número inteiro O número de remessas obrigatórias que foram ignoradas.
totalCost número O custo total da solução, somando todos os custos de rota e penalidades de remessa ignorada.
totalDuration Duração A duração total de todas as rotas (viagem + espera + atraso + pausa + visita).
travelDistanceMeters número A distância total percorrida em metros em todas as rotas.
travelDuration Duração A duração total da viagem em todos os trajetos.
usedVehicleCount número inteiro O número de veículos usados na solução.
visitDuration Duração A duração total gasta realizando visitas (carregamento/descarregamento) em todas as rotas.
waitDuration Duração A duração total da espera em todos os trajetos.
ShipmentRoute
(Parte de OptimizeToursResponse)
breaks[] matriz de objetos (Break) Uma lista de pausas feitas pelo veículo durante o trajeto.
hasTrafficInfeasibilities booleano (true/false) Indica se a rota tem alguma inviabilidade relacionada ao trânsito.
metrics objeto (AggregatedMetrics) Métricas específicas para essa rota, como a distância total e a duração do trajeto.
routeCosts mapa (chave: string, valor: número) Um detalhamento dos custos dessa rota. As chaves são tipos de custo (por exemplo, "cost_per_hour"), e os valores são os valores.
routePolyline objeto (EncodedPolyline) A polilinha codificada que representa o caminho completo do trajeto geograficamente.
routeTotalCost número O custo total do trajeto, que é a soma de todos os custos no mapa routeCosts.
transitions[] matriz de objetos (Transition) Uma lista ordenada de transições (trechos de viagem) que conectam as visitas.
vehicleEndTime Carimbo de data/hora O horário em que o veículo termina o trajeto.
vehicleIndex número inteiro O índice do veículo na origem ShipmentModel que faz esse trajeto.
vehicleLabel string O rótulo definido pelo usuário do veículo, copiado do modelo de solicitação.
vehicleStartTime Carimbo de data/hora O horário em que o veículo inicia o trajeto.
visits[] matriz de objetos (Visit) A sequência ordenada de visitas (coletas e entregas) realizadas pelo veículo nesse trajeto.
Visit
(Parte de ShipmentRoute)
detour Duração O tempo extra de desvio incorrido por essa visita em comparação com o caminho direto entre as visitas anterior e seguinte.
isPickup booleano (true/false) Se for true, a visita é uma retirada. Se for falso, é uma entrega.
loadDemands map (key: string, value: Load) As demandas de carga atendidas por essa visita (por exemplo, -1 para uma entrega). Esta é uma cópia das demandas de carga de VisitRequest correspondentes.
shipmentIndex número inteiro O índice do campo Shipment no modelo de origem que essa visita atende.
shipmentLabel string O rótulo da remessa, copiado de ShipmentModel.
startTime Carimbo de data/hora O horário em que a visita está programada para começar.
visitLabel string O rótulo da solicitação de visita, copiado do VisitRequest no modelo.
visitRequestIndex número inteiro O índice do VisitRequest na lista de retirada ou entrega da remessa a que essa visita corresponde.
Transition
(Parte de ShipmentRoute)
breakDuration Duração A duração das pausas feitas durante essa transição.
delayDuration Duração A duração do atraso incorrido durante essa transição (por exemplo, chegar cedo e esperar por uma janela de tempo).
routePolyline objeto (EncodedPolyline) A polilinha codificada que representa o caminho dessa transição específica.
routeToken string Um token opaco que pode ser transmitido ao SDK Navigation do Google para reconstruir o trajeto durante a navegação.
startTime Carimbo de data/hora O horário de início dessa transição.
totalDuration Duração A duração total da transição, incluindo viagem, espera, pausas e atrasos.
trafficInfoUnavailable booleano (true/false) Se for true, indica que os dados de trânsito não estavam disponíveis para essa transição.
travelDistanceMeters número A distância percorrida durante essa transição, em metros.
travelDuration Duração A duração da viagem durante essa transição.
vehicleLoads map (key: string, value: VehicleLoad) A carga transportada pelo veículo durante essa transição, identificada pelo tipo de carga (por exemplo, "peso").
waitDuration Duração A duração da espera antes do início da próxima visita.