- Solicitação HTTP
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Permissões do IAM
Envia um OptimizeToursRequest
contendo um ShipmentModel
e retorna um OptimizeToursResponse
contendo ShipmentRoute
s, que são um conjunto de trajetos a serem realizados por veículos, minimizando o custo geral.
Um modelo de ShipmentModel
consiste principalmente em Shipment
s que precisam ser executados e Vehicle
s que podem ser usados para transportar as Shipment
s. Os ShipmentRoute
s atribuem Shipment
s aos Vehicle
s. Mais especificamente, eles atribuem uma série de Visit
s a cada veículo, em que um Visit
corresponde a um VisitRequest
, que é uma coleta ou entrega de um Shipment
.
O objetivo é fornecer uma atribuição de ShipmentRoute
s a Vehicle
s que minimize o custo total quando ele tiver muitos componentes definidos no ShipmentModel
.
Solicitação HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeTours
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de caminho
Parâmetros | |
---|---|
parent |
Obrigatório. Projeto ou local de destino para fazer uma ligação. Formato: * Se nenhum local for especificado, uma região será escolhida automaticamente. |
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "timeout": string, "model": { object ( |
Campos | |
---|---|
timeout |
Se esse tempo limite for definido, o servidor retornará uma resposta antes que o tempo limite tenha decorrido ou que o prazo do servidor para solicitações síncronas seja atingido, o que ocorrer primeiro. Para solicitações assíncronas, o servidor gerará uma solução (se possível) antes que o tempo limite tenha decorrido. Duração em segundos com até nove dígitos fracionários, terminando em " |
model |
Modelo de envio a ser resolvido. |
solvingMode |
Por padrão, o modo de resolução é |
searchMode |
Modo de pesquisa usado para resolver a solicitação. |
injectedFirstSolutionRoutes[] |
Orientar o algoritmo de otimização para encontrar uma primeira solução semelhante a uma solução anterior. O modelo é restrito quando a primeira solução é criada. Quaisquer remessas não realizadas em uma rota são implicitamente ignoradas na primeira solução, mas podem ser realizadas em soluções sucessivas. A solução precisa satisfazer algumas suposições básicas de validade:
Se a solução injetada não for viável, um erro de validação não será necessariamente retornado e um erro indicando inviabilidade poderá ser retornado. |
injectedSolutionConstraint |
Limitar o algoritmo de otimização para encontrar uma solução final semelhante a uma anterior. Por exemplo, isso pode ser usado para congelar partes de rotas que já foram concluídas ou que estão a serem concluídas, mas não devem ser modificadas. Se a solução injetada não for viável, um erro de validação não será necessariamente retornado, e um erro indicando a inviabilidade poderá ser retornado. |
refreshDetailsRoutes[] |
Se não estiverem vazios, os trajetos informados serão atualizados sem modificar a sequência subjacente de visitas ou tempos de viagem: apenas outros detalhes serão atualizados. Isso não resolve o modelo. Desde 11/2020, ele preenche apenas as polilinhas de trajetos não vazios e exige que Os campos Esse campo não pode ser usado com
|
interpretInjectedSolutionsUsingLabels |
Se for verdadeiro:
Essa interpretação se aplica aos campos Se verdadeiro, os rótulos nas seguintes categorias precisam aparecer no máximo uma vez na categoria:
Se um A remoção de visitas ao trajeto ou trajetos inteiros de uma solução injetada pode afetar as restrições implícitas, o que pode levar a mudanças na solução, erros de validação ou inviabilidade. OBSERVAÇÃO: o autor da chamada precisa garantir que cada |
considerRoadTraffic |
Considere a estimativa de tráfego no cálculo dos campos |
populatePolylines |
Se verdadeiro, as polilinhas serão preenchidas nas |
populateTransitionPolylines |
Se verdadeiro, as polilinhas serão preenchidas na resposta |
allowLargeDeadlineDespiteInterruptionRisk |
Se esse valor for definido, a solicitação poderá ter um prazo de até 60 minutos (consulte https://grpc.io/blog/deadlines). Caso contrário, o prazo máximo é de apenas 30 minutos. As solicitações de longa duração têm um risco de interrupção significativamente maior, mas ainda pequeno. |
useGeodesicDistances |
Se verdadeiro, as distâncias de viagem serão calculadas usando distâncias geodésicas em vez de distâncias do Google Maps, e os tempos de viagem serão calculados usando distâncias geodésicas com uma velocidade definida por |
label |
Rótulo que pode ser usado para identificar essa solicitação, informado no |
geodesicMetersPerSecond |
Quando |
maxValidationErrors |
Trunca o número de erros de validação retornados. Esses erros normalmente são anexados a um payload de erro INVALID_MCC como um detalhe de erro BadRequest (https://cloud.google.com/apis/design/errors#error_details), a menos que solvingMode=VALIDATE_ONLY: consulte o campo |
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de OptimizeToursResponse
.
Escopos de autorização
Requer o seguinte escopo OAuth:
https://www.googleapis.com/auth/cloud-platform
Permissões do IAM
Requer a seguinte permissão do IAM no recurso parent
:
routeoptimization.locations.use
Para mais informações, consulte a documentação do IAM.