SkippedShipment

ระบุรายละเอียดของการจัดส่งที่ไม่ได้ดำเนินการในโซลูชัน สำหรับกรณีที่ไม่สำคัญและ/หรือหากเราระบุสาเหตุของการข้ามได้ เราจะรายงานสาเหตุที่นี่

การแสดง JSON
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ],
  "penaltyCost": number,
  "estimatedIncompatibleVehicleRatio": number
}
ช่อง
index

integer

ดัชนีนี้สอดคล้องกับดัชนีของการจัดส่งในแหล่งที่มา ShipmentModel

label

string

สําเนาของ Shipment.label ที่เกี่ยวข้อง หากระบุไว้ใน Shipment

reasons[]

object (Reason)

รายการเหตุผลที่อธิบายสาเหตุที่ข้ามการจัดส่ง ดูความคิดเห็นด้านบน Reason หากเราไม่ทราบสาเหตุที่ระบบข้ามการจัดส่ง เราจะไม่ตั้งค่าเหตุผล

penaltyCost

number

นี่คือสำเนาของ Shipment.penalty_cost ซึ่งรวมไว้ที่นี่เพื่อให้เห็นความรุนแรงของการจัดส่งที่ข้ามได้ง่ายขึ้น

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

estimatedIncompatibleVehicleRatio

number

อัตราส่วนโดยประมาณของยานพาหนะที่ไม่สามารถดำเนินการจัดส่งนี้ด้วยเหตุผลอย่างน้อย 1 ข้อด้านล่าง หมายเหตุ: ช่องนี้จะกรอกเฉพาะในกรณีที่เหตุผลเกี่ยวข้องกับยานพาหนะ

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

เหตุผล

หากอธิบายสาเหตุที่ข้ามการจัดส่งได้ ระบบจะแสดงสาเหตุไว้ที่นี่ หากเหตุผลไม่เหมือนกันสำหรับยานพาหนะทั้งหมด reason จะมีองค์ประกอบมากกว่า 1 รายการ การจัดส่งที่ข้ามต้องไม่มีเหตุผลที่ซ้ำกัน เช่น ฟิลด์ทั้งหมดเหมือนกันยกเว้น exampleVehicleIndex ตัวอย่าง

reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 1
  exampleExceededCapacityType: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 3
  exampleExceededCapacityType: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  exampleVehicleIndex: 1
}

การจัดส่งที่ข้ามไม่รองรับยานพาหนะบางรุ่น เหตุผลอาจแตกต่างกันไปสำหรับยานพาหนะทุกคัน แต่จะมียานพาหนะอย่างน้อย 1 คันที่เกินขีดจํากัด "แอปเปิล" (รวมถึงยานพาหนะ 1) ยานพาหนะอย่างน้อย 1 คันที่เกินขีดจํากัด "ลูกแพร์" (รวมถึงยานพาหนะ 3) และยานพาหนะอย่างน้อย 1 คันที่เกินขีดจํากัดระยะทาง (รวมถึงยานพาหนะ 1)

การแสดง JSON
{
  "code": enum (Code),
  "exampleVehicleIndices": [
    integer
  ],
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
ช่อง
code

enum (Code)

โปรดดูความคิดเห็นของโค้ด

exampleVehicleIndices[]

integer

เหมือนกับ exampleVehicleIndex ยกเว้นว่าเราจะแสดงรายการยานพาหนะที่ระบุได้หลายคัน รายการนี้เป็นเพียงตัวอย่างบางส่วนเท่านั้น ระบบจะป้อนข้อมูลนี้เฉพาะในกรณีที่ [fill_example_vehicle_indices_in_skipped_reasons][] เป็นจริง

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

exampleExceededCapacityType

string

หากรหัสเหตุผลคือ DEMAND_EXCEEDS_VEHICLE_CAPACITY ให้แสดงเอกสารประเภทความจุที่เกินขีดจำกัด 1 ประเภท

exampleVehicleIndex

integer

หากเหตุผลเกี่ยวข้องกับความเข้ากันไม่ได้ของยานพาหนะกับการจัดส่ง ฟิลด์นี้จะแสดงดัชนีของยานพาหนะที่เกี่ยวข้อง 1 คัน

รหัส

โค้ดที่ระบุประเภทเหตุผล ลําดับนี้ไม่มีความหมาย โดยเฉพาะอย่างยิ่ง จะไม่มีการแสดงว่าเหตุผลหนึ่งๆ จะปรากฏก่อนเหตุผลอื่นในโซลูชันหรือไม่ หากมีเหตุผลทั้ง 2 รายการ

Enum
CODE_UNSPECIFIED ไม่ควรใช้
NO_VEHICLE ไม่มียานพาหนะในโมเดลทำให้การจัดส่งทั้งหมดเป็นไปไม่ได้
DEMAND_EXCEEDS_VEHICLE_CAPACITY ดีมานด์ของการจัดส่งเกินความจุของยานพาหนะสำหรับประเภทความจุบางประเภท ซึ่งหนึ่งในนั้นคือ exampleExceededCapacityType
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

ระยะทางขั้นต่ำที่จำเป็นในการดำเนินการจัดส่งนี้ เช่น จากstartLocationของยานพาหนะไปยังสถานที่รับและ/หรือนำส่งของการจัดส่ง และไปยังสถานที่ปลายทางของยานพาหนะ เกินrouteDistanceLimitของยานพาหนะ

โปรดทราบว่าเราใช้ระยะทางเชิงเรขาคณิตในการคํานวณนี้

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

เวลาขั้นต่ำที่จำเป็นต่อการนำส่งนี้ รวมถึงเวลาเดินทาง เวลารอ และเวลาบริการนานกว่า routeDurationLimit ของยานพาหนะ

หมายเหตุ: ระบบจะคำนวณเวลาเดินทางในสถานการณ์ที่ดีที่สุด ซึ่งก็คือระยะทางตามเส้น geodesic x 36 เมตร/วินาที (ประมาณ 130 กิโลเมตร/ชั่วโมง)

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT เหมือนกับด้านบน แต่เราจะเปรียบเทียบเฉพาะเวลาเดินทางขั้นต่ำและtravelDurationLimitของยานพาหนะ
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS ยานพาหนะไม่สามารถทำการขนส่งนี้ในสถานการณ์ที่ดีที่สุด (ดูCANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMITสำหรับการคํานวณเวลา) หากเริ่มในเวลาเริ่มต้นที่เร็วที่สุด เนื่องจากเวลาทั้งหมดจะทำให้ยานพาหนะสิ้นสุดหลังจากเวลาสิ้นสุดล่าสุด
VEHICLE_NOT_ALLOWED ช่อง allowedVehicleIndices ของการจัดส่งไม่ได้ว่างเปล่าและยานพาหนะนี้ไม่ได้อยู่ในการจัดส่งดังกล่าว
VEHICLE_IGNORED

ช่อง ignore ของยานพาหนะเป็น "จริง"

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

SHIPMENT_IGNORED

ช่อง ignore ของการจัดส่งเป็น "จริง"

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT

ระบบข้ามการจัดส่งใน injectedSolutionConstraint

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED

การผ่อนปรนเส้นทางยานพาหนะที่ระบุไว้ใน injectedSolutionConstraint ไม่อนุญาตให้แทรกการเข้าชม

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต

ZERO_PENALTY_COST

การจัดส่งไม่มีค่าใช้จ่ายการดําเนินการแก้ไข แม้ว่าวิธีนี้อาจมีประโยชน์ในฐานะตัวเลือกการประมาณขั้นสูง แต่ก็อาจอธิบายสาเหตุที่ระบบข้ามการจัดส่งได้

ทดลอง: ลักษณะการทำงานหรือการมีอยู่ของช่องนี้อาจมีการเปลี่ยนแปลงในอนาคต