区间高维多目标边缘计算任务迁移优化方法【附代码】
2026/5/10 3:26:45 网站建设 项目流程

(1)区间支配关系与置信度驱动的进化框架:

在不确定网络带宽和计算能力下,将每个迁移解的目标值表示为区间数。提出改进的区间支配关系IDP,不仅基于区间上下界比较,还引入置信度概率,即一个解在随机采样下支配另一解的可能性超过阈值时才认定为支配。置信度通过蒙特卡洛采样区间内的参数实现,采样次数动态调整以平衡精度和计算开销。基于IDP,设计了区间高维多目标进化算法I-θ-DEA。该算法采用基于参考点的环境选择机制,将区间目标值映射到单位超平面,利用区间到参考点的距离和拥挤距离进行分层排序。为增强种群多样性,提出双迁移选择策略:在生成子代时分别从邻居个体集和全局个体集中选择交配对象,邻居集的确定基于区间目标空间的余弦相似度。交替使用两种选择概率,使算法在搜索前沿不同区域时能自适应调节。实验在由8个边缘服务器和20个移动设备组成的迁移模型中,I-θ-DEA算法获得的非支配解集在反世代距离指标上较传统NSGA-III区间版本降低了22.4%,区间不确定度减少19.7%。

(2)多址安全迁移环境下的窃听信道状态估计与干扰器协作:

在存在多个恶意窃听者和多个干扰器的场景中,将窃听者信道状态信息模糊化为区间参数。提出基于高斯过程回归的在线信道区间估计方法,利用历史信噪比测量值和位置信息预测窃听信道的上下界。为了实现可靠迁移,设计多址安全迁移选择策略,为每个终端任务分配一个主迁移路径和两个备选路径,主路径利用物理层安全编码技术,备选路径通过干扰器发射人工噪声迷惑窃听者。干扰器的功率和相位参数由可靠迁移的高维多目标进化算法优化,优化目标包括时延、能耗、负载和保密中断概率。采用双迁移交叉策略:两个不同终端任务的迁解决策以一定概率进行交叉,使一个任务的路径选择能够辅助另一任务的干扰器协作,提升整体安全性能。仿真结果中,保密中断概率降低了32.1%,在满足时延要求的前提下成功迁移任务数提升了18.5%。

(3)基于目标值主导的分层排序与区间Spearman秩相关选择:

在区间多目标优化中,为了更准确评价解的质量,提出目标值主导分层排序方法。首先在每个目标维度上,根据区间上界的优劣进行初始排序,然后对区间下界进行修正排序,如果两个解的区间有重叠,则引入区间Spearman秩相关系数衡量它们在所有目标上的单调一致性,对一致性高的解给予优先保留。该排序值作为环境选择的二级指标。为进一步保证前沿的均匀性,在相同分层内采用基于区间移动最小二乘的密度估计算子,计算每个解在一定区间半径内其他解的加权贡献。该组合策略使算法在5维目标测试问题上的超体积指标提升了11.2%,且生成的迁移策略集具有更好的多样性分布。在开发的MATLAB原型系统中,用户可设置不确定度参数并查看迁移决策的区间目标范围,为实际调度提供风险敏感的参考。

import numpy as np from scipy.stats import spearmanr from sklearn.gaussian_process import GaussianProcessRegressor # 区间支配判断(IDP) def interval_dominates(a_lower, a_upper, b_lower, b_upper, samples=100, thresh=0.7): # 蒙特卡洛采样判断支配概率 a_samples = np.random.uniform(a_lower, a_upper, (samples, len(a_lower))) b_samples = np.random.uniform(b_lower, b_upper, (samples, len(b_lower))) count_dom = 0 for i in range(samples): if all(a_samples[i] <= b_samples[i]) and any(a_samples[i] < b_samples[i]): count_dom += 1 return count_dom / samples > thresh # 基于参考点的区间环境选择 def theta_based_selection(pop, ideal, nadir, ref_dirs): # 将区间目标值归一化,计算到参考点的距离 normalized_obj = (pop.objectives_upper - ideal) / (nadir - ideal) distances = np.linalg.norm(normalized_obj, axis=1) angles = np.arccos(1 - np.min(1, np.dot(normalized_obj, ref_dirs.T))) # 使用PBI聚合函数改进选择 theta = 5.0 fitness = distances * (1 + theta * angles) # 分层排序选择 selected_indices = np.argsort(fitness)[:pop.size] return pop[selected_indices] # 高斯过程信道区间预测 class ChannelPredictor: def __init__(self): self.gp_lower = GaussianProcessRegressor() self.gp_upper = GaussianProcessRegressor() def update(self, X, y_lower, y_upper): self.gp_lower.fit(X, y_lower) self.gp_upper.fit(X, y_upper) def predict_interval(self, X): mean_lower = self.gp_lower.predict(X) mean_upper = self.gp_upper.predict(X) std = 0.5 * (mean_upper - mean_lower) # 估计区间半点宽 return mean_lower, mean_upper # 安全迁移双交叉 def security_aware_crossover(parent1, parent2, interference_matrix): child1 = parent1.copy() child2 = parent2.copy() # 随机交换任务路径 for task in range(len(parent1)): if np.random.rand() < 0.3: child1[task].path_id = parent2[task].path_id child1[task].jammer_id = parent2[task].jammer_id # 干扰器协作调整 for jammer in interference_matrix: if interference_matrix[jammer]['cooperate']: child1[jammer].power *= 1.1 return child1, child2 # 区间Spearman秩一致性选择 def spearman_consistent_selection(pop, ref): rank_corrs = [] for ind in pop: r, _ = spearmanr(ind.objectives_upper, ref.objectives_upper) rank_corrs.append(r) # 保留一致性高的个体 sorted_idx = np.argsort(rank_corrs)[-30:] return pop[sorted_idx]

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询