OptaPlanner,在VariableListener中更新多个CustomShadowVariables

OptaPlanner, update multiple CustomShadowVariables in VariableListener

这个问题是为了向我澄清。 optaplanner-bom 7.45.0.Final。我的案例:PlanningEntity 是任务,它包含 PlanningVariable startingTimeGrain 和 CustomShadowVariable 持续时间。是的,持续时间取决于开始时间。在VariableListener()中传入了两个参数,一个是PlanningSolution对象调用它“s”,另一个是Task 对象称它为“任务”。问题,在listener方法中,因为所有的Task对象都可以通过“s”访问,改变“task”的“duration”后,再改变其他task的“duration”会有问题吗?比如一共两个task:taskA和taskB,在listener方法中,传入object taskA时,是否也可以改变taskB的时长?

是的,你可以。

一个 VariableListener 可能会影响 多个 包含影子变量的 class 实例的影子变量(对其进行注释)。

例如,在下面的例子中,到达时间侦听器得到 1 个更改(添加了阿姆斯特丹),但影响了 3 个实体实例: