莫程凱,趙宇紅,段靈芝,王浩倫
(1.南華大學 電氣工程學院,湖南 衡陽 421001;2.湖南師范大學,湖南 長沙 410081)
PID控制從問世以來,就一直是工業控制中最為成熟的控制方法,在諸多領域得到了廣泛的應用。它具有原理通俗易懂、實現容易、對眾多場景都有很好的適應性、魯棒性強以及性價比高等優點[1]。PID的三個參數Kp、Ki、Kd取值的不同組合會對控制系統的輸出各項性能指標造成影響,因此,確定Kp、Ki、Kd的最優取值以及對三個系數進行優化是PID控制最為重要的部分。最開始的對PID參數進行整定是采用Ziegler和Nichols所發明的公式整定法,它是突破傳統試湊法的一種方法,但隨著時代發展,它面對更加復雜的被控對象時,就顯得過于簡單,不易對實際的模型進行建立,以及魯棒性不好、超調量大都是它所存在的問題[2]。無論是傳統的實驗試湊法還是以上理論計算整定法,都不具備面對復雜系統發生特性變化時所需要的PID控制自適應能力,只能重新人為地再去手動修改參數。
隨著人工智能技術的發展,涌現出很多新的為控制器提供參數優化的方法。其中,群智能算法作為一種新興的優化方法而受到眾多研究學者的歡迎,并將其運用到很多的優化領域中。它的主要理論依據是模擬學習群居生活習性的動物行為,通過研究群體中每個個體的信息交流傳遞以及行為合作關系,如覓食等,來達到尋優的目的。與其他優化方法比較,群智能算法的顯著優點在于原理通俗易懂、效率較高且實現過程簡單。基于此,本文將介紹兩種最為常用和經典的群智能優化算法——蟻群算法和粒子群算法在PID參數優化中的應用。
PID控制器的工作原理如圖1所示。

圖1 PID控制器的工作原理框圖
在PID控制系統中,r(t)為輸入量,y(t)為輸出量,u(t)為PID輸出控制量,u(t)與偏差e(t)=r(t)-y(t)之間的關系可以用下式進行描述:
(1)
其中:Kp為比例系數;Ti為積分時間系數;Td為微分時間系數。進一步將其變換為:
(2)
其中:Ki為積分系數,Ki=Kp/Ti;Kd為微分系數,Kd=Kp·Td。
從式(2)可以看出,共有Kp、Ki、Kd3個參數需要確定,對PID的參數優化正是通過不斷地調整Kp、Ki、Kd使得控制系統的各項性能都能實時達到所需要求,并盡可能保證系統特性最優越。常規的PID參數優化方法,往往只能對其中的一個量進行調整,無法兼顧調整3個參數,所以對于復雜系統尤其是精確度要求較高的系統達不到控制要求,使得PID控制器應用受限。本文將這兩種群智能算法運用到PID控制器中對其參數進行優化,可以做到同時對3個參數進行有效調整,使得PID控制器的性能達到要求。
蟻群算法是一種基于種群的模仿生物的尋優方法,是對組合尋優問題進行尋解并對其尋優,在螞蟻不斷的找尋過程中,憑借正反饋原理對進化過程進行促進,最終找到最優的解[3]。
螞蟻在搜尋過程中,會對自身移動的地方殘留它的一種特殊分泌物——信息素,信息素隨時間會逐漸變弱,同時螞蟻對每條路徑上存在的信息素濃度進行判斷,并向信息素濃度高的位置進行轉移。基本的蟻群算法模型如下:
(3)

每當結束一次算法迭代后,必須對每條路徑中的信息素量進行更新處理,以防多余的信息素掩蓋了啟發信息,使得算法陷入局部最優。更新公式如式(4)、式(5)所示:
τij(t+1)=(1-ρ)·τij(t)+Δτij.
(4)
(5)

(6)
其中:Q為信息素常數,為螞蟻循環一次所釋放的信息素總量;Lk為螞蟻k于當次游行所移動的路徑長度[4]。
蟻群算法與PID算法的結合,體現在對PID參數的優化,也就是不斷地找尋Kp、Ki、Kd的最優值。將Kp、Ki、Kd視成組合,而螞蟻在指定的空間中不斷搜尋,并根據信息素的強弱分布實時改變轉移方向,從而調整到最優的路徑,此最優路徑在蟻群算法PID控制器中所表示的就是PID控制的最優參數。基于蟻群算法的PID控制器原理如圖2所示[5]。

圖2 基于蟻群算法的PID控制器原理圖
蟻群算法具備較強的魯棒性,與PID控制方法能夠非常容易地結合使用;由于蟻群算法作為實際上的并行算法,其中的螞蟻都是相互獨立的個體,它們對路徑的搜尋互相之間不產生干擾,僅僅是通過信息素來傳遞信息,在整個問題空間中,有著非常強的全局搜索能力。另外,蟻群算法的參數設置簡單,且相對于其他算法,不依賴對最開始路線的選擇,中途也不需要再經過人為調整,其與PID結合形成的控制器具有相當的可靠性。
但蟻群算法PID控制器也有其亟需改進的不足,如:由于算法收斂速度慢,需要花費更多的時間在計算上;容易陷入局部最優,對一些連續問題還不能夠很好地解決;蟻群算法PID控制器比較依賴人的經驗,結果的產生過分依賴實驗,目前還缺乏一些理論的奠定。
粒子群算法(PSO)是基于對鳥類群體捕食行為的研究,得源于鳥群的規律性種群活動的靈感,通過人為地運用群體智能的方法來建立簡化模型。粒子群算法中群體的每個個體在尋找信息的同時,也在接受其他個體所傳遞共享過來的信息,不斷的信息共享下慢慢從無序的尋找變成有序的尋找,最終找到系統最優解[6]。
組成粒子群算法的是一定規模的粒子,鳥群中每個個體都被看作一個粒子,首先需要確定粒子群的規模以及每個粒子的初始速度和位置,它們在區域內不斷找尋,通過一個迭代公式,變換飛行軌跡,最終找到最優解[7]。粒子在找尋過程中,會不斷地通過兩個值來調整自身位置,即粒子自身所找尋到的最優解以及整個群體找尋到的群體最優解。設粒子的個數為n,維度為d,粒子通過以下公式實時更新其位置:
(7)
(8)

在優化中,首先對粒子的初速度以及初位置進行隨機賦值,隨后根據式(7)和式(8)不斷迭代。
粒子群算法與PID結合,基于它們所建立的控制器參數優化模型,從而對系統輸出進行把控。在基于粒子群算法的PID控制器中,PID的三個參數Kp、Ki、Kd的組合被視作為粒子群中的粒子。在尋優過程中,每個粒子依據自身的信息和群體的共享信息不斷地調整自己的速度與方位,最終都逐漸向最優解靠近,從而得到理想結果,隨后將粒子群個體進行解碼操作,依次賦值給Kp、Ki、Kd。圖3為基于粒子群算法的PID控制器原理圖。

圖3 基于粒子群算法的PID控制器原理圖
粒子群算法自被提出就受到了萬眾矚目,它類似于遺傳算法,是基于迭代實現的優化算法。系統的各項初始值都是隨機設置的,然后進行不斷地迭代以尋找到最優解。同其他方法相比,粒子群PID控制器的優勢在于沒有太多需要調整的參數,易于在工程中實現。但它也存在一些弊端,如局部搜索能力較弱,可能在搜尋的過程中陷入局部最優,對一些精確度要求較高的系統可能難以滿足控制要求。
本文介紹了兩種最經典的群智能算法——蟻群算法和粒子群算法在PID參數優化中的應用。與傳統的PID整定參數方法相比,基于群智能算法的PID控制器能夠有效對決定PID控制性能的三個參數進行實時調整,使之始終維持在一個最優值,使得被控系統輸出各項指標更加穩定可靠。同時蟻群算法和粒子群算法與PID控制器的結合各有優勢與不足,關于各種群智能算法與PID的結合也在不斷地進步和完善之中。