笔记 / Timefold Solver / 调优与扩展
01 / 06 / 03

多线程与企业版边界

状态
持续整理
来源
Obsidian
创建
2026/05/14
公开整理
2026/07/31

30 秒速览#

多线程不是“开了就更快”。Timefold 中部分多线程能力属于 Enterprise Edition。社区版项目应优先通过模型、约束、算法和数据分解优化。

多线程类型#

类型含义注意
多数据集并行多个 Solver 同时解不同问题SolverManager 可支持
move 多线程同一问题内并行评估 move企业版能力
Partitioned Search拆分同一问题并行求解企业版能力
多个独立 Solver 抢最好结果成本高,收益有限通常不推荐

社区版优先策略#

  • 降低候选值范围。
  • 优化约束性能。
  • 控制问题规模。
  • 滚动窗口求解。
  • 分批求解后合并。
  • Benchmark 找更合适的算法。

企业版可能带来的能力#

  • Nearby selection。
  • 多线程增量求解。
  • Partitioned Search。
  • 自动 node sharing。
  • 更高级的事件节流等能力。

具体能力需以目标版本官方文档为准。

生产排程判断#

如果 10000 订单全量求解过慢,先不要直接寄希望于多线程。应先问:

  • 是否可以按时间窗口拆。
  • 是否可以按产线组拆。
  • 是否可以冻结近期计划。
  • 是否可以只重排受影响区域。
  • 是否有无效候选值被大量尝试。

易错点#

  • 把性能问题简单归因于 CPU 不够。
  • 多线程 Benchmark 不控制机器负载。
  • 线程开太多导致 GC 和上下文切换变重。
  • 忽略企业版/社区版功能边界。

关联笔记#