全文预览

遗传算法搜索最优解

上传者:科技星球 |  格式:doc  |  页数:6 |  大小:97KB

文档介绍
hange=my2to10(new_scale)Р [sx,sy]=size(new_scale);Р new_scale1=new_scale;Р for i=1:syР new_scale1(:,i)=2.^(sy-i).*new_scale(:,i);Р endР mychange=sum(new_scale1,2);РendР5、运行结果及分析Р连续运行程序4次得到的运行结果如下:Р第一次:(best_fit,best_f,best_x分别代表每一代中最优个体的适应度值,函数值,以及所对应的自变量x的值)Р[best_fit,best_f,best_x]=Р 10.0000 5.0000 -1.9996Р第二次:Р[best_fit,best_f,best_x]=Р 10.0000 5.0000 -1.9985Р第三次:Р[best_fit,best_f,best_x]=Р 10.0000 5.0000 -1.9969Р第四次Р[best_fit,best_f,best_x]=Р9.9999 4.9999 -1.9916Р对应的迭代次数与适应度函数图如下:Р由连续四次的运行结果可以看出:Р基本上每次运行结果都能够找到最有的解,即当x取-2时,函数最大值为5,说明此算法的稳定性比较高,可靠性好;Р达到最大值的精度也比较的高,前三次为5,第四次为4.9999。Р从迭代次数与适应度函数值的图像中分析,可以得到并不是迭代次数越多,所对应的适应度值最大,而是在迭代的100次里面中间的某一次或者某几次适应度值最大。这是因为我们在选择的时候,采用赌轮盘的放来来选择,而此方法是以概率来选择,因此存在将相对较差的个体选择到的可能性,再加上交叉和变异也是不定向的,从而使得每代中最有个体的出现差异。Р影响结果的因素:(a)迭代次数;(b)编码长度;(c)种群规模;(d)变异和交叉的概率。

收藏

分享

举报
下载此文档