2 Major changes

Specific information regarding particular APIs, parameters and portability of code from version 9 can be found in the section Interface changes towards the end of the respective manual. This section lists general changes throughout MOSEK.

2.1 Release notes for 10.0

2.1.1 New features

Platform support

  • Introduced native support for Apple Silicon M1 osxaarch64.

  • Improved support and introduced multithreading for Linux ARM 64bit linuxaarch64.

Optimizer

  • Introduced new cone types: generalized power cone (primal and dual), geometric mean cone (primal and dual) and the cone of vectorized lower-triangular parts of semidefinite matrices.

Presolve

  • Presolve has been improved significantly for conic problems.

Interior-point Optimizer

  • Improved performance for large-scale linear problems.

  • Significantly improved performance when running on recent AMD CPUs.

Mixed-integer Optimizer

  • (Optimizer API and Fusion). Introduced disjunctive constraints (DJC), a language for writing constraints of the form \(A_1\ \mathrm{OR}\ A_2\ \mathrm{OR} \ldots \mathrm{OR}\ A_k\) where \(A_i\) are ordinary linear equations or inequalities.

  • Improved cutting plane separation; in particular, implied bound cuts, controllable with the parameter MSK_IPAR_MIO_CUT_IMPLIED_BOUND, are used by default.

  • Improved presolve, in particular probing and the aggregator. The latter can be controled with the new parameter MSK_IPAR_MIO_PRESOLVE_AGGREGATOR_USE.

  • Introduced symmetry detection and exploitation, controllable with the parameter MSK_IPAR_MIO_SYMMETRY_LEVEL.

  • Introduced reformulation methods for MIQCQO problems, controllable with the parameter MSK_IPAR_MIO_QCQO_REFORMULATION_METHOD. This allows the solution of non-convex MIQCQO problems that are amenable to such a reformulation.

  • Introduced parameters MSK_IPAR_MIO_NUMERICAL_EMPHASIS_LEVEL and MSK_IPAR_MIO_MEMORY_EMPHASIS_LEVEL that may be used to reduce numerical and memory issues, respectively.

  • Distinction between complete and partial initial user solutions, the exploitation of the latter being controllable with the parameter MSK_IPAR_MIO_CONSTRUCT_SOL.

Multithreading

  • Switch from Cilk to the oneTBB library for multithreading in the interior-point optimizer. The reason is Cilk has been deprecated in the Intel C compiler tool chain. Moreover, compared to Cilk oneTBB allows fine grained control of the number of threads employed in each optimization.

  • Introduce parallel optimization of a number of tasks (optimizebatch) in the Optimizer API.

  • Support for multithreading has been enabled on the linuxaarch64 platform.

Licensing

  • Updated FLEXlm to version 11.18.3. Upgrade of floating license servers is required to use MOSEK 10 clients.

  • License server available for all platforms.

Interface

  • (Optimizer API). Introduced affine conic constraints (ACC) as a preferred method of expressing conic problems. An affine conic constraints allows the user to directly write

    \[Fx+g\in \K\]

    without introducing slack variables.

  • (Optimizer API). Introduced the possibility to create tasks without an environment.

Various

  • Faster file writing of MPS and CBF files.

  • The PTF format replaces the OPF format as a read/write human-readable file format for conic problems, supporting also semidefinite variables.

  • Allow writing data files to streams instead of files.

  • Allow more flexible naming in Fusion.

2.1.2 Changes compared to version 9

  • The function computesparsecholesky has changed API: the argument previously indicating whether to use multiple threads or not is now an integer denoting the number of threads to use, with 0 meaning that MOSEK makes the choice.

2.1.3 Removed features

  • Support for Python 2.7 on all platforms.

  • Support for Java on Windows 32 bit.

  • Support for all versions of Python on Windows 32 bit.

2.1.4 Deprecated features

  • Conic constraints restricted to \(x\in\K\) for a variable \(x\) are deprecated as a method of representing conic problems in favor of affine conic constraints (ACC) of the form \(Fx+g\in\K\). This affects mainly the Optimizer API, in a minor degree the Optimization Toolbox for MATLAB and Rmosek, and does not affect Fusion where this language was already used.

  • The OPF file format for conic problems is deprecated in favor of PTF.

  • It is recommended to move away from Windows 32 bit platform.