Route Optimization 是一项 Google Maps Platform API,可为单辆或多辆车辆及其经停点生成经过优化的路线方案。
为何使用 Route Optimization API
借助路线规划,提高运输车队的运营效率。根据成本、时间限制、客户需求和任何其他业务目标调整路线。例如:
- 物流公司可以通过安排次日发货来节省时间和资源,同时优化配送,以提高时间效率、节省成本、准时送达,并提高司机和最终客户的客户满意度。
- 按需送餐公司可以选择最合适的活跃司机来接新订单,并将其插入到现有路线中,从而使调度流程更快、更高效。
- 现场服务提供商可以为预约分配服务提供商,并为多个预约找到最佳停靠顺序,同时在出现问题时重新优化路线,从而提高效率和客户满意度。
Route Optimization API 的用途
使用 Route Optimization API,根据您自己的目标和限制条件优化车队的路线和任务分配。
- 目标:您的业务目标。
- 限制条件:您的实物资产的限制。
| 目标 | 约束条件 | ||
|---|---|---|---|
| 出行效率 | 使用距离和到达目的地所需时间等参数优化基本行程路线。 | 司机工作时间 | 根据司机的工作时间和休息时间为其分配路线。 |
| 准时到达 | 优先安排在特定时间之前到达的取件、送货或服务。 | 车辆容量 | 根据车辆可承载的负载量,为任务分配车辆。 |
| 车辆使用费 | 最大限度地减少执行任务所需的车辆数量。 | 时间窗口 | 让货物或任务在特定时间段内送达。 |
| 负载均衡 | 在车队和人员之间公平分配任务。 | 依赖项和兼容性 | 根据车辆类型、任务顺序或运输条件优化车队路线安排。 |
Route Optimization API 的运作方式
您可以使用 REST、gRPC 和客户端库访问 Route Optimization API,该 API 可为您的车队计算最高效的路线。
您的请求可以很简单,例如为一辆车规划几个送货点;也可以很复杂,例如详细说明整个公司的工作流程。该请求定义了您的独特路线规划模型,其中可能包含以下详细信息:
- 配送:需要完成的任务,包括取货和送货地点、服务时长和载重。
- 车辆:可用于完成任务的车队,包括出行方式、起始和结束位置以及承载能力。
- 时间限制:货件的精确时间范围,以及司机轮班时间和必要的休息时间。
- 费用参数:影响优化的因素,例如每公里费用、每小时费用以及未送达的罚款。
然后,该服务会返回一个符合您设置的所有限制条件和目标的优化路线方案。响应包含计算出的路线,并包含以下详细信息:
- 访问序列:每辆车的确切取件和送货顺序。
- 分配的配送任务:哪辆车负责哪项任务。
- 预计时间:每次到访的到达和离开时间,其中考虑了行程时间和到访时长。
- 路线指标:各个路线和总体方案的总费用、总行驶距离和总时间。
如需详细了解如何构建请求和解读响应,请参阅发出您的第一个请求和解读响应。
资源
该 API 提供四个端点,用于处理不同的请求大小和求解时间。如需了解如何选择合适的端点,请参阅选择端点。
| 端点 | 说明和返回的数据 | 返回格式 |
|---|---|---|
OptimizeTours |
一个阻塞端点,用于求解时间较短的单个请求。直接在响应中返回优化后的路线。 | JSON 或 gRPC proto |
OptimizeToursLongRunning |
一个非阻塞端点,用于处理求解时间较长的单个请求。返回长时间运行的操作 (LRO) ID。 | JSON 或 gRPC proto |
OptimizeToursUri |
适用于单个大型请求(大于 8MB)的非阻塞端点。直接从 Google Cloud Storage 读取数据以及向其写入数据。返回长时间运行的操作 (LRO) ID。 | JSON 或 gRPC proto |
BatchOptimizeTours |
一个非阻塞端点,可使用 Google Cloud Storage 同时处理多个独立请求。返回长时间运行的操作 (LRO) ID。 | JSON 或 gRPC proto |
如何使用 Route Optimization API
| 1 | 设置 | 首先设置 Google Cloud 项目,然后完成后续设置说明。 |
| 2 | 运行基本请求并接收回答 | 设置完成后,请按照构建请求和解读响应中的说明,先发送基本请求并获取响应。 |
| 3 | 尝试更高级的场景,并开始创建您自己的请求 | 探索示例场景,从取件和送件停靠点顺序优化开始,并开始构建与您的应用场景匹配的请求。 |
可用的客户端库
如需查看 Route Optimization API 的可用客户端库列表,请参阅客户端库。
后续步骤
- 开始使用 Route Optimization API:请参阅运行基本请求。
- 了解结算:用量和结算
- 查看示例代码和库:客户端库和开源。
- 遵循最佳实践:使用 Route Optimization API Web 服务的最佳实践