ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:145.50KB ,
资源ID:3025994      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3025994.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多目标粒子群matlab代码.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

多目标粒子群matlab代码.doc

1、% 改进的多目标粒子群算法,包括多个测试函数% 对程序中的部分参数进行修改将更好地求解某些函数% ZDT1NP=cell(1,50);ZDT1FV=cell(1,50);ZDT1T=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(ZDT1,0.1,50,100,2.0,1.0,0.4,200,30,zeros(1,30),ones(1,30);%-ZDT1elapsedTime=toc;ZDT1NP(i)=np;ZDT1FV(i)=fv;ZDT1T(i)=elapsedTime;display(s

2、trcat(ZDT1,num2str(i);endzdt1fv=cell2mat(ZDT1FV);zdt1fv=GetLeastFunctionValue(zdt1fv);ZDT2NP=cell(1,50);ZDT2FV=cell(1,50);ZDT2T=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(ZDT2,0.1,50,100,2.0,1.0,0.4,200,30,zeros(1,30),ones(1,30),1,zeros(1,29);%-ZDT2elapsedTime=toc;ZDT2N

3、P(i)=np;ZDT2FV(i)=fv;ZDT2T(i)=elapsedTime;display(strcat(ZDT2,num2str(i);endzdt2fv=cell2mat(ZDT2FV);zdt2fv=GetLeastFunctionValue(zdt2fv);%5ZDT3NP=cell(1,50);ZDT3FV=cell(1,50);ZDT3T=zeros(1,50);for i=1:50tic;% np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(ZDT3,0.1,50,100,2.0,1.0,0.4,400,30,zeros(1,30

4、),ones(1,30);%-ZDT3elapsedTime=toc;ZDT3NP(i)=np;ZDT3FV(i)=fv;ZDT3T(i)=elapsedTime;display(strcat(ZDT3,num2str(i);endzdt3fv=cell2mat(ZDT3FV);zdt3fv=GetLeastFunctionValue(zdt3fv);ZDT4NP=cell(1,50);ZDT4FV=cell(1,50);ZDT4T=zeros(1,50);for i=1:50tic;% np,nprule,dnp,fv,goals=ParticleSwarmOpt(ZDT4,0.1,50,1

5、00,2.0,1.0,0.4,200,10,0,-5,-5,-5,-5,-5,-5,-5,-5,-5,1,5,5,5,5,5,5,5,5,5,1,0,0,0,0,0,0,0,0,0);%-ZDT4elapsedTime=toc;ZDT4NP(i)=np;ZDT4FV(i)=fv;ZDT4T(i)=elapsedTime;display(strcat(ZDT4,num2str(i);endzdt4fv=cell2mat(ZDT4FV);zdt4fv=GetLeastFunctionValue(zdt4fv);%ZDT6NP=cell(1,50);ZDT6FV=cell(1,50);ZDT6T=z

6、eros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(ZDT6,0.1,50,100,2.0,1.0,0.4,200,10,zeros(1,10),ones(1,10);%-ZDT6elapsedTime=toc;ZDT6NP(i)=np;ZDT6FV(i)=fv;ZDT6T(i)=elapsedTime;display(strcat(ZDT6,num2str(i);endzdt6fv=cell2mat(ZDT6FV);zdt6fv=GetLeastFunctionValue(zdt6fv);CTP1NP

7、=cell(1,50);CTP1FV=cell(1,50);CTP1T=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP1,0.1,50,100,2.0,1.0,0.4,1500,5,0,-5,-5,-5,-5,1,5,5,5,5,struct(isfmopso,false,istargetdis,false,stopatborder,true);%-CTP1elapsedTime=toc;CTP1NP(i)=np;CTP1FV(i)=fv;CTP1T(i)=elapsedTime;displ

8、ay(strcat(CTP1,num2str(i);endctp1fv=cell2mat(CTP1FV);ctp1fv=GetLeastFunctionValue(ctp1fv);CTP1fmNP=cell(1,50);CTP1fmFV=cell(1,50);CTP1fmT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP1,0.1,50,100,2.0,1.0,0.4,400,5,0,-5,-5,-5,-5,1,5,5,5,5,0 0 0 0 0,struct(isfmopso,true,i

9、stargetdis,false,stopatborder,true);%-CTP1elapsedTime=toc;CTP1fmNP(i)=np;CTP1fmFV(i)=fv;CTP1fmT(i)=elapsedTime;display(strcat(CTP1fm,num2str(i);endctp1fmfv=cell2mat(CTP1fmFV);ctp1fmfv=GetLeastFunctionValue(ctp1fmfv);CTP2NP=cell(1,50);CTP2FV=cell(1,50);CTP2T=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv

10、,goals,pbest=ParticleSwarmOpt(CTP2,0.1,50,100,2.0,1.0,0.4,1500,5,0,-5,-5,-5,-5,1,5,5,5,5,struct(isfmopso,false,istargetdis,false,stopatborder,true);%-CTP2elapsedTime=toc;CTP2NP(i)=np;CTP2FV(i)=fv;CTP2T(i)=elapsedTime;display(strcat(CTP2,num2str(i);endctp2fv=cell2mat(CTP2FV);ctp2fv=GetLeastFunctionVa

11、lue(ctp2fv);CTP2fmNP=cell(1,50);CTP2fmFV=cell(1,50);CTP2fmT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP2,0.1,50,100,2.0,1.0,0.4,400,5,0,-5,-5,-5,-5,1,5,5,5,5,0 0 0 0 0,struct(isfmopso,true,istargetdis,false,stopatborder,true);%-CTP2elapsedTime=toc;CTP2fmNP(i)=np;CTP2f

12、mFV(i)=fv;CTP2fmT(i)=elapsedTime;display(strcat(CTP2fm,num2str(i);endctp2fmfv=cell2mat(CTP2fmFV);ctp2fmfv=GetLeastFunctionValue(ctp2fmfv);CTP3NP=cell(1,50);CTP3FV=cell(1,50);CTP3T=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP3,0.1,50,100,2.0,1.0,0.4,1400,5,0,-5,-5,-5,-5

13、,1,5,5,5,5,struct(isfmopso,false,istargetdis,false,stopatborder,true);%-CTP3elapsedTime=toc;CTP3NP(i)=np;CTP3FV(i)=fv;CTP3T(i)=elapsedTime;display(strcat(CTP3,num2str(i);endctp3fv=cell2mat(CTP3FV);ctp3fv=GetLeastFunctionValue(ctp3fv);CTP3fmNP=cell(1,50);CTP3fmFV=cell(1,50);CTP3fmT=zeros(1,50);for i=

14、1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP3,0.1,50,100,2.0,1.0,0.4,400,5,0,-5,-5,-5,-5,1,5,5,5,5,0 0 0 0 0,struct(isfmopso,true,istargetdis,false,stopatborder,true);%-CTP3elapsedTime=toc;CTP3fmNP(i)=np;CTP3fmFV(i)=fv;CTP3fmT(i)=elapsedTime;display(strcat(CTP3fm,num2str(i);endctp3fmfv=

15、cell2mat(CTP3fmFV);ctp3fmfv=GetLeastFunctionValue(ctp3fmfv);CTP4NP=cell(1,50);CTP4FV=cell(1,50);CTP4T=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP4,0.1,50,100,2.0,1.0,0.4,1400,5,0,-5,-5,-5,-5,1,5,5,5,5,struct(isfmopso,false,istargetdis,false,stopatborder,true);%-CTP4el

16、apsedTime=toc;CTP4NP(i)=np;CTP4FV(i)=fv;CTP4T(i)=elapsedTime;display(strcat(CTP4,num2str(i);endctp4fv=cell2mat(CTP4FV);ctp4fv=GetLeastFunctionValue(ctp4fv);CTP4fmNP=cell(1,50);CTP4fmFV=cell(1,50);CTP4fmT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP4,0.1,50,100,2.0,1.0,

17、0.4,400,5,0,-5,-5,-5,-5,1,5,5,5,5,0 0 1 0 0,struct(isfmopso,true,istargetdis,false,stopatborder,true);%-CTP4elapsedTime=toc;CTP4fmNP(i)=np;CTP4fmFV(i)=fv;CTP4fmT(i)=elapsedTime;display(strcat(CTP4fm,num2str(i);endctp4fmfv=cell2mat(CTP4fmFV);ctp4fmfv=GetLeastFunctionValue(ctp4fmfv);CTP5NP=cell(1,50);

18、CTP5FV=cell(1,50);CTP5T=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP5,0.1,50,100,2.0,1.0,0.4,200,5,0,-5,-5,-5,-5,1,5,5,5,5,0 0 0 0 0);%-CTP5elapsedTime=toc;CTP5NP(i)=np;CTP5FV(i)=fv;CTP5T(i)=elapsedTime;display(strcat(CTP5,num2str(i);endctp5fv=cell2mat(CTP5FV);ctp5fv=

19、GetLeastFunctionValue(ctp5fv);CTP6NP=cell(1,50);CTP6FV=cell(1,50);CTP6T=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP6,0.1,50,100,2.0,1.0,0.4,400,5,0,-5,-5,-5,-5,1,5,5,5,5,0 0 0 0 0);%-CTP6elapsedTime=toc;CTP6NP(i)=np;CTP6FV(i)=fv;CTP6T(i)=elapsedTime;display(strcat(CT

20、P6,num2str(i);endctp6fv=cell2mat(CTP6FV);ctp6fv=GetLeastFunctionValue(ctp6fv);CTP7NP=cell(1,50);CTP7FV=cell(1,50);CTP7T=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP7,0.1,50,100,2.0,1.0,0.4,1000,5,0,-5,-5,-5,-5,1,5,5,5,5,1 0 0 0 0);%-CTP7elapsedTime=toc;CTP7NP(i)=np;CT

21、P7FV(i)=fv;CTP7T(i)=elapsedTime;display(strcat(CTP7,num2str(i);endctp7fv=cell2mat(CTP7FV);ctp7fv=GetLeastFunctionValue(ctp7fv);CONSTRNP=cell(1,50);CONSTRFV=cell(1,50);CONSTRT=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP8,0.1,50,100,2.0,1.0,0.4,200,2,0.1,0,1,5);%-CTP8,

22、CONSTRelapsedTime=toc;CONSTRNP(i)=np;CONSTRFV(i)=fv;CONSTRT(i)=elapsedTime;display(strcat(CTP8,num2str(i);endconstrfv=cell2mat(CONSTRFV);constrfv=GetLeastFunctionValue(constrfv);SRNNP=cell(1,50);SRNFV=cell(1,50);SRNT=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP9,0.1,5

23、0,100,2.0,1.0,0.4,200,2,-20,-20,20,20);%-CTP9,SRNelapsedTime=toc;SRNNP(i)=np;SRNFV(i)=fv;SRNT(i)=elapsedTime;display(strcat(CTP9,num2str(i);endsrnfv=cell2mat(SRNFV);srnfv=GetLeastFunctionValue(srnfv);TNKNP=cell(1,50);TNKFV=cell(1,50);TNKT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=Partic

24、leSwarmOpt(CTP10,0.1,50,100,2.0,1.0,0.4,1300,2,0,0,pi,pi,struct(isfmopso,false,istargetdis,false,stopatborder,false);%-CTP10,TNKelapsedTime=toc;TNKNP(i)=np;TNKFV(i)=fv;TNKT(i)=elapsedTime;display(strcat(CTP10,num2str(i);endtnkfv=cell2mat(TNKFV);tnkfv=GetLeastFunctionValue(tnkfv);TNKfmNP=cell(1,50);T

25、NKfmFV=cell(1,50);TNKfmT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(CTP10,0.1,50,100,2.0,1.0,0.4,300,2,0,0,pi,pi,struct(isfmopso,true,istargetdis,false,stopatborder,false);%-CTP10,TNKelapsedTime=toc;TNKfmNP(i)=np;TNKfmFV(i)=fv;TNKfmT(i)=elapsedTime;display(strcat(CTP10fm

26、,num2str(i);endtnkfmfv=cell2mat(TNKfmFV);tnkfmfv=GetLeastFunctionValue(tnkfmfv);BNHNP=cell(1,50);BNHFV=cell(1,50);BNHT=zeros(1,50);for i=1:50tic;%np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(BNH,0.1,50,100,2.0,1.0,0.4,200,2,zeros(1,2),5,3);%-BNHelapsedTime=toc;BNHNP(i)=np;BNHFV(i)=fv;BNHT(i)=elapse

27、dTime;display(strcat(BNH,num2str(i);endbnhfv=cell2mat(BNHFV);bnhfv=GetLeastFunctionValue(bnhfv);OSYNP=cell(1,50);OSYFV=cell(1,50);OSYT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(OSY,0.1,50,100,2.0,1.0,0.4,1500,6,0,0,1,0,1,0,10,10,5,6,5,10,struct(isfmopso,false,istargetdi

28、s,false,stopatborder,true);%-OSYelapsedTime=toc;OSYNP(i)=np;OSYFV(i)=fv;OSYT(i)=elapsedTime;display(strcat(OSY,num2str(i);endosyfv=cell2mat(OSYFV);osyfv=GetLeastFunctionValue(osyfv);OSYfmNP=cell(1,50);OSYfmFV=cell(1,50);OSYfmT=zeros(1,50);for i=1:50tic;np,nprule,dnp,fv,goals,pbest=ParticleSwarmOpt(O

29、SY,0.1,50,100,2.0,1.0,0.4,500,6,0,0,1,0,1,0,10,10,5,6,5,10,struct(isfmopso,true,istargetdis,false,stopatborder,true);%-OSYelapsedTime=toc;OSYfmNP(i)=np;OSYfmFV(i)=fv;OSYfmT(i)=elapsedTime;display(strcat(OSYfm,num2str(i);endosyfmfv=cell2mat(OSYfmFV);osyfmfv=GetLeastFunctionValue(osyfmfv);function np,

30、nprule,dnp,fv,goals,pbest = ParticleSwarmOpt(funcname,unfitx,N,Nnp,cmax,cmin,w,M,D,lb,ub,x0,params)%待优化的目标函数:fitness%约束容忍度 unfitx=0.01,逐步降到 0%内部种群( 粒子数目) :N%外部种群( 非劣解集):Nnp%学习因子 1:cmax%学习因子 2:cmin%惯性权重:w%最大迭代次数:M%问题的维数:D%目标函数取最小值时的自变量值:xm%目标函数的最小值:fv%迭代次数:cvformat long;NP=;%非劣解集Dnp=;%非劣解集距离if nargin

31、 13params = struct(isfmopso,false,istargetdis,false,stopatborder,true);endif (nargin 12 | isempty(x0)x0=lb+(ub-lb).*rand(1,D);endT=size(fitness(x0,funcname),2);goals=zeros(M,N,T);%记下 N 个粒子 M 次迭代 T 维目标变化%-初始化种群的个体-/第 1 步/x(1,:)=x0;v(1,:)=(ub-lb).*rand(1,D)*0.5;for i=2:Nfor j=1:Dx(i,j)=lb(j)+(ub(j)-lb

32、(j)*rand; %随机初始化位置v(i,j)=(ub(j)-lb(j)*rand*0.5; %随机初始化速度endend%-计算目标向量-%-速度控制vmax=(ub-lb)*0.5;vmin= -vmax;%-求出初始 NP-/第 2 步/NP(1,:)=x(1,:);%第一个默认加入 NPNPRule=0,0,0;%非劣解集参数Dnp(1,1)=0;for i=2:Nfaix = GetFai(x(i,:),funcname,params);if faix=unfitxNP,NPRule,Dnp = compare(x(i,:),NP,NPRule,Dnp,Nnp,funcname,p

33、arams);endend%-初始自身最好位置 -/第 3 步/pbest = x;%自身最优解%-在确定每个粒子所对就的目标方格-/ 第 4 步/%-进入主要循环,按照公式依次迭代-for t=1:M if mod(t,100)=0 unfitx = 0.01-0.01*(t+200)/M;if unfitx 0 unfitx =0 ;end% x,v,pbest,NP,NPRule,Dnp=ReInit(x,v,pbest,NP,NPRule,Dnp,Nnp,D,lb,ub,unfitx); endc = cmax - (cmax - cmin)*t/M;w1=w-(w-0.3)*t/M;%c = cmax; %c = cmax - (cmax - cmin)*mod(t,51)/50;%w1=w-(w-0.3)*mod(t,51)/50;%-获得全局最优 -/第 5 步/%if mod(t,3)=1%gbest,NPRule = GetGlobalBest(NP,NPRule,Dnp);%endfor i=1:N

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。