【问题标题】: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 来实现这样的场景?

【问题讨论】:

    标签: traveling-salesman or-tools vehicle-routing


    【解决方案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是您距离中的办公室位置索引矩阵...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 2021-08-06
    • 2019-11-29
    • 2023-04-10
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多