C#/WinForm 演示遗传算法

一、一览

二、遗传算法流程

 

种群初始:随机生成一组N个DNA,每个DNA上都有S个基因,每个DNA都有自己的r值(适度值)。r最大的DNA为种群最优。

选择操作:将每个DNA的r值占总体的比例作为新一代选取的概率,再生成一组N个DNA,这些DNA都是从种群的概率选取来的。例如:上一代3号DNA的r3值占总r值为r3/r=1/6,则这一代中3号DNA就有大约1/6N个。

交叉操作:选择相邻的两个DNA,随机选择某段基因进行等位交换,让新的种群有更多的DNA样本。交叉率较高。

变异操作:随机选择DNA的某段基因进行变异。变异率较低。

三、算法介绍

3.1编码、解码

本文用一元函数模拟在指定区间求最值,函数y=f(x),x∈[lower,upper],保留Accuracy位小数点精度,可将区间划分(upper-lower)*10^Accuracy等份,因为需要用二进制编码,所以编码长度n&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值