6 Optimization Tutorials¶
In this section we demonstrate how to set up basic types of optimization problems. Each short tutorial contains a working example of formulating problems, defining variables and constraints and retrieving solutions.
Model setup and linear optimization tutorial (LO)
Sec. 6.1 (Linear Optimization). Linear optimization tutorial, recommended first reading for all users. Apart from setting up a linear problem it also demonstrates how to work with an optimizer task: initialize it, add variables and constraints and retrieve the solution.
Conic optimization tutorials (CO)
Sec. 6.2 (From Linear to Conic Optimization). A step by step introduction to programming with affine conic constraints (ACC). Explains all the steps required to input a conic problem. Recommended first reading for users of the conic optimizer.
Further basic examples demonstrating various types of conic constraints:
Sec. 6.3 (Conic Quadratic Optimization). A basic example with a quadratic cone (CQO).
Sec. 6.4 (Power Cone Optimization). A basic example with a power cone.
Sec. 6.5 (Conic Exponential Optimization). A basic example with a exponential cone (CEO).
Sec. 6.6 (Geometric Programming). A basic tutorial of geometric programming (GP).
Semidefinite optimization tutorial (SDO)
Sec. 6.7 (Semidefinite Optimization). Examples showing how to solve semidefinite optimization problems with one or more semidefinite variables.
Mixed-integer optimization tutorials (MIO)
Sec. 6.8 (Integer Optimization). Shows how to declare integer variables for linear and conic problems and how to set an initial solution.
Sec. 6.9 (Disjunctive constraints). Demonstrates how to create a problem with disjunctive constraints (DJC).
Quadratic optimization tutorial (QO, QCQO)
Sec. 6.10 (Quadratic Optimization). Examples showing how to solve a quadratic or quadratically constrained problem.
Sec. 6.11 (Problem Modification and Reoptimization). Various techniques for modifying and reoptimizing a problem.
Parallel optimization tutorial
Sec. 6.12 (Parallel optimization). Shows how to optimize tasks in parallel.
Sec. 6.13 (Retrieving infeasibility certificates). Shows how to retrieve and analyze a primal infeasibility certificate for continuous problems.
For a more in-depth treatment see the following sections:
Sec. 11 (Case Studies) for more advanced and complicated optimization examples.
Sec. 11.1 (Portfolio Optimization) for examples related to portfolio optimization.
Sec. 12 (Problem Formulation and Solutions) for formal mathematical formulations of problems MOSEK can solve, dual problems and infeasibility certificates.