向外搜索以增加种群多样性的优化算法(Matlab代码实现)

简介: 向外搜索以增加种群多样性的优化算法(Matlab代码实现)

💥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


相关文章
|
9天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
91 14
|
9天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
9天前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
|
10天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
10天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
10天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
10天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
10天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)

热门文章

最新文章