資源簡介
提供了多種群遺傳算法的函數(shù)優(yōu)化求解代碼源程序,幫助初學(xué)者對MATLAB進(jìn)行學(xué)習(xí),

代碼片段和文件信息
%%?多種群遺傳算法
clear;
%?clc
%?close?all
NIND=40;???????????????%個體數(shù)目
NVAR=1;????????????????%變量的維數(shù)
PRECI=20;??????????????%變量的二進(jìn)制位數(shù)
GGAP=0.9;??????????????%代溝
MP=10;?????????????????%種群數(shù)目
FieldD=[PRECI;0;1;1;0;1;1];??%譯碼矩陣
for?i=1:MP
????Chrom{i}=crtbp(NIND?NVAR*PRECI);???????????????????????%創(chuàng)建初始種群
end
pc=0.7+(0.9-0.7)*rand(MP1);????%在【0.70.9】范圍i內(nèi)隨機(jī)產(chǎn)生交叉概率
pm=0.001+(0.05-0.001)*rand(MP1);??%在【0.0010.05】范圍內(nèi)隨機(jī)產(chǎn)生變異概率
gen=0;??%初始遺傳代數(shù)
gen0=0;?%初始保持代數(shù)
MAXGEN=10;??%最優(yōu)個體最少保持代數(shù)
maxY=0;?%最優(yōu)值
for?i=1:MP
????ObjV{i}=objectFunction(bs2rv(Chrom{i}?FieldD));%計算各初始種群個體的目標(biāo)函數(shù)值
end
MaxObjV=zeros(MP1);???????????%記錄精華種群
MaxChrom=zeros(MPPRECI*NVAR);?%記錄精華種群的編碼
while?gen0<=MAXGEN
????gen=gen+1;???????%遺傳代數(shù)加1
????for?i=1:MP
????????FitnV{i}=ranking(-ObjV{i});??????????????????????%?各種群的適應(yīng)度
????????SelCh{i}=select(‘sus‘?Chrom{i}?FitnV{i}GGAP);?%?選擇操作
????????SelCh{i}=recombin(‘xovsp‘SelCh{i}?pc(i));??????%?交叉操作
????????SelCh{i}=mut(SelCh{i}pm(i));????????????????????%?變異操作
????????ObjVSel=objectFunction(bs2rv(SelCh{i}?FieldD));?%?計算子代目標(biāo)函數(shù)值
????????[Chrom{i}ObjV{i}]=reins(Chrom{i}SelCh{i}11ObjV{i}ObjVSel);????%重插入操作
????end
????[ChromObjV]=immigrant(ChromObjV);?????%?移民操作
????[MaxObjVMaxChrom]=EliteInduvidual(ChromObjVMaxObjVMaxChrom);?????%?人工選擇精華種群
????YY(gen)=max(MaxObjV);????%找出精華種群中最優(yōu)的個體
????if?YY(gen)>maxY???%判斷當(dāng)前優(yōu)化值是否與前一次優(yōu)化值相同
????????maxY=YY(gen);?%更新最優(yōu)值
????????gen0=0;
????else
????????gen0=gen0+1;?%最優(yōu)值保持次數(shù)加1
????end
end
%%?進(jìn)化過程圖
plot(1:genYY)
xlabel(‘進(jìn)化代數(shù)‘)
ylabel(‘最優(yōu)解變化‘)
title(‘進(jìn)化過程‘)
xlim([1gen])
%%?輸出最優(yōu)解
[YI]=max(MaxObjV);????%找出精華種群中最優(yōu)的個體
X=(bs2rv(MaxChrom(I:)?FieldD));???%最優(yōu)個體的解碼解
disp([‘最優(yōu)值為:‘num2str(Y)])
disp([‘對應(yīng)的自變量取值:‘num2str(X)])
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????349??2010-09-13?13:11??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\EliteInduvidual.m
?????文件????????2054??2011-04-08?21:07??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\MPGA.m
?????文件?????????220??2010-11-15?20:13??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\ob
?????文件????????1551??2011-04-08?19:54??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\SGA.m
?????文件????????2014??2010-09-13?15:37??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\danyuan.m
?????文件?????????457??2010-09-13?13:10??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\immigrant.m
?????目錄???????????0??2015-04-22?12:50??chapter7多種群遺傳算法的函數(shù)優(yōu)化算法\
- 上一篇:PLLsimuli
nk仿真模型 - 下一篇:四層聲波波場有限差分程序
評論
共有 條評論