摘" 要: PID參數(shù)整定是PID控制中的一個(gè)關(guān)鍵步驟,常規(guī)的 PID控制在一定程度上已被淘汰。為改善PID控制的效果和精度,文中將黃金正弦策略與精英反向?qū)W習(xí)策略相結(jié)合,提出一種改進(jìn)的麻雀搜索算法。用23個(gè)標(biāo)準(zhǔn)函數(shù)對(duì)所提出的新方法進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果證明了新方法的有效性。利用改進(jìn)的麻雀搜索算法對(duì)PID控制參數(shù)進(jìn)行了優(yōu)化,并對(duì)該方法進(jìn)行了仿真分析。結(jié)果表明,采用該方法進(jìn)行PID參數(shù)整定時(shí),其具有更好的穩(wěn)定性、更高的精度和更好的性能。
關(guān)鍵詞: 麻雀搜索算法; PID控制; 參數(shù)整定; 黃金正弦策略; 精英反向?qū)W習(xí)策略; 群智能算法
中圖分類號(hào): TN919?34; TP311" " " " " " " " " "文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " " 文章編號(hào): 1004?373X(2024)12?0021?05
Design of PID parameter tuning system based on improved sparrow search algorithm
YANG Kaiming1, WANG Yilin2, XU Wenguang1, XING Xiangyun1, TAN Jiansuo1, WANG Hongliang2
(1. Tin Chemical Company of Yunnan Tin Industry Co., Ltd., Mengzi, 661019, China;
2. Faculty of Civil Aviation and Aeronautics, Kunming University of Science and Technology, Kunming 650504, China)
Abstract: PID parameter tuning is a key step in PID control, and conventional PID control has been eliminated to a certain extent. In order to improve the effect and accuracy of PID control, an improved sparrow search algorithm is proposed by combining the golden sine strategy with the elite inverse learning strategy. The proposed new method is verified with 23 standard functions, and the experimental results prove the effectiveness of the new method. The improved sparrow search algorithm is used to optimize the PID control parameters and the simulation analysis of this method is conducted, and the results show that the method has better stability, higher accuracy and better performance when the method is used for PID parameter rectification.
Keywords: sparrow search algorithm; PID control; parameter setting; golden sine strategy; elite reverse learning strategy; swarm intelligence algorithm
0" 引" 言
比例?積分?微分(PID)控制器在20世紀(jì)30年代出現(xiàn),因其原理簡(jiǎn)單、系統(tǒng)模型較為單一,被廣泛運(yùn)用于工業(yè)生產(chǎn)中。傳統(tǒng)的PID參數(shù)整定時(shí)產(chǎn)生的誤差較大,整定過程比較復(fù)雜,并且整定效果較差,產(chǎn)生的振蕩和超調(diào)量也很大,所以必須優(yōu)化PID控制參數(shù)。近些年來,一些智能優(yōu)化算法為PID的整定提供了新方向。
群智能算法(Swarm Intelligence Algorithm)是一種基于生物群體行為(如移動(dòng)、追逐、覓食等)的隨機(jī)優(yōu)化方法,其結(jié)構(gòu)簡(jiǎn)單、魯棒性強(qiáng),被廣泛應(yīng)用于求解高維、不可微性等復(fù)雜優(yōu)化問題。在過去10年里,研究者們從不同的生物行為中得到了靈感,先后提出了各種各樣的群智能算法[1]。
本文提出了一種基于黃金正弦策略和精英反向?qū)W習(xí)策略的麻雀搜索算法,選取了23個(gè)常用的測(cè)試函數(shù)來檢驗(yàn)所提算法的性能。為檢驗(yàn)此方法的正確性,文中還對(duì)二階系統(tǒng)的階躍響應(yīng)PID參數(shù)[2]進(jìn)行了調(diào)整,結(jié)果表明在同等條件下,改進(jìn)的麻雀優(yōu)化算法的誤差較小,優(yōu)化效果明顯,達(dá)到了預(yù)期效果。
1" 麻雀搜索算法
文獻(xiàn)[3]中提出了麻雀搜索算法(Sparrow Search Algorithm, SSA),這是一種基于麻雀覓食和規(guī)避天敵的群體智能算法。自適應(yīng)策略的建立,主要是從麻雀的取食與反捕食策略中得到的啟示,這種方法是一種新的、高效的、快速的搜索方法。成群結(jié)隊(duì)地飛來飛去,也是一種“發(fā)現(xiàn)?跟隨”模式,并與偵察和警告機(jī)制相結(jié)合。在這種情況下,每一只麻雀都會(huì)選擇一只最好的獵物作為獵食者,其余的獵食者則會(huì)選擇一只最好的獵食者作為獵食者,而另一只麻雀則會(huì)選擇一只獵食者作為獵食者。
SSA中,設(shè)D維搜索空間中N只麻雀的位置[4]為Xi,j=(Xi,1,Xi,2,…,Xi,D)。其中,i=1,2,…,N;Xi,j表示第i只麻雀在第j維的位置[5]。在每一次迭代過程中,選擇出一部分麻雀作為發(fā)現(xiàn)者、追隨者以及警戒者,按照順序?qū)ζ湮恢煤瓦m應(yīng)性函數(shù)進(jìn)行更新[6]。
發(fā)現(xiàn)者的使命是為所有的麻雀指出方位,并指出它們的食物來源。發(fā)現(xiàn)者位置更新公式[7]如下所示:[Xn+1i,j=Xn+1i,j·exp-iα·itermax," Rlt;STXn+1i,j+Q·L," " " " " " " " " "R≥ST] (1)
式中:itermax為最大迭代數(shù);α[∈](0,1] 是一種符合正態(tài)分布的隨機(jī)數(shù);L是一個(gè)1×Dim的一個(gè)矩陣;R[∈][0,1]表示預(yù)警值;ST[∈][0.5,1],代表安全值[3]。若Rlt;ST,在這個(gè)區(qū)域里如果沒有什么天敵的話,一旦遇到獵物,就會(huì)展開大規(guī)模的搜尋;若R≥ST,說明族群中有幾只麻雀發(fā)現(xiàn)了自己的天敵,正在向族群中的其他麻雀發(fā)出警告,這時(shí),所有的麻雀都必須快速地飛到其他安全的地方去尋找食物[8]。
至于入侵者,有些入侵者在尋找食物的時(shí)候會(huì)一直盯著發(fā)現(xiàn)食物的人。當(dāng)它們發(fā)現(xiàn)獵食者找到了更好的獵物時(shí),它們就會(huì)立刻離開原來的地方,另尋新的獵物。勝利的一方,可以得到對(duì)方的食物。它的位置更新公式如下:
[Xn+1i,j=Q·expxnworst-xn+1i,jα·itermax," igt;n2Xn+1B+Xn+1i,j-Xn+1B·L·A+," otherwise] (2)
式中:[Xn+1B]表示n+1代中最優(yōu)發(fā)現(xiàn)者的位置; [Xnworst]表示當(dāng)前n代中全局最差個(gè)體的位置;A表示一個(gè)1×Dim的矩陣[9],且A+=AT(AAT)-1。當(dāng)[igt;n2]時(shí),說明適應(yīng)度較低的最先進(jìn)來,因?yàn)闆]有得到任何食物[10],所以它必須要飛到其他地方尋找更多的食物,來補(bǔ)充自己的能量[9]。
在仿真試驗(yàn)中,假定有10%~20%的麻雀感覺到了危險(xiǎn),而這種麻雀最初的分布是隨機(jī)的[11],其警惕者位置更新公式[12]如下:
[Xn+1i,j=Xnbest·βXn+1i,j-Xn+1B," " " " "fi≠fkXni,j+kXni,j-Xnworst(fi-fworst)+ε," "fi=fk] (3)
式中:[Xnbest]是目前的n代全局最優(yōu)值;β是符合正態(tài)分布的步長(zhǎng)控制變量;k是一個(gè)隨機(jī)數(shù),取值在-1~1之間;fworst、[fi]、[fk]分別為全局最差適應(yīng)度值、當(dāng)前適應(yīng)度值、全局最優(yōu)適應(yīng)度值;[ε]是用來防止分母為0的最小常數(shù)[13]。當(dāng)[fi]gt;[fk]時(shí),說明該麻雀處在種群的邊緣,很容易受到掠食者的攻擊;當(dāng)[fi]=[fk]時(shí),說明該麻雀處在種群的中部,而且察覺到了危險(xiǎn),所以它會(huì)向其他個(gè)體靠攏,以保護(hù)自己不被掠食者攻擊[14]。
2" 改進(jìn)的麻雀搜索算法
2.1" 黃金正弦策略
黃金正弦算法(Golden Sine Algorithm, Golden?SA)由Tanyildiz于2017年提出。Golden?SA將正弦函數(shù)和單位圓連接起來,使其能夠遍歷所有的點(diǎn),也就是遍歷單位圓。在一個(gè)完整的單位圓內(nèi)進(jìn)行掃描,類似于在最優(yōu)化問題中進(jìn)行搜索。此外,在更新過程中,引入黃金分割系數(shù),使得每一次迭代都能縮小搜索范圍,并對(duì)最優(yōu)解區(qū)域進(jìn)行遍歷,從而增強(qiáng)局部挖掘能力,提升解的精確性[3]。
Golden?SA算法的關(guān)鍵在于如何對(duì)Golden?SA算法的定位進(jìn)行更新。首先,隨機(jī)生成n個(gè)個(gè)體的位置,每個(gè)個(gè)體有一個(gè)初始的解決方案,并通過公式(4)來更新每個(gè)個(gè)體的位置。
[Xt+1i=Xti·sinr1-r2·sinr1·c1Pti-c2xti] (4)
式中:[Xti]=[[Xti,1,Xti,2],…,[Xti,d]],(i=1,2,…,n;t=1,2,…,tmax),[Xti,d]代表第t次迭代時(shí)第d個(gè)維度中的第i個(gè)單個(gè)個(gè)體的位置;[Pti]為第t個(gè)迭代點(diǎn)的全局最佳點(diǎn);[r1]、[r2]是分別屬于[0,2π]和[0,π]的隨機(jī)數(shù),[r1]確定了下一次迭代個(gè)體i的移動(dòng)距離,[r2]決定了下一次迭代個(gè)體的移動(dòng)方向[15]。在位置更新公式中,將[c1]、[c2]作為黃金分割系數(shù),[c1]=a(1-g)+bg,[c2]=ag+b(1-g), a和b的初始值分別為-π~π,黃金分割數(shù)g= [5-12]。[c1]、[c2]縮小了搜索空間,在迭代的過程中,將當(dāng)前位置個(gè)體引導(dǎo)到全局最優(yōu)位置。
在麻雀的搜尋算法里,每一次重復(fù)發(fā)現(xiàn)新物種的個(gè)體都會(huì)占據(jù)一個(gè)最大的適合度,并將其引導(dǎo)到整個(gè)族群。但是,發(fā)現(xiàn)者之間的交流不充分,而黃金正弦可以很好地解決這個(gè)問題。公式(4)中的最優(yōu)狀態(tài)可以引導(dǎo)其他發(fā)現(xiàn)者進(jìn)入最優(yōu)狀態(tài),從而使得最優(yōu)狀態(tài)信息可以在發(fā)現(xiàn)者之間快速傳播。式(5)能夠讓發(fā)現(xiàn)者遍歷自己的鄰近地區(qū),來尋找更多、更好的求解區(qū)域,從而縮小搜索范圍,加速算法的收斂性和收斂速度,因而可以將 Golden Synthetic策略應(yīng)用到發(fā)現(xiàn)者的位置。在引進(jìn) Golden Synthetic之后,發(fā)現(xiàn)者的位置更新模式[3]如下:
[Xn+1i,j=Xti,j·sinr1-r2·sinr1·c1XtP-c2Xti,j," R2lt;STXti,j+Q·L," R2≥ST] (5)
2.2" 精英反向?qū)W習(xí)策略
反向?qū)W習(xí)(Opposition?Based Learning, OBL)是Tizhoosh在2005年提出的一個(gè)新的學(xué)習(xí)方法。OBL算法的基本思想是:根據(jù)現(xiàn)有的求解結(jié)果,通過反向?qū)W習(xí)尋找對(duì)應(yīng)的求解結(jié)果,并通過評(píng)估、對(duì)比,使得求解結(jié)果保持最優(yōu)[16]。反向?qū)W習(xí)的反向點(diǎn)基本定義為:設(shè)在[l,u]上存在x,則x的反向點(diǎn)定義為[x′=l+u-x]。將反向點(diǎn)的定義擴(kuò)展到d維空間,設(shè)p=([x1],[x2],…,[xd])為d維空間中的一個(gè)點(diǎn),其中xi[∈][li,ui],i=1,2,…,d,則其反向點(diǎn)[17][p′=x′1,x′2,…,x′d],其中[x'i]=li+ui-xi。通過將反向求解方法引入到反向?qū)W習(xí)中,擴(kuò)大了算法的搜索范圍。然而,反向?qū)W習(xí)存在一些盲目性[10],并且正向解所處的搜索空間與當(dāng)前解的搜索空間并不一定匹配。比如說,針對(duì)原始解決方案的適合度高于反向解決方案的個(gè)體,對(duì)其進(jìn)行反向搜索,這會(huì)浪費(fèi)搜索時(shí)間,應(yīng)該對(duì)其原本領(lǐng)域搜索進(jìn)行強(qiáng)化。而對(duì)于一個(gè)初始解決方案的適合度低于逆向解決方案的個(gè)體來說,逆向查找的價(jià)值要比它的領(lǐng)域開拓得更高。針對(duì)此種情況,加入精英策略,引入精英個(gè)體。在此基礎(chǔ)上,提出了一種基于最優(yōu)個(gè)體的反向?qū)W習(xí)方法。該方法將最優(yōu)個(gè)體引入到最優(yōu)算法中,并在最優(yōu)算法與最優(yōu)算法之間選擇出優(yōu)勝者。
精英反向解定義:將[xi(t)]定義為第t次迭代的一個(gè)解,則其反向解為[x′i(t)],其中f(x)為目標(biāo)函數(shù)。當(dāng)f(xi(t))[≥]f([x′i(t)])時(shí),則稱[xi(t)]為第t次迭代精英個(gè)體;f(xi(t))lt;f([x′i(t)])時(shí),則稱[x′i(t)]為第t次迭代精英個(gè)體,設(shè)xij為普通個(gè)體xi在第j維上的值,則其反向解[10]為:
[x′ij(t)=m(lij(t)+uij(t)-xij(t))] (6)
式中:m是一個(gè)從0~1之間的隨機(jī)數(shù),稱為精英反向系數(shù);lij(t)和uij(t)分別代表[x′i(t)]在第j維上的最小值、最大值[18],[lij,uij]為精英群體所構(gòu)造的區(qū)間。
以精英反向?qū)W習(xí)為基礎(chǔ)的麻雀搜索算法,其改進(jìn)主要體現(xiàn)在以下幾個(gè)方面:在對(duì)麻雀進(jìn)行更新之后,將其適應(yīng)值排名前10%的作為精英解,并獲得精英麻雀的動(dòng)態(tài)邊界,使用反向?qū)W習(xí)方法來求解該反向解,將更新前和更新后的麻雀進(jìn)行比較,如果發(fā)現(xiàn)更好的麻雀結(jié)果,就將其替換掉。改進(jìn)后的麻雀搜索算法采用了一種精英反向?qū)W習(xí)的方法[19],融合了精英反向?qū)W習(xí)策略的改進(jìn)麻雀搜索算法步驟如圖1所示。
3" 仿真結(jié)果與分析
3.1" ISSA算法性能測(cè)試
選擇23個(gè)國(guó)際通用的標(biāo)準(zhǔn)檢測(cè)函數(shù),通過仿真實(shí)驗(yàn)驗(yàn)證該方法的有效性。在此基礎(chǔ)上,對(duì)兩種方法分別進(jìn)行30次試驗(yàn),并以標(biāo)準(zhǔn)偏差與均值偏差為參考值,對(duì)兩種方法進(jìn)行對(duì)比分析,以期得到可信的計(jì)算結(jié)果。在平均值相同的情況下,標(biāo)準(zhǔn)差越小,說明性能越好[1]。
在此基礎(chǔ)上,利用4個(gè)典型的標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)該算法進(jìn)行性能測(cè)試,并與SSA進(jìn)行了比較。表1列出了所需的4個(gè)測(cè)試函數(shù)。在表1中,[f1]為單峰函數(shù),它是對(duì)算法收斂速度的一種重要檢驗(yàn);[f2]和[f3]均是多峰函數(shù),用來檢驗(yàn)算法的整體收斂性;[f4]是一個(gè)組合基準(zhǔn)函數(shù)[20]。在測(cè)試期間,在4種方法中設(shè)置了相同的參數(shù):種群規(guī)模為50,最大迭代數(shù)[21]為1 000。尋優(yōu)曲線如圖2~圖5所示。
從圖2~圖5中的尋優(yōu)曲線可知,相比于SSA,ISSA的尋優(yōu)曲線降落得較快且達(dá)到了較低的水平,這表明ISSA算法的收斂速度和收斂精度更好[22]。
從表1及圖2~圖5可以看出,該算法在收斂精度、收斂速度及收斂穩(wěn)定性上都有明顯的優(yōu)越性[20]。
3.2" PID參數(shù)自動(dòng)整定
PID控制器的表達(dá)式如下所示:
[U(t)=KPe(t)+1TI0te(t)dt+TDde(t)dt] (7)
考慮到PID控制器中有3個(gè)參數(shù),將維數(shù)設(shè)置為3,總體設(shè)置為50,迭代次數(shù)[1]為100。
為了驗(yàn)證該算法的有效性,本文對(duì)二階系統(tǒng)進(jìn)行了仿真實(shí)驗(yàn)。對(duì)ISSA?PID與SSA?PID進(jìn)行比較,以測(cè)試該算法。
受控對(duì)象的傳遞函數(shù)如下所示:
[Gs=0.95s2+2s+1] (8)
ISSA和SSA在二階系統(tǒng)單位階躍響應(yīng)的收斂曲線及仿真結(jié)果對(duì)比如圖6~圖9所示,兩種算法結(jié)果對(duì)比如表2所示。
結(jié)果表明:改進(jìn)的麻雀搜索算法可以有效地提高PID控制器的控制精度和響應(yīng)速度。
4" 結(jié)" 論
本文提出一種基于黃金正弦策略和精英反向?qū)W習(xí)策略的麻雀搜索算法,將此優(yōu)化算法應(yīng)用于整定過程比較復(fù)雜且效果不好的PID控制。經(jīng)過Matlab的仿真及對(duì)比發(fā)現(xiàn):改進(jìn)麻雀搜索算法的PID參數(shù)整定效果優(yōu)于麻雀搜索算法PID整定以及普通PID,誤差較小,優(yōu)化效果明顯。但還需從全局搜索的角度出發(fā),使算法達(dá)到最理想的效果。
參考文獻(xiàn)
[1] 胡濤,蔣全.基于改進(jìn)蜜獾優(yōu)化算法的PID參數(shù)整定[J].電子科技,2023,36(12):46?54.
[2] 張鑄,饒盛華,張仕杰.基于自適應(yīng)正態(tài)云模型的灰狼優(yōu)化算法[J].控制與決策,2021,36(10):2562?2568.
[3] 高晨峰,陳家清,石默涵.融合黃金正弦和曲線自適應(yīng)的多策略麻雀搜索算法[J].計(jì)算機(jī)應(yīng)用研究,2022,39(2):491?499.
[4] 胡春安,王豐奇,朱東林.改進(jìn)麻雀搜索算法及其在紅外圖像分割的應(yīng)用[J].紅外技術(shù),2023,45(6):605?612.
[5] 李俊,胡婷.基于EEMD?SSA?LSSVR的短期交通流預(yù)測(cè)[J].現(xiàn)代信息科技,2022,6(6):93?96.
[6] 高兵,鄭雅,秦靜,等.基于麻雀搜索算法和改進(jìn)粒子群優(yōu)化算法的網(wǎng)絡(luò)入侵檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用,2022,42(4):1201?1206.
[7] 李大海,曾能智,王振東.多策略協(xié)同改進(jìn)的麻雀搜索算法[J].計(jì)算機(jī)應(yīng)用研究,2023,40(11):3269?3275.
[8] 王浩,陳婷,陳興侯,等.基于改進(jìn)SSA?BP神經(jīng)網(wǎng)絡(luò)的復(fù)烤水分和溫度預(yù)測(cè)[J].農(nóng)業(yè)與技術(shù),2022,42(6):18?25.
[9] 李丹丹,吳宇翔,朱聰聰,等.基于多種改進(jìn)策略的改進(jìn)麻雀搜索算法[J].計(jì)算機(jī)科學(xué),2022,49(z1):217?222.
[10] 馮增喜,李詩妍,趙錦彤,等.基于精英反向?qū)W習(xí)策略的麻雀搜索算法[J].計(jì)算機(jī)仿真,2023,40(1):378?381.
[11] 孫沖,劉沛然,伊猛.基于SSA?BP神經(jīng)網(wǎng)絡(luò)的試驗(yàn)品室內(nèi)溫度預(yù)測(cè)[J].現(xiàn)代電子技術(shù),2023,46(4):171?176.
[12] 王光政,孟盼,劉良雨.考慮禁止區(qū)間約束的水火電力系統(tǒng)短期調(diào)度優(yōu)化[J].水力發(fā)電,2022,48(1):94?98.
[13] 馮磊華,張杰,詹毅.基于改進(jìn)麻雀搜索算法和核極限學(xué)習(xí)機(jī)的電站鍋爐燃燒優(yōu)化[J].熱力發(fā)電,2022,51(9):96?102.
[14] 劉睿,莫愿斌.一種改進(jìn)的麻雀搜索算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2022,32(3):21?26.
[15] 吳亮,趙晴峰,湯顯峰.基于動(dòng)態(tài)分級(jí)蝴蝶優(yōu)化算法的WSN節(jié)點(diǎn)覆蓋優(yōu)化[J].傳感技術(shù)學(xué)報(bào),2022,35(5):650?659.
[16] 毛清華,張強(qiáng).融合柯西變異和反向?qū)W習(xí)的改進(jìn)麻雀算法[J].計(jì)算機(jī)科學(xué)與探索,2021,15(6):1155?1164.
[17] 徐松金,龍文.求解高維優(yōu)化問題的改進(jìn)正弦余弦算法[J].計(jì)算機(jī)應(yīng)用研究,2018,35(9):2574?2577.
[18] 湯文亮,張平,湯樹芳.基于精英反向?qū)W習(xí)的螢火蟲k?means改進(jìn)算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2019,40(11):3164?3169.
[19] 曹偉嘉,楊留方,徐天奇,等.基于精英反策略麻雀搜索優(yōu)化隨機(jī)森林的變壓器故障診斷[J].國(guó)外電子測(cè)量技術(shù),2022,41(2):138?143.
[20] 王康康,桂宏凡.基于改進(jìn)麻雀搜索算法的外骨骼機(jī)器人步態(tài)檢測(cè)[J].電子器件,2023,46(2):423?429.
[21] 劉竹松,李生.正余混沌雙弦鯨魚優(yōu)化算法[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(7):159?163.
[22] 付華,劉昊.多策略融合的改進(jìn)麻雀搜索算法及其應(yīng)用[J].控制與決策,2022,37(1):87?96.