Question

just wonder if anyone could help me to solve a problem that goes like this: (with matlab and 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 (in capital letters) are matrices (spherical tensors) One constraint is that the product with the variables in lowercase must be positive semidefinite, also it has to fulfill as well all the other equalities/inequalities after the variable statement.

well, this program didn't work as quadratic maximization is not convex as required by CVX, someone knows of a way in which this optimization can be reformulated or solved with another resource

well, any input is acknowledge,

Était-ce utile?

La solution

Looks like you're trying to maximise a quadratic on a ball intersected with an affine space and an ugly half-space.

Maximising a quadratic on a ball is known as the "trust region subproblem." Surprisingly, it admits an efficient solution. I've never used it, but LSTRS by Marielba Rojas et al. apparently implements a TRS solver.

You'll need to deal with the inequality constraint, though. I'd suggest finding the smallest feasible Lagrange multiplier that results in the optimal solution to your TRS actually lying in the desired halfplane. Binary search is a pretty low-tech way to do this.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top