私はInteriorPointSolverを使用して、線形制約のある標準的な二次計画問題を解決しようとしています(ここにある定義に従って)。私の問題には線形項がありません(定義の「c」ベクトル)。すべての変数でSetCoefficient(Int32、Rational、Int32、Int32)を使用して「Q」マトリックスを設定しています(「goal」行をvidRowとして渡します)。InteriorPointSolverが二次計画問題の標準定義で定義されている目的関数を最小化していると仮定して正しいですか?
x ^ T * Q * xを自分で計算すると(ソルバーから取得したxの最適解を使用して)、ソルバーが最適な目的関数値であると主張する値とは大幅に異なる値が得られるため、これを尋ねます( Statistics.PrimalまたはGetValue(goal)を介して)。計算とソルバーの最適値が一致するのは、Qに単位行列を使用する場合のみです。何か間違った設定をしている、または最小化されている関数を正確に理解していないと推測しています。
私は見つけることができるすべてのドキュメントを調べましたが、内部ポイントソルバーが最小化している関数の正確な説明を見つけることができません。誰かが私を正しい方向に導くことができますか?