浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
排单排线计算
下载开发文档
API服务地址

https://api.map.baidu.com/ros/v5/scheduler/problem/general?ak=您的AK
//POST请求

请求参数
参数名称参数类型必填参数说明
scenesTypeString

算法区分不同场景的字段。枚举:
GENERAL(通用)
TOBACCO_INDUSTRY(烟草模板)

distributionModelInt

配送模式,单选,可选值如下:
1:单仓-多点直送,默认车辆满载从出发点直接送货,支持出发点与仓库不一致场景。此时,Depot为取货点,ServiceJob为送货点。Depot需只填一个。
2:单仓-多点取单点送。此时,Depot为送货点,ServiceJob为取货点。Depot需只填一个。
3:多仓-边取边送(多趟次循环取送),Depot需填写两个及以上。
4:多仓-先取后送(不支持多趟次循环取送),Depot需填写两个及以上。
5:单仓-先取后送,支持出发点与仓库不一致,从出发点去仓库取货后再配送;

matrixIdString

路网矩阵ID,路网矩阵唯一标识码(路网创建、修改接口请参考官方文档

lbsTypeString路网矩阵类型,枚举。LEAST_TIME:时间优先,LEAST_DISTANCE:距离最短,NO_HIGHWAY:不走高速。 用户可以根据自己场景填写
commitIdString

路网矩阵版本ID,每次修改原路网后生成的新路网的版本ID
不填默认最新版本

distanceTypeString距离计算方式,枚举。STRAIGHT:直线距离, TRAVEL:导航距离。直线距离计算场景必须设置车辆的平均行驶速度
depotsList<Depot>仓库信息列表。只填一个表示单仓,填写多个表示多仓。
depotIdString仓库ID,用户仓库自定义参数;仓库ID必须在路网中存在
depotTimeWindowTimeWindow时间窗信息,时间约束条件,仓库开始工作时间和结束工作时间
startTimeint起始时间,单位:分钟,取值范围大于0。例如,上午10点30分的取值为630
endTimeint结束时间,单位:分钟,取值范围大于1
platformNumint仓库月台数量(月台数量和停留时间必须同时填写或者同时都不填)
platformStayTimesint月台停留时间(分钟)(月台数量和停留时间必须同时填写或者同时都不填)
serviceJobsList<ServiceJob>网点信息列表
serviceJobIdString订单ID,唯一标识
locationIdString对应路网地址id,可与serviceJobId相同
parentIdString父订单ID(可为空)
depotIdString所属仓库ID,多仓下不能为空;仓库ID必须在路网中存在
serviceStayDurationdouble网点停留时间,取值必须大于0,单位:分钟,默认值为0
loadingDurationdouble装卸时间,取值必须大于0,单位:分钟,默认值为0
maxTimeInVehicleInt

货物在车辆上停留的最大时长限制(如:冷链场景),单位:分钟。取值范围为[0,货物最大在途时间),等于0表示该约束不生效,默认值为0。当配送模式为【单仓-多点取单点送】时,不支持限制该约束;其他配送模式均支持设置次约束。
不支持配送模式(distributionModel)2.单仓-多点取单点送;
该功能和订单优先级功能不可同用;

demandCapacity网点待配送货物的量
weightdouble装载重量,单位:千克。精度:保留小数点后四位
volumedouble装载体积,单位:立方米。精度:保留小数点后四位
countdouble装载数量,精度:保留小数点后四位。重量、体积、数量三个维度至少填写一个,车和货的维度保持一致
serviceTimeWindowsList<TimeWindow>

网点可配送的时间段列表。可支持按天切分时间窗功能。如,一辆车可以出车两天,每天的工作时间约束不同,要求:第一天工作时间约束为8:00-11:00,14:00-18:00;第二天工作时间约束为9:00-14:00。则时间窗可设置为:
[480,660],[840,1080],[1950,2280]。时间窗之间不可存在交叉时间。

startTimeint起始时间,单位:分钟,取值范围大于0 。例如,上午10点30分的取值为630
endTimeint结束时间,单位:分钟,取值范围大于1
skillsList<String>需要运输的货物类型列表(车辆需要具备某种运输能力,如冷冻功能、运输危化品能力等)
priorityint

订单优先级,取值范围必须为不小于1,不大于10,数字越小代表优先级越高;优先级只在存在分配不了的场景下,优先将高优先级的订单分配到车辆上,不影响分配的路线顺序
该功能和货物在车辆上停留的最大时长限制功能不可同用;

canCarpoolingboolean

当前网点货物能否支持拼车。取值范围:
true:支持拼车(默认值)false:不支持拼车

vehicleModelsList<VehicleModel>车辆型号信息
vehicleModelIdString车辆型号ID,用户自定义
capacityCapacity车辆额定承载
weightdouble装载重量,单位:千克。精度:保留小数点后四位
volumedouble装载体积,单位:立方米。精度:保留小数点后四位
countdouble装载数量,精度:保留小数点后四位。重量、体积、数量三个维度至少填写一个,车和货的维度保持一致
perDistanceUnitPricedouble成本最优目标参数—车辆每公里行驶成本,取值必须大于0,单位:元/公里。当计算目标targetModel为成本最优时,该值必填,该值会影响到计算结果的车辆数。
fixedCostdouble成本最优目标参数—车辆固定损耗成本,单位:元/天,默认值为0。当计算目标targetModel为成本最优时,该值必填,该值会影响到计算结果的车辆数。
perTimeUnitPricedouble成本最优目标参数—车辆每单位时间行驶成本,取值必须大于0,单位:元/分钟
waitingCostdouble成本最优目标参数—车辆等待成本,单位:元/分钟,默认值为0
averageVelocitydouble平均车速,取值必须在0到120之间,单位:千米/小时,distanceType为STRAIGHT时,该参数必填
perTransitTimeUnitPricedouble成本最优目标参数—单位在途时间成本, 单位: 元/分钟
perLoadDistanceUnitPricedouble成本最优目标参数—单位重量距离成本,单位:元/千克*米
perLoadTimeUnitPricedouble成本最优目标参数—单位重量时间成本,单位:元/千克*分钟
averageVelocitydouble平均车速,取值必须在0到120之间,单位:千米/小时,distanceType为STRAIGHT时,该参数必填
maxVelocitydouble最大行驶速度,取值必须在0到120之间,且必须大于平均车速,单位:千米/小时
vehicleGroupsList<VehicleGroup>车辆组信息
vehicleTypeIdString车辆类型ID,枚举,目前支持GB01(货车,默认车辆长宽高6000mm,宽2100mm,高3000mm)、NORMAL(小客车)。该信息用于选择不同的交通方式,不同的交通方式对应不同道路限行规避,一个车辆类型会对应一个或多个型号的车辆,由用户自行决定车辆型号与车辆类型的映射关系
vehicleModelIdString车辆型号ID,用户自定义参数
depotIdString车辆所属仓库;仓库ID必须在路网中存在
vehicleCountint

该型号车数量,不小于0,0代表没有限制;
TOBACCO_INDUSTRY(烟草模板)算法引擎不支持无限车辆数。

maxVisitedint车辆允许运送的最大订单数量,不小于0,0代表没有限制
maxRunDistanceint车辆最大行驶距离,单位:米,不小于0,0代表没有限制
maxRunTimeint车辆最大行驶时间,单位:分钟,不小于0,0代表没有限制
startLocationString车辆出发地点,该id在路网中必须存在,且不可以depotId相同。
vehicleSkillsList<String>车辆可运输的货物类型列表(车辆具备某种运输能力,如冷冻功能、运输危化品能力等)
returnToDepotboolean是否回仓,默认回仓。如果配送模式选择【单仓-多点取单点送】,则该值必须设置为true。
endLocationstring

车辆最后需回到的位置地点,该id在路网中必须存在。
returnToDepot 和 endLocation 需配合使用;
注意:当scenesType=TOBACCO_INDUSTRY时,不支指定终点地址。

serviceTimeWindowTimeWindow车辆可用时间窗
startTimeint起始时间,单位:分钟,取值范围大于0 。例如,上午10点30分的取值为630
endTimeint结束时间,单位:分钟,取值范围大于1
parametersList<String>

参数列表,有定制化调整需求可填写进该参数内,
参数配置失效可能是白名单问题,具体配置可联系商务对接人

driverFamiliarRelations

List<ExternalDriverFamiliarRelation>

司机熟悉度相关
vehicleModelIdString车辆型号ID
locationIdsList<String>网点ID,最少1个;网点ID必须在路网中存在
minFamiliarRatedouble最小熟悉率;参数范围0~1
maxFamiliarRatedouble最大熟悉率;参数范围0~1
isMultiCycleboolean

是否多趟次循环取送,仅支持:单仓-多点直送 、单仓-多点取单点送两种配送模式下使用。取值范围:
false:不开启此功能(默认值)
true:开启此功能

maxDistrictNumint

每条线路可跨区/县数量限制,默认值为0表示无限制,目前仅支持配送模式为单仓-多点直送、单仓-多点取单点送,多仓不支持。
需同时在路网矩阵接口里设置params参数,方可使用;

maxCityNumint

每条线路可跨城市数量限制,默认值为0表示无限制,目前仅支持配送模式为单仓-多点直送、单仓-多点取单点送,多仓不支持。
需同时在路网矩阵接口里设置params参数,方可使用;

maxIntervalDistanceint

相邻配送网点最大行驶距离约束,单位:米,只对送货地址间的距离约束生效。默认值为0表示无限制。
目前仅支持配送模式为单仓-多点直送、单仓-多点取单点送,多仓不支持。

calculateTargetint

计算目标。取值范围如下:
0:成本最优(默认值)。会根据vehicleModel中传入的各种成本最优目标参数计算成本最优。当scenesType=TOBACCO_INDUSTRY时,不支持该计算目标。
1:里程最优。会将vehicleModel中单位距离成本设置1,传入的其他成本最优目标参数默认数置0。

clusteringModelsint

是否考虑聚集性,聚集性是指根据订单分布尽可能能将同区域的订单计算在一条线上,以减少车辆交叉运输。支持的聚集性模式包括,单选:
0:不考虑聚集性(默认值)
1:考虑聚集性
聚集性模式参数仅支持在单仓-多点直送 和 单仓-多点取单点送 的配送模式下使用。

balanceModelsList<String>

适用场景:仅当scenesType=TOBACCO_INDUSTRY时,该参数可使用,其他scenesType场景均不支持设置均衡性模式参数。
适用配送模式:仅支持单仓-多点直送 和 单仓-多点取单点送。
均衡性模式,取值范围:
TIME_BALANCE:各运输车辆运行时间均衡
DISTANCE_BALANCE:各运输车辆行驶里程均衡
WEIGHT_LOAD_BALANCE:各运输车辆装载-重量均衡
VOLUME_LOAD_BALANCE:各运输车辆装载-体积均衡
COUNT_LOAD_BALANCE:各运输车辆装载-数量均衡
WEIGHT_LOAD_RATE_BALANCE:各运输车辆-重量装载率均衡
VOLUME_LOAD_RATE_BALANCE:各运输车辆-体积装载率均衡
COUNT_LOAD_RATE_BALANCE:各运输车辆-数量装载率均衡
JOB_BALANCE:各运输车辆服务网点数均衡
该字段不填表示不考虑均衡性;支持同时选择多个模式,如果多选,会综合考虑均衡因素得出一个中庸解。多选时需注意:

  • 时间均衡、里程均衡只能二选一;
  • 装载均衡、装载率均衡、网点数均衡只能三选一;
    • 装载均衡的三个维度:重量、体积、数量可以多选;
    • 装载率均衡的三个维度:重量、体积、数量可以多选;
  • 优先级:需按顺序填入数组当中,优先级最高的均衡模式填入第一个数组位置,优先级次之的填入第二个数组位置,以此类推。

combinedModelsString

合单模式,即将多个订单按照某种规则进行合并,此功能默认开启,可以取值的范围,单选:
BY_LOC_ID:按照送货点(locationId)相同的进行合单(默认值)
BY_PARENT_ID:按照父订单ID(parentId)相同的进行合单
BY_DEPOT_AND_LOC:仅支持多仓条件下,同时保证送货点位置(即locationId相同)和取货点位置(即depotId相同)都相同的才进行合同。(单仓场景下只有一个仓库,无需保证就一定满足)
NONE:不开启合单功能

isSplitOrderboolean

是否使用拆单功能:
true:开启拆单功能
false:不开启拆单功能(默认)
注意:当同时开启拆单模式和合单模式时,将自动采用先合单后拆单的处理方式。

返回参数
字段名称字段类型备注
idString排单排线计算任务ID,后续用于查询该任务结果
statusString任务执行状态:RUNNING、ERROR
errorCodeString错误码
errorMessageString错误信息
请求参数填写示例
{
"scenesType": "GENERAL",
"distributionModel": 1,
"matrixId": "939117ba6b11437691552e341ca3ec55",
"lbsType": "LEAST_TIME",
"distanceType": "TRAVEL",
"depots": [{
"depotId": "0613401064571",
"depotTimeWindow": {
"startTime": 0,
"endTime": 1440
}
}],
"vehicleGroups": [{
"vehicleTypeId": "GB01",
"vehicleModelId": "model_test_1",
"vehicleCount": 1,
"depotId": "0613401064571"
}],
"vehicleModels": [{
"vehicleModelId": "model_test_1",
"capacity": {
"weight": 100.0,
"volume": 150.0,
"count": 200.0
}
}],
"serviceJobs": [{
"serviceJobId": "ec48c567e49e4bce8455f631a98fa4fa",
"locationId": "0613401021365",
"demand": {
"weight": 50,
"volume": 50,
"count": 50
}
},
{
"serviceJobId": "38d4c0218f664ff2a3edda676bf93aac",
"locationId": "0613401019372",
"demand": {
"weight": 50,
"volume": 50,
"count": 50
}
}
]
}
返回参数示例
{
"id": "f8d028037db34f0ab1e1f493c0c7a59f",
"status": "RUNNING",
"errorCode": "",
"errorMessage": ""
}
服务状态码
返回码定义常见原因
200返回成功服务请求正常召回
400请求失败请求参数不合法,请按照返回提示修改参数
401未鉴权ak不合法或者账号未开通相应权限
403禁止未开通白名单,请前往反馈工单联系我们。
503服务不可用服务异常,请前往反馈工单联系我们。
500内部服务错误服务异常,请前往反馈工单联系我们。
排线结果还原地图服务说明

1、智能调度排线结果的前端 SDK API:结合智能调度算法API使用,便于客户能够在自己的系统中快速集成智能调度排线结果展示的能力。

排线结果SDK API说明

2、排线结果地图展示:用于单次任务线路结果展示,临时使用,下载下方文档后完善 taskId 与 serveAK 信息保存后即可使用。

结果展示示例文档下载

修改配置
接口文档版本升级记录

V3版 排单排线接口文档

上一篇

使用准备

下一篇

排单排线查询

本篇文章对您是否有帮助?