# 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.

• Significantly improved multithreaded performance for a class of SDPs.

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.

• 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 in the Optimizer API (optimizebatch) and Fusion (solveBatch).

• Previously missing support for multithreading has been enabled on the linuxaarch64 (Linux ARM64) 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.

• (Optimizer API, Python, Java, .NET). Methods can return arrays and tuples instead of taking them as arguments.

• (Fusion). Allow more flexible naming in Fusion.

I/O

• Faster I/O across all file formats.

• Fixed interpretation of integer keyword in LP files.

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

• (Optimizer API and Fusion) Allow writing data files to streams instead of files.

### 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.