论文部分内容阅读
因为进化算法参数简单、而且能够高效地处理各种各样的问题,所以在近三十年,许多研究人员都致力于研究进化算法,或者称之为演化算法。与其他传统方法相比,演化算法有着完善的全局优化能力和优秀的鲁棒性。由于进化算法有着很强的自我学习性的特点,因而它们有能力挑战那些一般方法不能处理的复杂的实际问题。人工蜂群算法(ArtificialBee Colony, ABC)是一种源于蜂群觅食活动的仿生算法,现有的研究表明,ABC算法可以用来在实践中解决各种各样的优化问题,是一种有效的、健壮的群体智能算法。但是,与其他的仿生算法类似,人工蜂群算法在某些方面也存在着一些局限性,比如说在处理有些优化问题的时候,ABC善于勘探但不擅长开采。因此,为了克服这种局限,并且使得ABC能够处理更加多样性的优化问题,本文主要做了以下研究工作:(1)首先,源于差分进化算法(Differential Evolution,DE)的启发,本文将一些DE的变异搜索策略嵌入了到人工蜂群算法中。这种改进能够使ABC算法在收敛速率和多样性之间获得更好的平衡,可以使算法在保证解精度的前提下提高算法的进化速度。而这是非常有利于算法解决很多现实生活中的优化问题的。此外,本文还将人工蜂群算法运用到了大规模优化问题中,仿真数据显示,改进后的ABC算法是比一些传统的算法要优的,不过随着维度的升高的,算法的性能依然会降低。(2) ABC算法有着丰富的多样性,并且是一种高效的概率式优化算法。然而,ABC算法中的候选解产生策略却是单一的,它虽然善于·勘探但是不擅长开采。很多研究人员也渐渐意识到了这一点,纷纷研究了 一些改进的搜索策略,但是这些改进后的策略的通用性和健壮性仍然是远远不够的。这主要是ABC算法中只有一个策略造成的。在本文中,我们提出了一种基于自适应学习机制的人工蜂群算法(Self-adaptive Artificial Bee Colony algorithm based on Global Best,SABC-GB)。在SABC-GB 中,算法可以根据当前的搜索效率自动地选择最优的进化策略,而且性能能够得到进一步加强。本文在25个基准函数上进行了实验,结果显示SABC-GB是一种非常优秀的算法。为了进一步验证SABC-GB的可行性,我们还将算法应用到了聚类分析中。最终的测试数据证实,在解决繁杂的多峰优化问题时,SABC-GBL比传统方法更优。这意味着使用了自适应机制后的ABC算法是一种优秀的求解工具。(3)接着,本文研究并提出了基于半学习机制的自适应人工蜂群算法(Self-adaptive Artificial Bee Colony Algorithm with Symmetry Initialization, SABC-SI) 。 在SABC-SI算法中,我们首先研究出的是用于生成初始化种群的基于半空间的初始化算法,它可以大大提高解的多样性。接着,继续优化了人工蜂群算法的选择策略,充分利用了当前代和前一代的最优解,并提出了最优保留选择算子。另外,本文还优化了ABC中的自适应学习机制,同时提出了一些新的候选解产生策略。然后用25个不同的基准函数测试了新算法,实验结果显示SABC-SI要优于其他一些先进的算法,这意味着SABC-SI有能力去解决更多潜在的实际生活中的优化问题。最后,我们提出了一种新的数学优化模型,并结合SABC-SI算法将其直接应用到了分类问题中。分类结果表明大部分的测试集都可以被精确地辨别出来,所以基于SABC-SI的分类模型效率是非常高的。换句话说,SABC-SI用于解决分类问题是可行的,并且是高效的。