



如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
%%算法说明:荧火虫算法 clc;%清屏 clearall;%清除变量 formatlong;%确定精度 %%各参数初始化开始 domx=[-5.12,5.12;-5.12,5.12]; %domx=[-2.048,2.048;-2.048,2.048];%解空间 rho=0.4;%荧光素挥发因子 gamma=0.6;%适应度提取比例 beta=0.08;%邻域变化率 nt=5;%邻域阀值(邻域荧火虫数) s=0.03;%步长 lo=5;%荧光素浓度 rs=5.12;%感知半径 r0=5.12; %rs=2.048;%感知半径 %r0=2.048;%决策半径 %各参数初始化结束 iter_max=200;%最大迭代次数 %%分配空间开始 m=size(domx,1);%函数空间维数 globaln; n=50;%种群规模 address=zeros(n,m);%分配荧火虫地址空间 value=zeros(n,1);%分配适应度存放空间 li=zeros(n,1);%分配荧光素存放空间 rdi=zeros(n,1);%分配荧火虫决策半径存放空间 uu=zeros(1,iter_max); %%荧火虫常量初始化开始 fori=1:m address(:,i)=(domx(i,1)+(domx(i,2)-domx(i,1))*rand(n,1));%初始化地址 %address(i,:)=5*rands(n,1);%随机产生初萤火虫所在位置 end f=fun(address); x=-5.12:.1:5.12; %x=-2.048:.05:2.048; [x,y]=meshgrid(x); figure(1); plot3(address(:,1),address(:,2),f,'k*') holdon; gridon; z=-(x.^2-10*cos(2*pi.*x)+10+y.^2-10*cos(2*pi.*y)+10);%Rastrigin'函数 %z=-(x.^2+y.^2);%目标函数J2 %z=-(20+x.^2-10*cos(2*pi.*x)+y.^2-10*cos(2*pi.*y));%目标函数J1 %z=-(-20*exp(-0.2*sqrt((x.^2+y.^2)/2))-exp((cos(2*pi*x)+cos(2*pi*y))/2)+20+exp(1));%%目标函数 %z=-(0.5+sin(sqrt(x.^2+y.^2).^2-0.5)./(1+0.001*(x.^2+y.^2)).^2);%目标函数J3 mesh(x,y,z) xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); title('萤火虫初始分布图'); li(:,1)=lo;%荧光素初始值 rdi(:,1)=r0;%决策半径初始值 t=1;%迭代累计量 %荧火虫常量初始化结束 %%迭代开始 while(t<=iter_max) li=(1-rho)*li+gamma*fun(address);%.更新荧光素值li %各荧火虫移动过程开始 fori=1:n Ord_number=[];%存放荧火虫序号 forj=1:n if(norm(address(j,:)-address(i,:))<rdi(i))&&(li(i,1)<li(j,1))%决策半径内找更优点 Ord_number(numel(Ord_number)+1)=j; end end %计算Ord_number各元素被选择概率,确定j位置 if~isempty(Ord_number)%先判断Ord_number个数不为空 Ord_num_li=li(Ord_number,1);%选出Ord_number荧光素 Sum_Ord_li=sum(Ord_num_li);%Ord_number荧光素和 Mol=Ord_num_li-li(i,1);%分子(lj-li) Den=Sum_Ord_li-li(i,1);%分母 Pij=Mol./Den;%计算各元素被选择概率 Pij=cumsum(Pij);%累计 Pij=Pij./Pij(end);%归一化 Pos=find(rand<Pij);%确定位置 j=Ord_number(Pos(1));%确定j的位置 %荧火虫i向位置j移动 address(i,:)=address(i,:)+s*(address(j,:)-address(i,:))/norm(address(j,:)-address(i,:)); address(i,:)=range1(address(i,:),domx);%限制范围 end %更新决策半径 rdi(i)=rdi(i)+beta*(nt-length(Or

王子****青蛙
实名认证
内容提供者


最近下载
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf