有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java规划实体可以由Optaplanner自动添加或删除吗?

我是Optaplanner的新手。我以为我已经了解了什么是规划实体,以及规划变量,正数或是倒数。我已经开始研究文档、示例和老StackOverflow的问题,但仍有一些疑问

当我尝试使用增量分数计算器时,我在IncrementalCoreCalculator界面中发现了一些意想不到的方法。连同beforeVariableChanged和afterVariableChanged,我发现*EntityAdded和*EntityRemoved,这让我怀疑实体对象可能会被添加和删除。此外,这些方法在NQueens记录的示例中得到了实现,但在我看到的示例中,例如分配班次、资源、时间段等,我发现该领域的设计方式是,计划实体预计会被修改,但不会被添加或删除

我不知道实体对象的添加/删除是否在某个地方使用过,比如我没有深入研究的路线规划问题,以及这些添加和删除是显式的还是隐式的。那么,Optaplanner是否可以在没有要求的情况下添加或删除规划实体


共 (1) 个答案

  1. # 1 楼答案

    不,OptaPlanner开箱即用不会添加或删除规划实体实例,因为默认的移动选择器只修改规划实体,不会创建或销毁它们

    OptaPlanner还没有任何通用的移动选择器可以做到这一点(一旦我们做到了,默认情况下它们就不会打开)

    如果编写自定义移动(请参阅文档中的MoveListFactory和MoveIteratorFactory),则可以选择在移动中添加/删除实体,这就是为什么存在这些方法,但很少有用户这样做