2013-03-20 82 views
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(大寫字母)是矩陣(球形張量)一個約束是具有小寫變量的乘積必須是正半定的,它也具有在變量陳述後履行所有其他的平等/不平等。

好,這個程序也無法正常工作所要求的CVX二次最大化不是凸的,別人的一種方式,其中這種優化可以重新或解決與其他資源

好,任何輸入都知道是承認,

回答

2

看起來像你試圖最大化與仿射空間和醜半空間相交的球二次方。

最大化球上的二次方稱爲「信任域子問題」。令人驚訝的是,它承認了一個有效的解決方案。我從來沒有使用它,但Marielba Rojas等人的LSTRS。顯然實現了一個TRS解算器。

雖然你需要處理不等式約束。我建議找到最小可行的拉格朗日乘數,這樣可以使TRS實際處於理想的半平面中。二進制搜索是一個非常低技術的方式來做到這一點。