私は Visual C++ 2010 Express を使用するのはかなり初めてですが、基本は初めてではなく、外部ライブラリを使用して境界制約付き最小二乗最適化を実行する方法を理解しようとしています。
問題を簡単に言えば、線形最小二乗法を使用して、次の行列 W を見つけたいと考えています。
X * W = T
どこ
X is a matrix with 50 columns and 3 rows (50 x 3),
W is a column matrix with 50 elements (1 x 50) and
T is a column matrix with 3 element (1 x 50)
制約は W の要素の値にあります。要素を「w」と呼びましょう。
0 <= w <= 1
MATLAB でこれを行うのはかなり簡単ですが、これを C++ で実装する必要があります。行列 X と T を定式化するために、コードの最初のビットを実装しました。
Visual C++ 2010 Express で境界制約付き最小二乗法最適化を達成するために使用できるライブラリ/関数はありますか? ALGLIB、LEVMAR、および NLOPT を使用してみました。
ALGLIB では、配列を独自のデータ型で定義する必要があります。
LEVMAR には、インストールと使用する必要がある機能に関する情報がほとんどありません。
NLOPT にはこれに対する機能がないようです。また、ここに記載されている手順を使用して lib ファイルを生成し、VC++ で lib ファイルとソース ファイルをリンクした後でも、動作しないようです。
誰でも提案を手伝ってもらえますか? これは MATLAB で簡単に実装できますが、残念ながら C++ を使用する必要があります。