Es la respuesta después de resolver un problema de optimización de rutas que contiene las rutas que siguió cada vehículo, los envíos que se omitieron y el costo general de la solución.
| Representación JSON |
|---|
{ "routes": [ { object ( |
| Campos | |
|---|---|
routes[] |
Son las rutas calculadas para cada vehículo. La ruta i-ésima corresponde al i-ésimo vehículo del modelo. |
requestLabel |
Copia del |
skippedShipments[] |
Es la lista de todos los envíos que se omitieron. |
validationErrors[] |
Es la lista de todos los errores de validación que pudimos detectar de forma independiente. Consulta la explicación de "VARIOS ERRORES" para el mensaje |
processedRequest |
En algunos casos, modificamos la solicitud entrante antes de resolverla, es decir, agregamos costos. Si solvingMode == TRANSFORM_AND_RETURN_REQUEST, aquí se devuelve la solicitud modificada. Experimental: Consulta https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request para obtener más detalles. |
metrics |
Son las métricas de duración, distancia y uso de esta solución. |
OptimizeToursValidationError
Describe un error o una advertencia que se encontró durante la validación de un OptimizeToursRequest.
| Representación JSON |
|---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
| Campos | |
|---|---|
code |
Un error de validación se define por el par ( Los campos que siguen a esta sección proporcionan más contexto sobre el error. MULTIPLE ERRORS: 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 serán "fatales", lo que significa que detendrán todo el proceso de validación. Este es el caso de los errores de ESTABILIDAD: |
displayName |
Es el nombre visible del error. |
fields[] |
Un contexto de error puede involucrar 0, 1 (la mayoría de las veces) o más campos. Por ejemplo, puedes referirte a la primera recolección del vehículo núm. 4 y el envío núm. 2 de la siguiente manera: Sin embargo, ten en cuenta que la cardinalidad de |
errorMessage |
Es una cadena legible que describe el error. Hay una asignación 1:1 entre ESTABILIDAD: No es 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 solo debes usarlo 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, podemos especificar el elemento nº 2 de startTimeWindows del vehículo nº 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 vea sobrecargado.
| Representación JSON |
|---|
{ "name": string, "subField": { object ( |
| Campos | |
|---|---|
name |
Nombre del campo, p.ej., "vehicles". |
subField |
Es un subcampo anidado de forma recursiva, si es necesario. |
Campo de unión
|
|
index |
Índice del campo si se repite. |
key |
Es la clave si el campo es un mapa. |
Métricas
Son las métricas generales, agregadas en todas las rutas.
| Representación JSON |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| Campos | |
|---|---|
aggregatedRouteMetrics |
Se agregan en todas las rutas. Cada métrica es la suma (o el máximo, en el caso de las cargas) de todos los campos |
skippedMandatoryShipmentCount |
Es la cantidad de envíos obligatorios que se omitieron. |
usedVehicleCount |
Cantidad de vehículos utilizados. Nota: Si una ruta de vehículo está vacía y |
earliestVehicleStartTime |
Es la hora de inicio más temprana para un vehículo usado, calculada como el mínimo de Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizada a Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
latestVehicleEndTime |
Es la hora de finalización más reciente para un vehículo usado, calculada como el máximo de Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizada a Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
costs |
Costo de la solución, desglosado por los campos de solicitud relacionados con el costo. Las claves son rutas de acceso a .proto, relativas a la OptimizeToursRequest de entrada, p. ej., "model.shipments.pickups.cost", y los valores son el costo total generado por el campo de costo correspondiente, agregado en toda la solución. En otras palabras, costs["model.shipments.pickups.cost"] es la suma de todos los costos de retiro de la solución. Todos los costos definidos en el modelo se registran aquí en detalle, con la excepción de los costos relacionados con TransitionAttributes, que solo se registran de forma agregada a partir del 2022/01. |
totalCost |
Costo total de la solución Es la suma de todos los valores en el mapa de costos. |