I know this is not related to YALMIP even though I use YALMIP. Just a friendly discussion is what I am looking for.
1) I solve something like the following many times:
Objective = -(d'*u + d'*V*w - (1+d'*r)*sum(w.*log(w)));
optimize(Constraints,Objective,sdpsettings('solver','ipopt'));
This is clearly convex, but a hard objective of entropy form. The thing is, ipopt is very slow and most of the times it can not solve the problem / or gives 'Restoration Failed!'
When I instead use knitro, it solves very fast without any errors.
I believe it is due to the fact that ipopt uses interior points, and the barrier methods suffer w*log(w) when w is almost 0. Am I correct?
2) This is directly related to Ipopt. I think IPOPT is a general purpose local optimality solver. Am I wrong?
However, when I run a problem of form:
x = sdpvar(n,1);
Constraints = [D*x <= d, x>=0 ];
Obj = log(sum(exp(A*x)));
tic
optimize(Constraints, -Obj, sdpsettings('solver', 'ipopt','ipopt.max_iter',999999));
toc
value(Obj)
Ipopt eiher returns "EXIT: Optimal Solution Found", and I am sure that in all my examples these are global optimum; or does not return anything and exceeds the max cpu time etc. Do you have any idea about this behavior?
Thank you for your time :)
Best regards,