遗传算法程序.doc

遗传算法程序.doc

ID:56998608

大小:20.00 KB

页数:4页

时间:2020-07-30

遗传算法程序.doc_第1页
遗传算法程序.doc_第2页
遗传算法程序.doc_第3页
遗传算法程序.doc_第4页
资源描述:

《遗传算法程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、functionret=Mutation(pmutation,lenchrom,chrom,sizepop,pop,bound)%本函数完成变异操作%pcorssinput:变异概率%lenchrominput:染色体长度%chrominput:染色体群%sizepopinput:种群规模%popinput:当前种群的进化代数和最大的进化代数信息%retoutput:变异后的染色体fori=1:sizepop%随机选择一个染色体进行变异pick=rand;whilepick==0pick=rand;endind

2、ex=ceil(pick*sizepop);%变异概率决定该轮循环是否进行变异pick=rand;ifpick>pmutationcontinue;endflag=0;whileflag==0%变异位置pick=rand;whilepick==0pick=rand;endpos=ceil(pick*sum(lenchrom));%随机选择了染色体变异的位置,即选择了第pos个变量进行变异v=chrom(i,pos);v1=v-bound(pos,1);v2=bound(pos,2)-v;pick=rand;%变

3、异开始ifpick>0.5delta=v2*(1-pick^((1-pop(1)/pop(2))^2));chrom(i,pos)=v+delta;elsedelta=v1*(1-pick^((1-pop(1)/pop(2))^2));chrom(i,pos)=v-delta;end%变异结束flag=test(lenchrom,bound,chrom(i,:));%检验染色体的可行性endendret=chrom;Ga优化pso%%GA优化PSO%%清空环境clc;clearcloseall%%参数初始化le

4、nchrom=7;%字符串长度(个体长度),染色体编码长度pc=0.7;%设置交叉概率,本例中交叉概率是定值,若想设置变化的交叉概率可用表达式表示,或从写一个交叉概率函数,例如用神经网络训练得到的值作为交叉概率pm=0.3;%设置变异概率,同理也可设置为变化的%粒子群算法中的两个参数c1=1.49445;c2=1.49445;maxgen=20;%进化次数popsize=30;%种群规模%粒子更新速度Vmax=1;Vmin=-1;%种群popmax=50;popmin=-50;%变量取值范围bound=[pop

5、minpopmax;popminpopmax;popminpopmax;popminpopmax;popminpopmax;popminpopmax;popminpopmax];%变量范围%优化粒子数目par_num=7;%%产生初始粒子和速度fori=1:popsize%随机产生一个种群pop(i,:)=popmax*rands(1,par_num);%初始种群V(i,:)=rands(1,par_num);%初始化速度%计算适应度fitness(i)=fun(pop(i,:));%染色体的适应度end%找最

6、好的染色体[bestfitnessbestindex]=min(fitness);zbest=pop(bestindex,:);%全局最佳gbest=pop;%个体最佳fitnessgbest=fitness;%个体最佳适应度值fitnesszbest=bestfitness;%全局最佳适应度值%%迭代寻优fori=1:maxgeniforj=1:popsize%速度更新PSO选择更新V(j,:)=V(j,:)+c1*rand*(gbest(j,:)-pop(j,:))+c2*rand*(zbest-pop(j

7、,:));V(j,find(V(j,:)>Vmax))=Vmax;V(j,find(V(j,:)popmax))=popmax;pop(j,find(pop(j,:)

8、m,GApop,popsize,[imaxgen],bound);pop=GApop;%GApop-->PSOpop%适应度值-->约束条件if0.072*pop(j,1)+0.063*pop(j,2)+0.057*pop(j,3)+0.05*pop(j,4)+0.032*pop(j,5)+0.0442*pop(j,6)+0.0675*pop(j,7)<=264.4if128*pop(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。