我在GNU Octave中使用sqp
函数:
[x, obj, info, iter, nf, lambda] = sqp(x0, phi, g, h, lb, ub, maxiter, tol)
它似乎对我有用,但我想知道输出nf
,特别是lambda
是什么意思。在sqp
的页面上,它会告诉您x
,obj
和info
是什么,而不是其他两个。如果您的优化导致lambda
所有值都为零,那么这也是一件好事吗?
答案 0 :(得分:0)
lambda是一种Matlab风格的拉格朗日最优结构。您可以在这里找到文档:
Lagrange Multiplier Structures
如果它们全部为零,您的优化失败,或者您使用的是没有有意义的拉格朗日语的解算器(可能不提供渐变?)检查'信息'输出更多细节。
' NF'是算法计算的最后雅可比行列的宽度。我不确定对用户有什么用处,但代码中有一些注释表明有人在某些时候使用它进行调试...