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

文章介绍了一种新的随机分形搜索(SFS)算法的改进方法,通过应用适应度-距离平衡(FDB)策略来提升算法的多样性和防止早熟收敛。实验结果证明,提出的FDBSFS算法在39个竞争算法中表现最佳,适用于复杂的全局数值优化问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值