第 2 章 红帽构建的 OptaPlanner 8.38 新功能


本节重点介绍红帽构建的 OptaPlanner 8.38 中的新功能。

注意

Bavet 是用于快速分数计算的功能。Bavet 目前仅在 OptaPlanner 的社区版本中可用。红帽构建的 OptaPlanner 8.38 不提供它。

2.1. pillar move 和 nearby 选择的性能改进

现在,OptaPlanner 可以自动探测到多个 pillar 缓存的情况,多个 pillar 缓存可以共享预计算的 pillar 缓存,而不是为每个移动选择器重新计算 pillar 缓存。例如,如果您组合了 pillar move,例如 PillarChangeMovePillarSwapMove,您应该会看到更高的性能。

如果您使用 nearby 选择,这也适用。现在,OptaPlanner 可以自动检测预计算的距离列表,可在多个移动选择器之间共享,从而节省内存和 CPU 处理时间。

因此,以下接口的实现应该是无状态的:

  • org.optaplanner.core.impl.heuristic.selector.common.nearby.NearbyDistanceMeter
  • org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionFilter
  • org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionProbabilityWeightFactory
  • org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionSorter
  • org.optaplanner.core.impl.heuristic.selector.common.decorator.SelectionSorterWeightFactory

通常,如果 solver 配置要求用户实施接口,则预期的是实施是无状态的,也不会尝试包含外部状态。通过这些性能改进,无法遵循此要求将导致微小的错误和分数损坏,因为解决者现在会在看到适合的情况下重复使用这些实例。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat