Monday, February 18, 2019

Porting Fusion for MATLAB code

Fusion for MATLAB is discontinued starting with MOSEK version 9. If you wish to continue using MOSEK in MATLAB through the Fusion interface, this document describes how to adapt existing code to use the standard Fusion for Java.

First, use mosek.jar instead of mosekmatlab.jar in the Java path in MATLAB, for instance:
Next, every time you explicitly index into an object of a class from mosek.fusion use 0-based indexing, standard for Java, instead of 1-based indexing familiar from MATLAB. This applies to classes such as Variable, Expression, Matrix and to all operations such as index, pick, slice. For example, if you define a variable  then its individual entries are
whereas in the old interface they would be indexed from 1 through 4.

This applies only to indexing Java objects from mosek.fusion. Nothing changes with regard to MATLAB arrays, so operations which don't use explicit indexes are not affected, and whenever the input/output of a method is a MATLAB array, it will be 1-based indexed as always. So the following piece of code works both in the old and new regime:

Finally note that Java 1.8+ is required.

Wednesday, January 30, 2019

Planned end of support for version 7

In connection with the recent beta release of MOSEK 9, we will be stopping support for version 7 which was released in 2013. According to our policy of supporting version $n$ at least two years after the release of version $n+1$, we plan to:

  • end support for version 7 on 31-jun-2019 (ie. over three years after the release of version 8)
  • support version 8 (current stable release) until at least 15-jan-2021 (and potentially longer)

Friday, January 25, 2019

DTU CEE Energy Systems Summer School 2019

DTU CEE Summer School 2019 "Data-Driven Analytics and Optimization for Energy Systems" takes place June 16-21 2019 at DTU in Copenhagen. This is the 4th edition in a very successful series of workshops about optimization in power systems. MOSEK sponsors the school and two MOSEK scholarships will be awarded to outstanding student applicants.

Program, speakers, deadlines and more can be found at:

Tuesday, January 15, 2019

MOSEK version 9.0 BETA

We start the new year 2019 with a Beta version release of MOSEK 9.

All information and instructions on this page:

Thursday, December 13, 2018

Christmas tree denoising via SDP

In our last year's Christmas special we ran logistic regression on a sampled Christmas tree. By public demand this year we treat the tree with some semidefinite programming.

We start with a $50 \times 100$ binary image with noise.

It is convenient to encode the image as a sequence of pixels $x_i\in\{-1,1\}$. Then we can write (see eg. here) a simple binary quadratic denoising model
$$\mathrm{maximize} \sum_{i\sim j}z_iz_j+\gamma\sum_i x_iz_i,\quad z_i\in\{-1,1\}$$
which favors similarity between neighboring ($i\sim j$) pixels in $z$ and the similarity between $z$ and the original $x$, with tradeoff between the two measures provided by $\gamma$.

Binary quadratic problems have a natural SDP relaxation, in this case 
$$ \begin{array}{ll} \mathrm{mazimize} & \sum_{i\sim j} Z_{ij} +\gamma x^Tz \\ \mathrm{s.t.} & \left[ \begin{array}{cc}Z&z\\z^T&1\end{array} \right] \succeq 0, \\ & \mathrm{diag}(Z)=1.\end{array} $$
We solve the SDP for various $\gamma$ ($Z$ has dimension $5000$; this is not the most efficient image processing algorithm ever invented). To further simplify we don't round but let the raw $z$ interpolate between shades of green. 

Merry Christmas from the MOSEK team.

Tuesday, November 27, 2018

Geometric programming preview

Geometric programs (GP) can be conveniently expressed in conic form using the exponential cone
$$ x\geq y\exp(z/y),\quad y>0$$
in the upcoming version 9 of MOSEK. Here is a preview implementation of some signal-to-interference-and-noise optimization problems in Python Fusion:

The key log-sum-exp constraint is just a few lines:

You can read more about modeling GPs in our Modeling Cookbook:

MOSEK's previous GP interface (scopt/dgopt/expopt), which is being phased out, relied on the slower and less accurate general nonlinear optimizer. You can read more about version 9 plans in

Tuesday, November 6, 2018

Reseller in China (Cardinal Operations) is the official reseller of MOSEK in China. Customers in China interested in acquiring a MOSEK license are welcome to visit

for details.