Optimize PI controller parameters using ISE, IAE and ITAE minimization
Authors: Housam Binous and Ahmed Bellagi
Optimize PI controller parameters using ISE, IAE and ITAE minimization
Authors: Housam Binous and Ahmed Bellagi
Authors: Housam Binous and Ahmed Bellagi
Consider the feedback control of a three non-interacting tanks in series system (see Ref. 1). We use ISE, IAE and ITAE criteria in order to fetch the optimal PI controller parameters. The feedback loop is modeled using SIMULINK while the optimal PI controller parameters are obtained using fmincon. These results are in agreement with their counterparts computed using Mathematica.
References:
[1] https://github.com/Aadityaamlan-Panda/Three-NonInt-Tanks
References:
[1] https://github.com/Aadityaamlan-Panda/Three-NonInt-Tanks
In[]:=
Kc=.;TAUI=.;TAUD=0;
In[]:=
Gm=1;Gv=1;Gp=6/(2s+1)/(4s+1)/(6s+1);
In[]:=
Gc[KP_?NumericQ,TAUI_?NumericQ]:=KP(1+1/s/TAUI)
In[]:=
G[KP_?NumericQ,TAUI_?NumericQ]:=GpGmGvGc[KP,TAUI]/(1+GpGmGvGc[KP,TAUI])
In[]:=
y[KP_?NumericQ,TAUI_?NumericQ]:=InverseLaplaceTransform[1/sG[KP,TAUI],s,t]//Chop;
ISE
ISE
In[]:=
f1[KP_?NumericQ,TAUI_?NumericQ]:=Re[Quiet@NIntegrate[(1-y[KP,TAUI])^2,{t,0,100}]//Chop];
In[]:=
NMinimize[f1[KP,TAUI],{KP,TAUI},MaxIterations->10]
Out[]=
{4.63684,{KP0.559065,TAUI23.6772}}
IAE
IAE
In[]:=
f2[KP_?NumericQ,TAUI_?NumericQ]:=Re[Quiet@NIntegrate[Abs[(1-y[KP,TAUI])],{t,0,100}]//Chop];
In[]:=
NMinimize[f2[KP,TAUI],{KP,TAUI},MaxIterations->10]
Out[]=
{8.60913,{KP0.31873,TAUI13.0011}}
ITAE
ITAE
In[]:=
f3[KP_?NumericQ,TAUI_?NumericQ]:=Re[Quiet@NIntegrate[tAbs[(1-y[KP,TAUI])],{t,0,100}]//Chop];
In[]:=
NMinimize[f3[KP,TAUI],{KP,TAUI},MaxIterations->10]
Out[]=
{68.8903,{KP0.196318,TAUI9.65582}}