Especifica los detalles de los envíos no realizados en una solución. En el caso de los casos triviales o si podemos identificar la causa de la omisión, informamos el motivo aquí.
Representación JSON |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
Campos | |
---|---|
index |
El índice corresponde al índice del envío en el |
label |
Es la copia del |
reasons[] |
Una lista de motivos que explican por qué se omitió el envío. Consulta el comentario anterior a |
Motivo
Si podemos explicar por qué se omitió el envío, los motivos se indicarán aquí. Si el motivo no es el mismo para todos los vehículos, reason
tendrá más de 1 elemento. Un envío omitido no puede tener motivos duplicados, es decir, que todos los campos sean iguales, excepto exampleVehicleIndex
. Ejemplo:
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
}
El envío omitido no es compatible con todos los vehículos. Los motivos pueden ser diferentes para todos los vehículos, pero se superaría la capacidad de "Manzanas" de al menos un vehículo (incluido el vehículo 1), la capacidad de "Peras" de al menos un vehículo (incluido el vehículo 3) y el límite de distancia de al menos un vehículo (incluido el vehículo 1).
Representación JSON |
---|
{
"code": enum ( |
Campos | |
---|---|
code |
Consulta los comentarios de Code. |
example |
Si el código de motivo es |
example |
Si el motivo se relaciona con una incompatibilidad entre el envío y el vehículo, este campo proporciona el índice de un vehículo relevante. |
Código
Código que identifica el tipo de motivo. El orden aquí no tiene sentido. En particular, no indica si un motivo determinado aparecerá antes que otro en la solución, si ambos se aplican.
Enumeraciones | |
---|---|
CODE_UNSPECIFIED |
Esto nunca debe usarse. |
NO_VEHICLE |
No hay ningún vehículo en el modelo, por lo que todos los envíos son inviables. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
La demanda del envío supera la capacidad de un vehículo para algunos tipos de capacidad, uno de los cuales es exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
La distancia mínima necesaria para realizar este envío, es decir, desde el Ten en cuenta que, para este cálculo, usamos las distancias geodésicas. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
El tiempo mínimo necesario para realizar este envío, incluido el tiempo de viaje, el tiempo de espera y el tiempo de servicio, supera el Nota: El tiempo de viaje se calcula en el mejor de los casos, es decir, como la distancia geodésica por 36 m/s (alrededor de 130 km/h). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
Igual que lo anterior, pero solo comparamos el tiempo de viaje mínimo y el travelDurationLimit del vehículo. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
El vehículo no puede realizar este envío en el mejor de los casos (consulta CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT para el cálculo del tiempo) si comienza a la hora de inicio más temprana: el tiempo total haría que el vehículo finalice después de la hora de finalización más tardía. |
VEHICLE_NOT_ALLOWED |
El campo allowedVehicleIndices del envío no está vacío y este vehículo no le pertenece. |