2016-10-03 1 views
2

私はMATLABで書かれたコードをC++に変換しようとしています。私は置き換えてC++コードで使用できるMATLABコードで使用されている "fminunc"関数の代わりに、いくつか(または実際はかなり)問題を抱えています。私は "dlib"ライブラリを見てきました。なぜなら、そこでは私が使うことができる関数だと聞いたからですが、どの関数を使うのかは分かりません。 「fminuncのは、」私が変換したいMATLABコードでどのように使用されるかMATLABの "fminunc"に代わる良いC++の代替品ですか?

これは、次のとおりです。

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

は、誰もがC++でのこのような任意の良い最適化機能を知っていますか?

+2

"Cの数値レシピ"?万が一神経ネットワーク、 –

+0

?あまりにも多くのオプションを持つ 'fminunc'に相当するものを見つけるのは簡単ではありません。問題のドメインだけで 'fminunc'に相当するものを見つけたいと思っています。 – MSalters

答えて

0

あなたが探しているのは、大きく複雑な最適化問題のモデリングと解決のためのオープンソースのC++ライブラリ、GoogleのCeres Solverです。コードは、2つのクラスの問題を処理するように設計されています。

  1. 境界制約のある非線形最小二乗問題。
  2. 一般的な拘束されていない最適化の問題。

自動判別もサポートされています。

いくつかのクールなサンプルアプリケーションは、hereで見つけることができます。