使用并行模拟PID控制器优化模型的目标函数金宝app

17日视图(30天)
我调整PID控制器在模型使用优化工具(遗传算法)。金宝app它工作正常但迭代模拟串行和占用太多的时间。我看见一个 回答 通过使用Simulink.SimulationInput并行运行模拟。金宝app
我试过这个解决方案和仿真运行快,但优化值是不正确的,也是健身价值图是不正常的。我想问题是新的objetive函数的并行模拟“成本(i2, 1) = Simout.ITAE(结束)”。我会很感激如果你可以修改客观因数等专家我卡住了很多天。我将我的目标函数。
请注意,模拟输出块名称ITAE(工作区),湖南绿色,是成本函数
Matlab版本:R2021b
金宝appvarriables仿真软件模型和PID控制器
住编辑器来优化PID收益
%设置默认的解算器选项
options2 = optimoptions (“遗传算法”,“UseVectorized”,真的,“CreationFcn”,
“gacreationuniform”,“SelectionFcn”,“selectiontournament”,“MutationFcn”,
“mutationadaptfeasible”,“显示”,“通路”,“PlotFcn”,“gaplotbestf”);
%解决
[solution2, objectiveValue] = ga (@tunning nVariables, [], [], [], [],
0 (nVariables, 1), repmat (5 nVariables 1), [], [], options2);
串行目标函数工作正常,但缓慢的如下:
函数成本=装机(k)
assignin (“基地”,“k”、k);
sim卡(“test.slx”);
成本= ITAE(长度(ITAE));
结束
并行仿真目标函数提供错误的输出如下:

答案(1)

山姆翟
山姆翟 2022年8月19日
@Irfan汗
我不熟悉仿真软件的方法,但是金宝app MATLAB ,脚本找到PID收益服从ITAE准则看起来是这样的。
由于时间限制运行仿真,人口规模小,使用范围和较短的模拟时间。
fitfun = @costfun;%调用成本函数
PopSize = 3;%的人口规模
MaxGen = 6;%最大代
据nvar = 3;%的设计变量:P I D
一个=黑眼圈(据nvar);%线性约束* k < = b
b = 0(据nvar, 1);%(正方向搜索)
Aeq = [];
说真的= [];%线性约束Aeq * k =说真的
磅= (30.1 51.3 13.7);%的下界磅< k <乌兰巴托
乌兰巴托= (30.3 51.5 13.9);%磅< k <乌兰巴托的上界
nonlcon = [];%非线性约束C (k) < = 0和量表(k) = 0
[k fval exitflag、输出]= ga(据nvar fitfun, A、b Aeq,说真的,磅,乌兰巴托,nonlcon)
优化终止:平均不到options.FunctionTolerance健身价值的变化。
k = 1×3
30.1343 51.3026 13.7872
fval = 0.0353
exitflag = 1
输出=结构体字段:
problemtype:“linearconstraints”rngstate: [1×1 struct]代:51 funccount: 2450信息:优化终止:平均不到options.FunctionTolerance健身价值的变化。“maxconstraint: 0 hybridflag: []
%的目标函数进行优化
函数J = costfun (k)
%转移函数
G1 =特遣部队(1 (0.2 - 1));
G2 =特遣部队(1 (0.5 - 1));
G3 =特遣部队(0.8 [10]);
Gp = G1 * G2 * G3;
H = 20;
%补偿器
kp = k (1);%比例增益
ki = k (2);%积分获得
kd = k (3);%微分增益
Tf = 1/165.277936355792;% 1阶微分滤波器系数(1 / N)
Gc = pid (kp、ki kd, Tf);
%闭环系统(干扰路径)
Gd = minreal(反馈(G3, H * Gc * G1 * G2));
%成本函数
dt = 0.01;
泰= 0:dt: 8;
[y, t] =步骤(Gd,泰);
itae = t。* abs (0 - H * y (:));
J = trapz (t, itae);
结束
4评论
Farshid R
Farshid R 2022年9月26日
谢谢,我创建了一个新的问题,我将很高兴如果你能帮助我。这是链接:
//www.tatmou.com/matlabcentral/answers/1812615-optimization-with-fmincon-command-in-金宝appsimulink

登录置评。

类别

找到更多的在遗传算法帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!