Risposta dopo la risoluzione di un problema di ottimizzazione del tour contenente i percorsi seguiti da ciascun veicolo, le spedizioni che sono state saltate e il costo complessivo della soluzione.
| Rappresentazione JSON |
|---|
{ "routes": [ { object ( |
| Campi | |
|---|---|
routes[] |
Percorsi calcolati per ogni veicolo; l'i-esimo percorso corrisponde all'i-esimo veicolo nel modello. |
requestLabel |
Copia di |
skippedShipments[] |
L'elenco di tutte le spedizioni saltate. |
validationErrors[] |
Elenco di tutti gli errori di convalida che siamo riusciti a rilevare in modo indipendente. Consulta la spiegazione di "ERRORI MULTIPLI" per il messaggio |
processedRequest |
In alcuni casi, modifichiamo la richiesta in arrivo prima di risolverla, ad esempio aggiungendo costi. Se solvingMode == TRANSFORM_AND_RETURN_REQUEST, la richiesta modificata viene restituita qui. Sperimentale: per ulteriori dettagli, consulta la pagina https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request. |
metrics |
Metriche di durata, distanza e utilizzo per questa soluzione. |
OptimizeToursValidationError
Descrive un errore o un avviso riscontrato durante la convalida di un OptimizeToursRequest.
| Rappresentazione JSON |
|---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
| Campi | |
|---|---|
code |
Un errore di convalida è definito dalla coppia ( I campi che seguono questa sezione forniscono maggiori informazioni sull'errore. ERRORI MULTIPLI: quando sono presenti più errori, il processo di convalida tenta di restituirne diversi. Come un compilatore, questo è un processo imperfetto. Alcuni errori di convalida sono "gravi", il che significa che interrompono l'intera procedura di convalida. Questo è il caso, tra gli altri, degli errori STABILITÀ: |
displayName |
Il nome visualizzato dell'errore. |
fields[] |
Un contesto di errore può coinvolgere 0, 1 (la maggior parte delle volte) o più campi. Ad esempio, il primo ritiro del veicolo n. 4 e della spedizione n. 2 può essere indicato come segue: Tieni presente, tuttavia, che la cardinalità di |
errorMessage |
Stringa leggibile che descrive l'errore. Esiste una mappatura 1:1 tra STABILITÀ: non stabile: il messaggio di errore associato a un determinato |
offendingValues |
Può contenere il valore o i valori dei campi. Questa opzione non è sempre disponibile. Non dovresti assolutamente fare affidamento su questa funzionalità e utilizzarla solo per il debug manuale del modello. |
FieldReference
Specifica un contesto per l'errore di convalida. Un FieldReference fa sempre riferimento a un determinato campo in questo file e segue la stessa struttura gerarchica. Ad esempio, potremmo specificare l'elemento n. 2 di startTimeWindows del veicolo n. 5 utilizzando:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Tuttavia, omettiamo le entità di primo livello come OptimizeToursRequest o ShipmentModel per evitare di affollare il messaggio.
| Rappresentazione JSON |
|---|
{ "name": string, "subField": { object ( |
| Campi | |
|---|---|
name |
Nome del campo, ad esempio "veicoli". |
subField |
Campo secondario nidificato in modo ricorsivo, se necessario. |
Campo unione
|
|
index |
Indice del campo se ripetuto. |
key |
Chiave se il campo è una mappa. |
Metriche
Metriche complessive, aggregate per tutti i percorsi.
| Rappresentazione JSON |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| Campi | |
|---|---|
aggregatedRouteMetrics |
Aggregato sui percorsi. Ogni metrica è la somma (o il valore massimo, per i caricamenti) di tutti i campi |
skippedMandatoryShipmentCount |
Numero di spedizioni obbligatorie saltate. |
usedVehicleCount |
Numero di veicoli utilizzati. Nota: se un percorso del veicolo è vuoto e |
earliestVehicleStartTime |
L'orario di inizio più recente per un veicolo usato, calcolato come il minimo su tutti i veicoli usati di Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
latestVehicleEndTime |
L'ora di fine più recente per un veicolo usato, calcolata come il massimo di tutti i veicoli usati di Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
costs |
Costo della soluzione, suddiviso per campi della richiesta correlati ai costi. Le chiavi sono percorsi proto, relativi all'input OptimizeToursRequest, ad es. "model.shipments.pickups.cost", e i valori sono il costo totale generato dal campo di costo corrispondente, aggregato nell'intera soluzione. In altre parole, costs["model.shipments.pickups.cost"] è la somma di tutti i costi di ritiro della soluzione. Tutti i costi definiti nel modello sono riportati in dettaglio qui, ad eccezione dei costi relativi a TransitionAttributes che vengono riportati solo in modo aggregato a partire dal 01/01/2022. |
totalCost |
Costo totale della soluzione. La somma di tutti i valori nella mappa dei costi. |