基于粒子群算法的pid控制器优化设计

基于粒子群算法的pid控制器优化设计

ID:22096335

大小:175.72 KB

页数:5页

时间:2018-10-27

基于粒子群算法的pid控制器优化设计_第1页
基于粒子群算法的pid控制器优化设计_第2页
基于粒子群算法的pid控制器优化设计_第3页
基于粒子群算法的pid控制器优化设计_第4页
基于粒子群算法的pid控制器优化设计_第5页
资源描述:

《基于粒子群算法的pid控制器优化设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于粒子群算法的PID控制器优化设计1、案例背景PID控制器的性能取决于Kp、Ki、Kd这3个参数是否合理,闪此,优化PID控制器参数具有重要意义。目前,PID控制器参数主要是人工调整,这种方法不仅费时,而且不能保证获得最佳的性能。PSO已经广泛应用于函数优化、神经网络训练、模式分类、模糊系统控制以及其它应用领域,本案例将使用PSO进行PID控制器参数的优化设计。2、案例目录:第14章基于粒子群算法的PID控制器优化设计14.1案例背景14.1.1粒子群算法原理14.1.2PID控制器优化没计14.2模型建立14.2.1PID控制器模型14.2.2算法流程14.2.2.1优化过程14.2.2.

2、2粒子群算法实现14.3编程实现14.3.1Simulink部分的程序实现14.3.2PSO部分的程序实现14.3.3结果分析14.4案例扩展14.5参考文献3、案例实例及结果:PID控制器的系统结构图如图14-1所示囝144PID控制器系统结构图。选取的被控对象为以下不稳定系统:G(s)=-4——3——2s+S.y+—s+0.4运行代码,得到优化过程如阁14-4和阁14-5所示,前者为PID控制器3个参数Kp、Ki、Kd的变化曲线,后者为性能指标ITAE的变化曲线。得到的最优控制器参数及性能指标为Kp=33.6469,Ki=0.1662,Kd=38.8063,ITAE=1.0580,将以上参

3、数代回如图14-2所示的模型,得到的单位阶跃响应曲线如图14-6所示。本案例使用粒子群算法优化PID控制器参数,事实上,其它的优化算法,比如遗传算法、模拟退火算法等,也可以用于PID控制器的参数优化,这里将使用遗传算法(GeneticAlgorithm,GA)对PID控制器进行参数优化。得到的进化过程曲线、最优参数对应的单位阶跃响应曲线分别如图14-7、图14-8所示。535253.2.10125sallalu.1020%•40SOecGeneration70SO901004、主程序:%%清空环境clearclc%%参数设置w=0.6;%惯性因子cl=2;%加速常数c2=2;%加速常数Dim=

4、3;%维数SwarmSize=100;%粒子群规模Obj'Fun=@PSO_PID;%待优化函数句柄Maxlter=100;%最大迭代次数MinFit=0.1;%最小适应值Vmax=1;Vmin=-1;Ub=[300300300];Lb=[0001;%%粒子群初始化、初始化粒子群%初始化速度粒子群的适应值Range=ones(SwarmSize,l)*(Ub-Lb);Swarm=rand(SwarmSize,Dim).*Range+ones(SwarmSize,l)*LbVStep=rand(SwarmSize,Dim)*(Vmax-Vmin)+VminfSwarm=zeros(SwarmSi

5、ze,l);fori=l:SwarmSizefSwarm(i/:)=feval(ObjFun,Swarm(i,:));%end%%个体极值和群体极值[bestfbestindex]=min(fSwarm);zbest=Swarm(bestindex,:);%全局撮桂gbest=Swarm;%个体最佳fgbest=fSwarm;%个体最佳遗应值fzbest=bestf;%全局最佳适应值%%迭代寻优iter=0;y_fitness=zeros(l,Maxlter);%预先产虫4个空矩阵K_p=zeros(l,Maxlter);K_i=zeros(l,Maxlter);K_d=zeros(l,Max

6、lter);while)(iterMinFit))forj=l:SwarmSize+c2*rand*(zbest-%速度更新VStep(j,:)=w*VStep(j,:)+cl*rand*(gbest(j,:)-Swarm(j,:))Swarmfj;:));ifVStep(j,:}〉Vmax,VStep(j,:)=Vmax;endifVStepO.^Vmin,VStep(j,:)=Vmin;end%位置更新Swarm(j,:卜Swarm(j,O+VStep(j,:);fork=l:DimifSwarm(j,k)>Ub(k),Swarm(j,k)=Ub(k)

7、;endifSwarm(j,k)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。