โซลูชันที่แทรกในคําขอ รวมถึงข้อมูลเกี่ยวกับการเข้าชมที่ต้องจํากัดและวิธีจํากัด
| การแสดง JSON | 
|---|
| { "routes": [ { object ( | 
| ช่อง | |
|---|---|
| routes[] | 
 เส้นทางของโซลูชันที่จะแทรก ระบบอาจละเว้นเส้นทางบางเส้นทางจากโซลูชันเดิม เส้นทางและการจัดส่งที่ข้ามต้องเป็นไปตามสมมติฐานพื้นฐานเกี่ยวกับความถูกต้องที่ระบุไว้สำหรับ  | 
| skippedShipments[] | 
 ข้ามการจัดส่งโซลูชันที่จะแทรก บางรายการอาจไม่รวมอยู่ในโซลูชันต้นฉบับ ดูที่ช่อง  | 
| constraintRelaxations[] | 
 สำหรับกลุ่มยานพาหนะตั้งแต่ 0 กลุ่มขึ้นไป ให้ระบุเวลาและจำนวนที่จะผ่อนคลายข้อจำกัด หากช่องนี้ว่างเปล่า เส้นทางยานพาหนะที่ไม่ใช่ค่าว่างทั้งหมดจะถูกจำกัดอย่างสมบูรณ์ | 
ConstraintRelaxation
สําหรับกลุ่มยานพาหนะ ให้ระบุเกณฑ์ที่ระบบจะผ่อนคลายข้อจํากัดการเข้าชมและระดับที่ผ่อนคลาย ระบบจะข้ามการจัดส่งที่แสดงในช่อง skipped_shipment กล่าวคือ การดำเนินการดังกล่าวจะดำเนินการไม่ได้
| การแสดง JSON | 
|---|
| {
  "relaxations": [
    {
      object ( | 
| ช่อง | |
|---|---|
| relaxations[] | 
 การผ่อนคลายข้อจำกัดการเข้าชมทั้งหมดที่จะมีผลกับการเข้าชมในเส้นทางที่มียานพาหนะใน  | 
| vehicleIndices[] | 
 ระบุดัชนียานพาหนะที่ข้อจำกัดการเข้าชม  ดัชนียานพาหนะจะแมปเหมือนกับ  | 
การพักผ่อน
หาก relaxations ว่างเปล่า ระบบจะจำกัดเวลาเริ่มต้นและลําดับการเข้าชมทั้งหมดใน routes อย่างสมบูรณ์ และจะไม่แทรกหรือเพิ่มการเข้าชมใหม่ลงในเส้นทางเหล่านั้น นอกจากนี้ เวลาเริ่มต้นและสิ้นสุดของยานพาหนะใน routes จะถูกจำกัดอย่างสมบูรณ์ เว้นแต่ยานพาหนะจะว่างเปล่า (กล่าวคือ ไม่มีการเข้าชมและตั้งค่า usedIfRouteIsEmpty เป็นเท็จในโมเดล)
relaxations(i).level ระบุระดับการผ่อนคลายข้อจำกัดที่ใช้กับการเข้าชม #j ที่ตรงตามเงื่อนไขต่อไปนี้
- route.visits(j).start_time >= relaxations(i).threshold_timeAND
- j + 1 >= relaxations(i).threshold_visit_count
ในทำนองเดียวกัน ระบบจะผ่อนปรนการสตาร์ทยานพาหนะเป็น relaxations(i).level หากมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- vehicleStartTime >= relaxations(i).threshold_timeAND
- relaxations(i).threshold_visit_count == 0และปลายรถจะผ่อนปรนเป็น- relaxations(i).levelหากเป็นไปตามข้อกำหนดต่อไปนี้
- vehicleEndTime >= relaxations(i).threshold_timeAND
- 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-normalized เสมอ และใช้ตัวเลขทศนิยม 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แต่ยานพาหนะจะผ่อนปรนด้วยเช่นกัน นั่นคือการเข้าชมจะฟรีโดยสมบูรณ์เมื่อถึงหรือหลังจากเวลาเกณฑ์ และอาจไม่มีการเรียกใช้ |