收藏 分享(赏)

遗传算法源代码 (1).doc

上传人:晚风 文档编号:2359602 上传时间:2020-07-08 格式:DOC 页数:2 大小:27KB
下载 相关 举报
遗传算法源代码 (1).doc_第1页
第1页 / 共2页
遗传算法源代码 (1).doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、functionbin_gen,bits=encoding(min_var,max_var,scale_var,popsize)bits=ceil(log2(max_var-min_var)./scale_var);bit_gen=randint(popsize,sum(bits);%编码并产生初始种群functionvar_gen,fitness=decoding (funname,bin_gen,bits,min,var,max_var)nun_var=length(bits);popsize=size(bin_gen,1);scale_dec=(max_var-min_var)./(2.

2、bits-1);bits=cumsum(bits);bits=0 bits;for i=1:num_var bin_vari=bin_gen(:,bits(i)+1:bits(i+1);vari=sum(ones(popsize,1)*2.(size(bin_vari,2)-1:-1:0).*bin_vari,2).*scale_dec(i)+min_var(i);endvar_gen=var1,:;for i=1:popsize fitness(i)=eval(funname,(var_gen(I,:);end%对函数解码functionevo_gen,best_indiv,max_fitn

3、ess=selection(old_gen,fit_ness) popsize=length(fitness);max_fitness,index1=max(fitness);min_fitness,index2=min(fitness);best_indiv=old_gen(indexl,:);index=1:popsize;index(indexl)=0;index(index2)=0;index=nonzeros(index);evo_gen=old_gen(index);evo_fitness=fitness(index,:);evo_popsize=popsize-2;ps=evo_

4、fitness/sum(evo_fitness);pscum=cumsum(ps);r=rand(1,evo_popsize);selscted=sum(pscum*ones(1,evo_popsize)ones(evo_popsize,1)*r)+1;evo_gen=evo_gen(selected,:);%选择Function new_gen=crossover(old_gen,pc)nouse,mating=sort(rand(size(old_gen,1),1);mat_gen=old_gen(mating,:);pairs=size(mat_gen,1)/2;bits=size(ma

5、t_gen,2);cpairs=rand(pairs,1) pc;cpoints=randint(pairs,1,1,bits);cpoints=cpairs.*cpoints;for i=1: pairsnew_gen(2*i-1 2*i,:)=mat_gen(2*i-1 2*i,1:cpoints(i) mat_gen(2*i 2*i-1,cpoints(i)+1:bits);function new_gen=mutation(old_gen,pm) mpoints=find(rand(size(old_gen)pm); new_gen=old_gen;new_gen(mpoints)=1-old_gen(mpoints);

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他文案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报