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