Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

6年前关闭。



Improve this question




我正在寻找一种软件包来解决C++中非常大的稀疏非线性最小二乘问题。我遇到了许多使用C++编写的现代linalg库(本征, Armadillo ,boost等),但是似乎没有一个内置这样的求解器(甚至是常规的最小二乘法)。尽可能避免对旧的C / Fortran接口(interface)造成一堆困惑的调用。谢谢!

最佳答案

我只会使用用C++编写的通用NLP求解器 IPOPT。它是我尝试过的最强大的求解器,它适用于非常大的问题。

如果您使用通用IPOPT,那么更改需求(例如添加约束)将没有问题。

解决方案过程中耗时的部分是在每个迭代步骤中求解线性系统,因此值得为您的平台获得最佳的线性求解器+ LinAlg软件包。

不幸的是,IPOPT在内部调用Fortran子例程,因此您将需要一个Fortran编译器,这有点麻烦。

如果IPOPT还不够,您将不得不寻找特定于问题的解决方案。

10-08 08:13