当前位置: 首页 > 知识库问答 >
问题:

如何在optaplanner中获得“当前”记分器--这有关系吗?

杜楚
2023-03-14

就像在这个线程中一样,我想在再次解决Optaplanner问题(重复规划)之前删除实体。

但是我不确定如何获得生成第一个解决方案时使用的score director,以及在删除实体时调用scoredirector上的Before/AfterEntityRemoved和Before/AfterVariableChanged的重要性?

假设我删除了一个车辆和分配给它的所有客户--而且我自己还没有构建一个记分定向器--那么我是否可以忽略在一个记分定向器上调用方法,并且仍然能够用一个正确计算的分数再次解决它呢?

共有1个答案

丁阎宝
2023-03-14

1)您确定不是删除实体,而是不分配实体吗?如果是,则执行过度约束的规划(请参阅文档)。

2)如果在将解决方案实例提供给solve(solution s)之前删除实体,则可以在不通知ScoreDirector的情况下删除实体。

3)删除实体通常会改变规划问题,因此这就是实时规划(=在求解过程中更改问题)。因此,如果您想在求解过程中删除实体,则需要在AddProblemFactChange()中完成。请参阅有关如何在其中获得ScoreDirector以及您的通知义务的文档。

 类似资料:
  • 在我的javascript中,我做到了 聚焦元素。 我没有尝试遍历DOM树,而是想知道是否可以简单地说 但我似乎在API中找不到它

  • 我有一个使用分布式TensorFlow的计划,我看到TensorFlow可以使用GPU进行训练和测试。在集群环境中,每台机器可以有0个或1个或多个GPU,我想在尽可能多的机器上将我的TensorFlow图运行到GPU中。 我发现在运行TensorFlow在日志消息中提供有关GPU的信息,如下所示: 我的问题是如何从TensorFlow获取当前可用GPU的信息?我可以从日志中获取加载的GPU信息,但

  • 我只想关掉记录。我在文档中发现了这一点:https://docs.jboss.org/optaplanner/release/6.2.0.Final/optaplanner-docs/html_single/index.html#logging 然而,我的项目没有回溯。xml文件。 有什么建议吗? 编辑: 我现在已经将以下logback.xml文件添加到类路径的根目录中: 这些jar文件在我的类路

  • 不幸的是,这是TLES。由于我使用递归调用,所以我并不真的认为我遇到了重叠的子问题。 有办法让我记住我的解决方案吗?如果没有,为什么?

  • 我是新的android,我想显示我当前的位置像“巴基斯坦拉合尔乔哈尔镇”。有什么需要帮忙的吗?

  • 问题内容: 我想做这样的事情: 我似乎找不到或不知道如何做到这一点,但我真的以为我以前看过它!:P 注: 我使用的是babel与设置为; 语境: 我试图在JSX中变得更干燥,而不是引用或无处不在。而且,如果数据发生更改,也不必继续添加属性以进行解构。 问题答案: 我认为您正在寻找该声明,它完全符合您的要求: 但是,出于充分的原因, 不推荐使用 (在严格模式下,其中包括ES6模块)。 将所有属性分解