蘇鏡吾
(大眾一汽發(fā)動(dòng)機(jī)(大連)有限公司長(zhǎng)春分公司,吉林 長(zhǎng)春 130011)
智能優(yōu)化算法的控制器參數(shù)整定分析
蘇鏡吾
(大眾一汽發(fā)動(dòng)機(jī)(大連)有限公司長(zhǎng)春分公司,吉林 長(zhǎng)春 130011)
遺傳算法(Genetic Algorithm,GA)和模擬退火算法(Simulated Annealing Algorithm,SA)均是近年來研究的熱點(diǎn)智能優(yōu)化方法,兩種智能算法應(yīng)用于 PID控制器參數(shù)調(diào)節(jié),為 PID控制器參數(shù)的優(yōu)化提供新的研究思路。本文針對(duì)GA后期進(jìn)化緩慢的缺陷,引入自適應(yīng)機(jī)制,可以實(shí)現(xiàn)基于自適應(yīng) GA的參數(shù)優(yōu)化。將 GA與 SA有機(jī)結(jié)合,發(fā)揮 GA全局并行搜索能力與 SA較強(qiáng)的局部搜索能力,優(yōu)勢(shì)互補(bǔ),實(shí)現(xiàn)了基于退火模式的 GA,并應(yīng)用于 PID參數(shù)優(yōu)化。最后本文以 Matlab為仿真工具,進(jìn)行 PID控制器參數(shù)優(yōu)化仿真實(shí)驗(yàn),證明本文算法的可行性和有效性。
PID控制;遺傳算法;模擬退火算法;參數(shù)優(yōu)化
PID參數(shù)的調(diào)節(jié)與優(yōu)化一般需要調(diào)試者具有豐富的調(diào)試經(jīng)驗(yàn),而實(shí)際系統(tǒng)的特性又是各不相同的,所以要想通過人工整定獲得良好的 PID參數(shù)相當(dāng)?shù)睦щy。因此根據(jù)實(shí)際需要,研究人員提出了許多的 PID參數(shù)的自整定技術(shù)。
ZN調(diào)節(jié)方法的經(jīng)驗(yàn)公式是基于帶有延遲的一階慣性模型提出的,這種對(duì)象模型可表示為:
其中K為放大系數(shù),T為慣性時(shí)間常數(shù),L為延遲時(shí)間。
ZN算法思路簡(jiǎn)單,并且有明確而又簡(jiǎn)單的公式,便于工程中應(yīng)用,但尚存許多問題。為了獲得臨界振蕩狀態(tài)下的比例系數(shù)和頻率往往需要增大pk直至使系統(tǒng)發(fā)生臨界振蕩,而在實(shí)際工程中,產(chǎn)生臨界振蕩時(shí)會(huì)給系統(tǒng)帶來許多不穩(wěn)定的因素,無(wú)法使系統(tǒng)運(yùn)行最佳。
2.1 編碼方式的確定
本文將采用實(shí)數(shù)編碼方式對(duì)數(shù)據(jù)進(jìn)行編碼,每個(gè)個(gè)體由四個(gè)參數(shù):Kp、Ki、Kd和個(gè)體的適應(yīng)度組成,所以如果群體規(guī)模為n,種群的初始化實(shí)際上是產(chǎn)生一個(gè) n×4階的矩陣。
2.2 種群初始化
確定參數(shù)的范圍,例如,設(shè)置函數(shù) variableBounds=[0 40;0 40;0 40];即在 0~ 40這個(gè)范圍中隨機(jī)選擇初始數(shù)據(jù)。然后可以在 Matlab中直接使用遺傳算法工具箱中 initializega函數(shù)進(jìn)行種群的初始化工作。
2.3 適應(yīng)度函數(shù)的確定
適應(yīng)度函數(shù)主要是通過對(duì)系統(tǒng)偏差進(jìn)行處理,來評(píng)價(jià)參數(shù)的優(yōu)劣。本文采用直接對(duì)偏差進(jìn)行積分的方式,取積分結(jié)果的倒數(shù)為適應(yīng)度。根據(jù)式(2)得到個(gè)體的適應(yīng)度:
2.4 遺傳算法的操作
選擇操作:本文選擇的是排序法,根據(jù)計(jì)算出的fit值對(duì)個(gè)體的大小進(jìn)行排序,本文設(shè)定計(jì)算適應(yīng)度值fitness大小的函數(shù)如下:
式中,q為選擇系數(shù);x為個(gè)體在排序后的序號(hào);n為群體規(guī)模,得到一個(gè) n×1的矩陣 a。然后設(shè)置函數(shù)sort(rand(n,1)) ,隨機(jī)產(chǎn)生一個(gè) n×1的矩陣 b,矩陣中每個(gè)元素均為 0~1之間的隨機(jī)小數(shù)。將矩陣 a中第一個(gè)個(gè)體的 fitness值與矩陣 b中的第一行數(shù)值進(jìn)行比較,大者保留。矩陣 a中 fitness值越高的個(gè)體保留下來的幾率越大,這樣被選中進(jìn)行交叉、變異的概率也越大。
對(duì)于遺傳算法,交叉概率cP和變異概率mP的設(shè)定會(huì)直接影響算法的收斂性,是影響算法性能的關(guān)鍵所在。
3.1 交叉概率的設(shè)定
cP越大,群體的變化就會(huì)越大,算法的搜索范圍也會(huì)相應(yīng)地增大。然而,當(dāng)cP過大時(shí)會(huì)使得具有高適應(yīng)度的個(gè)體結(jié)構(gòu)遭到破壞;但是如果cP過小,會(huì)使群體變化小,在一定的迭代次數(shù)下難于收斂于最優(yōu)解。本文在交叉算子中采取自適應(yīng)交叉概率的方式,構(gòu)造交叉概率函數(shù):
其中, 1p為設(shè)定的交叉概率;n為進(jìn)化的代數(shù);N為進(jìn)化的總代數(shù);af 為平均適應(yīng)度;maxf 為種群中個(gè)體的最大適應(yīng)度。當(dāng)進(jìn)化的代數(shù)n越大時(shí),算法得出的解就會(huì)越接近最優(yōu)解,所以設(shè)定cP隨之減小會(huì)使系統(tǒng)更快的收斂于最優(yōu)解。
3.2 變異概率的設(shè)定
對(duì)于變異概率mP,如果mP取值過大,那么遺傳算法就變成了隨機(jī)搜索算法;如果mP過小,就不容易產(chǎn)生新的個(gè)體結(jié)構(gòu)。為了提高遺傳算法的效率,本文設(shè)定的變異概率函數(shù)如下:
其中,mp 為設(shè)定變異概率;n為進(jìn)化的代數(shù);N為進(jìn)化的總代數(shù)。
在基本遺傳算法中引入自適應(yīng)機(jī)制,可以避免破壞已經(jīng)取得的優(yōu)化基因結(jié)構(gòu),加快收斂速度,有效克服遺傳算法后期進(jìn)化緩慢的缺點(diǎn)。
4.1 模擬退火算法參數(shù)的設(shè)定
溫度初始值的設(shè)置:初始值溫度的設(shè)置會(huì)影響到全局最優(yōu)解的搜索,但隨著設(shè)置的初始溫度越高則需要花費(fèi)計(jì)算時(shí)間越長(zhǎng)。一般需要根據(jù)實(shí)驗(yàn)的結(jié)果進(jìn)行反復(fù)調(diào)整,本文設(shè)置初始溫度 InitTemp值為 1。
衰減函數(shù)系數(shù):在實(shí)際應(yīng)用中,需要考慮到計(jì)算的復(fù)雜度和可行性等問題,本文采用如下降溫方式:
式中 k 一般取略小于 1的常數(shù),本文選取 k=0.6,t為降溫的次數(shù)。
算法的終止溫度:在不同的環(huán)境下對(duì)終止溫度有不同的終止溫度為要求,復(fù)雜的環(huán)境下,終止溫度條件也可能會(huì)有許多種。算法的終止溫度可以影響到算法的計(jì)算時(shí)間和收斂性,本文試驗(yàn)中設(shè)定為 10-8。
4.2 執(zhí)行模擬退火算法
當(dāng)設(shè)定好模擬退火算法的初始值和初始參數(shù)后,算法會(huì)以初始值為起點(diǎn),在設(shè)定的鄰域產(chǎn)生新解,然后通過設(shè)定的目標(biāo)函數(shù)計(jì)算函數(shù)值,例如本文設(shè)置函數(shù)值的新解為 Ei,當(dāng)前解為 Ej,比較兩者的差值,如果 Ej-Ei> 1e-6則新解取代為當(dāng)前解 Ej = Ei;否則算法會(huì)以 rand < exp( (oldenergy-newenergy)/(k·T) )概率即:
接收新解(Metropolis準(zhǔn)則),式中 T為當(dāng)前溫度,K為 boltzmann系數(shù)這里設(shè)為常數(shù) 1。再將得到的新解重復(fù)上述的工作,直到算法終止。
模擬退火算法可以對(duì)一些不符合適應(yīng)度要求的解給予保留,并且會(huì)以這個(gè)解作為新的代進(jìn)行搜索;其次,模擬 退火算法中 含 有參數(shù) Tt,能夠?qū)Α?溫度”進(jìn)行 控 制,Tt下降的越慢,結(jié)果越趨于最優(yōu),因此具有全局收斂性。而在遺傳算法中沒有這樣的一個(gè)控制參數(shù),存在著過早收斂的問題。
遺傳算法和模擬退火算法均屬于基本概率分布機(jī)制的優(yōu)化算法?;谶z傳算法容易出現(xiàn)過早收斂,而模擬退火算法由于保留不符合適應(yīng)度要求解的特性,很難判斷空間中的哪些區(qū)域會(huì)有更多的機(jī)會(huì)得到最優(yōu)解。因此將兩種方法相結(jié)合,優(yōu)勢(shì)互補(bǔ),就可以發(fā)揮遺傳算法的全局并行搜索能力和模擬退火算法的較強(qiáng)局部搜索能力。
5.1 實(shí)現(xiàn)算法的結(jié)合
本文通過在遺傳算法的迭代函數(shù)中嵌入模擬退火算法,形成新的迭代函數(shù),結(jié)合成模擬退火遺傳算法。首先執(zhí)行遺傳算法,將通過遺傳算法得到的當(dāng)前最優(yōu)解parent=[best(1) best(2) best(3)]作為模擬退火算法的初始值,然后調(diào)用模擬退火算法進(jìn)行運(yùn)算,最后再將得到的最優(yōu)值返回給遺傳算法,重復(fù)上述的運(yùn)算,直到算法終止。
5.2 算法的終止條件
設(shè)定結(jié)合后的算法服從遺傳算法的終止條件,例如:設(shè)定迭代次數(shù)為 10代,那么滿足運(yùn)算 10代后算法終止。算法的工作過程如圖1。
圖1 基于退火遺傳算法 PID參數(shù)優(yōu)化流程圖
本文應(yīng)用 Matlab中 GUI設(shè)計(jì)模版對(duì) PID控制器參數(shù)優(yōu)化進(jìn)行仿真界面設(shè)計(jì),在PID參數(shù)優(yōu)化仿真實(shí)驗(yàn)中,被控對(duì)象選取了兩個(gè)傳遞函數(shù)模型,分別為:
函數(shù)模型一:
這兩個(gè)傳遞函數(shù)模型具有很典型的根軌跡,使實(shí)驗(yàn)的效果明顯。
設(shè)置參數(shù)。遺傳算法:采樣時(shí)間設(shè)為 0.01秒,初始群體數(shù)為 50,迭代次數(shù)為 10,交叉概率和變異概率均為 0.7;模擬退火算法:初始溫度值為 1,終止溫度值為 10-8,最多實(shí)驗(yàn)次數(shù)為 300,衰減函數(shù)系數(shù)值為0.6,GUI界面中 G函數(shù)的分母為變量 S前系數(shù)。由公式(8)所得出的仿真實(shí)驗(yàn)對(duì)比圖2如下。
系統(tǒng)響應(yīng)參數(shù)以及 PID控制器參數(shù)如表1。
表1 系統(tǒng)響應(yīng)參數(shù)及 PID控制器參數(shù)表
通過實(shí)驗(yàn)的數(shù)據(jù)可以看出,對(duì)比傳統(tǒng)的 PID參數(shù)整定算法,智能算法在 PID參數(shù)整定方面,上升時(shí)間都有了較大的改善,使系統(tǒng)可以更快速的收斂。與ZN算法相比,在上升時(shí)間方面,遺傳算法提高 92.5%,自適應(yīng)遺傳算法提高 92.0%,模擬退火算法提高 91.5%,基于退火模式的遺傳算法提高 92.9%。由公式 9所得出的仿真實(shí)驗(yàn)對(duì)比圖3如下。
系統(tǒng)響應(yīng)參數(shù)以及 PID控制器參數(shù)如表2。
表2 系統(tǒng)響應(yīng)參數(shù)及 PID控制器參數(shù)表
通過實(shí)驗(yàn)的數(shù)據(jù)可以看出,相對(duì)于ZN算法, 在 上 升 時(shí) 間 方 面, 遺 傳 算 法 提 高 35.5%,自 適 應(yīng) 遺 傳 算 法 提 高 31.9%, 模 擬 退 火 算 法提 高 31.2%, 基 于 退 火 模 式 的 遺 傳 算 法 提 高 39.0%。當(dāng)?shù)螖?shù)增大時(shí),智能算法的優(yōu)勢(shì)會(huì)更加明顯。
圖2 仿真實(shí)驗(yàn)對(duì)比圖1
圖3 仿真實(shí)驗(yàn)對(duì)比圖2
本文分析了 PID控制原理與 PID控制器參數(shù)調(diào)節(jié)的基本方法、詳細(xì)討論了常規(guī)ZN法參數(shù)調(diào)節(jié)的實(shí)現(xiàn)方法。在對(duì)遺傳算法和模擬退火算法基本原理、實(shí)現(xiàn)策略及特點(diǎn)進(jìn)行深入研究的基礎(chǔ)上,以 PID控制器參數(shù)優(yōu)化為目標(biāo),分別設(shè)計(jì)并實(shí)現(xiàn)了基于基本遺傳算法的參數(shù)優(yōu)化、基于自適應(yīng)遺傳算法的參數(shù)優(yōu)化、基于模擬退火算法的參數(shù)優(yōu)化和基于退火模式下的遺傳算法的參數(shù)優(yōu)化,詳細(xì)討論了各種算法的編碼方案、目標(biāo)函數(shù)選取、算子設(shè)計(jì)與參數(shù)控制。采用 Matlab作為數(shù)據(jù)處理工具,針對(duì)不同的控制對(duì)象,對(duì)算法進(jìn)行了 PID參數(shù)優(yōu)化仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果證明了上述算法的可行性和有效性。
[1]鄭海霞 ,王林 .遺傳算法的自適應(yīng) PID控制器的應(yīng)用 [J].自動(dòng)化儀表, 2009(4): 58-60.
[2]周明 ,孫樹棟 .遺傳算法原理及應(yīng)用 [M].北京 : 國(guó)防工業(yè)出版社,1999.
[3]張文修 ,梁怡 . 遺傳算法的數(shù)學(xué)基礎(chǔ) [M].西安 : 西安交通大學(xué)出版社 , 2000.
[4]馬永杰 ,馬義德 ,蔣兆遠(yuǎn)等 .一種快速遺傳算法及其收斂性 [J].系統(tǒng)工程與電子技術(shù) . 2009(3): 714-718.
[5]段 紅 偉 ,胡 勁 松 .基 于 模 擬 退 火 算 法 的 實(shí) 現(xiàn) 及 應(yīng) 用 [J].科 技 信
TM571.6
A
1671-0711(2017)07(下)-0118-03