分享好友 最新动态首页 最新动态分类 切换频道
MATLAB应用实战系列NSGA-II多目标优化算法原理及应用实例(附MATLAB代码)
2024-12-26 19:57

前言 

MATLAB应用实战系列NSGA-II多目标优化算法原理及应用实例(附MATLAB代码)

NSGA-Ⅱ是最流行的多目标遗传算法之一,它降低了非劣排序遗传算法的复杂性,具有运行速度快,解集的收敛性好的优点,成为其他多目标优化算法性能的基准。

NSGA-Ⅱ算法是 Srinivas 和 Deb 于 2000 年在 NSGA 的基础上提出的,它比 NSGA算法更加优越:它采用了快速非支配排序算法,计算复杂度比 NSGA 大大的降低;采用了拥挤度和拥挤度比较算子,代替了需要指定的共享半径 shareQ,并在快速排序后的同级比较中作为胜出标准,使准 Pareto 域中的个体能扩展到整个 Pareto 域,并均匀分布,保持了种群的多样性;引入了精英策略,扩大了采样空间,防止最佳个体的丢失,提高了算法的运算速度和鲁棒性。

以下是博主精心整理的两个matlab专栏,包含入门到精通及实战内容,需要的小伙伴可根据自己需求自行订阅。

MATLAB-30天带你从入门到精通

https://blog.csdn.net/wenyusuran/category_10614422.html

MATLAB深入理解高级教程(附源码)

https://blog.csdn.net/wenyusuran/category_2239265.html

需要详细源码的小伙伴可参见:

数学建模源码集锦-基于遗传算法的多目标优化算法应用实例

https://download.csdn.net/download/wenyusuran/15749792

选择过程分两个部分:
1. 把种群分成一组Pareto非支配集。一个非支配集里的个体不被当前或之后非支配集里的任何个体支配。方法就是每次选出所有不被任何其他个体支配的非支配个体,从种群里删除当一个非支配集,然后剩下的再不停重复这个过程,直到取完。
2. 按crowd distance排序。就是在各个维度左右相邻个体的距离之和。


1.先对M个个体求pareto解。然后得到F1,F2……等这些pareto的集合。
2.把F1的所有个体全部放入N,若N没满,继续放F2,直到有Fk不能全部放入已经放入F1、F2、…、F(k-1)的N(空间)。此时对Fk进行求解。
3.对于Fk中的个体,求出Fk中的每个个体的拥挤距离Lk[i](crowding distance),在fk中按照Lk[i]递减排序,放入N中,直到N满。

NSGA-II在常规遗传算法上的改进,关键步骤就3步。

 

 

多目标优化问题的设计关键在于求取Pareto最优解集。NSGA-II算法中的快速非支配排序是根据个体的非劣解水平对种群分层,其作用是指引搜索向Pareto最优解集方向进行。它是一个循环的适应值分级过程:首先找出群体中非支配解集,记为第一非支配层F,将其所有个体赋予非支配序值irank=1(其中irank是个体i的非支配排序值),并从整个种群中除去;然后继续找出余下群体中非支配解集,记为第二非支配排序层F2,个体被赋予非支配序值irank=2;照此进行下去,直到整个种群被分层,同一分层内的个体具有相同的非支配序值irank。

 

 

为了能够在具有相同irank的个体内进行选择性排序,NSGA-II提出了个体拥挤距离的概念。个体i的拥挤距离是目标空间上与i相邻的2个个体i+1和i-1之间的距离,其计算步骤为:

a)对同层的个体初始化距离。令L[i]d=0(其中L[i]d表示任意个体i的拥挤距离);

b)对同层的个体按第m个目标函数值升序排列;

c)使得排序边缘上的个体具有选择优势。给定一个大数M,令L[1]d=L[end]d=M;

d)对排序中间的个体,求拥挤距离:

e)对不同的目标函数,重复步骤a)~步骤d)操作,得到个体i的拥挤距离L[i]d,通过优先选择拥挤距离较大的个体,可使计算结果在目标空间比较均匀分布,以维持种群的多样性。

 

 

精英策略即保留父代中的优良个体直接进入子代,以防止获得的Pareto最优解丢失。精英策略选择算子按3个指标对由父代Ci和子代Di合成的种群Ri进行优选,以组成新的父代种群Ci+1。首先淘汰父代中方案校验标志为不可行的方案按照非支配序值irank从低到高排序,将整层种群依次放入Ci+1,直到放入某一层Fj时出现Ci+1大小超过种群规模限制N的情况;最后,依据Fj中的个体拥挤距离由大到小的顺序继续填充Ci+1直到种群数量达到N时终止

下面这个图片能很好的说明NSGA-II的实现过程


最后附上用NSGA-II求解ZDT1函数的MATLAB代码,ZDT1函数如下:

 

 

 

主函数Main_NSGA2,运行主函数的时候,命令行窗口会出现Test problem index  :,这时需要输入1~14中的任意一个数字,意思就是选择14个测试函数中的任意一个函数。

最新文章
聊城智慧金融调解
小编导语随着经济的发展和金融市场的不断完善,金融纠纷的数量逐渐增加。传统的金融纠纷解决方式往往效率低下,耗时耗力,难以满足现代社会的需求。聊城作为一个经济快速发展的城市,积极探索智慧金融调解,通过信息技术的运用,提高金融纠
用AI生成超逼真美女写真-轻松打造你的AI女友
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数字化深度发展的时代,人工智能正以无与伦比的速度改变着我们的生活。无论是智能家居
陕西省体彩中心如何通过足球文化推广竞猜游戏
三、背后的支柱:王世让及其团队 在这场活动的成功背后,陕西体彩中心的工作人员和中国体育报记者王世让的努力是不可或缺的。王世让,以其敏锐的嗅觉和丰富的体育资讯经验,为活动的宣传提供了出色的支持。他深知现代体育文化的重要性,尤
自带肩键的骁龙870游戏手机,144Hz高刷+120W快充真爽
来源:雪球App,作者: 数码科技观察,(https://xueqiu.com/9343667827/303715723)一直有粉丝要我写游戏手机,但现在除了ROG和红魔外,其它大厂都放弃了这个品类。在我眼里,只有两类手机能称为游戏手机,一类是红魔9S Pro和拯救者Y90内
苹果手机呼叫转移怎么取消
苹果手机以其强大的功能和用户友好的界面设计,赢得了全球用户的青睐。然而,有时候我们可能会不小心开启呼叫转移功能,导致所有来电都被转移到其他号码。那么,如何取消苹果手机的呼叫转移功能呢?本文将为您详细介绍几种方法。**方法一:
许昌市场监管局:曝光10起民生领域广告违法典型案例!
     2024年,为进一步规范民生领域广告市场秩序,根据河南省市场监管局关于开展民生领域广告监管专项行动部署,许昌市市场监督管理局深入践行“监管为民”的理念,以医疗、药械、食品、教育培训等领域违法广告为治理重点,持续加大执法
新澳天天彩1052期免费资料大全特色,未来解答解释定义_SE版 33.078
新澳天天彩1052期作为彩票爱好者关注的焦点,本期特别整理了一系列免费资料大全,旨在为彩民提供更全面的参考信息。以下是本期的特色内容和未来解答解释定义_SE版 33.078 的详细介绍。本期资料大全涵盖了号码走势分析、历史数据对比、专家
绘画画板app
绘画画板app是一款十分实用的生活工具,用户可以通过绘画画板来自由绘图,培养艺术细胞,增进对美术的兴趣,增加生活乐趣,也可以通过绘画来消遣压力,提高工作效率。为练习写字的写字板和做笔记的记事本,还可以快速绘制流程图,提高工作
腾讯广告投放规则,腾讯互动广告
2017年06月13日时胜蕊100抖音、快手、微信朋友圈、百度、360、搜狗、神马、广点通、小红书、微博、今日头条等网络推广渠道技术开发、技术推广、技术转让、技术咨询、技术服务;销售自行开发的产品;计算机系统服务;基础软件服务、应用软件
相关文章
推荐文章
发表评论
0评