ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:279KB ,
资源ID:501660      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-501660.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(双峰和多峰函数最大值的遗传算法求解.DOC)为本站会员(国***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

双峰和多峰函数最大值的遗传算法求解.DOC

1、双峰和多峰函数最大值的遗传算法求解 摘 要 本文利用基本遗传算法的思路寻找双峰或多峰函数的最大值,选择采用轮盘选择方法;交叉采用单点交叉,交叉位置随机,交叉概率取 0.20;变异概率 0.005。经多次运行,求得最大值。停止法则为循环最大遗传代数为止到。的编程环境为Matlab6.5。 关键字 遗传算法 多峰函数 遗传算法是一种通用性非常强,计算性能非常好的算法,解决类似 X.*sin(10*pi*X)+2.0 这样的多峰函数的最大值采用遗传算法似乎是最好的算法。所以本问题采用遗传算法来解决,也是对遗传算法 编程的一次练习。 函数 Y=X.*sin(10*pi*X)+2.0 在 -1 2区间上

2、的图像如下: Y=X.*sin(10*pi*X)+2.0 在 -1 2区间上的图像 本程序最大遗传代数为 200,个体数目为 50,采用二进制编码,基因长度为 30。 运算结果: best_Y =3.8503 index =106 X =1.8506 各代最大值情况见下图(蓝点为第一代初始值,红色三角为各代最大值) -1 - 0 . 5 0 0 . 5 1 1 . 5 200 . 511 . 522 . 533 . 54每一代 计算 过程 如下表: Index 各代 Y最大值 各代 X 值 各代 Y平均值 1.0000 3.6378 1.6467 1.7982 2.0000 3.6378 1.

3、6467 1.8253 3.0000 3.6377 1.6467 1.7993 4.0000 3.6377 1.6467 1.8083 5.0000 3.6377 1.6467 1.8590 6.0000 3.6393 1.6469 1.9193 7.0000 3.6393 1.6469 1.8609 8.0000 3.6392 1.6469 1.8530 9.0000 3.6392 1.6469 1.8829 10.0000 3.5987 1.8337 1.8155 11.0000 3.5987 1.8337 1.8518 12.0000 3.5514 1.8321 1.8246 13.00

4、00 3.5514 1.8321 1.8510 14.0000 3.3570 1.4621 1.7440 15.0000 3.3570 1.4621 1.8066 16.0000 3.3570 1.4621 1.7515 17.0000 3.3570 1.4621 1.8107 18.0000 3.3570 1.4621 1.7857 19.0000 3.3570 1.4621 1.7297 20.0000 3.3570 1.4621 1.6843 21.0000 3.3566 1.4622 1.7327 22.0000 3.3566 1.4622 1.8440 23.0000 3.5208

5、1.8312 1.8888 24.0000 3.5208 1.8312 1.8769 25.0000 3.5211 1.8312 1.8778 26.0000 3.5211 1.8312 1.8839 27.0000 3.3583 1.4621 1.9143 28.0000 3.3583 1.4621 1.8783 29.0000 3.3574 1.4621 1.9416 30.0000 3.4993 1.6369 1.9575 31.0000 3.4993 1.6369 1.8997 32.0000 3.4993 1.6369 1.9361 33.0000 3.3999 1.4591 1.8

6、675 34.0000 3.3984 1.4592 1.8084 35.0000 3.4318 1.6340 1.9287 36.0000 3.4629 1.6353 1.9099 37.0000 3.4629 1.6353 1.8646 38.0000 3.4630 1.6353 1.8126 39.0000 3.4630 1.6353 1.8807 40.0000 3.4804 1.6651 1.8838 41.0000 3.4804 1.6651 1.8546 42.0000 3.4804 1.6651 1.9645 43.0000 3.5238 1.6631 1.9268 44.000

7、0 3.0573 1.8810 1.8557 45.0000 3.0573 1.8810 1.9213 46.0000 3.0573 1.8810 1.9020 47.0000 3.0571 1.8810 1.8252 48.0000 3.4475 1.4487 1.8926 49.0000 3.4484 1.4490 1.9698 50.0000 3.4484 1.4490 1.9897 51.0000 3.4484 1.4490 1.9714 52.0000 2.8503 0.8521 1.9145 53.0000 2.8503 0.8521 1.9170 54.0000 2.8579 1

8、.2247 1.9501 55.0000 2.8503 0.8521 1.9134 56.0000 3.7248 1.8623 1.8872 57.0000 3.7248 1.8623 1.8820 58.0000 3.7242 1.8623 1.8609 59.0000 3.7242 1.8623 1.9609 60.0000 3.1241 1.8796 1.9457 61.0000 3.1241 1.8796 1.9663 62.0000 3.4353 1.4461 1.9586 63.0000 3.4356 1.4461 1.9345 64.0000 3.7712 1.8599 1.97

9、66 65.0000 3.7773 1.8595 2.0047 66.0000 3.7773 1.8595 1.9587 67.0000 3.4748 1.8711 1.9631 68.0000 3.7091 1.8380 2.0427 69.0000 3.7090 1.8380 2.0199 70.0000 3.8274 1.8455 2.0720 71.0000 3.7438 1.8397 2.0738 72.0000 3.7430 1.8396 2.0255 73.0000 3.7438 1.8397 2.0288 74.0000 3.6273 1.8663 2.0063 75.0000

10、 3.7760 1.8596 2.0204 76.0000 3.7850 1.8590 2.1523 77.0000 3.7850 1.8590 2.1444 78.0000 3.7850 1.8590 2.1158 79.0000 3.8429 1.8477 2.1157 80.0000 3.8429 1.8477 1.9623 81.0000 3.8429 1.8477 1.9620 82.0000 3.8430 1.8477 1.9416 83.0000 3.8430 1.8477 1.8527 84.0000 3.8430 1.8477 2.0005 85.0000 3.8430 1.

11、8477 2.0226 86.0000 3.8430 1.8477 2.0846 87.0000 3.8430 1.8477 2.0399 88.0000 3.8427 1.8477 2.0424 89.0000 3.8427 1.8477 2.0247 90.0000 3.8429 1.8534 2.0898 91.0000 3.8429 1.8534 2.0715 92.0000 3.8429 1.8534 2.0916 93.0000 3.3525 1.8743 1.9669 94.0000 3.3525 1.8743 2.0206 95.0000 3.3525 1.8743 2.018

12、3 96.0000 3.3650 1.8740 2.0191 97.0000 3.8404 1.8538 2.0578 98.0000 3.8391 1.8540 2.0120 99.0000 3.8391 1.8540 1.9769 100.0000 3.8391 1.8540 2.0035 101.0000 3.8502 1.8507 2.0710 102.0000 3.8502 1.8507 2.0570 103.0000 3.8502 1.8507 2.0683 104.0000 3.8502 1.8507 2.0826 105.0000 3.8502 1.8507 2.0440 10

13、6.0000 3.8503 1.8506 2.0487 107.0000 3.8503 1.8506 2.0244 108.0000 3.8503 1.8506 2.0568 109.0000 3.8503 1.8506 2.1176 110.0000 3.8503 1.8506 2.0873 111.0000 3.8503 1.8506 2.1207 112.0000 3.8503 1.8506 2.0535 113.0000 3.8503 1.8506 2.0841 114.0000 3.8502 1.8503 2.1926 115.0000 3.7637 1.8408 2.1121 11

14、6.0000 3.7636 1.8408 2.0932 117.0000 3.7636 1.8408 1.9732 118.0000 3.7637 1.8408 1.9570 119.0000 3.7636 1.8408 1.9336 120.0000 3.7636 1.8408 1.9575 121.0000 3.7280 1.8389 1.8549 122.0000 3.7280 1.8389 1.9322 123.0000 3.7280 1.8389 1.9030 124.0000 3.7280 1.8389 1.9238 125.0000 3.7280 1.8389 1.9764 12

15、6.0000 3.7280 1.8389 2.0212 127.0000 3.7282 1.8389 1.9752 128.0000 3.7282 1.8389 1.9498 129.0000 3.7330 1.8391 1.8933 130.0000 3.7330 1.8391 1.8934 131.0000 3.5933 1.8335 1.8165 132.0000 3.5933 1.8335 1.8368 133.0000 3.3053 1.8254 1.8050 134.0000 3.2449 1.2538 1.7433 135.0000 3.2449 1.2538 1.7819 13

16、6.0000 2.8499 0.8525 1.7336 137.0000 2.8499 0.8525 1.7512 138.0000 2.8499 0.8525 1.7261 139.0000 2.8499 0.8525 1.7688 140.0000 3.2529 1.6280 1.8543 141.0000 3.6319 1.6554 1.8755 142.0000 3.6319 1.6554 1.8593 143.0000 3.6144 1.6573 1.8239 144.0000 3.6230 1.6564 1.8335 145.0000 3.6230 1.6564 1.8621 14

17、6.0000 3.6229 1.6564 1.8524 147.0000 3.3186 1.6711 1.9152 148.0000 3.1985 1.4696 1.9109 149.0000 3.7083 1.8631 2.0110 150.0000 3.7083 1.8631 1.9662 151.0000 3.6267 1.8663 1.9461 152.0000 3.6267 1.8663 2.0019 153.0000 3.6267 1.8663 1.9808 154.0000 3.6267 1.8663 1.9828 155.0000 3.6267 1.8663 1.9835 15

18、6.0000 3.6550 1.8653 1.9858 157.0000 3.6550 1.8653 2.0047 158.0000 3.6550 1.8653 2.0711 159.0000 3.6532 1.8653 2.0025 160.0000 3.6532 1.8653 2.0074 161.0000 3.8466 1.8486 2.0899 162.0000 3.8466 1.8486 2.0768 163.0000 3.8466 1.8486 2.0675 164.0000 3.8417 1.8536 2.0655 165.0000 3.8417 1.8536 2.0244 16

19、6.0000 3.4929 1.6366 1.9715 167.0000 3.6063 1.6580 1.9138 168.0000 3.4433 1.6667 1.9892 169.0000 3.4381 1.6669 1.9848 170.0000 3.4381 1.6669 1.9934 171.0000 3.4381 1.6669 1.9868 172.0000 3.7924 1.8426 2.0324 173.0000 3.4379 1.6669 2.0047 174.0000 3.4379 1.6669 2.0191 175.0000 3.4379 1.6669 1.9246 17

20、6.0000 3.4380 1.6669 1.9055 177.0000 3.4380 1.6669 1.9284 178.0000 3.6089 1.6435 2.0184 179.0000 3.6090 1.6435 1.9541 180.0000 3.8452 1.8529 1.9973 181.0000 3.6093 1.6435 1.9780 182.0000 3.6093 1.6435 1.9613 183.0000 3.6096 1.6435 1.9650 184.0000 3.3541 1.4390 1.9575 185.0000 3.4277 1.4563 1.9087 18

21、6.0000 3.1521 1.2381 1.9247 187.0000 3.4503 1.4504 1.9454 188.0000 2.8989 1.4792 1.9066 189.0000 2.8822 1.6184 1.9284 190.0000 3.4228 1.6675 1.9520 191.0000 3.4305 1.6672 1.9905 192.0000 3.4305 1.6672 1.9467 193.0000 3.3365 1.8747 1.9122 194.0000 3.1694 1.2393 1.8371 195.0000 3.8503 1.8506 1.9073 19

22、6.0000 3.8147 1.8568 1.9294 197.0000 3.8501 1.8502 2.0429 198.0000 3.8147 1.8568 1.9125 199.0000 3.8152 1.8567 1.9703 200.0000 3.8152 1.8567 2.0873 201.0000 3.8182 1.8565 2.0715 评价: 由于此程序为循环完指定代数后才结束, 并且算不是绝对收敛的, 所以会出现后面的一些最大值反而比前面的小的情况,而且显得没有规律。此程序运行时间 很短, 1 秒左右 ,性能不错 。 可以 输出也可 看出此程序收敛速度实际上有点快。 双峰函

23、数不必讨论了。 本程序文件名为: SGA.m 子 函数: bs2rv.m 二进制转换 10 进制函数 程序源代码如下: function SGA() %简单遗传算法程序解决多峰函数的最值问题 Maxgen=200; %最大遗传代数 NIND=50; %个体数目 gen_len=30; %基因长度 FieldD=-1,2;%区域描述 cross_probability=0.20;%交叉概率 mutate_probability=0.005;%变异概率 fun=variable.*sin(10*pi*variable)+2.0;%目标函数 %subplot(2,1,1); fplot(fun,Fi

24、eldD);%画出目标函数曲线 hold on %生成初始种群 Chrom=round(rand(NIND,gen_len); %生成二维 01 数组 Chrom_real=bs2rv(Chrom,FieldD) %二进制转换成十进制数 %计算目标函数值 Obj=Chrom_real.*sin(10*pi*Chrom_real)+2.0 %绘制初始值点 plot(Chrom_real,Obj,*); %绘制当前最大值的点 ma(1,3)=1; ma(1,2) index=max(Obj); ma(1,3)=Chrom_real(index); plot(ma(1,3),ma(1,2),); %

25、种群平均值 ma(1,4)=mean(Obj); %开始遗传计算 for gen=1:Maxgen %计算适应度 sumObj=sum(Obj);%所有个体的目标函数值之和 fitness=Obj/sumObj;%每个个体的选择概率 fitness2=fitness(1);%累计概率 %选择 numof=length(fitness); %计算累计概率 fitness2 for j=2:numof fitness2(j)=fitness(j)+fitness2(j-1);%计算累计概率 end %轮盘选择 tempChrom=Chrom;%储存一个原始的个体值 index=1; for k=1

26、:NIND for j=1:numof if randcross_probability if n1=0 n1=1; temindex=i;%纪录第一个交叉个体 continue; else %选够两个个体则交叉 pos=round(rand*gen_len)+1; tempC=Chrom(temindex,:); Chrom(temindex,pos:gen_len)=Chrom(i,pos:gen_len); Chrom(i,pos:gen_len)=tempC(pos:gen_len); n1=0; end end end %变异运算 for i=1:NIND for j=1:gen_l

27、en if randr); %各代种群平均值 ma(gen+1,4)=mean(Obj); %subplot(2,1,2); %plot(1:gen+1,ma(gen+1,1); End %输出计算结果 ma best_Y index=max(ma(:,2) X=ma(index,3) 此函数将二进制转换为十进制 function ans=bs2rv(Chrom,FieldD) %二进制到十进制的转换 %chrom 为二进制数组 %FieldD 为边界数组 这里认为只有一个变量 m n=size(Chrom); maxn=2n; F=(FieldD(2)-FieldD(1); for i=1:m ans(i)=0; for j=n:-1:1 ans(i)=ans(i)+Chrom(i,j)*2(j-1); end ans(i)=FieldD(1)+ans(i)/maxn*F; end

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。