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