Optaplanner CVRP - 容量可行(过度约束优化)

时间:2014-09-04 08:40:55

标签: java optaplanner

我是OptaPlanner的新手,所以这个问题可能是微不足道的。 使用CVRP示例我添加了一些客户,显然车辆容量超载问题变得不可行。 我希望实现的结果是获得仅涉及客户子集的路线,以便不会超载车辆的容量,因此不会破坏硬约束。

我打算使用:

  • 可以为空的变量,但不能与链式图一起使用。
  • 使用factchange,删除容量过载的实体,但我认为使用这种解决方法我无法获得最佳的适合负载能力。

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:2)

添加1"虚拟车辆"并在评分规则中对其进行不同的威胁:如果Vehicle.isDummy()为true,则忽略所有约束,包括距离成本和容量成本。然后根据您的业务为虚拟车辆(=未提供服务)的客户添加额外的软约束。