diff --git a/Prosumer/main.py b/Prosumer/main.py index e22fa3296a3332f5ccfcd7af3d03d341a48d9706..98443a195686c6644c3d539a00fb6d6d3f6f8282 100644 --- a/Prosumer/main.py +++ b/Prosumer/main.py @@ -283,12 +283,20 @@ class Main: self.prosumer[self.name_list[0]].set_components(sector_matrices[self.name_list[0]], self.storage_states, comp_dict[self.name_list[0]]) global_irradiance, temperature = use_db.config_profiles(input_profiles[name_list[0]], self.t_step) - def run_optimization(self, name_list): + def run_optimization(self, name_list, strategy_name, pareto_set_size, solver_name): # ToDo: callback, abbruchbedingung, maybe check the feasebility of the model before building, # häufige fehler bei der eingabe prüfen usw - self.prosumer[name_list].run_optimization(strategy_name=['annuity'], - solver_name='gurobi', - commentary=self.commentary) + self.prosumer[name_list].run_optimization(strategy_name=strategy_name, + solver_name=solver_name, + commentary=self.commentary, + pareto_set_size=pareto_set_size) + + #def run_optimization(self, name_list): + # # ToDo: callback, abbruchbedingung, maybe check the feasebility of the model before building, + # # häufige fehler bei der eingabe prüfen usw + # self.prosumer[name_list].run_optimization(strategy_name=['annuity'], + # solver_name='gurobi', + # commentary=self.commentary) def show_results(self, name_list, inter_results, final_iteration): try: @@ -377,6 +385,8 @@ class Main: if comp_type == 'Storage': self.charge_status[name_list][components[0]] = all_results.iloc[amount_results-1][('energy', components[0])]\ /all_results.iloc[amount_results-1][('cap', components[0])] + full_results=pd.read_excel('output_files/' + name_list + '/results_' + name_list + '.xlsx') + return full_results except ValueError: print('Results for prosumer ' + name_list + ' cannot be extracted or processed.') diff --git a/Prosumer/model/BaseProsumer.py b/Prosumer/model/BaseProsumer.py index ab8ff7dc9639bdd6b27764feeaa9600012968281..900f48e882bb72c1e98ac35a39628ab8d9b25df2 100644 --- a/Prosumer/model/BaseProsumer.py +++ b/Prosumer/model/BaseProsumer.py @@ -374,7 +374,7 @@ class BaseProsumer: return pd.DataFrame(np.array(results_lst), columns=columns) - def run_optimization(self, strategy_name, solver_name='gurobi', commentary=False, pareto_set_size=5): + def run_optimization(self, strategy_name, pareto_set_size, solver_name, commentary=False,): """ The method XYZ adds ... :param @@ -382,6 +382,11 @@ class BaseProsumer: :returns XYZ """ + print('======================================') + print('Strategy chosen is ' + strategy_name[0]) + print('pareto_set_size is ' + str(pareto_set_size)) + print('solver_name is ' + solver_name) + print('======================================') self._build_math_model(strategy_name, components) # todo: necessary solver options (midgap, ...) should be available from runme.py solver = pyo.SolverFactory(solver_name)