MATLAB的好C ++替代品" fminunc"?

时间:2016-10-03 12:40:24

标签: c++ matlab minimize dlib

我正在尝试将一些用MATLAB编写的代码转换为C ++。我有一些(或实际上很多)在找到" fminunc"的替代方案时遇到了麻烦。我可以在C ++代码中替换和使用的MATLAB代码中使用的函数。我一直在看" dlib" -library,因为我听说它可能是我可以使用的功能,但我不确定使用什么功能。

这是" fminunc"在我要转换的MATLAB代码中使用:

[theta, cost] = ...
fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);

有没有人知道C ++中有这么好的优化函数?

2 个答案:

答案 0 :(得分:0)

dlib中有一堆优化器,有些使用渐变,有些则只使用黑盒功能。您可以在此处查看一些示例http://dlib.net/optimization_ex.cpp.html,更常见的是http://dlib.net/optimization.html

答案 1 :(得分:0)

我相信你所寻找的是Google Ceres Solver,这是一个开源C ++库,用于建模和解决大型复杂的优化问题。该代码旨在处理两类问题:

  1. 带有边界约束的非线性最小二乘问题。
  2. 一般无约束优化问题。
  3. 也支持自动区分。

    可以找到几个很酷的示例应用程序here