最优化问题的解决方法一般分为局部优化算法和全局优化算法。局部优化算法到目前为止已经有了很系统很成熟的解决方法,而全局优化算法尚未有很可靠的解决方法,为了解决全局优化问题,人们将目标从解析确定型优化算法转向随机型优化算法。近十多年来人们模拟自然界的一些现象发展出了一系列仿生型智能优化算法,如进化类算法,群体智能算法等,这些有效算法对随机全局优化问题具有普遍适应性。
1.1.2 进化类算法
近十余年来,遗传算法(Genetic Algorithm,GA)、进化策略(Evolutionary Strategy,ES)、进化规划(Evolutionary Programming,EP)和遗传程序设计(Genetic Programming,GP)等进化类算法在理论和应用两方面发展迅速,并取得了显著的效果,同时两方面逐渐融合,形成了一种新型的模拟进化计算理论,统称为进化计算(Evolutionary Computation,EC),进化计算的实现方法与形式称为进化算法(Evolutionary Algorithm,EA)。进化算法是一种受生物进化论和遗传学等理论启发而形成的求解最优化问题的随机算法,虽然出现了多个具有代表性的重要分支,但他们各自代表了进化计算的不同特点。
1.1.3 群体智能算法
群体智能算法的研究开始于上世纪90年代初,其基本思想是模拟自然界生物的群体行为来构造随机优化算法。典型方法有M.Dorigo提出的蚁群算法和J.Kennedy与R.Eberthart提出的粒子群算法。
蚁群算法也称为蚂蚁算法,是在20世纪90年代初由意大利学者M.Dorigo提出的,它是根据蚂蚁觅食原理原理而设计的一种群体智能算法。当蚂蚁找到食物并且将它搬回来时,就会在它经过的路上留下一种“外激素”,其他蚂蚁闻到这种激素的“味道”,就沿该路线去觅食,而且还会沿着最短的路径奔向食物。蚁群算法自提出以来,已经成功应用到许多领域,如TSP、重建通讯路由、连续系统优化等许多领域
粒子群优化算法(Particle Swarm Optimization,PSO)最早 是由 Eberhart 和 Kennedy 在研究鸟类和鱼类的群体行为基础上提出的,它以个体的协作与竞争来完成对复杂搜索空间内最优解的搜索,是一种基于群智能方法的随机优化技术。与遗传算法相比,PSO 算法没有交叉、变异等操作,而是在解空间上对最优的粒子进行搜索[1]。
PSO算法具有概念简单、容易实现、智能背景深刻等优点,因此尽管PSO算法的提出至今不到十年,但是它已经得到了广泛关注。PSO算法适合于求解连续函数的优化问题, 比如神经网络训练、多目标优化等;也有将 PSO 用于解决一些离散型优化问题,例如求解TSP问题,任务分配问题等组合优化问题。
1.2 粒子群算法的简介
PSO的基本概念源于对鸟群捕食行为的研究。
自然界中的各种生物体都具有一定的群体行为,而人工生命主要研究的领域之一就是研究自然界生物的群体行为从而在计算机上构建其群体模型。一般情况下,群体行为可以由几条简单的规则进行建模,如鱼群、鸟群等。虽然每一个个体具有非常简单的行为规则,但群体的行为却非常复杂。Reynolds将这种类型的个体称为boid,并使用计算机图形动画对复杂群体行为进行了仿真。他在仿真中对个体采用下列三条简单规则: (1)飞离最近的个体,以避免碰撞(2)飞向目标(3)飞向群体的中心。群体内每一个个体的行为均可采用上述规则进行描述,这是粒子群算法的基本概念之一。
Boyd和Richerson在研究人类的决策过程时,提出了个体学习和文化传递的概念。根据他们的研究结果,人们在决策过程中使用两类重要的信息。一是自身的经验,二是其他人的经验。也就是说,人们根据自身的经验和他人的经验进行自己的决策。这是粒子群算法的另一基本概念。论文网