💥1 概述
向外搜索(OS)是一种新方案,旨在为改进进化算法的收敛性提供多种形式。OS不是使用新功能,而是使用进化算法的微分向量方程执行。本研究推荐了三种操作系统方案,以获得提高进化算法性能的解决方案。第一个使用算法的原始方程来生成操作系统解决方案或候选解决方案。第二种利用原始方程为一个人同时生成OS解决方案和候选解决方案。最后一种使用另一种算法的方程为所研究的算法创建操作系统解决方案。使用CEC2015基准测试套件检查了三种生物启发算法,以比较所提出的OS方案的各自性能。比较结果表明,从当前区域向外搜索区域优于检查通过基于对立的学习获得的对立位置。
📚2 运行结果
部分代码:
clc; clear; close all; ZZZ=1; inidown=-10; iniup=10; down=-10; up=10; op=0; goal=0; D = 10; N = 20; func_num=1; switch (func_num) case (1) CostFunction=@Ackley case (2) CostFunction=@Rastrigin case (3) CostFunction=@Rosenbrock case (4) CostFunction=@Sphere end for iz=1:ZZZ options.iterations = 30000; options.space = [down up]; options.inispace = [inidown iniup]; nvars=D; options.population = N; options.Goal = goal; options.op = op; % search space if size(options.space,1) == 1 for i=1:nvars space(i,:)=options.space; end end options.space=space; % initial space if size(options.inispace,1) == 1 for i=1:nvars inispace(i,:)=options.inispace; end end options.inispace=inispace; %%%% please find Table 9 in An outward search (OS) to increase population diversity for optimization algorithms [WP, FVAL, OUTPUT] = PSO_sub(CostFunction, nvars, options); % original PSO pause [WP, FVAL, OUTPUT] = PSO_sub_OS3(CostFunction, nvars, options); %PSO(OS3) refers to Algorithm 3 pause [WP, FVAL, OUTPUT] = PSO_sub_OBL(CostFunction, nvars, options); %PSO(OBL) refers to OBL end %iz clc; clear; close all; ZZZ=1; inidown=-10; iniup=10; down=-10; up=10; op=0; goal=0; D = 10; N = 20; func_num=1; switch (func_num) case (1) CostFunction=@Ackley case (2) CostFunction=@Rastrigin case (3) CostFunction=@Rosenbrock case (4) CostFunction=@Sphere end for iz=1:ZZZ options.iterations = 30000; options.space = [down up]; options.inispace = [inidown iniup]; nvars=D; options.population = N; options.Goal = goal; options.op = op; % search space if size(options.space,1) == 1 for i=1:nvars space(i,:)=options.space; end end options.space=space; % initial space if size(options.inispace,1) == 1 for i=1:nvars inispace(i,:)=options.inispace; end end options.inispace=inispace; %%%% please find Table 9 in An outward search (OS) to increase population diversity for optimization algorithms [WP, FVAL, OUTPUT] = PSO_sub(CostFunction, nvars, options); % original PSO pause [WP, FVAL, OUTPUT] = PSO_sub_OS3(CostFunction, nvars, options); %PSO(OS3) refers to Algorithm 3 pause [WP, FVAL, OUTPUT] = PSO_sub_OBL(CostFunction, nvars, options); %PSO(OBL) refers to OBL end %iz
🌈3 Matlab代码实现
🎉4 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]Hsing-Chih Tsai (2022) An outward search to increase population diversity for optimization algorithms