솔루션에서 실행되지 않은 배송의 세부정보를 지정합니다. 사소한 케이스이거나 건너뛰는 이유를 파악할 수 있는 경우 여기에 이유를 보고합니다.
JSON 표현 |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
필드 | |
---|---|
index |
색인은 소스 |
label |
|
reasons[] |
배송이 건너뛴 이유를 설명하는 이유 목록입니다. |
penaltyCost |
건너뛴 배송의 심각성을 더 쉽게 확인할 수 있도록 여기에 포함된 실험용: 이 필드의 동작 또는 존재 여부는 향후 변경될 수 있습니다. |
estimatedIncompatibleVehicleRatio |
아래 이유 중 하나 이상으로 인해 이 배송을 수행할 수 없는 차량의 예상 비율입니다. 참고: 차량이 관련된 이유인 경우에만 작성합니다. 실험용: 이 필드의 동작 또는 존재 여부는 향후 변경될 수 있습니다. |
이유
배송이 건너뛴 이유를 설명할 수 있는 경우 여기에 이유가 표시됩니다. 모든 차량의 이유가 동일하지 않은 경우 reason
에는 2개 이상의 요소가 있습니다. 건너뛴 배송에는 중복된 이유가 있을 수 없습니다. 즉, 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 |
배송 차량 비호환성과 관련된 이유인 경우 이 필드에 관련 차량 1대의 색인이 표시됩니다. |
코드
이유 유형을 식별하는 코드입니다. 여기서 순서는 의미가 없습니다. 특히 두 가지 이유가 모두 적용되는 경우 솔루션에서 어떤 이유가 먼저 표시될지 나타내지 않습니다.
열거형 | |
---|---|
CODE_UNSPECIFIED |
절대로 사용해서는 안 됩니다. |
NO_VEHICLE |
모델에 차량이 없어 모든 배송이 불가능합니다. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
배송 수요가 일부 용량 유형(exampleExceededCapacityType 포함)의 차량 용량을 초과합니다. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
이 배송을 실행하는 데 필요한 최소 거리(즉, 차량의 이 계산에는 지오데시시 거리를 사용합니다. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
이동 시간, 대기 시간, 서비스 시간을 포함하여 이 배송을 실행하는 데 필요한 최소 시간이 차량의 참고: 이동 시간은 최적의 시나리오에서 계산되며, 구면 거리 x 36m/s (약 130km/h)로 계산됩니다. |
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 |
배송에 대한 패널티 비용은 0입니다. 이는 고급 모델링 선택으로 유용하지만 배송이 건너뛴 이유를 사후에 설명할 수도 있습니다. 실험용: 이 필드의 동작 또는 존재 여부는 향후 변경될 수 있습니다. |