基于头脑风暴优化的模糊PI控制系统simulink建模与仿真

69 阅读3分钟

1.课题概述 头脑风暴优化(Brain Storm Optimization, BSO)是一种受人类集体创新过程启发的群体智能算法。它通过模拟团队成员之间的信息交流和想法生成来寻找最优解。将BSO应用于模糊PI控制系统的参数优化中,可以提高控制系统的性能。本课题将通过MATLAB/simulink来实现基于头脑风暴优化的模糊PI控制系统simulink建模与仿真。

2.系统仿真结果 (完整程序运行后无水印)

1.jpeg

2.jpeg

3.jpeg

3.核心程序与模型 版本:MATLAB2022a `function z = func_fitness(x)

P_0=x(1); I0=x(2);

kS3_1 = x(3); kS4_1 = x(4);

kk1 = x(5); kk2 = x(6); k3 = x(7); k4 = x(8);

P_3 = x(9); P_2 = x(10); P_1 = x(11); P0 = x(12); P1 = x(13); P2 = x(14); P3 = x(15);

save tmp.mat P_0 I0 kS3_1 kS4_1 kk1 kk2 k3 k4 P_3 P_2 P_1 P0 P1 P2 P3

% open('opt.slx'); sim('opt.slx');

load NewPIfuzzy_simulinkmodel\F2_d.mat NFPIdat1 = ans.Data; NFPIdat2 = ans.Time;

%计算超调 obj1 = max(NFPIdat1);

%计算收敛时间 indx = []; for i = 1:length(NFPIdat1)-1e5 if mean(NFPIdat1(i:i+1e5))<=1e-5 indx = [indx;i]; end end obj2 = NFPIdat2(indx(1)); %计算抖动 obj3 = std(NFPIdat1(end-100:end));

z = obj1+obj2+obj3; ` 4.系统原理简介 头脑风暴优化(brain storm optimization,BSO)是一种基于人类的创造性解决问题的一种新的智能算法。

   头脑风暴优化算法按如下步骤进行:

   第一、产生种群大小为n的个体,并使用k-means聚类算法将n个个体分为m类,并从m个类别中分别选取一个最优的个体作为对应的中心体。

   第二、选择m个类中任意一个类的中心体,并按概率大小确定是否被其他随机个体所替代。

   第三、通过特定的方式进行个体的更新。更新方式主要有如下四种模式:

1).随机选择一个类,将随机扰动加到类中心上产生新的个体。 2).选择选择一个类,在该类中再随机选择一个个体,将随机扰动加到被选择的个体上产生新的个体。 3).随机选择两个类,将他们的中心进行融合,然后再加上一个随机的扰动产生一个新的个体。 4).随机选择两个类,每类中随机选择一个个体,然后进行融合并加上随机扰动产生一个新的个体。

  通过头脑风暴优化算法,优化决定控制器性能的参数主要有:

91dd8cfc3b976b4265acefc32eaabf44_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

一般是通过优化算法,去优化模糊规则的权值。

控制器的调整时间越短越好,

稳定后,控制器的抖动越小越好,

基本优化的目标就是这三个。

根据目前的情况,控制器的再优化过程中,设置仿真时间1s。

然后这个过程仿真速度非常慢。

综上所述,优化函数可以表示为:

018ea9daf61b5f5609cba2b2d7c0e30f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

然后通过头脑风暴优化算法,获得上述几个参数的最优值,然后再作用到系统进行控制。