【精选】遗传算法原理及其matlab程序实现 |
您所在的位置:网站首页 › 编码示例 › 【精选】遗传算法原理及其matlab程序实现 |
遗传算法原理及其matlab实现
一、遗传算法背景二、遗传算法原理及其数学模型2.1 编码方式2.1.1 二进制编码2.1.2 浮点数编码
2.2 种群初始化2.3 计算初始种群的适应度函数值2.4 对初始种群个体进行筛选—天泽(以轮盘赌方式进行选择)2.5 个体染色体交叉及突变2.6 精英选择及其作用
三、遗传算法中关键参数的设定及作用3.1 不同编码方式的区别及其作用3.2 交叉算子与突变算子3.3 精英数量
四、遗传算法matlab实现代码4.1 主程序4.2 种群初始化4.3 适应度计算4.4 选择淘汰4.5 变异处理4.6 变异是否超出自变量范围判断4.7 交叉处理4.8 最差个体统计4.9 计算平均适应度值4.10 绘制结果4.11 仿真效果如下:
5 结尾篇
一、遗传算法背景
遗传算法的主要思想是借鉴于达尔文的自然选择下的进化论模型。通过借鉴生物进化论,遗传算法将要解决的问题模拟成一个生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰掉适应度函数值低的解,增加适应度函数值高的解。这样进化N代后就很有可能会进化出适应度函数值很高的个体,也就是你的目标函数值的最优化结果。是时候展现真正的技术了: 看了遗传算法的背景介绍发现好像也没多难,事实真的如此吗?对人而言,是乎很好理解,可问题是我们是在计算机上进行这个过程,该如何让计算机理解刚才的过程呢? 假的在妹子心中对男友指标的方式为: f ( x , y ) = s i n ( x ) + c o s ( y ) + 0.1 ∗ x + 0.1 ∗ y f(x,y) =sin(x)+cos(y)+0.1*x+0.1*y f(x,y)=sin(x)+cos(y)+0.1∗x+0.1∗y 其中:x:代表男生的颜值 y:代表男生的能力 2.1 编码方式 首先,我们将计算机假定成生活里的妹子,现在她要开始找男朋友了!!! 将染色体表达为基因的过程,称之为编码,常见的编码格式有二进制编码和浮点编码。 2.1.1 二进制编码二进制编码通俗的将就是将我们的自变量从十进制映射到N位的二进制,而N取决于我们要求的精度,例如求解精度为 e=0.02,那么我们需要将x的区间[-10 10],切分成(10−(−10))/0.02=1000 份。 又因为采用二进制编码所以实际需要的编码位数为: 2 9 = 512 < 1000 < 2 十 = 1024 2^9=512 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |