Especifica los detalles de los envíos sin realizar en una solución. Para 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 |
Copia del |
reasons[] |
Una lista de motivos que explican por qué se omitió el envío. Ver comentario arriba |
Motivo
Si podemos explicar por qué se omitió el envío, las razones 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, en los que todos los campos sean iguales excepto para 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 las "manzanas" de al menos un vehículo se superará la capacidad (incluido el vehículo 1) y se superará el valor de "Peras" de al menos un vehículo se superaría la capacidad (incluido el vehículo 3) y se excedería 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 del Código. |
exampleExceededCapacityType |
Si el código de motivo es |
exampleVehicleIndex |
Si el motivo está relacionado con una incompatibilidad de envío y vehículo, este campo proporciona el índice de un vehículo relevante. |
Código
Código que identifica el tipo de motivo. En este caso, este orden no tiene sentido. En particular, no ofrece ninguna indicación sobre si una razón determinada aparecerá antes que otra en la solución, si ambas corresponden.
Enumeraciones | |
---|---|
CODE_UNSPECIFIED |
Nunca debe usarse. Si no podemos comprender por qué se omitió un envío, solo devolvemos un conjunto vacío de motivos. |
NO_VEHICLE |
No hay ningún vehículo en el modelo que hace que todos los envíos sean 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 de exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
La distancia mínima necesaria para realizar este envío, es decir, desde las 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, incluidos 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 distancia geodésica x 36 m/s (aproximadamente 130 km/hora). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
Igual que en el ejemplo 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 calcular el tiempo) si comienza en la hora de inicio más temprana: el tiempo total que el vehículo terminaría después de su última hora de finalización. |
VEHICLE_NOT_ALLOWED |
El campo allowedVehicleIndices del envío no está vacío y este vehículo no le pertenece. |