User Tools

Site Tools


MOSEK warning 700

Warning 700 means: One or more almost zero elements are specified in sparse input data.

GAMS never passes a 0 in the constrain matrix down to the solver, but MOSEK (as other solvers) projects values smaller than some tolerance to zero. The default tolerance is 1e-12 (range from 1e-6 to 1e-16). So any matrix coefficient smaller than 1e-12 will be treated as 0 and MOSEK will issue a warning 700 that this happened.

Unfortunately there is only a very roundabout way to figure out which elements are triggering the warning: First you “solve” your model with convert and this option file convert.opt (you need at least GAMS 22.4 for this):


This will give you two files jacobian.gdx and dict.txt.

Next you run from a command prompt the following chain of commands (do cut and paste to ensure you got everything, it is one line). Make sure you have the GAMS system directory and the gbin sub directory in the path. The easiest is to just click on the DOS button in the upper right corner in the IDE:

gdxdump jacobian.gdx symb=a delim=blank | grep 'e | awk "{print $3,$2,$1}" | sed s/^-// | gsort -n > asort.txt

Look at the file asort.txt. This gives you a list of absolute matrix elements sorted by size. So the first ones indicate the small ones MOSEK projected. This list is given in scalar index space (e1, e2, …, x1, x2, …). With the help of file dict.txt you can remap back into your name space.

solver/warning_700.txt · Last modified: 2008/10/29 14:34 by support