Mosek Optimization Solver

in Problem

MOSEK is a solver program designed to solve a large variety of problems. Its portfolio includes finding solutions of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically constraint, conic and convex nonlinear mathematical optimization problems. One of MOSEK’s main trades is solving large scale problems. For large scale sparse problems, such as interior-point calculations for linear and conic quadratic problems, MOSEK’s optimizer is very efficient. Linear and conic quadratic problems are also referred to as second-order cone problems.

For calculating these inferior point calculations, For more information regarding MOSEK uses a homogeneous model which can accurately detect a primal or dual infeasible status of a problem. Interior-point calculations are normally much faster than Primal and dual simplex methods. MOSEK, however also handles simplex optimization for linear problems without a problem.

For simplex optimization only one CPU core can be used. This is due to the fact that the simplex algorithm has a very simple process per single iteration; because of this there is not a lot to parallelize. Parallelization would be possible but the loss of stability outweighs the gain in performance.

Another issue solving problems using multiple threads is that every run can have different results. This is called the non-determinism effect of using multiple threads. This happened because the order in which the threads complete can differ from time to time. Because of the precision margins the solver uses, there is certain randomness in the computations. Rounding errors are the result of this. The difference in order of competition of the threads changes the outcome because of the randomness and that’s why the results are non-deterministic.

When it comes to non-convex optimization problems, MOSEK is useless with exception of mixed-integer problems. MOSEK is currently not suitable for non-convex optimization problems and there is no sign of support on their roadmap for these problems. Again, convex mixed-integer problems are an exception, and MOSEK has no problem handling this.

MOSEK has application programming interfaces (API’s) for programming languages like Java, C and Python, as well as a Java language integration provided by OptimJ, including Eclipse support. Eclipse is one of the biggest open source software development platforms and mainly used for development in Java. It is an integrated development environment (IDE) with an extensible plug-in system. OptimJ is an example of such a plugin. Using the functions of MOSEK within the Eclipse environment has several advantages; the main advantage is that both in and output for MOSEK can be automated and linked to other Java based applications. Using MOSEK Java API, you combine the power of Java for preprocessing and displaying data, and the power of MOSEK for solving complex optimization problems.

Author Box
Corwin Smith has 486 articles online

For more information regarding Multithreaded java, please visit

Add New Comment

Mosek Optimization Solver

Log in or Create Account to post a comment.
Security Code: Captcha Image Change Image
Related searches:

Mosek Optimization Solver

This article was published on 2011/07/17