77范文网 - 专业文章范例文档资料分享平台

多目标粒子群matlab代码(2)

来源:网络收集 时间:2019-08-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

CTP5T(i)=elapsedTime;display(strcat('CTP5',num2str(i))); end

ctp5fv=cell2mat(CTP5FV');

ctp5fv=GetLeastFunctionValue(ctp5fv);

CTP6NP=cell(1,50); CTP6FV=cell(1,50); CTP6T=zeros(1,50); for i=1:50 tic;

%[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]);%--CTP6 elapsedTime=toc; CTP6NP(i)={np}; CTP6FV(i)={fv};

CTP6T(i)=elapsedTime;display(strcat('CTP6',num2str(i))); end

ctp6fv=cell2mat(CTP6FV');

ctp6fv=GetLeastFunctionValue(ctp6fv);

CTP7NP=cell(1,50); CTP7FV=cell(1,50); CTP7T=zeros(1,50); for i=1:50 tic;

%[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]);%--CTP7 elapsedTime=toc; CTP7NP(i)={np}; CTP7FV(i)={fv};

CTP7T(i)=elapsedTime;display(strcat('CTP7',num2str(i))); end

ctp7fv=cell2mat(CTP7FV');

ctp7fv=GetLeastFunctionValue(ctp7fv);

CONSTRNP=cell(1,50); CONSTRFV=cell(1,50); CONSTRT=zeros(1,50); for i=1:50 tic;

%[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,CONSTR elapsedTime=toc; CONSTRNP(i)={np};

CONSTRFV(i)={fv};

CONSTRT(i)=elapsedTime;display(strcat('CTP8',num2str(i))); end

constrfv=cell2mat(CONSTRFV');

constrfv=GetLeastFunctionValue(constrfv);

SRNNP=cell(1,50); SRNFV=cell(1,50); SRNT=zeros(1,50); for i=1:50 tic;

%[np,nprule,dnp,fv,goals,pbest]=ParticleSwarmOpt('CTP9',0.1,50,100,2.0,1.0,0.4,200,2,[-20,-20],[20,20]);%--CTP9,SRN elapsedTime=toc; SRNNP(i)={np}; SRNFV(i)={fv};

SRNT(i)=elapsedTime;display(strcat('CTP9',num2str(i))); end

srnfv=cell2mat(SRNFV');

srnfv=GetLeastFunctionValue(srnfv);

TNKNP=cell(1,50); TNKFV=cell(1,50); TNKT=zeros(1,50); for i=1:50 tic;

[np,nprule,dnp,fv,goals,pbest]=ParticleSwarmOpt('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,TNK elapsedTime=toc; TNKNP(i)={np}; TNKFV(i)={fv};

TNKT(i)=elapsedTime;display(strcat('CTP10',num2str(i))); end

tnkfv=cell2mat(TNKFV');

tnkfv=GetLeastFunctionValue(tnkfv);

TNKfmNP=cell(1,50); TNKfmFV=cell(1,50); TNKfmT=zeros(1,50); for i=1:50 tic;

[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,TNK elapsedTime=toc; TNKfmNP(i)={np}; TNKfmFV(i)={fv};

TNKfmT(i)=elapsedTime;display(strcat('CTP10fm',num2str(i))); end

tnkfmfv=cell2mat(TNKfmFV');

tnkfmfv=GetLeastFunctionValue(tnkfmfv);

BNHNP=cell(1,50); BNHFV=cell(1,50); BNHT=zeros(1,50); for i=1:50 tic;

%[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]);%--BNH elapsedTime=toc; BNHNP(i)={np}; BNHFV(i)={fv};

BNHT(i)=elapsedTime;display(strcat('BNH',num2str(i))); end

bnhfv=cell2mat(BNHFV');

bnhfv=GetLeastFunctionValue(bnhfv);

OSYNP=cell(1,50); OSYFV=cell(1,50); OSYT=zeros(1,50); for i=1:50 tic;

[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,'istargetdis',false,'stopatborder',true));%--OSY elapsedTime=toc; OSYNP(i)={np}; OSYFV(i)={fv};

OSYT(i)=elapsedTime;display(strcat('OSY',num2str(i))); end

osyfv=cell2mat(OSYFV');

osyfv=GetLeastFunctionValue(osyfv);

OSYfmNP=cell(1,50); OSYfmFV=cell(1,50); OSYfmT=zeros(1,50); for i=1:50

tic;

[np,nprule,dnp,fv,goals,pbest]=ParticleSwarmOpt('OSY',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));%--OSY elapsedTime=toc; OSYfmNP(i)={np}; OSYfmFV(i)={fv};

OSYfmT(i)=elapsedTime;display(strcat('OSYfm',num2str(i))); end

osyfmfv=cell2mat(OSYfmFV');

osyfmfv=GetLeastFunctionValue(osyfmfv);

function [np,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 %迭代次数:cv

format long;

NP=[];%非劣解集

Dnp=[];%非劣解集距离

if nargin < 13

params = struct('isfmopso',false,'istargetdis',false,'stopatborder',true); end

if (nargin < 12 || isempty(x0)) x0=lb+(ub-lb).*rand([1,D]); end

T=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:N

= for j=1:D

x(i,j)=lb(j)+(ub(j)-lb(j))*rand; %随机初始化位置 v(i,j)=(ub(j)-lb(j))*rand*0.5; %随机初始化速度 end end

%----计算目标向量---------- %---速度控制 vmax=(ub-lb)*0.5; vmin= -vmax;

%-----求出初始NP-----------////////第2步/////////////////////////////////// NP(1,:)=x(1,:);%第一个默认加入NP NPRule=[0,0,0];%非劣解集参数 Dnp(1,1)=0;

for i=2:N

faix = GetFai(x(i,:),funcname,params); if faix<=unfitx

[NP,NPRule,Dnp] = compare(x(i,:),NP,NPRule,Dnp,Nnp,funcname,params); end end

%-----初始自身最好位置------///////第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); end

c = 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

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库多目标粒子群matlab代码(2)在线全文阅读。

多目标粒子群matlab代码(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/680486.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: