# open_state = env.Report_open_close() # for i in range(a_dim): # if a_last[i]!=open_state[i]: # print('1_ERROR!!!!!') # break if i_episode%3==0 and t%100==0: result_list = adapt_speed.Calculate_AdaptSpeed(env, a_last, i_episode, t, Date, SLOTNUM) reward_list = result_list[0] disconnect_rate_list = result_list[1] Delay_Outage_Rate_list = result_list[2] s_ = env.update(a, a_last, i_episode, t+(Date-1001)*SLOTNUM) r = output.Calculate_Reward(env, a, s_) if i_episode%3==0 and t%100==0: reward_list.append(float(r)) disconnect_rate = 1-(env.Print_System_Performance())[1] L1_Delay = env.Get_L1_Car_Delay() L1_Delay_count = 0 L1_Delay_outrage_count = 0 Delay_Outage_Rate = 0 for i in range(a_dim): if L1_Delay[i] != 0: L1_Delay_count = L1_Delay_count+1 if L1_Delay[i]>50: L1_Delay_outrage_count = L1_Delay_outrage_count+1 if L1_Delay_count != 0: Delay_Outage_Rate = L1_Delay_outrage_count/L1_Delay_count
# open_state = env.Report_open_close() # for i in range(a_dim): # if a_last[i]!=open_state[i]: # print('1_ERROR!!!!!') # break # if i_episode%3==0 and t%100==0: # result_list = adapt_speed.Calculate_AdaptSpeed(env, a_last, i_episode, t, Date, SLOTNUM) # reward_list = result_list[0] # disconnect_rate_list = result_list[1] # Delay_Outage_Rate_list = result_list[2] s_ = env.update(a, a_last, i_episode, t + (Date - 1001) * SLOTNUM) disconnect_rate, Avg_Delay, Delay_Outage_Rate = output.Calculate_disconnect_outofdelay( env) r = output.Calculate_Reward(a, s_, disconnect_rate, Delay_Outage_Rate) # if i_episode%3==0 and t%100==0: # reward_list.append(float(r)) # disconnect_rate_list.append(float(disconnect_rate)) # Delay_Outage_Rate_list.append(float(Delay_Outage_Rate)) # sys_per.update_AdaptSpeed([reward_list, disconnect_rate_list, Delay_Outage_Rate_list], t) s_ = np.transpose(s_) line_fig.update(env, r, t) sys_per.update(env, a, r, disconnect_rate, Avg_Delay, Delay_Outage_Rate, t, path) # conv_rate.store_reward(ddpg, t, i_episode, Date, path) # adapt_speed.store_action(t, a)