# 1 Overview¶

An optimization problem such as

is an example of a linear optimization problem. In general such problems may be very large and are often compactly written in one of the standard forms such as:

A natural generalization of linear constraints \(Ax+b=0\) are constraints of the form

where \(\K\) is a more general nonlinear convex set.

Here enters the **MOSEK** Optimization Suite, which is a software package for solving large optimization problems with many constraints and variables, in particular:

linear problems as in (1.1),

nonlinear conic problems with constraints as in (1.2), where \(\K\) can be the second-order cone, power cone, exponential cone, semidefinite cone and some cones derived from them,

as well as, independently, problems with quadratic objective and constraints,

mixed-integer variants of those problems and problems with disjunctive constraints.

In addition to optimization algorithms the **MOSEK** Optimization Suite provides interfaces to mainstream programming languages such as C, Java, MATLAB, .NET, Python, R and Julia.

Below are the typical constraints and expressions which can be modeled using conic form:

Conic Quadratic Optimization: \(t\geq x^2\), sums of squares, 2-norm \(t\geq \|x\|_2\), variance, \(\|Ax-b\|_2\).

Power Cone Optimization: powers \(x^p\), geometric mean, products \(x^\alpha y^\beta\), \(p\)-norm.

Exponential Cone: \(e^x\), \(\ln{x}\), log-sum-exp, entropy \(x\ln{x}\), relative entropy, geometric programming.

Semidefinite Optimization: \(X\succeq 0\) is positive semidefinite.

**MOSEK** provides three solvers:

A simplex solver for linear problems.

An interior-point conic solver for linear and nonlinear continuous problems, conic problems and quadratic problems.

A mixed-integer solver when the problem contains integer variables or disjunctive constraints.

The **MOSEK** Optimization Suite includes

the low-level optimizer API for C, Java, .NET and Python.

the object-oriented

*Fusion*API for C++, Java, .NET and Python.an optimization toolbox for MATLAB.

an Rmosek package for R.

an interface to AMPL.

a command line tool.

optimizer server for remote optimization.

We also maintain an unofficial interface for Julia, see https://github.com/JuliaOpt/Mosek.jl.

Fig. 1.1 illustrates the relationship between the parts.

In addition **MOSEK** Optimization Suite provides

sensitivity analysis for linear problems.

infeasibility diagnostic tools.

problem analyses for diagnosing numerical issues in input data.

reading and writing optimization problems and solutions from/to files.

Most large optimization problems are very sparse i.e. most of the input data consists of zeros. Therefore, the APIs and optimization algorithms in **MOSEK** Optimization Suite is designed to exploit sparsity to reduce both storage and time.