我正在寻找一个C++优化软件包,可以使用梯度和Hessian信息进行多变量无约束优化。我现在在Matlab中使用fminunc和'GradObj','Hessian'和'HessPattern'选项。我的黑森州非常稀少,所以考虑到这一点的软件包会更可取。使用梯度和(稀疏)Hessian的无约束优化
这是否有任何替代Matlab的?开源或封闭源都很好。 C++是可取的,但我很灵活。
我正在寻找一个C++优化软件包,可以使用梯度和Hessian信息进行多变量无约束优化。我现在在Matlab中使用fminunc和'GradObj','Hessian'和'HessPattern'选项。我的黑森州非常稀少,所以考虑到这一点的软件包会更可取。使用梯度和(稀疏)Hessian的无约束优化
这是否有任何替代Matlab的?开源或封闭源都很好。 C++是可取的,但我很灵活。
您是否考虑过将MATLAB库编译为R可引用的.dll或.exe文件? MATLAB有这个功能。
这就是我现在正在做的事情,但是MATLAB是一个相当大的依赖项,我一直在寻找替代品。 – eglaser
据我所知,你需要的是一个高效的线性代数库。考虑一下,例如,uBLAS
我最近在R中遇到了trustOptim包。它在Hessian很稀疏的情况下很有用。据我所知,该软件包的核心是用C++编写的,并使用Rcpp与R接口。它也是开源的。
这会在StackOverflow上获得更多关注吗?你想要做什么样的优化? “无约束多变量”并没有把它缩小得太多 - 你的意思是它适用于任何两次可微函数吗?我问的原因是有些优化器可能对某些类型的问题更好,尤其是在可以利用稀疏性的情况下。 – Iterator
这基本上是一个基于摄影测量的束调整问题。有数百个变量需要优化,但大多数变量只与少量其他变量相互作用,导致稀疏的Hessian矩阵。 – eglaser