> YALMIP only supplies gradients
Well that answers the original question. However, switching the solver to 'fmincon' results in bad juju that I don't understand. I'll reply to your other things after I show you the bad juju code:
yalmip('clear');
% Set some options for YALMIP and solver
options = sdpsettings('verbose',1,'solver','fmincon','allownonconvex',0);
% Define variables
Dx = randn(5,3); Dy = randn(5,3);
cx = randn(5,1); cy = randn(5,1);
f = randn(3,1);
p = 1.1;
u = sdpvar(3,1);
y = [Dx*u+cx, Dy*u+cy];
z = sdpvar(5,1);
C = cone([z';y']);
O = dot(ones(5,1),z.^p)/p+dot(f,u);
% Solve the problem
sol = optimize(C,O,options);
This results in "Error using barrier Too many input arguments." Any clue what this means?
Responses to your other things.
1. This is a research problem which is "badly conditioned by design". It's a weighted average of p-th powers of Euclidian norms, plus a linear term ``forcing''. I can't find any way of phrasing it so the Hessian is good.
2. CVX is able to reduce p-th powers to quadratic cone programming but this is some nontrivial reduction described in a paper I haven't read. My custom barrier method is primal only because I can prove things about the primal method. I'd like to use a "canned" primal-dual barrier method that someone else has already tested a lot. My understanding is we don't have a good analysis of long-step primal-dual methods when the cone is not self-dual so this is just for numerical comparison.
3. I have not tried the commercial offerings but it would indeed make sense to enable the Gurobi and Mosek solvers in CVX to see what happens. SDPT3 chokes on my problem but SeDuMi ends up doing okay after this nontrivial reduction of pth powers to some sort of quadratic cone program.