İstek Mesajı Oluşturma

Rota Optimizasyonuna Genel Bakış bölümünde kısaca açıklandığı gibi, temel bir istek gerekli varlıklar olan Model, Gönderimler ve Taşıtlar'dan oluşur:

  • Model, Shipments ve Vehicles dahil olmak üzere isteğin tamamı için ayarları ve kısıtlamaları yakalar.
  • Gönderimler, teslim alma ve teslimat VisitRequest işlemlerini içeren görevleri veya gerçek gönderimleri temsil eder. Gönderimlerin yerel ayarları ve kısıtlamaları vardır.
  • Taşıtlar; araçları, sürücüleri veya personeli temsil eder. Araçların yerel ayarları ve kısıtlamaları da vardır.

Her öğenin özellikleri, optimizasyon sorununun bir bölümünü belirli bir ayrıntı düzeyinde tanımlar. Model genelinde kısıtlamalar, tüm sevkiyatlara ve araçlara uygulanır. Gönderiler veya araçlarda belirtilen kısıtlamalar ve özellikler ise tek bir gönderime veya araca özeldir.

Her mesaj türüyle ilgili belgelerin tamamı için ShipmentModel (REST, gRPC), Shipment (REST, gRPC) ve Vehicle (REST, gRPC) mesajlarına ait referans belgeleri inceleyin.

OptimzeToursRequest 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 bulup bulmayacağını belirtir.
  • considerRoadTraffic, yönlendirme ve TVS tahmini için canlı canlı trafiğin kullanılıp kullanılmayacağını belirler.
  • populateTransitionPolylines, yanıtta rota çoklu çizgilerinin 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 sevkiyatlar genelindeki rotaların en erken başlangıç zamanını gösterir. Hiçbir araç bu tarihten önce ilk geçişlerini ve sevkiyatlarına başlayamaz.
  • globalEndTime, tüm araçlar ve sevkiyatlardaki rotaların en son bitiş saatini gösterir. Atanan tüm gönderim ve geçiş işlemleri 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[] ve deliveries[], bir gönderinin alınabileceği veya bırakılabileceği yeri temsil eder. pickups[] ve deliveries[] mülklerinin her ikisi de VisitRequest mesajını (REST, gRPC) kullanır.
  • loadDemands, bir aracın sevkiyatı tamamlaması için gereken yükü temsil eder. Araçların ilgili load_limits (REST, gRPC) özelliği, bir aracın tek seferde ne kadar yük taşıyabileceğini gösterir. Talepleri ve Sınırları Yükle bölümünde yük hakkında daha fazla bilgi edinebilirsiniz.
  • penalty_cost, bir gönderimin atlanması durumunda ortaya çıkan maliyeti temsil eder. Maliyetler 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 rotaya başlaması gereken yeri belirtir. Bu özellik isteğe bağlıdır. Belirtilmezse aracın rotası, atanan ilk sevkiyatın bulunduğu yerden başlar.
  • endLocation, bir aracın rotasını sonlandırması gereken yeri gösterir. Bu özellik isteğe bağlıdır. Belirtilmezse aracın rotası, atanmış son gönderimin bulunduğu konumda sona erer.
  • startTimeWindows[], bir aracın rotaya ne zaman başlayabileceğini gösterir. Bu özellik isteğe bağlıdır.
  • endTimeWindows[], bir aracın rotayı ne zaman başlatıp sonlandırabileceğini belirtir. Her iki özellik de isteğe bağlıdır.
  • loadLimits, aracın sevkiyat yük taleplerini karşılamak için mevcut kapasitesini gösterir. Yükleme Talepleri ve Sınırları bölümünde yük talepleri ve sınırları hakkında daha fazla bilgi edinebilirsiniz.

JSON biçiminde eksiksiz bir istek örneği:

{
  "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ı farklı şekillerde kullanır. Rota Optimizasyonu isteğinde bulunmadan önce, iki yöntem arasındaki farkı anlamanız önemlidir:

OptimizeTours ve BatchOptimizeTours karşılaştırması