遗传算法原理及应用 遗传算法原理

今天和大家分享一些关于遗传算法原理(遗传算法原理及应用)的问题 。以下是边肖对这个问题的总结 。让我们来看看 。
一、遗传算法的基本原理
遗传算法的基本原理是:
遗传算法是一种基于自然选择和群体遗传机制的搜索算法,模拟了自然选择和自然遗传过程中的繁殖、杂交和变异现象 。用遗传算法解决一个问题时,问题的每一个可能解都被编码成一个“染色体”,即一个个体,几个个体构成一个群体(所有可能解) 。在遗传算法开始时,总是随机产生一些个体(初始解) 。根据预定的目标函数对每个个体进行评估,并给出适应值 。基于这个适应值,选择一些个体来产生下一代 。选择操作体现了优胜劣汰的原则,用“好”的个体产生下一代,“坏”的个体被淘汰 。然后对选出的个体进行交叉和变异,算子重组产生新一代 。因为这一代个体继承了上一代的一些优秀性状,在性能上优于上一代,所以逐渐向更优解进化 。因此,遗传算法可以看作是一个由可行解组成的种群的初始进化过程 。
【遗传算法原理及应用遗传算法原理】二、遗传算法的基本原理
遗传算法的基本原理和方法
一.编码
编码:将问题的可行解从其解空转化为遗传算法空搜索的转换方法 。
解码():遗传算法求解空和空之间的转换 。
二进制编码的缺点是汉明悬崖,即一些相邻整数的二进制编码之间存在很大的汉明距离,使得遗传算法的交叉和变异难以跨越 。
格雷码:相邻整数之间的汉明距离为1 。
(更好)有意义的积木块编码规则:编码要容易生成与问题相关的短距离、低阶积木块;最小字符集编码规则,编码时应采用最小字符集,以便能自然地表达或描述问题 。
二进制编码比十进制编码具有更好的搜索能力,但不能维持群体的稳定性 。
动态参数编码:为了得到高精度,让遗传算法从一个非常粗略的精度开始收敛 。当遗传算法找到一个区域,它会在这个区域内搜索,重新编码,重新开始,重复这个过程,直到达到要求的精度 。
编码方法:
1.二进制编码方法
缺点:连续函数离散化时存在映射误差 。不能直接反映问题的结构特征,不便于针对问题开发具有专门知识的遗传算子,也难以满足积木块编码原则 。
2.格雷码编码:两个连续整数对应的码之间只有一个码位不同,其他码位相同 。
3.浮点编码法:个体的每个基因值用一定范围内的浮点数表示,个体的编码长度等于其决策变量的位数 。
4.参数级联编码:一种用多个变量对个体进行编码的方法 。通常每个参数都是按照一定的编码方式进行编码,然后将它们的编码按照一定的顺序连接在一起,形成代表所有参数的单独编码 。
5.多参数交叉编码:将每个参数中起主要作用的编码比特集中在一起,使其不容易被遗传算子破坏 。
评价编码的三个规范:完整性、正确性和无冗余性 。
第二,选择
遗传算法中的选择操作是确定如何从父代群体中选择那些个体并以一定的方式遗传给下一代群体,以及确定重组或杂交的个体和被选择的个体将产生多少后代的遗传操作 。
常用的选择运算符:
1.轮盘赌轮盘选择:是一种回放随机抽样法 。每个个体进入下一代的概率等于其适应值与整个种群中个体适应值之和的比值 。选择误差大 。
2.随机锦标赛:每次在轮盘赌轮盘选择中按下一对个体,然后让这两个个体进行比赛 。选择适应性高的,以此类推,直到满为止 。
3.更优选择:首先按照轮盘赌选择法进行遗传算法的选择操作,然后将当前种群中适应度更高的个体结构完全复制到下一代种群中 。