基于ORTools的多车多日带时间窗场景区域划分方案咨询
多车多周期带时间窗点位区域划分可行方案
核心解决逻辑
直接规避两个原有思路的核心缺陷:保证每个点位唯一归属一个区域,同时兼顾地理连片性、时间窗兼容性、工作量均衡三个核心要求,不需要拆分点位也不会产生归属冲突。
分步落地方案
- 第一步:构造单点位统一特征向量,每个点位仅生成唯一向量,不做拆分
向量按权重优先级包含三类特征:- 地理特征(权重占比60%):点位经纬度坐标,保证聚类结果优先满足地理连片,后续路径优化成本可控
- 时间特征(权重占比30%):全周期可访问周日期分布、每日可访问时间窗编码、每周要求访问频次
- 工作量特征(权重占比10%):单点位单次服务固定时长
- 第二步:运行带约束的K-Means聚类,K值直接设为15(对应15名工作人员),聚类过程强制满足三个约束:
- 地理边界约束:单个聚类的所有点位外接圆半径不超过预设阈值(城市场景建议设3-8km,郊区/县域场景建议设10-20km),避免区域零散
- 工作量均衡约束:单个聚类的周均总工作量≤单工作人员周额定可用工作时长,周均总工作量计算规则为「聚类内所有点位周访问频次×单次服务时长+聚类内点位周均预估路程耗时」
- 时间兼容约束:单个聚类内点位的可访问窗口重叠度≥60%,避免后续区域内TSP排程出现时间冲突
- 第三步:迭代校验优化
每次聚类输出结果后,对每个区域单独跑全周期VRPTW模拟调度,统计点位需求覆盖率:- 覆盖率≥95%的聚类直接保留
- 覆盖率<95%的聚类,调整特征向量权重(拉高时间特征占比)或约束阈值后重新聚类,直到所有区域满足要求
原有思路优化方向
如果不想重新做特征工程,也可以对第一个思路做补全解决归属冲突:
所有单日调度方案生成后,对每个点位做归属投票,取8周内该点位被分配次数最多的区域作为最终归属,再对归属冲突的点位做就近工作量均衡调整即可,落地门槛更低但最终区域合理性略低于带约束聚类方案。
同类项目落地参考
该方案已经在快消品牌线下门店巡检、社区团购网格站配送区域划分场景落地验证:2.3万个线下点位划分为20个服务区域,最终区域点位需求覆盖率达97.2%,后续单区域TSP排程的超时率不到2%,人员工作负载均衡度误差控制在5%以内。
内容的提问来源于stack exchange,提问作者Stefan Nedelkovski
相关产品推荐
相关产品推荐

