โซลูชันที่แทรกในคำขอ รวมถึงข้อมูลเกี่ยวกับการเข้าชมที่ต้องจำกัดและวิธีจำกัด
| การแสดง JSON |
|---|
{ "routes": [ { object ( |
| ช่อง | |
|---|---|
routes[] |
เส้นทางของโซลูชันที่จะแทรก ระบบอาจละเว้นเส้นทางบางเส้นทางจากโซลูชันเดิม เส้นทางและการจัดส่งที่ข้ามต้องเป็นไปตามสมมติฐานความถูกต้องขั้นพื้นฐานที่ระบุไว้สำหรับ |
skippedShipments[] |
การข้ามการจัดส่งโซลูชันที่จะแทรก และอาจไม่มีในโซลูชันเดิม ดูฟิลด์ |
constraintRelaxations[] |
สำหรับกลุ่มยานพาหนะตั้งแต่ 0 กลุ่มขึ้นไป ให้ระบุเวลาและจำนวนที่จะผ่อนปรนข้อจำกัด หากช่องนี้ว่างเปล่า เส้นทางยานพาหนะทั้งหมดที่ไม่ว่างจะถูกจำกัดอย่างเต็มที่ |
ConstraintRelaxation
สำหรับกลุ่มยานพาหนะ ให้ระบุเกณฑ์ที่ระบบจะผ่อนปรนข้อจำกัดในการเข้าชมและระดับการผ่อนปรน การจัดส่งที่ระบุในฟิลด์ skipped_shipment จะถูกจำกัดไม่ให้ดำเนินการ ซึ่งหมายความว่าไม่สามารถดำเนินการได้
| การแสดง JSON |
|---|
{
"relaxations": [
{
object ( |
| ช่อง | |
|---|---|
relaxations[] |
การผ่อนปรนข้อจำกัดการเข้าชมทั้งหมดที่จะมีผลกับการเข้าชมในเส้นทางที่มีรถยนต์ใน |
vehicleIndices[] |
ระบุดัชนียานพาหนะที่ข้อจำกัดการเข้าชม ระบบจะแมปดัชนียานพาหนะเช่นเดียวกับ |
การพักผ่อน
หาก relaxations ว่างเปล่า ระบบจะจำกัดเวลาเริ่มต้นและลำดับการเยี่ยมชมทั้งหมดใน routes อย่างเต็มที่ และจะแทรกหรือเพิ่มการเยี่ยมชมใหม่ลงในเส้นทางเหล่านั้นไม่ได้ นอกจากนี้ เวลาเริ่มต้นและสิ้นสุดของยานพาหนะใน routes จะถูกจำกัดอย่างเต็มที่ เว้นแต่ยานพาหนะจะว่าง (เช่น ไม่มีจุดแวะและตั้งค่า usedIfRouteIsEmpty เป็น false ในโมเดล)
relaxations(i).level ระบุระดับการผ่อนปรนข้อจำกัดที่ใช้กับการเข้าชม #j ซึ่งเป็นไปตามเงื่อนไขต่อไปนี้
route.visits(j).start_time >= relaxations(i).threshold_timeและj + 1 >= relaxations(i).threshold_visit_count
ในทำนองเดียวกัน การสตาร์ทรถจะผ่อนปรนเป็น relaxations(i).level หากเป็นไปตามเงื่อนไขต่อไปนี้
vehicleStartTime >= relaxations(i).threshold_timeและrelaxations(i).threshold_visit_count == 0และส่วนท้ายของยานพาหนะจะผ่อนปรนเป็นrelaxations(i).levelหากเป็นไปตามเงื่อนไขต่อไปนี้vehicleEndTime >= relaxations(i).threshold_timeและroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
หากต้องการใช้ระดับการผ่อนปรนในกรณีที่การเข้าชมตรงตามthresholdVisitCountหรือthresholdTime ให้เพิ่ม relaxations 2 รายการที่มีlevel เดียวกัน โดยรายการหนึ่งมีเฉพาะthresholdVisitCountที่ตั้งค่าไว้ และอีกรายการมีเฉพาะthresholdTimeที่ตั้งค่าไว้ หากการเข้าชมเป็นไปตามเงื่อนไขของ relaxations หลายรายการ ระบบจะใช้ระดับที่ผ่อนปรนที่สุด ด้วยเหตุนี้ ตั้งแต่เริ่มต้นยานพาหนะจนถึงการเยี่ยมชมเส้นทางตามลำดับไปจนถึงจุดสิ้นสุดของยานพาหนะ ระดับการผ่อนคลายจะผ่อนคลายมากขึ้น กล่าวคือ ระดับการผ่อนคลายจะไม่ลดลงเมื่อเส้นทางดำเนินไป
เวลาและลำดับการเข้าชมเส้นทางที่ไม่เป็นไปตามเงื่อนไขเกณฑ์ของ relaxations จะถูกจำกัดอย่างเต็มที่และจะแทรกการเข้าชมลงในลำดับเหล่านี้ไม่ได้ นอกจากนี้ หากการเริ่มต้นหรือสิ้นสุดการเดินทางของยานพาหนะไม่เป็นไปตามเงื่อนไขของการผ่อนปรนใดๆ เวลาจะคงที่ เว้นแต่ยานพาหนะจะว่าง
| การแสดง JSON |
|---|
{
"level": enum ( |
| ช่อง | |
|---|---|
level |
ระดับการผ่อนปรนข้อจำกัดที่ใช้เมื่อตรงตามเงื่อนไขที่หรือหลังจาก |
thresholdTime |
เวลาที่อาจใช้การผ่อนปรน ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น |
thresholdVisitCount |
จำนวนการเข้าชมที่หรือหลังจากนั้นอาจมีการใช้การผ่อนปรน หากเป็น |
ระดับ
แสดงระดับการผ่อนปรนข้อจํากัดต่างๆ ซึ่งใช้สําหรับการเข้าชมและการเข้าชมที่ตามมาเมื่อเป็นไปตามเงื่อนไขเกณฑ์
การแจงนับด้านล่างนี้เรียงตามลำดับการผ่อนปรนที่เพิ่มขึ้น
| Enum | |
|---|---|
LEVEL_UNSPECIFIED |
ระดับการผ่อนปรนเริ่มต้นโดยนัย: ไม่มีการผ่อนปรนข้อจำกัดใดๆ กล่าวคือ การเข้าชมทั้งหมดจะถูกจำกัดอย่างเต็มที่ ค่านี้ต้องไม่ใช้ใน |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
เวลาเริ่มต้นการเข้าชมและเวลาเริ่มต้น/สิ้นสุดของยานพาหนะจะมีความยืดหยุ่นมากขึ้น แต่การเข้าชมแต่ละครั้งจะยังคงเชื่อมโยงกับยานพาหนะคันเดียวกัน และต้องสังเกตลำดับการเข้าชม โดยจะแทรกการเข้าชมระหว่างการเข้าชมหรือก่อนการเข้าชมไม่ได้ |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
เหมือนกับ RELAX_VISIT_TIMES_AFTER_THRESHOLD แต่ลำดับการเข้าชมจะมีความยืดหยุ่นมากขึ้นด้วย กล่าวคือ การเข้าชมจะดำเนินการได้โดยยานพาหนะนี้เท่านั้น แต่ก็อาจกลายเป็นการเข้าชมที่ไม่ได้ดำเนินการได้เช่นกัน |
RELAX_ALL_AFTER_THRESHOLD |
เช่นเดียวกับ RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD แต่ยานพาหนะจะผ่อนปรนด้วย กล่าวคือ การเข้าชมจะไม่มีค่าใช้จ่ายใดๆ ทั้งสิ้นเมื่อถึงหรือหลังจากเวลาที่กำหนด และอาจกลายเป็นการเข้าชมที่ไม่ได้ดำเนินการ |