郭鵬程,張力平,趙 頓
(長(zhǎng)安大學(xué),陜西 西安 710000)
在控制方法中,PID控制器是最早的控制方法之一[1]。PID算法的性能主要依賴于控制參數(shù)的優(yōu)化,傳統(tǒng)優(yōu)化方法有通過(guò)專家提供經(jīng)驗(yàn)、Z-N法和單純形法。前者依賴于操作者的經(jīng)驗(yàn),而后兩者中,ZN法的控制過(guò)程復(fù)雜,普通人員難以操作,單純形法的超調(diào)量大,達(dá)到穩(wěn)定的時(shí)間比較長(zhǎng)[2]。雖說(shuō)智能算法已取得了不錯(cuò)的成績(jī),例如粒子群算法、遺傳算法等。其中,粒子群算法以其實(shí)現(xiàn)容易、收斂速度快等優(yōu)點(diǎn)被重視[3]。但還存在一定的缺點(diǎn)。
蟻群算法是基于種群的啟發(fā)式仿生進(jìn)化算法,該算法運(yùn)用的正反饋機(jī)制與分布式并行計(jì)算機(jī)制[4],容易與其他方法相結(jié)合,具有較強(qiáng)的收斂性和魯棒性[5]。本研究采用蟻群算法與模擬退火法融合的算法優(yōu)化PID參數(shù),不僅克服了傳統(tǒng)PID調(diào)節(jié)的缺陷,還對(duì)蟻群算法調(diào)節(jié)PID進(jìn)行改進(jìn)。
蟻群算法是由意大利學(xué)者M(jìn).Dorigo等人提出的,對(duì)自然界螞蟻的尋徑方式進(jìn)行模擬而得出的一種仿生進(jìn)化算法[6]。較優(yōu)路徑上的信息素濃度越來(lái)越高,其他路徑的信息素隨著時(shí)間流逝不斷地?fù)]發(fā),最終會(huì)形成最優(yōu)路徑。
設(shè)螞蟻數(shù)量和城市數(shù)量分別為m和n,城市i和j之間的距離為dij,τij(t)表示t時(shí)刻城市i和j路徑上的信息素濃度。t時(shí)刻,螞蟻k從城市i轉(zhuǎn)移到城市j的概率如下所示:

其中,α為信息素重要程度因子;β為啟發(fā)函數(shù)重要程度因子。值越大,搜索隨機(jī)性減弱,且可能會(huì)造成局部最優(yōu)。
在螞蟻釋放信息素的同時(shí),各個(gè)路徑的信息素會(huì)逐漸消失,所以當(dāng)螞蟻完成一次循環(huán)后,信息素濃度需實(shí)時(shí)更新,即:

其中,ρ表示信息素?fù)]發(fā)濃度,△τij表示所有螞蟻在路徑上釋放的信息素之和,△τkij表示第k只螞蟻在城市i和j的路徑上釋放的信息素濃度。ρ較小時(shí),則搜索重復(fù)路徑,直接影響算法的隨機(jī)性能和全局搜索能力;ρ過(guò)大時(shí),則信息素?fù)]發(fā)得相對(duì)較多,會(huì)產(chǎn)生過(guò)多無(wú)用搜索操作,降低算法的收斂速度。
蟻群算法優(yōu)化PID的步驟:
1)初始化參數(shù)。包括螞蟻個(gè)數(shù)、最大迭代次數(shù)、信息素蒸發(fā)系數(shù)、轉(zhuǎn)移概率常數(shù)等。
2)隨機(jī)生成螞蟻初始位置,計(jì)算出適應(yīng)度值,設(shè)為初始信息素,計(jì)算狀態(tài)轉(zhuǎn)移概率。
3)更新位置。對(duì)于螞蟻位置越界采用邊界吸收方式進(jìn)行處理,將螞蟻位置控制在限定范圍之內(nèi)。
4)更新信息素。
5)滿足終止條件,結(jié)束搜索過(guò)程,輸出優(yōu)化值;不滿足,則繼續(xù)迭代優(yōu)化。
由以上對(duì)蟻群算法的描述,在傳統(tǒng)的蟻群算法中,α和ρ的取值固定,會(huì)造成在不同時(shí)段其重要性無(wú)法發(fā)揮,影響收斂速度和全局搜索能力。為了在加快收斂速度和避免局部收斂間達(dá)到平衡,將模擬退火算法(Simulated Annealing,SA)與蟻群算法相互容納。模擬退火算法思想利用了實(shí)際物理退火的熱力學(xué)過(guò)程中熔融固體粒子的統(tǒng)計(jì)熱力學(xué)規(guī)律與數(shù)學(xué)上求解復(fù)雜組合優(yōu)化問(wèn)題的類似性[7]。物理退火通過(guò)加溫過(guò)程、等溫過(guò)程以及冷卻過(guò)程使粒子熱運(yùn)動(dòng)減弱,能量下降,得到晶體結(jié)構(gòu)。具體優(yōu)化方式如下:在每次迭代T中每只螞蟻i都有初始解FV0,設(shè)定初始溫度T0=TT0,從領(lǐng)域函數(shù)中產(chǎn)生新解FV,并計(jì)算目標(biāo)的差值DC=FV-FV0,DC小于零,則接受新解;DC大于零,則通過(guò)Metropolis過(guò)程以exp(-DC/T)>rand的概率接受新解,然后退溫T0=T0*DS(DS為0~1之間的數(shù)),溫度未達(dá)到條件則重復(fù)之前的操作,溫度到達(dá)則將螞蟻數(shù)目i=i+1;再次進(jìn)行搜索,一次迭代完成后T=T+1,再次迭代直到迭代結(jié)束。具體流程圖如圖1所示。

圖1 優(yōu)化流程圖
控制系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2 控制系統(tǒng)結(jié)構(gòu)圖
為了分析算法的可行性,在MATLAB R2018b平臺(tái)進(jìn)行仿真測(cè)試,在Simulink中建立PID控制模型,建立蟻群算法(ANT)和蟻群與模擬退火融合算法(ANT-SA)的m文件。通過(guò)運(yùn)行m文件調(diào)用PID控制系統(tǒng)模型,將PID的參數(shù)kp、ki、kd進(jìn)行賦值,運(yùn)行PID系統(tǒng)模型并返回目標(biāo)函數(shù),以便蟻群算法(ANT)和蟻群與模擬退火融合算法(ANT-SA)判斷結(jié)果優(yōu)劣,從而找出最優(yōu)解。
為了驗(yàn)證其性能,從峰值時(shí)間tp、超調(diào)量δ和調(diào)節(jié)時(shí)間ts這三個(gè)方面進(jìn)行對(duì)比。如圖3所示。

圖3 仿真效果圖
由圖3可知,蟻群模擬退火算法融合調(diào)節(jié)PID相比使用傳統(tǒng)方式調(diào)節(jié)PID以及蟻群算法調(diào)節(jié)PID綜合性能更加優(yōu)良。具體仿真參數(shù)如表1所示。

表1 仿真性能
由仿真實(shí)驗(yàn)結(jié)果可知,與傳統(tǒng)PID和ANT調(diào)節(jié)PID相比,ANT-SA調(diào)節(jié)PID在超調(diào)量和調(diào)節(jié)時(shí)間方面有著明顯的優(yōu)勢(shì);在峰值時(shí)間上ANT-SA算法調(diào)節(jié)PID也比ANT調(diào)節(jié)PID優(yōu)良,進(jìn)而驗(yàn)證了蟻群算法和模擬退火算法融合后對(duì)PID控制的有效性。
針對(duì)傳統(tǒng)PID調(diào)節(jié)方式存在的問(wèn)題,提出一種將蟻群算法和模擬退火算法融合(ANT-SA)后用于調(diào)節(jié)PID參數(shù)的整定方法,使用MATLAB R2018b/Simulink進(jìn)行仿真。仿真結(jié)果表明,ANT-SA算法在PID調(diào)節(jié)中體現(xiàn)了超調(diào)量小、調(diào)節(jié)時(shí)間短和響應(yīng)時(shí)間較快的優(yōu)勢(shì),控制效果理想。