编辑: 5天午托 | 2014-10-09 |
388 数学杂志Vol.
36 也不高. 群体的适应度函数的确定是一个关键问题, 一般是以所要进行求解的目标函数作为 遗传算法的适应度函数. 遗传操作主要包括选择、交叉和变异. 传统的选择是根据概率值来 确定, 这种方法有可能破坏群里新个体的产生. 传统的交叉和变异都是事先设定好的, 不具有 个体的交叉和变异概率随适应度函数值的变化而自动调整的能力. 3.2 改进的遗传算法 考虑到传统遗传算法存在一些不足, 在其基础上进行如下改进: 3.2.1 编码方案的改进 将染色体设计成二层递阶结构. 在生物医学领域中, 染色体是由控制基因和序列基因组 成, 控制基因表明此染色体的作用和功能, 而序列基因用来实现它的作用和功能. 控制基因 采用二进制编码,
1 表示下层基因被激活, 其中的序列基因参加遗传操作.
0 表示下层基因未 被激活, 其中的序列基因不参与任何遗传操作. 序列基因采用实数编码. 染色体的结构如图 3.1 所示. 图3.1 表示的染色体由
5 个控制基因和
5 个整数表示的序列基因组成, 其表示为 X = (4, 5, 7, 8). 这样的染色体结构, 既可以缩短染色体结构的长度, 也可以通过控制基因来 确定变异的概率, 保护优秀的基因. 图3.1: 双层染色体结构图 3.2.2 遗传算法目标函数的建立 为了实现用遗传算法进行参数估计, 用极大似然估计与遗传算法相结合来构造遗传算法 的目标函数如下: max F(θ) = ln L(θ) = n i=1 ln f(xi;
θ), (3.1) 等价于 min F(θ) = ? ln L(θ) = ? n i=1 ln f(xi;
θ), (3.2) 其中 θ = (θ1, θ2,θm) 为待估参数. 3.2.3 遗传操作的改进 (1) 采取保留最优个体的选择方法 [12] . 由于遗传算法本身选择具有随机性, 即使最优良 个体也可能在选择算法中被淘汰, 而最差的个体也可能被选择. 所以, 在遗传算法中采用保留 No.
2 邓炳杰等: Weibull 分布下基于遗传算法的设备寿命预测
389 最优个体的选择方法 [13] , 即每代都保留几个最优秀的个体不参与选择和变异操作, 但参与交 叉操作, 这样能保证优秀基因传递给下一代, 从而群体整体性能得到提升. (2) 交叉概率 PC 和变异概率 PM 随适应度函数值自动改变. 当个体适应度值低于整体 平均适应度值时, 表明该个体性能相对较差, 需采用较大的 PC 和PM . 适应度值越大, PC 和PM 就越小. 具体取值如下所示: ? ? ? ? ? ? ? ? ? PC = PC1 ? (PC1 ? PC2)(f ? f)/(fmax ? f) ・ ・ ・ f ≥ f, PC = PC1 ・ ・ ・ f ? f, PM = PM1 ? (PM1 ? PM2)(fmax ? f)/(fmax ? f) ・ ・ ・ f ≥ f, PM = PM1 ・ ・ ・ f ? f, (3.3) 其中 f 为群体得平均适应度值, fmax 为群体的最大适应度值, f 为个体的适应度值, PC1 = 0.9, PC2 = 0.6, PM1 = 0.1, PM2 = 0.001. 这样 PC 和PM 的值随适应度函数值的变化而变化, 再加上最优个体保存策略, 即可以帮助遗传算法快速收敛, 又可以避免陷入局部最优解. (3) 终止条件的改进. 传统的遗传算法一般采取遗传迭代次数来终止算法. 这样, 即有可 能陷入局部最优、也不能确保误差的大小, 所以对遗传终止条件进行改进 - 即当两轮遗传操 作的最优适应度相对误差小于
5 ‰, 遗传操作结束. 为尽可能避免陷入局部最优, 还加入了遗 传次数的限制, 即同时满足遗传次数和误差条件才终止遗传算法 [14,15] . 3.3 遗传算法估计 Weibull 参数的具体过程 运用遗传算法进行 Weibull 参数估计的具体流程如图 3.2 所示. 图3.2: 遗传算法估计 weibull 参数的具体流程图