This is a variant of the projects.optimizeTours
method designed for optimizations with large timeout values. It should be preferred over the projects.optimizeTours
method for optimizations that take longer than a few minutes.
The returned long-running operation
(LRO) will have a name of the format <parent>/operations/<operation_id>
and can be used to track progress of the computation. The metadata
field type is OptimizeToursLongRunningMetadata
. The response
field type is OptimizeToursResponse
, if successful.
Experimental: See https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request for more details.
HTTP request
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeToursLongRunning
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
parent |
Required. Target project or location to make a call. Format: * If no location is specified, a region will be chosen automatically. |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "timeout": string, "model": { object ( |
Fields | |
---|---|
timeout |
If this timeout is set, the server returns a response before the timeout period has elapsed or the server deadline for synchronous requests is reached, whichever is sooner. For asynchronous requests, the server will generate a solution (if possible) before the timeout has elapsed. A duration in seconds with up to nine fractional digits, ending with ' |
model |
Shipment model to solve. |
solvingMode |
By default, the solving mode is |
searchMode |
Search mode used to solve the request. |
injectedFirstSolutionRoutes[] |
Guide the optimization algorithm in finding a first solution that is similar to a previous solution. The model is constrained when the first solution is built. Any shipments not performed on a route are implicitly skipped in the first solution, but they may be performed in successive solutions. The solution must satisfy some basic validity assumptions:
If the injected solution is not feasible, a validation error is not necessarily returned and an error indicating infeasibility may be returned instead. |
injectedSolutionConstraint |
Constrain the optimization algorithm to find a final solution that is similar to a previous solution. For example, this may be used to freeze portions of routes which have already been completed or which are to be completed but must not be modified. If the injected solution is not feasible, a validation error is not necessarily returned and an error indicating infeasibility may be returned instead. |
refreshDetailsRoutes[] |
If non-empty, the given routes will be refreshed, without modifying their underlying sequence of visits or travel times: only other details will be updated. This does not solve the model. As of 2020/11, this only populates the polylines of non-empty routes and requires that The This field must not be used together with
|
interpretInjectedSolutionsUsingLabels |
If true:
This interpretation applies to the If true, labels in the following categories must appear at most once in their category:
If a Removing route visits or entire routes from an injected solution may have an effect on the implied constraints, which may lead to change in solution, validation errors, or infeasibility. NOTE: The caller must ensure that each |
considerRoadTraffic |
Consider traffic estimation in calculating |
populatePolylines |
If true, polylines will be populated in response |
populateTransitionPolylines |
If true, polylines and route tokens will be populated in response |
allowLargeDeadlineDespiteInterruptionRisk |
If this is set, then the request can have a deadline (see https://grpc.io/blog/deadlines) of up to 60 minutes. Otherwise, the maximum deadline is only 30 minutes. Note that long-lived requests have a significantly larger (but still small) risk of interruption. |
useGeodesicDistances |
If true, travel distances will be computed using geodesic distances instead of Google Maps distances, and travel times will be computed using geodesic distances with a speed defined by |
label |
Label that may be used to identify this request, reported back in the |
geodesicMetersPerSecond |
When |
maxValidationErrors |
Truncates the number of validation errors returned. These errors are typically attached to an INVALID_ARGUMENT error payload as a BadRequest error detail (https://cloud.google.com/apis/design/errors#error_details), unless solvingMode=VALIDATE_ONLY: see the |
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.