Respuesta después de resolver un problema de optimización del recorrido que contiene las rutas seguidas por cada vehículo, los envíos que se omitieron y el costo total de la solución
Representación JSON |
---|
{ "routes": [ { object ( |
Campos | |
---|---|
routes[] |
Rutas calculadas para cada vehículo la i-ésima ruta corresponde al i-ésimo vehículo del modelo. |
requestLabel |
Copia de |
skippedShipments[] |
Se omite la lista de todos los envíos. |
validationErrors[] |
Lista de todos los errores de validación que pudimos detectar de forma independiente. Consulta “VARIOS ERRORES” explicación del mensaje |
metrics |
Métricas de duración, distancia y uso para esta solución. |
OptimizeToursValidationError
Describe un error que se produjo durante la validación de OptimizeToursRequest
.
Representación JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Campos | |
---|---|
code |
Un error de validación se define mediante el par ( Otros campos (a continuación) proporcionan más contexto sobre el error. VARIOS ERRORES: Cuando hay varios errores, el proceso de validación intenta generar varios de ellos. Al igual que un compilador, este es un proceso imperfecto. Algunos errores de validación son “fatales”, lo que significa que detienen todo el proceso de validación. Este es el caso de los errores ESTIBILIDAD: REFERENCE: una lista de todos los pares (código, nombre):
|
displayName |
El nombre visible del error. |
fields[] |
Un contexto de error puede incluir 0, 1 (la mayoría de las veces) o más campos. Por ejemplo, hacer referencia al vehículo núm. 4 y al primer retiro del envío núm. 2 se puede hacer de la siguiente manera:
Sin embargo, ten en cuenta que la cardinalidad de |
errorMessage |
Cadena legible que describe el error Hay una asignación 1:1 entre ESTABILIDAD: No estable: el mensaje de error asociado a un |
offendingValues |
Puede contener los valores de los campos. Esta opción no siempre está disponible. No debes confiar en él y usarlo solo para la depuración manual del modelo. |
FieldReference
Especifica un contexto para el error de validación. Un FieldReference
siempre hace referencia a un campo determinado en este archivo y sigue la misma estructura jerárquica. Por ejemplo, podríamos especificar el elemento no 2 de startTimeWindows
del vehículo no 5 de la siguiente manera:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Sin embargo, omitimos las entidades de nivel superior, como OptimizeToursRequest
o ShipmentModel
, para evitar que el mensaje se sature.
Representación JSON |
---|
{ "name": string, "subField": { object ( |
Campos | |
---|---|
name |
Es el nombre del campo, p.ej., "vehículos". |
subField |
Subcampo anidado de forma recurrente, si es necesario. |
Campo de unión
|
|
index |
Índice del campo si se repite. |
key |
Clave si el campo es un mapa. |
Métricas
Métricas generales, agregadas en todas las rutas.
Representación JSON |
---|
{
"aggregatedRouteMetrics": {
object ( |
Campos | |
---|---|
aggregatedRouteMetrics |
Corresponde a las rutas agregadas. Cada métrica es la suma (o máxima, para las cargas) de todos los campos |
skippedMandatoryShipmentCount |
Cantidad de envíos obligatorios omitidos. |
usedVehicleCount |
Cantidad de vehículos usados Nota: Si la ruta de un vehículo está vacía y el valor de |
earliestVehicleStartTime |
La hora de inicio más temprana de un vehículo usado, que se calcula como la hora mínima de Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
latestVehicleEndTime |
La hora de finalización más reciente de un vehículo usado, que se calcula como la cantidad máxima de Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
costs |
Costo de la solución, desglosado por campos de solicitudes relacionados con el costo. Las claves son rutas de acceso proto relacionadas con la entrada de OptimizeToursRequest, p.ej., “model.shipments.pickups.cost”, y los valores son el costo total que genera el campo de costo correspondiente, agregado en toda la solución. En otras palabras, los costos["model.shipments.pickups.cost"] es la suma de todos los costos de retiro en la solución. Todos los costos definidos en el modelo se informan aquí en detalle, excepto los costos relacionados con TransitionAttributes que solo se informan de forma agregada a partir de 2022/01. Es un objeto que contiene una lista de pares |
totalCost |
El costo total de la solución. Es la suma de todos los valores en el mapa de costos. |