I have posted regularly about poor error messages from software. In general I find that the importance of formulating meaningful error messages is underestimated by developers, leading to some level of frustration by users. Of course, issuing no error message at all is even easier for a developer (and even more difficult for users to deal with).
S O L V E S U M M A R Y MODEL LANDfeas OBJECTIVE totallow **** SOLVER STATUS 4 Terminated By Solver RESOURCE USAGE, LIMIT 20.311 900000.000 Copyright (C) MOSEK ApS, Fruebjergvej 3, Box 16 No solution returned |
I received a listing file with this fragment. I have no idea how I can help the user as I have no idea what went wrong. Now I need to get the model and data files and see if I can reproduce the problem. We see some strange trade-offs at work here: the developers saved some time by not providing code to print a readable message, and as a result (multiple) users have to spent extra time and effort in supporting and maintaining an application.
Most likely the lack of appropriate output is caused by a bug in this case. Sorry, but that is what happens.
ReplyDeleteI build the initial version of the interface that GAMS now maintains. I for sure tried to output suitable messages but shall not claim things are bug free.
Therefore, I strongly suggest you contact GAMS support with your observation and I am sure they will fix issue togther with us a MOSEK.
Merry Christmas and Happy New Year.
Probably an out of memory situation. On the Mosek screen log we could see:
ReplyDeleteSolution summary
Interior-point solution
Problem status : UNKNOWN
Solution status : UNKNOWN
Primal - objective: 0.0000000000e+000 eq. inf.: 0.00e+000 max bound inf.: 2.00e+004 cone inf.: 0.00e+000
Dual - objective: 0.0000000000e+000 eq. inf.: 1.00e+004 max bound inf.: 0.00e+000 cone inf.: 0.00e+000
Basic solution
Problem status : UNKNOWN
Solution status : UNKNOWN
Primal - objective: 0.0000000000e+000 eq. inf.: 0.00e+000 max bound inf.: 2.00e+004
Dual - objective: 0.0000000000e+000 eq. inf.: 1.00e+004 max bound inf.: 0.00e+000
Return code - 1051 [MSK_RES_ERR_SPACE]
No documentation was found for this message, but I guess this means out of memory.
If you Google MSK_RES_ERR_SPACE then the fourth link is
ReplyDeletehttp://docs.mosek.com/6.0/capi/node019.html
and it will tell you that is equivalent to out of space. Hence, MOSEK could not allocate the storage required. This also shows that
the error code is described in the official MOSEK manual.
I am not sure why the GAMS interface does report the appropriately.
That must be a bug. The out of space situation is not always the most tested one.
If your is small then of course MOSEK should not run out of space.
Then that might also indicate a bug.
We would very much like to fix the issue. I will discuss it GAMS support after New Year.
I have talked to GAMS support. They say GAMS does not have an error code for out of space, so that is why solver status is not informative. Moreover, they will add an extended error message to the LST file in case of an error. This should happen in the next version of GAMS.
ReplyDeleteGreat. Thanks.
ReplyDelete