สร้างข้อความคำขอ

ตามที่ได้อธิบายไว้คร่าวๆ ในภาพรวมการเพิ่มประสิทธิภาพเส้นทาง คำขอพื้นฐาน ประกอบด้วยรุ่น การจัดส่ง และยานพาหนะเป็นเอนทิตีที่ต้องระบุ ดังนี้

  • โมเดลจะบันทึกการตั้งค่าและข้อจำกัดสำหรับทั้งคำขอ ซึ่งรวมทั้ง Shipments และ Vehicles
  • การจัดส่งหมายถึงงานหรือการจัดส่งจริงที่รวมการรับสินค้าและ ค่าจัดส่ง VisitRequest วินาที การจัดส่งมีการตั้งค่าและข้อจำกัดในพื้นที่
  • ยานพาหนะแสดงถึงยานพาหนะ ผู้ขับขี่ หรือบุคลากร รถยนต์ก็มี การตั้งค่าและข้อจำกัดเฉพาะภายในเครื่อง

พร็อพเพอร์ตี้ของเอนทิตีแต่ละรายการอธิบายส่วนของปัญหาการเพิ่มประสิทธิภาพที่ ของระดับความละเอียดหนึ่งๆ มีการใช้ข้อจำกัดทั้งโมเดลกับทั้งหมด การจัดส่งและยานพาหนะ ขณะที่ข้อจำกัดและทรัพย์สินที่ระบุไว้ในการจัดส่ง หรือยานพาหนะเฉพาะสำหรับการจัดส่งหรือยานพาหนะรายการเดียว

โปรดดูเอกสารประกอบฉบับสมบูรณ์เกี่ยวกับข้อความแต่ละประเภทที่เอกสารอ้างอิง สำหรับ ShipmentModel (REST, gRPC), Shipment (REST, gRPC) และข้อความ Vehicle (REST, gRPC)

ที่พัก OptimizeToursRequest แห่ง

พร็อพเพอร์ตี้ที่ใช้กันโดยทั่วไปของข้อความ OptimizeToursRequest ระดับบนสุด (REST, gRPC) ประกอบด้วยรายการต่อไปนี้

  • searchMode ระบุว่าจะแสดงผลโซลูชันแรกที่พึงพอใจหรือไม่ ระบุข้อจำกัดหรือค้นหาวิธีแก้ปัญหาที่ดีที่สุดภายในเซต
  • considerRoadTraffic เป็นตัวกำหนดว่าจะมีการใช้การเข้าชมแบบเรียลไทม์หรือไม่ สำหรับการกำหนดเส้นทางและการประมาณเวลาถึงโดยประมาณ
  • populateTransitionPolylines กำหนดว่าจะกำหนดเส้นทางโพลีไลน์หรือไม่ แสดงในคำตอบ

พร็อพเพอร์ตี้ของโมเดล

พร็อพเพอร์ตี้ที่ใช้กันโดยทั่วไปของข้อความ ShipmentModel (REST, gRPC) ประกอบด้วย

  • globalStartTime แสดงเวลาเริ่มต้นเร็วที่สุดของเส้นทางทั้งหมดใน ยานพาหนะและการจัดส่ง รถคันใดอาจเริ่มเปลี่ยนรุ่นครั้งแรกและ การจัดส่งก่อนเวลาดังกล่าว
  • globalEndTime แสดงเวลาสิ้นสุดล่าสุดของเส้นทางในยานพาหนะทุกคัน และการจัดส่ง การจัดส่งและการเปลี่ยนสินค้าที่ได้รับมอบหมายทั้งหมดจะต้องเสร็จสมบูรณ์ ก่อนเวลานี้

พร็อพเพอร์ตี้การจัดส่ง

พร็อพเพอร์ตี้ที่ใช้กันโดยทั่วไปของข้อความ Shipment (REST, gRPC) รวมข้อมูลต่อไปนี้

  • pickups[] และ deliveries[] คือสถานที่รับการจัดส่ง หรือทำไม่สำเร็จ พร็อพเพอร์ตี้ pickups[] และ deliveries[] ต่างก็ใช้ VisitRequest ข้อความ (REST, gRPC)
  • loadDemands แสดงน้ำหนักบรรทุกที่จำเป็นสำหรับยานพาหนะในการขับขี่ การจัดส่ง ยานพาหนะ load_limits ที่เกี่ยวข้อง (REST, gRPC) ที่พักจะแสดงปริมาณบรรทุกของยานพาหนะที่รองรับได้ต่อ 1 ครั้ง อ่านเพิ่มเติมเกี่ยวกับการโหลดในความต้องการและข้อจำกัดในการโหลด
  • penalty_cost แสดงถึงค่าใช้จ่ายที่เกิดขึ้นหากข้ามการจัดส่ง อ่านแล้ว ข้อมูลเพิ่มเติมเกี่ยวกับต้นทุนในพารามิเตอร์รูปแบบต้นทุน

คุณสมบัติของยานพาหนะ

พร็อพเพอร์ตี้ที่ใช้กันโดยทั่วไปของข้อความ Vehicle (REST, gRPC) รวมข้อมูลต่อไปนี้

  • startLocation แสดงถึงตำแหน่งที่ยานพาหนะต้องเริ่มต้นเส้นทาง ช่วงเวลานี้ หรือไม่ใส่ก็ได้ หากไม่ได้ระบุ เส้นทางของยานพาหนะเริ่มต้นที่ สถานที่จัดส่งครั้งแรก
  • endLocation แสดงถึงสถานที่ที่ยานพาหนะต้องสิ้นสุดเส้นทาง พร็อพเพอร์ตี้นี้ จะระบุหรือไม่ก็ได้ หากไม่ได้ระบุ เส้นทางของยานพาหนะจะสิ้นสุดที่ตำแหน่งของ การจัดส่งพัสดุครั้งล่าสุด
  • startTimeWindows[] แสดงถึงเวลาที่ยานพาหนะสามารถเริ่มต้นเส้นทางได้ ช่วงเวลานี้ หรือไม่ใส่ก็ได้
  • endTimeWindows[] แสดงถึงเวลาที่ยานพาหนะสามารถเริ่มต้นและสิ้นสุดเส้นทางได้ พร็อพเพอร์ตี้ทั้ง 2 รายการเป็นตัวเลือกที่ไม่บังคับ
  • loadLimits แสดงความจุของยานพาหนะที่มีให้เลือกเพื่อตอบสนองการจัดส่ง ความต้องการในการโหลดข้อมูล อ่านเพิ่มเติมเกี่ยวกับความต้องการและขีดจำกัดในการโหลดในความต้องการและ ขีดจำกัด

ตัวอย่างคำขอที่สมบูรณ์ในรูปแบบ JSON มีลักษณะดังนี้

{
  "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 และ BatchOptimizeTours จะใช้ข้อความคำขอ เช่น ตัวอย่างด้านบน แต่ในรูปแบบที่ต่างกัน ก่อนทำการเพิ่มประสิทธิภาพเส้นทาง คุณจำเป็นต้องเข้าใจความแตกต่างระหว่าง 2 วิธีการดังนี้

การเปรียบเทียบ OptimizeTours และ BatchOptimizeTours