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}