- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3)适应度函数值的计算 取适应度函数为f (x)=x2,则4个样本的适应度值分别如下表所示。 表6.2 计算适应度函数 标号 初始种群 适应度值 f (x)=x2 1 01101 169 2 11000 576 3 01000 64 4 10011 361 总 计 1170 平均值 293 最大值 576 x值 13 24 8 19 (4)复制 采用赌轮法计算各个个体被复制的次数。 表6.3 复制操作过程 标号 初始种群 适应度 f (x)=x2 1 01101 169 2 11000 576 3 01000 64 4 10011 361 总 计 1170 平均值 293 最大值 576 x值 13 24 8 19 选择复制概率 期望的复制数 实际得到的复制数 0.144 0.492 0.055 0.309 1.000 0.25 0.492 0.58 1.97 0.22 1.23 4.00 1.00 1.97 1 2 0 1 4 1 2 (5)交叉 采用随机交叉配对,一点交叉方式进行交叉。 表6.4 交叉操作过程 标号 复制后匹配池中的个体 1 01101 3 2 11000 4 3 11000 1 4 10011 2 总 计 平均值 最大值 新种群 01000 11001 11101 10010 f (x)=x2 2 4 2 4 8 25 29 18 64 625 841 324 1854 463.5 841 配对对象 (随机选取) 交叉点 (随机选取) x值 (6)变异 采用单点随机变异方式进行变异操作。 表6.5 变异操作过程 标号 交叉后的种群 1 01000 2 11001 3 11101 4 10010 总 计 平均值 最大值 新种群 01100 11001 11101 10010 f (x)=x2 3 / / / 12 25 29 18 144 625 841 324 1934 483.5 841 变异点位置 x值 6.2 遗传算法的基本原理 6.2.1 遗传算法的流程 确定表示问题解的编码 随机生成初始种群 确定适应度函数f 计算种群中各个体的适应度 fi 选择高适应度的个体进行复制 交叉 变异 输出最优解 是否满足收敛判据? 是 否 图6.1 遗传算法的基本流程图 6.2.2 遗传算法的具体实现 1. 编码方式的选取 利用遗传算法求解实际问题时,问题的解是用字符串来表示的,遗传算子也是直接对字符串进行操作的。因此,如何用适当的字符串编码来表示问题的解成为了遗传算法应用过程中的首要问题。 目前所使用的字符串编码方式主要有:二进制、浮点数和符号等。 (1)采用二进制形式编码,个体的位数多,描述得比较细致,从而加大了搜索范围,但交叉运算的计算量较大;由于大量的具体问题本身都是十进制的,并且还需对实际参数进行编码和译码,从而增加了额外的计算时间。 (2)采用浮点数编码,交叉运算的计算量较小,但变异过程难于进行。 (3)符号编码方式通常在一些专门的应用场合使用。 2. 初始种群的产生 初始种群对应着问题的初始解,通常有两种方式产生: ①完全随机方式产生(字符串每一位均随机产生); ②随机数发生器方式产生(整个字符串用随机数发生器一次产生)。 另外,如果对于寻优问题有某些先验知识,则可先将这些先验知识转变为必须满足的一组约束,然后再在满足这些约束的解中随机地选取个体以组成初始种群。 3. 适应度函数的确定 适应度函数是遗传算法与实际优化问题之间的接口。在遗传算法中要求适应度函数值是非负的,且任何情况下都希望其值越大越好;而实际优化问题的目标函数并不一定满足这个条件,有的是正的,有的可能为负,甚至可能是复数值。因此,对于任意优化问题,首先应把其数学形式表示为遗传算法适于求解的形式,同时要保证二者在数学优化层面上是等价的。这个过程称为适应度转换。 适应度转换首先要保证适应度值是非负的,其次要求目标函数的优化方向应与适应度值增大的方向一致。设实际优化问题的目标函数为J(x),遗传算法的适应度函数为f(x),则有: ①可以将适应度函数表示为实际优化问题目标函数的线性形式,即有 其中,a,b是系数,可根据具体问题的特征及所期望适应度的分散程度来确定。 ②对于最小化问题,一般采用如下转换形式: 其中,cmax既可以是到目前为止所有进化代中目标函数 J(x) 的最大值(此时cmax将随着进化而有所变化),也可以根据经验人为设定。 当 其它
文档评论(0)