论文部分内容阅读
群体智能优化算法属于随机搜索算法的一种,由于其可以解决传统优化技术无法解决的优化问题,因此受到众多专家学者们的青睐。人工蜂群算法是新兴的群体智能优化算法,算法主要模拟自然界中蜂群觅食的行为机制来获取问题的最优解。由于人工蜂群算法具有设置参数少、计算简单、并行性好、鲁棒性强等优点,在处理优化问题时有着良好的优化效果,受到了国内外众多专家和学者们的重视。虽然人工蜂群算法处理优化问题时有诸多优点,但是算法仍然存在着易陷入局部最优解、过早收敛等问题。特别是人工蜂群算法在处理复杂高维度优化和大规模优化问题时,超长的算法运行时间难以接受。因此,为解决这些问题,很多研究学者着手研究人工蜂群算法的并行化算法,即通过并行化人工蜂群算法来提高算法的运行效率和优化精度是非常有必要的。人工蜂群算法的并行化可以用多种并行化的方法来实现,目前国内外的学者主要采用多集群MPI(Message Passing Interface)技术或者采用单机Java多线程技术来实现粗粒度的并行人工蜂群算法。在公开发表的论文中,他们指出,在处理高维度优化问题时,人工蜂群算法的主要时间消耗在计算适应度函数上,这是研究人工蜂群算法并行化技术的研究重点和难点。因此,本文在探讨了并行化技术后,利用OpenMP(Open Multi-Processing)多线程技术和规约机制,并结合已改进的观察蜂选择雇佣蜂的方式,提出了一种PCABC(Parallel Changed-in-selection-mode Artificial Bee Colony algorithm)算法,来解决这一难题。PCABC算法采用主从并行模型和共享内存的OpenMP方法,对计算耗时多的计算适应度函数部分做并行处理,使得算法在处理高维度优化问题的处理时间大大缩短。本文实验部分在三种不同的调度方式下进行,分别对标准人工蜂群算法和并行化的人工蜂群算法进行仿真测试。实验结果表明,对人工蜂群算法适应度函数进行并行化改造的PCABC算法,可以大大加快算法处理高维度优化问题时的处理时间,加快算法的收敛速度,实验达到了预期目标。在证明PCABC并行人工蜂群算法的有效性之后,本文将其应用到解决高维函数优化问题和流域水文模型参数优化问题上。参数优化对水文模型整体性能和水文预报结果有着至关重要的影响。模型参数优化中存在大量的计算密集型任务,需要耗费大量的CPU处理时间,从而导致模型运行效率低下。因此,本文将PCABC算法应用于新安江二水源模型来优化率定水文模型。实验结果表明,PCABC算法能够显著提高水文模型的参数优化效率和精度,同时具有并行成本低廉、实现过程简单等优点。PCABC算法在水文模型参数优化中的表现优异,是求解水文模型参数优化问题的一种有效可行的方法。