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 detalhadas 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 solução.
    • ShipmentModel: a estrutura de dados principal que contém remessas, veículos e restrições globais.
      • Shipment: uma tarefa com retiradas e entregas.
        • VisitRequest: o local e as restrições para 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 true, a solicitação será processada mesmo que o tempo limite seja definido como um valor grande (mais de 30 minutos), o que pode causar interrupções no servidor.
considerRoadTraffic booleano (true/false) Se true, usa informações de trânsito para o trajeto. Se for "false", usará apenas as velocidades da rede viária.
geodesicMetersPerSecond número Quando useGeodesicDistances é "true", 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 object (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 true, corresponderá a envios/veículos em rotas injetadas pelo label em vez do índice da 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 object (ShipmentModel) Obrigatório. O conjunto de veículos e envios a serem otimizados.
populatePolylines booleano (true/false) Se true, retorna polilinhas codificadas para rotas.
populateTransitionPolylines booleano (true/false) Se true, retorna 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 atuais 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 geodesicMetersPerSecond.
ShipmentModel
(parte de OptimizeToursRequest)
durationDistanceMatrices[] matriz de objetos (DurationDistanceMatrix) Especifica matrizes de duração e distância personalizadas usadas para o 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, desde o início mais cedo até o fim mais tarde do veículo.
globalEndTime Carimbo de data/hora Horário de término mais recente de qualquer evento no modelo.
globalStartTime Carimbo de data/hora Horário de início mais antigo de 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 ordenação entre remessas específicas.
shipments[] matriz de objetos (Shipment) A lista de envios a serem atendidos.
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 os envios.
Shipment
(parte de ShipmentModel)
allowedVehicleIndices[] matriz de números inteiros Índices dos veículos permitidos para realizar esse envio.
costsPerVehicle[] map (key: integer, value: number) Custos adicionais incorridos se um veículo específico fizer o transporte.
costsPerVehicleIndices[] matriz de números inteiros Índices dos veículos a que os valores costsPerVehicle se aplicam.
deliveries[] matriz de objetos (VisitRequest) Alternativas para entregar a remessa.
ignore booleano (true/false) Se for true, o frete será ignorado e não será usado 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 esta remessa.
penaltyCost número Custo se o envio não for atendido. Se não for definido, o envio será obrigatório.
pickups[] matriz de objetos (VisitRequest) Alternativas para retirar a encomenda.
pickupToDeliveryAbsoluteDetourLimit Duração O tempo máximo absoluto de desvio permitido entre a coleta e a entrega em comparação com o caminho direto.
pickupToDeliveryRelativeDetourLimit número O desvio relativo máximo permitido para o envio. Por exemplo, um valor de 2,0 significa que o tempo total pode ser no máximo duas vezes o tempo de viagem direta.
pickupToDeliveryTimeLimit Duração A duração máxima permitida desde o início da coleta 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 object (LatLng) O local geográfico de chegada como coordenadas de latitude/longitude.
arrivalWaypoint object (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 esta solicitação de visita específica for selecionada pelo solucionador.
departureLocation object (LatLng) O local geográfico de partida como coordenadas de latitude/longitude.
departureWaypoint object (Waypoint) O local de partida do veículo após a conclusão da 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) Demandas que especificam a mudança de carga nesta visita (por exemplo, -1 para deixar um pacote).
tags[] matriz de strings Tags anexadas a esta solicitação de visita. Eles são usados para calcular os tempos de viagem entre esta visita e outras usando o transitionAttributes.
timeWindows[] matriz de objetos (TimeWindow) Os períodos permitidos para a chegada a esta visita.
visitTypes[] matriz de strings Strings que descrevem o tipo de visita (por exemplo, "delivery", "installation". Usado para aplicar extraVisitDurationForVisitType do modelo de veículo.
Vehicle
(parte de ShipmentModel)
breakRule object (BreakRule) Define regras para intervalos (por exemplo, almoço obrigatório).
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 object (LatLng) O local geográfico de destino 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 terminar o trajeto.
endWaypoint object (Waypoint) Local de destino geográfico usando um ponto de referência (coordenadas ou ID do lugar).
extraVisitDurationForVisitType map (key: string, value: Duration) Adiciona duração extra às visitas com base no visitType delas.
fixedCost número Um custo fixo aplicado se o veículo for usado, independente 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 object (DistanceLimit) Um limite rígido ou flexível na distância total do trajeto do veículo.
routeDurationLimit object (DurationLimit) Um limite rígido ou flexível na duração total do trajeto do veículo.
routeModifiers object (RouteModifiers) Uma ou várias restrições, como evitar pedágios, rodovias ou balsas.
startLocation object (LatLng) O local geográfico de início 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 object (Waypoint) Local de partida geográfico usando um ponto de referência (coordenadas ou ID de lugar).
travelDurationLimit object (DurationLimit) Um limite rígido ou flexível na 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 tempos e distâncias de viagem.
unloadingPolicy enum (UnloadingPolicy) Define a ordem de descarga (por exemplo, LIFO ou LAST_IN_FIRST_OUT).
usedIfRouteIsEmpty booleano (true/false) Se true, o veículo será considerado usado mesmo sem fretes. Ela incorre em custos fixos e viaja entre os locais de início e de término.

Corpo da resposta

A estrutura de dados do corpo da resposta.

O corpo da resposta inclui os seguintes elementos, que sã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: o custo geral e as estatísticas de execução da solução.
    • ShipmentRoute: a sequência de visitas e o trajeto atribuídos a um único veículo.
      • Visit: uma parada em uma rota para fazer uma coleta ou entrega.
      • Transition: o trajeto e a duração da viagem entre duas paradas do trajeto.
      • 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 object (Metrics) Métricas agregadas da 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, independente do uso.
skippedShipments[] matriz de objetos (SkippedShipment) A lista de envios que foram ignorados (não atendidos), com os motivos.
validationErrors[] matriz de objetos (OptimizeToursValidationError) Uma lista de erros de validação encontrados no modelo de entrada. Esse campo é preenchido se o solvingMode foi definido como VALIDATE_ONLY ou se ocorreram erros durante a resolução.
Metrics
(parte de OptimizeToursResponse)
aggregatedRouteMetrics object (AggregatedMetrics) Estatísticas agregadas em todas as rotas, como distância total percorrida, duração total e tempos de espera.
costs map (key: string, value: number) 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 antigo 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 envios obrigatórios que foram ignorados.
totalCost número O custo total da solução, somando todos os custos de rota e penalidades de envio ignorado.
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 dos intervalos em todas as rotas.
costs map (key: string, value: number) 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 antigo 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 envios obrigatórios que foram ignorados.
totalCost número O custo total da solução, somando todos os custos de rota e penalidades de envio ignorado.
totalDuration Duração A duração total de todos os trajetos (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 todas as rotas.
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 todas as rotas.
ShipmentRoute
(parte de OptimizeToursResponse)
breaks[] matriz de objetos (Break) Uma lista de intervalos feitos pelo veículo durante o trajeto.
hasTrafficInfeasibilities booleano (true/false) Indica se a rota tem alguma inviabilidade relacionada ao trânsito.
metrics object (AggregatedMetrics) Métricas específicas dessa rota, como a distância total e a duração do trajeto.
routeCosts map (key: string, value: number) Um detalhamento dos custos para essa rota. As chaves são tipos de custo (por exemplo, "cost_per_hour"), e os valores são os montantes.
routePolyline object (EncodedPolyline) A polilinha codificada que representa o caminho completo do trajeto geograficamente.
routeTotalCost número O custo total do trajeto, soma de todos os custos no mapa routeCosts.
transitions[] matriz de objetos (Transition) Uma lista ordenada de transições (trechos da 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 realiza 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 começa 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 true, essa visita é uma retirada. Se for "false", será uma entrega.
loadDemands map (key: string, value: Load) As demandas de carga atendidas por esta 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 do envio, copiado do 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 coleta ou entrega da remessa a que esta visita corresponde.
Transition
(parte de ShipmentRoute)
breakDuration Duração A duração dos intervalos feitos durante essa transição.
delayDuration Duração A duração do atraso ocorrido durante essa transição (por exemplo, chegar mais cedo e esperar por um período).
routePolyline object (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 true, indica que as informações 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, com chave pelo tipo de carga (por exemplo, "weight").
waitDuration Duração A duração do tempo de espera antes do início da próxima visita.