首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Optaplanner:如何计算移动的积分增量

Optaplanner:如何计算移动的积分增量
EN

Stack Overflow用户
提问于 2022-11-01 14:43:23
回答 1查看 15关注 0票数 0

我用Optaplanner自动计算学校时间表。在解决了时间表之后,用户将手动更改一些课程,并通过以下电话获得关于这一问题如何影响分数的反馈:

代码语言:javascript
复制
scoreManager.updateScore(timetable);

这个调用大约需要200毫秒,我想,它会做一个完整的评估。我试图对此进行优化,并且只想传递一个Move对象,这样Optaplanner只需要重新计算增量,例如:

代码语言:javascript
复制
scoreManager.updateScore(previousTimetable,changeMove);

有办法这样做吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-01 15:11:53

真的没有办法只做一个动作。你不会动的您只能对解决方案进行外部问题更改。您应该了解the ProblemChange interface及其在SolverManager中的使用。

但是,问题的改变可能会重置整个工作解决方案。在完成外部更改之后,您无法保证解决方案仍然有意义。(如果它现在打破了严格的限制呢?)您只需预期并说明这样一个事实:在用户提交更改后,解决程序将需要运行;甚至可能会运行很长一段时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74277656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档