指定解决方案中未执行的配送的详细信息。对于琐碎的用例和/或如果我们能够确定跳过的原因,我们会在此处报告原因。
| JSON 表示法 | 
|---|
| {
  "index": integer,
  "label": string,
  "reasons": [
    {
      object ( | 
| 字段 | |
|---|---|
| index | 
 该索引与来源  | 
| label | 
 相应  | 
| reasons[] | 
 说明为何跳过发货的原因列表。请参阅  | 
| penaltyCost | 
 这是  实验性:此字段的行为或存在性未来可能会发生变化。 | 
| estimatedIncompatibleVehicleRatio | 
 因以下至少一个原因而无法执行此运输的车辆的估算比例。注意:仅当原因涉及车辆时,才填写此字段。 实验性:此字段的行为或存在性未来可能会发生变化。 | 
原因
如果我们可以说明为何跳过配送,原因会显示在此处。如果所有车辆的原因不尽相同,reason 将包含多个元素。跳过的配送不能有重复的原因,即除了 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),至少有一辆车的“梨”容量会超出(包括车辆 3),并且至少有一辆车的距离上限会超出(包括车辆 1)。
| JSON 表示法 | 
|---|
| {
  "code": enum ( | 
| 字段 | |
|---|---|
| code | 
 请参阅代码的注释。 | 
| exampleVehicleIndices[] | 
 与  实验性:此字段的行为或存在性未来可能会发生变化。 | 
| exampleExceededCapacityType | 
 如果原因代码为  | 
| exampleVehicleIndex | 
 如果原因与运输车辆不兼容有关,此字段会提供相关车辆的编号。 | 
代码
用于标识原因类型的代码。这里的顺序没有意义。具体而言,它不会指明给定原因是否会在解决方案中显示在另一个原因之前(如果这两个原因都适用)。
| 枚举 | |
|---|---|
| CODE_UNSPECIFIED | 切勿使用此值。 | 
| NO_VEHICLE | 模型中没有车辆,因此所有运输都不可行。 | 
| DEMAND_EXCEEDS_VEHICLE_CAPACITY | 运输需求超出了车辆的某些容量类型(其中之一是 exampleExceededCapacityType)的容量。 | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT | 执行此运输所需的最短距离(即从车辆的  请注意,在此计算中,我们使用的是测地线距离。 | 
| CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT | 执行此运输所需的最短时间(包括行驶时间、等待时间和服务时间)超出了车辆的  注意:系统会根据最佳情况计算行程时间,即测地线距离 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 | 车辆的  实验性:此字段的行为或存在性未来可能会发生变化。 | 
| SHIPMENT_IGNORED | 运输的  实验性:此字段的行为或存在性未来可能会发生变化。 | 
| SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT | 系统会在  实验性:此字段的行为或存在性未来可能会发生变化。 | 
| VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED | 
 实验性:此字段的行为或存在性未来可能会发生变化。 | 
| ZERO_PENALTY_COST | 此运输订单的违约金额为零。虽然这可以作为高级建模选项发挥作用,但在事后也可能解释为何跳过了某个发货。 实验性:此字段的行为或存在性未来可能会发生变化。 |