只是想知道是否有人可以帮助我解决这样的问题:(使用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要求的凸,有人知道这种优化可以用其他资源重新配置或解决的方式
好吧,任何输入都是确认,
答案 0 :(得分:2)
看起来你正试图在与仿射空间和丑陋的半空间相交的球上最大化二次方。
最大化球上的二次方被称为“信任区域子问题”。令人惊讶的是,它承认了一种有效的解决方案我从未使用它,但Marielba Rojas等人LSTRS。显然实现了TRS求解器。
但是,您需要处理不等式约束。我建议找到最小的可行拉格朗日乘数,它可以为您的TRS提供实际位于所需半平面的最优解。二元搜索是一种非常低技术的方法。