基于适应度-距离-平衡供给需求优化算法FDB-SDO附matlab代码

研究提出了一种基于供需优化(SDO)的改进版本,结合适合度-距离平衡(FDB)方法来增强搜索效率。通过CEC2017基准套件和二十个工程设计问题验证,FDBSDO变体展示了在约束和无约束问题上的优越性能,尤其在消除早熟收敛和提供搜索多样性方面表现出色。

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

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

在这项研究中,开发了基于供需优化 (SDO) 算法的改进版本,这是一种最近开发的元启发式搜索方法。为了在 SDO 中更有效地模拟供需过程,使用适合度-距离平衡 (FDB) 方法确定了指导搜索过程的候选解决方案。为了测试和验证所开发的基于 FDB 的 SDO 算法的性能,使用了现代基准套件 CEC 2017。该套件有四种不同类型和三十个无约束测试问题。这些问题被设计成30/50/100维,以测试和验证所提算法在不同类型和维数的搜索空间中的性能。此外,二十个工程设计问题被用来测试和验证所提出的 FDBSDO 变体在受约束的工程设计问题中的性能。使用非参数统计测试方法分析来自两项实验研究的数据。根据分析结果,FDBSDO 变体在所有实验研究中都显示出优于基本算法的性能,具有约束/无约束、单模态/多模态/混合/组合问题类型和不同维度。FDB选择方法的实现消除了SDO算法的早熟收敛问题。所提出的 FDBSDO 算法具有敏感搜索的能力,有效地提供多样性,并在开发探索之间建立强大的平衡。使用非参数统计测试方法分析来自两项实验研究的数据。根据分析结果,FDBSDO 变体在所有实验研究中都显示出优于基本算法的性能,具有约束/无约束、单模态/多模态/混合/组合问题类型和不同维度。FDB选择方法的实现消除了SDO算法的早熟收敛问题。所提出的 FDBSDO 算法具有敏感搜索的能力,有效地提供多样性,并在开发探索之间建立强大的平衡。使用非参数统计测试方法分析来自两项实验研究的数据。根据分析结果,FDBSDO 变体在所有实验研究中都显示出优于基本算法的性能,具有约束/无约束、单模态/多模态/混合/组合问题类型和不同维度。FDB选择方法的实现消除了SDO算法的早熟收敛问题。所提出的 FDBSDO 算法具有敏感搜索的能力,有效地提供多样性,并在开发探索之间建立强大的平衡。具有约束/无约束、单峰/多峰/混合/组合问题类型和不同维度。FDB选择方法的实现消除了SDO算法的早熟收敛问题。所提出的 FDBSDO 算法具有敏感搜索的能力,有效地提供多样性,并在开发探索之间建立强大的平衡。具有约束/无约束、单峰/多峰/混合/组合问题类型和不同维度。FDB选择方法的实现消除了SDO算法的早熟收敛问题。所提出的 FDBSDO 算法具有敏感搜索的能力,有效地提供多样性,并在开发探索之间建立强大的平衡。

⛄ 部分代码

function index = rouletteFitnessDistanceBalance( 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)) || (sum(fitness) >= Inf) || ~(sum(best)< inf)

    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

    r = rand * sum(divDistances);

    c = cumsum(divDistances);

    index = find( r <= c, 1, 'first');

end

end

⛄ 运行结果

⛄ 参考文献

Katı, M., Kahraman, H. T. (2020). Improving Supply-Demand-Based Optimization Algorithm with FDB Method: A Comprehensive Research on Engineering Design Problems, Journal of Engineering Sciences and Design (Mühendislik Bilimleri ve Tasarım Dergisi), doi: 10.21923/jesd.829508, 8(5), 156-172, 2020.

Katı, M , Kahraman, H . (2020). ARZ-TALEP TABANLI OPTİMİZASYON ALGORİTMASININ FDB YÖNTEMİ İLE İYİLEŞTİRİLMESİ: MÜHENDİSLİK TASARIM PROBLEMLERİ ÜZERİNE KAPSAMLI BİR ARAŞTIRMA . Mühendislik Bilimleri ve Tasarım Dergisi , Özel Sayı: Uluslararası Mühendislikte Yapay Zeka ve Uygulamalı Matematik Konferansı (UMYMK 2020) , doi: 10.21923/jesd.829508, 156-172 . Retrieved from https://dergipark.org.tr/tr/pub/jesd/issue/58118/829508

⛄ Matlab代码关注

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值