使用 optaplanner 解决 VRPMT 问题的最佳实践是什么?

Mar*_*ite 1 optaplanner vehicle-routing

我们当前的方法是多次运行求解器。我想知道是否有更好的方法。

一些解释:

多行程车辆路径问题(VRPMT):车辆可以执行多条路线。

Geo*_*met 5

以 VRP 为例,重命名VehicleVehiclePerDay,然后在其上引入 2 个字段:车辆和 LocalDate。这是假设每天一趟。

如果您在同一天进行多次旅行,有两种方法:

1)如上将Vehicle拆分为VehicleTrip,并让它们指向前一个。因此,当同一车辆的第一次行程返回车厂时,第二次行程出发(加上装载时间)

2) 使用影子变量总和容量使用情况直到每次访问并引入“自动”返回仓库时刻。基本上,如果一辆车的容量为 10 人,并运送到 5 个地点,每个地点 3 件物品,则如下所示:

  • 车辆A
    • 访问1:总容量需要3,@ShadowVariable goBackToDepotFirst=false
    • 访问2:总容量需要6,@ShadowVariable goBackToDepotFirst=false
    • 访问3:总容量需要9,@ShadowVariable goBackToDepotFirst=false
    • 访问4:总容量需要3,@ShadowVariable goBackToDepotFirst=true
    • 访问5:总容量需要6,@ShadowVariable goBackToDepotFirst=false