0

誰かが次のような問題を解決するのを手伝ってくれるかどうか疑問に思っています:(matlabとCVXを使用)

cvx_begin sdp

variables x0 x1 x2 x3 y1 y2 y3 y4 y5

x0==1/sqrt(3)

1/3+x1^2+x2^2+x3^2+y1^2+y2^2+y3^2+y4^2+y5^2<=1

x1==-x3 
y1==y5
y2==-y4 

x0*X0+x1*X1+x2*X2+x3*X3+y1*Y1+y2*Y2+y3*Y3+y4*Y4+y5*Y5>=0

maximize(x1^2+x2^2+x3^2)

cvx_end

X0、X1、.....X3、Y1、....Y5、Z1...Z7 (大文字) は行列 (球面テンソル) です。1 つの制約は、小文字の変数との積がまた、変数ステートメントの後の他のすべての等式/不等式も満たす必要があります。

二次最大化は CVX で要求されるように凸でないため、このプログラムは機能しませんでした。誰かが、この最適化を再定式化または別のリソースで解決できる方法を知っています。

まあ、どんな入力も承認されます、

4

1 に答える 1

2

アフィン空間と醜い半空間と交差するボールの二次方程式を最大化しようとしているように見えます。

ボールの二次方程式を最大化することは、「信頼領域のサブ問題」として知られています。驚くべきことに、それは効率的な解決策を認めています。私はそれを使ったことがありませんが、MarielbaRojasらによるLSTRS。どうやらTRSソルバーを実装しています。

ただし、不等式の制約に対処する必要があります。実際に目的のハーフプレーンにあるTRSの最適なソリューションをもたらす、実行可能な最小のラグランジュ乗数を見つけることをお勧めします。バイナリ検索は、これを行うためのかなりローテクな方法です。

于 2013-03-21T08:42:38.017 に答える