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

没有问题的重复规划

袁晋鹏
2023-03-14

文件将其分为3种情况。“备份计划”、“连续计划”和“实时计划”。

http://docs.jboss.org/optaplanner/release/latest/optaplanner-docs/html_single/index.html#重复规划

如果我没有遗漏什么,那么所有optaplanner-examples(例如Nurse roastering)都使用“ProblemFactChange”(在“实时规划”下描述)执行重复规划。那很好。AddProblemFactChange()将优雅地处理ProblemFactChange。

但这听起来像是一种“实时规划”的方法。我们应该如何以更简单的方式实施‘后备计划'/'持续计划’?

要实现“15.2.备份规划”中所写的内容,

我只是:

  • 终止求解程序
  • 从求解器获取最佳解决方案
  • 直接编辑BestSolution中的问题事实/计划实体(不关心ScoreDirector)
  • 使用编辑的BestSolution再次运行求解器

https://github.com/tkobayas/optaplanner/blob/repeatedplanning/optaplanner-examples/src/main/java/org/optaplanner/examples/cloudbalancing/app/cloudbalancinghelloworldrepeat.java#L52-L73

这是一个有效的方法吗?

共有1个答案

姬浩渺
2023-03-14

关于上面的伪代码:这种方法也会起作用,它是一种手动形式的实时规划。problemfactchange的优点是它是从另一个线程(异步)提交的。一旦这样的PFC进入,求解器线程就会注意到PFC队列不是空的,停止求解,处理PFC队列,然后再次开始求解。和你上面描述的差不多。通过打开日志记录,我在CloudBalancing中看到,从异步线程提交PFC到求解器线程处理它并再次找到一个初始化的可行解决方案之间的时间是12ms左右(当然,这取决于PFC,在我的例子中,它是删除一台分配了10个进程左右的计算机)。

关于一般的重复规划:重复规划只是一个分类名称。重复计划的3种形式(备份计划、连续计划、实时计划)是相互补充的(相互正交),它们不是相互替代的。

护士名册(员工名册)示例实现:

  • 实时规划:删除带有红色X按钮的护士
  • 连续计划:按“提前1天到未来”按钮,因此计划窗口向右移动。

所有3个表单都服务于不同的需求,并且可以一起应用于同一个用例。

 类似资料:
  • 我是一名新的程序员,正在学习Java入门课程。我的操作系统是Windows 10。大约4-5个月前,我们最初设置了类路径,从命令行运行了我们的“Hello World”程序,然后再也没有使用过它。 现在我们正在做一个输入/输出重定向到文件的练习,我必须忘记我的类路径是什么,所以我试图重新设置它。 我已经使用以下命令设置了我的类路径: 然后我尝试运行我的程序,它位于目录C:\Users\grant\

  • 我试图用java创建一个anon类 它似乎根本不起作用,它给了我一个错误,说run()方法未定义。尽管我创建了一个包含run()方法的anon类,但我是一个完全的java初学者,我大部分时间用javascript编写代码,javascript是我最熟悉的语言,我正在努力适应java的概念,所以对这里的很多人来说,这个问题可能看起来很愚蠢,我为此道歉。提前谢谢

  • 通过go get 下载了依赖 通过go mod vendor 将依赖复制到vendor目录下 问题 有的依赖在$GOPATH 时存在包的 但是就是没有复制到vendor下 为什么?

  • 当我尝试运行使用Selenium打开浏览器(Firefox)的功能测试时,我收到了一条奇怪的消息,我无法理解。我已经使用pip安装--升级Selenium更新了Selenium,并重新安装了最新的Firefox,但没有帮助。这是我的错误消息的全文。有什么建议吗?

  • 我试图在虚拟机上安装Laravel项目的所有包。我已经安装了一切,但在作曲家安装操作显示错误MCrypt PHP Exstension必需。 但是Mcrypt已安装!我也做过这样的动作: 并在mcrypt.inimcrypt.sophp5路径。那么现在包含mcrypt.ini文件的是什么?只是这段文字: exstension=/usr/lib/20131226/mcrypt.so 还使用了:和而没

  • 我收到以下错误 索引-AFE1F71068EDED。js:1混合内容:页面位于'https://currency-rho.vercel.app/'已通过HTTPS加载,但请求了不安全的资源'http://api.currencylayer.com/live?access_key=138ca01354c449d7741ab9dbca4f4252'. 此请求已被阻止;内容必须通过HTTPS提供。 我假