8.28 并行与分布式进化计算
进 化 算 法(EA,Evolutionary Algorithm)是一类启发于自然界的智能优化算法,其包括启发于达尔文进化理论的遗传算法(GA,GeneticAlgorithm) [1-4] 、启发于鸟群行为的粒子群优化算法(PSO,Particle Swarm Optimization) [5-10] 、 启发于蚂蚁协作方式的蚁群算法(ACO,Ant ColonyOptimization) [11-13] 等。随后,研究者们相继研究出了新兴的进化算法,比如差分进化算法(DE,Differential Evolution)[14-17] 、分布估计算法(EDA,Estimation of Distribution Algorithms) [18-19] 。一般来说,进化计算具有鲁棒性强、全局寻优、能在可接受的时间内获得问题的近似最优解等优势,已被广泛应用于求解旅行商、背包、项目调度等 NP- 难优化问题[3,20-31] 。特别地,科学研究、工业生产等实际应用中存在着众多无法建立精确数学解析模型的优化问题,如企业决策管理[22] 、工业设计 [23]等,这类问题的优化目标往往仅能通过近似模型仿真或历史数据驱动等方式来进行评估,传统的优化方法难以应用。由于进化计算通过种群启发式迭代不断逼近问题的最优解,并不依赖于待解优化问题的数学模型和数学特性,已成为了解决这些不具备精确数学解析模型的复杂优化问题的重要途径。为了进一步满足应用需求,近年来学者们还分别提出了面向多峰优化(Multimodal Optimization) [13,19] 、多目标优化(Multi-/Many-objective Optimization)[32-33] 、约束优化(Constrained Optimization) [34-35] 和动态优化(Dynamic Optimization) [36-37] 的新型进化计算方法。
尽管进化算法研究近年来取得了迅猛发展,然而随着大数据时代的到来,高维度、高复杂度以及高实时性的优化问题日益出现,极大地挑战着当前进化算法的性能。特别地,对于大规模高维度优化问题,其解空间往往随着维度的增加呈指数式增长,使得进化算法的收敛速度变慢;解空间中的局部最优解的个数往往也随维度增加呈指数式增长,使进化算法非常容易陷入局部最优,出现早熟收敛现象[38-40] 。由于进化算法需要通过种群迭代进化的方式来逐渐寻优,且传统进化算法的研究一般采用串行实现方式,这导致算法在大规模优化中面临着严重的效率瓶颈。
一方面,在进化算法执行过程中,种群中个体的进化操作和适应值评估操作往往都具有一定的独立性,因此,进化算法本身就具备了高度的可并行性。若能在并行分布式计算环境中充分发挥进化计算的并行特性,将有助于突破算法在大规模优化中的效率瓶颈。近年来,学者们将并行与分布式计算引入进化算法,以此加速进化算法的执行效率[41-45] ,从而缩短进化算法的执行时间,极大地拓展了进化算法的应用领域[46-49] 。
另一方面,并行与分布式计算的一个重要问题是计算资源的调度和管理问题,其本质上可以归结为一个优化问题,利用进化算法将有助于实现并行分布式计算资源的调度优化,提升并行分布式计算的性能。并行与分布式计算的核心是通过大量计算资源的耦合和共享来提供强大的计算能力。由于并行计算资源具有异构性,计算任务的资源需求和服务质量要求具有差异性,如何将计算任务分配到合适的计算资源上,以达到最大化计算资源的利用率、最优化计算任务的服务质量等目标,将对并行分布式计算的性能有重要影响。特别是在当今流行的云计算、高性能计算等大规模、异构的并行分布式计算平台下,计算资源的管理和调度问题尤为突出。由于进化计算具有良好的全局搜索能力,在资源调度优化等问题上已呈现出良好的性能,可以通过资源调度、任务调度等方式辅助并行与分布式计算[20-21,29-30] ,以此进一步提高并行与分布式算法的执行效率,满足大规模计算应用的需求。
因此,从以上可以看出,并行与分布式算法和进化算法相辅相承,两者相互协作,以追求算法的高效执行,以及计算资源的高效利用。两者的相互结合衍生出了并行与分布式进化算法,为求解大规模、高复杂度、高实时性需求的优化问题提供了有效解决途径。
为了更好地了解并行与分布式进化计算,本文将从并行与分布式进化计算模型、并行与分布式进化分布方式以及并行与分布式进化计算实现方式三个层面详细阐述并行与分布式进化计算的研究现状;而后本文阐述并行与分布式进化算法在计算资源管理优化方面的应用,并结合现状推断并行与分布式进化计算的未来发展趋势。