我正在研究车辆路由问题,我必须实现一个约束,确保特定位置/s不应该是第一个或最后一个要穿越的位置。
有两种方法可以做到:
最简单的方法:
if (Customer.getPreviousStandstill instanceOf Vehicle) // first visit
if (Customer.getNextCustomer == null) // last visit
困难的方法(如果你需要单独列出第37次访问等):
在规划实体Customer
中增加一个阴影变量visitNumber
,在规划实体Vehicle
中增加一个阴影变量visitNumberTotal
。然后使用VariableListeners
来保持同步