主权项 |
1.一种PID控制器参数优化方法,其特征在于,以每一组可行的PID控制参数作为一个粒子,利用梯度修正粒子群优化算法搜索出最优的PID控制器参数;所述梯度修正粒子群优化算法具体包括以下步骤:步骤A、确定粒子种群数量N和优化最大代数k<sub>max</sub>;步骤B、在粒子的取值范围内初始化粒子种群每一个粒子的位置和速度;步骤C、判断每个粒子的位置是否违反预设的不等式约束条件,对于违反不等式约束条件的粒子,则使用梯度修正方法将违反不等式约束条件的粒子的位置进行修正,使修正后的粒子的位置满足不等式约束条件;对于任意一个位置为x的违反了不等式约束条件的粒子,按照以下梯度修正方法修正其位置:步骤1、以所要修正的粒子位置x作为初始值x<sup>0</sup>;步骤2、按下式修正所述粒子的位置:<![CDATA[<math><mrow><msup><mi>x</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><msup><mi>x</mi><mi>t</mi></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mo>▿</mo><mi>x</mi></msub><msup><mi>v</mi><mi>t</mi></msup><mo>)</mo></mrow><mo>+</mo></msup><mo>×</mo><mi>Δ</mi><msup><mi>v</mi><mi>t</mi></msup></mrow></math>]]></maths>式中,x<sup>t</sup>、x<sup>t+1</sup>分别表示第t次、第t+1次修正后的粒子位置,t=0,1,2,3…;Δv<sup>t</sup>=Min{0,-g(x<sup>t</sup>)}为第t次修正后粒子位置的约束违反变量,g(·)表示括号中粒子位置的不等式约束条件函数值;<img file="FDA0000421959020000013.GIF" wi="131" he="61" />表示第t次修正后粒子位置的约束函数变化率变量<img file="FDA0000421959020000014.GIF" wi="80" he="58" />的伪逆,<![CDATA[<math><mrow><msub><mo>▿</mo><mi>x</mi></msub><msup><mi>v</mi><mi>t</mi></msup><mo>=</mo><mfrac><mn>1</mn><mi>e</mi></mfrac><mo>·</mo><mi>g</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>t</mi></msup><mo>+</mo><mi>e</mi><mo>)</mo></mrow><mo>-</mo><mi>g</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>t</mi></msup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>e为预设的扰动小量;步骤3、判断x<sup>t+1</sup>是否违反所述不等式约束条件,如是,则转至步骤2;如否,则以当前的x<sup>t+1</sup>作为最终的粒子位置修正值并退出;步骤D、计算每一个粒子的性能指标函数值;步骤E、计算每个粒子的个体最优值p<sub>i</sub>和当前粒子种群最优值p<sub>g</sub>,如粒子当前值优于p<sub>i</sub>,则将粒子当前值设置为p<sub>i</sub>,如全部粒子当前值中有优于p<sub>g</sub>的粒子,则将该粒子当前值设置为p<sub>g</sub>;步骤F、判断当前最优值是否满足性能指标停止条件或达到最大优化代数,如满足二者之一即停止算法并转到步骤H;步骤G、更新每个粒子的位置并转到步骤C;.步骤H、输出最优粒子的位置和对应的性能指标函数值。 |