Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
普通会员
注册日期: 2008-10-06
年龄: 25
帖子: 53
声望力: 18 ![]() |
![]()
人工免疫克隆选择算法是近几年发展起来的新型人工智能优化算法,本源码由GreenSim团队原创,转载请注明,有意购买源码或代写相关程序,请与GreenSim团队联系。
function [BestX,BestY,AllABfarm,LC1,LC2]=AIA2(M,N,Ns,Ncm,Nr,Pd,alpha,beta,K,Cx,Cy,r,Sx,Sy) %% 网络节点分组调度的人工免疫优化算法通用Matlab程序 % GreenSim团队原创作品,转载请注明 % 欢迎访问GreenSim——算法仿真团队→http://blog.sina.com.cn/greensim %% 输入参数列表 % M------------人工免疫优化算法迭代次数 % N------------抗体群的规模 % Ns-----------免疫选择算子中选中的抗体个数 % Ncm----------克隆变异算子中产生的新抗体的个数 % Nr-----------抑制操作中保留下来的抗体个数 % Pd-----------变异程度控制参数,取值0~1,越大变异越厉害 % alpha--------亲和度加权系数,用于激励度的计算 % beta---------浓度加权系数,用于激励度的计算 % K------------调度分组的个数 % Cx-----------节点的横坐标,1×n的向量 % Cy-----------节点的纵坐标,1×n的向量 % r------------节点的感知半径,1×n的向量 % Sx-----------质点的横坐标,1×m的向量 % Sy-----------质点的纵坐标,1×m的向量 %% 输出参数列表 % BestX--------最优调度方案 % BestY--------最优调度对应的平均覆盖率 % AllABfarm----历史上所有抗体群的集合,M×1的细胞结构 % LC1----------最优抗体亲和度的收敛曲线,M×1 % LC2----------抗体群平均亲和度的收敛曲线,M×1 %% -----------------------初始化---------------------------------- n=length(Cx); LC1=zeros(M,1); LC2=zeros(M,1); AllABfarm=cell(M,1); %控制参数初始化 mm=1;%迭代计数器 %调用子函数,抗体群初始化 ABfarm=AntiBodyInitial(N,n,K); %% -----------------------迭代过程--------------------------------- while mm<=M%设置停止条件 %调用子函数,计算抗体群亲和度 aff=Affinity(ABfarm,K,Cx,Cy,r,Sx,Sy); %记录收敛曲线 maxaff=max(aff); meanaff=mean(aff); LC1(mm)=maxaff; LC2(mm)=meanaff; pos=find(aff==maxaff); BestPos=pos(1); BestX=ABfarm(BestPos,:); BestY=maxaff; AllABfarm{mm}=ABfarm; %调用子函数,计算抗体浓度 den=Density(ABfarm); %调用子函数,计算抗体激励度 sim=SumUp(aff,den,alpha,beta); %调用子函数,免疫选择算子 ABfarmS=Select(ABfarm,sim,Ns); %精英抗体保护 ABfarmS(1,:)=BestX; %调用子函数,克隆变异算子 ABfarmCM=CloneMutation(ABfarmS,Ncm,Pd,K); %调用子函数,抑制刷新算子 ABfarm=RepresRenewal(ABfarmS,ABfarmCM,Nr,N,K,Cx,Cy,r,Sx,Sy); disp(mm); mm=mm+1; end
__________________
算法设计、代写程序,欢迎访问GreenSim团队主页→ http://blog.sina.com.cn/greensim |
![]() |
![]() |