Resposta após a solução de um problema de otimização de rotas que contém as rotas seguidas por cada veículo, as entregas que foram ignoradas e o custo geral da solução.
| Representação JSON |
|---|
{ "routes": [ { object ( |
| Campos | |
|---|---|
routes[] |
Rotas calculadas para cada veículo. A i-ésima rota corresponde ao i-ésimo veículo no modelo. |
requestLabel |
Cópia do |
skippedShipments[] |
A lista de todas as remessas ignoradas. |
validationErrors[] |
Lista de todos os erros de validação que conseguimos detectar de forma independente. Consulte a explicação "VÁRIOS ERROS" para a mensagem |
processedRequest |
Em alguns casos, modificamos a solicitação recebida antes de resolvê-la, ou seja, adicionamos custos. Se "solvingMode" == TRANSFORM_AND_RETURN_REQUEST, a solicitação modificada será retornada aqui. Experimental: consulte https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request para mais detalhes. |
metrics |
Métricas de duração, distância e uso para esta solução. |
OptimizeToursValidationError
Descreve um erro ou aviso encontrado ao validar um OptimizeToursRequest.
| Representação JSON |
|---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
| Campos | |
|---|---|
code |
Um erro de validação é definido pelo par ( Os campos a seguir fornecem mais contexto sobre o erro. VÁRIOS ERROS: quando há vários erros, o processo de validação tenta gerar vários deles. Assim como um compilador, esse é um processo imperfeito. Alguns erros de validação são "graves", ou seja, interrompem todo o processo. Esse é o caso dos erros ESTABILIDADE: |
displayName |
O nome de exibição do erro. |
fields[] |
Um contexto de erro pode envolver 0, 1 (na maioria das vezes) ou mais campos. Por exemplo, para se referir à primeira coleta do veículo nº 4 e da remessa nº 2, faça o seguinte: No entanto, a cardinalidade de |
errorMessage |
String legível que descreve o erro. Há um mapeamento de um para um entre ESTABILIDADE: não estável. A mensagem de erro associada a um determinado |
offendingValues |
Pode conter os valores dos campos. Essa opção nem sempre está disponível. Não confie nele e use apenas para depuração manual de modelos. |
FieldReference
Especifica um contexto para o erro de validação. Um FieldReference sempre se refere a um determinado campo nesse arquivo e segue a mesma estrutura hierárquica. Por exemplo, podemos especificar o elemento nº 2 de startTimeWindows do veículo nº 5 usando:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
No entanto, omitimos entidades de nível superior, como OptimizeToursRequest ou ShipmentModel, para não sobrecarregar a mensagem.
| Representação JSON |
|---|
{ "name": string, "subField": { object ( |
| Campos | |
|---|---|
name |
Nome do campo, por exemplo, "vehicles". |
subField |
Subcampo aninhado recursivamente, se necessário. |
Campo de união
|
|
index |
Índice do campo, se repetido. |
key |
Chave se o campo for um mapa. |
Métricas
Métricas gerais, agregadas em todas as rotas.
| Representação JSON |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| Campos | |
|---|---|
aggregatedRouteMetrics |
Agregado nas rotas. Cada métrica é a soma (ou o máximo, para cargas) de todos os campos |
skippedMandatoryShipmentCount |
Número de envios obrigatórios ignorados. |
usedVehicleCount |
Número de veículos usados. Observação: se uma rota de veículo estiver vazia e |
earliestVehicleStartTime |
O horário de início mais antigo para um veículo usado, calculado como o mínimo em todos os veículos usados de Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
latestVehicleEndTime |
O horário de término mais recente de um veículo usado, calculado como o máximo em todos os veículos usados de Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
costs |
Custo da solução, detalhado por campos de solicitação relacionados a custos. As chaves são caminhos proto, relativos à entrada "OptimizeToursRequest", por exemplo, "model.shipments.pickups.cost", e os valores são o custo total gerado pelo campo de custo correspondente, agregado em toda a solução. Em outras palavras, costs["model.shipments.pickups.cost"] é a soma de todos os custos de coleta na solução. Todos os custos definidos no modelo são informados em detalhes aqui, exceto os custos relacionados a "TransitionAttributes", que são informados apenas de forma agregada a partir de 01/2022. |
totalCost |
Custo total da solução. A soma de todos os valores no mapa de custos. |