Reference to non-existent field 'sol' issue with MOSEK V 8.1.0.34

167 views
Skip to first unread message

Reza Mohajerpoor

unread,
Dec 11, 2017, 4:06:21 AM12/11/17
to YALMIP
Dear Johan

I am new in using YALMIP and MOSEK optimization toolboxes. I am solving a SDP problem in MATLAB using YALMIP toolbox and choosing MOSEK solver.
Unfortunately, I recieve the following error:

"Reference to non-existent field 'sol'.

Error in callmosek>MosekYALMIPError (line 241)
switch res.sol.itr.prosta

Error in callmosek>call_mosek_lpqpsocpsdpdual (line 213)
problem = MosekYALMIPError(res);

Error in callmosek>call_mosek_lpqpsocpsdp (line 81)
    [x,D_struc,problem,r,res,solvertime,prob] = call_mosek_lpqpsocpsdpdual(model);

Error in callmosek (line 51)
    [x,D_struc,problem,r,res,solvertime,prob] = call_mosek_lpqpsocpsdp(model);

Error in solvesdp (line 350)
    eval(['output = ' solver.call '(interfacedata);']);"

When using SDPT3 solver, I don't face with this problem and it gets solved successfully. I am not sure how to resolve this issue.
I have attached the m file and debug mat file attached for your reference.
This is a test code, and I will use MOSEK to solve a more controversial problem that SDPT3 is not capable of solving it.
I appreciate if you could help me out.

Best Regards
Reza
 

mosekdebug.mat
test_CCAlg.m

Johan Löfberg

unread,
Dec 11, 2017, 1:30:21 PM12/11/17
to YALMIP
Is anything displayed before it crashes?

Does mosek work at all on your machine, and with yalmip?

Works here

Reza Mohajerpoor

unread,
Dec 11, 2017, 5:02:16 PM12/11/17
to YALMIP
Thank you professor for the reply.

I realised that the issue is from MOSEK, and is because I did not load the licence file for it in MATLAB. Now, the problem is resolved.

Cheers 

Jodie Simkoff

unread,
Mar 14, 2018, 4:19:57 PM3/14/18
to YALMIP
Hi Reza (or Johan),

Can you possibly provide me some help, encountering the same issue as you here.

I have added Mosek and all subfolders to the MATLAB path and have saved the license file in the base Mosek folder, and yet I still get the same error message for a very simple, feasible LP:




Reference to non-existent field 'sol'.

Error in callmosek>MosekYALMIPError (line 241)
switch res.sol.itr.prosta

Error in callmosek>call_mosek_lpqpsocpsdpdual (line 213)
problem = MosekYALMIPError(res);

Error in callmosek>call_mosek_lpqpsocpsdp (line 81)
    [x,D_struc,problem,r,res,solvertime,prob] = call_mosek_lpqpsocpsdpdual(model);

Error in callmosek (line 51)
    [x,D_struc,problem,r,res,solvertime,prob] = call_mosek_lpqpsocpsdp(model);

Error in solvesdp (line 350)
    eval(['output = ' solver.call '(interfacedata);']);

Error in optimize (line 31)
[varargout{1:nargout}] = solvesdp(varargin{:});




Is there anything else I need to do to get MATLAB to see the license file? Very confused by this.

Thanks a lot,
Jodie

Johan Löfberg

unread,
Mar 14, 2018, 5:02:54 PM3/14/18
to YALMIP
So are you sure it is a license problem, i.e. what actually happens when you call mosek, such as any of their examples such as qcqo1


Erling D. Andersen

unread,
Mar 15, 2018, 3:43:50 AM3/15/18
to YALMIP
Running

  mosekdiag

inside Matlab is a good to check if MOSEK is working.
Reply all
Reply to author
Forward
0 new messages