发送包含 ShipmentModel 的 OptimizeToursRequest,并返回包含 ShipmentRoute 的 OptimizeToursResponse,ShipmentRoute 是一组由车辆执行的路线,可最大限度地降低总体成本。
ShipmentModel 模型主要由需要执行的 Shipment 和可用于传送 Shipment 的 Vehicle 组成。ShipmentRoute 会将 Shipment 分配给 Vehicle。更具体地说,他们会为每辆车分配一系列 Visit,其中每个 Visit 都对应一个 VisitRequest,即 Shipment 的取货或送货。
目标是提供一种将 ShipmentRoute 分配给 Vehicle 的方案,以最大限度地降低总费用,其中费用在 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 |
截断返回的验证错误数量。除非 solvingMode=VALIDATE_ONLY,否则这些错误通常会作为 BadRequest 错误详情 (https://cloud.google.com/apis/design/errors#error_details) 附加到 INVALID_ARGUMENT 错误载荷。请参阅 |
响应正文
如果成功,则响应正文包含一个 OptimizeToursResponse 实例。
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/cloud-platform
IAM 权限
需要拥有 parent 资源的以下 IAM 权限:
routeoptimization.locations.use
如需了解详情,请参阅 IAM 文档。