def run_flower(parameters): """ :param parameters: :type parameters: Parameters :return: """ env = Environment() env.segment_count = parameters.segment_count env.mdc_count = parameters.mdc_count env.isdva = parameters.isdva env.isdvsd = parameters.isdvsd env.comms_range = parameters.radio_range flower_sim = FLOWER(env) print("Starting FLOWER at {}".format(datetime.datetime.now().isoformat())) print("Using {}".format(parameters)) start = time.time() runner = flower_sim.run() results = Results(runner.maximum_communication_delay(), runner.energy_balance(), 0., runner.average_energy(), runner.max_buffer_size()) print("Finished FLOWER in {} seconds".format(time.time() - start)) return results
def average_results(results): mean_max_delay = np.mean([x.max_delay for x in results]) mean_balance = np.mean([x.balance for x in results]) mean_lifetime = np.mean([x.lifetime for x in results]) mean_energy = np.mean([x.ave_energy for x in results]) mean_buffer = np.mean([x.max_buffer for x in results]) result = Results(mean_max_delay, mean_balance, mean_lifetime, mean_energy, mean_buffer) return result