我有一个带有线性约束的 quadratic optimization problem ,我想用 SCIP
来解决 . 我想要最小化的优化矩阵是 positive semi-definite (确切地说,它是某些变量的方差) . 我在 CPLEX LP
格式的文件中遇到问题,当我在 SCIP
中进行优化时,我收到了消息
Quadratic constraint handler does not have LAPACK for eigenvalue computation. Will assume
that matrices (with size > 2x2) are indefinite.
所以 SCIP
开始优化,假设矩阵是不确定的并且需要花费大量时间 . 我已经安装 LAPACK
,甚至在 lib
文件夹中复制了 liblapack.a
文件,其中 SCIP
源和二进制文件已经重新安装 SCIP
. 但是,我一直得到上述信息 .
有没有办法让 SCIP
使用 LAPACK
库?我相信优化会非常快,如果 SCIP
能够发现矩阵是正半正定的 .
2 回答
目前,SCIP只能通过Ipopt使用LAPACK . 当使用Ipopt支持编译SCIP时,非线性问题通常会有更好的表现,所以绝对值得推荐 . 跑
并确保事先安装了Ipopt .
如果你想修补SCIP有点使用你的Lapack lib而不提供完整的Ipopt(虽然它相对容易构建在* nix并且可以帮助提高性能,正如mattmilten指出的那样),这里有一个你可以尝试的补丁:
使用带有make的
USRLDFLAGS="-llapack -lblas"
.