Energy

MOSEK is widely used in the energy industry to solve optimization problems, including unit commitment, optimal power flow, dispatch, and more. MOSEK is well known for its state-of-the-art optimizers for conic and mixed integer problems. It is typically more cost-effective than canned software packages and provides more flexibility. On this page, we gather our publications and tutorials about optimization in the energy industry.

Where Mosek is used

In the energy industry, many optimization problems naturally fit Mixed-Integer Programming (MIP) or Conic Optimization formulations (SOCP, SDP, exponential cones, etc.) Often cost curves are quadratic (QP) or convex (conic); AC power flow models and gas flow equations benefit from SOCP or SDP relaxations; Uncertain renewable output and probabilistic reliability constraints can be reformulated as second-order cones; thermodynamic relationships and efficiency curves are often best modeled with exponential cones.

Problem Problem Type
DC optimal power flow (DCOPF) LP / MIP
Hydrogen scheduling LP / MIP
Storage scheduling LP / MIP
Unit commitment MIP
Market clearing MIP
Capacity expansion planning MIP
Transmission expansion MIP
AC optimal power flow (ACOPF) MINLP; SOCP / SDP relaxations
Gas network optimization MINLP; SOCP relaxations
Chance-constrained dispatch SOCP

Third-party modeling tools and APIs

Nowadays, many energy models are written in specific modeling frameworks targeted for energy applications. Most prominently Python frameworks but also several others where Mosek can be selected as the solver of choice.. The list below is not exhaustive, but it helps the majority of users, hopefully.

Name Comment Links
PyPSA power system simulation + optimization; Python GitHub
Switch Open-source energy framework for power switch models
Spine Toolbox Energy system planning (SpineOpt); Julia / JuMP GitHub
oemof Open energy modeling framework, based on Pyomo GitHub
Calliope Free and open-source (Apache 2.0) energy system modelling framework based on Pyomo GitHub
Generic modeling languages
CVX, CVXPY, CVXR Open-source convex optimization modeling layer GitHub/cvxpy
GAMS Generic modeling language; Mosek interface Power System Optimization Modeling library/td>
AMPL Generic modeling language; Mosek interface
YALMIP Modeling toolbox in Matlab GitHub
Pyomo Generic Opti modeling
linopy Python optimization modeling library GitHub

For further third-party APIs, we refer to our overview page about third-party API.

Python notebooks

The following notebooks and examples can be found in Mosek’s documentation or on our own GitHub. In general, we recommend to check the rich repositories of third-party energy modeling framework providers.

Notebook Problem type Keywords Links
Unit Commitment MICQO Energy, unit commitment source
Transformer design optimization EXP Energy, geometric programming source

Other resources

  • The MOSEK Modeling Cookbook - is a mathematically oriented publication about conic optimization which presents the theory, examples, and many tips and tricks about formulating optimization problems. Also available as PDF (A4) and PDF (letter).

Try our Remote Optimization Server!

The Optimization Server (OptServer) is a MOSEK service for executing optimization tasks on a remote machine, including job scheduling, user management and other features. See documentation for details.