% [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