How rwth-ebc/ddmpc works
DDMPC is a data-driven model-predictive-control package for simulating building energy systems. The documented workflow is to run a system with a baseline controller, collect and process training data, fit process models, then configure and run MPC, optionally with online learning. The graph keeps data preparation, feature/model construction, prediction, optimization, and simulation as distinct stages. Relationships use README workflow statements or SOURCE INDEX references; unsampled internals are not assumed to be direct calls.
Main entry points: base_class.py System interface · predicting.py Prediction framework · mpc.py MPC controller · nlp.py NLP optimizer
Components 24
Control
- Baseline controller
ddmpc/controller/conventional.py - MPC controller
ddmpc/controller/model_predictive/mpc.py - NLP optimizer
ddmpc/controller/model_predictive/nlp.py - Cost functions
ddmpc/controller/model_predictive/costs.py
Data handling
- Training data processing
ddmpc/data_handling/processing_data.py - Training data storage
ddmpc/data_handling/storing_data.py - Data analysis
ddmpc/data_handling/data_analysis.py - Linearity detection
ddmpc/data_handling/linearity_detection.py
Modeling
- Process model
ddmpc/modeling/modeling.py - Feature definitions
ddmpc/modeling/features/features.py - Feature sources
ddmpc/modeling/features/sources.py - Constructed features
ddmpc/modeling/features/constructed.py - Prediction framework
ddmpc/modeling/predicting.py - ANN predictors
ddmpc/modeling/process_models/machine_learning/artificial_neural_networks/ann_predictor.py - Regression predictors
ddmpc/modeling/process_models/machine_learning/regression - Physics models
ddmpc/modeling/process_models/physics_based/white_box.py - Model training
ddmpc/modeling/process_models/machine_learning/training.py
Systems
- System interface
ddmpc/systems/base_class.py - FMU system
ddmpc/systems/fmu.py - BOPTEST system
ddmpc/systems/boptest.py - System errors
ddmpc/systems/exceptions.py
Utilities
- Utilities
ddmpc/utils
Other components
- Engineer
- BOPTEST service
Connections 26
- Engineer → Baseline controller: runs baseline
- Baseline controller → System interface: drives system
- System interface → Training data storage: records data
ddmpc/systems/base_class.py - Training data storage → Training data processing: prepares samples
ddmpc/data_handling/processing_data.py - Training data processing → Model training: supplies training data
ddmpc/modeling/process_models/machine_learning/training.py - Model training → ANN predictors: fits predictors
ddmpc/modeling/process_models/machine_learning/training.py - Engineer → Process model: defines process models
- Process model → Feature definitions: uses features
ddmpc/modeling/modeling.py - Feature definitions → Feature sources: uses sources
ddmpc/modeling/features/features.py - Constructed features → Feature sources: extends sources
ddmpc/modeling/features/constructed.py - ANN predictors → Prediction framework: implements predictor
ddmpc/modeling/process_models/machine_learning/artificial_neural_networks/ann_predictor.py - Regression predictors → Prediction framework: implements predictors
ddmpc/modeling/process_models/machine_learning/regression/gpr.py - Physics models → Prediction framework: implements predictor
ddmpc/modeling/process_models/physics_based/white_box.py - Engineer → MPC controller: configures MPC
- MPC controller → NLP optimizer: constructs optimizer
ddmpc/controller/model_predictive/mpc.py - NLP optimizer → Cost functions: applies costs
ddmpc/controller/model_predictive/nlp.py - NLP optimizer → Process model: uses process model
ddmpc/controller/model_predictive/nlp.py - MPC controller → System interface: runs control
- Engineer → Data analysis: analyzes data
- Engineer → Linearity detection: checks linearity
- System interface → FMU system: implements interface
ddmpc/systems/__init__.py - System interface → BOPTEST system: implements interface
ddmpc/systems/__init__.py - BOPTEST system → BOPTEST service: sends requests
ddmpc/systems/boptest.py - System interface → System errors: raises errors
ddmpc/systems/base_class.py - Training data storage → Utilities: uses storage helpers
ddmpc/data_handling/storing_data.py - Prediction framework → Utilities: uses persistence helpers
ddmpc/modeling/predicting.py