91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-11
  • 語言: Matlab
  • 標(biāo)簽: matlab??遺傳算法??

資源簡介

matlab實(shí)現(xiàn)的遺傳算法,包含遺傳算法的編碼,選擇,交叉,變異,適應(yīng)度函數(shù)

資源截圖

代碼片段和文件信息

%?%
%編碼方式:?基本二進(jìn)制編碼
%Input:?????FitFunc:????Any?function
%???????????pCrossover:?probability?of?crossover?default?0.5
%???????????pMutation:??probability?of?mutation??default?0.04
%???????????GroupNum:???number?of?individuals?of?the?virtual?group?default?30
%???????????MaxIter:????maximum?iterations
%???????????MaxRepeat:??(optional)determine?the?convergence?standard?判斷收斂
%parent.fitness
%parent.chrom


function?Result?=?MyGA(FitFunc?pCrossover?pMutation?GroupNum?MaxIter?MaxRepeat)
????%Default?parameters
????if?nargin?????????MaxRepeat?=?10;
????????if?nargin?????????????MaxIter?=?1000;
????????????if?nargin?????????????????GroupNum?=?50;
????????????????if?nargin?????????????????????pMutation?=?0.04;
????????????????????if?nargin?????????????????????????pCrossover?=?0.5;
????????????????????end
????????????????end
????????????end
????????end
????end

????Result??=??[];
????epsilon?=??1e-5;
????iter????=??0;
????iRepeat?=??1;
????bit?????=??22;?????%precision
????thisMax?=??0;
???
????parent??=??InitGroup(GroupNum?FitFunc?bit);???%Generate?initial?population
????while?iter?????????children1?=?Crossover(parent?pCrossover/iter^0.1);??%Return?crossovered?chromes
????????children.chrom?=?[];
????????children.fitness?=?[];
????????children.chrom?=?Mutation([parent.chrom;?children1]?pMutation/iter^0.1);
????????children.fitness?=?CalcFit(children.chrom?FitFunc?bit);
????????children?=?select(children?GroupNum);
????????parent?=?children;
????????iter?=?iter?+?1;
????????%parent.chrom;
????????%[m?I]?=?max(parent.fitness)
????????if?(thisMax-max(parent.fitness))/max(parent.fitness)?????????????iRepeat?=?iRepeat?+?1;
????????else?
????????????iRepeat?=?1;
????????end
????????thisMax?=?max(parent.fitness);
????????disp(thisMax)
????????for?i?=?1:size(parent.chrom)
????????????if?parent.fitness(i)?==?thisMax
????????????????j?=?i;
????????????????plot(Decoding(parent.chrom(i:)bit)parent.fitness(i)‘go‘);
????????????end
????????end
????????Result?=?[Result;?thisMax];??
????end
????plot(Decoding(parent.chrom(j:)bit)parent.fitness(j)‘ro‘);
end

%Encoding?method:?普通二進(jìn)制編碼
function?parent?=?InitGroup(GroupNum?Fit

評(píng)論

共有 條評(píng)論