Skip to content

Installation

The MPC framework is not tied to a specific platform, and can for example be invoked from MIKE OPERATIONS or DIMS.Core. The MPC framework needs a place to store and retrieve time series from, and this can for example be a MIKE OPERATIONS database or a DIMS.CORE database.

The MPC framework's optimiser uses an external optimisation library from mosek. The license for mosek is NOT bundled with DHI's software, so a license for mosek's PTS module must be acquired to use mosek in a consultancy project. For internal use at DHI, we have a floating license with one seat (contact AKF to get access).

Installation with MIKE OPERATIONS

MPC interacts with the following MIKE OPERATIONS managers:

  • Time Series Manager
  • Scenario Manager
  • Script Manager

MIKE OPERATIONS 2021.1 and later versions include the Engine and the ClosedLoopMO modules.

MPC's optimisation and the closed-loop simulation is configured using MIKE OPERATIONS's script manager. To get started, MPC's .NET dlls must be imported at the top of the script

import clr # module to import .NET-libraries
#...add references to MPC's .NET libraries...
clr.AddReference("DHI.MPC.Engine") # core of MPC
clr.AddReference('DHI.MPC.MO') # closed-loop simulation with MO scenario
clr.AddReference('DHI.ConvexOptimization.Mosek') # mosek optimisation solver
clr.AddReference('DHI.Services.Provider.MCLite') # interact with MO's time series
                                                 # using Domain Services MCLite provider

#...then import them as if they were python packages...
from DHI.MPC.Engine import*
from DHI.MPC.MO import *
from DHI.ConvexOptimization.Mosek import *
import DHI.Services.Provider.MCLite as MCLite

Installation with DIMS.CORE

{yet to come}