Route Optimization API'si, ilgili araçlar için rotaları döndürür isteği gönderin. Sevkiyatlar araçlara atanır veya kullanım durumuna göre atlanabilir. özellikleri.
Bir OptimizeToursResponse
mesajında (REST, gRPC) iki ana üst düzey düzey bulunur:
özellikler:
routes[]
, atanmış gönderimleri olan her taşıt için rotalardır. Her biriRoute
, söz konusu rotanın özelliklerini yansıtan metrikler içerir.metrics
, tüm araçlar ve rota planları genelinde yanıtın tamamı için toplanmış metriklerdir. Üst düzey metrikler, rota başına metriklerle aynı özellikleri içerir ve değerleri tüm rotalar genelinde toplanır.
Bazı özellikler, optimizasyon sonuçlarına bağlı olarak her zaman doldurulmayabilir:
skippedShipments[]
, herhangi bir araç tarafından yapılmayan gönderimleri listeler. Belirtilen kısıtlamalar dahilinde gerçekleştirilemiyorsa veya gönderimi gerçekleştirme maliyeti ceza maliyetini aşıyorsa gönderim atlanabilmektedir. Örneğin, bir gönderinin teslim alma veya teslimat süresi çok dartimeWindow
Bir aracın şunları yapması mümkün olmayabilir veya gerekli zaman aralığında ziyareti gerçekleştirebilir.validationErrors[]
, isteği geçersiz kılan hataları belirtir. isteğinsolvingMode
değeri,VALIDATE_ONLY
. NormalDEFAULT_SOLVE
modunda doğrulama hataları yanıt gövdesi yerine bir hata mesajında görünür. LütfenVALIDATE_ONLY
çözme modu, aynı anda birden fazla hatayı bildirebilir. Hata ayıklama isteklerinde hızla hata ayıklamak için kullanışlıdır.
Rota özellikleri
Her routes[]
girişi bir ShipmentRoute
mesajıdır (REST, gRPC). Her biri
ShipmentRoute
, belirli bir araca ait rota atamasını gösterir:
talep ediyor. İlgili önemli ShipmentRoute
özellikleri
Vehicle
şunlardır:
vehicleIndex
, karşılık gelenVehicle
istek mesajıyla karşılaşırsınız. Değer sıfır olduğunda REST yanıtları bu özelliği atlar.vehicleStartTime
, aracın rotasına başlaması gereken zamandır.vehicleEndTime
, aracın çalışmasını tamamlaması beklenen zamandır yol gösterir.
Yanıtlarda routes
şu şekilde görünür:
{
"routes": [
{
"vehicleStartTime": "2024-02-13T00:00:00Z",
"vehicleEndTime": "2024-02-13T00:38:42Z",
"visits": [
...
],
"transitions": [
...
],
"metrics": {
...
},
...
}
],
...
}
Her ShipmentRoute
, aracın tamamlayacağı visits
'ların sıralı bir listesini içerir. Her Visit
(REST, gRPC), ilgili istekteki bir VisitRequest
(REST, gRPC) temsil eder. Önemli Visit
mülkler arasında şunlar yer alır:
shipmentIndex
, bu ziyaretin ait olduğu gönderinin sıfır tabanlı endeksidir ekleyin.- Bir ziyaret teslim alma olduğunda
isPickup
doğru, ziyaret bir ziyaret olduğunda ise yanlıştır teslimat. Değer yanlış olduğunda REST yanıtları bu özelliği atlar. visitRequestIndex
,VisitRequest
için sıfır tabanlı dizindir İlgili istekteShipment.pickups
veyaShipment.deliveries
Visit
temsil eder. REST yanıtları, değer sıfır olduğunda bu özelliği atlar.startTime
, ziyaretin başlaması beklenen zamandır.loadDemands
, yükleme türünü şu işlemin tamamlanması için istenen yükleme miktarıyla eşler:Visit
. Yük tutarları, yükü temsil eden teslimat ziyaretleri için negatiftir araçtan kaldırılması.
Visit
örneğini inceleyin:
{
"routes": [
{
...
"visits": [
{
"isPickup": true,
"startTime": "2024-02-13T00:00:00Z",
"detour": "0s"
},
...
],
},
...
],
...
}
Her ShipmentRoute
, aşağıdakileri temsil eden transitions
içeren sıralı bir liste içerir:
visits
arasında seyahat etme süresidir. Önemli Transition
mesaj (REST, gRPC) özellikleri şunlardır:
startTime
, aracın yürütmeye başlayacağı zamandır için geçerlidir.travelDuration
, aracın gitmesi gereken süredir tamamlamanız gerekir.travelDistanceMeters
, aracın yapması gereken metre cinsinden mesafedir seyahat etmesini sağlar.trafficInfoUnavailable
, için geçerlidir.waitDuration
, aracın bir sonrakiVisit
'sini başlatmadan önce beklediği boşta kalma süresini temsil eder. Bu durum,start_time
Takip edilen kişi sayısı:Visit
totalDuration
, seyahat dahil olmak üzere geçişin toplam süresidir. bekleme, ara ve gecikme süreleridir.vehicleLoads
, yük türünü bu geçiş sırasında araç tarafından taşınan yük miktarıyla eşleştirir.
Transition
örneğini inceleyin:
{
"routes": [
{
...
"transitions": [
...
{
"travelDuration": "1171s",
"travelDistanceMeters": 9004,
"waitDuration": "0s",
"totalDuration": "1171s",
"startTime": "2024-02-13T00:00:00Z"
},
...
],
...
}
],
...
}
vists
ile transitions
arasındaki ilişki şurada açıklanmıştır:
Teslim Alma ve Teslimatı Durdurma Siparişi Optimizasyonu ve
ShipmentRoute
referans belgeleri (REST, gRPC).
Metrik özellikleri
Metrics
mesajı (REST, gRPC) tüm çözümü özetler.
Önemli Metrics
özelliklerinden bazıları şunlardır:
totalCost
, rotaları tamamlamak için ödenen toplam maliyettir. Devamını okuyun Maliyet Modeli Parametreleri'ndeki maliyetler hakkında bilgi edinin.usedVehicleCount
, çözümde kullanılan toplam araç sayısıdır. Optimize Edici, bu araçların araç kullanımının gerekli değildir.skippedMandatoryShipmentCount
, atlanan gönderimlerin sayısıdır "zorunlu"dur. Zorunlu bir gönderim, aşağıdaki koşulları karşılayan birpenaltyCost
belirtmiyor: atlanırsa uygulanır. Zorunlu gönderimler, performansları belirtilen kısıtlamalar altında mümkün değilse atlanabilir. Maliyet Modeli Parametreleri bölümünde maliyetler hakkında daha fazla bilgi edinebilirsiniz.
Ek metrikler AggregatedMetrics
mesajları (REST,
gRPC) ekleyin. AggregatedMetrics
mesaj türü şunun için kullanılır:
Metrics.aggregatedRouteMetrics
özelliği ve ShipmentRoute.metrics
için
Metrics.aggregatedRouteMetrics
mülkü, tüm mülklerde toplanmış metrikleri içeriyor
OptimizeToursResponse
içinde ShipmentRoute
. Her ShipmentRoute.metrics
mülkü, söz konusu ShipmentRoute
ile ilgili metrikleri içerir.
Önemli AggregatedMetrics
özellikleri şunlardır:
performedShipmentCount
, araçların tüm rotalarında gerçekleştirdiği gönderi sayısıdır.travelDuration
, araçların taşıma sırasında geçirdiği toplam süredir. tavsiye eder.waitDuration
, araçların tamamlama sırasında beklerken geçirdiği toplam süredir takip edebilirsiniz.delayDuration
, araçların toplam gecikme süresidir. İstekteTransitionAttributes
kullanılmadığı sürece bu değer genellikle sıfırdır.breakDuration
, araçların aralarda geçirdiği toplam süredir tavsiye eder.visitDuration
, aracın araç ziyaretleri için ziyaret ettiği toplam süredir. tavsiye eder. Bu, toplamdaVisitRequest
içinVisitRequest.duration
değeriVisit
saniyelere karşılık geliyor ilgili araca atanır.totalDuration
, araçların tamamlanması için gereken toplam süredir. gösterir.travelDistanceMeters
, araçların seyahat ederken katettiği toplam mesafedir. tavsiye eder.maxLoads
, yükleme türlerini dosyanın taşıdığı maksimum yük miktarıyla eşleştirir herhangi bir noktada izlememiz lazım.
Metrics
mesajının görünümü aşağıdaki gibidir:
{
"routes": [
...
],
"metrics": {
"aggregatedRouteMetrics": {
"performedShipmentCount": 1,
"travelDuration": "2322s",
"waitDuration": "0s",
"delayDuration": "0s",
"breakDuration": "0s",
"visitDuration": "0s",
"totalDuration": "2322s",
"travelDistanceMeters": 18603
},
"usedVehicleCount": 1,
"earliestVehicleStartTime": "2024-02-13T00:00:00Z",
"latestVehicleEndTime": "2024-02-13T00:38:42Z",
"totalCost": 18.603,
"costs": {
"model.vehicles.cost_per_kilometer": 18.603
}
}
}
Tam örnek
Construct a Request (İstek Oluşturma) isteği için eksiksiz bir örnek yanıt örneğin:
{
"routes": [
{
"vehicleStartTime": "2024-02-13T00:00:00Z",
"vehicleEndTime": "2024-02-13T00:38:42Z",
"visits": [
{
"isPickup": true,
"startTime": "2024-02-13T00:00:00Z",
"detour": "0s"
},
{
"startTime": "2024-02-13T00:19:31Z",
"detour": "0s"
}
],
"transitions": [
{
"travelDuration": "0s",
"waitDuration": "0s",
"totalDuration": "0s",
"startTime": "2024-02-13T00:00:00Z"
},
{
"travelDuration": "1171s",
"travelDistanceMeters": 9004,
"waitDuration": "0s",
"totalDuration": "1171s",
"startTime": "2024-02-13T00:00:00Z"
},
{
"travelDuration": "1151s",
"travelDistanceMeters": 9599,
"waitDuration": "0s",
"totalDuration": "1151s",
"startTime": "2024-02-13T00:19:31Z"
}
],
"metrics": {
"performedShipmentCount": 1,
"travelDuration": "2322s",
"waitDuration": "0s",
"delayDuration": "0s",
"breakDuration": "0s",
"visitDuration": "0s",
"totalDuration": "2322s",
"travelDistanceMeters": 18603
},
"routeCosts": {
"model.vehicles.cost_per_kilometer": 18.603
},
"routeTotalCost": 18.603
}
],
"metrics": {
"aggregatedRouteMetrics": {
"performedShipmentCount": 1,
"travelDuration": "2322s",
"waitDuration": "0s",
"delayDuration": "0s",
"breakDuration": "0s",
"visitDuration": "0s",
"totalDuration": "2322s",
"travelDistanceMeters": 18603
},
"usedVehicleCount": 1,
"earliestVehicleStartTime": "2024-02-13T00:00:00Z",
"latestVehicleEndTime": "2024-02-13T00:38:42Z",
"totalCost": 18.603,
"costs": {
"model.vehicles.cost_per_kilometer": 18.603
}
}
}