Warning: Solver not applicable (mosek does not support second-order cone constraints)

119 views
Skip to first unread message

Ahmed Rabee

unread,
Feb 10, 2022, 1:01:45 AM2/10/22
to YALMIP
Dear professor, 
I have used MOSEK solver to solve a SOCP problem many times through optimizer command. 
To find locational marginal prices, I should solve the dual problem or use 'dual(balancing constraints)' after solving the primal problem. Therefore, I used optimize(primal), however, YAMIP generates error #-4 (Warning: Solver not applicable (mosek does not support second-order cone constraints)). 
My question is how can I solve this error because I cannot exactly know the reason? 

Another question, is there a more proper method to find marginal prices (dual variables) from optimizer object? in other words, dual variables can be handled through optimizer object?

I thank you very much.    

Johan Löfberg

unread,
Feb 10, 2022, 1:37:14 AM2/10/22
to YALMIP
Since mosek supports socps, you must have confused yalmip massively somehow, for instance by defining cone operators with nonlinear stuff such as

>> sdpvar x
>> optimize(cone([1;x;x^2]),x,sdpsettings('solver','mosek'))
Warning: Solver not applicable (mosek does not support nonlinear second-order cone constraints)

duals can be extracted in a solve with optimizer through the fourth output. It is only a big numerical data blob though, so it is your job to try to associate it to the model. most often, this is a mess

Ahmed Rabee

unread,
Feb 10, 2022, 2:14:33 AM2/10/22
to YALMIP
Great!
You are right, there was a nonlinear term, which is corrected. 
Many thanks :)
Reply all
Reply to author
Forward
0 new messages