Especifica detalhes de remessas não realizadas em uma solução. Em casos triviais e/ou se pudermos identificar o motivo da ação de ignorar, vamos informar o motivo aqui.
Representação JSON |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
Campos | |
---|---|
index |
O índice corresponde ao índice da remessa na |
label |
Cópia do |
reasons[] |
Uma lista de motivos que explicam por que o envio foi pulado. Veja o comentário acima de |
Motivo
Se pudermos explicar por que o envio foi pulado, os motivos serão listados aqui. Se o motivo não for o mesmo para todos os veículos, reason
terá mais de um elemento. Uma remessa ignorada não pode ter motivos duplicados, ou seja, quando todos os campos são iguais, exceto exampleVehicleIndex
. Exemplo:
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
}
A remessa ignorada é incompatível com todos os veículos. Os motivos podem ser diferentes para todos os veículos, exceto "Maçãs" de pelo menos um veículo. a capacidade seja excedida (incluindo o veículo 1), pelo menos o valor de "Pera" de um veículo a capacidade seria excedida (incluindo o veículo 3) e o limite de distância de pelo menos um veículo seria excedido (incluindo o veículo 1).
Representação JSON |
---|
{
"code": enum ( |
Campos | |
---|---|
code |
Consulte os comentários do código. |
exampleExceededCapacityType |
Se o código de motivo for |
exampleVehicleIndex |
Se o motivo estiver relacionado a uma incompatibilidade entre veículos, este campo fornecerá o índice de um veículo relevante. |
Código
Código que identifica o tipo de motivo. A ordem não faz sentido. Em particular, ela não indica se um determinado motivo aparecerá antes de outro na solução, se ambos forem aplicáveis.
Enums | |
---|---|
CODE_UNSPECIFIED |
Isso nunca deve ser usado. Se não conseguirmos entender por que uma remessa foi pulada, vamos simplesmente devolver um conjunto vazio de motivos. |
NO_VEHICLE |
Nenhum veículo no modelo torna todos os envios inviáveis. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
A demanda da remessa excede a capacidade do veículo para alguns tipos de capacidade, uma delas é exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
A distância mínima necessária para realizar o frete, ou seja, do Observe que, para esse cálculo, usamos as distâncias geodésicas. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
O tempo mínimo necessário para realizar a remessa, incluindo tempo de viagem, tempo de espera e tempo de serviço, excede o Observação: o tempo de viagem é calculado no melhor cenário, ou seja, como distância geodésica x 36 m/s (aproximadamente 130 km/hora). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
Igual ao item acima, mas comparamos apenas o tempo mínimo de viagem e o travelDurationLimit do veículo. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
O veículo não poderá realizar esse envio no melhor cenário (consulte CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT para computação de tempo) se ele começar no horário de início mais cedo: o tempo total fará com que o veículo termine após o horário de término mais recente. |
VEHICLE_NOT_ALLOWED |
O campo allowedVehicleIndices do envio não está vazio, e o veículo não pertence a ele. |