实验一 基于某遗传算法地函数优化

实验一 基于某遗传算法地函数优化

ID:34952088

大小:124.00 KB

页数:10页

时间:2019-03-15

实验一 基于某遗传算法地函数优化_第1页
实验一 基于某遗传算法地函数优化_第2页
实验一 基于某遗传算法地函数优化_第3页
实验一 基于某遗传算法地函数优化_第4页
实验一 基于某遗传算法地函数优化_第5页
资源描述:

《实验一 基于某遗传算法地函数优化》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用标准文案人工智能实验报告实验一基于遗传算法的函数优化1、实验目的1)掌握Matlab子函数的编写与调用。2)理解基本遗传算法的原理,并利用程序实现利用遗传算法优化非线性函数的解。2、实验内容与实验要求文档实用标准文案1)掌握基本遗传算法方法原理。2)掌握matlab子函数的编写方法及调用方法。3)根据基本遗传算法方法原理,编写Matlab程序,优化非线性函数的解。4)设f(x)=,求maxf(x),xÎ[-2,2],解的精度保留二位小数。3、实验要求1)自己独立编写Matlab函数。2)书写实

2、验报告。3)分析实验结果,用图或表描述出迭代次数与适应度函数值的关系曲线。4、实验设备1)计算机2)Matlab软件5、实验结果及分析(1)编码和产生初始群体首先需要确定编码的策略,也就是说如何把[-2,2]区间内的数用计算机语言表示出来。采用二进制形式来解决编码问题,即将某个变量值代表的个体表示为一个{0,1}二进制串。串的长度取决于求解的精度,例如假设求解精度为保留两位小数,由于区间[-2,2]的长度为4,则必须将该区间分为400等分。因为28<400<29,所以编码所用的二进制串至少需要9位

3、。编码:二进制串(b8b7b6…b1b0)与[-2,2]内实数的一一映射:b8b7b6…b1b0二进制串a=<101000111>其对应的十进制数为:转化到[-2,2]内的实数为:产生初始群体:pop1={<100011110>,%a1<001000010>,%a2<110000000>,%a3<110000101>}%a4转化成[-2,2]之间的十进制数即为:pop1={0.24,-1.48,1.01,1.05}(2)定义适应函数和适应值由于目标函数f(x)在[-2,2]文档实用标准文案内的值有

4、正有负,所以必须通过建立适应函数与目标函数的映射关系,保证映射后的适应值非负,而且目标函数的优化方向应对应于适应值增大的方向,也为以后计算各个体的入选概率打下基础。定义适应函数:为了便于计算,这里的Fmin采用了一个特定的输入值,如果取Fmin=-1,则f(x)=1对应的适应值为g(x)=2。上述随机产生的初始群体,取Fmin=-1,则它们的目标函数值和适应值分别为:f(pop1)={-0.02,4.73,-4.06,-4.30}g(pop1)={-1.02,3.73,-5.06,-5.30}(3

5、)确定选择标准1用适应值比例来作为入选概率。1设给定的规模为400的群体pop={a1,a2,...,a400},个体ai的适应值为g(ai),则其入选概率为)上述随机产生的初始群体,它们的入选概率分别为:p(pop1)=g(pop1)/sum(g(pop1))={0,1,0,0}(4)产生种群3将入选概率大的个体选入种群,淘汰概率小的个体,并用概率最大的个体补入种群,得到与原群体大小同样的种群。4在上述随机产生的初始群体中,淘汰掉a3,再加入a2,得到新的种群(选择):newpop1={<100

6、011110>,%a1<001000010>,%a2<001000010>,%a2<110010101>}%a4交叉:5交叉也就是将一组染色体上对应基因段的交换得到新的染色体,然后得到新的染色体组,组成新的群体。6将前面得到的newpop1的四个个体两两配对,重复的不配对,进行交叉(可以在任一位进行交叉):变异:变异就是通过一个小概率改变染色体位串上的某个基因。7现把jchpop1中第3个个体中的第5位改变,就产生了变异,得到了新的群体pop2:pop2={<001000010>,<1000111

7、10>,<010000101>,<101000010>}然后对新的种群重复上述的选择、交叉、变异,直到满足终止条件为止。(5)实验结果:文档实用标准文案6、附录(Matlab函数)%遗传算法主函数%q:输出最佳个体自变量值%迭代次数为400function[q]=GA()globalbest_in;globalg_value;%初始化initilize();%初始化最佳个体的适应函数值fori=1:400g_value=0.;end%迭代开始fork=1:1:100fitness();%适应函数操

8、作calculate();%对出现概率小的个体进行淘汰,并保留最佳个体best_in的信息文档实用标准文案%计算每一次迭代中最佳个体的适应函数值aa,并赋给g_value(i)aa=0.;forj=1:9aa=aa+best_in(j).*2^(j-1);endg_value(k)=aa;selection();%选择操作crossover();%交叉操作mutation();%变异操作endplotGA();%打印算法迭代过程%获得最佳个体变量值q=0.;forj=1:9q=q+

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

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

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