摘 要:針對(duì)標(biāo)準(zhǔn)粒子群算法優(yōu)化多變量系統(tǒng)的解耦控制時(shí)存在陷入非全局最優(yōu)值的問(wèn)題,設(shè)計(jì)出一種基于自適應(yīng)變異的粒子群算法優(yōu)化多變量系統(tǒng)解耦控制器的方法。該方法以標(biāo)準(zhǔn)粒子群算法為基礎(chǔ),在種群進(jìn)化過(guò)程中引入變異操作,對(duì)不同進(jìn)化程度的粒子以不同的概率進(jìn)行更新,其中沒(méi)有達(dá)到個(gè)體最優(yōu)的粒子以隨機(jī)的大概率進(jìn)行位置與速度的初始化,對(duì)已經(jīng)早熟的粒子以一定的小概率更新進(jìn)化路徑,以此來(lái)提高種群搜索全局最小值的能力。種群尋到最優(yōu)值的狀態(tài)就是控制器效果最好的狀態(tài),利用新的網(wǎng)絡(luò)模型即可解決上述問(wèn)題。經(jīng)過(guò)對(duì)比仿真,驗(yàn)證了該方法的可行性。
本文源自陳曉全, 計(jì)算機(jī)時(shí)代 發(fā)表時(shí)間:2021-05-14 《計(jì)算機(jī)時(shí)代》雜志,于1983年經(jīng)國(guó)家新聞出版總署批準(zhǔn)正式創(chuàng)刊,CN:33-1094/TP,本刊在國(guó)內(nèi)外有廣泛的覆蓋面,題材新穎,信息量大、時(shí)效性強(qiáng)的特點(diǎn),其中主要欄目有:經(jīng)驗(yàn)技巧、計(jì)算機(jī)教育、信息化建設(shè)等。
關(guān)鍵詞:多變量系統(tǒng);解耦控制;粒子群算法;自適應(yīng)變異;全局最優(yōu)值
0 引言
在現(xiàn)代控制系統(tǒng)中,隨著控制量的不斷增多,系統(tǒng)的耦合性與復(fù)雜性越來(lái)越強(qiáng),應(yīng)用在解耦控制領(lǐng)域的方法也是層出不窮,從最初的對(duì)角矩陣解耦到現(xiàn)在的神經(jīng)網(wǎng)絡(luò),不同方法所具有的優(yōu)缺點(diǎn)也很明顯。在工業(yè)應(yīng)用中,PID 神經(jīng)元網(wǎng)絡(luò)一直是主流應(yīng)用,但是,面對(duì)更加復(fù)雜的系統(tǒng),PID 網(wǎng)絡(luò)的性能已經(jīng)不能滿足工業(yè)需求,因此,需要對(duì)傳統(tǒng)網(wǎng)絡(luò)模型優(yōu)化,才能改進(jìn)控制效果。文獻(xiàn)[1]給出的方法為遺傳算法,利用遺傳算法中種群迭代進(jìn)化的思想尋找出最優(yōu)值,并以此來(lái) PID 神經(jīng)元網(wǎng)絡(luò)。文獻(xiàn)[2]中給出的方法為 PSO,利用各粒子之間的合作與競(jìng)爭(zhēng)來(lái)尋得最優(yōu)解,并以此來(lái)優(yōu)化 PID 網(wǎng)絡(luò),結(jié)果表明該方法在一定范圍內(nèi)達(dá)到了優(yōu)化效果。本文綜合其他文獻(xiàn)中提出的方法,針對(duì) PSO 由于搜索區(qū)域的逐漸同化縮小而導(dǎo)致的過(guò)早收斂的問(wèn)題,在其基礎(chǔ)上引入變異操作,使得原本隨著迭代而減小的尋優(yōu)區(qū)域會(huì)以一定概率擴(kuò)大,這樣既讓種群進(jìn)化不朝著單一化的方向發(fā)展[3-4] ,也使得其尋優(yōu)能力得到提高。本算法與其他算法在進(jìn)行了仿真的對(duì)比,結(jié)果表明在響應(yīng)時(shí)間與超調(diào)量的控制上有著更好的效果。明該方法在一定范圍內(nèi)達(dá)到了優(yōu)化效果。
1 解耦控制器模型分析
1.1 解耦控制原理
關(guān)于 PID 控制器的靜態(tài)參數(shù)以及功能不再介紹,下文著重闡述其動(dòng)態(tài)運(yùn)行過(guò)程。在解耦過(guò)程中,連接各層之間的權(quán)值是調(diào)節(jié)網(wǎng)絡(luò)平衡的重要參數(shù),所以網(wǎng)絡(luò)的輸出誤差需要通過(guò)反饋對(duì)權(quán)值進(jìn)行調(diào)整,從而使網(wǎng)絡(luò)滿足要求[5] 。PID 網(wǎng)絡(luò)中權(quán)值的調(diào)整法則為梯度下降法則,其計(jì)算公式如下: J =∑E =∑k = 1 n [ yh (k) - r(k)] ⑴
上式中,n為輸出節(jié)點(diǎn)個(gè)數(shù),yh(k)為預(yù)測(cè)輸出,r(k) 為控制目標(biāo)[6] ,根據(jù)⑴式中計(jì)算出來(lái)的誤差值來(lái)對(duì)網(wǎng)絡(luò)的權(quán)值進(jìn)行修正,修正方法如下: ωjk (k + 1) = ωjk (k) - η ∂J ∂ωjk ⑵ ωij(k + 1) = ωij(k) - η ∂J ∂ωij ⑶
其中,式⑵表示輸出層與隱含層之間修正,式⑶表示隱含層與輸入層之間的修正,wjk為隱含層與輸出層之間的權(quán)值,wij 為輸入層與隱含層之間的權(quán)值,η為學(xué)習(xí)速率[7-8] 。上述分析為傳統(tǒng) PID 網(wǎng)絡(luò)的理論基礎(chǔ),實(shí)際應(yīng)用中的結(jié)構(gòu)圖如圖1所示。
圖中,r1-rn為控制目標(biāo),u1-un為控制器控制律, y1-yn為控制量當(dāng)前值,在網(wǎng)絡(luò)仿真時(shí)設(shè)置好控制量的初始值與控制目標(biāo)即可完成網(wǎng)絡(luò)的初始化,下文均以 3輸入3輸出的耦合系統(tǒng)為例分析[9] 。
1.2 傳統(tǒng)解耦控制的優(yōu)化
在工業(yè)生產(chǎn)中,PID基本滿足需求,但是一旦要求精度提高,則普通PID難以解決響應(yīng)慢,超調(diào)量偏大的問(wèn)題,一般情況下會(huì)對(duì)其網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,常用的解決方案分成兩類,第一類,針對(duì)PID網(wǎng)絡(luò)本身進(jìn)行優(yōu)化。常見(jiàn)方法為增加動(dòng)量項(xiàng)法以及改變神經(jīng)元系數(shù)法[10] 。第二類方法為利用神經(jīng)網(wǎng)絡(luò)對(duì) PID 進(jìn)行優(yōu)化,其中應(yīng)用較多的為遺傳算法和粒子群算法,兩種算法能夠明顯提高控制器的解耦效果,但是由于算法自身的特點(diǎn),容易過(guò)早收斂進(jìn)入早熟狀態(tài),所得的結(jié)果并不能保證每次都是最優(yōu)值[11-13] ,有一定不確定性。因此,需要針對(duì)其缺點(diǎn)做一定的改進(jìn)。
2 自適應(yīng)變異粒子群算法模型的設(shè)計(jì)
2.1 模型數(shù)學(xué)原理
粒子群算法的核心思想就是利用種群中各粒子的相互影響進(jìn)行迭代進(jìn)化,由于不同粒子間的作用各不相同,受影響粒子的進(jìn)化途徑也不盡相同,從而衍生出最優(yōu)值[14] 。其數(shù)學(xué)模型表示如下:在Q維空間中,粒子的個(gè)數(shù)為n,迭代次數(shù)為k,每個(gè)粒子i在Q維空間都存在唯一對(duì)應(yīng)的位置與速度,其中位置矢量表達(dá)式為 Xi =(x1,x2,…,xN),速度的矢量表達(dá)式為 Vi=(v1, v2,…,vN) [15] 。在迭代尋優(yōu)期間,需要注意兩個(gè)特征值:首先,粒子自身在k代的進(jìn)化過(guò)程中產(chǎn)生的最優(yōu)值pi = (pi1,pi2,...,piQ),i=1,2,...,k;其次,種群中所有粒子在 k 代進(jìn)化過(guò)程中產(chǎn)生的最優(yōu)值 gi ,gi的值是唯一的,也就是最終的最優(yōu)值。歸結(jié)為下面的兩個(gè): Vk + 1 id = ωVk id + c1 r1 (P ) k id - Xk id + c2 r2 (P ) k id - Xk id ⑷ Xk + 1 id = Xk id + Vk + 1 id ⑸ 其中,w 為慣性權(quán)重因子,d=1,2,…,Q;i=1,2,…,n;Vid 為粒子的速度;c1和c2為加速因子(也稱學(xué)習(xí)因子),其值通常大于零;r1和r2是分布于[0,1]區(qū)間的隨機(jī)數(shù)。
2.2 改進(jìn)方法
在種群進(jìn)行進(jìn)化迭代時(shí),每個(gè)粒子都具有開(kāi)拓范圍以及發(fā)掘自身兩種能力,所以進(jìn)行變異操作時(shí)有以下兩個(gè)方面的改進(jìn)[16-17] 。第一,在初期階段,對(duì)低于適應(yīng)度平均值的粒子,在程序中對(duì)其進(jìn)行變異操作,讓該粒子的位置與速度以隨機(jī)的概率變異;當(dāng)某些粒子的進(jìn)化速度趨于零時(shí),以大概率的變異讓其重新加速進(jìn)化,避免種群縮小陷入局部最小值。其數(shù)學(xué)表達(dá)式如下: if (V ) k id = 0 then Vk id = λr1V ⑹ if (r2 < cL) then Xk id = r3X ⑺ 其中,λ為方向變異系數(shù),cL用來(lái)控制變異的頻率,r3是分布于[0,1]區(qū)間的隨機(jī)數(shù),V 和 X 為初始化后的新位置[18] 。第二,當(dāng)種群中的某個(gè)粒子開(kāi)始出現(xiàn)在該位置上進(jìn)化出最小值時(shí),其他粒子會(huì)大概率的以該粒子為目標(biāo)靠攏進(jìn)化,使得整個(gè)種群過(guò)度統(tǒng)一,所以根據(jù)這種情況,同樣需要引入變異操作,改變最優(yōu)位置粒子的運(yùn)動(dòng)狀態(tài),讓其在附近的空間中繼續(xù)尋找最優(yōu)值,從而改變周圍粒子向其靠攏的運(yùn)動(dòng)狀態(tài),使種群達(dá)到最優(yōu)的進(jìn)化效果,其策略如下: Vk + 1 id = ξk (1 - 2r4 ) ⑻ Xk + 1 id = gi + ωVk + 1 id ⑼
式⑻中,ξ代表比例因子,其作用是定義當(dāng)前最優(yōu)位置的粒子在附近空間的搜索進(jìn)化能力[19] ,其更新方式如下: ì í î ï ï ï ï if (S > Sc ) then ξk + 1 = 2ξk if (F > Fc ) then ξk + 1 = 0.5ξk otherwise then ξk + 1 = ξk ⑽ 其中,F(xiàn)和S分別代表連續(xù)失敗與連續(xù)成功的次數(shù)。
2.3 算法流程
根據(jù)理論算法分析,實(shí)際優(yōu)化流程如下。
⑴ 種群初始化。對(duì)測(cè)試種群的規(guī)模、速度、位置、迭代次數(shù)等參數(shù)進(jìn)行賦值[20] 。
⑵ 在進(jìn)化過(guò)程中計(jì)算各粒子的適應(yīng)度值。
?、?將各粒子的適應(yīng)度值與種群最優(yōu)適應(yīng)度值進(jìn)行比較,若小于最優(yōu)值,則對(duì)粒子進(jìn)行式(6-7)的變異操作;若達(dá)到最優(yōu)值,則按照式(8-9)進(jìn)行變異操作,更新其速度與位置,保證種群多樣性[21-22] 。
?、?種群經(jīng)過(guò)進(jìn)化,產(chǎn)生pi和gi。
⑸ 根據(jù)迭代次數(shù)判斷是否退出,若次數(shù)不足,則從⑵處繼續(xù)執(zhí)行操作。
3 優(yōu)化效果對(duì)比仿真
本例中網(wǎng)絡(luò)模型的各參數(shù)設(shè)置如下所示:sizepop =50,maxgen=50,c1=c2=1.49445,各粒子的速度與位置通過(guò) rand函數(shù)產(chǎn)生,在進(jìn)化過(guò)程中計(jì)算函數(shù) Fitness的值,根據(jù)每個(gè)粒子 Fitness函數(shù)值得不同進(jìn)行不同概率的變異操作,使種群不斷更新。迭代結(jié)束后,根據(jù)網(wǎng)絡(luò)的最優(yōu)解確定 PID 網(wǎng)絡(luò)的權(quán)值,從而使網(wǎng)絡(luò)達(dá)到最優(yōu)的效果[23] 。為了使優(yōu)化效果更加明顯,本節(jié)將選取另外三種方法與本例做對(duì)比,這三種方法分別為普通 PID 網(wǎng)絡(luò)模型、改進(jìn) PID 算法的模型以及基于粒子群算法優(yōu)化的 PID 網(wǎng)絡(luò)模型,各模型的仿真效果如圖2~圖7所示。
我們從這些圖可以看出,普通 PID 在解耦控制的效果上存在響應(yīng)時(shí)間長(zhǎng),超調(diào)量過(guò)大的問(wèn)題,尤其是對(duì)控制量1的解耦中,響應(yīng)時(shí)間為0.17秒,和后面幾種方法相比有著過(guò)大的延遲。在控制量 2 的解耦中,超調(diào)量接近 20%,不能滿足精度要求高的控制系統(tǒng)。圖 3 的改進(jìn)方法為增加動(dòng)量項(xiàng),該方法是對(duì) PID 本身的結(jié)構(gòu)進(jìn)行調(diào)整優(yōu)化,其具體實(shí)現(xiàn)方法在文獻(xiàn)[1]中已有介紹,本文不再展開(kāi)。經(jīng)過(guò)優(yōu)化的PID控制器,對(duì)控制量 1 的響應(yīng)時(shí)間縮短到了 0.13 秒左右,對(duì)控制量 2 的響應(yīng)時(shí)間縮短到了 0.1 秒左右,起到了加快響應(yīng)的效果,不過(guò)對(duì)超調(diào)量的把控還存在一定的不足。圖 4 為粒子群優(yōu)化 PID 的效果圖,在響應(yīng)時(shí)間和超調(diào)量的控制上有了顯著的提高??刂屏?-3的響應(yīng)時(shí)間都縮短到了 0.04 秒左右,控制量 3 的超調(diào)量縮小至 0%,不過(guò)還存在部分控制量超調(diào)偏大的問(wèn)題。圖5為本次方法的仿真效果圖,通過(guò)對(duì)比發(fā)現(xiàn),無(wú)論是在響應(yīng)時(shí)間還是超調(diào)量的指標(biāo)上都比前三種方法有了極大的提高,控制量 1-3 的超調(diào)量都為 0% 且各響應(yīng)時(shí)間都縮短至 0.03 秒左右并且系統(tǒng)的控制誤差趨于零,網(wǎng)絡(luò)迭代過(guò)程如圖 6、圖7所示。
4 結(jié)論
從仿真結(jié)果來(lái)看,自適應(yīng)變異的粒子群算法在優(yōu)化 PID 解耦控制的效果上,比上述三種方法有著更好的穩(wěn)定性與更高的精確度,網(wǎng)絡(luò)能夠跳出早熟狀態(tài),解決了標(biāo)準(zhǔn)粒子群算法尋優(yōu)結(jié)果偶然性的問(wèn)題,從理論角度來(lái)說(shuō),能夠最大程度的滿足精確度較高的控制系統(tǒng)。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見(jiàn)問(wèn)題 >
SCI常見(jiàn)問(wèn)題 >