距离约束取决于第一个访问节点的车辆路径问题
Posted
技术标签:
【中文标题】距离约束取决于第一个访问节点的车辆路径问题【英文标题】:Vehicle Routing Problem where distance constraint will depend on first visited node 【发布时间】:2021-05-21 07:24:51 【问题描述】:我正在尝试使用 OR-Tools 解决出租车接送员工并将他们送到办公室的车辆路线问题。
其中一个要求是任何员工都不应在路线外花费更多“x”公里,即如果 x = 10 公里且员工 A 住在离办公室 10 公里的地方,那么出租车接员工后行驶的距离A 不应超过 20 公里(10 公里 x + 10 公里从 A 到办公室的距离)。
所以,如果为了最佳路线,出租车需要选择员工A,然后B,然后C,但总距离是25km,那么不允许,如果超过20是很好。
因此,任何出租车允许行驶的最大距离将取决于第一个接载者是谁。有没有办法使用 OR-tools 来实现这样的场景?
【问题讨论】:
【参考方案1】:在python中应该是这样的:
x_pickup = manager.NodeToIndex(x_index)
x_drop = manager.NodeToIndex(y_index)
routing.solver().Add(
distance_dimension.CumulVar(x_pickup) + 10 <=
distance_dimension.CumulVar(y_drop))
【讨论】:
就我而言,拾取索引 (x_index
) 是未知的。可以先接任何员工。因此,无论哪种取货顺序都会给出最佳结果,即一个人会被选中
放入一个循环中-_-,我的意思是对于距离矩阵中索引为x_index
的任何员工是您员工的位置,y_index
是您距离中的办公室位置索引矩阵...以上是关于距离约束取决于第一个访问节点的车辆路径问题的主要内容,如果未能解决你的问题,请参考以下文章
VRP问题基于遗传算法求解带有时间窗车载容量限制多车辆单配送中心路径优化VRPTW(多约束)matlab源码
基于遗传算法求解带有时间窗车载容量限制多车辆单配送中心路径优化VRPTW(多约束)matlab代码