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
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
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 emMetricseShipmentRoute.
| 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. |