目标管理自适应粒子群算法研究及其
在多目标优化中应用
目录
第一章 绪论 .....................................................................3
本文的。。。。。 .........................................................3
智能优化算法(见智能优化算法及应用 P1页) ..............................4
三种典型智能优化算法 ...................................................4
粒子群算法与其他算法的异同 .............................................6
粒子群算法的优劣势及应用(见粒子群算法及其应用) .......................7
本文的研究背景 .............................................................7
本文的研究内容 .............................................................8
第二章 粒子群算法的基本原理和发展现状 ...........................................8
引言 .......................................................................8
粒子群算法的起源背景 .......................................................8
粒子群算法的基本思想 .......................................................9
基本粒子群算法模型与实现 ..................................................12
基本粒子群算法模型 ....................................................12
粒子的运动轨迹分析 ....................................................13
基本粒子群算法的参数设置 ..............................................13
基本粒子群算法流程 ....................................................14
基本粒子群算法的优缺点 ................................................17
粒子群算法的研究现状及方向 ................................................17
粒子群算法的研究现状 ..................................................18
粒子群算法的研究方向 ..................................................19
粒子群算法的主要应用 ......................................................19
本章小结 ..................................................................21
第三章 改进的粒子群算法 ........................................................21
引言 ......................................................................21
改进的粒子群算法综述 ......................................................21
标准粒子群算法(粒子群算法及应用 P19) .......................................25
算法思想 ..............................................................25
测试函数 ..............................................................26
算法测试 ..............................................................28
测试结果与算法评估 ....................................................31
小生境粒子群算法 ..........................................................31
算法思想 ..............................................................31
算法测试 ..............................................................31
测试结果与算法评估 ....................................................31
自适应调整飞行时间粒子群算法 ..............................................31
算法思想 ..............................................................31
算法测试 ..............................................................31
测试结果与算法评估 ....................................................31
本章小结 ..................................................................31
第四章 自适应粒子群算法 AFIPSO .................................................32
引言 ......................................................................32
AFIPSO基本思想 ...........................................................32
AFIPSO算法流程 ...........................................................33
AFIPSO实验 ...............................................................34
测试函数 ..............................................................34
参数选取 ..............................................................35
优化结果与结果分析 ....................................................35
本章小结 ..................................................................37
第五章 AFIPSO在多目标优化问题中的应用 .........................................37
引言 ......................................................................37
AFIPSO对多目标函数的优化 .................................................38
自适应粒子群算法(AFIPSO) ............................................38
AFIPSO对多目标函数的优化 .............................................38
FCCU分馏塔的多目标优化模型 ...............................................43
AFIPSO在工程中的应用 .....................................................44
多目标转化为单目标 ....................................................44
AFIPSO智能优化 FCCU分馏塔参数调试 ....................................44
AFIPSO优化 FCCU分馏塔结果及其比较分析 ................................46
本章小结 ..................................................................47
结论 ............................................................................47
参考文献 ........................................................................48
攻读硕士期间取得的研究成果 ......................................................53
致谢 ............................................................................53
第一章 绪论
随着人类生存空间的扩大,以及认识世界和改造世界范围的拓宽,现实中碰到的
许多科学、工程和经济问题呈复杂化、多极化、非线性等特点,这就使得高校的优化技
术和智能计算成为迫切要求。
经典的优化算法通常采用局部搜索方法,它们一般与特定问题相关或是局部搜索
方法的变形,适用于求解小规模且定义明确的问题。而实际工程问题一般规模较大,寻
找一种适合于大规模并且局域智能特征的算法已成为人们研究的目标和方向。
二十世纪八十年代以来,涌现了很多新颖的优化算法,如:混沌算法、遗传算法 GA
(Genetic Algorithm)、蚁群算法 ACA(Ant Colony Algorithm)、粒子群算法 PSO
(Particle Swarm Optimization)和模拟退火算法 SA()等。它们通过模拟某些自然
现象的发展过程而来,为解决复杂问题提供了新的思路和手段。由于这些算法构造直观
且符合自然机理,因而被称为智能优化算法()。
本文的。。。。。
智能优化算法是通过模拟某些自然现象的发展过程而形成的算法,以结构化和随机
化的搜索策略实现算法的优化过程,常用于大规模的并行计算。智能优化算法提出后受
到了人们的重视,其中遗传算法、蚁群算法、粒子群算法作为三种典型智能算法得到迅
速发展。
智能优化算法(见智能优化算法及应用 P1页)
智能优化算法是通过模拟或揭示某些自然现象或过程发展而来的,与普通的搜索算
法一样都是迭代算法,对问题的数学描述不要求满足可微性、凸性等条件,是以一组解
(种群)为迭代的初始值,将问题的参数进行编码,映射为可进行启发式操作的数据结
构。算法仅用到优化的目标函数值的信息,不必用到目标函数的倒数信息,搜索策略是
结构化和随机化的(概率型),其优点是:具有全局的、并行的优化性能,鲁棒性、通
用性强等。智能优化算法的使用范围非常广泛,特别适用大规模的并行计算。
三种典型智能优化算法
智能优化算法的应用范围广泛,特别适用于大规模的并行计算。通过研究,人们先
后提出了多种智能优化算法,其中遗传算法、蚁群算法、粒子群算法较为典型。
1、遗传算法(见粒子群算法及应用 P5)
1975 年,Holland[]提出了遗传算法,它是由自然界的进化而得到启发的一种有效
解决最优化问题的方法。遗传算法是一种全局范围的探索过程,在解决复杂问题中它常
常能够寻找到最优解的附近区域。每个染色体个体代表一个潜在解,在利用此算法求解
前,需对染色体进行二进制编码,然后通过选择、交叉和变异三个步骤进行进化,解随
着进化而得到改善。
1)选择运算:以一定概率从种群中选择若干个体的操作。选择运算的目的是为了
从当前群体中选出优良的个体,使它们有机会作为父代繁殖后代子孙。判断个体优劣的
准则是个体的适应度值。选择运算模拟了达尔文试着生存、优胜劣汰原则,个体适应度
越高,被选择的机会就越大。
2)交叉运算:两个染色体之间通过交叉而重组形成新的染色体,相当于生物进化
过程中有性繁殖的基因重组过程。
3)变异运算:染色体的某一基因发生变化,从而产生新的染色体,表现出新的性
状。变异运算模拟了生物进化过程中的基因突变方法,将某个染色体上的基因变异为其
等位基因。
遗传算法作为一种重要的智能优化算法,发展至今已较为成熟,广泛应用于各个领
域。算法搜索从群体出发,具有潜在的并行性;且交叉和变异的过程能有效避免早熟现
象,鲁棒性强;搜索使用评价函数启发,使用概率机制进行迭代,具有随机性、可扩展
性、容易与其他算法结合的优点。
但是遗传算法对于系统中的反馈信息利用不够,当求解到一定范围时往往做大量无
谓的冗余迭代,求精确解效率低。
2、蚁群算法(见智能优化算法及应用 P121页)
蚁群算法是最近几年才提出的一种新型的智能优化算法,是对真实蚂蚁的觅食过
程的抽象继承与改进,最早成功应用于解决著名的旅行商问题 TSP(Traveling
Salesman Problem)。
生物界中的蚂蚁在寻找食物源时,能在其走过的路径上释放一种蚂蚁特有的分泌
物(pheromone)—信息素,使得一定范围内的其他蚂蚁能够觉察并影响其行为。当某
些路径上走过的蚂蚁越来越多时,留下的这种信息素也越多,以致后来蚂蚁选择该路径
的概率也越高,从而更增加了该路径的吸引强度,蚁群就是靠着这种内部的生物协同机
制逐渐形成一条它们自己事先并未意识到的最短路线。蚁群算法从这种模型中得到启示
并用于解决优化问题。蚁群算法每个优化问题的解都是搜索空间中的一只蚂蚁,蚂蚁都
有一个由被优化函数决定的适应度值(与要释放的信息素成正比),蚂蚁就是根据它周
围的信息素的多少决定它们移动的方向,同时蚂蚁也在走过的路上释放信息素,以便影
响别的蚂蚁。
在该算法中,可行解经过多次迭代后,最终将以最大的概率逼近问题的最优解。它
不仅利用了正反馈原理、在一定程度上可以加快进化过程,而且是一种本质并行的算法,
不同个体之间不断进行信息的交流和传递,从而能够相互协作,有利于发现较好解。
但是蚁群算法作为一种新兴的算法,还存在一定的缺陷,如:该算法需要较长的搜
索时间,由于蚁群中各个个体的运动是随机的,虽然通过信息交换能够向着最优解优化,
但是当群体规模较大时,很难在较短的时间内从大量杂乱无章的路径中找出一条较好的
路径。而且在搜索到一定程度后,该算法容易出现停滞现象。
3、粒子群算法(见智能优化算法及应用 P页)
粒子群算法最早于 1995年提出,是对鸟群、鱼群觅食过程中的迁徙和聚集的模拟,
是继遗传算法、蚁群算法后又一群体智能优化算法,目前已成为智能优化算法的另一重
要分支。
鸟群在觅食的迁徙过程中,有既分散又集中的特点。总是有那么一只鸟对食物的嗅
觉较好,即对食源的大致方向具有较好的洞察力,从而这只鸟就拥有食源的较好信息。
由于在找到食物的途中,它们随时都相互传递信息,特别是好消息。所以,在好消息的
指引下,最终导致了鸟群“一窝蜂”地奔向食源,达到了在食源的群集。PSO 算法就从
这种生物种群行为特性中得到启发并用于求解优化问题。
粒子群算法最大的特点在于概念简单,易于理解,且参数少,易于实现,因而短期
内得到很大发展,迅速地得到了国际计算研究领域的认可。
但其概念简单,易于实现的同时也存在早熟收敛、稳定性差等缺点。
粒子群算法与其他算法的异同
遗传算法、蚁群算法与粒子群算法是智能优化算法中的三个重要成员。而最新提出
的粒子群算法以高效的特点受到学术界的广泛重视,而它与以往智能优化算法的异同也
吸引众多学者来研究。
1、粒子群算法与遗传算法的异同
粒子群算法与遗传算法最大的共同之处在于都是基于“群体”。两种算法都是随机
初始化群体,基于适应度的概率计算,然后根据适应值来进行一定的随机搜索,且都不
能保证一定能够找到最优解。遗传算法主要涉及三个算子:选择、交叉和突变算子。粒
子群算法中的随机加速度使得粒子向它自身最好位置和群体最好位置靠近,在某种程度
上类似于遗传算法中的交叉算子。粒子群算法位置更新操作时的方向改变类似于遗传算
法中的突变算子。
但是,两种算法也存在很多不同之处。
1)信息的共享机制不同:在遗传算法中,染色体相互共享信息,整个种群比较均
匀的向最优区域移动。在粒子群算法中,信息只来自粒子自身找到的最好位置和群体中
最好粒子,这是单向的信息流动。与遗传算法比较,所有的粒子在大多数情况下可能更
快地收敛于最优值。
2)信息利用不同:在进化过程中,遗传算法仅个体利用位置的信息,而粒子群算
法同时利用个体的位置与速度信息,能够更有效地进行优化搜索。
3)个体淘汰机制不同:在遗传算法中,根据“适者生存”的理念,低适应值的个
体在选择部分有被淘汰的可能,而粒子群算法没有直接利用选择函数,因此具有低适应
值的粒子在优化过程中仍能生存,且有可能搜索到解空间中的任何领域,有较强的鲁棒
性。
2、粒子群算法与蚁群算法的异同
粒子群算法与蚁群算法提出的年代相似,而且基本思想都是模拟自然界生物群体行
为来构造随机优化算法的。粒子群算法与蚁群算法的相同点在于,它们都是不确定的、
概率型的全局优化算法,各个智能体之间通过相互协作来更好地适应环境,表现出与环
境交互的能力,并且具有本质的并行性。所有个体都保存最优解的相关知识。在不确定
的复杂时变环境中,可通过学习不断提高算法中个体的适应性。
粒子群算法与蚁群算法虽然同属于仿生算法,并且有很多相似之处,但是在算法机
理、实现形式等方面存在许多不同之处。
1)信息反馈机制不同:蚁群算法采用了正反馈机制,每个个体智能感知局部信息,
不能直接利用全局信息,所以一般需要较长的搜索时间,且容易出现停滞现象。而粒子
群算法采用单向信息共享机制,将当前搜索到的最优值进行全局共享,原理相对简单,
所需的代码和参数较少。
2)理论基础成熟度不同:蚁群算法已经有了较成熟的收敛性分析方法,并且可对
收敛速度进行评估。而粒子群算法的数学基础相对较为薄弱,目前还缺乏深刻且具有普
遍意义的理论分析。在收敛性分析方面的研究,还需进一步将确定性向随机性转化。
粒子群算法的优劣势及应用(见粒子群算法及其应用)
作为一种新兴的智能优化算法,粒子群算法的广泛传播在于它具有其他智能优化算
法所不具备的优势,粒子群算法采用实数编码,直接在问题域上进行处理,无需转换,
且算法接单易于实现。在处理复杂度较低的问题是存在一定的优势。但是作为智能优化
算法的一种,,同时也存在一般智能优化算法的缺陷。粒子群算法发展历史尚短,在理
论基础方面还不太成熟,且算法较简单容易陷入局部极值,导致早熟现象的产生。在与
其他算法结合或算法改进后能较好地求解高复杂度的问题。
粒子群算法目前已广泛应用于函数优化、神经网络训练、模糊系统控制等领域。而
粒子群算法比较有潜力的应用还包括系统设计、多目标优化、分类、模式识别、调度、
信号处理、决策和机器人应用等。
本文的研究背景
在现代化的工业生产中,如何同时使生产的布偶那个产品都达到满意的产量一直是
工业领域期待解决的问题。
对工程应用中的一些多目标优化问题,本课题组曾用基本遗传算法、自适应遗传算
法和参数自适应蚁群算法进行优化,并取得一定成果。
但是在工程问题中,只能不断地接近最优值,无法真正达到理论最优值,而算法的
改进能有效提高工业生产中的经济效益。
在此背景下,本文欲对粒子群算法的性能及其在工程中的应用进行深入研究。
本文的研究内容
第二章 粒子群算法的基本原理和发展现状
引言
粒子群算法自提出后引起各界的重视,并将其广泛应用与各个领域。但其理论基础
还较为薄弱,缺乏深的且具有普遍意义的理论分析。本章将介绍粒子群算法的基本原理
和发展现状,为进一步研究粒子群算法做好铺垫。
粒子群算法的起源背景
自然界生物有时候以群体形式存在,部分科学家很早以前就对鸟群和鱼群的生物行
为进行计算机模拟。1995 年 Eberhart 和 Kennedy 受他们早期对许多鸟类的群体行为进
行建模和仿真研究结果的启发,共同提出了粒子群算法,他们的仿真模型算法主要利用
了生物学家 Hepper的模型和 Boyd的个体学习、文化传递的概念。
在 Hepper 的仿真中,鸟在一块栖息地附近群聚,这块栖息地吸引着鸟,直到它们
都落在这块地上。Hepper的模型中鸟是知道栖息地的位置的,但在实际情况中,鸟类在
刚开始是不知道食物的所在地的。依据 Boyd的个体学习、文化传递的理念,Kennedy等
认为鸟之间存在着相互交换信息。
通过探索了人类的决策过程 Boyd认为,人们在决策过程中常常会综合两种重要信息。
第一个是自身经验,即根据自己以前的经历所积累的经验来判断状态的好坏。第二个是
他人的经验,即人们通过周围人的一些行为判断哪些影响是正面的,哪些是负面的。人
们根据自身经验和他人经验做决定这一思路为粒子群算法的信息交换提供了有效地参
考方式。
于是参考 Boyd的个体学习、文化传递的理念,Kennedy等在仿真中增加个体位置调
整规则:每个个体能够记住自己当前所找到的最好的位置,称为“历史最优 pbest”;每
个个体能够获取目前为止所有个体中的最优值,称为“全局最优 gbest”。在这两个最优
变量的牵引下,鸟群在某种程度上朝这些方向靠近。他们综合以上内容,提出了实际鸟
群的简化模型,即粒子群算法。
粒子群算法的基本思想
与基于达尔文“适者生存、优胜劣汰”进化思想的遗传算法不同的是,粒子群算法
是通过个体之间的协助来寻找最优解,它利用了生物群体中信息共享会产生进化优胜的
思想。
鸟群在觅食的迁徙过程中,有既分散又集中的特点。总有那么一只鸟对食物的嗅觉
较好,即对食源的大致方向具有较好的洞察力,从而这只鸟就拥有食源的较好信息。由
于在寻找食物的途中,它们随时都相互传递信息,特别是好消息。所以,在好消息的指
引下,最终导致了鸟群“一窝蜂”地奔向食源,达到在食源的群集。粒子群算法就从这
种生物种群行为特性中得到启发并用于求解优化问题。粒子群算法中,解群相当于鸟群,
一地到一地的迁徙相当于解群的进化,“好消息”相当于解群每代进化中的最优解,食
源相当于全局最优解。
图 2-1:鸟群觅食原理示意图
在粒子群算法中,每个优化问题的潜在解都可以想象成维搜索空间中的一个点,我
们称之为“粒子”(Particle)。粒子在搜索空间中以一定的速度飞行,这个速度根据它
本身的飞行经验和同伴的飞行经验来动态调整。所有的粒子都有一个被目标函数决定的
适应值,并且知道自己到目前为止发现的最好位置。每个粒子使用下列信息调整自己的
位置:1)当前位置;2)当前速度;3)当前位置与自己最好位置之间的距离;4)当前
位置与群体最好位置之间的距离。从而形成新的速度,到达新的位置。单个粒子移动原
理如图 2-2所示:
图 2-2:粒子群移动原理
Figure 2-2 :Moving Principle of particles
从社会学的角度来看[13],图中为粒子的先前速度,称为记忆项,是在惯性的作用
下继续朝原来的方向运动;为“认知(Cognition)”部分,表示粒子自身的经验,是在
自身经历最优位置的牵引下运动;为“社会(Social)”部分,表示粒子间的信息共享与
相互合作,它引导粒子飞向粒子群中的最优位置。在粒子的先前速度的作用下实现搜索
的多样化(Diversification),而在认知部分和社会部分的牵引下实现搜索过程的集中
化(intensification),因此这三项之间的相互平衡和制约决定了算法的主要性能。粒
子群优化搜索正是在由这样一群随机初始化形成的粒子而组成的一个种群中,以迭代的
方式进行的。
从而可得到粒子群算法是主要遵循了三个基本原则,定义为:
1、 可计算原则(proximity):粒子群必须能够执行简单的空间和时间的计算;
2、可反应原则(quality):粒子群必须能够对周围环境的品质因素有所反应,能
够感知到自身经验信息和社会经验信息(变量 pbest和 gbest隐含着这一规则);
3、可适应原则(adaptability):在自身经验信息和社会经验信息的牵引下,粒
子任有能力探索新的领域(隐含着这一规则)。
基本粒子群算法模型与实现
从粒子群算法的基本思想克制,每个粒子是在其当前位置、当前速度、自身历史最
优位置以及全局最优位置的协调作用下进行位置调整的。那算法实现过程中这些因素具
体是如何协调作用的呢?后面将通过介绍基本粒子群算法的模型与实现加以说明。
基本粒子群算法模型
假设在一个维搜索空间中,PSO 算法初始化为个随机粒子,每个粒子位置表示一个
潜在解。在每一次迭代过程中,粒子通过跟踪两个极值来更新自己[6]:第一个就是粒子
本身目前所找到的最优解,叫做个体极值,可以看作是粒子自己的飞行经验;另一个极
值是整个粒子群目前所找到的最优解,叫做全局极值,可以看作群体经验。
用,,表示第个粒子的位置向量;,,表示第个粒子的飞行速度;,, 表示第个粒子
迄今为止搜索到的最好位置;,, 表示整个粒子群找到的最优位置。由文献[12]知,粒
子是按照式(2-1)和式(2-2)来更新自己的速度和位置的:
(2-1)
(2-2)
式中表示当前迭代次数;、是学习因子,通常为正常数,调节在自身最优位置和全
局最优位置的牵引力度;、是介于 0和 1之间的随机数;表示最大迭代次数。
由(2-2)式可知,粒子的新速度主要由三部分决定:1)粒子原始速度;2)粒子
当前位置与自身最优位置的距离;3)粒子当前位置与群体最优位置的距离。在三部分
的协同合作下生成新的速度方向与大小,进而达到新的位置
。
基本粒子群算法的模型设计充分体现了粒子群算法的基本思想,通过给不同的影响
因素添加权重以达到相互协作,并且各参数可根据具体情况进行设置,具有很大的灵活
性和适应性。
粒子的运动轨迹分析
基本粒子群算法的参数设置
针对不同的问题,基本粒子群算法的参数设置也不同,经常需要多次尝试与调整才
能找到比较适合的参数匹配。根据多年来人们对粒子群算法的研究与总结,发现各个参
数在某些设置范围内模型效果较理想,具有一定的参考价值。
基本粒子群算法中的一些参数的经验设置:
1、粒子数:粒子数越多,一次迭代所花费的时间越多,相应的迭代代数可以减少。
如果粒子数太少,很容易陷入局部极值,迭代次数再多也无法跳出;如果粒子数太多,
每一代进化的效果有限,但计算却花费了大量时间,在要取得同等最优解效果的情况下
需要长时间的等待,是不划算的。一般取 20-50。不过对于比较难的问题或者特定类别
的问题,粒子数可取到 100或 200。
2、粒子的最大速度、:决定粒子在一个循环中最大的移动距离,该值一般由用户
自己设定。最大速度是一个非常重要的参数。如果最大速度的值取得太大,则粒子们容
易越过优秀区域,或者在最优解附近徘徊,导致振荡现象;如果太小,则粒子们就可能
在自身历史最优位置和全局最优位置的牵引下,很快走向局部极值,无法充分地探测局
部最优区域以外的区域,粒子的扩展探测能力减弱。假设搜索空间的第维定义的区间为,
则通常取,每一维都用相同的方法设定[13]。决定一个粒子的最小移动距离,一般情况
下取 0,因为粒子在迭代过程中,移动距离越来越小,在即将到达最优解时,移动距离
接近为 0。
3、学习因子、:学习因子、分别与、的乘积决定粒子受自身最优位置和历史最优
位置牵引的大小,由于、取之间的数,、此时起到基数的作用。、越大,牵引的效果越明
显。如果牵引力过大,则粒子的探测能力变弱,容易陷入局部极值;如果牵引力过小,
算法的收敛速度太慢,花费时间较长。自身因素参数和社会因素参数一般要更加经验值
来定。在优化问题中通常取 2,不过在文献中也有取其他的值,但一般等于并且范围在 0
和 4之间。
4、终止条件:一般设为最大迭代数或计算精度,这个终止条件通常要由具体的问
题确定。如果是对解的精度有要求,则将代与代之间解的差值精度达到某个特定值为终
止条件,如:;如果对时间有所要求,可以设置最大的迭代次数,不管求解情况如何,
解的精度如何,只要达到了最大的迭代次数则停止。
算法的参数是相互作用,相辅相成的。不能只调节其中的某一个参数,不能说某个
参数取某个值适合这个问题,参数是一组一组来取。只能说某组参数的选取对特定问题
的处理效果相对较好。而且很多参数的大与小,是相对而言,必须是在了解所有参数意
义的情况下,结合其他所有参数的选取来分析该参数应该如何设置。
基本粒子群算法流程
在了解了参数的基本设置后,便可根据位置调整规则进行迭代以求最优解。基本粒
子群算法的大体实现步骤如下:
步骤 1、在初始化范围内,对粒子群进行随机初始化,即包括基本参数设置、粒子
的初始位置以及初始速度;
步骤 2、根据目标函数计算每个粒子的适应值;
步骤 3、更新每个粒子的个体最优和整个群体的全局最优;
步骤 4、根据式(2-1)和式(2-2)对粒子的速度和位置进行更新;
步骤 5、判断是否满足终止条件。如果满足,转步 6;否则,转步 2,继续迭代。
步骤 6、输出全局最优,算法运行结束。
基本粒子群算法的流程图如图 2-2所示:
图 2-3:粒子群算法流程图
Figure 2-3: the processing figure of PSO algorithm
下面针对具体实例求解介绍基本粒子群算法的求解步骤。具体实例如表 2-1所示:
表 2-1:测试函数实例
目标函数 自变量范围 极值条件
最小值
粒子群算法解决优化问题的过程中有两个重要的步骤:问题的编码和适应度函数。
粒子群算法不像遗传算法那样一般采用二进制编码,而是采用实数编码。对于当前问题,
粒子可以直接编码为,适应度函数就是。
具体求解步骤如下:
1、初始化:
1)基本参数初始化:选取粒子群大小为 100;粒子解的维度为 3;粒子飞行的最大
速度、最小速度分别为 、0;学习因子、均为 2;粒子各维度位置的最大、最小值分
别为-10、10;粒子群最大的迭代次数为,当前迭代次数为 0。
2)位置初始化:对这 100 个粒子的位置逐个进行编码。针对第个粒子,连续三次
在之间随机选取数值分别作为该粒子的三个维度的初始化值,则该粒子的位置编码为。
如此循环 100次,对 100个粒子进行初始化。
3)速度初始化:除此粒子位置,还需要对粒子的初始速度进行初始化。每个粒子
的初始速度按位置方向的三个维度分别进行设置,与初始化位置的方法类似,对 100个
粒子的速度的逐个维度进行初始化。针对第个粒子,连续三次在之间随机选取数值分别
作为该粒子的三个维度的初始化值,则该粒子的速度编码为。如此循环 100次,对 100
个粒子进行初始化。
初始化结束后进入第一轮迭代。
2、计算适应值:针对每个粒子当前位置,根据适应度函数
计算得粒子的适应值。
3、更新个体历史最优值:第个粒子第 t 代时的个体历史最优值用,最优值时对应
位置的维度存储在。如果,那么每个粒子的个体历史最优值均取当前粒子的适应值;如
果且,则;如果但,则。
4、更新粒子群全局最优值:第 t 代时的粒子群全局最优值用,全局最优值时对应
的位置维度存储于。如果,那么全局最优值;如果且,则;如果但,则。
5、粒子速度和位置更新:粒子速度和位置按照公式(2-1)和(2-2)进行更新,
(2-1)
(2-2)
6、判断是否满足终止条件:如果满足或,则转步骤 7;否则,转步骤 2。
7、输出结果:输出最终结果和其对应的位置。
根据以上流程,迭代到第 59代求得最优值为 0,最优位置为(0,0,0)。
基本粒子群算法的优缺点
基本粒子群算法最大的优点在于概念简单,易于理解,且参数少,易于实现。一般
采用实数编码,由于没有选择、交叉与变异等操作,算法结果相对简单,运行速度快。
但其概念简单,易于实现的同时也存在早熟收敛以及稳定性差等缺点。
算法运行过程中,如果某粒子发现一个当前最优位置,其他粒子将迅速向其靠拢。
如果该位置为一局部最优点,粒子群就无法在解空间内重新搜索,因此,算法陷入局部
最优,出现了所谓的早熟收敛的现象。基本粒子群算法容易陷入局部极值,导致早熟现
象的产生。这主要是由于算法的参数设计不恰当等原因导致在计算过程中粒子的多样性
迅速地消失。
基本粒子群算法稳定性差主要是由于算法概念简单,参数设置少,随机性较强,对
解的初始化以及函数特点的依赖性较强。不同的解的初始化可能导致不同的最优解,简
单的函数更容易取得最优解,而较复杂的函数更容易陷入局部极值,从而导致算法的稳
定性差。
粒子群算法的研究现状及方向
粒子群算法由于计算快速和本身的易实现性,一经提出就受到广泛的关注,各种关
于粒子群算法应用研究的成果不断涌现,有力地推动了粒子群算法的研究。其研究大致
可分为:算法本身、参数选取、拓扑结构、与其他进化技术的融合及应用、算法应用。
粒子群算法的研究现状
由于粒子群算法概念简单,实现容易,短短几年时间,粒子群算法便获得了很大的
发展,但是,其数学基础不完善,实现技术不规范,在适应度函数选取、参数设置、收
敛理论等方面还存在许多需要深入研究的问题。文献[15-17]展开了一系列研究,取得了
一些建设性的成果,如关于算法收敛性的分析。围绕粒子群算法的实现技术和数学理论
基础,以 Kennedy 和 Eberhart 为代表的许多专家学者一直在对粒子群算法做深入的探
索,尤其在实现技术方面,提出了各种改进版本的粒子群算法。对粒子群算法参数的研
究,研究最多的是关于惯性权重的取值问题和算法融合,部分改进算法如表 2-2所示:
表 2-2 改进的粒子群算法
算法名称 作者 算法特点 算法文献 提出年份
基本粒子群算法
,R.
Eberhart.
粒子的速度和位置更新引入惯
性权重
文献
[18][19]
1995
离散型粒子群算法
,R.
Eberhart.
用于解决组合优化问题、旅行
商等离散问题
文献
[38][39]
1997-2001
带交叉算子的粒子群算法、
带变异算子的粒子群算法、
带选择算子的粒子群算法
,N
.Higashi,H,
李宁等
实现技术与遗传算法(GA)非常
相似,在粒子群算法中加入交
叉算在、变异算子、选择算子
文献
[26][27][2
8][29]
2001-2004
模拟退火粒子群算法 高鹰,谢胜利
采用模拟退火算法思想限制位
置更新,提高了算法的收敛速
度
文献[32] 2004
混沌粒子群算法
高鹰,杨俊
杰,
把混沌寻优(Chaos)思想引入
到粒子群优化算法中,使得粒
子群体的进化速度加快,提高
了算法的收敛速度和精度
文献
[35][36][3
7]
2004-2005
完整的 GA-PSO混合规划算
法
吴晓军等 比一般遗传规划算法更优 文献[31] 2005
(表格还有待补充 2005-2010文献)
各种关于粒子群算法应用研究的成果不断涌现,有力地推动了粒子群算法的研究。
但相对其它比较成熟的进化算法,对粒子群优化算法的理论研究还需要深入,对其应用
领域的开拓还需进一步加强。2004年,IEEE3会议粒子群算法专集指出了粒子群算法目
前研究的主要问题:算法收敛性的分析、粒子群拓扑结构、参数选择与优化、与其它进
化算法融合技术、应用领域的开拓等等。毋庸置疑,对粒子群算法数学基础、实现技术、
应用领域的深入研究仍将是研究热点。
粒子群算法的研究方向
粒子群算法自提出以来,在国外得到了相关领域众多学者的关注和研究,CEC 国际
年会上,粒子群算法已经被作为一个独立的研究分支。据不完全统计,短短十几年的时
间,国外针对粒子群算法研究已完成的博士论文就达十余篇之多;在 IEEE 的国际学术
会议上,有 20 篇左右的论文均是反映粒子群算法的研究成果的。国内在该领域的研究
刚刚起步,深入的研究和应用还很少,已发表的论文也不多 PSO算法的研究还有大量工
作要做,主要的研究方向如下几个方面:
1)粒子群算法的改进
粒子群算法由于算法原理简单,存在早熟收敛和稳定性差的问题,如何改进算法以
预防早熟收敛和提高算法稳定性值得深入研究。
2)粒子群算法的理论分析
到目前为止,PSO 算法的分析方法还很不成熟,存在许多不完善之处。如何利用有
效数学工具对 PSO算法的运行行为、收敛性以及计算复杂性进行分析也是目前的研究热
点之一。
3)粒子群算法与其他进化算法的比较、融合
目前,进化算法的研究在理论和应用两方面都得到迅速发展,效果显著。其中比较
成熟的有遗传算法、蚁群算法等,而粒子群算法是一个新兴的群体智能算法,目前已成
为今后算法的一个重要分支,如何从多方面比较各种算法从而得到各自的特长和不足,
如何吸引其他进化类算法的优势来弥补 PSO算法的不足也是当前研究的热点之一。
4)粒子群算法的应用
算法研究的目的是应用,如何将 PSO算法应用于更多领域,同时研究应用中存在的
问题也是值得关注的热点。
粒子群算法的主要应用
粒子群算法由于计算快速和本身的易实现性,一经提出就受到了广泛关注,各种关
于粒子群算法应用研究的成果不断涌现。研究发现,粒子群算法在求解非线性连续优化
问题、组合优化问题和混合整数非线性优化问题时非常有效,目前已广泛应用于:函数
优化、神经网络训练、工程应用等方面,取得了不错的效果。
1) 函数优化
许多实际的工程问题本质上是函数优化问题或可以转换为函数优化问题进行求解,
对于函数优化已经有一些成熟的解决方法如遗传算法。但是对于超高维、多局部极值的
复杂函数而言,遗传算法往往在优化的收敛速度和精度上难以达到期望的要求。
Angeline经过大量的使用研究发现,粒子群优化算法在解决一些典型的函数优化问
题时,能够取得比遗传算法更好的优化结果[14]。Shi 与 Eberhart 的实验证明,对大多
数的非线性 Benehmark 函数,PSO 在优化速度和精度上均较遗传算法有一定的改善,这
说明粒子群算法在解决函数优化时同样具有很好的应用前景。
2) 神经网络训练
工业、经济、医疗等领域的许多实际问题如质量控制、破产预测、图像识别、医疗
诊断等可以转换为模式分类问题求解。神经网络自学习、自组织、容错以及模拟非线性
关系的能力使其特别适合解决上述复杂的实际应用问题。
神经网络的训练问题属于非线性的高复杂度的优化问题。研究表明,PSO 是一种很
有潜力的神经网络训练算法,粒子群优化算法保留了基于种群的、并行的全局搜索策略,
其采用的速度-位移模型操作简单,避免了复杂的遗传操作,在实际应用问题(如运用 PSO
算法训练神经网络进行医疗诊断)取得了较高的成功率,目前正在将其推广到更多的应
用领域。
3) 工程应用
实际的工程问题往往可以转化为函数优化问题求解。下面简要介绍粒子群算法在一
些实际工程领域的应用。
首先,通过训练神经网络,粒子群优化算法已成功应用到对医学中震颤的分析。震
颤行为的诊断仍是医学研究的挑战性领域之一。经粒子群算法训练的人工神经网络已经
能够区分人的本能震颤和病理性震颤。Eberhart 和 Hu 研究发现,这种方法在上述的应
用中处理速度快,诊断结果准确。在其他疾病的诊断如乳腺肿瘤良性或恶性的判断,心
脏病的诊断,粒子群算法训练的神经网络也取得了较高的诊断成功率。
其次,日本的 Fuji 电力公司的研究人员将电力企业著名的 RPVC(Reactive Power
and Voltage Control)问题简化为函数优化问题,并使用改进的粒子群算法进行优化
求解。与传统方法如专家系统、敏感性分析相比,实验结果证明粒子群算法在解决该题
上具有一定的优势。
此外,粒子群算法已被美国一家公司用于各种生物化学成分的优化组合,进而人工
合成微生物。与传统的工业优化方法比较,粒子群算法产生合成结果的适应度是传统方
法的两倍。实验充分显示粒子群算法的优越性:尽管劣质成分在一定的迭代代数内能够
影响优化搜索的进程,但由于粒子群算法能够搜索到更大范围内的优化问题的解空间,
合成结果总能比较理想。
总的来说,粒子群优化算法与其他进化算法一样,可以解决大部分的优化问题,或
可以转换为优化问题进行求解的问题。目前,在模糊控制器的设计、车间任务调度、实
时机器人路径规划、图像分割、EEG 信号模拟、语音识别、烧伤诊断以及探测移动目标
等方面已经有成功应用的先例。
本章小结
本章详细介绍了粒子群算法的起源背景、基本思想以及基本粒子群算法的实现,最
后简单介绍了该算法的主要应用及其研究方向。但是通过研究发现,作为一种新兴的智
能优化算法,基本粒子群还存在早熟收敛和稳定性差的不足,有必要对其进行改进,进
一步地探讨与研究。
第三章 改进的粒子群算法
引言
针对基本粒子群算法早熟收敛和稳定性差的缺点,基于不同的策略,已产生大量改
进的粒子群优化算法。从根本上来说,大多数改进方案都基于与其他优化算法结合的改
进,是以大幅度提高算法理解的难度和实现的复杂度为代价的,这就使得粒子群优化算
法失去了一些诱人的核心优点,如理解的简单性、实现的简洁性等,这对该算法的大面
积工程应用是有所不利的。因此,以改进粒子群算法为出发点寻找尽量简单有效的改进
粒子群算法,是十分必要和有意义的。
改进的粒子群算法综述
对粒子群算法的改进主要集中在对参数的改进以及算法融合两个方面。对参数的改
进包括对惯性权值、学习因子和、每一代粒子的飞行时间等的调整。对于算法融合方面,
许多学者尝试了将粒子群算法与其他智能计算方法相融合,有结合遗传算法交叉算子的
混合粒子群优化算法[14]、基于模拟退火的粒子群算法[32]、免疫粒子群算法[35]、基于群
体适应度方差自适应变异的粒子群算法[37]、与差别进化相结合的粒子群算法[48]等,下
面简要介绍粒子群算法的几类改进算法。
1)惯性权重法
粒子群优化算法以种群行为来激励粒子的运动。每个潜在的解与粒子的速度相联系,
该速度不断地根据粒子自身经验和粒子的社会经验来调整大小、方向,总是希望粒子能
朝更好的方向运动。在搜索过程中,全局搜索能力和局部搜索能力的平衡关系对于算法
的性能起着举足轻重的作用。初始时,Shi将惯性权值取值定为常数,但后来实验发现,
较大的值有利于跳出局部极小点,较小的值有利于算法的收敛,而动态的惯性权重能够
取得比固定值更好的寻优结果。现在采用较多的是 Shi 建议的线性递减权重(LDW)策
略, 速度更新公式在式(2-1)的基础上加上惯性权值,调整为式(3-1)(3-2)所示。
(3-1)
(3-2)
式中,为初始惯性权重;为最终惯性权重;为最大迭代次数;为当前迭代次数。
在算法初期,取值较大,有利于粒子探索未知区域,扩大搜索空间。在算法后期收
敛的情况下,取值较小,有利于微调对最优区域周围的搜索,从而提高了搜索的精度。
典型取值=、=,但是还有两个缺点:其一迭代初期局部搜索能力较弱,即使初始
粒子已接近于全局最优点,也往往错过,而在迭代后期,则因全局搜索能力变弱,而易
陷入局部极值。其二最大迭代次数较难预测,从而将影响算法的调节功能。2001 年 Shi
又提出用模糊规则动态地修改值和随机惯性权重(RIW)取值策略。
张选平等提出了一种动态的改变惯性权值(Dynamically Changing Weight,DCW)
的粒子群算法。在该算法中,惯性权重的变化受算法运行态势影响,是由粒子群的进化
速度和粒子群的聚集度综合决定的。与 LDW算法相比,平均迭代次数至少平均降低 25%,
收敛速度和收敛精度都明显提高。陈贵敏等在 LDW的基础上,又给出了三种非线性的惯
性权重递减策略,发现对于多数连续优化问题,凹函数递减策略优于线性策略,而线性
策略优于凸函数策略。
带惯性权值的粒子群算法在刚开始的时候倾向于开掘,然后逐渐转向于开拓,从而
在局部区域调整解。这是目前使用最广泛的粒子群算法形式。
2)收缩因子法
Clerc[41]的研究表明使用收缩因子可以保证粒子群算法收敛。收缩因子是关于、的
函数,定义的公式如式(3-3)、(3-4)所示。
(3-3)
(3-4)
Clerc的带收缩因子的方法中设为 ,故收缩因子为 。相当于在速度更新公
式中,在前次速度的基础上乘 。
收缩因子法可使粒子轨迹最终收敛,且可以有效搜索不同的区域,能得到高质量的
解,若与此同时将每维的最大速度设置为一维搜索空间的大小,则可得到更好的效果。
但是,收缩因子法在处理单峰函数或者其它比较光滑的较为简单的函数时,比起基
本粒子群算法,收敛速度稍微慢一点。
3)基于学习因子和的改进
学习因子和代表了粒子向自身极值和全局极值推进的随机加速权值。小的加速常数
值,可使粒子在远离目标区域内振荡;而大的加速常数可使粒子迅速向目标区域移动,
甚至又离开目标区域。如果,则粒子将以当前速度飞行,直到边界。此时,由于粒子只
能搜索有限的区域,故很难找到好解。
当则粒子没有自身认知能力,亦即“只有社会(social-only)认知”的模型。在
粒子相互作用下,算法有能力达到新的搜索空间。其收敛速度比标准算法更快,但碰到
复杂问题,比标准算法更容易陷入局部极值点。
当,则粒子之间没有社会信息共享,亦即“只有自身认知(cognition-only)”的
模型。由于个体之间没有交互,一个规模为的群体等价于个单个粒子的运行,因而得到
最优解的概率非常小。
Shi 和 Eberhar 建议,为了平衡随机因素的作用,通常设,后来 Clerc 推导出,也
有研究者认为和不等,并由实验得出,。Ratnaweera 等采用了根据迭代次数来动态地修
改加速因子的方法,模拟实验结果表明,当由 线性递减至 ,由 线性递增
至 时,算法所获得适应值最优。这种方法确实加速了算法的收敛,尤其在单峰值
函数的测试表现突出。为此付出的代价是算法容易陷入局部最小值,在多峰值函数的测
试中容易过早收敛。
但是,实际上这些研究也仅仅局限于部分问题的应用,无法推广到所有问题域。
4)小生境粒子群算法
粒子群算法启发性强、收敛速度快,使得粒子在寻优时过分集中,最后粒子都移向
全局最优点,不能用于多模态函数优化。
2002 年 Brits 等[50]将小生境技术引入粒子群优化算法中,小生境法除去影响粒子
间信息交流的“社会部分”,增强粒子局部搜索能力,每个粒子飞向离它最近的山峰,
即形成小生境。小生境粒子群算法速度更新公式如式(3-5)所示。
(3-5)
小生境粒子群法收敛速度较慢,主要应用于多峰函优化,对单峰函数效果不佳。
5)自适应调整飞行时间
基本粒子群算法在解空间搜索时,每代粒子的飞行时间恒为 1,有时会导致粒子在
最优解的附近来回“振荡”现象[51]。自适应调整飞行时间法动态调整飞行时间,随着
迭代代数的增加,飞行时间线性减少。具体调整公式如式(3-6)、(3-7)所示。
(3-6)
(3-7)
式中,表示第代粒子的飞行时间;表示粒子最长飞行时间;为比例系数,起调节作
用。
自适应调整飞行时间法适用于复杂函数,最优值处在狭长或陡峭的山峰上。但是对
于简单函数后期收敛速度较慢。
6)算法融合
Angeline[52]将选择算子引入粒子群算法中,选择每次迭代后较好的粒子复制到下
一代,以保证每次迭代的粒子群都具有良好的性能,这种算法对某些单峰函数效果良好。
Lvbjerg[53]在粒子群每次迭代后,按几率在粒子间交换各维,通过交叉来生成更优
秀的粒子群算法对某些多峰函数效果较好。
Higash[54]等人分别提出了自己的变异粒子群算法,基本思路均是希望通过引入变
异算子跳出局部极值点的吸引,从而提高算法的全局搜索能力,得到较高的搜索成功率。
高鹰等人则引入免疫机制的概念,提高粒子群的多样性和自我调节能力,以增强粒
子的全局搜索能力。
Baskar等人提出了协同粒子群算法,通过使用多群粒子分别优化问题的不同维来对
基本算法进行改进尝试。
另外,还出现了一些量子粒子群算法、基于模拟退火的粒子群算法以及求解几何约
束问题的粒子群算法等。
以上改进算法各有优缺点,它们引入了一些新的参数,在改进算法性能的同时也一
定程度上增加了算法的复杂性。
标准粒子群算法(粒子群算法及应用 P19)
为了改善基本粒子群算法的性能,Shi和 Eberhart在 1998年的 IEEE国际进化计算
学术会议上发表了题为“A modified particle swarm optimizer”的理论,引入了惯
性权重,逐渐地大家都默认这个改进粒子群算法为“标准粒子群算法”。
算法思想
在基本粒子群算法的速度公式上包括三部分:第一部分是粒子调整前的速度;第二
部分和第三部分是对粒子速度的调整。
如果没有后面两部分,粒子将会保持相同的速度朝一个方向飞行,直到到达边界,
这样粒子很大可能会找不到最优解,除非最优解恰好在粒子直线飞行的轨迹上,但这种
情况是很少的。
如果没有第一部分,粒子的飞行速度将仅由它们当前位置和历史最好位置决定,则
速度本身是无记忆的,无法将优质信息保留。假定刚开始粒子处于较优位置,那么粒子
的飞行速度将会是 0,即它会保持静止状态,直到其他粒子找到比粒子所处位置还要好
的解,从而替代了全局最优解。此时,每个粒子将会飞向它自身最好位置和群体全局最
好位置的权重中心。所以如果没有第一部分,粒子群算法的搜索空间将会随着进化而收
缩。此时只有当全局最优解在初始搜索区间时,粒子群算法才可能找到解。所以求解结
果非常依赖于初始群体。当没有第一部分时,此算法更像是局部最优算法。
对于不同的问题,局部最优能力和全局最优能力的权衡也不一样。考虑到这个问题,
并结合以上的讨论,Shi和 Eberhart添加了一个惯性权重到速度更新公式,即式(3-2)。
(3-2)
位置更新公式与基本粒子群算法更新公式相同。惯性权重起着权衡局部最优能力和
全局最优能力的作用。为了研究惯性权重对粒子群算法性能的影响,Shi和 Eberhart将
此算法应用到 Schaffer’s函数中,这是个著名的评价优化算法的基准函数。他们改变
惯性权重的大小,通过大量的实验得到两个结论:
1)当惯性权重较小时(<),如果粒子群算法能找到全局最优解的话,那么它所
经历的搜索时间是很短的,即所有的粒子趋向于快速汇集在一起。如果最优解是在初始
搜索空间内,粒子群算法将会很容易找到全局最优,否则它会找不到全局最优。
2)当惯性权重较大时(>),粒子群算法更像全局最优解,且它总是在探索新区
域。当然,这时的粒子群算法会需要更多的迭代来达到全局最优解,且更有可能找不到
全局最优解。当惯性权重适中时,粒子群算法将会有更大的机会找到全局最优解,但迭
代次数也会比第一种情况更多。
根据以上分析,他们不是把惯性权重设为定值,而是设为一个随时间线性减少的函
数,惯性权重的函数形式通常如式(3-1)所示。
(3-1)
其中为初始权重;为最终权重;为最大迭代次数;为当前迭代次数。
这个函数使得粒子群算法在刚开始时倾向于开掘,然后逐渐转向开拓,从而在局部
区域调整解。这些改进使得粒子群算法的性能得到很大的提高。
测试函数与测试环境
为了考察标准粒子群算法的性能,对两个典型的测试函数进行优化。选定测试函数
如表 3-1所示。
表 3-1 两个测试函数
测 试
函数
取值范围 求最大/最
小值
最优值
Ⅰ [-30,30] 最小值 0
Ⅱ [,]
最大值
3600
对于测试函数Ⅰ,目标为求该函数的最小值,最优值为 0,在(1,1)点取到。该
函数为单峰函数,函数较为简单,不存在局部极值,但是函数的取值范围较大,在
[-30,30]之间,在求解过程中应设置较大的粒子群数和迭代代数,才能较快地收敛到
最优值。函数图象如图 3-1所示。
图 3-1 测试函数Ⅰ
对于测试函数Ⅱ,目标为求该函数的最大值,最优值为 3600,在(0,0)点取到。
该函数为多峰函数,在处分别有四个局部极值,中间(0,0)是全局极值,非常狭长陡
峭,容易陷入局部极值,是非常具有代表性的测试函数。函数图象如图 3-2所示。
图 3-2 测试函数Ⅱ
利用选取好的两个测试函数,测试标准粒子群算法的性能。由于测试环境不同对算
法性能评估也不一样,故将本次实验测试环境列出,如表 3-2所示。
表 3-2 测试环境
电脑配置 电脑型号 lenovo笔记本
CPU Pentium®Dual-Core CPU T4200
硬盘 160G
内存
工具 编程工具 Matlab
算法流程设置
粒子群算法无需像遗传算法采用二进制编码,而是采用实数编码直接进行优化计算。
将测试函数本身设为适应度函数进行求解,求解步骤与基本粒子群算法类似,只是速度
调整公式有所不同,具体见如下流程。
图 3-3 标准粒子群算法简要流程
表 3-3 参数初始化(以测试函数Ⅱ为例)
步骤 具体操作
是否调试参
数
对应 MATLAB代码
最大惯性权重 是 wmax=;
最小惯性权重 是 wmin=;
最大迭代次数 是 itmax=200;
粒子群大小 是 N=200;
学习因子 1 是 c1=2;
学习因子 2 是 c2=2;
算法基本
参数初始
化
初始化迭代次
数
否
j=1;
循环迭代
前初始化
惯性权重
惯性权重按迭
代次数线性递
减
否 for iter=1:itmax
W(iter)=wmax-((wmax-wmin)/itmax)*iter;
end;
自变量解的维
度
否
D=2; 设置目标
函数相关
参数
解的左边界 a,
右边界 b
否
a=;b=;
位置初始化 否 x=a+(b-a)*rand(N,D,1);
参
数
初
始
化
粒子初始
化 速度初始化 否 V=wmin+(wmax-wmin)*rand(N,D,1);
表 3-4 计算第一代适应度值(以测试函数Ⅱ为例)
步骤 具体操作 对应 MATLAB代码
计算每个粒子的适应度值
for i=1:N
x0(1)=x(i,1,1);x0(2)=x(i,2,1);
F(i,1,1)=f4(x0); end;
[C,I]=max(F(:,1,1));
计算第一代
适应度值
求第一代粒子的最大值 [C,I]=max(F(:,1,1));
对全局最优位置进行赋值
gbest(1,1,1)=x(I,1,1);
gbest(1,2,1)=x(I,2,1);
for p=1:N
for r=1:D
G(p,r,1)=gbest(1,r,1);
end;end;
x0(1)=G(1,1,1);x0(2)=G(1,2,1);
Fbest(1,1,1)=f4(x0);
对粒子自身最优位置进行
赋值
for i=1:N
pbest(i,:,1)=x(i,:,1); end;
x0(1)=gbest(1,1,1);x0(2)=gbest(1,2,1);
Fb(1,1,1)=f4(x0);
表 3-5 迭代求解(以测试函数Ⅱ为例)
步骤 具体操作 对应 MATLAB代码
速度调整
V(:,:,j)=W(j-1)*V(:,:,j-1)
+c1*rand*(pbest(:,:,j-1)-
x(:,:,j-1))+c2*rand*
(G(:,:,j-1)-x(:,:,j-1));
位置调整 x(:,:,j)=x(:,:,j-1)+V(:,:,j);
边界控制
for xx=1:N
for yy=1:D
if x(xx,yy,j)<a
x(xx,yy,j)=a; end;
if x(xx,yy,j)>bx(xx,yy,j)=b;
end;end;end;
计算适应度值
for i=1:N
x0(1)=x(i,1,j);x0(2)=x(i,2,j);
F(i,1,j)=f4(x0);
end;
[C,I]=max(F(:,:,j));
调整全局最优值
if C>Fb(1,1,j)%如果当代不是最大值,则修改
第 j代全局最优值的位置
gbest(1,1,j)=gbest(1,1,I);
gbest(1,2,j)=gbest(1,2,I);end;
迭代求解
调整粒子自身最优值
for i=1:N
[C,I]=max(F(i,1,:));
if F(i,1,j)>=C
pbest(i,:,j)=x(i,:,j);
else pbest(i,:,j)=x(i,:,I);
end;end;
表 3-6 终止迭代和结果输出(以测试函数Ⅱ为例)
步骤 具体操作 对应 MATLAB代码
终止迭代和 迭代代数 j=itmax
结果输出 结果输出 Fbest(1,1,itmax)
参数调试
由于对于不同的测试函数,适合的参数组合不一样,因此需对两个测试函数分别进
行参数调试。标准粒子群算法可调参数为:最大迭代代数,学习因子、,粒子群大小,
惯性权值。可首先对参数进行尝试性调试,在根据调试过程中出现的问题进行具体细微
调整。
测试函数Ⅰ参数调试
针对测试函数Ⅰ,首先进行尝试性调试:
1、通过初步调试,该目标函数较为简单,求解最优值收敛速度较快,故可使用较
小规模的粒子群,故选定=50,且设置最大迭代代数为 100;
2、由于该函数解处于平滑地带,最优值较容易找到,可使用平衡的局部搜索和全
局搜索,此处取;
3、根据一般取法,取为随迭代代数线性递减,,为当前迭代代数,此处取.4;
4、调试结果:利用以上参数组合进行优化测试,设置收敛精度为 ,进行 20次
实验。20 次实验中,每次都很快取得最优值,成功率达 100%,故选取尝试性参数,不
再进行调整,选取参数如表 3-7所示:
表 3-7 测试函数Ⅰ参数选择
参数名称 取值 参数名称 取值
最大惯性权重 粒子群大小 50
最小惯性权重 学习因子 2
最大迭代次数 100 学习因子 2
测试函数Ⅱ参数调试
针对测试函数Ⅱ,尝试性调试过程如下:
1、通过初步调试,该目标函数较为复杂,求解最优值收敛速度较慢,故可使用稍
大规模的粒子群,故选定=200,且设置最大迭代代数为 200;
2、由于该函数解隐蔽,应加强局部搜索,减弱全局搜索,否则局部极值较容易找
到。全部被牵引过去,容易陷入局部极值,此处取;
3、根据一般取法,取为随迭代代数线性递减,,为当前迭代代数,此处取.4。
4、调试结果:利用以上参数组合进行优化测试,设置收敛精度为 ,进行 20次
实验。20次实验中仅 9次取到最优值,成功率仅 45%。有 11次未取到最优值,其中有 10
次接近最优值,但精度不高,占总实验次数的 50%;另外有一次陷入了局部极值。
通过实验发现,在寻优过程中存在两个问题:
1)解的精度不够高,或者收敛速度慢,迭代 200 代时经常在最优解附近,无法达
到 的精度,很难完全收敛到最优值,故可考虑加大迭代次数;
2)有时会陷入局部极值,但概率不高,对求解影响不是太大,且针对该函数,标
准粒子群算法存在这方面的缺陷,难以通过单纯调试某个参数解决。
针对以上问题,保持其他参数不变,将最大迭代次数从 200次调整为 300、400、500
次,再分别进行 20次实验。
表 3-8 迭代次数调试结果
迭代次数 实验次数 成功次数 精度不高次数
陷入局部
极值次数
成功率
200 20 9 10 1 45%
300 20 12 8 0 60%
400 20 12 6 2 60%
500 20 10 8 2 50%
从表中可以看出,最大迭代次数调为 300 次时,算法的成果率达 60%,在此基础上
继续增加迭代次数并不能提高算法的成功率,由于惯性权重的调整也与最大迭代次数相
关,因此并非迭代次数越大算法成功率越高。而且随着迭代次数的加大,陷入局部极值
的次数也有所增加。可见标准粒子群算法对优化测试函数Ⅱ具有一定的瓶颈,选定一组
相对较优的参数组合进行优化。参数选取如表 3-9所示:
表 3-9 测试函数Ⅱ参数选择
参数名称 取值 参数名称 取值
最大惯性权重 粒子群大小 200
最小惯性权重 学习因子 2
最大迭代次数 400 学习因子
测试结果与算法评估
在选定参数后,分别为两个测试函数进行算法测试与算法评估。
测试函数Ⅰ测试结果
实验结果如表 3-10所示:
表 3-10 测试函数Ⅰ优化结果
实验次数 最优值 最优解(x) 最优解(y)
收敛
代数
成功与
否/原因
1 0 22 是
2 0 65 是
3 0 74 是
4 0 54 是
5 0 34 是
6 0 20 是
7 0 41 是
8 0 30 是
9 0 88 是
10 0 24 是
11 0 22 是
12 0 38 是
13 0 42 是
14 0 48 是
15 0 41 是
16 0 18 是
17 0 58 是
18 0 43 是
19 0 53 是
20 0 32 是
连续 20 次均以高精度取得最优值,成功率达 100%,且收敛速度快,平均收敛代数
为 42。
选取其中一次实验结果,在 32代收敛到最优值。优化过程如图 3-4所示。
图 3-4 测试函数Ⅰ优化过程
测试函数Ⅱ测试结果
实验结果如表 3-所示:
表 3- 测试函数Ⅱ20次实验结果
实验
次数
最优
值
最优解(x) 最优解(y) 收敛代数
成功与否/
原因
1 3600
-009 *
-009 *
56 是
2 3597 不收敛 精度不高
3 3600
-004 *
-004 *
128 是
4 3600
-004 *
-004 *
139 是
5 3600
-008 *
-008 *
159 是
6 3571 不收敛 精度不高
7 3600
-005 *
-005 *
158 是
8 3600
-008 *
-008 *
113 是
9 2912 不收敛 精度不高
10 3600
-008 *
-008 *
111 是
11 3600
-009 *
-009 *
121 是
12 3600
-008 *
-008 *
167 是
13 3599
-003 *
-003 *
不收敛 精度不高
14 3600
-009 *
-009 *
54 是
15 3597 不收敛 精度不高
16 3600
-009 *
-009 *
88 是
17 3586 不收敛 精度不高
18 3600
-007 *
-007 *
285 是
19 3600
-005 *
-005 *
116 是
20 3445 不收敛 精度不高
算法成功率为 60%,有 8次实验精度不高。在成功的 12次实验中,平均迭代次数为:
108。
选取其中一次实验结果,在 125代收敛到最优值。优化结果如图 3-5,3-6所示,优
化过程如图 3-7所示。
图 3-5 粒子的初始位置 图 3-6 粒子的最终位置
图 3-7 测试函数Ⅱ的优化过程
算法评估
标准粒子群算法是在基本粒子群算法的基础上进行简单的改进,对于求解简单优化
问题(测试函数)时,能够较快、较准地取得最优值。而在求解复杂优化问题(测试函
数)时,往往出现精度不高和陷入局部极值的情况,这方面是算法瓶颈问题,无法通过
调整算法自身参数给以解决,必须对算法进行思想方面的改进才能提高算法性能。
小生境粒子群算法
算法思想
算法测试
测试结果与算法评估
自适应调整飞行时间粒子群算法
算法思想
算法测试
测试结果与算法评估
本章小结
为了改善算法的收敛性能,Sin 和 Eberhart 在 1998 年的论文中引入了惯性因子的
概念[12],速度和位置更新公式(3-3)和(3-4)所示:
(3-3)
(3-4)
这里,为惯性因子,其大小决定了对粒子当前速度继承的多少,合适的选择可以使
粒子具有均衡的探索和开发能力。也就是起到权衡全局搜索能力和局部搜索能力。较大
时,原速度影响较大,全局搜索能力较强;较小时,原速度影响较小,局部搜索能力较
强。
目前,对于 PSO算法的研究大多以带惯性因子的 PSO算法为基础进行分析、扩展和
改进,因此把这种带惯性因子的 PSO算法称为标准 PSO算法;而将前述的 PSO算法称为
原始 PSO算法。原始 PSO算法就是惯性因子=1时的特例。
第四章 自适应粒子群算法 AFIPSO
引言
粒子群算法存在早熟收敛、收敛速度慢以及稳定性差等缺点。为提高算法性能,已
有很多学者通过分析 PSO参数对优化性能的影响提出了很多改进方案,例如:惯性权重
法[10]、收缩因子法[11]、杂交粒子群算法[12]、非线性惯性递减策略[13]等。这些方法很
好地解决了早熟收敛问题,但仍存在对有些测试函数收敛速度慢和稳定性差的问题。本
章提出一种自适应粒子群算法 AFIPSO。通过自适应调整飞行时间和惯性权值,克服了粒
子群算法在进化后期搜索能力下降的问题,并且充分利用目标函数的信息,提高了算法
的稳定性,加快了算法的收敛速度。通过测试函数对本章算法进行实验,实验表明:本
章算法具有较好的稳定性和收敛速度。
AFIPSO基本思想
在标准粒子群算法中,由于每代粒子飞行时间固定为 1,导致“振荡”现象的产生,
且惯性权重是线性递减的,没有充分利用目标函数所提供的其它信息,使得搜索方向的
启发性不强,收敛速度较慢且易陷入局部极值。
为了解决上述问题,本章提出的 AFIPSO 算法权值根据全局最优值信息进行自适应
调整。惯性权值计算公式如式(4-1)所示[51]。
(4-1)
式中表示第代粒子的惯性权值,、分别表示第代、第-1代粒子的全局最优值。
另外,在公式(3-2)中未考虑飞行时间,但是为了减少“振荡”现象,本文 AFIPSO
算法加入飞行时间,并对飞行时间进行自适应调整,调整公式如式(4-2)所示[52]。
(4-2)
式中表示初始飞行时间,是调整参数。
AFIPSO算法流程
AFIPSO算法过程描述如下:
1)种群初始化;
2)计算种群中各个个体的适应度;
3)计算个体历史最优位置、群体历史最优位置及其所对应的最优值;
4)根据式(3-1)、(4-1)、(4-2)更新粒子的速度与位置;
5)判断是否达到最大迭代代数,如果到了,则退出,否则转 2)。
流程图如下:
图 4-1 自适应粒子群算法 AFIPSO流程图
AFIPSO实验
测试函数
为了考察本章算法的性能,对两个典型的测试函数进行优化。选定测试函数如表 1
所示。
表 4-1 两个测试函数
测试函数 取值范围 求最大/最小值 精确最优值
判 断 是 否 大 于
61 0
微粒群体初始化
微粒适应度计算
开始
判断迭代次数
是否达到 maxI
找不到合理最优值
结束
计算个体历史最优值 tijpbest
输出迭代次数 t 以及最优值
计算群体历史最优值 ( )Fbest t
Ⅰ [-100,100] 最小值 0
Ⅱ [-30,30] 最小值 0
参数选取
在本章实验中,取,为了确定式(4-2)中、的取值,分别对、与迭代收敛次数的
关系进行实验。测试结果如图 4-2、图 4-3所示。
为使迭代次数最少,根据图 1、2 结果,AFIPSO 算法对于测试函数Ⅰ选用参数为:
=, =;对于测试函数Ⅱ选用参数为: =, =。
图 4-2 与迭代次数的关系图 图 4-3与迭代次数的关系图
优化结果与结果分析
为了更好评价 AFIPSO算法性能,比较 AFIPSO算法与标准粒子群算法、文献[51]及
文献[52]算法在最优值达到时的迭代次数以及算法稳定性。比较结果测试函数Ⅰ如表
4-2、图 4-4所示,测试函数Ⅱ如表 4-3、图 4-5所示。
表 4-2 对测试函数Ⅰ优化结果的比较
算法名称 迭代收敛代数 算法稳定性
AFIPSO算法 28 100%
标准粒子群算法 61 100%
文献[51]算法 42 100%
文献[52]算法 55 100%
表 4-3 对测试函数Ⅱ优化结果的比较
算法名称 迭代收敛代数 算法稳定性
AFIPSO算法 29 100%
标准粒子群算法 60 80%
文献[51]算法 56 100%
文献[52]算法 45 90%
图 4-4 测试函数Ⅰ优化结果的比较 图 4-5 测试函数Ⅱ优化结果的比较
在图 4-4、图 4-5中,曲线(1)表示 AFIPSO算法优化结果;曲线(2)表示标准粒
子群算法优化结果;曲线(3)表示文献[51]算法优化结果;曲线(4)表示文献[52]算
法优化结果。
从表 4-2可以看出,对测试函数Ⅰ,四种算法的稳定性都很好,迭代收敛代数 AFIPSO
较其它三种算法都有所减少,比标准粒子群算法减少 54%。
从表 4-3 可以看出,对测试函数Ⅱ,四种算法中 AFIPSO 算法、文献[51]算法稳定
性较好,而 AFIPSO算法比文献[51]算法迭代收敛代数减少了 52%。
综上所述,AFIPSO算法收敛速度更快,且算法稳定性高。
本章小结
本章提出一种自适应粒子群算法 AFIPSO。通过自适应调整飞行时间和惯性权值,克
服了粒子群算法在进化后期搜索能力下降的问题,并且充分利用目标函数的信息,提高
了算法的稳定性,加快了算法的收敛速度。通过测试函数对 AFIPSO 算法进行实验,实
验表明:AFIPSO算法具有较好的稳定性和收敛速度。
第五章 AFIPSO在多目标优化问题中的应用
引言
在现代化的工业生产中,如何同时使生产的不同产品都达到满意的产量一直是各工
业领域期待解决的问题。这类优化问题在实际工程中占有较大的比重,其特点是极少存
在绝对最优解,而是存在一个非劣解集(Pareto解集),在该解集中,每一个解在不牺牲
其他目标的前提下无法再进一步对单个目标进行优化。多目标优化技术的主要目的就是
寻求 Pareto解集中的一个或多个满意解。
在石油化工生产中,催化裂化(FCCU)分馏塔的生产过程就是一个典型的多目标优
化问题。其中,重石脑油和轻柴油是催化裂化分馏装置的 2个主要产物。如何同时使重
石脑油和轻柴油的产量都尽可能高,达到最大的经济效益?目前对于该问题研究的文献
还比较少。
熊俊文等[48]建立以汽油和轻柴油为目标的 FCCU分馏塔的多目标模型。其基础是利
用某炼厂的 FCCU装置 25个操作变量的实际数据,并结合多元逐步回归方法,剔除次要
变量得模型。该模型不涉及任何物性数据,能多目标优化 FCCU分馏塔。
对于上述 FCCU分馏塔多目标优化问题,熊俊文等[57]采用遗传算法对其进行优化;
申慧敏等[58]在文献[57]的基础上加以改进,采用自适应的基于 Pareto多目标遗传算法
(IPAGA)进行优化,取得较好的优化结果,但优化速度较慢,花费时间较长;周晓静
等[59]采用基于参数自适应的空间全局单位化蚁群算法(ASACA)进行优化,找到了 FCCU
分馏塔多目标优化问题的历史最优解,但是该算法优化过程较慢,中间存在暂时的停滞
现象,花费时间较长。粒子群算法是继蚁群算法之后的又一智能算法,算法概念简单,
参数设置少,在处理优化问题时,收敛速度快,但容易陷入局部极值[60]。
本章提出将自适应粒子群算法 AFIPSO(Adaptively adjust Flight-time and
Inertia-weight Partical Swarm Optimization)应用于 FCCU分馏塔多目标优化问题。
该算法在粒子群算法的基础上,自适应调整飞行时间并动态改变惯性权值,提高了算法
的稳定性,加快了算法的收敛速度。实验表明:该算法能在较短的时间内收敛到 FCCU
分馏塔多目标优化问题的最优解。
AFIPSO对多目标函数的优化
自适应粒子群算法(AFIPSO)
本章采用自适应粒子群算法 AFIPSO,该算法是在粒子群算法的基础上对惯性权值和
飞行时间进行自适应调整。调整公式如(5-1)、(5-2)所示。
(5-1)
(5-2)
式中表示第代粒子的惯性权值;、分别表示第代、第代粒子的全局最优值;、分别
表示第代、第代第个粒子第维向量取值;表示第代第个粒子第维的速度;表示初始飞行
时间;是调整参数;是最大迭代次数。
AFIPSO对多目标函数的优化
优化测试函数
为了检验自适应粒子群算法(AFIPSO)能否有效的应用于多目标函数优化问题,在
多目标函数优化问题中能否表现出算法优良的性能,选取表 5-1中多目标优化函数作为
测试函数进行试验。
表 5-1 多目标函数优化问题
优化函数 目标函数 优化区间
MOP
首先,选用简单加权的方法将多目标优化问题转化为单目标优化问题的形式,如式
(5-3),然后再利用自适应粒子群算法(AFIPSO)的思想进行优化。
(5-3)
式中ω1+ω2=1。
为了研究方便,取。
表 5-2 转化后单目标函数优化问题
优化函数 目标函数 优化区间 最优解 理论最优值
F 1
参数选取
在本文实验中,通过对参数进行 至 的分割,然后交叉组合。对每种组合进
行 20 次实验。分析其结果发现对算法的稳定性影响较大,而对算法的收敛速度影响较
大。
在取定粒子群大小为 10,迭代次数为 100的情况下,研究与算法稳定性的关系,以
及与算法收敛代数的关系。
算法稳定性定义为实验中收敛到最优解的百分比。如果百分比越大,说明算法稳定
性越高;反之则越低。
(5-4)
研究得与算法稳定性的关系表 5-3所示:
表 5-3与算法稳定性的关系表
从表中可以看出越大,算法稳定性越高,当取 时,算法稳定性最高,达到
100%。继而在取定=的情况下,再进行了 50次实验,没有出现失败的情况。证明=
算法稳定性高,故去=。
取定=后,对进行调试。研究得与算法收敛代数的关系如图 5-1所示:
图 5-1 与算法收敛代数的关系
从图中可以看出当=时,算法的迭代次数最少,收敛速度最快。故取=。
综合上述分析,本文实验中取定参数组合为=、=。
算法优化过程
取定参数粒子群大小为 10、迭代次数为 100、= 和= 情况下,自适应粒子群
算法 AFIPSO 优化综合目标函数 F 的过程如图 5-2 所示,优化过程中两个子目标函数的
变化如图 5-3所示。
实验成功次数 算法稳定性
14 70%
7 35%
14 70%
10 50%
12 60%
17 85%
17 85%
18 90%
20 100%
图 5-2 AFIPSO优化综合目标函数 F的过程 图 5-3 AFIPSO优化子目标函数的过程
从图中可以看出算法在迭代到 8代左右便开始收敛,而在保证综合目标函数值不变
的情况下,子目标函数之间仍在进行协调,在 27代达到最终的平衡。
算法比较分析
为了更好评价 AFIPSO算法优化多目标函数性能,比较 AFIPSO算法与文献[51]及文
献[52]算法在最优值达到时的迭代次数,比较结果如表 5-4、图 5-4所示。
表 5-4 对综合目标函数优化结果比较
算法来源 算法名称 收敛代数
本文算法 自适应粒子群算法 AFIPSO 8
文献[51] 自适应调整飞行时间粒子群算法 13
文献[52] 动态变惯性权值粒子群算法 27
图 5-4 AFIPSO算法与文献[51]及文献[52]算法优化过程比较
从图 5-5 可以看出,本章算法迭代到第 8 代时便开始收敛,文献[51]、文献[52]分
别到第 13 代、27 代开始收敛。而且本章算法在初始化值较大的情况下迅速收敛于最优
值,表明本章算法对优化多目标函数有效,而且速度较快。
FCCU分馏塔的多目标优化模型
石油化工生产过程中,催化裂化分馏塔是一个非常复杂的工艺生产过程,涉及到的
控制变量和约束变量多达 25个。其中重石脑油流量口:和轻柴油流量是装置的 2个经济
指标,因此对此 2 个变量建立数学模型。采用多元逐步回归[61]等方法了建立分馏塔过
程数学模型。样本数据来源为某石化厂现场数据,选择汽油和轻柴油的产量作为多目标
优化的控制变量,其余的 23个变量作为约束变量,优化目标函数为:
(5-5)
式中变量的含义如表 5-5所示。
表 5-5 控制变量和约束变量
变量
varible
控制变量
Control
variables
约 束 变 量
bound variables
符号
notatio
n
名称
denomin
ation
汽油 轻柴油
流量 出装置
(t/h) 流量
塔底 重循 塔顶 轻柴 提升管 塔底 轻柴 塔顶循 轻柴汽
温度 抽出 回流 抽出 出口温 液位 汽提 环回流 提蒸汽(℃)
温度 温度 温度 度(℃) (m) 塔液 流量 流量
单位
unit
(t/h) (℃) (℃) (℃) 位(m) (t/h)
(t/h)
AFIPSO在工程中的应用
多目标转化为单目标
根据生产要求用加权法将多目标优化目标函数转化为单目标优化目标函数:
(5-6)
为了研究方便,取。
将作为算法的适应度函数,利用自适应粒子群算法(AFIPSO)求解。
AFIPSO智能优化 FCCU分馏塔参数调试
在本章实验中,取。由于本章算法(5-2)式与相关,并非越大求解效果越好,所
以需要对进行调试。同时,(5-2)式中的参数和对求解效果有所影响。为了确定、以及
的值,分别对、、与最优解平均值及收敛到最优值次数的关系进行实验(在本章中,对
每组参数进行 10次实验)。测试结果如图 5-5、图 5-6、图 5-7所示。
由于最优解的平均值越大,算法求解效果越好;收敛到最优解的次数越多,算法的
稳定性越高。选取参数时,首先保证最优解的平均值最大,在此基础上,尽量使得收敛
到最优解的次数越多。从图 5-5(a)可以看出,取 100和 110时,最优解的平均值最大,
从图 5-5(b)中可以看出在 100时收敛到最优解的次数比 110时多,所以选定参数=100。
同理,从图 5-6、图 5-7可以看出,参数应取 ,应取 。由此可得,自适应粒子群
算法优化 FCCU分馏塔选定参数组合如表 5-6所示。
表 5-6 分馏塔参数取值
参数名
参数值 100
图 5-5的实验图 图 5-6的实验图
图 5-7的实验图 图 5-8 本文算法 AFIPSO与申慧敏等[58]IPAGA、周晓
静等[59]ASACA的优化过程比较
AFIPSO优化 FCCU分馏塔结果及其比较分析
自适应粒子群算法 AFIPSO 选定参数、、优化 FCCU 分馏塔,能在较短的时间内收敛
到理论最优解:。优化结果如表 5-7所示。
从表 5-7中可以看出,本文算法收敛速度很快,在 19代的时候就取到了最优值。
为了更好地评价结果优劣,将本文算法 AFIPSO 与申慧敏等[58]IPAGA、周晓静等
[59]ASACA的优化结果及优化过程进行比较,比较结果如表 5-8,图 5-8所示。
表 5-7 目标函数及子目标函数、优化结果
迭 代
代数
最优值
1
5
10
15
18
19
20
表 5-8 本文算法 AFIPSO与申慧敏等[58]IPAGA、周晓静等[59]ASACA的优化结果比较
算法 最优值/ /℃ /℃ /℃ /℃ /℃ /m /m /t/h /t/h
AFIPSO
IPAGA[2]
ASACA[3]
从表 5-8 中可以看出本章算法 AFIPSO 和文献[59] ASACA 达到相同的最优解,其结
果无论综合评价函数还是子目标函数、的取值都高于文献[58]。
从图 5-8 可以看出,本章算法 AFIPSO 收敛速度比文献[59] ASACA 要快很多。文献
[59] ASACA在 60代左右才开始接近最优值,而且后期收敛速度缓慢;本章算法在 19代
时便收敛到最优值,克服了文献[59]算法中出现暂时停滞的现象,大大地减少了时间花
费,有利于提高生产效率。
从上述分析可知:本章算法的迭代进程较优,收敛速度较快,是行之有效的优化 FCCU
分馏塔多目标问题算法。
本章小结
本章在文献[57]所建关于催化裂化分馏塔多目标优化问题的数学模型基础上,采用
自适应粒子群算法作为优化手段。研究过程中通过参数调试,选取一组合适的参数组合
进行分馏塔优化。实验表明:自适应粒子群算法优化结果较好而且优化速度快,是行之
有效的优化分馏塔在线多目标问题方法。
结论
本文的研究成果如下:
1、从粒子群算法的生物学基础出发,对鸟群的觅食原理进行了阐述。并详细介绍
了群体智能算法的原理及其特点,特别对三种典型的智能算法原理和特点进行分析和比
较。同时说明了本项目组的研究背景。
2、介绍了粒子群算法的起源背景,从生物学原理过渡到算法的基本思想及其特点。
并且通过搜集文献,总结了粒子群算法的主要应用和研究现状。
3、介绍了基本粒子群算法的模型、参数设置、具体实现流程以及优缺点。同时针
对其存在的缺点,介绍已提出的各种改进算法,并分析它们的优点与不足。还比较了粒
子群算法与其他启发式算法的异同。
4、针对粒子群算法存在的不足,提出一种改进算法,自适应粒子群算法 AFIPSO。
并详细介绍该算法的出发点,解决的问题,算法的基本思想以及流程。通过实验证明该
算法的有效性。
5、将提出的自适应粒子群算法 AFIPSO应用于多目标函数优化,通过实验证明该算
法优化多目标函数的有效性。并将该算法应用于 FCCU 分馏塔多目标优化模型,获得的
优化效果优于以往文献,进一步验证了自适应粒子群算法 AFIPSO的有效性和可行性。
目前,本文提出自适应粒子群算法 AFIPSO 的适用性尚不明确,对于较为复杂的函
数优化问题能否取得较好效果,还有待进一步研究。
参考文献
[1] 戴汝为.从基于逻辑的人工智能到社会智能的发展[J].复杂系统与复杂性科学,2006,
3(2):24一 25.
[2] Hackwood S , Beni G . Self-organization of Sensors for Swam
Intelligence[A] . Robotics And Automation , 1992 Proceedings , 1992 IEEE
Intemational conference on[C]. Piseataway, NJ:,(1):819 一
829.
[3] Bonabeau E, Dorigo M,Theraulaz G.Swarm Intelligence:From Natural to
Artifieial Systems[M].NewYork:Oxford University :10-27.
[4] Dorigo M,Maniezzo V,Colormi A. The Ant System:An Autocatalytic Optimizing
Proeess [R].Italy:Politecnico di Milano, 1991:34- 56.
[5] Dorigo M., Gambardella .Ant Conony System:A Cooperative Leaning Aproach
toThe Traveling Salesman Problem[A] .Evolutionary ComPutation, IEEE Trans
On[C].IEEEComPutation inielliqence Society,1996,l(1):53-66.
[6] Kennedy J , Eberhart . Particle Swarm Optimization[A] . Neural
Networks,1995, Proeeedings. IEEE International Conference[C].Piscataway,
NJ:1995:1942-1948.
[7] 李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式:鱼群算法[J].系统工
程理论实践.2002,(22):32一 38.
[8] 李晓磊,钱积新.基于分解协调的人工鱼群优化算法研究[J].电路与系统学报,
2003,8(l):1一 6.
[9] Eusuffin M., OPtimiZation of Water Distribution Network Design
Using Shumed Frog leaping Algorithm[J].Joumal of water Resourees Planning and
Management. 2003,129(3):210-22.
[10] 杜玉平.关于粒子群算法改进的研究,西北大学,硕士毕业论文.2008.
[11] 何妮.粒子群优化算法的研究和改进,浙江师范大学,硕士学位论文.2008.
[12]Shi H,Eberhartz Optimization.1998 International Conference on Evolutionary
Computation,Anchorage,Alaska,1998:69—73.
[13] Frans vall den Bergh,A P Engelbrecht.A New Locally Convergent Particle
Swarm of the IEEE International Conference on Optimizer,[C].In:Proceedings
Systems,Man and C.ybernetics,V01.3,2002:94-99.
[14]Angeline P J.Evolutionary Optimization Versus particle swarm optimization
[C] .In::Evolutionary Programming Ⅶ,1998:601-610.
[15] den Analysis of Particle Swarm
,University of Pretoria,2002.
[16], particle swarm:Explosion stability and
convergence in a multi-dimensional complex Trans Evolution
Compute,2002,6(1):58-73
[17] particle swarm optimization algorithm:convergence
analysis and parameter Processing
Letters,2003,85(6):317-325
[18], modified particle swarm of
Electrical and Electronics (5):69-73
[19], selection in particle swarm
Notes In Computer Science;,In Proceedings of
the 7th International Conference on Evolutionary Programming
VII,Springer-Verlag London,UK,1998:591-600.
[20], study of particle swarm
of Electrical and Engineers,1999(7):1945-1950.
[21] swarm and queen:Towards a deterministic and adaptive
particle swarm of Electrical and Electronics
Engineers,1999(7):1951-1957.
[22], inertia weights and constriction factors
in particle swarm of Electrical
Engineers,2000(7):84-88.
[23], adaptive particle swarm
of Electrical and Electronics Engineers,2001(5):101-106.
[24]张丽军,俞欢军,陈德钊等.粒子群优化算法的分析与改进.信息与控制,2004,
33(5):513-517.
[25] inertia weight variation for dynamic adaptation in
particle swarm and Operations
Research,2006,33(3):859-871.
[26],,and particle swarm optimizer
with breeding and of Electrical and Electronics
Engineers,2001(7):115-118
[27], swarm optimization with Gaussian
of Electrical and Electronics Engineers,2003(4):72-79
[28]吕振肃,侯志荣.自适应变异的粒子群优化算法.电子学报,2004,32(3):416-420
[29]李宁,孙德宝,岑翼刚等.带变异算子的粒子群优化算法.计算机工程与应用,
2004,40(17):12-14,35
[30] selection to improve particle swarm
of Electrical and Electronics
Engineers,1998(5):84-89
[31]吴晓军,薛惠锋,李憋等.GA-PSO 混合规划算法.西北大学学报(自然科学版),
2005,35(1):39-43
[32] 高 鹰 , 谢 胜 利 . 基 于 模 拟 退 火 的 粒 子 群 优 化 算 法 . 计 算 机 工 程 与 应
用,2004,40(1):47-50
[33]高尚,杨静宇,吴小俊等.基于模拟退火算法思想的粒子群优化算法.计算机应用与
软件,2005,22(1):103-104.
[34]窦全胜,周春光,马铭.粒子群优化算法的两种改进策略.计算机研究与发展,
2005,42(5):897-904
[35]高鹰,谢胜利.混沌粒子群优化算法.计算机科学,2004,31(8):13-15
[36]杨俊杰,周建中,喻菁等.基于混沌搜索的粒子群优化算法.计算机工程与应用,
2005,41(16):69-71
[37], self-adaptive chaotic particle swarm algorithm for
short term hydroelectric system scheduling in deregulated
Conversion and
Management,2005,46(17):2689-2696
[38], discrete binary version of particle swarm
optimization Proceedings of the 1997 conference on
Systems,Man,and Cybernetics (SMC’97),1997:4104-4109
[39], particle swarm
Proceedings of the Workshop on Particle Swarm Optimization
2001,Indianapolis,2001
[40]Maurice C,Kennedy Particle Swarm-Explosion,Stability,and
Convergence in on Evolutionary Computation [M].Piscataway,NJ:IEEE
Press,2004:990-97.
[41] den Analysis of Particle Swarm Optimizers [D].Department
of Computer Science ,University of Pretoria,South Africa,2002.
[42]Shi Y,Eberhart R Modified Particle Swarm Optimizer[C].
International Conference on Evolutionary Computation,1998,69-73.
[43]Shi Y ,Eberhart R adaptive particle swarm optimization[C].The
2001 Congress on Evolutionary ,NJ:IEEE
Press,2001:101-106.
[44]Kennedy J and Eberhart R discrete binary version of the Paticle
swarm algorithm[C].Proceeding of the World Multi-conference on
Systemics,Cybernetic and Informatics Piscataway,NJ,1997,4104-4109.
[45]Angeline Selection to Improve Particle Swarm
Optimization[J]. Computation,1998,84-89.
[46]Miranda -evolutionary particle swarm optimization,a new algorithm
ith applications in power systems[C].
2002,(2):6-10.
[47] 吕振肃,侯志荣.自适应变异的粒子群优化算法.电子学报,2004,32(3):
416-420.
[48] 李炳宇,萧蕴诗,吴启迪.一种基于粒子群算法求解约束优化问题的混合算法.控
制与决策,2004,19(7):804-806.
[49] Clerc M.The swarm and the queen:Towards a deterministic and adaptive
particle swarm optimization.ProceedingsEvolutionaryComputation,Washington,
1999:1951-1957.
[50]Brits R , Engelbrchta P , Bergh F D . A niching particle swarm
Conf.on Simulated Evolution and Learning,Singapore,
IEEE Inc,2002:1037-1040.
[51]吴华丽,吴进华,汪秀莉.基于动态改变惯性权值的粒子群算法.理论与方法,2008,
27(10):6-8.
[52]张建科.几类改进的粒子群算法.西安电子科技大学,2006年硕士论文,P19-23.
[53]Angeline P J . Using Selection to improve Particle Swarm
Optimization[A].Proceedings of the 1999 Congress on Evolutionary
Computation[C].Piscataway,NJ:IEEE Press,1999:84-89.
[54]Lvbjerg M,R assmussen T K,Krink Particle Swarm Optimizer with
Breeding and Subpopulations [A].Third Genetic and Evolutionary Computation
Conference [C].Piscataway,NJ:IEEE Press,2001.
[55]Higashi N , Iba H . Particle Swarm Optimization with Gaussian
Mutation[A] . Proceedings of the 2003 Congress on Evolutionary
Computation[C].Piscataway,NJ:IEEE Press,2003.72-89.
[56]Shi Y,Experimental Study of Particle Swarm of Optimization[R] Proceedings
SCI Conference,Orlando,FL,2000.
[57] 熊俊文 ,吕崔英.催化裂化分馏塔多目标遗传算法优化.计算机与应用化
学,2006,23(5):462-463.
[58] 申慧敏, 基于自适应的多目标遗传算法研究及其应用[D].华南理工大学硕士论
文.2006
[59] 周晓静,吕崔英.基于改进蚁群算法的催化裂化分馏塔在线多目标优化.计算机与应
用化学,2009,26(4):443-446.
[60] Chatterjee A,Siarry inertia weight variation for dynamic
adaptation in particle swarm optimization[J]. Computers and Operations
Research,2006,33(3):859-871.
[60] 陈云,吕翠英.正交实验设计在粗汽油千点多辅助变量选择中的应用.石油学报(石
油加工),2004,20(6):46一 50.
[61]纪震,廖惠连,吴青华.粒子群算法及应用.科学出版社 2009年 1月.
攻读硕士期间取得的研究成果
致谢