OptiOrch
A toolchain that integrates the optimization framework “MOO4Modelica” and the orchestration workflow “ModelicaOrch” to achieve optimal control in Modelica-based simulations.
GitLab Repo: https://git-st.inf.tu-dresden.de/wang/OptiOrch
Structure:
./src/
(Feature Model Transformation)
|-- feature_model
|-- modelica.g4
|-- parse_modelica.py
|-- feature_model.py
(Optimization Operation)
|-- config.json
|-- config.py
|-- optimize_main.py
|-- parallel_computing.py
|-- optimization_libraries.py
(Orchestration Workflow)
|-- orchestration_config.json
|-- orchestrator.py
|-- orchestration_wrapper.py
|-- orchestration_configurator.py
- Feature Model Transformation
modelica.g4
: an ANTLR4 grammar for Modelica filesparse_modelica.py
: parse a Modelica model to extract its components and their parametersfeature_model.py
: create a feature model and add the extracted components
- Optimization Operation
config.json
&config.py
: global settings and configurationsoptimize_main.py
: main optimization scriptparallel_computing.py
: parallel computingoptimization_libraries.py
: dynamic import of algorithms from pymoo
- Orchestration Workflow
orchestration_config.json
: configuration file for the entire orchestration workfloworchestrator.py
: coordinates the overall workfloworchestration_wrapper.py
: intermediary between MOO4Modelica and orchestration workfloworchestration_configurator.py
: updates configuration based on current status