论文部分内容阅读
基因表达式规划(Gene Expression Programming,GEP)是Ferreira Candida于2001年提出的一种新型进化算法,该算法继承了遗传算法编码简单和遗传编程的特点,采用线性定长方式对染色体进行编码、树形结构对染色体进行解析,使之可解决复杂问题。但和其他进化算法一样,该算法需凭经验设置进化参数,也存在计算复杂度较高、耗费时间较长,容易陷入局部最优,计算结果不稳定等缺点。
针对以上问题,本文借鉴基因表达式规划的思想,通过理论分析和实验证明,基因内区对编码的影响,从编码、个体、种群等几方面进行改进和创新,形成一套模块化结构的进化计算框架。与遗传算法、遗传规划和基因表达式规划相比,本文提出的算法及其改进,能减少凭经验值设置的参数个数,降低人为因素对算法的影响,有效扩大了编码搜索空间、提高运算速度及得到稳定的计算结果。
本文首先针对染色体编码中基因内区的问题,通过对基因内区和算法精度和运算速度的讨论,对染色体内基因个体长度和基因组数目进行了重新定义,设计出消除基因内区的基因连续编码,借此减少进化过程中人工因素对算法的影响并提高运算速度;针对进化初期基因内区对种群的消极作用,引入优良基因概念,建立全局优良基因字典,以保证进化过程中个体的多样性及增强种群的搜索能力,扩充基因连续编码的搜索空间和表达空间;接着借助生态学知识,在进化种群中引入多种群并行进化模型,进一步提高种群的多样性和算法收敛速度。实验数据表明,本文算法及其改进,具有更高效的编码表示方法、更快的运算速度和更强的搜索能力。在此基础上,从面向对象角度定义了一个进化计算框架,此框架着重表达进化算法在实现中各种不同的组合结构,通过这些共同结构的相互组合,可以把进化算法的实现统一在此框架下。
本文的创新主要体现在:
(1)完善基因编码理论体系通过理论分析和实验,证明了基因内区在进化算法编码中的影响,提出了一种全新的基因连续编码。此编码的一个重要特征是:能在进化过程中自动划分基因编码长度和基因组数目,提高编码效率,减少经验值参数设定对算法的影响。从数学上分析和证明基因连续编码的表达空间、表达能力等理论基础,构建了VC-GEP算法。理论分析和实验证明基因连续编码能显著缩短运算时间。
(2)进化算法应用基础研究针对进化算法容易陷入局部最优及缺少基因内区对进化过程中的消极影响,引入数据融合理论对下列问题进行探讨:
·适应度函数的评估选择:针对优良基因,改变传统的相对和绝对适应度评估方法,对染色体编码的长度和计算精度进行综合评估。
·优良基因字典的评估及构建:在进化过程中,使用综合适应度函数挖掘优良基因,并存储在优良基因字典中作为一个整体参与进化,借此提高种群的适应度和多样性。提出了基于优良基因字典的EGDA算法,通过对比实验证明引入优良基因字典后能有效扩展基因连续编码的搜索空间和表达空间,并提高了计算精度。
(3)多种群进化策略的研究采用生态学中种群的概念,对多种群进化过程中个体保留和迁移策略进行详细研究,进一步提高算法的计算精度,对以下问题进行深入讨论:
·生态学模型中的种群:引用生态学模型,对进化计算框架中的多种群进化进行定义,提出了多种群进化算法PEGDA。
·进化稳定策略:探讨算法中个体多样性和计算精度的联系,提出基于进化稳定策略的种群进化方法PEGDA-ESS。
·小生境的并行进化:对多种群的混合并行进化方式进行研究和讨论,引入生物学中小生境概念,提出基于小生境的多种群进化方法PEGDA-Niche。
(4)提出一套新的模块化结构进化计算框架采用结构模块化思想对进化计算框架进行重新定义,提出一套新的模块化结构进化计算框架。从设计角度把框架拆分为不同的模块,各模块相互组合后,可以方便的形成具体的进化算法,采用此框架结构可以把进化算法统一在同一平台下。
(5)构建了基于Remoting分布式结构的并行系统平台以本文的模块化进化计算框架为基础,构建了通用系统平台——EA Engine。此平台采用Remoting分布式结构,提供单节点及多节点运行模式。模块化设计使进化计算框架易于理解、方便修改和调用,能按照需求组合出不同的进化算法。在EA Engine平台上对实际生产中养殖业海量价格数据建模和网络流量预测两个问题进行建模和分析。