Skip to content
Snippets Groups Projects
Zizhe Wang's avatar
Zizhe Wang authored
29f99a10
History

MOO4Modelica + ModelicaOrchestrator

MOO4Modelica: An optimization framework for Modelica which supports both single- and multi-objective optimization.

ModelicaOrchestrator: An orchestration workflow for Modelica.

GitHub Page: https://wangzizhe.github.io/MOO4Modelica

framework workflow

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 files
    • parse_modelica.py: parse a Modelica model to extract it components and their parameters
    • feature_model.py: create a feature model and add the extracted components
  • Optimization Operation

    • config.json & config.py: global settings and configurations
    • optimize_main.py: main optimization script
    • parallel_computing.py: parallel computing
    • optimization_libraries.py: dynamic import of algorithms from pymoo
  • Orchestration Workflow

    • orchestration_config.json: configuration file for the entire orchestration workflow
    • orchestrator.py: coordinates the overall workflow
    • orchestration_wrapper.py: intermediary between MOO4Modelica and orchestration workflow
    • orchestration_configurator.py: updates configuration based on current status