Project02_幼儿园小朋友优化算法CEC2014算法测试_多个算法测试代码

频道介绍

  1. 博主简介:科研工作dog
  2. 编程语言:MATLAB为主、Python为辅
  3. 研究内容:启发式算法设计与应用
  4. 主要细分研究领域:物流工程系统优化、工业工程、供应链网络优化等
  5. 频道主要功能:科研领域知识分享、交流,算法、代码分享。

文章引用

张庭溢,汪弘健. 幼儿园小朋友优化算法 [J]. 计算机工程与应用, 2024, 60 (23): 109-125.

摘要

为提升黑猩猩优化算法开发精度和全局搜索能力,通过观察、总结 4-6 岁幼儿园小朋友行为特点,建立数学模型,提出幼儿园小朋友优化算法(KCOA)。算法设计中,小朋友具有玩具吸引、找伙伴、小红花三种社会行为。玩具吸引策略体现最优个体引领作用,找伙伴策略增强普通个体交流与探索能力,避免局部极值,小红花策略实时评估更新劣解,提升收敛速度和精度。

算法核心策略

1.玩具吸引策略

通过非线性半径系数 R 平衡全局搜索与局部开发,数学模型为:
A i t + 1 = A b e s t t + R × ∣ A b e s t t − r 1 × A i t ∣ A_i^{t+1}=A_{best}^t+R\times|A_{best}^t-r_1\times A_i^t| Ait+1=Abestt+R×Abesttr1×Ait
R = 2.5 × ( 1 − ( t / T m a x ) 3 ) 4 R=2.5\times(1-(t/T_{max})^3)^4 R=2.5×(1(t/Tmax)3)4
其中, A i t A_i^t Ait为当前个体位置, A b e s t t A_best^t Abestt为最优个体位置, r 1 r_1 r1为[0,1]随机数, T m a x T_max Tmax为最大迭代次数。

2.找伙伴策略

通过混沌参数 M 实现普通个体间交流,数学模型为:
A i t + 1 = A i t − M × C 1 × A r a n d t C 1 = 1 − T / T m a x M = C h a o t i c   v a l u e \begin{aligned}&A_i^{t+1}=A_i^t-M\times C_1\times A_{rand}^t\\&C_1=1-T/T_{max}\\&M=Chaotic\:value\end{aligned} Ait+1=AitM×C1×ArandtC1=1T/TmaxM=Chaoticvalue
其中, A r a n d t A_{rand}^{t} Arandt为随机个体位置,M 由 logistic 混沌序列生成

3.小红花策略

通过评价因子筛选劣解并更新,数学模型为:

e v a l u a t e i = F i t n e s s ( A m a x ) − F i t n e s s ( A i ) F i t n e s s ( A m a x ) − m e a n   F i t n e s s evaluate_i=\frac{Fitness(A_{max})-Fitness(A_i)}{Fitness(A_{max})-mean\:Fitness} evaluatei=Fitness(Amax)meanFitnessFitness(Amax)Fitness(Ai)
当 e v a l u a t e i ≤ 0.15 当evaluate_i\leq0.15 evaluatei0.15时,触发更新:

A i t + 1 = A b e s t + A r 1 t − ( − 1 ) b × A r 2 t 3 A_i^{t+1}=A_{best}+\frac{A_{r1}^t-(-1)^b\times A_{r2}^t}3 Ait+1=Abest+3Ar1t(1)b×Ar2t

其中, A r 1 t A_r1^{t} Ar1t A r 2 t A_{r2}^{t} Ar2t为随机个体,b为随机自然数。

4.算法流程

算法流程

实验验证

测试函数:
CEC2014 测试函数中的单峰和多峰问题,如下:
CEC2014 测试函数
对比算法:
粒子群算法
横向交叉粒子群优化算法
灰狼优化算法
遗传算法
幼儿园小朋友优化算法(本文算法)
评价次数:维度 * 10000;
种群大小:50;
问题维度:10 (其他维度不测试了)

测试结果

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值