没有合适的资源?快使用搜索试试~ 我知道了~
关于遗传算法的实验报告.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 133 浏览量
2023-07-03
20:48:23
上传
评论
收藏 345KB PDF 举报
温馨提示
试读
6页
关于遗传算法的实验报告.pdf
资源推荐
资源详情
资源评论
关于遗传算法得实验报告
一、实验目得:
ﻩ理解与掌握遗传算法得应用及意义,能用一门自己擅长得语言实现遗传算法得基本功能,在
此基础上进一步理解与巩固对遗传算法得重要,以便在今后得学习与工作中能有效得运用与
借鉴!需要指出得就是遗传算法并不就是能保证所得到得就就是最佳得答案但通过一定得方
法可以将误差控制在一定得范围内!
二、实验原理与题目 :
1、遗传算法就是一种基于空间搜索得算法,它通过自然选择、遗传、变异等操作以及达
尔文得适者生存得理论,模拟自然进化过程来寻找所求问题得答案。其求解过程就是个最优
化得过程。一般遗传算法得主要步骤如下:
(1)随机产生一个确定长度得特征字符串组成得初始种群。
(2)对该字符串种群迭代地执行下面得步骤 a 与步骤 b,直到满足停止准则为止:
a计算种群中每个个体字符串得适应值;
b应用复制、交叉与变异等遗传算子产生下一代种群。
(3)把在后代中表现得最好得个体字符串指定为遗传算法得执行结果,即为问题得一
个解。
2、通过编码、设置种群、设置适应度函数、遗传操作、解码产生需要得解。
f(x)=x*sin(x)+1, x[0,2],求解 f(x)得最大值与最小值。
三、实验条件
硬件:微型计算机。
ﻩ语言:本实验选用得为 C++语言。
四、实验内容:
建造针对 f(x)得遗传算法程序,然后进行运行求解。
五、实验步骤:
ﻩ1、 确定基本功能:本实验就是实现 f(x)得最大值与最小值得求解。
2、 对 f(x)进行编码:用一个二进制矢量表示一个染色体,由染色体来代表变量 x 得实数
值,这里精度取小数点后 6 位数,变量 x 得域长为 2,整个区间被分为 2*1000000 个等长得
区间。由于 2*1000000 在23 位二进制数得表示范围呢,所以,编码长度为23 位。
3、 设计适应度函数:由于要求 f(x)得最值,所以适应度函数可根据 f(x)做适当得改变。
最大值:f(x)=x*sin(x)+5;最小值:f(x)=1/(x*sin(x)+5 );
4、 针对 f(x)得设计并且实现遗传算法程序:遗传操作主要包括复制、交叉与变异。复
制就是直接将父代遗传给子代,即根据个体得适应度函数值所度量得优劣程度决定它在下一
代就是被淘汰还就是被遗传。交叉从能进入下一代得个体中选出两个,将两者得部分码值进
行交换。变异就是根据变异概率选出一个个体,随机对其某位编码进行改变。复制由
void
Selection_operation(bool flag);实现;交叉
由
void Crossover_operation();实现;
变异由void Mution-operation() ;实现。
5、 设计初始种群:默认设置为 50 个随机产生得 23 位字节得染色体。
ﻩ6、 调试交叉与变异概率:在常用得交叉与变异概率范围内,结果随交叉与变异得概率得改
变而改变,之间差异相对来说不太明显
7、 实验参数:实验中主要得参数有遗传代数、群体规模、交叉概率、变异概率。
实验结果:
求最大值:
求最小值:
资源评论
hhappy0123456789
- 粉丝: 61
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功