The MOSEK Release Notes.
Version 7.0 (Revision 141).

 

1 Changes and new features in MOSEK

The section presents improvements and new features added to MOSEK in version 7.0.

1.1 Platform support

In Table 1.1.1 the supported platform and compiler used to build MOSEK shown.
Platform
OS version
C compiler
linux32x86
Redhat 5 or newer (LSB 3+)
Intel C 13.1 (gcc 4.3, glibc 2.3.4)
linux64x86
RedHat 5 or newer (LSB 3+)
Intel C 13.1 (gcc 4.3, glibc 2.3.4)
osx64x86
OSX 10.7 Lion or newer
Intel C 13.0 (llvm-gcc-4.2)
win32x86
Windows XP, Server 2003 or newer
Intel C 13.0 (VS 2008)
win64x86
Windows XP, Server 2003 or newer
Intel C 13.1 (VS 2008)
Interface
Supported versions
Java
Sun Java 1.6+
Microsoft.NET
2.1+
Python 2
2.6+
Python 3
3.1+
Tab. 1.1.1. Supported platforms
Although RedHat is explicitly mentioned as the supported Linux distribution then MOSEK will work on most other variants of Linux. However, the license manager tools requires Linux Standard Base 3 or newer is installed.

1.2 General changes

1.3 Optimizers

1.3.1 Interior point optimizer

1.3.2 The simplex optimizers

1.3.3 Mixed-integer optimizer

1.4 API changes

1.5 Optimization toolbox for MATLAB

1.6 License system

1.7 Other changes

1.8 Interfaces

1.9 Platform changes

2 Limitations and known issues

3 Libraries

MOSEK consists of several libraries. When packaging software using MOSEK for redistribution, only a subset of these are required, depending on the platform.

3.1 C/C++

When redistributing a program or library linked with MOSEK, following libraries must be included:
64-bit Linux
32-bit Linux
64-bit Windows
32-bit Windows
64-bit OS X
libmosek64.so.7.0
libmosek.so.7.0
mosek64_7_0.dll
mosek7_0.dll
libmosek64.dylib.7.0
libmosekglb64.so.7.0
libmosekglb.so.7.0
mosekglb64_7_0.dll
mosekglb7_0.dll
libmosekglb64.dylib.7.0
libiomp5.so
libiomp5.so
libiomp5md.dll
libiomp5md.dll
libiomp5.dylib

3.2 Java

When redistributing a Java application using with MOSEK, following libraries must be included:
64-bit Linux
32-bit Linux
64-bit Windows
32-bit Windows
64-bit OS X
libmosek64.so.7.0
libmosek.so.7.0
mosek64_7_0.dll
mosek7_0.dll
libmosek64.dylib.7.0
libmosekglb64.so.7.0
libmosekglb.so.7.0
mosekglb64_7_0.dll
mosekglb7_0.dll
libmosekglb64.dylib.7.0
libiomp5.so
libiomp5.so
libiomp5md.dll
libiomp5md.dll
libiomp5.dylib
libmosekjava7_0.so
libmosekjava7_0.so
mosekjava7_0.dll
mosekjava7_0.dll
libmosekjava7_0.dylib
libmosekxx7_0.so
libmosekxx7_0.so
mosekxx7_0.dll
mosekxx7_0.dll
libmosekxx7_0.dylib
libmosekscopt7_0.so
libmosekscopt7_0.so
mosekscopt.dll
mosekscopt.dll
libmosekscopt7_0.dylib
By default the MOSEK/Java interface will look for the binaries in the same directory as the .jar file, so they should be placed in the same directory when redistributing.

3.3 .NET

When redistributing a .NET application using with MOSEK, following libraries must be included:
64-bit Windows
32-bit Windows
mosek64_7_0.dll
mosek7_0.dll
mosekglb64_7_0.dll
mosekglb7_0.dll
libiomp5md.dll
libiomp5md.dll
mosekxx7_0.dll
mosekxx7_0.dll
mosekscopt.dll
mosekscopt.dll
mosekdotnet.dll
mosekdotnet.dll

3.4 Python

When redistributing a Python application using with MOSEK, following libraries must be included:
64-bit Linux
32-bit Linux
64-bit Windows
32-bit Windows
64-bit OS X
libmosek64.so.7.0
libmosek.so.7.0
mosek64_7_0.dll
mosek7_0.dll
libmosek64.dylib.7.0
libmosekglb64.so.7.0
libmosekglb.so.7.0
mosekglb64_7_0.dll
mosekglb7_0.dll
libmosekglb64.dylib.7.0
libiomp5.so
libiomp5.so
libiomp5md.dll
libiomp5md.dll
libiomp5.dylib
libmosekxx7_0.so
libmosekxx7_0.so
mosekxx7_0.dll
mosekxx7_0.dll
libmosekxx7_0.dylib
libmosekscopt7_0.so
libmosekscopt7_0.so
mosekscopt.dll
mosekscopt.dll
libmosekscopt7_0.dylib
Furthermore, one (or both) of the directories
must be included.
By default the MOSEK/Python API will look for the binary libraries in the MOSEK module directory, i.e. the directory containing __init__.py. Alternative, if the binary libraries reside in another directory, the application can pre-load the mosekxx library from another located before mosek is imported, e.g. like this
  1. import ctypes ; ctypes.CDLL('my/path/to/mosekxx.dll') 

4 Open source libraries include in MOSEK

4.1 zlib

MOSEK includes the zlib library obtained from the zlib website. The license agreement for zlib is shown below.
  1. zlib.h -- interface of the 'zlib' general purpose compression library 
  2. version 1.2.7, May 2nd, 2012 
  3.  
  4. Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler 
  5.  
  6. This software is provided 'as-is', without any express or implied 
  7. warranty. In no event will the authors be held liable for any damages 
  8. arising from the use of this software. 
  9.  
  10. Permission is granted to anyone to use this software for any purpose, 
  11. including commercial applications, and to alter it and redistribute it 
  12. freely, subject to the following restrictions: 
  13.  
  14. 1. The origin of this software must not be misrepresented; you must not 
  15. claim that you wrote the original software. If you use this software 
  16. in a product, an acknowledgment in the product documentation would be 
  17. appreciated but is not required. 
  18. 2. Altered source versions must be plainly marked as such, and must not be 
  19. misrepresented as being the original software. 
  20. 3. This notice may not be removed or altered from any source distribution. 
  21.  
  22. Jean-loup Gailly Mark Adler 
  23. jloup@gzip.org madler@alumni.caltech.edu 

4.2 fplib

MOSEK includes the floating point formating library developed by David M. Gay obtained from the netlib website. The license agreement for fplib is shown below.
  1. /**************************************************************** 
  2. * The author of this software is David M. Gay. 
  3. * Copyright (c) 1991, 2000, 2001 by Lucent Technologies. 
  4. * Permission to use, copy, modify, and distribute this software for any 
  5. * purpose without fee is hereby granted, provided that this entire notice 
  6. * is included in all copies of any software which is or includes a copy 
  7. * or modification of this software and in all copies of the supporting 
  8. * documentation for such software. 
  9. * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED 
  10. * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY 
  11. * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY 
  12. * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. 
  13. ***************************************************************/ 

5 Bug fixes and improvements

7.0.0.140
  • Fixed issue occurring when infeasible initial solutions was passed to the mixed integer optimizer.
7.0.0.140
  • Updated Flexlm to version 11.11.2.
7.0.0.139
  • Fixed an array type-checking bug in the Python optimizer API.
7.0.0.136
  • Fixed a bug causing the 32 bit versions to crash for very large problems instead of reporting out of space.
7.0.0.134
  • Fixed a stability issue in the mixed integer conic optimizer.
7.0.0.133
  • Fixed a bug in the mixed integer conic optimizer.
7.0.0.132
  • Fixed a glitch in the AMPL interface appearing when a nonlinear problem is solved and a solution is available.
7.0.0.131
  • Fixed a bug occurring when fetching solution values through certain kinds of variable slices.
7.0.0.130
  • Fixed an important bug in the LP file reader when terms like x*x appeared in a quadratic expression.
7.0.0.129
  • Fixed a bug that caused MOSEK to crash if too many licenses is requested.
7.0.0.128
  • Fixed a bug in the CPU detection which did not work for some combinations of CPUs and OSes.
7.0.0.127
  • Removed some debug printing.
7.0.0.124
  • Fixed an issue in the mixed integer conic optimizer causing the lower bound to be nonmotonic.
  • Fixed an issue with stopping criteria in the interior-point optimizer for linear problems.
  • Added a new parameter. Therefore, it is recommend to relink applications with this new version.
7.0.0.123
  • Fixed a bug that made MOSEK crash for certain dual infeasible problems.
7.0.0.122
  • Removed some debug print output.
7.0.0.121
  • Improved the presolve.
7.0.0.120
  • Fixed a bug causing a crash in the convexity check in rare cases.
7.0.0.119
  • Improved the error reporting in the MATLAB toolbox.
7.0.0.118
  • Fixed a bug that could occur when using more than 32 threads.
  • The branch direction can now be controlled using ipar_mio_mio_branch_dir in the mixed conic optimizer.
  • The optimizer employed at the nodes can now be controlled using ipar_mio_node_optimizer in the mixed integer conic optimizer.
7.0.0.117
  • Infeasibility was not always correctly reported when detected in presolve. This applies to mixed integer conic optimizer only.
7.0.0.116
  • Fixed a bug causing a crash when running out of space in certain cases.
7.0.0.115
  • A bug caused the solution status to be unknown in all .NET based APIs.
7.0.0.114
  • Some functions e.g. getnumcon and getnumvar did not work in Java in certain cases. In Java they are overloaded and in some cases JVM called the wrong method in the native library.
  • Fixed a bug in the Fusion method Expr.mul(double[],Variable) in the case where the variable is two-dimensional.
7.0.0.113
  • Fixed an issue that caused MOSEK to use large amounts of memory when reading LP data files.
7.0.0.111
  • Tuned the presolve for some nonlinear problems.
7.0.0.110
  • Fixed an issue that caused an assert in the basis identification in very rare cases.
7.0.0.107
  • Fixed a bug in the sensitivity analysis.
  • Updated the license agreement.
7.0.0.106
  • Improved the documentation in several places.
  • Fixed a bug in the .NET SCopt interface.
7.0.0.105
  • Fixed an issue with an incorrect assert in the basis identification.
7.0.0.104
  • Tweaked the primal simplex optimizer.
  • Objective cuts did not work in the simplex optimizers when the problem was a maximization problem. This problem has been fixed.
7.0.0.103
  • Fixed an issue causing an assert on some dual infeasible problems.
7.0.0.102
  • Fixed a minor issue in the optimization toolbox for MATLAB.
  • Fixed an issue in the interior point optimizer for conic problems.
7.0.0.101
  • Made sure the documentation included in the downloads is up to date.
7.0.0.100
  • Fixed a bug in the presolve of the mixed-integer optimizer.
7.0.0.99
  • Fixed a potential memory leak in the Python parts of MOSEK.
7.0.0.98
  • Fixed a bug in putarow and putacol.
7.0.0.97
  • Fixed a bug in the presolve potentially affecting problem types.
7.0.0.95
  • Fixed a bug in the mixed integer optimizer.
  • Fixed an issue in Fusion
  • Fixed some typos in the manuals.
7.0.0.94
  • Add missing MATLAB Fusion examples to the distribution.
  • Ignored the value of ordering method parameter in certain cases.
7.0.0.93
  • Internal changes.
7.0.0.92
  • Fixed an issue causing a crash on the MATLAB toolbox on linux64x86.
  • Improved the documentation on how to use the nonlinear optimizer in C.
  • Fixed a bug in the mixed integer optimizer that could cause a crash.
7.0.0.91
  • Improved the performance when input semidefinite optimization using the optimization toolbox for MATLAB.
  • Fixed a bug that could occur when inputting a semidefinite optimization problem.
  • Fixed some bugs in the manual.
  • Fixed several bugs in Fusion and the associated examples.
7.0.0.90
  • Fixed a bug on the OSX platform that caused problems when using the optimization toolbox for MATLAB.
7.0.0.89
  • Fixed a bug in the mixed integer optimizer.
  • Fixed a bug on the OSX platform that caused problems loading the MOSEK shared object.
7.0.0.88
  • Fixed a bug that triggered an assert for certain semidefinite problems.
7.0.0.87
  • Improved the documentation.
7.0.0.86
  • Improved the documentation.
7.0.0.85
  • Improved the dense column detection.
  • Improved the presolve when dealing with numerical bad case related to doubleton equations.
7.0.0.84
  • Fixed a bug that made the Java, .NET and Python optimizer APIs crash in special cases.
  • Fixed bug in the put solution slice functions that occurred if no solution was previously defined.
  • Added the function licensecleanup that manually stops all threads and delete all handles used by the license system.
  • Employ a newer version of the Intel C compiler tool chain.
7.0.0.83
  • Special characters are now allowed in the license path on Windows.
7.0.0.82
  • Fixed a bug that made the interior-point optimizer crash in certain extremely rare cases.
  • Updated the toolbox manual.
7.0.0.81
  • Updated the toolbox manual.
7.0.0.80
  • Fixed a bug that made the mixed integer conic optimizer crash in rare cases when applied to a quadratic optimization problem.
  • Updated the portfolio optimization example in the Fusion manual.
  • Updated the manual for the optimization toolbox for MATLAB.
  • Fixed a bug that cased a crash on Windows 32 bit when solving certain semidefinite optimization problems.
  • Fixed a bug that made MOSEK crash when writing problems having symmetric matrix variables to a file.
  • Updated the optimization toolbox manual.
  • Fixed some issues in linprog and bintprog in the toolbox. In particular the undocumented call linprog('defaults') is supported. It is also supported for quadprog and bintprog too.
  • Fixed issue causing incorrect infeasibility violations to be reported in certain cases.
  • Fixed an installation issue on MAC OSX.
7.0.0.79
  • Updated the fusion documentation.
  • Fixed an issue in the quadratic optimizer.
  • Fixed some cosmetic issues.
7.0.0.78
  • Fixed an issue that in rare cases caused an crash in the interior-point optimizer.
7.0.0.77
  • Fixed an issue in the nonlinear optimizer that in rare cases caused a crash.
  • Improved the conic mixed integer optimizer for conic problems.
  • Fixed several issues in Fusion.
7.0.0.76
  • Fixed an issue in the linear dependency checker.
  • Fixed an issue in the conic optimizer that made it report a wrong dual solution in rare cases.
7.0.0.75
  • Fixed several bugs in the conic optimizer that made it terminate prematurely in some cases.
7.0.0.74
  • Fixed several bugs in Fusion. One could cause it to crash.
7.0.0.73
  • Fixed a bug in the function removevars.
7.0.0.72
  • Fixed a rarely occurring bug in the presolve.
  • Bug fixes and cosmetic changes to Fusion.
7.0.0.71
  • Fixed a bug in the conic optimizer that in rare cases generated an assert.
7.0.0.70
  • Added missing Fusion examples to the distribution.
7.0.0.69
  • Added missing Java to the OSX 64 bit distribution.
7.0.0.68
  • The examples for MATLAB Fusion has been added to distribution.
  • When writing LP files a lot debug output was produced.
7.0.0.67
  • Fixed a bug in the conic optimizer hurting the performance.
  • Fixed some issues in the nonlinear function interface.
7.0.0.66
  • Fixed a bug that affected the exitflag from linprog and friends in the optimization toolbox for MATLAB.
  • Fixed bug that made Fusion feed the wrong variables name into the optimizer.
7.0.0.65
  • Fixed a bug that affected putarowi.
7.0.0.64
  • Fixed a bug that made the functions putacol and putarow skip some sanity checks.
  • Fine tuned the termination criterion of the conic interior-point optimizer.
7.0.0.62
  • The conic optimizer ignored the maximum optimizer time parameter.
  • Improved stability of cut generation in the mixed-integer conic optimizer.
  • Fixed a bug that caused maximum time limit to not always be respected.
  • Fixed a bug that generated an assert in conic optimize in very rare cases.
7.0.0.61
  • Fixed a bug in the conic optimizer that caused an assert in special cases.
7.0.0.60
  • Fixed a bug in the MPS file reader. The bug happened if general integer variables are specified using the markers in the columns section.
  • The MATLAB toolbox has been updated to deal with issues when using MATLAB R2012a or newer. Please consult the toolbox manual for revised installation instructions.
  • On MAC OSX only MATLAB R2012a and now is supported.
7.0.0.59
  • Fixed a bug in conic optimizer. The issue occurred if a problem has 1 dimensional semi-definite variables.
7.0.0.58
  • Fixed a bug causing an assert in certain cases.
7.0.0.57
  • Fixed a bug in the command line tool.
  • The mixed integer conic optimizer did not update dinf_mio_obj_bound properly.
  • Fixed some issues in the MATLAB optimization toolbox.
7.0.0.56
  • Improved the interior-point optimizer for linear problems.
7.0.0.55
  • The MATLAB optimization toolbox can now perform feasibility repair.
7.0.0.54
  • Fixed some bugs related to changes in version 7.0.0.53.
  • Fixed a performance issue in Java Fusion and MATLAB Fusion.
7.0.0.53
  • In the MATLAB optimization toolbox the functions optimget and optimset has been renamed mskoptimget and mskoptimset.
  • Better root node heuristic and other performance improvements in the mixed integer conic optimizer.
  • Added the function mosekdiag to MATLAB optimization toolbox. The function diagnostic tool for installation problems.
  • Fixed a bug in the mixed integer optimizer when using the construct solution feature.
7.0.0.52
  • The content of file consts.xml has been expanded.
7.0.0.50
  • Fixed a bug occurring in the function removevariables on conic problems.
  • Fixed a bug occurring in the function clonetask when the source problem has symmetric matrix variables.
  • Fixed a bug in the solution file writer.
  • Fixed some bugs in the documentation.
  • Fixed a bug in the conic optimizer occurring when using nondefault tolerances.
  • Fixed a bug that caused an assert in very rare cases. The dual simplex is particular affected by this bug.
  • The function relaxprimal has been deprecated and replaced by the function primalrepair.
7.0.0.49
  • Fixed an issue that caused an assert in the presolve on badly scaled problems.
7.0.0.48
  • The MPS reader is now a single pass reader.
  • More frequent callbacks in the MPS reader.
  • The task reader and writer no longer ignore a nonzero constant in the objective.
7.0.0.47
  • Tuned the numerical performance on linear problems.
7.0.0.46
  • Fixed an issue related to the response handling when a custom response handler is defined.
7.0.0.45
  • Removed debug print out.
7.0.0.44
  • Fixed a bug in the mixed-integer conic optimizer.
7.0.0.43
  • Fixed a bug in that made the convex optimizer crash in certain cases.
  • Fixed a bug in the mixed-integer optimizer.
7.0.0.42
  • Fixed several bugs in the function getinfeasiblesubproblem.
  • Fixed a bug in the function getdviolcones.
7.0.0.41
  • Fixed bug in the task writer and reader appearing on large problems.
  • Fixed a bug in the function getdviolcones.
7.0.0.40
  • Fixed bug causing a crash of mixed-integer quadratic problems.
  • Deprecated the function getsolutioninf. Use the function getsolutioninfo instead.
7.0.0.38
  • Fixed several minor bugs.
  • Added the functions putacolslice and putarowslice.
  • Fixed some recently introduced bugs in the LP file writer.
  • Fixed a bug in the ctrl-c handling in the optimization toolbox for MATLAB.
7.0.0.37
  • Changed the stopping the criteria for interior-point optimizers for linear and conic optimization.
  • Tuned the interior-point optimizer for case with a few dense columns.
7.0.0.36
  • Improved performance on some problems with a few dense columns.
7.0.0.35
  • Changed the LP file write so it changes the names into valid names when writing.
7.0.0.34
  • Fixed some bugs in the function analyzeproblem.
  • Fixed a bug in the conic optimizer.
7.0.0.33
  • Fixed a rarely occurring in the presolve.
  • Fixed in the LP writer regarding what is legal LP names.
7.0.0.32
  • Minor internal changes.
  • Fixed a bug in the function appendvars.
7.0.0.31
  • Changed the way the interior-point optimizer scales conic problems. In particular problems having symmetric matrix variables was not scaled.
  • Adjusted the stopping criteria in the conic interior-point optimizer.
  • Fixed a number of bugs in the mixed-integer optimizer.
  • Fixed a number of bugs in the problem analyzer.
  • Finalized the documentation for the Fusion interfaces.
7.0.0.30
  • Added a function that can analyze the names for validity. For instance the function can be used to check whether the names are valid LP file names.
7.0.0.28
  • Fixed several bugs in the conic optimizer appearing on infeasible problems.
  • Fixed a bug in the MPS reader occurring in some cases for problems having quadratic cones.
  • Added a couple of new functions for inputting conic constraints.
7.0.0.27
  • Fixed a bug the MATLAB toolbox.
  • Fixed a bug the OPF reader and writer.
7.0.0.26
  • Fixed a bug in the conic optimizer.
  • Fixed several bugs in the mixed integer optimizer.
7.0.0.19
  • Fixed a problem in the threading on Windows. It would make MOSEK hang in certain cases.
7.0.0.18
  • The parameter iparam.intpnt_num_threads is removed. Use the parameter iparam.num_threads instead.
7.0.0.17
  • Fixed two bugs in the optimizer for conic problems.
7.0.0.16
  • Fixed an infrequently occurring bug in the presolve in linear dependency checker.
7.0.0.10
  • Fixed a bug in the function removescones.
  • Fixed a bug in the LU factorization.
  • Fixed a number of bugs in the mixed-integer optimizer.
  • Made the presolve a lot faster in some special cases.
7.0.0.8
  • Updated the AMPL binary.
  • Fixed a bug in the conic optimizer that made it report incorrect objective values in the log output in certain cases.
7.0.0.3
  • Improved the network detection method.