ความต้องการและขีดจำกัดของโหลดเป็นข้อจำกัดประเภทหนึ่งที่คุณใช้จัดการความจุได้ ข้อจำกัดนี้ระบุความจุที่จําเป็นของการจัดส่ง และความจุสูงสุดของยานพาหนะ ซึ่งช่วยให้คุณเพิ่มประสิทธิภาพการกำหนดเส้นทางได้ตามข้อจำกัดเหล่านี้
ความต้องการและขีดจํากัดของโหลดรองรับวัตถุประสงค์ต่างๆ เช่น
- ป้องกันไม่ให้ยานพาหนะบรรทุกน้ำหนักเกิน
- ตรวจสอบการเปลี่ยนแปลงของน้ำหนักบรรทุกของยานพาหนะเมื่อมีการยกเลิกและนำส่งการจัดส่ง
- ให้ความสำคัญกับการจับคู่ยานพาหนะบรรทุกหนักกับการจัดส่งที่มีน้ำหนักมาก
ความต้องการและขีดจำกัดของโหลดจะระบุไว้ในพร็อพเพอร์ตี้ต่อไปนี้
loadDemands
ระบุจำนวนความจุที่การจัดส่งหนึ่งๆ ต้องการloadLimits
ระบุความจุสูงสุดของยานพาหนะหนึ่งๆ
โครงสร้าง
ดังที่แสดงในแผนภาพ ความต้องการและขีดจำกัดของโหลดมีโครงสร้างดังนี้
loadDemands
เป็นพร็อพเพอร์ตี้ของShipment
Shipment
อาจมีดีมานด์การโหลดหลายรายการloadLimits
เป็นพร็อพเพอร์ตี้ของVehicle
Vehicle
อาจมีขีดจำกัดการโหลดหลายรายการ
รายการตรวจสอบ Essentials
รายการตรวจสอบต่อไปนี้อธิบายความรู้ที่จำเป็นซึ่งจะช่วยป้องกันข้อผิดพลาดที่อาจเกิดขึ้นเกี่ยวกับการโหลด รายการนี้จะช่วยคุณตรวจสอบคำขอและแก้ปัญหาการตอบกลับ
พร็อพเพอร์ตี้
ส่วนนี้จะอธิบายพร็อพเพอร์ตี้สำหรับดีมานด์และขีดจำกัดของโหลด ดังนี้
- ประเภทการโหลด: พร็อพเพอร์ตี้ที่แชร์ระหว่างดีมานด์การโหลดและขีดจํากัด
Load
และLoadLimit
: พร็อพเพอร์ตี้ที่ไม่ซ้ำกันซึ่งแสดงในดีมานด์การโหลดและขีดจำกัดการโหลดตามลำดับ
ประเภทการโหลด
ประเภทการบรรทุกคือคีย์สตริงที่คุณใช้กับการจัดส่งและยานพาหนะอย่างเท่าๆ กัน ประเภทการโหลดแบบเดียวจะมีผลกับดีมานด์การโหลดของการจัดส่งและขีดจำกัดการโหลดของยานพาหนะ
ประเภทการโหลดใช้ไวยากรณ์ประเภทแผนที่ของ Protocol Buffers เมื่อตั้งชื่อประเภทการโหลด ให้ใช้ตัวระบุที่อธิบายประเภทของโหลดและหน่วยของโหลด เช่น weightKg, volume_gallons, palletcount หรือ frequencyDaily
Load
และ LoadLimit
ออบเจ็กต์ Load
และ LoadLimit
มีพร็อพเพอร์ตี้เฉพาะเพื่อกำหนดข้อกำหนดด้านความจุสำหรับการจัดส่งและยานพาหนะ ตารางต่อไปนี้อธิบายพร็อพเพอร์ตี้เหล่านี้
วัตถุ | ผู้ปกครอง | พร็อพเพอร์ตี้ | ประเภทที่พัก | คำอธิบายที่พัก |
---|---|---|---|---|
Load |
loadDemands |
amount |
string (รูปแบบ int64) | กำหนดข้อกำหนดด้านความจุของการจัดส่งในประเภทที่ระบุ |
LoadLimit |
loadLimits |
maxLoad |
string (รูปแบบ int64) | กำหนดความสามารถในการบรรทุกสูงสุดของยานพาหนะในประเภทที่ระบุ |
ตัวอย่าง
ส่วนนี้จะครอบคลุมตัวอย่าง 3 ประเภท ได้แก่
- ตัวอย่างโค้ดที่แสดงโครงสร้างของข้อกำหนดและขีดจำกัดของโหลด
- ตัวอย่างสถานการณ์ที่แสดงวิธีใช้ดีมานด์การโหลดและขีดจํากัดในคําขอ API
- ตัวอย่างคําขอที่มีค่าที่ตั้งไว้ในสถานการณ์ตัวอย่าง
ตัวอย่างโค้ด
ตัวอย่างต่อไปนี้แสดงโครงสร้างของดีมานด์การโหลดที่คุณสามารถตั้งค่าประเภท loadDemands
เป็นสตริงและพร็อพเพอร์ตี้ amount
เป็นสตริงในรูปแบบ int64
{ "model": { "shipments": [ ... { "loadDemands": { "MATCHING_LOAD_TYPE": { "amount": "YOUR_LOAD_AMOUNT" } } } ], "vehicles": [ ... ] } }
ตัวอย่างต่อไปนี้แสดงโครงสร้างพื้นฐานที่สุดของขีดจํากัดการโหลด ซึ่งคุณสามารถตั้งค่าประเภท loadLimits
เป็นสตริง และพร็อพเพอร์ตี้ maxLoad
เป็นสตริงในรูปแบบ int64
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "loadLimits": { "MATCHING_LOAD_TYPE": { "maxLoad": "YOUR_MAX_LOAD" } } } ] } }
สถานการณ์ตัวอย่าง
ส่วนนี้จะอธิบายสถานการณ์ที่คุณมีธุรกิจรับฝากเลี้ยงสุนัข และคุณกำลังเพิ่มประสิทธิภาพเส้นทางเพื่อขนส่งสุนัข 2-3 ตัวในยานพาหนะที่มีพื้นที่จำกัด
การจัดส่งแต่ละรายการแสดงถึงจุดแวะพัก 1 แห่งที่คุณไปรับสุนัขจํานวนหนึ่ง ในตัวอย่างนี้ การจัดส่งแต่ละรายการจะมีสถานที่รับสินค้าต่างกัน ซึ่งเป็นบ้านของสุนัขที่คุณดูแล และการจัดส่งทั้งหมดจะมีสถานที่นำส่งเดียวกัน ซึ่งเป็นอาคารของศูนย์ดูแลสุนัข
ในตัวอย่างนี้ ค่าพร็อพเพอร์ตี้ในคำขอของคุณมีดังนี้
ผู้ปกครอง | พร็อพเพอร์ตี้ | ประเภท | ค่า | สถานการณ์ |
---|---|---|---|---|
loadDemands |
ประเภทการโหลด | สตริง | dogUnit |
กำหนดประเภทของน้ำหนักบรรทุกสำหรับการจัดส่ง ตัวอย่างนี้ใช้ dogUnit โดยที่ dogUnit แต่ละตัวแสดงถึงสุนัข 1 ตัว |
loadDemands |
amount |
ตัวเลข | การจัดส่งที่ 1: 1 การจัดส่งที่ 2: 3 |
ระบุจํานวนประเภทการโหลดที่กําหนด ในตัวอย่างนี้ คุณกําหนดการจัดส่ง 2 รายการ โดยรายการแรกเป็นการไปรับสุนัข 1 ตัว และรายการที่ 2 เป็นการไปรับสุนัข 3 ตัว |
loadLimits |
ประเภทการโหลด | สตริง | dogUnit |
กำหนดประเภทของขีดจำกัดน้ำหนักบรรทุกที่ใช้กับยานพาหนะ ซึ่งต้องตรงกับประเภทน้ำหนักบรรทุกของการจัดส่งเพื่อให้ขีดจำกัดมีความเกี่ยวข้อง |
loadLimits |
maxLoad |
ตัวเลข | 6 |
ระบุจำนวนสูงสุดของประเภทน้ำหนักบรรทุกที่ยานพาหนะสามารถบรรทุกได้ ในตัวอย่างนี้ คุณมียานพาหนะเพียงคันเดียวที่มีความจุสูงสุด 6 dogUnit โดยที่แต่ละ dogUnit หมายถึงกรงสุนัข 1 ตัว |
แผนภาพต่อไปนี้แสดงขีดจำกัดน้ำหนักบรรทุกของยานพาหนะ ความต้องการน้ำหนักบรรทุกของการจัดส่งแต่ละรายการ และวิธีที่การจัดส่งแต่ละรายการใช้ขีดจำกัดน้ำหนักบรรทุกของยานพาหนะ
ในตัวอย่างนี้ ดีมานด์การบรรทุกของการจัดส่งแต่ละรายการและขีดจำกัดน้ำหนักบรรทุกของยานพาหนะมีผลดังนี้
เครื่องมือเพิ่มประสิทธิภาพจะไม่มีปัญหาในการสร้างเส้นทางสำหรับยานพาหนะเพื่อขนส่งสุนัข เนื่องจากยานพาหนะสามารถบรรทุกสุนัขได้สูงสุด 6 ตัว และคุณกำลังจะไปรับสุนัขเพียง 4 ตัว
การมีขีดจำกัดน้ำหนักบรรทุก 6
dogUnit
ในยานพาหนะยังหมายความว่าคุณจะสามารถขนสุนัขเพิ่มอีก 2 ตัวในยานพาหนะคันนี้ได้เท่านั้นหากจำนวนสุนัขมากกว่าขีดจำกัดน้ำหนักบรรทุก ตัวเพิ่มประสิทธิภาพจะข้ามการรับส่งสุนัข 1 รายการหรือมอบหมายให้ยานพาหนะที่เหมาะกับสุนัข
โปรดทราบว่าไม่มีชุดประเภทที่กำหนดไว้ล่วงหน้า ในตัวอย่างนี้ คุณสามารถเปลี่ยนประเภทน้ำหนักบรรทุกจากหน่วยสุนัขเป็นหน่วยน้ำหนักเพื่อจำกัดน้ำหนักของสุนัข หรือเปลี่ยนเป็นมิติข้อมูลเชิงเส้นเพื่อจำกัดความกว้างหรือความสูง ความยืดหยุ่นนี้ช่วยให้คุณปรับความต้องการและขีดจำกัดการโหลดให้เหมาะกับความต้องการที่เฉพาะเจาะจงได้
ตัวอย่างคำขอ
ตัวอย่างต่อไปนี้แสดงโครงสร้างของคําขอ optimizeTours
พื้นฐานซึ่งรวมค่าสถานการณ์ตัวอย่าง
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ], "label": "One bernese mountain dog", "loadDemands": { "dogUnit": { "amount": "1" } } }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ], "label": "Three chihuahuas", "loadDemands": { "dogUnit": { "amount": "3" } } } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "loadLimits": { "dogUnit": { "maxLoad": "6" } }, "costPerKilometer": 1.0 } ] } }
โปรดทราบว่าการจัดส่งอาจมีความต้องการในการบรรทุกหลายรายการ และยานพาหนะอาจมีขีดจำกัดในการบรรทุกหลายรายการ ซึ่งแตกต่างจากกรณีของตัวอย่างนี้ คุณจึงระบุข้อจำกัดที่ซับซ้อนเพื่อพิจารณาเมื่อเพิ่มประสิทธิภาพเส้นทางของกลุ่มยานพาหนะได้