基於模擬退火演算法的PID引數優化

2022-12-26 14:24:04 字數 3738 閱讀 2847

pid 控制結構簡單,可靠性強,容易實現,對模型誤差具有魯棒性以及可靠性高等優點,是現代工業中最常用的控制方法, 被廣泛用於冶金、化工、電力、輕工和機械等工業過程控制中[1]。pid 的控制效果與其引數比例、積分和微分有著直接關係,因此如何進行pid 控制引數優化,從而獲得最優引數,是大家關注的乙個重要課題[2]。

目前,有很多傳統的pid 引數優化方法,如專家整定法、單純形法和z-n 法等[3]。專家整定法的結果與經驗知識的多少有著直接的關聯,如果經驗知道太少,得到的控制效果差,同時知識庫的整理需要花費較長時間;單純形法對初值十分敏感,很容易陷入區域性最優解,從而導致引數尋優失敗; z-n 法具有簡單和易實現的優點,但缺乏靈活性,有時會產生較大的超調量和振盪[4]。隨著人工智慧的發展,許多智慧型的方法應用到pid 引數優化過程中,如模糊控制方法、神經網路方法、遺傳演算法、粒子群演算法等[5]。

相對傳統整定方法來說,智慧型優化整定方法有著明顯的優越性,優化的結果比較精確,控制效果相對比較好。本文針對模擬退火演算法,利用matlab 對pid 引數進行優化設計,該方法可使整個尋優過程簡潔,精確度高,提高了計算效率。

pid控制器應用廣泛,其一般形式為

其中:是系統誤差;、和分別是對系統誤差訊號及其積分與微分量的加權,控制器通過這樣的加權就可以計算出控制訊號,驅動受控物件。如果控制器設計合理,那麼控制訊號將能使誤差朝減小的方向變化,達到控制的要求。

pid控制器的系統結構圖如圖 1所示。

圖 1 pid控制系統結構圖

pid控制器的優化問題就是確定一組合適的引數、、,使得指標達到最優。常用的誤差效能指標包括ise、iae、itae、iste等,本文選用itae指標,其定義為

選取的被控物件為以下不穩定系統:

在simulink環境下建立的模型如圖 2所示。

圖 2中,微分環節有乙個一階環節近似,輸出埠1即為式所示的itae指標,通過將時間及誤差絕對值的乘積進行積分後得到。

圖 2 simulink環境下的pid控制系統模型

pid控制器的效能取決於、和這3個引數是否合理,因此,優化pid控制器引數具有重要意義。目前,pid控制器引數主要是人工調整,這種方法不僅費時,而且不能保證獲得最佳的效能。sa已經廣泛應用於函式優化、神經網路訓練、模式分類、模糊系統控制以及其他應用領域,本文將使用sa進行pid控制器引數的優化設計。

1、優化設計過程

利用模擬退化演算法對pid引數進行優化設計,其過程如圖 3所示。

圖 3 sa優化pid的過程示意圖

圖 3中,模擬退火演算法與simulink模型之間連線。優化過程如下:sa產生鄰域解,將該鄰域解中的值依次賦值給pid控制器的引數、、,然後執行控制系統的simulink模型,得到該組引數對應的效能指標,該效能指標傳遞到sa中,作為目標函式值(適應值),最後判斷是否可以退出演算法。

2、 模擬退火演算法優化pid引數步驟

(1)給定退火初始溫度、終止溫度、降溫速率和各溫度下的迭代次數l(鏈長)。

(2)給出初始解,本文給出的初始解是pid的3個引數、、。令、、的初始值為0~100之間的隨機數。

(3)列出解空間,即希望優化出的pid引數在什麼範圍,本文中是希望得到0~100之間的數。

(4)確立目標函式。本文的目標函式為itae,利用simulink計算得到,並返**用函式。

(5)給初始解加上乙個擾動,即給、、加上乙個-1~1的隨機數,得到新解。

(6)利用初始解和新解分別計算目標函式值,並求出差值。

(7)判斷差值是否大於0,如果大於0,則接收新解作為當前解;如果差值小於等於0,則依據metropolis準則判斷是否接受新解。然後判斷是否滿足內迴圈終止條件,若滿足,則轉(5);否則轉(8)。

(8)儲存當前溫度下(內迴圈)最優itae及pid引數,降溫。判斷當前溫度是否低於終止溫度,若低於,則結束;否則轉(5)。

3、演算法流程圖

圖 4 sa演算法流程

實驗目的:pid引數優化

實驗結果:

1、 原始引數設定

最優解的效能指標itae: 0.7958

最優解:kp=59.8835,ki=37.7864,kd=54.2726

執行時間:6640s

執行**程式,得到itae優化過程曲線及kp、ki、kd優化曲線如圖 5和圖 6所示。

圖 5 itae優化過程曲線

圖 6 kp、ki、kd優化曲線

在最優解下系統的單位階躍響應曲線如圖 7所示。

圖 7 單位階躍響應曲線

由階躍響應曲線可知,系統超調較大,上公升時間較快。

2、 改變解空間範圍

最優解的效能指標itae:0.64084

最優解:kp=59.6293,ki=0.22355,kd=52.186

執行時間:12840s

執行**程式,得到itae優化過程曲線及最優解時的單位階躍響應曲線如圖 8和圖 9所示。

圖 8 itae優化過程曲線

圖 9 單位階躍響應曲線

由階躍響應曲線可知,系統超調較小,上公升時間較快。

3、 改變降溫速率

最優解的效能指標itae:2.3611

最優解:kp=87.3674,ki=56.2237,kd=79.4094

執行時間:1717s

執行**程式,得到itae優化過程曲線及最優解時的單位階躍響應曲線如圖 8和圖 11所示。

圖 10 itae優化過程曲線

圖 11 單位階躍響應曲線

由階躍響應曲線可知,系統超調較大,上公升時間較快。

4、 改變鏈長

最優解的效能指標itae:1.1875

最優解:kp=64.8364,ki=41.3006,kd=58.8492

執行時間:5109s

執行**程式,得到itae優化過程曲線及最優解時的單位階躍響應曲線如圖 12和圖 13所示。

圖 12 itae優化過程曲線

圖 13 單位階躍響應曲線

由階躍響應曲線可知,系統超調較大,上公升時間較快。

實驗結果分析:

(1)在單位階躍響應時,通過引數優化得到的pid引數都能使不穩定系統變得穩定,但是效能指標有差異,如超調量和上公升時間等。

(2)執行時間比較長,要一兩個小時。時間較長,原因可能是在simulink中計算itae,有積分,執行時間長。這種方法適合離線整定pid引數,不適合**整定。

但是相對人工計算更簡便,能夠給出乙個相對較優的解。

(3)pid引數值波動,不收斂。其原因可能是產生新解(鄰域解)的方法不合理,每次隨機加減1,方法有待改進。

(4)選用itae作為目標函式存在缺陷。itae強調過渡過程時間,可以較好的抑制長時間存在的誤差。

由**實驗結果可知,模擬退火演算法可以用於pid引數優化,得到的優化引數能夠使不穩定系統在階躍輸入下穩定。與傳統方法相比,計算簡便。在實際應用中,可以多執行幾次模擬退火演算法,在所得優化結果中選擇最好的引數設計pid控制器。

但是這種方法也存在缺陷,如果降溫過程足夠緩慢,得到的解的效能會比較好,但與此相對的是收斂速度太慢;如果降溫過程過快,很可能得不到全域性最優解,演算法效能與初始值有關及引數敏感等缺點。在以後的研究過程中,可以通過改進某些環節實現對模擬退火演算法的改進,例如增加公升溫或者重溫過程或者增加記憶功能或者結合其他演算法,以達到更好的引數優化效果。

[1]. 黃德先等. 過程控制系統. 北京:清華大學出版社,2011.

[2]. 王偉, 張晶濤. pid引數先進整定方法綜述[j]. 自動化學報, 2000, (3):347-355.

[3]. 夏紅, 賞星耀, 宋建成. pid引數自整定方法綜述[j]. 浙江科技學院學報, 2003, (4):236-240.

[4]. 吳巨集鑫, 沈少萍. pid控制的應用與理論依據[j]. 控制工程, 2003, (1) :37-42.

蟻群演算法 遺傳演算法 模擬退火演算法介紹

窮舉法列舉所有可能,然後乙個個去,得到最優的結果。如圖一,需要從a點一直走到g點,才能知道,f是最高的 最優解 這種演算法得到的最優解肯定是最好的,但也是效率最低的。窮舉法雖然能得到最好的最優解,但效率是極其低下的。為了能提高效率,可以不要列舉所有的結果,只列舉結果集中的一部分,如果某個解在這部分解...

DC DC的PID演算法研究

dc dc變換器數字pid控制方法研究 時間 2009 04 20 16 09 10 電源世界 作者 1 引言 隨著dsp等數字訊號處理器的出現,電力電子電路的數字控制得到了很大的發展。數字處理器能夠瞬時讀取變換器的輸出值,並快速地計算出控制值對變換器進行控制。由於數字控制可以採用靈活的控制策略,一...

設計系統PID演算法的方法軟體編寫PID詳解

這個是pid公式 u k 1 u k kp e k ki e k 1 kd e k 2 對你的系統而言,u k 就是當前占空比。我這裡先假定你的占空比對應定時器暫存器設定範圍是 0 65535.同時假定定時器設定為0的時候,占空比輸出為0 全部是低電平,完全不加熱。65535的時候,占空比輸出100...