一、麋鹿优化算法
麋鹿优化算法(Elephant Herding Optimization,EHO)是2024年提出的一种启发式优化算法,该算法的灵感来源于麋鹿群的繁殖过程,包括发情期和产犊期。在发情期,麋鹿群根据公麋鹿之间的争斗分为不同大小的家族,较强的公麋鹿可以与大量的雌麋鹿组成家族。在产犊期,每个家族的公麋鹿和雌麋鹿繁殖新的幼崽。在优化过程中,优化循环由发情期、产犊期和选择期三个阶段组成。在选择期,所有家族合并,选择最适应的麋鹿群用于下一轮的发情期和产犊期。EHO 将种群分为一组组的群体,每个群体在发情期有一个领导者和若干跟随者,跟随者的数量根据领导者的适应度值确定。在产犊期,每个群体根据领导者和跟随者生成新的解。在选择期,所有群体的成员包括领导者、跟随者和新解被合并,选择最适应的种群。
参考文献:
[1] Al-betar, M.A., Awadallah, M.A., Braik, M.S., Makhadmeh, S.N., & Abu Doush, I. (2024). Elk herd optimizer: a novel nature-inspired metaheuristic algorithm. Artif. Intell. Rev., 57, 48.
二、多目标麋鹿优化算法
针对单目标优化问题,麋鹿优化算法已显示出其有效性。然而,在面对多目标优化问题时,需要一种能够同时处理多个冲突目标的算法。因此,本文提出多目标麋鹿优化算法(Multi-objective Elephant Herding Optimization,MOEHO)。MOEHO是麋鹿优化算法的多目标扩展,它能够有效地解决多目标优化问题。
为了评估MOEHO的性能,我们将其应用于十个工程应用。此外,为了全面评估算法的收敛性和解的多样性,我们使用了六种不同的性能度量指标:GD、IGD、HV、Spacing、Spread和Coverage。通过这些指标的综合分析,我们可以有效地评估该算法在处理多目标优化问题时的整体性能。
MOEHO算法的执行步骤可以描述如下:
-
初始种群的生成:算法首先随机生成一个初始种群,其中每个个体象征着一个可能的解决方案。
-
个体的评估与筛选:算法对初始种群中的个体进行评估,并根据特定的标准筛选出合适的个体。
-
新个体的产生:通过配对操作,从筛选后的个体中生成新的子代个体。
-
环境选择过程:算法通过环境选择机制对新产生的子代个体进行评估,以确定哪些个体将进入下一代。
-
终止条件的判断:算法会持续进行迭代,直到满足预设的终止条件,这些条件可能包括达到最大迭代次数或解决方案的质量达到既定标准。
-
近似Pareto解集的形成:当满足终止条件后,最后一次环境选择中保留的个体将构成近似的Pareto解集。
在这一过程中,环境选择机制扮演着至关重要的角色。它负责从子代个体中挑选出能够支配其他个体或与其他个体互不支配的精英个体。这些精英个体代表了当前种群中的最优质解。随着算法的不断迭代,每次迭代都能选出新的精英个体,最终能够逼近问题的最优解。
1、 Pressure Vessel Design
2、 Vibrating Platform Design
3、 Two Bar Truss Design
4、 Welded Beam Design
5、 Disc Brake Design
6、 Speed Reducer Design
7、 Gear Train Design
8、 Car Side Impact Design
9、 Four Bar Plane Truss
10、 Two Bar Plane Truss
三、部分MATLAB代码
%% 参数说明
%testProblem 测试问题序号
%Name 测试问题名称
%dim 测试问题维度
%numObj测试问题目标函数个数
%lb测试问题下界
%ub测试问题上界
%SearchAgents_no 种群大小
%Max_iter最大迭代次数
%Fbest 算法求得的POF
%Xbest 算法求得的POS
%TurePF 测试问题的真实pareto前沿
%Result 评价指标随迭代次数的变化值
testProblem=2;
[Name,dim,numObj,lb,ub]=GetProblemInfo(testProblem);%获取测试问题的相关信息
SearchAgents_no=200;%种群大小
Max_iter=200;%最大迭代次数
[Fbest,Xbest,TurePF,Result] = MOEHO(Max_iter,SearchAgents_no,Name,dim,numObj,lb,ub);%算法求解
四、部分结果
Four Bar Plane Truss:
Vibrating Platform Design:
Car Side Impact Design:
Gear Train Design:
Welded Beam Design:
五、完整MATLAB代码
见下方名片