【发布时间】:2017-09-05 04:17:15
【问题描述】:
我正在尝试实现车辆路线示例的变体,其中我有“接送”和“下车”而不是客户。我的硬约束是:
- 每对相关的取件/送件对必须由同一辆车运送(例如,如果 A 车取走一件物品,则该物品不能由 B 车下车)。
- 必须在相关的下车之前进行取件(例如,除非您已经取件,否则您不能送件)。
- 车辆不能超过其最大容量。
除了这些硬性限制之外,我的解决方案的工作原理与车辆路线示例非常相似,其中每辆车都有一系列位置(PickUp 或 DropOff)。
我遇到的问题是,使用默认移动无法轻松地将 PickUp 和 DropOff 移动到不同的车辆。例如,以下更改移动会导致无效状态,因此将被拒绝:
为了正确完成移动,我需要做一个额外的移动,以便下车与上车属于同一链:
感觉正确的做法是实施某种同时执行两个动作的复合动作,但是我不确定解决这个问题的最佳方法。有没有人遇到过类似的问题?
【问题讨论】:
标签: optaplanner