目录
1. 多策略改进黏菌优化算法
1. 自适应可调节反馈因子
-
目的:使反馈因子vc 更加准确地描述实际情况下质量和
浓度之间的反馈关系。
-
vc 描述食物浓度与黏菌质量之间的反馈关系。
-
算法迭代前期:黏菌个体大范围感受食物的浓度,此时食物浓度低,应加快反馈因子的下降速度,减弱反馈关系,有利于提高全局搜索能力。
-
算法迭代后期:食物浓度高,应保持较为平稳的反馈系数,有利于提高个体局部搜索能力。
-
下降速率调节因子k:自动调节反馈因子vc的下降速度。
-
自适应可调节的反馈因子vc的数学模型如下:
-
t:当前迭代次数,tmax:最大迭代次数
-
-
k 分别取1,4,7时 vc 随迭代次数变化如下图所示:
-
由上图可知,改进的反馈因子曲线的下降速度随调节因子k的增大而增大。
-
k值过大:算法前期收敛过快,易陷入局部最优。
-
k值过小:算法收敛速度慢。
-
实验表明,k = 4时最合适。
-
2. 算数交叉算子
-
目的:加快 SMA 的收敛速度。
-
遗传算法中的交叉算子:通过交换两个附带的位置信息产生新的个体,新的个体继承了父代的有效信息。
-
改进的交叉算子:以一定的概率Pt使当前个体与种群最优个体进行交叉操作。
-
改进的交叉算子的数学模型如下:
-
t:当前迭代次数
-
XA1和XA2:分别为交叉产生的两个子代个体的位置
-
XA:当前个体位置,Xbest:当前种群最优个体位置
-
L:取值(0,1)的随机参数,控制子代从两个父代获取信息的比例,采用拉普拉斯系数控制。
-
两个父代发生一次交叉操作,产生两个新个体
-
-
采用拉普拉斯系数控制的参数 L 的数学模型如下:
-
μ :控制位置,取自然数
-
λ:控制尺度,调节父代与子代的距离,λ越小子代越靠近父代。
-
r:取值[0,1]的随机数
-
3. 改进的人工蜂群搜索策略
-
目的:缓解SMA易早熟收敛的问题。
-
基本人工蜂群搜索策略数学模型如下:
-
Zij: 产生的候选解
-
Xij:当前个体,Xkj:随机个体
-
k、j:随机参数,k = 1,2,...,NP, k ≠ i ; j∈{1,2,...,d}
-
ϕij : [-1,1] 之间的随机数
-
-
加入全局最优位置引导的改进的搜索策略数学模型如下:
-
Ω :取值[0,1.5]的随机数
-
Pg:为全局最优位置
-
-
添加方式:再每一次迭代结束时,对于原始算法更新产生的个体和引入改进的人工蜂群策略生成的个体,采用贪婪策略保留其中较优的个体,加快算法的收敛。
2. ISMA实现步骤
ISMA实现流程图如下:
3. 适应度进化曲线
-
x∈[-5,5];
function results = func(x)
results = 5*cos(x(1)*x(2))+x(1)*x(2)+x(2)^3;
end
4. 参考文献
[1] 刘成汉, 何庆. 改进交叉算子的自适应人工蜂群黏菌算法[J/OL]. 小型微型计算机系统: 1-8 [2021-11-16].