zTz≤ 1∥ z∥ ≤ 1
Si tiene que mejorar el rendimiento, existen métodos para explotar la función de cono único. Aquí hay un ejemplo
SIAM J. Optim., 17 (2), 459-484. (26 páginas) Un método de configuración activa para programas de cono de segundo orden de un solo cono E. Erdougan y G. Iyengar
Me gustaría señalar que reemplazar la norma con una norma 1 probablemente no funcionará bien. La norma cuadrática tiene su origen en el fondo geométrico de este problema (que interpreto como encontrar un vector que tiene el ángulo más pequeño para un conjunto dado de vectores).
αzTz
zz10−610−1
z = sdpvar(5,1);
r = sdpvar(1);
err1 = [];
err2 = [];
for i = 1:1000
X = randn(5,10);
Con = [r*sqrt(sum(X.^2,1)) <= z'*X,norm(z,2) <= 1]
sol = solvesdp(Con,-r)
if sol.problem == 0 & double(r)>1e-3
zSOCP = double(z);
Con = [r*sqrt(sum(X.^2,1)) <= z'*X];
sol = solvesdp(Con,-r+0.001*z'*z);
zQP = double(z/norm(double(z)));
err1 = [err1 norm(zQP-zSOCP)];
Con = [r*sqrt(sum(X.^2,1)) <= z'*X, norm(z,1)<=1];
sol = solvesdp(Con,-r);
zLP = double(z/norm(double(z)));
err2 = [err2 norm(zLP-zSOCP)];
end
end
Finalmente, el uso de la perspectiva geométrica podría conducir a un enfoque mucho mejor para resolver este problema. Básicamente, está buscando un centro particularmente definido de un conjunto de puntos en la esfera de la unidad.