2

制約付きのmatlabで非凹二次関数を解決するにはどうすればよいですか? quadprog を使用してみましたが、動作しません

関数 f=x'Ax を、xs の合計が 1 かつ 0<=x<=1 に等しいという制約で最適化する必要があります。私の機能は凹型ではありません。だから私はただ最大化する必要があります。グローバルの方が優れていても、局所的な最大値を見つけても問題ありません。

matlab の quadprog 関数を使ってみました。しかし、その成果は芳しくありません。終了するかどうかはわかりませんが、結果はそれほどうまくいきません。回数を繰り返すだけのものが欲しいので、それを伝えて結果を教えてくれます

私はこのようなものを実装しようとしています

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=68DD5FE71FCEB5629F1FA0F1E02CCFE8?doi=10.1.1.157.6789&rep=rep1&type=pdf

さて、私の問題のシナリオは、一連のポイントとラベルがあることです。したがって、仕事はポイントをラベルと一致させることです。考えられるすべての (ノード、ラベル) ペアでグラフを定義します。サイズのアフィニティ マトリックスを定義します (number_node_label のペア、number_node_label のペア)

そして、xs = 1 の合計という制約で関数 x'Ax を最大化したいと考えています。すべての xs >=0 つまり、点はシンプレックスにあります。

私のアフィニティマトリックスについて

A(u,v) ここで、u と v はポイントとラベルのペアの 1 つです。つまり、u=point1,label1 v=point2, label2 とします。

A(u,v) = exp(-abs(||point1-point2||-||label1-label2||)) / シグマ A(u,v) = 0 if u==v

レプリケーター方程式のようなものが欲しい

4

0 に答える 0