Rota Optimizasyonuna Genel Bakış bölümünde kısaca açıklandığı gibi, temel bir istek Model, Shipments ve Vehicles'dan oluşur. Bu öğeler gerekli öğelerdir:
- Model,
Shipments
veVehicles
dahil olmak üzere tüm isteğin ayarlarını ve kısıtlamalarını yakalar. - Gönderimler, teslim alma ve teslimat
VisitRequest
işlemlerini içeren görevleri veya gerçek gönderimleri ifade eder. Gönderilerde yerel ayarlar ve kısıtlamalar bulunur. - Araçlar, araçları, sürücüleri veya personeli temsil eder. Araçlarda yerel ayarlar ve kısıtlamalar da bulunur.
Her varlığın özellikleri, belirli bir ayrıntı düzeyinde optimizasyon sorununun bir bölümünü açıklar. Model genelindeki kısıtlamalar tüm gönderiler ve araçlar için geçerlidir. Gönderilerde veya araçlarda belirtilen kısıtlamalar ve özellikler ise tek bir gönderi ya da araç için geçerlidir.
Her mesaj türüyle ilgili eksiksiz doküman için ShipmentModel
(REST, gRPC), Shipment
(REST, gRPC) ve Vehicle
(REST, gRPC) mesajlarının referans dokümanlarına bakın.
OptimizeToursRequest
tesis
Üst düzey OptimizeToursRequest
mesajının (REST, gRPC) yaygın olarak kullanılan bazı özellikleri şunlardır:
searchMode
, belirtilen kısıtlamaları karşılayan ilk çözümün döndürülüp döndürülmeyeceğini veya belirli bir son tarih içinde mümkün olan en iyi çözümün bulunup bulunmayacağını gösterir.considerRoadTraffic
, yönlendirme ve TVS tahmini için canlı trafiğin kullanılıp kullanılmayacağını belirler.populateTransitionPolylines
, yanıtta rota çoklu çizgilerinin ve rota jetonlarının döndürülüp döndürülmeyeceğini belirler.
Model özellikleri
ShipmentModel
mesajının (REST, gRPC) yaygın olarak kullanılan bazı özellikleri şunlardır:
globalStartTime
, tüm araçlar ve gönderilerdeki rotaların en erken başlangıç zamanını gösterir. Hiçbir araç, ilk geçişlerine ve gönderimlerine bu tarihten önce başlayamaz.globalEndTime
, tüm araçlar ve gönderilerdeki rotaların en son bitiş zamanını gösterir. Bu zamana kadar, atanan tüm gönderiler ve geçişler tamamlanmış olmalıdır.
Kargo özellikleri
Shipment
mesajının (REST, gRPC) yaygın olarak kullanılan bazı özellikleri şunlardır:
pickups[]
vedeliveries[]
, gönderinin nereden alınabileceğini veya nereye bırakılabileceğini gösterir.pickups[]
vedeliveries[]
özellikleri,VisitRequest
mesajını (REST, gRPC) kullanır.loadDemands
, bir aracın gönderimi tamamlaması için gereken yükü temsil eder. Araçların ilgiliload_limits
(REST, gRPC) özelliği, bir aracın tek seferde ne kadar yük taşıyabileceğini gösterir. Yük hakkında daha fazla bilgiyi Yük Talepleri ve Sınırları başlıklı makalede bulabilirsiniz.penalty_cost
, bir gönderim atlanırsa oluşan maliyeti gösterir. Maliyet Modeli Parametreleri bölümünde maliyetler hakkında daha fazla bilgi edinin.
Araç özellikleri
Vehicle
mesajının (REST, gRPC) yaygın olarak kullanılan bazı özellikleri şunlardır:
startLocation
, bir aracın rotasına başlaması gereken yeri gösterir. Bu özellik isteğe bağlıdır. Belirtilmemesi halinde aracın rotası, ilk atanan gönderinin bulunduğu konumdan başlar.endLocation
, bir aracın rotasını nerede sonlandırması gerektiğini gösterir. Bu özellik isteğe bağlıdır. Belirtilmezse aracın rotası, son atanan gönderinin konumunda sona erer.startTimeWindows[]
, bir aracın rotasına başlayabileceği zamanı gösterir. Bu özellik isteğe bağlıdır.endTimeWindows[]
, bir aracın rotasına ne zaman başlayıp ne zaman sonlandırabileceğini gösterir. Her iki özellik de isteğe bağlıdır.loadLimits
, gönderilerin yük taleplerini karşılamak için kullanılabilen araç kapasitesini gösterir. Yük talepleri ve sınırları hakkında daha fazla bilgiyi Yük Talepleri ve Sınırlar başlıklı makalede bulabilirsiniz.
JSON biçimindeki tam bir örnek istek şu şekilde görünür:
{
"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
ve BatchOptimizeTours
, yukarıdaki örnekte olduğu gibi istek mesajlarını farklı şekillerde kullanır. Rota Optimizasyonu isteğinde bulunmadan önce bu iki yöntem arasındaki farkı anlamanız önemlidir:
OptimizeTours ve BatchOptimizeTours'u karşılaştırma