Coverage for examples/SimpleBuilding/main_single_run.py: 96%

23 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2025-10-20 14:09 +0000

1import logging 

2from agentlib_flexquant.generate_flex_agents import FlexAgentGenerator 

3from agentlib.utils.multi_agent_system import LocalMASAgency 

4from agentlib_flexquant.utils.interactive import Dashboard, CustomBound 

5 

6logging.basicConfig(level=logging.WARN) 

7until = 3600 * 24 

8 

9ENV_CONFIG = {"rt": False, "factor": 0.002, "t_sample": 1} 

10sim_config = "mpc_and_sim/fmu_config.json" 

11mpc_config = "mpc_and_sim/simple_building.json" 

12predictor_config = "predictor/predictor_config.json" 

13flex_config = "flex_configs/flexibility_agent_config.json" 

14 

15def run_example(until=until): 

16 

17 generator = FlexAgentGenerator( 

18 flex_config=flex_config, mpc_agent_config=mpc_config 

19 ) 

20 

21 config_list = generator.generate_flex_agents() 

22 sim_config_new = generator.adapt_sim_results_path(sim_config) 

23 

24 agent_configs = [sim_config_new, predictor_config] 

25 agent_configs.extend(config_list) 

26 

27 mas = LocalMASAgency( 

28 agent_configs=agent_configs, env=ENV_CONFIG, variable_logging=False 

29 ) 

30 mas.run(until=until) 

31 results = mas.get_results(cleanup=False) 

32 return results 

33 

34if __name__ == "__main__": 

35 # Here the simulation is run once,  

36 # generated files are stored in --> the current working directory 

37 # For an example with multiple runs, see: examples\SimpleBuilding\main_multi_run.py 

38 # For plotting of results generated from this main file,  

39 # see: examples\SimpleBuilding\plot_results_single.py 

40 run_example(until)