1、粒子群算法在控制系统中的应用姓名: 崔鑫磊 学号: 1201s201 专业: 自动化 指导老师: 杜萌 2015 年 6 月 15 日第 1 页摘要随着现代工业生产日趋大型化和复杂化,对控制系统的要求也越来越高。粒子群优化算法是一种基于种群的随机优化方法。与传统的优化方法相比,算法具有结构简单、参数较少、易于实现以及全局寻优能力强等优点。本文第一部分对 PSO 算法起源、原理以及实现步骤进行了详细介绍,之后在第二部分主要介绍了粒子群算法在控制系统中的应用,本文以混沌控制系统为例,先简要阐述了混沌系统的工作原理,提出了基于粒子群算法的模糊控制策略,以改善模糊控制的相关性能,并详细说明了该控制策略
2、的设计思想和实现,最终用 Matlab 进行系统仿真,并将仿真结果进行对比分析,结果表明该控制策略能有效提高控制系统的动态品质和稳态精度,具有很好的实际应用前景。关键字:粒子群优化算法,混沌控制系统, 系统仿真AbstractWith the development of modern industry, the requirements of the control system are becoming more and more large and complex. Particle swarm optimization is a stochastic optimization meth
3、od based on population. Compared with the traditional optimization method, the algorithm has the advantages of simple structure, less parameters, easy implementation and strong global optimization ability. In the first part of this paper, the origin of the PSO algorithm principle and implementation
4、steps are introduced in detail, then in the second part mainly introduces the application of particle swarm algorithm in the control system, based on the chaotic control system as an example, briefly describes the working principle of chaotic systems, is proposed based on particle swarm optimization
5、 algorithm of fuzzy control strategy, in order to improve the performance of fuzzy control, and a detailed description of the design and implementation of the control strategy, the final system with Matlab simulation, and the simulation results were analyzed, the results show that the control strate
6、gy can effectively improve the control system dynamic performance and steady-state precision, and has a very good application prospect.Key words: particle swarm optimization algorithm, chaos control system, system simulation.第 2 页一、 粒子群算法的介绍1.1、课题研究背景以及研究意义优化问题是工业设计中经常遇到的问题,许多问题最后都可以归结为优化问题。为了解决各种各样
7、的优化问题,人们提出了许多优化算法,比较著名的有爬山法、神经算法和遗传算法等。优化问题有两个主要问题。一是要求寻找全局最小点,二是要求有较高的收敛速度。爬山法精度较高,但是易于陷入局部极小。遗传算法、神经网络算法等也还存在某些不足,前者要涉及到繁琐的编码解码过程和很大的计算量,后者的编程和解码过程需要大量 CPU 时间,算法易早熟,收敛易陷入局部最优,往往不能同时满足控制系统的速度和精度,且隐含层数目、神经元个数以及初始权值等参数选择都没有系统的方法。1.2、粒子群算法的起源Kennedy 和 Eberhart 通过对鸟群觅食过程的分析和模拟,于 1995 年最先提出了原始的粒子群算法(Par
8、ticle Swarm Optimization,PSO ) 。粒子群算法一经提出就迅速成为进第 3 页化计算领域和智能优化方面的研究热点,被广泛应用数据挖掘、动态环境优化、目标函数优化、模糊控制系统和神经网络训练等众多领域。它能够高效、并行的搜索问题空间所对应的编码空间,从而得到问题的全局最优值。具有运行速度快,数学表达简单的优点。但也有易早熟,易收敛到局部最优值等问题。同时研究发现,整个粒子群的运动是有规律的,但整个种群的初始化具有很大的随机性和不可预测性。如果将粒子群算法和混沌变量的遍历性结合起来,充分发挥混沌的遍历性和对初始条件的敏感性,将使粒子更均匀的分布在整个搜索空间,使得算法能更
9、好保持种群多样性,逃脱局部最优值,改善算法的全局搜索能力,提高算法收敛的成功率。Kennedy 在他的书中描述了粒子群算法思想的起源: 自 20 世纪 30 年代以来,社会心理学的发展揭示:我们都是鱼群或鸟群聚集行为的遵循者。在人们的不断交互过程中,由于相互的影响和模仿,他们总会变得更相似,结果就形成了规范和文明。人类的自然行为和鱼群及鸟群并不类似,而人类在高维认知空间中的思维轨迹却与之非常类似。思维背后的社会现象远比鱼群和鸟群聚集过程中的优美动作复杂的多:首先,思维发生在信念空间,其维数远远高于 3;其次,当两种思想在认知空间会聚于同一点时,我们称其一致,而不是发生冲突。1.3、粒子群算法的
10、原理及实现首先介绍粒子群算法中的几个基本概念: (1 )粒子:粒子是粒子群算法中的基本单位,没有重量、没有体积。每一个粒子的位置都代表所求问题的一个候选最优解。 (2 )种群规模:搜索空间中候选最优值的个数,也即粒子的个数。种群规模较小时,计算时间短,运算速度比较快,搜索效率高,但种群多样性差,易引起早熟收敛;种群规模较大时,算法计算量增大,寻优效率降低,但种群多样性好,更容易找到全局最优点。优化不同的问题所需的最佳种群规模都各不相同。在解决普通的优化问题时,为了平衡种群的多样性和算法的搜索效率,种群规模一般取 20 至 40。 (3 )搜索空间及维数:搜索空间即粒子每一维的取值范围,通常选取
11、一个大致的搜索空间范围,经过多次运行算法程序分别调整设置不同维的范围。维数就是要求解的最优值的个数。 (4 )适应度函数:用来评价粒子的搜索性能、指导粒子搜索过程的函数表达式。算法迭代停止或达到最大迭代次数时,适应度函数所找到的变量就是要搜索的最优值。一般由优化目标来决定适应度函数的选取。 (5 )历史最优值:单个粒子从搜索开始到当前迭代次数时,适应度值最优的变量。 (6 )全局最优值:整个种群从搜索开始到当前迭代次数时,适应度值最优的变量。 第 4 页(7 )迭代次数为程序运行中的进化代数,最大迭代次数和算法的精度都属于终止条件,取值由具体问题决定。1.3.1 粒子群算法原理设在一个 D 维
12、搜索空间中,有 N 个粒子,即粒子种群规模为 N ,在可能的搜索范围-Xmax, Xmax 内服从均匀分布产生 N 个粒子的位置 ,每个粒子的速度都在-Vmax, Vmax内 , 且 服 从 均 匀 分 布 产 生 。其 中 第 i 个 粒 子 位 置 为 X=x1 x2.xnT,速度为 V=v1 v2.vnT,历史最优值为 P=P1 P2.PnT,种群的全局最优值为 Pg=Pg1Pg2.PgnT。粒子 Xi 在本身速度、历史最优值和全局最优值的影响下,按追随当前最优粒子的原理,更新自身的速度和位置。每个粒子的速度和下一次的位置,分别由公式(2-1和(2-2)决定:公式中:N=1, 2.,是粒
13、子的编码;t 是当前迭代次数;C1C2 一学习因子,分别用来调整粒子速度更新公式中“自我认知”与“社会认知”在速度项中的权重若 C1= 0,则粒子只有社会经验收敛速度较快,但容易陷入局部最优点。而 C2 = 0,则粒子之间没有交互和共享信息,相当于各个粒子单独寻优寻优效果较差;r1 、r2 是(0,1) 的随机数。通常称公式(2-1)和公式(2-2)为基本粒子群优化算法进化公式。其中公式(2-1)为粒子速度更新公式,也代表了粒子的运动步长。其中第一部分称为动量部分,为粒子提供一个依据自身速度进行惯性运动的动量,保证粒子能够飞行;第二部分为“自我认知“部分,引导粒子向本身经历的最优位置运动;第三
14、部分为“社会认知”部分,引导粒子向当前的全局最优位置运动。公式(2-2)为位置更新公式,粒子根据速度方向和搜索步长向下一个位置运动。1.3.2、基本粒子群算法的实现步骤基本粒子群优化算法的实现步骤如下所示: Step1:设定种群规模 N 、最优值空间维数 D 、算法精度、最大迭代次数 maxT 等参数初始化迭代次数; Step2:随机初始化种群,在取值空间范围内生成粒子的位置和速度; Step3:根据适应度函数,计算每个粒子的适应度值,初始化单个粒子的历史最优值和种群的全局最优值; Step4:根据公式(2-1) 、 (2-2)对各个粒子的速度和位置进行更新; 第 5 页Step5:每个粒子将
15、本次迭代中计算的适应值,与自身的历史最优值进行比较。若好于历史最优值,则将本次迭代中计算的适应值作为新的历史最优值。否则,历史最优值保持不变; Step6:每个粒子都将自己的历史最优值,与种群的全局最优值进行比较。若好于种群的全局最优值,则将该历史最优值作为新的全局最优值。否则,全局最优值保持不变; Step7:如果没有达到精度或最大迭代次数,返回 Step4,迭代次数加 1,进入下一次迭代,否则停止循环。基本粒子群优化算法的实现流程如图 2.1 所示:第 6 页二、 粒子群算法在控制系统中的应用2.1、粒子群算法在模糊控制系统中的应用2.1.1、模糊控制的结构和原理模糊控制是建立在人类模糊性
16、思维基础上的一种控制方式,它以人的知识和经验作为实现控制的知识模型,以模糊集合、模糊语言以及模糊逻辑推理作为模糊算法的理论工具,最终通过计算机来实现的一种智能控制。其主要思想是通过模糊理论将人的知识和经验融入到控制策略中,用于控制难以用传统控制策略进行控制的复杂系统。模糊控制结构如图所示。模糊控制器的核心,甚至整个模糊控制器都是由计算机来实现的。计算机接收到传感器测得的被控制量的反馈量(精确值)后,将其与给定值进行比较得到误差信号 E。一般会将误差 E 以及误差变化率作为模糊控制器的输入量,把误差 E 和误差变化率 EC 的精确值进行模糊化处理转化为模糊量,误差、误差的模糊量都将用相应的模糊语
17、言表示。这样得到了误差 E 和误差 EC 的模糊语言集合的一个集合 。再由集合 、模糊控制规则 (模糊关系)根据模糊逻辑eeR推理的合成规则进行模糊决策,得到模糊控制量 为:u= *ueR第 7 页但模糊量不能直接作为执行机构的输入,还需经过解模糊化即将模糊量转换成精确值。在解模糊化后,模糊量成为精确值,再通过数模转换对执行机构施加模拟控制量,以此实现对被控对象的控制。模糊控制器正是不断重复上述过程来实现控制功能的。综上所述,模糊控制的实现可以总结为以下步骤:1)通过传感器得到反馈量即系统的输出值,计算所需的系统输入量如误差E。2)将输入的精确值进行模糊化处理。3)根据输入变量以及模糊控制规则
18、,按照模糊推理合成规则计算出控制量(模糊量) 。4)将控制量(模糊量)进行解模糊化处理。2.1.2、基于粒子群算法的模糊控制策略糊控制存在控制函数失真的问题,其主要是指初始控制规则的主要特征和总体趋势随时间的推移和变论域的操作,无法从宏观的派生性上得到完全的保持,使得控制无法达到预期的效果。由于模糊系统基本处于黑箱状态,被控对象大都具有高度的非线性、强親合等特性,所以一般构造定式伸缩因子很难有效避免失真产生。现引入粒子群算法求取伸缩因子,期望通过合理设置算法的适应度值函数,使伸缩因子求取更合理,失真现象得到改善,来提高变论域模糊控制策略的控制效果。下面以应用得最为广泛的双输入单输出形式的模糊控
19、制器为例,说明基于粒子群算法的变论域模糊控制器的设计思想。设输入误差及误差变化率的论域,分别为 FX1=-E, E,FX 2=-EC, EC ,输出变量的论域为 FY=-U, U。论域 FX1FX2FY 将根据被控系统的状态(一般为 e、ec )的变化,而在线进行动态调整以获得更好的控制效果。其数学表达式如下:将 PSO 算法用作为伸缩因子的寻优算法,以此构成变论域模糊控制器。首第 8 页先,要基于系统相关的性能指标(一般为误差和误差变化率)构建 PSO 算法的适应度函数,然后 PSO 算法基于此适应度函数,在每个采样周期内对伸缩因子寻优,寻优求得最优解后,将其输出作为下个采样时刻变论域模糊控
20、制器的伸缩因子。为了便于变论域模糊控制器的实现,基于粒子群算法的变论域模糊控制器将采用以输入伸缩因子 a1(e,ec)和 a2(e,ec)和分别除以输入变量和,输出伸缩因子, ;乘以输出变量 u 的方式进行变论域的实现控制器结构。其系统结构如图所示。由图可得,随着伸缩因子变小而收缩时,就相当于模糊控制器的控制规则得到了增加,控制更为细腻、精确。让模糊控制器在实际不增加任何控制规则的情况下,让控制器的动态性能和稳态精度都得到了提升。对于伸缩因子应该具备的相关特性即对偶性、趋零性、单调性、协调性、正规性,粒子群算法能严格满足趋零性、单调性、协调性以及正规性的要求。但是由于 PSO 算法是一种启发式
21、搜索算法,受搜索精度和相关参数限制,其寻优得到的伸缩因子很难完全严格满足对偶性特征,但不严格的对偶性特征是能保证的。并且,也正是基于算法是一种启发式搜索算法,在拥有合适的适应度值函数作为评价机制时,它将比一般的定式变论域模糊控制拥有更好的适应性,使其更好的避免变论域所可能导致的模糊推理规则严重失真现象的产生。下图是应用于伸缩因子寻优的粒子群算法流程图:第 9 页从图可以看出,基于粒子群算法变论域的模糊控制的算法基本与标准粒子群算法的流程一致,但在算法初始化及其参数的选择方面有较大差别。在初始化阶段,算法随机初始化种群中各粒子的速度 Vi 和位置 Xi。为了保证算法在第一次迭代时,模糊控制算法的
22、输入变量不会超出所有粒子使论域变化之后的论域范围,故将 X1 初始化为(1,1,1) ,同时,由于在多数情况下,整个模糊系统的变化趋势都相对稳定,所以为了保证在系统处在一个稳定的变化趋势时,每个采样周期能利用上一次寻优求得的全局最优值快速收敛,X 2 在控制开始的第一个釆样周期时初始化为随机值,以后每个采样周期都将 X2 初始化为上个采样周期的全局最优值,而系统受到较大扰动产生突变的情况则由其他随机初始化粒子“照顾” 。2.1.3、pso 算法仿真实验及分析第 10 页本节主要是将基于粒子群算法变论域的模糊控制策略进行仿真实验,并将仿真结果与模糊控制和定式变论域模糊控制的仿真结果进行比较。并分
23、析算法的相关特性。由于模糊控制本就已经能够对系统进行粗糖控制,所以用于伸缩因子寻优的粒子群算法仅需要较小的种群规模和迭代次数,就使寻优解达到较高精度。正因如此,使得算法的实现和满足实时性上,能得到较好的保证。粒子群算法相关参数设置如下:种群规模:N=5;惯性因子: ;)(*5.04)(KNkw加速因子:C1=2,C2=2;最大迭代次数:MaxDT=8;最大速度:V max =0.3;为了获得满意的控制特性,系统采用误差绝对值及误差变化率绝对值的加权作为适应度值函数,取其最小值为最佳,停止迭代的适应度值条件为 J=0.5。这一适应度值函数能有效评价控制函数的控制品质,能保证在变论域过程中使控制器
24、在最大范围内减小系统误差,使变论域等效的控制函数能有效逼近响应函数,有效较少失真现象的产生,也能兼顾防止系统的剧烈波动。设系统输入为:80)(ut扰动设为:第 11 页为了验证算法的有效性,以及应用该算法的控制器的控制效果。本文将釆用模糊控制、定式变论域模糊控制、基于粒子群算法的变论域模糊控制进行仿真对比。仿真中,用于定式变论域模糊控制器的伸缩因子的形式为:图为模糊控制与基于粒子群算法的变论域模糊控制的仿真系统输出曲线。从图中可以看出基于粒子群算法变论域的模糊控制算法要远优于常规模糊控制算法。其中,可以看到基于粒子群算法变论域的模糊控制大概在 20 秒左右达到稳态,而常规模糊控制在50 多秒是
25、才达到稳态。并且,两种控制策略在稳态精度上存在明显差距,者稳态值基本在79mm 以上,而后者稳态值最尚也没有超过 78mm。所以不管是从系统的动态响应还是系统的稳态精度等方面去考量,基于粒子群算法变论域的模糊控制算法获得的响应参数比常规模糊控制要改善不少。第 12 页三、 总结随着工业技术的不断发展,模糊控制的应用领域也在不断扩大,特别是在复杂对象的控制方面,而且模糊控制已然成为了控制领域非常重要的一个研究方向。但随着应用领域的不断扩展和工程应用的不断增多,模糊控制的缺陷也不断显现出来。如模糊规则的制定,控制器的自适应性,控制效果与模糊规则的数量以及控制器实现之间的矛盾等。本文在研究了模糊控制和粒子群优化算法的基础上,提出了基于粒子群算法模糊控制策略以期改善模糊控制的相关不足。参考文献第 13 页【1 】 曾光奇模糊控制理论与工程应用武汉:华中科技大学出版社,2006【2 】 李士勇模糊控制神经控制和智能控制论哈尔滨哈尔滨工业大学出版社,1996【3 】 唐雷基于改进 pso 的模糊控制器的设计与优化合肥:中国科技大学,2009【4 】 董元王勇易克初粒子群优化算法发展综述商洛学院学报,2006 ,【5 】 汪定伟王俊伟智能优化算法高等教育出版社,2007