遗传算法在主蒸汽温度控制系统中的应用_毕业论文(编辑修改稿)内容摘要:

强。 遗传算法的工作原理 遗传算法是将“优胜劣汰,适者生存”的生物进化原理引入优化参数形成的编码串群体中,按所选择的适应度函数并通过遗传中的复制,交叉及变异对个体进行筛选,使适应度高的个体被保留下来,组成新的群体,新的群体既继承了上一代的信息,又优于上一代。 这样周而复始,群体中个体适应度不断提高,直到满足一定的条件。 其 执行过程如下: ① 编码: GA 在搜索之前先将变量进行编码,形成一个定长的字符串。 ② 产生初始群体:随机产生 M 个初始字符串,每个字符串为一个个体或者是一个染色体。 M 个个体构成一个群体。 GA 以这 M 个字符串作为初始点开始迭代。 ③ 计算适应值:适应性函数表明个体对环境的适应能力的强弱,不同的问题,适应函数的定义方式也不同。 ④ 选择:一个群体中同时有 M 个个体存在,在这些个体中哪个被选去繁殖后代,哪个被淘汰,是根据它们对环境的适应能力来决定的,适应性强的个体有更多的机会被保留下来。 ⑤ 交叉:对于选中的繁殖个体,按照某种交 叉方式交换两个字符串相应的位段,产生两个新的个体,新的个体组合其父辈的特性。 ⑥ 变异:变异首先在群体中随机选择一个个体,对选中的个体以一定的概率随机的改变字符串中某个字符的值。 ⑦ 收敛判断:是否达到收敛标准,若是,则把适应度值好的字符串作为搜索的结果。 否则转入第( 3)步重复以上过程。 ⑧ 编程上机运行:完成上述工作以后,既可以按照演化计算的算法结构编程来进行问题求解。 由于遗传算法的随机性和不确定性等特点,洛阳理工学院毕业设计(论文) 8 通常要运行多次才能得到可靠的解。 应该注意上述各基本步骤是密切相关的,编码方案与遗传算子的设计等是同步考虑的 ,有时甚至需要上机运行与算法设计交替进行。 遗传算法的基本操作 ( 1) 复制( Reproduction Operator) 复制 是从一个旧种群中选择生命力强的个体位串产生新种群的过程。 根据位串的适配值拷贝,也就是指具有高度配值的位串更有可能在下一代中产生一个或多个子孙。 它模仿了自然现象,应用是指具有高度适配值的位串更有可能在下一代中产生一个或多个子孙。 它模仿了自然现象,应用了达尔文的适者生存理论。 复制操作可以通过随机方法来实现。 若用计算机程序来实现,可考虑首先产生 0~1 之间均匀分布的随机数,若某 串的复制概率为 40%,则当产生的随机数在 0~ 之间时,该串被复制,否则被淘汰。 此外,还可以通过计算方法实现,其中较典型的几种较典型的几种方法为适应度比例法、期望值法、排位次法等。 适应度比例法较常用。 ( 2)交叉( Crossover Operator) 复制操作 从旧种群中选择出优秀者,但不能创造新的染色体。 而交叉模拟了生物进化过程的繁殖现象,通过两个染色体的交换组合,来产生新的优良品种。 它的过程为:在匹配池中任选两个染色体,随机选择一点或多点交换位置;交换双亲染色体交换点右边的部分,即可得到两个新染色体 数字串。 交换体出现了自然界中信息交换思想。 交叉有一点交叉、多点交叉、还有一致交叉、顺序交叉和周期交叉和周期交叉。 一点交叉是最基本的方法,应用较广。 它是指染色体切断点有一处,例: A: 101100 1110→ 101100 0101 B: 001010 0101→ 001010 1110 ( 3)变异( Mutation Operator) 变异运算用来模拟生物在自然的遗传环境中由于各种偶然因素引起的基因突变,它以很小的概率随机地改变遗传基因(表示染色体的符号的某一位)的值。 在染色体以 二进制编码的系统中,它随机地将染色体的某一个基因由 1 变为 0,或由 0 变为 ,而没有变异,则无洛阳理工学院毕业设计(论文) 9 法在初始基因组合以外的空间进行搜索,使进化过程在早期就陷入局部解而进入终止过程,从而影响解的质量。 为了在尽可能大的空间中获得质量较高的优化解,必须采用变异操作。 遗传算法的数学基础 模式的阶和模式的定义距 模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征位相同的结构。 在二进制编码中,模式是基于三个字符集 (0,1,*)的字符串,符号 *代表任意字符,即 0 或者 1。 模式示例: 10**1 定义 1:模式 H 中确定位置的个数称为模式 H 的阶,记作 O(H)。 例如 O(10**1)=3。 定义 2:模式 H 中第一个确定位置和最后一个确定位置之间的距离称为模式 H 的定义距,记作δ (H)。 例如δ (10**1)=4。 模式阶用来反映不同模式间确定性的差异,模式阶数越高,模式的确定性就越高,所匹配的样本数就越少。 在遗传操作中,即使阶数相同的模式,也会有不同的性质,而模式的定义距就反映了这种性质的差异。 模式定理 模式定理:具有低阶、短定义距以及平均适应度高于 种群平均适应度的模式在子代中呈指数增长。 模式定理保证了较优的模式(遗传算法的较优解)的数目呈指数增长,为解释遗传算法机理提供了数学基础。 从模式定理可看出,有高平均适应度、短定义距、低阶的模式,在连续的后代里获得至少以指数增长的串数目,这主要是因为选择使最好的模式有更多的复制,交叉算子不容易破坏高频率出现的、短定义长的模式,而一般突变概率又相当小,因而它对这些重要的模式几乎没有影响。 洛阳理工学院毕业设计(论文) 10 积木块假设 在模式定理中所指的具有低阶、短定义距以及平均适应度高于种群平均适应度的模式被定义为积木块( building block)。 它们在遗传算法中很重要,早子代中呈指数增长,在遗传操作下相互影响,产生适应度更高的个体,从而找到更优的可行解。 积木块假设:遗传算法通过短定义距、低阶以及高平均适应度的模式(积木块),在遗传操作下相互结合,最终接近全局最优解。 模式定理保证了较优模式的样本数呈指数增长,从而使遗传算法找到全局最优解的可能性存在;而积木块假设则指出了在遗传算子的作用下,能生成全局最优解。 基本遗传算法 (SGA)的组成 遗传算法被认为是对人类自然演化过程的模拟。 人类的自然演化过程是进化过 程,这种进化过程发生在染色体上。 自然选择是适应度值较好的染色体比那些适应度值较差的染色体有更多的繁殖机会;变异算子可以使子代染色体不同于父代染色体;通过两个父代染色体的结合与重组可以产生全新的染色体。 染色体的选择、交叉与变异进程是无记忆的。 将这些概念反映在数学上就形成了遗传算法的基础操作。 它的基本流程图如 图 21 所示。 由 图 21 可知,遗传算法是一种群体型操作,该操作以群体中 的所有个体为对象,选择 ( Selection )、交叉 (Crossover)、变异 (Mutation )是遗传算法的 3 个主要操作算子,它们构成了所谓的遗传操作 (Geic Operation ),使遗传算法具有了其它传统方法所没有的特性。 遗传算法中包含如下 5 个基本要素:( 1)参数编码;( 2)初始群体的设定;( 3)适应度函数的设计;( 4)遗传操作设计;( 5)控制参数的设定 (主要是群体大小和使用遗传操作的概率等 )。 洛阳理工学院毕业设计(论文) 11 否产 生 初 始 群 体计 算 个 体 适 应 度选 择变 异交 叉结 束输 出 结 果是 否 满 足 终 止条 件。 开 始是 图 21 基本遗传算法流程图 编码 用遗传算法设计一个优秀的神经网络结构,首先是要解决网络结构的编码问题;然后才能以选择、交叉、变异操作得出最优结构。 基本遗传算法使用固定长度的二进制符号串来表示群体中的个体,其等位基因是由二值符号集 {0,1}所组成,编码包括以下几个步骤: (1)据具体问题确定待寻优的参数; (2)对每个参数确定它的变化范围,并用一个二进制数来表示; (3)将所有表示参数的二进制数串接起来组成一个长的二进制串。 除了二进制编码之外,还有浮点数编码、符号编码等方法。 所 谓浮点数编码方法,是指个体的每个基因值用某一范围内的一个浮点数来表示,个体的编码长度等于其决策变量的个数。 就二进制编码和浮点数编码比较而言,一般二进制编码比浮点数编码搜索能力强,但浮点数编码洛阳理工学院毕业设计(论文) 12 比二进制编码在变异操作上能够保持更好的种群多样性。 符号编码方法很少采用,这里就不再介绍了 适应度函数 在遗传算法中,以个体适应度的大小来确定该个体被遗传到下一代群体中的概率,因此适应度函数的定义方法对遗传算法具有极大的影响。 在遗传算法中,目标函数到适应度函数的映射方式需要保证以下两点: 1. 映射后的适应度 值是非负的; 2. 目标函数的优化方向应对应适应度值的增大或减小方向。 对于求最大值的问题一般采用如下的适应度函数 ()fx和目标函数()gx的映射关系:        0m i nm i n , 0m i n,0   CxgifCxg Cxgifxf (21) 式中, minC 可以是一个输入参数在理论上的最小值,也可以是到目前所有代中 ()gx的最小值,此时 minC 会随着代数而变化。 对于求最小值的问题一般采用如下的适应度函数 ()fx和目标函数()gx的映射关系:        0m a x,m a x 0m a x,0   CxgifxgC Cxgifxf (22) 式中, Cmax 可以是一个输入参数在理论上的最 大 值,也可以是到目前所有代中 ()gx的最小值,此时 Cmax 会随着代数而变化。 遗传算子 遗传算法操作包括选择、交叉和变异三个基本遗传算子,综合考虑三种算子,可以得知它们有如下的特点: A. 遗传操作的效果和它们所取的操作概率、编码方式、群体大小、初始群体以及适应度函数的设定密切相关; 洛阳理工学院毕业设计(论文) 13 B. 它们的操作方式或操作策略随 着 具体 的 求解问题的不同而异。 选择算子又称复制算子( Reproduction),是从种群中选择生命力强的染色体,产生新种群的过程。 常见的有以下几种方法: ( 1)适应度 比例选择方法 (Proportional Model), 又称为轮盘赌法(Roulette Wheel)或蒙特卡洛 (Monte Carlo)模型,是目前最常用的选择方法,具体表达方法如下:  mipis ,2,1FFm1i ii  (23) 式中, isp 为个体 i 被选中的概率, iF 为个体 i 的适应度, M 为群体大小。 ( 2) 确定式采样选择 (Deterministic Sampling), 它的基本思想 是 按照一种确 定的方式来进行选择操作,其具体操作过程如下: a、 计算群体中各个个体在下一代群体中的期望生存数目 Ni :  MiFFMi iii ,2,1*Nm1   (24) b、 用 iN 的整数部分 iN 确定各个对应个体在下一代群体中的生存数目。 其中 x 表示不大于 x 的最大的整数。 由该步可以确定出下一代群体中的  Mi iN1个个体。 c、 按照 Ni 的小数部分对个体进行降序排序,顺序取前 Mi iNM 1个个体加入 到下一代群体中。 至此可完全确定出下一代群体中的 M 个个体。 ( 3) 排序选择法 (Rankbased Model),是按个体的适应度的大小排序,然后按事先设计的概率表分配给每一个个体,作为各自的选择概率。 洛阳理工学院毕业设计(论文) 14 所谓交叉运算,是指对两个相互配对的染色体依据交叉概率 Pc 按某种方式相互交换其部分基因,从而形成两个新的个体。 交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的主要方法。 SGA 中交叉算子采用单点交叉算子。 所谓变异运算,是指依据变异概率 Pm 将个体编码串中的某些基因值用其它基因值来替换,从而形成一个新的个体。 遗传算法中的变异运算是产生新个体的辅助方法,它决定了遗传算法的局部搜索能力,同时保持种群的多样性。 交叉运算和变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。 在遗传算法中使用变异算子主要有以下两 个目的: 1)改善遗传算法的局部搜索能力; 2)维持群体的多样性,防止出现早熟现象。 遗传算法的运行参数 遗传算法中需要选择的运行参数主要有个体编码串长度 L、群体大小 M、交叉率 Pc、变异率 Pm、终止代数 T 等 (a) L : 编码串长度。 (b) M : 种群规模。 一般取为 20~100; (c) Pc : 交叉概率。 一般取为 ~。 (d) Pm : 变异概率。 一般取为 ~ (b) T : 遗传运算的终止进化代数。 一般取为 100~1000; 至于遗传算 法的终止条件,还可以利用某种判定准则,当判定出群体已经进化成熟且不再有进化趋势时就可以终止算法的运行过程。 常用的判定准则有下面两种: ①连续几代个体平均适应度的差异小于某一个极小的阈值;。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。