OptaPlanner,Score计算速度会太低

2023-11-30

运行我的 optaplanner 项目并得到以下输出。看来有两个问题。这些输出是什么意思?第一个是

Score calculation speed will be too low because move thread ({})'s destroy wasn't processed soon enough.

另一个是

ERROR 603112 --- [pool-1-thread-3] o.o.core.impl.solver.thread.ThreadUtils  : Multithreaded Local Search's ExecutorService didn't terminate within timeout (1 seconds).

包含错误的输出是here.

application.properties是从某处复制的,不太了解。该文件是这样的:

spring.datasource.url=jdbc:h2:mem:fedb;DB_CLOSE_DELAY=-1
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
logging.level.root=INFO
logging.level.org.springframework=INFO
logging.level.org.drools=INFO
logging.level.org.optaplanner.core=INFO
optaplanner.solver.termination.spent-limit=2s
optaplanner.solver.move-thread-count=10
optaplanner.solver.environment-mode=NON_REPRODUCIBLE
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
server.port=8090

回答杰弗里的问题: 使用Java 1.8.0_241,OptaPlanner optaplanner-bom 7.59.0.Final。 终止时间设置为 2 秒,应用程序按时退出并提供有效的解决方案。昨天一直可以重现错误输出,但是今天完全没有错误,没有更改代码。真的很奇怪。今天的输出是here。我想我应该删除这个帖子。


除了杰弗里的回答之外,我想从您提供的日志中指出另一件事:

 The resolvedMoveThreadCount (10) is higher than the availableProcessorCount (8), which is counter-efficient.

您似乎过度扩展了您的机器。所有的上下文切换可能会让你的求解器陷入瘫痪。

此外,我认为当前的最佳实践是不要超过 4 个移动线程,因为无论如何解算器可能都不会超过这个数量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OptaPlanner,Score计算速度会太低 的相关文章

随机推荐

  • Git 说有变化但实际上没有

    首先 我无法放弃对文件的更改 我会使用git reset hard 没有错误 但更改仍然存在 我尝试了其他 StackOverflow 文章中的一些建议 git rm gitattributes git add A git reset ha
  • 是否可以连接两个或多个 WiFi Direct 组?

    我目前正在为我正在进行的一个项目尝试 WiFi Direct WiFiP2p 并想知道是否可以在组之间创建桥梁 从而将它们连接在一起 基于白皮书由 WiFi 联盟发布 这应该是可能的 尽管 P2P 规范没有描述此功能的机制 实施是特定于供应
  • 无法推送到 Bitbucket 上的 Git 存储库

    我创建了一个新的存储库 但遇到了一个奇怪的错误 我以前在 Bitbucket 上使用过 Git 但我刚刚重新格式化 现在似乎无法让 Git 工作 提交后 我必须将我的电子邮件和姓名添加到全局变量中 但随后它就正常提交了 当我尝试使用该命令时
  • Android - 配置 Spinner 使用数组

    我通过以下方式声明我的 Spinner 它非常静态 所以我 有 2 个字符串数组array xml对于标题和值
  • 如何每 30 秒清空 Guava 缓存,同时将其发送到另一个方法?

    我通过调用从多个线程填充我的番石榴缓存add方法 现在 从每 30 秒运行一次的后台线程中 我想将缓存中的所有内容发送到sendToDB原子方法 下面是我的代码 public class Example private final Sche
  • 向多维数组添加元素

    如果我像这样定义一个多维javascript数组 var myStack new Array 3 edit var myStack 一次插入一个值的最佳方法是什么 myStack 1 1 0 myValue 我想读取数据库并一次写入一个值
  • python中的逆正态随机数生成?

    我过去曾使用 random normal 来生成一个数字 如果多次调用该数字 总计将创建一个钟形曲线分布 我现在想做的是创建相反 逆的分布 其中分布偏向某个范围内的极端 excel中有一些内置函数似乎可以满足我的要求 有没有办法在 pyth
  • Date.parse() 在 IE 8 中不起作用

    功能简单Date parse 工作不顺利互联网浏览器 8 我在用Date parse 验证日期格式 MM DD YYYY isNaN Date parse 99 99 9999 return true 日期无效 isNaN Date par
  • 导出/导入 OWASP ZAP 被动扫描规则

    有没有办法为被动扫描创建扫描策略 我知道您可以为主动 攻击扫描创建和修改扫描策略 但我想知道您是否可以对被动扫描规则执行相同的操作 或者是否必须在每台计算机上单独修改它们 有一个现有的票证可以在单一策略类型界面中统一主动 被动扫描处理 ht
  • 服务器端 Flash 功能测试

    我正在开发一个 ASP NET 网站 需要支持非 Flash 用户 如果用户的浏览器不支持 Flash 或者禁用了 Flash 我想将大的启动图像下载到浏览器 但是我不想浪费带宽来下载它 如果 Flashdoes正确渲染 那么是否可以使用
  • 从另一个 Glassfish(Web-Container)访问另一个 Glassfish(EJB-Container)中运行的远程 EJB

    我想使用两台独立的服务器 一台用于 Web 容器 一台用于 ejb 容器 这两个容器都是 Glassfish V3 但是 如何在我的 Web 项目中使用 EJB 注释来访问远程 ejb container 的 ejb 在 Ejb 2 0 中
  • 在终端上切换 GitHub 帐户时遇到问题

    自从我将任何东西推送到 GitHub 以来已经有一段时间了 我最初在计算机上设置了帐户 一切运行良好 然后我将我的帐户更改为客户的帐户 这样我就可以将代码推送到他们的私人存储库 已经有一段时间了 现在我要改回旧帐户 但遇到了麻烦 我生成了一
  • 当上游有事件时,为什么有一个可用的“事件”变量而没有定义?

    我今天偶然发现了一个奇怪的行为 基本上 我有一个绑定到 knockout js 单击事件的函数 该函数利用了淘汰事件 但没有明确将其作为参数 this myClickHandler function console log event ev
  • 从子字符串中包含特定字符的字符串中提取单词

    在 MS Excel 中 我想使用公式从文本中包含特定字符 的单元格中仅提取单词 A2 多莉给我做了一个自制的蛋糕和一些松饼 A3 晚餐我们吃了奶酪 蛋糕 A4 每个人都喜欢面包店制作的美味 蛋糕 A5 约翰尼昨晚自己做了晚餐 然后打扫了厨
  • xlink 的 jQuery 选择器

    a xlink href coastline attr class grey a xlink href onshore attr class blue light 这就是我目前必须选择具有 xlink 的每个项目 coastline然后把它
  • 有没有办法很好地去除标签?

    有没有办法隐藏这个标签栏 附 不确定这个问题是否属于 stackoverflow 好的 我自己通过编写 VS 扩展来完成此操作 还将标题栏和菜单栏切换为自动隐藏 现在我的 VS 终于有了一个简约的视图 GitHub VS画廊
  • 如何在字典中打印换行符?

    我正在尝试通过字典创建一个查询 如下所示 Name name ID id Date of Birth dob 第二name是用户通过 raw input 输入的预设值 同样对于id和dob 这是我当前的代码 students id nNam
  • 是否可以预先评估 bash 的 PS1 中的值?

    我正在尝试构建一个 Bash 提示符 其中包含我的 git 分支信息 使用 git 的 bash completion 中的 git ps1 和一个小彩色笑脸来指示最近运行的命令是否成功 笑脸是使用这种技术创建的 我在这里找到了这样的技术
  • 如何使用 jquery mobile 创建 100% 高度的 div?

    如何创建 id test 高度为 100 的 div div div h1 Title h1 div div div div div div
  • OptaPlanner,Score计算速度会太低

    运行我的 optaplanner 项目并得到以下输出 看来有两个问题 这些输出是什么意思 第一个是 Score calculation speed will be too low because move thread s destroy