İstek Mesajı Oluşturma

Rota Optimizasyonuna Genel Bakış bölümünde kısaca açıklandığı gibi, Gerekli tüzel kişiler olarak Model, Gönderimler ve Araçlar'dan oluşur:

  • Model, tüm isteğe ilişkin ayarları ve kısıtlamaları yakalar. Shipments ve Vehicles dahil.
  • Sevkiyatlar, teslim alma ve teslim alma gibi teslimatları içeren görevleri veya gerçek gönderileri VisitRequest teslimat. Gönderimlerin yerel ayarları ve kısıtlamaları vardır.
  • Araçlar araçları, sürücüleri veya personeli temsil eder. Araçlarda ayrıca şunlar da bulunur: yerel ayarlar ve kısıtlamalarla ilgilidir.

Her varlığın özellikleri, bir optimizasyon probleminin ayrıntılara dikkat edin. Model genelinde kısıtlamalar, tüm gönderimler ve araçlar, gönderimlerde ise kısıtlamalar ve özellikler tek bir sevkiyat veya araca özgü olması gerekir.

Her mesaj türüyle ilgili tüm belgeler için referans belgelere göz atın ShipmentModel (REST, gRPC), Shipment (REST, gRPC), için ve Vehicle (REST, gRPC) mesajları.

OptimizeToursRequest tesis

Üst düzey OptimizeToursRequest mesajının yaygın olarak kullanılan bazı özellikleri (REST, gRPC) şunları içerir:

  • searchMode, karşılayan ilk çözümün döndürülüp döndürülmeyeceğini belirtir veya bir küme içinde olası en iyi çözümü bulmak için belirlemelisiniz.
  • considerRoadTraffic, canlı trafiğin kullanılıp kullanılmayacağını belirler tahmini için çok çeşitli araçlar sunar.
  • populateTransitionPolylines, rota çoklu çizgilerinin yanıt olarak geri döndü.

Model özellikleri

ShipmentModel mesajının yaygın olarak kullanılan bazı özellikleri (REST, gRPC) şunları içerir:

  • globalStartTime, tüm rotalardaki rotaların en erken başlangıç zamanını gösterir araçlar ve gönderiler. Hiçbir araç ilk geçişini başlatamaz gönderim ücreti var.
  • globalEndTime, tüm araçlardaki rotaların en son bitiş zamanını gösterir ve sevkiyatlar. Atanan tüm gönderimler ve geçişler tamamlanmış olmalıdır kontrol edin.

Gönderim özellikleri

Shipment mesajının yaygın olarak kullanılan bazı özellikleri (REST, gRPC) şunlardır:

  • pickups[] ve deliveries[], kargonun teslim alınabileceği yerleri temsil eder veya işten vazgeçti. Hem pickups[] hem de deliveries[] mülkleri VisitRequest mesajı (REST, gRPC).
  • loadDemands, aracın bir görevi tamamlaması için gereken yükü gönderim. Araçlar karşılık gelen load_limits (REST, gRPC) özelliği, bir aracın tek seferde ne kadar yük barındırabileceğini gösterir. Yükleme Talepleri ve Sınırları bölümünde yükleme hakkında daha fazla bilgi edinebilirsiniz.
  • penalty_cost, bir gönderinin atlanması durumunda tahakkuk eden maliyeti temsil eder. Okunanlar Maliyet Modeli Parametreleri bölümünde maliyet hakkında daha fazla bilgi edinebilirsiniz.

Araç özellikleri

Vehicle mesajının yaygın olarak kullanılan bazı özellikleri (REST, gRPC) şunlardır:

  • startLocation, bir aracın rotasına başlaması gereken yeri temsil eder. Bu özelliği isteğe bağlıdır. Belirtilmezse, aracın rotası ilk atanan sevkiyatın konumunu belirler.
  • endLocation, bir aracın rotasını tamamlaması gereken yeri temsil eder. Bu mülk isteğe bağlıdır. Belirtilmezse, aracın rotası şu konumda sona erer: ve atamanın nasıl yapılacağını göstereceğim.
  • startTimeWindows[], bir aracın rotasını başlatabileceği zamanı belirtir. Bu özelliği isteğe bağlıdır.
  • endTimeWindows[], bir aracın rotasının ne zaman başlatılabileceğini ve sonlandırılabileceğini belirtir. Her iki özellik de isteğe bağlıdır.
  • loadLimits, aracın sevkiyatları karşılayacak kapasiteyi temsil eder yüksek bir değere sahip olmalıdır. Yükleme Talepleri ve Sınırlar.

JSON biçiminde eksiksiz bir örnek istek aşağıdaki gibi 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 aşağıdaki gibi istek mesajlarını kullanır: ancak farklı şekillerde ele alacağız. Rota optimizasyonu yapmadan önce isteğinde bulunmak için iki yöntem arasındaki farkı anlamak önemlidir:

OptimizeTours ile BatchOptimizeTours'un karşılaştırılması