alk*_*kar 16 c optimization least-squares levenberg-marquardt
我正在寻找一个C语言库,它将对目标函数进行优化(最好是Levenberg-Marquardt算法),并且将支持框约束,线性不等式约束和非线性不等式约束.
我已经尝试了几个库,但它们都没有为我的应用程序使用必要的约束类型:
我目前正在探索NLopt,但我不确定我是否可以使用任何提供的算法实现最小二乘法.
我发现很难相信没有一个库可以支持这个问题的全部限制,所以我猜我在google搜索时出错了.
我最近发现我可以从C调用Matlab函数.虽然这很容易解决问题,但我不想从C调用Matlab函数.根据我的经验,这并不快.
任何帮助将不胜感激.
前段时间我正在研究C/C++最小二乘拟合库的状态.我记下了一些链接,包括你提供的链接,还有:
ALGLIB /优化 - 具有边界约束的Lev-Mar.
WNLIB/wnnlp - C中的约束非线性优化包(一般优化,非最小二乘).通过添加惩罚函数来处理约束.
我还没有使用任何库,但NLopt对我来说似乎最有希望.如果它具有(加权)最小二乘拟合的专用接口和算法,那将是很好的.
顺便说一下,关于Matlab的注释是否意味着它具有非线性约束的Lev-Mar?
小智 5
MPFIT使用Levenberg-Marquardt技术来解决最小二乘问题.在其典型用途中,MPFIT将用于通过调整一组参数将用户提供的功能("模型")拟合到用户提供的数据点("数据").MPFIT基于More'和合作者的MINPACK-1(LMDIF.F).
http://cow.physics.wisc.edu/~craigm/idl/cmpfit.html