MOSEK is a software package for the solution of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically constrained, conic and convex nonlinear mathematical optimization problems. The applicability of the solver varies widely and is commonly used for solving problems in areas such as engineering, finance and computer science.
The emphasis in MOSEK is on solving large-scale sparse problems linear and conic optimization problems. In particular, MOSEK solves conic quadratic (a.k.a.
Second-order cone programming
A second-order cone program (SOCP) is a convex optimization problem of the form
:minimize \ f^T x \
:subject to
::\lVert A_i x + b_i \rVert_2 \leq c_i^T x + d_i,\quad i = 1,\dots,m
::Fx = g \
where the problem parameters are f \in \mathbb^n, ...
) and semi-definite (aka.
semidefinite programming
Semidefinite programming (SDP) is a subfield of mathematical programming concerned with the optimization of a linear objective function (a user-specified function that the user wants to minimize or maximize)
over the intersection of the cone of po ...
) problems.
A special feature of the solver, is its interior-point optimizer, based on the so-called homogeneous model. This implies that MOSEK can reliably detect a primal and/or dual infeasible status as documented in several published papers.
In addition to the interior-point optimizer MOSEK includes:
* Primal and dual simplex optimizer for linear problems.
* Mixed-integer optimizer for linear, quadratic and conic problems.
In version 9, Mosek introduced support for exponential and power cones in its solver. It has interfaces to the
C,
C#,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (prog ...
and
R languages. Major modeling systems are made compatible with MOSEK, examples are:
AMPL
AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (e.g. large-scale optimization and scheduling-type problems).
It was developed ...
,
GAMS and CVXPY. In 2020 the solver also became available in
Wolfram Mathematica
Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
.
In addition, Mosek can for instance be used with the popular MATLAB packages
CVX, and
YALMIP.
MOSEK @ Yalmip homepage
/ref>
The MOSEK software was developed by Mosek ApS, a Danish company established in 1997 by Erling D. Andersen. The headquarter of Mosek is located in Copenhagen
Copenhagen ( ) is the capital and most populous city of Denmark, with a population of 1.4 million in the Urban area of Copenhagen, urban area. The city is situated on the islands of Zealand and Amager, separated from Malmö, Sweden, by the ...
, the capital of Denmark
Denmark is a Nordic countries, Nordic country in Northern Europe. It is the metropole and most populous constituent of the Kingdom of Denmark,, . also known as the Danish Realm, a constitutionally unitary state that includes the Autonomous a ...
.
References
Mathematical optimization software
Numerical software
{{compsci-stub