def save_timing_performance(timing, filename): full_timings = [3] * 8 full_timings[0] = timing[0] full_timings[4] = timing[1] traffic_light = PhaseModifier("node1") controller = StaticTrafficLightController(controller=traffic_light, sequence=list(range(8)), timings=full_timings) sim = Simulator() sim.add_simulation_component(SimulationOutputParser) sim.add_tickable(controller) sim.run(sumocfg1, gui=False) sim.save_results(filename)
else: j += 1 simulation_dataFrame.tail(1)['iteration'] = j simulation_dataFrame = concat_frames(simulation_dataFrame, simulation_dataFrame.tail(1)) best_solution = min(population, key=lambda x: x._fitness) fitness_list.append(best_solution._fitness) timings_list_.append(best_solution._phases_steps) i += 1 print("The fitness list is: ", fitness_list) timings_array = np.asarray(timings_list_) np.savetxt(str("timings_list" + str(iteration) + ".csv"), timings_array, delimiter=",") time2 = time.time() #plt.plot(fitness_list) #plt.show() print("=" * 10) print("iteration were performed in: ", time2 - time1, " seconds.") sim.save_results("ga_results" + str(iteration)) save_dataframe2CSV(simulation_dataFrame, "ga_results" + str(iteration) + ".csv") print(simulation_dataFrame.head()) # /////////////////////////////////////////////////////////////////////