ortools线性求解器scip是否加快多线程?

2024-04-26 23:00:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

from ortools.linear_solver import pywraplp
SOLVER = pywraplp.Solver.CreateSolver('SCIP')
...
SOLVER.solve()

它执行了很长一段时间,所以为了优化它,我尝试了:SOLVER.SetNumThreads(8)在使用.solve()行之前,但它根本不起作用

因此,我有以下问题:

  1. 我假设多线程在这里是一个低挂果实,那么如何能够 我让它工作-我们在讨论常规python shell,在 特别是在jupyter笔记本上(但我们也可以按 python script.py-我就是不明白为什么它不能在计算机上运行 jupyter,但作为脚本运行)
  2. 有没有其他加速的方法 是吗?也许是不太明显的

警告 我是数据工程师,我认为数据科学家在那里所做的一切都是完美的——所以我在寻找如何使用ortools更快地工作的建议,而不是如何用更快的工具来取代它们;)


Tags: 数据代码fromimportjupyterlinearsolversolve
1条回答
网友
1楼 · 发布于 2024-04-26 23:00:34

所以

  1. 对于SCIP来说,多线程并不是一个唾手可得的成果。你能达到的最好成绩是2倍
  2. 它应该在中编译,linux除外,因为某种原因,用于构建它的cmake命令似乎不起作用
  3. 如果您的问题是纯整数,您可以尝试“sat”解算器。它得益于多线程(8个工人或更多)

相关问题 更多 >