如何解决ortools linear_solver scip 加速 - 多线程?
from ortools.linear_solver import pywraplp
SOLVER = pywraplp.solver.CreateSolver('SCIP')
...
SOLVER.solve()
它执行了很长时间 - 所以为了优化它,我尝试了:SOLVER.SetNumThreads(8)
在与 .solve()
行之前 - 但它根本不起作用。
所以我有以下问题:
- 我认为多线程在这里是一种唾手可得的成果,所以怎么可能
我让它工作 - 我们谈论的是常规的 python shell,在
特别是在 jupyter notebook 上(但我们也可以将它作为
python script.py
- 我就是不明白为什么它不能继续运行 jupyter,但作为脚本运行)。 - 有没有其他方法可以加快速度 起来了吗?也许有些不太明显?
警告
我是数据工程师,我认为数据科学家在那里所做的一切都是完美的 - 所以我正在寻找建议如何使用 ortools
更快地工作,而不是如何用更快的工具替换它们;)>
解决方法
所以,
- 多线程对于 SCIP 来说并不是一个容易实现的目标。您能达到的最好成绩是 2 倍。
- 它应该被编译,除了 linux,因为某些原因,用于构建它的 cmake 命令似乎不起作用。
- 如果您的问题是纯整数,您可以尝试使用 'sat' 求解器。它受益于多线程(8 个工人或更多)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。