def fitness_func(self, juece, origin_adata, adata): '''适应度函数,可以根据个体的两个染色体计算出该个体的适应度''' a = [] i = 0 while True: temp = [] if (i + 4 <= len(juece)): temp.append(list(juece[i:i + 4])) i += 4 a.append(temp) else: break pici = inputdata.cul_pici(a, 1) dic, b_dic = inputdata.daikuan(origin_adata, pici) target = inputdata.jisuan(origin_adata, dic, b_dic) return 1 / (target + 1)
def fitness_func(juece, origin_adata, adata): '''适应度函数,可以根据个体的两个染色体计算出该个体的适应度''' pici = inputdata.cul_pici([juece], 1) dic, b_dic = inputdata.daikuan(origin_adata, pici) xiaohao = inputdata.jisuan(origin_adata, dic, b_dic) return xiaohao
ar[i][index - 1] = 1 arr = [] arr.append(ar) origin_data = inputdata.get_data() train_data = inputdata.get_input_data(origin_data) split = int(len(origin_data) * 0.8) xunlian_data = origin_data[0:split] pre_data = origin_data[split:len(origin_data)] pre_time = [] xunlian_time = [] #训练组80%的数据 for i in range(len(xunlian_data)): xunlian_adata = [] xunlian_adata.append(np.array(xunlian_data[i])) pici = inputdata.cul_pici(arr, 1) dic, b_dic = inputdata.daikuan(xunlian_adata, pici) # print("每个批次任务的带宽分配情况:", b_dic) time_ = inputdata.jisuan(xunlian_adata, dic, b_dic) xunlian_time.append(time_) print("随机匹配的训练80%任务的时间列表长度", len(xunlian_time)) Utils.save("random_xunlian80.npy", xunlian_time) #预测后20%组数据 for i in range(len(pre_data)): pre_adata = [] pre_adata.append(np.array(pre_data[i])) pici = inputdata.cul_pici(arr, 1) dic, b_dic = inputdata.daikuan(pre_adata, pici) # print("每个批次任务的带宽分配情况:", b_dic) time_ = inputdata.jisuan(pre_adata, dic, b_dic)