构造请求消息

路线优化概览中所述,基本请求包含作为必需实体的 ModelShipmentsVehicles

  • 模型会捕获整个请求的设置和约束条件,包括 ShipmentsVehicles
  • 运单表示包含取货和送货 VisitRequest 的任务或实际运单。运单具有本地设置和限制条件。
  • 交通工具表示车辆、驾驶员或人员。车辆还有本地设置和限制。

每个实体的属性都以特定的粒度描述了优化问题的一部分。模型级限制条件会应用于所有运单和车辆,而为运单或车辆指定的限制条件和属性专用于单个运单或车辆。

如需查看有关每种消息类型的完整文档,请参阅 ShipmentModelRESTgRPC)、ShipmentRESTgRPC)和 VehicleRESTgRPC 消息)的参考文档。

OptimzeToursRequest 个房源

顶级 OptimizeToursRequest 消息(RESTgRPC)的一些常用属性包括:

  • searchMode 指示是返回满足指定约束条件的第一个解决方案,还是在设定的期限内找到可能的最佳解决方案。
  • considerRoadTraffic 确定是否将实时流量用于路线安排和预计到达时间。
  • populateTransitionPolylines 用于确定是否在响应中返回路线多段线。

模型属性

ShipmentModel 消息(RESTgRPC)的一些常用属性包括:

  • globalStartTime 表示所有车辆和货物的路线的最早开始时间。在此期限之前,任何车辆都不得开始首次改换和装运。
  • globalEndTime 表示所有车辆和货物的路线的最晚结束时间。所有已分配的运单和转换必须在此时间之前完成。

运单属性

Shipment 消息的一些常用属性(RESTgRPC)包括:

  • pickups[]deliveries[] 表示可以取件或放下货物的位置。pickups[]deliveries[] 属性均使用 VisitRequest 消息(RESTgRPC)。
  • loadDemands 表示车辆完成装运所需的负载。车辆的相应 load_limitsRESTgRPC)属性表示车辆一次可以承受的负载。如需详细了解负载,请参阅负载需求和限制
  • penalty_cost 表示跳过运送商品时产生的费用。如需详细了解费用,请参阅费用模型参数

车辆属性

Vehicle 消息的一些常用属性(RESTgRPC)包括:

  • startLocation 表示车辆必须开始其路线的位置。此属性是可选的。如果未指定,则车辆的路线将从第一个已分配运单的位置开始。
  • endLocation 表示车辆必须在哪里结束其路线。此属性是可选的。如果未指定,则车辆的路线以最后一次分配的运单的位置结束。
  • startTimeWindows[] 表示车辆何时可以开始其路线。该属性是可选属性。
  • endTimeWindows[] 表示车辆可以开始和结束其路线的时间。这两个属性都是可选的。
  • loadLimits 表示车辆的可用容量,以满足货物的负载需求。如需详细了解负载需求和限制,请参阅负载需求和限制

JSON 格式的完整请求示例如下所示:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "costPerKilometer": 1.0
      }
    ],
   "globalStartTime": "2024-02-13T00:00:00.000Z",
   "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}

OptimizeToursBatchOptimizeTours 都会像上例一样使用请求消息,但方式不同。在发出路由优化请求之前,请务必了解这两种方法之间的区别:

比较 OptimizeTours 和 BatchOptimizeTours