目录
1.课题概述
2.系统仿真结果
3.核心程序与模型
4.系统原理简介
5.完整工程文件
1.课题概述
头脑风暴优化(Brain Storm Optimization, BSO)是一种受人类集体创新过程启发的群体智能算法。它通过模拟团队成员之间的信息交流和想法生成来寻找最优解。将BSO应用于模糊PI控制系统的参数优化中,可以提高控制系统的性能。本课题将通过MATLAB/simulink来实现基于头脑风暴优化的模糊PI控制系统simulink建模与仿真。
2.系统仿真结果
(完整程序运行后无水印)
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;
08_079m
4.系统原理简介
头脑风暴优化(brain storm optimization,BSO)是一种基于人类的创造性解决问题的一种新的智能算法。
头脑风暴优化算法按如下步骤进行:
第一、产生种群大小为n的个体,并使用k-means聚类算法将n个个体分为m类,并从m个类别中分别选取一个最优的个体作为对应的中心体。
第二、选择m个类中任意一个类的中心体,并按概率大小确定是否被其他随机个体所替代。
第三、通过特定的方式进行个体的更新。更新方式主要有如下四种模式:
1).随机选择一个类,将随机扰动加到类中心上产生新的个体。
2).选择选择一个类,在该类中再随机选择一个个体,将随机扰动加到被选择的个体上产生新的个体。
3).随机选择两个类,将他们的中心进行融合,然后再加上一个随机的扰动产生一个新的个体。
4).随机选择两个类,每类中随机选择一个个体,然后进行融合并加上随机扰动产生一个新的个体。
通过头脑风暴优化算法,优化决定控制器性能的参数主要有:
一般是通过优化算法,去优化模糊规则的权值。
控制器的调整时间越短越好,
稳定后,控制器的抖动越小越好,
基本优化的目标就是这三个。
根据目前的情况,控制器的再优化过程中,设置仿真时间1s。
然后这个过程仿真速度非常慢。
综上所述,优化函数可以表示为:
然后通过头脑风暴优化算法,获得上述几个参数的最优值,然后再作用到系统进行控制。
5.完整工程文件
v