The most essential part of MOSEK are the optimizers:
primal simplex (linear problems),
dual simplex (linear problems),
interior-point (linear, quadratic and conic problems),
mixed-integer (problems with integer variables).
The structure of a successful optimization process is roughly:
Elimination: Reduce the size of the problem.
Dualizer: Choose whether to solve the primal or the dual form of the problem.
Scaling: Scale the problem for better numerical stability.
Optimize: Solve the problem using selected method.
Terminate: Stop the optimization when specific termination criteria have been met.
Report: Return the solution or an infeasibility certificate.
The preprocessing stage is transparent to the user, but useful to know about for tuning purposes. The purpose of the preprocessing steps is to make the actual optimization more efficient and robust. We discuss the details of the above steps in the following sections.
- 13.1 Presolve
- 13.2 Linear Optimization
- 13.2.1 Optimizer Selection
- 13.2.2 The Interior-point Optimizer
- 13.2.3 The Simplex Optimizer
- 13.3 Conic Optimization - Interior-point optimizer
- 13.4 The Optimizer for Mixed-Integer Problems
- 13.4.1 Branch-and-Bound
- 13.4.2 Solution quality and termination criteria
- 13.4.3 Additional components of the mixed-integer Optimizer
- 13.4.4 The Mixed-Integer Log
- 13.4.5 Mixed-Integer Nonlinear Optimization
- 13.4.6 Disjunctive constraints
- 13.4.7 Randomization
- 13.4.8 Further performance tweaks