Указывает сведения о невыполненных отгрузках в решении. В тривиальных случаях и/или если мы можем определить причину пропуска, мы сообщаем о причине здесь.
JSON-представление |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
Поля | |
---|---|
index | Индекс соответствует индексу отгрузки в исходном |
label | Копия соответствующей |
reasons[] | Список причин, объясняющих, почему отгрузка была пропущена. См. комментарий выше. |
Причина
Если мы сможем объяснить, почему отправка была пропущена, причины будут перечислены здесь. Если причина не одинакова для всех автомобилей, 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), как минимум у одного автомобиля будет превышена мощность «Груш» (включая автомобиль 3) и как минимум у одного автомобиля будет превышен лимит расстояния. быть превышено (включая транспортное средство 1).
JSON-представление |
---|
{
"code": enum ( |
Поля | |
---|---|
code | Обратитесь к комментариям Кодекса. |
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 отправления не пустое и данное транспортное средство ему не принадлежит. |