第一范文网 - 专业文章范例文档资料分享平台

MATLAB课程遗传算法实验报告及源代码

来源:用户分享 时间:2025/5/31 12:54:16 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MATLAB课程遗传算法实验报告及源代码

%子程序:目标函数,函数名称存储为fun.m function y = fun(x)

y=x(1)^2+x(2)^2+x(3)^2;

=================================================================

异常情况记录:

在运用matlab编写程序进行运算时,遇到了一些问题,如下: (1)经常出现警告提示:

Warning: Ignoring extra legend entries. > In legend at 294 In main at 72 In run at 57

(2)由于本实验包括7个程序,每个程序当中都有许多的变量名。由于程序中有些变量的名字特别长,因此在引用时总会因为输出其中某一个字母而在运行时出错。这当然可以通过修改得以更正,不过也提醒我以后在对变量名进行命名时不要使用过长的变量名。 (3)本实验在编写过程中遇到的最大一个问题是,在编写完程序,进行运算时,matlab很久都没有反应,然后在下方的窗口中一直显示“busy”。刚开始我以为是由于遗传代数过多、染色体长度太长导致运行时间过久。于是我等了一会,可是过了很久结果还是没有运行出来。我强制关掉程序,仔细的检查了代码,并没有发现错误,可再次运行时还是出现同样的问题,运算不出结果。最后我设置了一些断点,也就是去掉一些分号,让中间结果输出到命令窗口。运行后发现命令窗口中一直在不停的输出中间结果。按“Ctrl+c”暂停之后,我知道程序中可能出现了死循环。于是在有循环的语句中去找错误,结果发现主程序中的counter=counter+1这一条语句没有写进去,致使循环无法结束。问题最终得以解决。由于粗心我花了好大功夫去寻找错误,这是一个教训,也是一次收获,下次再遇到这种情况我不会再犯类似的错误了。

=================================================================

四、实验结果与总结(10分)

=================================================================

试验结果:

一:在初始设置为如下情况时:

maxgen=30; %进化代数 sizepop=100; %种群规模 pcross=[0.6]; %交叉概率 pmutation=[0.01]; %变异概率

lenchrom=[1 1 1]; %变量字串长度 运行程序5次结果为:

(1)bestfitness = 7.9536e-004

bestpop = 0.0043 -0.0282 -0.0074

MATLAB课程遗传算法实验报告及源代码

(2)

bestfitness = 0.0059

bestpop = -0.0266 0.0414 0.0656

(3)

bestfitness =2.0056e-005

bestpop = -0.0002 -0.0004 0.0046

MATLAB课程遗传算法实验报告及源代码

(4)

bestfitness = 8.0669e-004

bestpop = 0.0116 0.0251 -0.0072

(5)

bestfitness = 0.0019

bestpop = 0.0512 -0.0075 0.0210

MATLAB课程遗传算法实验报告及源代码

根据以上5次运行,不难发现每次运行结果都不同,这是由于遗传算法本质上是一种启发式随机搜索算法。后对参数进行调整,使进一步优化结果。

================================================================= 二:修改参数设置,优化算法:

maxgen=5000; %进化代数 sizepop=120; %种群规模 pcross=[0.001]; %交叉概率 pmutation=[0.1]; %变异概率 lenchrom=[1 1 1]; %变量字串长度

bound=[-5.12 5.12;-5.12 5.12;-5.12 5.12]; %变量范围 (1)

bestfitness =0.0161

bestpop =-0.0013 -0.0011 -0.1270

MATLAB课程遗传算法实验报告及源代码

(2)

bestfitness =0.0697

bestpop= 0.0000 0.0000 0.2641

(3)

bestfitness =0.0316

bestpop = -0.0004 -0.0000 0.1779

搜索更多关于: MATLAB课程遗传算法实验报告及源代码 的文档
MATLAB课程遗传算法实验报告及源代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0g8yj5q4ny3xy6q955p40ne2d1fp3301450_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top