基于模式遗传混合搜索算法的PID参数优化*

2022-12-21 08:37尹宋麟杨茂华
组合机床与自动化加工技术 2022年12期
关键词:步距搜索算法轴向

尹宋麟,谭 飞,b,杨茂华

(四川轻化工大学a.自动化与信息工程学院;b.人工智能四川省重点实验室,自贡 643000)

0 引言

模式搜索算法的基本思想是通过探测性移动和模式性移动,寻找到一条最优的路径接近最优点,求得在最优目标值时的参数[1]。广义模式搜索算法是模式搜索的推广,它较网格自适应搜索算法更为稳定[2]。该算法是一种直接搜索方法。由于其解决一般优化问题不需要问题的导数梯度等信息,只需要已知点的函数值,便于计算机迭代,在求解最优化问题上得到了较好应用,并用于解决约束优化问题[3-4]。刘文斌等[1]使用模式搜索算法,对三相无源PFC拓扑的相电流谐波函数进行电路参数的整定,实验结果表明模式搜索算法能正确的找到最优解。阳洋等[5]提出广义搜索算法结合无模型快速损伤定位理论形成全新损伤诊断方法,结果与标准偏差在3%以内,证明了方法的精确性及抗噪性效果。BEIGI等[6]提出模式搜索与萤火虫算法相结合的算法,来对单双二极管太阳能电池模型进行参数估计,结果表明改进算法有较强的竞争性。

但模式搜索的最优结果与搜索的起点有关,而且要求目标函数在搜索域可导且是单峰函数才能求解到全局最优解,因此必须选好初始点,这在实际应用时很难办到。模式搜索算法同全局性不够好的其它算法结合同样会陷入局部[7-8]。本文将详细分析模式搜索的缺陷,并改进模式计算方式,引入遗传交叉算法,适时与环境学习,解决全局优化的速度和精度问题。

1 模式搜索的问题分析

模式搜索通常由轴向探索,模式移动,配合模式步距自适应调整策略达到算法的收敛。

设优化函数:

maxf(x),x=(x1,x2,…,xn),x∈Rn,xi∈(biL,biU)

(1)

式中,biL、biU分别表示变量xi的下界和上界。

1.1 经典模式搜索算法

算法步骤如下:

步骤1:设置搜索步距Δ;设置步距终止标量条件ε=1E-10(一个较小的正数);令搜索变量维数j=1,步距放大系数α>1,通常取2;设置步距缩小系数β∈(0,1),通常取0.5。根据经验选取搜索域中一个起点x0并赋值给x1;

步骤2:对x1的第j维作x1j=x0j+Δ,

iff(x1)>f(x0),Δ⟸αΔ,转步骤4;

else,x1j⟸x0j,转步骤3,endif;

步骤3:对x1的第j维作x1j=x0j-Δ,

iff(x1)>f(x0),Δ⟸-αΔ,转步骤4,

else,x1j⟸x0j,Δ⟸-βΔ,转步骤4,endif;

步骤4:ifj=n,

iff(2·x1-x0)>f(x1),x0⟸2·x1-x0else,x0⟸x1,

endif;转步骤5;

else,j=j+1,

ifj>n,j=1;转步骤5,else,转步骤2,endif;

endif

步骤5:if |Δ|<ε,输出结果,算法停止,

else,x1⟸x0,转步骤2;endif。

经典模式搜索算法在搜索中自适应缩放搜索步距,如步骤2和步骤3,加速搜索;每一轮轴向搜索完成,进行组合模式搜索,如步骤4;当步距Δ小到给定精度时,算法停止,如步骤5。

图1 函数式(2)的曲面图形

该算法存在的问题不容忽视:①全局性不好。收敛位置与给的搜索起始位置密切相关,对多峰函数,函数很难收敛到全局最优解;②对约束问题的边界或目标函数一阶导数不连续,存在不稳定收敛,比如四面锥体,会收敛于棱上任意一点,因为轴向搜索无法改进搜索结果,所以很难搜索到锥体的最优顶点,这给约束优化带来困难。③在光滑曲面上,如果存在驻点,如式(2)所示,在点(0,0)各维的偏导数等于0但非极值点,经典模式搜索算法在这样的点上将无法启动搜索,最后收敛于这样的点,但若有扰动就可以离开改点,扰动方向不同,得到的极值也不同。

z=-(3x+1)sin[x·sin(x)]sin(y)
x∈(-3,3),y∈(-3,3)

(2)

所以模式搜索算法只能说是一种局部直接搜索算法,并且不能很好解决非光滑函数的极值求解,也不能满足全局搜索的要求。

1.2 算法的改进

为了改进经典模式搜索算法,克服算法缺陷,采用方法有:

(1)给每一维变量设置一个搜索半径,半径覆盖全搜索域,半径乘以一个(0,1)间的系数作为搜索的具体位置。在每一维变量搜索到区域内足够小后区间后,随机初始化系数,以扩散到全域任意位置,扩大搜索范围,这改进了原算法只有一个步距的局限。

(2)每轮轴向搜索结束后,采用搜索成功方向的增益(适应值增量比步距增量)来进行组合模式搜索,这样更有利于向最优目标靠近,而非经典模式搜索算法的第4步的步距增量组合模式搜索。

(3)所有维变量轴向搜索都失败时,引入遗传交叉搜索(即以概率变异当前解的部分维变量后进行评价),寻找优于当前最优解坐标点,改善全局性;若找到更优点再次重新进入模式搜索,快速搜索精确解;如果找不到更优解,并且达到给定的搜索评价次数后,算法结束。

算法每一维变量引入一个搜索信息向量,所有信息向量构成一个信息矩阵I,每一维变量的信息向量如式(3)所示。

Ij=[dj,cj,hj,wj,kj]T

(3)

式(3)表示变量xj的信息向量。式中,d表示每维变量搜索可达的最大半径,通常等于变量的上界减下界的差,对于不定域函数可根据搜索点的位置在线调整;c表示搜索方向,若c=0表示轴向搜索不成功,c=1表示正向搜索成功,c=-1表示反向搜索成功;h表示搜索步距系数,h∈(0,1);Δj=dj·cj·hj表示第j维搜索变量的增量;w表示轴向搜索的位置;kj表示搜索成功时增益,等于增加的目标适应值除以Δj。设置一个计数器ρ,算法进行搜索成功时保存c好的状态,计数器ρ清零;一旦搜索失败,置c=0,不成功计数器ρ加1,当ρ大于变量维数,进行一代遗传搜索,然后继续模式搜索。当ρ大于给定限值ρz,表明多次搜索失败,算法结束。

对于成功的轴向搜索,进行组合搜索,取新探测点方法如式(4)所示。

(4)

在模式搜索失败后转入进行ms次遗传交叉搜索,ms通常取2~10倍目标函数的变量数。遗传交叉算法是以当前模式搜索得到的最优解x为基点,按式(5)随机修改基点的部分元素进行搜索,一旦成功搜索到比当前更优解,计数器ρ清零,重新转入模式搜索,以保证解具有较好的全局性。

(5)

式中,ri为(0,1)的随机变量;biL和biU分别为变量xi的下界和上界。

2 改进的模式遗传搜索算法(IPSGA)

对算法的信息矩阵I初始化,第1行搜索半径I1取对应维变量的上下界之差;第2行搜索方向向量I2设置为全0;第3行I3搜索步距系数向量设为0.05~0.15间的随机数,便于算法快速找到搜索方向;第4行I4为给定的变量初值点,可通过随机在定义域产生mr个点,用目标函数评价后选取mr中的最优点x0作为模式搜索的初值点,令I4=x0;第5行为轴向搜索的增益向量,初值令为I5=0。

2.1 改进算法具体步骤

改进的模式遗传搜索算法流程如图2所示。

图2 模式遗传搜索算法流程图

算法首先初始化信息矩阵,步距行向量I1=BU-BL;设置步距终止标量条件ε=1E-10(一个较小的正数);步距放大系数α>1,通常取2;设置步距缩小系数β∈(0,1),通常取0.618;取起点x0,并赋值给x1⟸x0;f0=f(x0);设置不成功计数限值ρz=10n,ρ=0。首先进入模式搜索算法,当轴向搜索成功时,清空计数器同时采用组合模式搜索,在满足精度要求后,算法结束。当轴向搜索未成功时,采用遗传交叉搜索找寻优于当前的最有解,若没有找到更优点且达到评价次数,算法结束;若找到,再次采用模式搜索算法搜索最优解。

2.2 算法的全局收敛性分析

由于算法中引入了随机遗传交叉搜索,任给一个足够小的正数δ,有全局最优点x*所在的可接受域D满足式(6)。

D={x|f(x*)-f(x)|<δ,x∈Rn}

(6)

采用文献[8]的方法,设随机事件序列Am。

Am={ω|x∈D}

(7)

通过每次随机抽取落入D的概率为p,第m次迭代落入D的概率为P(Am)。

P(Am)=(1-p)m-1p

(8)

在m次随机取点中取到可接受域D中的概率为(p-(1-p)mp)/(1-p),当m趋于足够大时取到的概率为1 。所以该模式遗传算法保证了搜索结果的全局性和精度[2-4]。

3 仿真测试

采用文献[15]对应的标准测试函数,如表1所示。f1~f4为多峰函数,f5为单峰函数。对20维函数,用改进模式遗传搜索算法IPSGA,随机取点优化,最大2000次迭代或者连续20代结果无更新或结果优于1E-5终止。程序50次独立运行,与文献[8]的群模式搜索算法迭代结果以及文献[11]群迁移优化算法结果作比较,结果如表2所示。改进的模式搜索算法取得了较好的优化结果,算法的优化精度明显高于其他两种算法。

表1 测试函数

表2 5个测试函数的3算法计算结果对比

对表1中的函数6,设维数2,用本文改进的模式遗传搜索算法计算,与人工鱼群算法(AFSA)[12]、人口迁移算法(PMA)[13]、差分算法(DE/BEST/2)[14]、粒子群模式搜索算法(PSwarm)[10]、蚁群协同模式搜索算法(ACPSA)[15]、群模式全局搜索算法(SPGSA)[14]比较。这些群算法都设置为20。当算法计算值优于1E-3或高于50万次评价停止。独立运行50次,算法平均评价次数如表3所示。可以看到本文IPSGA算法达到规定精度的评价次数最少,是一种快速的搜索方法,这种改进的模式遗传搜索方法对评价耗时的目标进行搜索提供一种可选方案。

表3 不同算法对函数6的测试快速性对比

4 控制器参数优化

把本文改进的模式搜索算法用于实际微分PID控制器式(9)参数优化,它比常规理想微分PID有更好的抗噪声影响能力。

(9)

式中,kp为比例控制增益;Ti为积分时间;Td为微分时间;kd是微分增益,取值越大,微分作用越强。

控制对象为:

(10)

根据控制性能稳定快速准确的要求,设计偏差积分与控制快速性的综合控制指标:

(11)

式中,ts为系统调节时间(2%);tr为上升时间;e(t)为系统控制偏差,进行时间t加权积分,考虑系统平稳,超调不应过大,对超过给定值的偏差进行2倍惩罚。

图3 系统最优PID控制的阶跃响应

用式(9)和式(10)构成单回路控制,kd取2,采用本文IPSGA算法进行优化。以ZN法参数的两倍为搜索上界,进行1000次评价,优化得到的结果如表4所示。与文献[16]中ZN-PID和GA-PID以及文献[17]的自适应二次变异差分ASMDE-PID比较。优化的PID阶跃响应曲线如图3所示,改进的模式遗传混合算法得到的参数响应比差分算法快,总体可见本算法取得了快速且超调小的满意控制质量。

表4 不同方法的PID参数优化结果比较

5 结论

本文分析了模式搜索算法特点,结合它现存在的不足,提出了结合遗传交叉的混合算法,主要做了3方面改进:①引入信息向量,并改进了模式搜索半径,搜索点全域可达,便于全局寻优;②组合模式搜索改为方向增益组合,实验发现更有利于提高搜索速度;③引入遗传交叉学习,使算法具有更好的全局性。接着本文选取了典型的测试函数进行测试,取得了较好的计算结果。并把这种改进的模式搜索算法用于实际微分PID参数的优化,最后与ZN法、GA法和ASMDE法进行比较,结果表明本文算法具有快速而精确的寻优能力,也说明改进的模式遗传搜索算法的工程可用性。

猜你喜欢
步距搜索算法轴向
一种基于分层前探回溯搜索算法的合环回路拓扑分析方法
大型立式单级引黄离心泵轴向力平衡的研究
单线隧道大型机械化快速施工步距优化研究
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
采放比及步距的不同对采出率的影响分析
特别的赛跑
充填步距对矸石充填开采覆岩运动影响的数值模拟
荒铣加工轴向切深识别方法
一种可承受径向和轴向载荷的超声悬浮轴承