% [BestPop,Trace]=fmaxga(FUN,LB,UB,eranum,popsize,pcross,pmutation)
% Finds a maximum of a function of several variables.
% fmaxga solves problems of the form:
% max F(X) subject to: LB <= X <= UB
% BestPop--------最优的群体即为最优的染色体群
% Trace----------最佳染色体所对应的目标函数值
% FUN------------目标函数
% LB-------------自变量下限
% UB-------------自变量上限
% eranum---------种群的代数,取100--1000(默认1000)
% popsize--------每一代种群的规模;此可取50--100(默认50)
% pcross---------交叉的概率,此概率一般取0.5--0.85之间较好(默认0.8)
% pmutation------变异的概率,该概率一般取0.05-0.2左右较好(默认0.1)
% options--------1×2矩阵,options(1)=0二进制编码(默认0),option(1)~=0十进制编码,option(2)设定求解精度(默认1e-4)
标签:
pmutation
BestPop
popsize
maximum
上传时间:
2015-07-16
上传用户:Altman
提供一个人工免疫算法源程序,其算法过程包括:
1.设置各参数
2.随机产生初始群体——pop=initpop(popsize,chromlength)
3.故障类型编码,每一行为一种!code(1,:),正常;code(2,:),50%;code(3,:),150%。实际故障测得数据编码,这里Unnoralcode,188%
4.开始迭代(M次):
1)计算目标函数值:欧氏距离[objvalue]=calobjvalue(pop,i)
2)计算群体中每个个体的适应度fitvalue=calfitvalue(objvalue)
3)选择newpop=selection(pop,fitvalue) objvalue=calobjvalue(newpop,i) %
交叉newpop=crossover(newpop,pc,k) objvalue=calobjvalue(newpop,i) %
变异newpop=mutation(newpop,pm) objvalue=calobjvalue(newpop,i) %
5.求出群体中适应值最大的个体及其适应值
6.迭代停止判断。
标签:
人工免疫
算法
源程序
上传时间:
2014-01-01
上传用户:trepb001