使用亚马逊位置服务和HERE Techn

优化车队利用率:使用 Amazon 位置服务与 HERE 技术

关键要点

  • 预计车队管理市场将以 15.5% 的复合年增长率增长,2022 年的市场价值为 255 亿美元,到 2027 年将达到 524 亿美元。
  • 本文展示了如何使用 HERE Tour Planning 和 Amazon 位置服务构建和运行多对多车辆路线优化解决方案。
  • 文章中的架构能帮助您优化运送易腐商品的配送,采用事件驱动架构基于 AWS Lambda 和 Amazon DynamoDB。
  • 解决方案可以生成每辆车的行驶路线,并让司机查看和选择详细路线。

车队管理是一个蓬勃发展的领域,预计将以15.5%的复合年增长率(CAGR)从2022年的255亿美元增长到2027年的524亿美元。对如最后一公里、中间公里及现场服务等物流和服务提供商而言,优化车辆车队使用率至关重要。

在本文中,我们演示了如何使用 和 构建和运行多对多车辆路线解决方案。HERE 技术是 Amazon位置服务的,为其提供地图渲染、地理编码、搜索和路线规划。HERE Tour Planning扩展了基础路由功能,能考虑时间窗口、工作要求或优先级、车辆能力、行驶范围及交通信息等参数,还支持在条件变化时即时重新规划。

架构概述

本文将引导您:

  • 配置使用 HERE Tour Planning 和 Amazon 位置服务的多对多车辆路线架构。
  • 提交一个 HERE Tour Planning 问题。
  • 生成优化的解决方案文件。
  • 运行一个 应用,能够:
  • 为每辆车生成路线列表。
  • 允许司机选择并详细查看路线。

以下图表展示了架构的工作原理。

删除)

图 1. 使用 HERE Tour Planning 和 Amazon 位置服务的多对多车辆路线架构

让我们详细探讨图中的步骤。

  1. 车队操作员将行程需求文件上传至 Amazon S3 桶。
  2. 上传触发一个 Lambda 函数来处理新的行程请求。如果 HERE API 密钥存在,将调用 HERE Tour Planning API。
  3. HERE Tour Planning API 计算路线问题的解决方案。
  4. 驾驶员使用 React 应用选择一辆车并请求路线。
  5. 被调用的 Lambda 函数利用 Amazon 位置服务计算路线,并在 React 应用中渲染。

所需前提条件

本教程需要以下安装和资源:

  • 拥有一个
  • 安装
  • 安装
  • 安装
  • 配置和认证 AWS CLI,以便与您的 AWS 账户进行交互。
  • 拥有您首选的集成开发环境(IDE),例如
  • 拥有 GitHub 仓库访问权限
  • git clone https://github.com/aws-samples/aws-here-optimize-fleet-utilization
  • 拥有 HERE API 密钥(可选)
  • 这需要用来调用 HERE Tour Planning API,以生成新的路线问题解决方案。
  • GitHub 示例仓库包含问题和预先解决的方案文件,您无需获得 HERE API 密钥即可了解这些产品。
  • 要获取 API 密钥,请在 创建一个免费账户,然后按照 中的说明创建您的 API 密钥。
  • 基于 API 密钥使用可能会产生额外费用。有关详细信息,请查看 中的 HERE Tour Planning 部分。

步骤详解

部署基础设施

  1. 该架构使用 NPM 节点模块。运行以下命令以安装依赖包:
  2. # AWS Lambda 函数依赖 cd lib/lambda/calculate-route npm install
  3. # 示例前端应用依赖 cd frontend/here-driver-app npm install
  4. 如果您从未在 AWS 账户中使用过 AWS CDK,您首先需要 该解决方案,以创建支持 AWS CDK 操作的 Amazon S3 桶和元数据。注意: 本文中描述的架构组件在 AWS 免费套餐和 HERE 免费月使用中涵盖在内,但超出免费套餐限制可能会产生其他费用。我们建议您在完成教程后遵循 清理 说明。
  5. 从仓库根目录运行以下命令以生成所需的基础设施: cdk bootstrap
  6. 输出结果应类似于以下内容,表示您已成功引导 AWS 账户所需的 AWS CDK:

![成功引导 AWS 账户的 AWS CDK删除)

图 2. 成功引导 AWS 账户的 AWS CDK 要求

  1. 通过运行以下命令来部署该解决方案的基础设施。此操作将提供解决方案所需的许多基础设施,如 DynamoDB、Lambda 函数和 Amazon S3 桶: cdk deploy
  2. 接下来,Amplify 将提供剩余资源以完成架构。运行以下命令导航到前端文件夹: cd frontend/here-driver-app
  3. 运行以下Amplify命令以创建其余资源,包括 、 和 Amazon 位置服务。有关更多详细信息,请参见 。
  4. 要接受默认设置,运行以下命令: amplify init
  5. 要将基础设施推送到 AWS 账户,运行以下命令: amplify push
  6. 要发布环境,运行以下命令: amplify publish

创建问题并生成架构文件

下一步是创建 HERE Tour Planning 问题文件,并提交给 HERE Tour Planning API 进行求解。注意: 您可以注册 HERE 开发者计划以获取 API 密钥以实时测试此解决方案,或使用仓库 /data 文件夹中提供的问题和预先解决的方案。

  1. 打开前一步创建的 Amazon S3 桶。
  2. 将问题文件(JSON 格式)上传到桶中。
  3. Amazon S3 事件通知触发一个 Lambda 函数,该函数对 HERE Tour Planning API 进行同步调用,并生成 JSON 格式的车辆路线问题解决方案文件。
  4. Lambda 函数将解决方案文件保存到 Amazon S3 桶中,并将关于解决方案的附加详细信息存储到 DynamoDB 表中。
  5. 交付司机可以使用示例 React 应用查看车辆和路线列表。

![创建问题文件并提交给 HERE Tour Planning删除)

图 3. 创建问题文件并提交给 HERE Tour Planning API

前端

接下来的步骤是运行 React 前端应用以查看结果。应用程序和 API Gateway 的访问是使用 Amazon Cognito 进行安全保护的。

  1. 要运行 Web 应用,运行以下命令: npm start
  2. 本地 Web 服务器将运行在 http://localhost:3000。
  3. 为了使用该系统,用户必须进行身份验证。Amazon Cognito 允许用户登录或创建新账户。
  4. 验证通过后,首页 将显示可用的车辆和路线列表。

删除)

图 4. 可用车辆和路线

选择一辆车以查看路线的详细信息。每个红色标记都是一个停靠点。

删除)

图 5. 车辆路线详情

清理

为避免未来产生费用,请删除所有创建的资源。

  1. 运行以下命令以在 AWS Amplify 中删除该应用。作为替代方案,您可以使用 删除 Amplify 资源: cd frontend/here-driver-app amplify pull amplify delete
  2. 使用 AWS CDK,运行以下命令以删除用于提供资源的 堆栈。注意:您可以将 AWS CLI、Amplify CLI 和 CDK CLI 安装在计算机上以便于未来开发: cdk destroy

结论

在本文中,我们以中央分发中心的货物配送为用例,展示了如何构建自己的无服务器解决方案以优化中间和最后一公里的操作。该解决方案利用 HERE TourPlanning 和 Amazon 位置服务提供的多车辆和多停靠点优化服务,帮助可视化为每个交付司机生成的路线。有关 HERE 在 AWS市场提供的产品的更多详细信息,请参见 。

![MaheshGeeniga](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/04/05/internal- 删除)

Mahesh Geeniga

Mahesh 是亚马逊云服务的高级合作伙伴解决方案架构师。他与 AWS 战略合作伙伴合作,构建和推广利用 AWS 的创新解决方案。他在构建 robust软件解决方案方面拥有超过 20 年的经验。

![Aaron删除)

Aaron Miller

Aaron Miller 是 HERE Technologies的业务解决方案架构师。他专注于帮助客户和合作伙伴利用先进的地理空间能力解决运输和物流领域复杂的商业挑战。在空闲时间,他喜欢飞行特技并建设实验飞机。

![KarthikManjunatha](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/04/05/internal- 删除)

Karthik Manjunatha

Karthik 是一位高级汽车行业专家,帮助客户定义和开发各种汽车工作负载的解决方案。他在位置服务领域工作已有十多年,并领导过多家 OEM的离线和在线路线开发。目前,他在 AWS 的工作包括可持续电动车适应和连接移动解决方案的倡议。

![ShaneJordan](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/04/05/internal- 删除)

Shane Jordan

Shane 是一名高级解决方案架构师,致力于 AWS 行业和汽车团队。他帮助客户设计、构建和运营在 AWS上符合最佳架构标准的系统。他在软件和技术领域拥有超过 25 年的经验,并创办过多家初创公司。

Leave a Reply

Required fields are marked *