SCIP中线程的使用

Use of threads in SCIP

在SCIP的参数列表中,我看到三种线程使用的引用:

我的问题是(是):使用默认安装时,SCIP 中如何使用线程? parallel/{min, max}threads 参数是否 与并发求解器相关?如果我不打开并发求解器,SCIP 会使用可用线程并行求解分支定界子问题吗?

提前致谢!

SCIP 参数 "parallel/" 和 "concurrent/" 部分中的所有参数 space 仅影响并发模式。

SCIP 默认是单线程的,但可以使用 UG-framework 或启用并发模式来并行化。

  1. 并发优化由交互式 shell 中的“concurrentopt”或 C API 中的方法“SCIPsolveConcurrent()”启动。使用的线程数可以通过parallel/minnthreads和parallel/maxnthreads来控制。如果设置了严格的内存限制,则线程数可能会进一步减少。

  2. 当您在 Hans Mittelmann 的网页上查看未缩放的求解时间时,您会发现 FiberSCIP 实现了轻微的加速。你说速度会变慢的说法可能是因为最佳求解器的相对性能更差。

总的来说:对于两种并行化方案,并行化是否具有提高性能的潜力是高度instance-dependent。