1、内容简介


592-20220630\NSGAII可以交流、咨询、答疑

2、内容说明

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

NSGA-Ⅱ算法是 Srinivas 和 Deb 于 2000 年在 NSGA 的基础上提出的,它比 NSGA算法更加优越:它采用了快速非支配排序算法,计算复杂度比 NSGA 大大的降低;采用了拥挤度和拥挤度比较算子,代替了需要指定的共享半径 shareQ,并在快速排序后的同级比较中作为胜出标准,使准 Pareto 域中的个体能扩展到整个 Pareto 域,并均匀分布,保持了种群的多样性;引入了精英策略,扩大了采样空间,防止最佳个体的丢失,提高了算法的运算速度和鲁棒性。
NSGA-Ⅱ就是在第一代非支配排序遗传算法的基础上改进而来,其改进主要是针对如上所述的三个方面:
①提出了快速非支配排序算法,一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了最为优秀的所有个体;
②引进精英策略,保证某些优良的种群个体在进化过程中不会被丢弃,从而提高了优化结果的精度;
③采用拥挤度和拥挤度比较算子,不但克服了NSGA中需要人为指定共享参数的缺陷,而且将其作为种群中个体间的比较标准,使得准Pareto域中的个体能均匀地扩展到整个Pareto域,保证了种群的多样性。

3、仿真分析

clc
clear
close all
%% 定义自变量范围
nvar = 3;
nobj = 2;
npop = 50;
maxit = 5;
pc = 0.8;
nc = round(pc * npop / 2) * 2;
mu = 0.05;
varmin = [0.5, 0.5, 30];
varmax = [15,  1.5, 60];
step = [0.29, 0.02, 0.6];
len = (varmax - varmin) ./ step;
var = [varmin;step;varmax;round(len, 0)];
%% 定义结果存放模板
empty.position = [];
empty.cost = [];
empty.rank = [];
empty.domination = [];
empty.dominated = 0;
empty.crowdingdistance = [];
pop = repmat(empty, npop, 1);
%% 初始化种群
for i = 1 : npoppop(i).position = create_x(var);pop(i).cost = costfunction(pop(i).position);
end%% 非支配排序
[pop,F] = nondominatedsort(pop);%% 拥挤度计算
pop = calcrowdingdistance(pop,F);%% 主程序
for it = 1 : maxitpopc = repmat(empty, nc/2,2);for j = 1 : nc / 2p1 = tournamentsel(pop);p2 = tournamentsel(pop);[popc(j, 1).position, popc(j, 2).position] = crossover(p1.position, p2.position);endpopc = popc(:);for k = 1 : ncpopc(k).position = mutate(popc(k).position, mu, var);popc(k).cost = costfunction(popc(k).position);endnewpop = [pop; popc];% 排序pop = Sortpop(pop);% 淘汰pop = pop(1: npop);% 更新第1等级F1 = pop(F{1});% 显示迭代信息disp(['Iteration ' num2str(it) ': Number of F1 Members = ' num2str(numel(F1))]);% 绘图figure(1);plotcosts(F1);
%     pause(0.01);
end

Iteration 1: Number of F1 Members = 19
Iteration 2: Number of F1 Members = 27
Iteration 3: Number of F1 Members = 44
Iteration 4: Number of F1 Members = 50
Iteration 5: Number of F1 Members = 50

4、参考论文

matlab实现多目标优化求解-NSGA-II 算法相关推荐

  1. 【单目标优化求解】基于matlab增强型黑猩猩优化器算法求解单目标优化问题【含Matlab源码 2013期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab增强型黑猩猩优化器算法求解单目标优化问题[含Matlab源码 2013期] 点击上面蓝色字体,直接付费下 ...

  2. 【单目标优化求解】基于matlab黑猩猩算法求解单目标问题【含Matlab源码 1413期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab黑猩猩算法求解单目标问题[含Matlab源码 1413期] 点击上面蓝色字体,直接付费下载,即可. 获取代 ...

  3. 【多目标优化求解】基于matlab粘菌算法MOSMA求解多目标优化问题【含Matlab源码 2279期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[多目标优化求解]基于matlab粘菌算法MOSMA求解多目标优化问题[含Matlab源码 2279期] 点击上面蓝色字体,直接付费下载, ...

  4. 【Matlab多目标优化求解】遗传优化萤火虫算法求解多目标优化问题【含源码 1484期】

    一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]遗传优化萤火虫算法求解多目标优化问题[含源码 1484期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  5. 【Matlab多目标优化求解】粒子群算法求解智能微电网多目标优化问题【含源码 383期】

    一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]粒子群算法求解智能微电网多目标优化问题[含源码 383期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  6. 【Matlab多目标优化求解】粒子群算法求解配电网抢修优化问题【含源码 777期】

    一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]粒子群算法求解配电网抢修优化问题[含源码 777期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  7. 【多目标优化求解】基于matlab灰狼优化算法求解多目标优化问题 【含Matlab源码 007期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[多目标优化求解]基于matlab灰狼优化算法求解多目标优化问题 [含Matlab源码 007期] 获取代码方式2: 通过订阅紫极神光博客 ...

  8. 【多目标优化求解】基于matlab飞蛾扑火算法 (NSMFO)求解多目标优化问题 【含Matlab源码 2312期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[多目标优化求解]基于matlab飞蛾扑火算法 (NSMFO)求解多目标优化问题 [含Matlab源码 2312期] 点击上面蓝色字体,直 ...

  9. MATLAB实战系列(三十九)-matlab多目标优化之海洋捕食者算法

    前言 文中涉及代码可参见 matlab多目标优化之海洋捕食者算法 海洋捕食者算法(Marine Predators Algorithm, MPA)是Afshin Faramarzi等人于2020年提出 ...

最新文章

  1. 判断一个图是否为树(有向图以及无向图)
  2. [黑金原创教程] FPGA那些事儿《数学篇》- CORDIC 算法
  3. MySQL数据库数据类型以及INT(M)的含义
  4. 以经济周期的角度来看世界
  5. 【CyberSecurityLearning 2】IP地址与DOS命令
  6. 如何选一台好的中低端的笔记本电脑
  7. Nhibernate和 Entity Framework 4优缺点
  8. 图论--边双连通V-DCC缩点
  9. Multiverse: Revolutionary Backend for Alembic // Multiverse: 下一代Alembic后端
  10. VS插件的开发 - Visual Studio Addin
  11. java与数据库连接的几个步骤
  12. android维文字体下载,Badam维汉输入法
  13. 10.4. 嗅探工具
  14. Vue侧导航栏的实现
  15. jupyter添加快捷方式
  16. 5秒内克隆你的声音,并生成任何内容,这个工具细思极恐...还特么的开源~
  17. QCustomPlot使用心得三:线样式,点样式
  18. 词云图制作:15张炫酷的词云图海报、PPT报告词云图、3D词云图,MagicCloud词云图一键制作软件
  19. Keras构建用于分类任务的Transformer(Vision Transformer/VIT)
  20. 超声波雷达驱动(Elmos524.03Elmos524.09)

热门文章

  1. 使用STWI056WT-01串口屏充电桩项目
  2. MySQL基础语句小结
  3. 微信第三方登录redirect_uri 参数错误
  4. 回收站清空的文件怎么恢复?
  5. 程序员如何避免“代码被猫吃了”?
  6. 人一辈子有时候要傻一次,笨一次
  7. 江阴市计算机等级考试报名,计算机二级考试技巧【江阴计算机二级培训】
  8. 都2022年了,你还不知道软考证书的好处吗?
  9. 消息协议 AMQP 及MQTT ,STOMP,JMS的概念和基本理解
  10. 中秋节出门,这些地方必定人山人海,不信你去看看