NSGAII多目标优化算法的MATLAB实现与仿真

1.算法简介

NSGA-II在引入算术交叉算子的同时,提出并引入累积排序适应度赋值策略。实验表明,INSGA具有更高的收敛速度和更好的种群多样性。

2.部分核心代码

登录后复制

clc;clear;close all;warning off;addpath 'func\'%% parametres settingnvar=3;        %  number of variablelb=[-4 -4 -4]; % lower boundub=[4 4 4];     % upper boundnpop=40;     % number of populationpc=0.7;       % percent of crossoverncross=2*round(npop*pc/2);  % number of crossover offspringpm=0.3;        %  percent of mutationnmut=round(npop*pm);  % number of mutation offspringmaxiter=150;%% initializationempty.pos=[];empty.cost=[];empty.dcount=[];   % dominate countempty.dset=[];     % dominate setempty.rank=[];      empty.cdis=[];      % crowding distancepop=repmat(empty,npop,1);for i=1:npop    pop(i).pos=lb+rand(1,nvar).*(ub-lb);    pop(i).cost=fitness(pop(i).pos);end[pop F]=non_dominated_sorting(pop);pop=calculated_crowding_distance(pop,F);pop=sorting(pop);%% main loopfor iter=1:maxiter    % crossover    crosspop=repmat(empty,ncross,1);     crosspop=crossover(crosspop,pop,ncross,F,nvar);          % mutation     mutpop=repmat(empty,nmut,1);     mutpop=mutation(mutpop,pop,nmut,lb,ub,nvar);          [pop]=[pop;crosspop;mutpop];         [pop F]=non_dominated_sorting(pop);      pop=calculated_crowding_distance(pop,F);      pop=sorting(pop);            pop=pop(1:npop);            [pop F]=non_dominated_sorting(pop);      pop=calculated_crowding_distance(pop,F);      pop=sorting(pop);                  C=[pop.cost]';            figure(1)      plotpareto(F,C)                        disp([ ' iter =   '  num2str(iter) ' BEST F1 = ' num2str(min(C(:,1)))  ' BEST F2  = ' num2str(min(C(:,2))) ' NF1 = '  num2str(length(F{1})) ])                     end%% resultspareto=pop(F{1},:);1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.

3.仿真演示

基于NSGAII的多目标优化算法的MATLAB仿真_参考文献


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空