使用 CLP 使用多线程解决问题

计算科学 并行计算 软件 线性规划
2021-11-30 21:57:06

是否可以使用 Julia 和 JuMP 在多个线程上运行 Clp?

1个回答

通过 Clp,我假设您指的是作为 COIN-OR 项目一部分的线性编程代码:

http://www.coin-or.org/Clp/

Clp 的原始和对偶单纯形代码不是多线程的,因此即使您从 Julia 的多线程程序中调用 Clp,每个 LP 也将由单个线程解决。可以在 Clp 中使用带有线程稀疏 Cholesky 分解例程的原始对偶内点方法。

一般来说,已经证明要高效地并行实现单纯形法是极其困难的。原始对偶内点法的并行实现更加成功,这主要是因为原始对偶方法每次迭代的主要工作是大型稀疏矩阵的 Cholesky 分解,并且在并行执行这些分解方面取得了相当大的进展。