我有型号:
SelectionNode 中包含 SelectionTeam 列表的选项(不带 SelectionVariant)不适合我,因为它不仅仅是任何一组 SelectionTeam,而只是指定的变体。
我需要 SelectionTeam 中的 SelectionNode 列表。
有一些带有两个类的示例(例如 FlightAssignment 和 Employee),但是我如何在我的案例中使用影子变量?
我尝试在 SelectionTeam 中的 SelectionNode 列表中添加 @ShadowVariable (带有 VariableListener),但是当我尝试使用这个集合(SelectionNode 列表)时,我得到 java.util.ConcurrentModificationException,我想是因为它在解决方案克隆时不会克隆。
从 Timefold 文档中,您可以将
@DeepPlanningClone
添加到 SelectionTeam
类,这将导致它被克隆(从而克隆其 SelectionNode
计划实体列表)。
但是,我怀疑
ConcurrentModificationException
是由于不克隆引起的(因为求解器在求解过程中不会从集合中添加或删除元素);您在迭代时是否在集合中添加/删除?请参阅此 Stack Overflow 答案,了解有关解决 ConcurrentModificationException
的详细信息。