✅作者简介:热爱科研的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电子书和数学建模资料

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐