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

如何在Optaplanner中每次移动后最好地触发代码?

曹奇文
2023-03-14
  1. 如何在移动结束时触发,而不是每个变量?口水?这不是黑客吗?
  2. 如果不使用VariableListener,它将不再是PlanningEntity。难道这不是一个与文档相反的问题吗?缺点是什么?
  • “计算”是对规划期间内流量网络值的预测,其中流量级别取决于任务的当前位置。
  • 我们使用的是实时计划,因此计划期间窗口会根据任务集大小进行调整,并随时间推移。

共有1个答案

燕嘉颖
2023-03-14

1)听起来你应该使用一个影子变量。注意你仍然需要一个正常的约束,根据影子变量的状态更新分数。

在移动结束时,每个移动调用TriggerShadowVariableListeners(),而不是在中间。所以如果你担心表现,你不应该担心。如果你担心正确性--因为调用的数量会影响你的计算--那么就不要这样设计/实现它...

0)MoveListener并不存在,这是有意的(出于很好的原因),甚至在内部也不存在(即使是非常内部的PhaseLifecycleListener也只监听步骤,而不是移动)。

 类似资料:
  • 问题内容: 我正在尝试对存储进行多次更改,但是直到所有更改完成后才进行渲染。我想用redux-thunk做到这一点。 这是我的动作创建者: 我像这样派遣我的异步动作创建者: 但是,这导致每次反应后都进行渲染。我是redux-thunk的新手,我从未使用过异步中间件,但我认为它可以在这里为我提供帮助。 问题答案: 有一些方法可以实现目标: 经典方式: 通常:动作描述 发生某事 的 事实 ,但没有指定

  • 问题内容: 我有一个page1.php,我有一个fly.php。page1.php是一个简单的(常规)表单页面,当用户提交表单时,人们会在其中放置信息。 通过ajax,它加载验证码模板,并要求即时验证(直到这里很好)。 经过onFly验证后,我要允许此.submit()继续 问题:此验证码中的n个,并在验证成功之后,恢复表单提交(处于保留状态)? 例: 第1部分:page1.php 第2部分:fl

  • 我正在做一个项目,我们使用flyway来升级我们的DB模式。 我正在通过插件使用。 多谢

  • 我试图用JavaFX创建一个“可拖动”的直方图UI。我有一个滚动窗格,其中包含一个网格窗格,有一列和许多行。每行是一个包含标签的HBox。每10行,还有一个包含一行的HBox。 我试图通过设置onMousePressed、onMouseAdrag和onMouseCreleased事件处理程序(如下所示),使包含行的HBoxe可拖动。如果我将一条hbox线拖动并释放到它的起点之上,它就会工作-它最终

  • 问题内容: 现在,我的代码看起来像这样: 根据我所看到的(以及该类的Javadocs),计时器将等待5000毫秒(5秒),触发action事件,等待5000毫秒,再次触发,依此类推。但是,我要获取的行为是计时器已启动,事件已触发,计时器等待5000毫秒,再次触发,然后等待再次触发。 除非我错过了任何事情,否则我不会找到一种创建不会在触发前等待的计时器的方法。有没有一种很好的,干净的方法可以模拟这一

  • 我制作了jbutton并向其添加了ActionListner,但public void actionPerformed(ActionEvent e){}中的代码执行了两次。它打印两次test,而不是只打印一次 这里是完整的代码,以防这是没有意义的。看起来问题是添加两个动作监听器到我的按钮。“if(testbut.GetActionListeners().length<1))testbut.AddA