发送包含 ShipmentModel
的 OptimizeToursRequest
,并返回包含 ShipmentRoute
的 OptimizeToursResponse
,后者是车辆要执行的一组路线,旨在最大限度降低总费用。
ShipmentModel
模型主要由需要执行的 Shipment
和可用于传输 Shipment
的 Vehicle
组成。ShipmentRoute
将 Shipment
分配给 Vehicle
。更具体地说,它们为每辆车分配一系列 Visit
,其中 Visit
对应 VisitRequest
(Shipment
的取货或送货方式)。
目标是为 Vehicle
分配 ShipmentRoute
,以最大限度降低在费用在 ShipmentModel
中定义许多组成部分的情况下的总费用。
HTTP 请求
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeTours
网址采用 gRPC 转码语法。
路径参数
参数 | |
---|---|
parent |
必需。拨打电话的目标项目或位置。 格式:* 如果未指定位置,系统会自动选择区域。 |
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "timeout": string, "model": { object ( |
字段 | |
---|---|
timeout |
如果设置了超时,服务器将在超时期限已过或同步请求所达到的服务器截止时间之前返回响应,以较早达到者为准。 对于异步请求,服务器将在超时过去之前生成解决方案(如果可能)。 此时长以秒为单位,最多包含九个小数位,以“ |
model |
要解决的装运模型。 |
solvingMode |
默认情况下,解析模式为 |
searchMode |
用于解决请求的搜索模式。 |
injectedFirstSolutionRoutes[] |
引导优化算法找到与之前的解决方案类似的第一个解决方案。 构建第一个解决方案时,模型会受到限制。在第一个解决方案中,系统会隐式跳过不在路线上执行的任何运单,但可以在后续解决方案中执行。 该解决方案必须满足一些基本的有效性假设:
如果注入的解决方案不可行,不一定会返回验证错误,也可能返回指示不可行的错误。 |
injectedSolutionConstraint |
限制优化算法以找到与先前的解决方案类似的最终解。例如,这可用于冻结已完成或即将完成但不得修改的部分路由。 如果注入的解决方案不可行,不一定会返回验证错误,也可能返回指示不可行的错误。 |
refreshDetailsRoutes[] |
如果为非空,系统将刷新指定路线,而不会修改其底层访问顺序或行程时间:仅更新其他详细信息。这并没有求解模型。 自 2020 年 11 月起,这仅会填充非空路线的多段线,并要求 传入路由的 此字段不得与
|
interpretInjectedSolutionsUsingLabels |
如果为 true:
此解释适用于 如果为 true,则以下类别的标签在其类别中最多只能出现一次:
如果注入的解决方案中的 从注入的解决方案中移除路线造访记录或整个路线可能会影响隐含的约束条件,进而可能导致解决方案发生变化、验证错误或不可行。 注意:调用方必须确保每个 |
considerRoadTraffic |
在计算 |
populatePolylines |
如果为 true,系统会在响应 |
populateTransitionPolylines |
如果为 true,将在响应 |
allowLargeDeadlineDespiteInterruptionRisk |
如果设置了此属性,则请求的截止时间(请参阅 https://grpc.io/blog/deadlines)最长为 60 分钟。否则,最长期限仅为 30 分钟。请注意,对于长期请求,中断的风险显著较大(但仍然很小)。 |
useGeodesicDistances |
如果为 true,则使用测地距离(而不是 Google 地图距离)计算行程距离,并且使用测地距离计算行程时间,速度由 |
label |
可用于识别此请求的标签,在 |
geodesicMetersPerSecond |
当 |
maxValidationErrors |
截断返回的验证错误数。这些错误通常以 BadRequest 错误详情 (https://cloud.google.com/apis/design/errors#error_details) 的形式附加到 INVALID_ARGUMENT 错误载荷中,除非 resolveMode=VALIDATE_ONLY:请参阅 |
响应正文
如果成功,则响应正文包含一个 OptimizeToursResponse
实例。
授权范围
需要以下 OAuth 作用域:
https://www.googleapis.com/auth/cloud-platform