数学实验七: 遗传算法 实验报告.doc_第1页
数学实验七: 遗传算法 实验报告.doc_第2页
数学实验七: 遗传算法 实验报告.doc_第3页
数学实验七: 遗传算法 实验报告.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

年级、专业 姓名 学号 名单序号 实验时间 MATLAB版本: 注:实验报告的最后一部分是实验小结与收获 实验七 遗传算法1 用Matlab编制另一个主程序Genetic2.m,求例1的在第二种终止条件下的最优解提示:一个可能的函数调用形式以及相应的结果为:Count,Result,BestMember=Genetic2(22,6,-x*x+2*x+0.5,-1,2,-2,0.01,0.00001)% 附录1 Genetic2.mfunction Count,Result,BestMember=Genetic2(MumberLength,MemberNumber,FunctionFitness,MinX,MaxX,Fmin,MutationProbability,Precision) Population=PopulationInitialize(MumberLength,MemberNumber); Error=Precision+1; global Count; global CurrentBest; Count=1; PopulationCode=Population; PopulationFitness=Fitness(PopulationCode,FunctionFitness,MinX,MaxX,MumberLength); %用于计算群体中每一个染色体的目标函数值PopulationFitnessF=FitnessF(PopulationFitness,Fmin); %用于计算每个染色体的适应函数值PopulationProbability=Probability(PopulationFitnessF); %用于计算群体中每个染色体的入选概率Population,CurrentBest,EachGenMaxFitness=Elitist(PopulationCode,PopulationFitness,MumberLength); %用到最佳个体保存方法(“优胜劣汰”思想)EachMaxFitness(Count)=EachGenMaxFitness; MaxFitness(Count)=CurrentBest(length(CurrentBest); while ErrorPrecision NewPopulation=Select(Population,PopulationProbability,MemberNumber); Population=NewPopulation; NewPopulation=Crossing(Population,FunctionFitness,MinX,MaxX,MumberLength); Population=NewPopulation; NewPopulation=Mutation(Population,MutationProbability); Population=NewPopulation; PopulationFitness=Fitness(Population,FunctionFitness,MinX,MaxX,MumberLength); PopulationFitnessF=FitnessF(PopulationFitness,Fmin); PopulationProbability=Probability(PopulationFitnessF); Count=Count+1; NewPopulation,CurrentBest,EachGenMaxFitness=Elitist(Population,PopulationFitness,MumberLength); EachMaxFitness(Count)=EachGenMaxFitness; MaxFitness(Count)=CurrentBest(length(CurrentBest); Error=sum(abs(PopulationProbability-mean(PopulationProbability); Population=NewPopulation; end Dim=size(Population); Result=ones(2,Dim(1); for i=1:Dim(1) Result(1,i)=Translate(Population(i,:),MinX,MaxX,MumberLength); end Result(2,:)=PopulationFitness; BestMember(1,1)=Translate(CurrentBest(1:MumberLength),MinX,MaxX,MumberLength); BestMember(2,1)=CurrentBest(MumberLength+1); close all subplot(211) plot(EachMaxFitness) subplot(212) plot(MaxFitness) Count,Result,BestMember=Genetic2(22,6,-x*x+2*x+0.5,-1,2,-2,0.01,0.00001)Count = 11Result = 0.9748 0.9748 0.9748 0.9748 0.9748 0.9748 1.4994 1.4994 1.4994 1.4994 1.4994 1.4994BestMember = 0.97481.49942 按照例2的具体要求,用遗传算法求上述例2的最优解 Count,Result,BestMember=Genetic1(20,6,-x*x+x+3,0,2,1,0.01,50)Count = 50Result = 0.6880 0.6880 0.6880 0.6880 0.6880 0.6880 3.2146 3.2146 3.2146 3.2146 3.2146 3.2146BestMember = 0.6880 3.21463 附录9子程序 Crossing.m中的第8行至第13行的程序表明,当Dim(1)=3时,将交换数组Population的最后两行,即交换最后面的两个个体其目的是什么?4 设,求 ,要设定求解精度到15位小数 Count,Result,BestMember=Genetic2(22,6,-x*x-4*x+1,-2,2,-12,0.01,1e-15)Count = 15Result =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论