【随机分形搜索算法】一种新的全局数值优化的适应度-距离平衡随机分形搜索算法FDB-SFS附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

随机分形搜索 (SFS) 是一种新的原始元启发式搜索 (MHS) 算法,具有强大的基础。与许多其他 MHS 方法一样,SFS 算法在有效平衡开发-探索方面存在问题。为了达到这种平衡,需要提高其多样性能力。本文介绍了为加强 SFS 算法的多样性和平衡搜索能力而进行的研究。为此,SFS 算法的多样性算子采用一种称为适合度-距离平衡 (FDB) 的新方法设计,该方法更有效地模拟了分形在自然界中发生的方式。因此,具有更强搜索性能的FDBSFS算法应运而生。进行了全面的实验研究以测试和验证开发的基于 FDB 的 SFS 算法 (FDBSFS)。使用了 39 个新颖而强大的 MHS 算法、89 个无约束测试函数和 5 个约束工程问题。两个非参数检验,Wilcoxon 符号秩检验和 Friedman 检验,用于分析从实验研究中获得的结果。分析结果表明,FDB方法的应用在很大程度上消除了早熟收敛的问题,也有效地提供了开发-探索平衡。此外,所提出的 FDBSFS 算法在 39 个竞争算法中排名第一。使用了 89 个无约束测试函数和 5 个约束工程问题。两个非参数检验,Wilcoxon 符号秩检验和 Friedman 检验,用于分析从实验研究中获得的结果。分析结果表明,FDB方法的应用在很大程度上消除了早熟收敛的问题,也有效地提供了开发-探索平衡。此外,所提出的 FDBSFS 算法在 39 个竞争算法中排名第一。使用了 89 个无约束测试函数和 5 个约束工程问题。两个非参数检验,Wilcoxon 符号秩检验和 Friedman 检验,用于分析从实验研究中获得的结果。分析结果表明,FDB方法的应用在很大程度上消除了早熟收敛的问题,也有效地提供了开发-探索平衡。此外,所提出的 FDBSFS 算法在 39 个竞争算法中排名第一。分析结果表明,FDB方法的应用在很大程度上消除了早熟收敛的问题,也有效地提供了开发-探索平衡。此外,所提出的 FDBSFS 算法在 39 个竞争算法中排名第一。分析结果表明,FDB方法的应用在很大程度上消除了早熟收敛的问题,也有效地提供了开发-探索平衡。此外,所提出的 FDBSFS 算法在 39 个竞争算法中排名第一。

⛄ 部分代码

function index = fitnessDistanceBalance( population, fitness )

    [~, bestIndex] = min(fitness); 

    best = population(bestIndex, :);

    [populationSize, dimension] = size(population);

    distances = zeros(1, populationSize); 

    normFitness = zeros(1, populationSize); 

    normDistances = zeros(1, populationSize); 

    divDistances = zeros(1, populationSize); 

    if min(fitness) == max(fitness)

        index = randi(populationSize);

    else

        for i = 1 : populationSize

            value = 0;

            for j = 1 : dimension

                value = value + abs(best(j) - population(i, j));

            end

            distances(i) = value;

        end

        minFitness = min(fitness); maxMinFitness = max(fitness) - minFitness;

        minDistance = min(distances); maxMinDistance = max(distances) - minDistance;

        for i = 1 : populationSize

            normFitness(i) = 1 - ((fitness(i) - minFitness) / maxMinFitness);

            normDistances(i) = (distances(i) - minDistance) / maxMinDistance;

            divDistances(i) = normFitness(i) + normDistances(i);

        end

        [~, index] = max(divDistances);

    end

end

⛄ 运行结果

⛄ 参考文献

Aras, Sefa, et al. “A Novel Stochastic Fractal Search Algorithm with Fitness-Distance Balance for Global Numerical Optimization.” Swarm and Evolutionary Computation, Elsevier BV, Dec. 2020, p. 100821, doi:10.1016/j.swevo.2020.100821.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值