Rota Optimizasyonuna Genel Bakış bölümünde kısaca açıklandığı gibi, temel bir istek; zorunlu varlıklar olarak Model, Gönderiler ve Araçlar'dan oluşur:
- Model, hem
Shipments
hem deVehicles
dahil olmak üzere isteğin tamamının ayarlarını ve kısıtlamalarını yakalar. - Gönderimler, teslim alma ve teslim etme
VisitRequest
'lerini içeren görevleri veya gerçek gönderimleri temsil eder. Gönderimlerin yerel ayarları ve kısıtlamaları vardır. - Araçlar; araçları, sürücüleri veya personeli temsil eder. Araçlar da yerel ayarlara ve kısıtlamalara sahiptir.
Her öğenin özellikleri, belirli bir ayrıntı düzeyinde bir optimizasyon probleminin bir bölümünü tanımlar. Model genelindeki kısıtlamalar tüm gönderimlere ve araçlara uygulanır. Gönderimlerde veya araçlarda belirtilen kısıtlamalar ve özellikler ise tek bir gönderime veya araca özeldir.
Her mesaj türüyle ilgili tam dokümanlar için ShipmentModel
(REST, gRPC), Shipment
(REST, gRPC) ve Vehicle
(REST, gRPC) mesajlarıyla ilgili 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 mi yoksa belirlenen son tarihe kadar mümkün olan en iyi çözümün mü döndürüleceğini belirtir.considerRoadTraffic
, yönlendirme ve TVS tahmini için canlı trafiğin kullanılıp kullanılmayacağını belirler.populateTransitionPolylines
, rota çok çizgilerinin ve rota jetonlarının yanıtta 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önderimler için rotaların en erken başlangıç zamanını temsil eder. Hiçbir araç bu tarihten önce ilk geçişlerini ve gönderimlerini başlatamaz.globalEndTime
, tüm araçlar ve gönderimler için rotaların en son bitiş zamanını temsil eder. Atanan tüm gönderimler ve geçişler bu tarihten önce tamamlanmalıdır.
Gönderim özellikleri
Shipment
mesajının (REST, gRPC) yaygın olarak kullanılan bazı özellikleri şunlardır:
pickups[]
vedeliveries[]
, bir gönderimin nereden alınabileceğini veya bırakılabileceğini gösterir. Hempickups[]
hem dedeliveries[]
mülkleriVisitRequest
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 temsil eder. 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 ortaya çıkan maliyeti temsil eder. Maliyet hakkında daha fazla bilgiyi Maliyet Modeli Parametreleri bölümünde bulabilirsiniz.
Araç özellikleri
Vehicle
mesajının (REST, gRPC) yaygın olarak kullanılan bazı özellikleri şunlardır:
startLocation
, bir aracın rotasını başlatması gereken yeri temsil eder. Bu özellik isteğe bağlıdır. Belirtilmemişse aracın rotası, ilk atanan gönderisinin bulunduğu konumdan başlar.endLocation
, bir aracın rotasını nerede bitirmesi gerektiğini gösterir. Bu özellik isteğe bağlıdır. Belirtilmemişse aracın rotası, son atanmış gönderisinin bulunduğu konumda sona erer.startTimeWindows[]
, bir aracın rotasına ne zaman başlayabileceğini gösterir. Bu özellik isteğe bağlıdır.endTimeWindows[]
, bir aracın rotasını ne zaman başlayıp ne zaman sonlandırabileceğini gösterir. Her iki özellik de isteğe bağlıdır.loadLimits
, kargoların yükleme taleplerini karşılamak için aracın mevcut kapasitesini temsil eder. 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çiminde eksiksiz bir örnek istek şöyle 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"
}
}
Hem OptimizeTours
hem de BatchOptimizeTours
, yukarıdaki örnekteki gibi istek mesajlarını tüketir ancak farklı şekillerde. Rota optimizasyonu isteği göndermeden önce bu iki yöntem arasındaki farkı anlamanız önemlidir: