Method: projects.locations.batchOptimizeTours

  • This API method batchOptimizeTours optimizes vehicle tours for multiple OptimizeToursRequest messages as a batch process.

  • The method uses a Long Running Operation (LRO) to handle multiple optimization requests, with inputs and outputs managed via Cloud Storage.

  • You can use operations.get to poll and check the status of the LRO and to determine which optimization requests have succeeded or failed.

  • The HTTP request is a POST operation to a specific URL, which includes a required path parameter parent to identify the project and location.

  • The request body utilizes a JSON structure with modelConfigs array, and the method requires OAuth scope https://www.googleapis.com/auth/cloud-platform and the routeoptimization.operations.create IAM permission.

Optimizes vehicle tours for one or more OptimizeToursRequest messages as a batch.

This method is a Long Running Operation (LRO). The inputs for optimization (OptimizeToursRequest messages) and outputs (OptimizeToursResponse messages) are read/written from/to Cloud Storage in user-specified format. Like the locations.optimizeTours method, each OptimizeToursRequest contains a ShipmentModel and returns an OptimizeToursResponse containing ShipmentRoutes, which are a set of routes to be performed by vehicles minimizing the overall cost.

The user can poll operations.get to check the status of the LRO:

If the LRO's done field is false, then at least one request is still being processed. Other requests may have completed successfully and their results are available in GCS.

If the LRO's done field is true, then all requests have been processed. Any successfully processed requests will have their results available in GCS. Any requests that failed will not have their results available in GCS. If the LRO's error field is set, then it contains the error from one of the failed requests.

HTTP request

POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:batchOptimizeTours

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
parent

string

Required. Target project and location to make a call.

Format: * projects/{project-id} * projects/{project-id}/locations/{location-id}

If no location is specified, a region will be chosen automatically.

Request body

The request body contains data with the following structure:

JSON representation
{
  "modelConfigs": [
    {
      object (AsyncModelConfig)
    }
  ]
}
Fields
modelConfigs[]

object (AsyncModelConfig)

Required. Input/Output information each purchase model, such as file paths and data formats.

Response body

If successful, the response body contains an instance of Operation.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

IAM Permissions

Requires the following IAM permission on the parent resource:

  • routeoptimization.operations.create

For more information, see the IAM documentation.