1.一种基于改进花斑翠鸟算法的SD‑MANET多控制器部署方法,其特征在于,包括以下步骤:步骤1,获取SD‑MANET的网络拓扑信息,包括节点集合、节点坐标以及链路集合;
步骤2,构建代表网络拓扑的无向图,利用节点坐标计算直接链路的物理距离,并应用Dijkstra算法计算网络中任意两个节点间的最短路径距离;
步骤3,将控制器部署问题定义为一个多目标优化问题,以确定最优的控制器部署位置集合以及各节点到控制器的映射关系;
步骤4,采用改进的花斑翠鸟优化算法求解多目标优化问题,得到最优控制器部署方案,依据最优控制器部署方案在SD‑MANET环境中部署控制器及其管理域。
2.根据权利要求1所述的一种基于改进花斑翠鸟算法的SD‑MANET多控制器部署方法,其特征在于,步骤3包括:计算数据平面节点到控制器的传播时延,公式为:,
式中,V表示数据节点 的集合,C表示控制器 的集合, 表示第i个节点, 表示第j个控制器, 表示节点 与控制器 之间的最短路径距离,计算数据平面节点到控制器的传输时延,公式为:,
式中, 表示节点 到控制器 的传输延迟;
计算控制器之间的传播时延,公式为:,
式中, 表示控制器 与控制器 之间的最短距离;
计算控制器之间的传输时延,公式为:,
式中, 表示控制器 到控制器 的传输延迟;
则控制器域的总通信时延为:
。
3.根据权利要求2所述的一种基于改进花斑翠鸟算法的SD‑MANET多控制器部署方法,其特征在于,步骤3还包括:根据每个控制器的控制域内节点失效概率 和链路失效概率 ,计算控制器 域内的控制链路可靠性,表示为:,
式中, 表示第j个控制器管理的节点 集合, 表示控制器j域内的链路e集合;
计算SD‑MANET网络的控制平面链路故障率,表示为:,
式中,m表示SD‑MANET网络中控制器个数。
4.根据权利要求3所述的一种基于改进花斑翠鸟算法的SD‑MANET多控制器部署方法,其特征在于,步骤3还包括:计算SD‑MANET网络中每个控制器 的负载 ,公式为:,
式中, 表示节点的流请求数, 表示节点 和 之间是否存在链路, 表示存在链路, 表示不存在链路;
计算控制器 的使用率,公式为:,
式中, 表示控制器 的最大负载能力;
计算SD‑MANET网络中所有控制器的平均使用率,公式为:,
计算控制器的负载均衡度,公式为:。
5.根据权利要求4所述的一种基于改进花斑翠鸟算法的SD‑MANET多控制器部署方法,其特征在于,步骤3还包括:基于控制器域内的总通信时延、控制平面链路故障率和负载均衡率构建控制器部署的多目标优化函数F,以最小化该函数值为优化目标;其中多目标优化函数的公式为:,
式中, 分别表示总通信时延 、控制平面链路故障率 、控制器的负载均衡度 的权重系数;
构建多目标优化函数的约束条件为:,
,
,
,
,
式中,V表示数据平面节点 的集合, 表示第 个控制器;
第一个约束条件表示每个节点只能由一个控制器管理,第二个约束条件表示一个控制器最少要管理一个节点,第三个约束条件表示SD‑MANET网络中的控制器个数为m个;第四个约束条件表示控制器不能超过其负载能力;第五个约束条件表示多目标优化函数的权重系数加权和为1。
6.根据权利要求5所述的一种基于改进花斑翠鸟算法的SD‑MANET多控制器部署方法,其特征在于,步骤4包括:步骤41,设置最大迭代次数,以每个控制器的具体部署位置作为种群中的个体,引入Chebyshev混沌映射对种群进行初始化操作,公式为:,
式中, 表示第i个个体在第j维的位置, 分别表示第 维的搜索空间搜索范围的上、下边界, 表示Chebyshev混沌映射生成的(‑1,1)内的值,N表示个体总数, 表示维度数;
步骤42,在探索阶段引入莱维飞行策略以更新种群位置,更新公式为:,
式中, 为当前迭代次数s时个体的位置, 是从种群中随机选择的另一个个体 的位置,用来引导 的移动和探索, 为状态参数, 为随机指向参数, 为内正态分布随机值; 是莱维飞行的最终步长,公式为:,
式中,和 都是从正态分布生成的随机数, 为Levy飞行的参数;
步骤43,在开发阶段引入高斯变异策略以更新种群位置,更新公式为:,
式中, 是在概率 影响下得到的新位置, 是标准差,公式为 ,是一个系数,用于控制标准差的大小, 分别表示搜索范围的上、下边界;rand表示一个在[0,1]的随机数, 是变异概率,表示它以一定的概率 对个体变量进行扰动;
表示引入高斯变异后个体得到的新位置;
步骤44,在共生阶段,对当前迭代次数下种群位置进行更新,更新公式为:,
式中, 表示在当前迭代次数s时从种群中随机抽取2个个体的位置, 为斑翠鸟的捕食效率,表示狩猎能力, 表示一个在[0,1]的随机数;
步骤45,合并更新后的新种群,计算新种群中每个个体的适应度值,将适应度值从小到大进行排序,将适应度值最小对应的个体作为当前迭代次数下的最优可行解;判断是否大于迭代次数,若是,则输出最优可行解,否则返回探索阶段重新求解迭代。