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

news2024/11/19 18:45:02

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毕设选题推荐基于python的django框架的学生课程管理系统

&#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设老哥&#x1f525; &#x1f496; 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; Java实战项目专栏 Python实…

前端二面常见手写面试题(必备)

用正则写一个根据name获取cookie中的值的方法 function getCookie(name) {var match document.cookie.match(new RegExp((^| ) name ([^;]*)));if (match) return unescape(match[2]); }获取页面上的cookie可以使用 document.cookie 这里获取到的是类似于这样的字符串&…

新一代推理部署工具FastDeploy与十大硬件公司联合打造:产业级AI模型部署实战课...

人工智能产业应用发展的越来越快&#xff0c;开发者需要面对的适配部署工作也越来越复杂。层出不穷的算法模型、各种架构的AI硬件、不同场景的部署需求、不同操作系统和开发语言&#xff0c;为AI开发者项目落地带来极大的挑战。为了解决AI部署落地难题&#xff0c;我们发布了新…

(附源码)springboot校园跳蚤市场 毕业设计 646515

基于Springboot校园跳蚤市场 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。现代社会越来…

Python解题 - CSDN周赛第14期 - 单词编码

本期其实没啥好写的&#xff0c;都是数学题&#xff0c;和算法关系不大&#xff0c;唯手熟尔。而且又出现了同一天的每日一练中包含了赛题&#xff0c;这算不算官方泄题呢&#xff1f;看来下次在竞赛之前先做完每日一练大有益处呢。 第一题&#xff1a;字符串全排列 对K个不同字…

算法leetcode|21. 合并两个有序链表(rust重拳出击)

文章目录21. 合并两个有序链表&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a;原题传送门&#xff1a;分析&#xff1a;题解&#xff1a;rustgoccpythonjava21. 合并两个有序链表&#xff1a; 将两个升序链表合并为一个新的 升序 链表并…

一款基于SpringBoot+layui 开源的固定设备资产管理系统源码 源码免费分享

淘源码&#xff1a;国内专业的免费源码下载平台 分享一款开源的固定设备资产管理系统源码&#xff0c;系统可对常用资产设备进行信息化管理&#xff0c;包含自定义支持各类设备、自带导入导出、维护工作统计、采购管理、文档管理、合同管理等功能&#xff0c;包含对资产的登记、…

如何优雅的设计和使用缓存?

背景 在之前的文章中你应该知道的缓存进化史介绍了爱奇艺的缓存架构和缓存的进化历史。俗话说得好&#xff0c;工欲善其事&#xff0c;必先利其器&#xff0c;有了好的工具肯定得知道如何用好这些工具&#xff0c;本篇将介绍如何利用好缓存。 1.确认是否需要缓存 在使用缓存…

CentOS7 修改ip、MAC、UUID

对于复制的虚拟机&#xff0c;在开机时&#xff0c;VMware自动为其分配了相同的Mac地址以及IP地址(除IP地址是dhcp自动获取外) UUID&#xff08;Universally Unique Identifier&#xff09;是系统层面的全局唯一标识符号&#xff0c;Mac地址以及IP地址是网络层面的标识号 两台不…

dtb如何转换到platform_device

分2步&#xff0c;第一步是首先转换为device_node&#xff0c;第二步device_node转换为platform_device。 第一步 /*** unflatten_device_tree - create tree of device_nodes from flat blob** unflattens the device-tree passed by the firmware, creating the* tree of st…

mysql常用索引

1.普通索引 navicat中为NORMAL 语句为 ADD INDEX //采用普通索引的方式可以大大提高数据库的工作效率 2.唯一索引 navicat中为NORMAL 语句为 ADD UNIQUE INDEX //采用唯一索引的方式可以大大提高数据库的工作效率、并且数据无重复 3.主键索引 navicat中为主键 语句为 AD…

ALSA系统简析

一 音频架构 如图所示 是 嵌入式系统的音频连接 音频编解码器将数字音频信号 转换成 扬声器播放所需要的模拟声音信号。而通过麦克风时&#xff0c;则执行相反的过程。 数字音频信号通过 PCM技术对模拟信号以某个比特率采样得到的&#xff0c;编解码器的任务就是以支持的PCM…

非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.1 多道批处理操作系统 1.4.2 分时操作系统

非零基础自学计算机操作系统 文章目录非零基础自学计算机操作系统第1章 操作系统概述1.4 操作系统的分类1.4.1 多道批处理操作系统1.4.2 分时操作系统第1章 操作系统概述 1.4 操作系统的分类 按照操作系统的功能可将其分为以下几类&#xff1a;多道批处理操作系统、分时操作系…

力扣(LeetCode)143. 重排链表(C++)

模拟 五步做完 : ①遍历链表&#xff0c;得到链表长度 ②找到中间结点 ③反转链表后半段的结点指向 ④重排链表 ⑤尾结点的指向置空 初始链表 L0→L1→…→Ln−1→LnL0 → L1 → … → Ln - 1 → LnL0→L1→…→Ln−1→Ln 重排链表 L0→Ln→L1→Ln−1→L2→Ln−2→…L0 → Ln…

MongoDB数据库 —— 图形化工具

在前面通过使用MongoDB在命令窗口操作数据库&#xff0c;而MySQL数据库也同样可以在命令窗口使用sql语句操作数据库&#xff0c;在安装数据库的时候提到可以安装这个图形化工具的&#xff0c;为了节省安装时间和卡顿选择后续安装MongoDB图形化工具&#xff0c;在MySQL数据中同样…

[附源码]JAVA毕业设计疫情防控期间人员档案追演示录像上(系统+LW)

[附源码]JAVA毕业设计疫情防控期间人员档案追演示录像上&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#x…

Spring Cloud Zuul网关的介绍及使用

Zuul 是 Netflix OSS 中的一员&#xff0c;是一个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul 能够与 Eureka、Ribbon、Hystrix 等组件配合使用。 Zuul 的核心是过滤器&#xff0c;通过这些过滤器我们可以扩展出很多功能&#xff0…

猿如意中的【Linux命令查询】工具详情介绍

一、工具名称 Linux命令查询 二、下载安装渠道 Linux命令查询通过CSDN官方开发的【猿如意】客户端进行下载安装。 2.1 什么是猿如意&#xff1f; 猿如意是一款面向开发者的辅助开发工具箱&#xff0c;包含了效率工具、开发工具下载&#xff0c;教程文档&#xff0c;代码片段…

R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

在某些情况下&#xff0c;你可能希望通过在每帧中添加数据并保留先前添加的数据来进行动画处理。最近我们被客户要求撰写关于动态可视化的研究报告&#xff0c;包括一些图形和统计输出。 现在&#xff0c;我们将通过制作点线图的动画来探索。 以下是制作图表静态版本的代码&a…

如何打造一个高效可用的组织知识库

作者 | 唐三 在管理改进活动中&#xff0c;衡量一个企业管理改进成功与否的一个重要指标就是组织知识库的构建和使用。 组织知识库是一个学习型组织在项目操作过程中所积累的无形资产&#xff0c;同时组织过程资产的累积程度是衡量一个项目组织管理体系成熟度的重要指标&#…