Come brevemente descritto in Panoramica dell'ottimizzazione del percorso, una richiesta di base è costituita da Modello, Spedizioni e Veicoli come entità obbligatorie:
- Il modello acquisisce impostazioni e vincoli per l'intera richiesta,
comprensivo di
Shipments
eVehicles
. - Le spedizioni rappresentano attività o spedizioni effettive che includono il ritiro e
consegne tra
VisitRequest
s. Le spedizioni hanno impostazioni e vincoli locali. - I veicoli rappresentano veicoli, conducenti o personale. I veicoli hanno anche le impostazioni e i vincoli locali.
Le proprietà di ogni entità descrivono una parte di un problema di ottimizzazione a livello di livello di granularità. I vincoli a livello di modello vengono applicati a tutti spedizioni e veicoli, mentre i vincoli e le proprietà specificati sulle spedizioni o veicoli specifici per una singola spedizione o un unico veicolo.
Per la documentazione completa su ogni tipo di messaggio, consulta la documentazione di riferimento
per ShipmentModel
(REST, gRPC), Shipment
(REST, gRPC),
e Vehicle
(REST, gRPC).
OptimizeToursRequest
strutture
Alcune proprietà di uso comune del messaggio OptimizeToursRequest
di primo livello
(REST, gRPC) includono quanto segue:
searchMode
indica se restituire la prima soluzione che soddisfa vincoli specificati o trovare la migliore soluzione possibile all'interno di un insieme la scadenza del periodo di conservazione.considerRoadTraffic
determina se viene utilizzato o meno il traffico in tempo reale per i percorsi e la stima dell'orario di arrivo stimato.populateTransitionPolylines
determina se le polilinee della route sono restituito nella risposta.
Proprietà del modello
Alcune proprietà di uso comune del messaggio ShipmentModel
(REST,
gRPC) includono:
globalStartTime
rappresenta la prima ora di partenza dei percorsi in tutti veicoli e spedizioni. Nessun veicolo può iniziare le prime transizioni e in tempo reale prima di questa data.globalEndTime
rappresenta l'ora di fine più recente dei percorsi per tutti i veicoli e delle spedizioni. Tutte le spedizioni e le transizioni assegnate devono essere completate prima di questa data.
Proprietà della spedizione
Alcune proprietà di uso comune del messaggio Shipment
(REST, gRPC)
include:
pickups[]
edeliveries[]
rappresentano il luogo in cui è possibile ritirare una spedizione o abbandonarlo. Le proprietàpickups[]
edeliveries[]
utilizzano entrambe le proprietàVisitRequest
messaggio (REST, gRPC).loadDemands
rappresenta il carico necessario a un veicolo per completare una spedizione. Veicoliload_limits
corrispondente (REST, gRPC) rappresenta il carico massimo che un veicolo può sostenere contemporaneamente. Scopri di più sul caricamento in Carica richieste e limiti.penalty_cost
rappresenta il costo sostenuto nel caso in cui una spedizione venga saltata. Letto Scopri di più sui costi in Parametri del modello di costo.
Proprietà dei veicoli
Alcune proprietà di uso comune del messaggio Vehicle
(REST, gRPC)
include:
startLocation
rappresenta il punto in cui un veicolo deve iniziare il percorso. Questo è facoltativa. Se non specificato, il percorso del veicolo inizia dal località della prima spedizione a cui è stata assegnata.endLocation
rappresenta il punto in cui un veicolo deve terminare il proprio percorso. Questa proprietà è facoltativo. Se non specificato, il percorso del veicolo termina nella località all'ultima spedizione assegnata.startTimeWindows[]
indica quando un veicolo può iniziare il percorso. Questo è facoltativa.endTimeWindows[]
indica quando un veicolo può iniziare e terminare il percorso. Entrambe le proprietà sono facoltative.loadLimits
rappresentano la capacità del veicolo disponibile per soddisfare le spedizioni carichi di lavoro con scale out impegnativi. Scopri di più sulle richieste e sui limiti di caricamento nella pagina Carica richieste e Limiti.
Una richiesta di esempio completa in formato JSON ha il seguente aspetto:
{
"model": {
"shipments": [
{
"pickups": [
{
"arrivalLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
}
}
],
"deliveries": [
{
"arrivalLocation": {
"latitude": 37.79581,
"longitude": -122.4218856
}
}
]
}
],
"vehicles": [
{
"startLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
},
"endLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
},
"costPerKilometer": 1.0
}
],
"globalStartTime": "2024-02-13T00:00:00.000Z",
"globalEndTime": "2024-02-14T06:00:00.000Z"
}
}
OptimizeTours
e BatchOptimizeTours
utilizzano entrambi messaggi di richiesta come
dell'esempio precedente, ma in modi diversi. Prima di eseguire un'ottimizzazione del percorso
è importante comprendere la differenza tra i due metodi: