ตามที่อธิบายไว้คร่าวๆ ในภาพรวมการเพิ่มประสิทธิภาพเส้นทาง คำขอพื้นฐานประกอบด้วยรุ่น การจัดส่ง และยานพาหนะเป็นเอนทิตีที่จำเป็น ดังนี้
- โมเดลจะบันทึกการตั้งค่าและข้อจำกัดสําหรับคําขอทั้งหมด ซึ่งรวมถึงทั้ง
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 วิธีต่อไปนี้