% [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--------最優(yōu)的群體即為最優(yōu)的染色體群
% Trace----------最佳染色體所對應(yīng)的目標(biāo)函數(shù)值
% FUN------------目標(biāo)函數(shù)
% LB-------------自變量下限
% UB-------------自變量上限
% eranum---------種群的代數(shù),取100--1000(默認(rèn)1000)
% popsize--------每一代種群的規(guī)模;此可取50--100(默認(rèn)50)
% pcross---------交叉的概率,此概率一般取0.5--0.85之間較好(默認(rèn)0.8)
% pmutation------變異的概率,該概率一般取0.05-0.2左右較好(默認(rèn)0.1)
% options--------1×2矩陣,options(1)=0二進(jìn)制編碼(默認(rèn)0),option(1)~=0十進(jìn)制編碼,option(2)設(shè)定求解精度(默認(rèn)1e-4)
標(biāo)簽:
pmutation
BestPop
popsize
maximum
上傳時(shí)間:
2015-07-16
上傳用戶:Altman
提供一個人工免疫算法源程序,其算法過程包括:
1.設(shè)置各參數(shù)
2.隨機(jī)產(chǎn)生初始群體——pop=initpop(popsize,chromlength)
3.故障類型編碼,每一行為一種!code(1,:),正常;code(2,:),50%;code(3,:),150%。實(shí)際故障測得數(shù)據(jù)編碼,這里Unnoralcode,188%
4.開始迭代(M次):
1)計(jì)算目標(biāo)函數(shù)值:歐氏距離[objvalue]=calobjvalue(pop,i)
2)計(jì)算群體中每個個體的適應(yīng)度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.求出群體中適應(yīng)值最大的個體及其適應(yīng)值
6.迭代停止判斷。
標(biāo)簽:
人工免疫
算法
源程序
上傳時(shí)間:
2014-01-01
上傳用戶:trepb001