王智浩
(1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093;2.上海工業(yè)自動(dòng)化儀表研究院,上海 200233)
?
NSGA-II在不同性能指標(biāo)組合下的PID參數(shù)優(yōu)化
王智浩1,2
(1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093;2.上海工業(yè)自動(dòng)化儀表研究院,上海 200233)
文中對(duì)于PID參數(shù)整定問(wèn)題,通過(guò)分析比較不同組合的性能指標(biāo),在基于多目標(biāo)智能優(yōu)化算法下進(jìn)行PID參數(shù)整定。該方法基于非支配排序多目標(biāo)遺傳算法(NSGA-II),在采用不同性能指標(biāo)組合后生成的不同目標(biāo)函數(shù)空間,通過(guò)Matlab進(jìn)行控制系統(tǒng)仿真后,對(duì)輸出的階躍響應(yīng)曲線進(jìn)行了分析和比較,從而尋找到了IAE、ISE以及控制輸入的平方項(xiàng)作為最優(yōu)的三目標(biāo)性能指標(biāo)組合。
多目標(biāo)優(yōu)化算法;PID; NSGA-II; Matlab
PID控制器因其算法簡(jiǎn)單、魯棒性強(qiáng),因而被廣泛應(yīng)用于化工、冶金、機(jī)械、熱工和輕工等工業(yè)過(guò)程控制系統(tǒng)中[1]。但PID控制在實(shí)際運(yùn)用上仍面臨兩個(gè)關(guān)鍵問(wèn)題:一是建立一個(gè)綜合多種因素動(dòng)態(tài)數(shù)學(xué)模型通常是很困難的;另一個(gè)就是PID 參數(shù)的整定,即針對(duì)特定的系統(tǒng)建立數(shù)學(xué)模型,運(yùn)用優(yōu)化方法按照一定的性能指標(biāo)進(jìn)行尋優(yōu),使PID 控制系統(tǒng)達(dá)到所期望的控制性能。
本文旨在對(duì)第2個(gè)問(wèn)題即PID參數(shù)整定提出一種新的思路和解決方法,目前最多的優(yōu)化準(zhǔn)則都是按照單一誤差積分性能指標(biāo)來(lái)優(yōu)化系統(tǒng)[2],但在實(shí)際運(yùn)用中幾種性能指標(biāo)均有不同的優(yōu)缺點(diǎn),同時(shí)為了保證實(shí)際應(yīng)用的效果,研究人員通常需要對(duì)準(zhǔn)則進(jìn)行修改并添加權(quán)重[3-7]。
為解決這一問(wèn)題文中采用了基于非支配排序多目標(biāo)遺傳算法(Non-dominated Sorting Genetic Algorithm II ,NSGA-II)[8],算法是目前流行的多目標(biāo)進(jìn)化算法之一。該算法已在類似的多目標(biāo)優(yōu)化問(wèn)題上取得了較好的效果[9-10],其在使用中最大的優(yōu)勢(shì)在于無(wú)需考慮權(quán)重的問(wèn)題,該算法可對(duì)多個(gè)目標(biāo)進(jìn)行綜合比較從而取得Pareto最優(yōu)(即最優(yōu)的PID參數(shù)集合),這在較大程度上保留了不同性能指標(biāo)的優(yōu)點(diǎn)同時(shí)也消除了彼此的缺點(diǎn)。
1.1基于NSGA-II的PID控制系統(tǒng)原理
控制系統(tǒng)由控制器和被控對(duì)象以及優(yōu)化設(shè)計(jì)環(huán)節(jié)組成,控制系統(tǒng)框圖如圖1所示。
圖1 控制系統(tǒng)框圖
在該控制系統(tǒng)中由控制器根據(jù)設(shè)定值r與實(shí)際輸出值y進(jìn)行比較,所得偏差e作為PID 控制器的輸入值,經(jīng)PID控制產(chǎn)生控制量u(k),之后將所得偏差e(k)、控制量u(k)與實(shí)際輸出值Yout(t)輸入優(yōu)化設(shè)計(jì)模塊。利用NSGA-II算法對(duì)PID控制器的比例增益Kp、積分增益Ki、微分增益Kd這3個(gè)參數(shù)組合在一起作為進(jìn)化算法種群中的個(gè)體即決策變量,以幾種誤差積分性能指標(biāo)組合來(lái)為目標(biāo)函數(shù)空間,并以其可能達(dá)到的極小值作為評(píng)價(jià)指標(biāo)。然后對(duì)種群個(gè)體進(jìn)行選擇、排序、交叉和變異操作,不斷地進(jìn)化,直到找到群體中最優(yōu)目標(biāo)個(gè)體,得到PID 控制器的最優(yōu)參數(shù),使系統(tǒng)的穩(wěn)定性、快速性、準(zhǔn)確性整體綜合性能達(dá)到理想的控制效果。
1.2PID控制原理
PID控制器是一種線性控制器,其是將偏差e(t)的比例、積分和微分通過(guò)線性組合構(gòu)成控制量對(duì)被控對(duì)象進(jìn)行控制。式(1)為其控制規(guī)律,式(2)為修改后的方程
(1)
(2)
式中,t為時(shí)間;kp表示比例增益;u(t)為本次控制量;e(t)為本次偏差;Ti表示積分時(shí)間常數(shù);Td表示微分時(shí)間常數(shù);ki表示積分增益;kd表示微分增益;ki=kp/Ti,kd=kp×Td。
為仿真方便,可通過(guò)離散化將連續(xù)系統(tǒng)直接化為差分方程。式(2)即為離散化后的差分方程
Δu(t)=Kpe(t)+KiΔe(t)+KaΔ2e(t)
(3)
1.3性能指標(biāo)
這里文獻(xiàn)[11]選取了6種誤差積分準(zhǔn)則的性能指標(biāo),如表1所示。
表1 6種性能指標(biāo)函數(shù)數(shù)字算法
1.4算法流程
基于非支配排序多目標(biāo)遺傳算法(NSGA-II)的執(zhí)行步驟如下:(1)初始化種群。等概率初始化每個(gè)個(gè)體的純變異策略;(2)排序。按照性能指標(biāo)組成的目標(biāo)函數(shù)進(jìn)行非支配排序確定非支配序列,進(jìn)而對(duì)每個(gè)個(gè)體進(jìn)行適應(yīng)度計(jì)算;(3)混合變異操作。根據(jù)個(gè)體變異的概率,產(chǎn)生子代個(gè)體;(4)選擇。選取父代種群以及子代種群的集合,利用錦標(biāo)賽方法(即首先比較排序,若處于相同序列,則進(jìn)行擁擠度算子比較)選擇出下一代種群個(gè)體;(5)終止。判斷是否滿足最大演化代數(shù)的終止,若滿足,則算法終止;否則重復(fù)步驟(2)~步驟(4),直至滿足終止條件。
2.1實(shí)驗(yàn)對(duì)象及參數(shù)選取
在過(guò)程控制中,許多系統(tǒng)在進(jìn)行系統(tǒng)辨識(shí)時(shí)常被近似為一階或二階的典型系統(tǒng),為比較NSGA-II算法用在PID控制器參數(shù)優(yōu)化整定的性能,針對(duì)以下二階時(shí)滯對(duì)象進(jìn)行仿真研究,并與相同性能指標(biāo)的SOA算法以及PSO算法進(jìn)行比較。選取被控對(duì)象其傳遞函數(shù)為
(4)
其中,參數(shù)Kp、Ki、Kd的范圍分別為[0, 100]、[0, 100]和[0, 100], 輸入信號(hào)為單位階躍響應(yīng)。群體大小為100,終止代數(shù)為100, 控制器的輸出限值為[-10, 10]。交叉概率0.9,變異率0.5,采用實(shí)數(shù)編碼。
2.2適應(yīng)度函數(shù)選取
對(duì)于PSO和SOA算法,為獲得滿意的過(guò)度過(guò)程動(dòng)態(tài)性能,采用IAE性能指標(biāo)作為參數(shù)選擇的最小目標(biāo)函數(shù)。同時(shí)為防止控制能量過(guò)大,在目標(biāo)函數(shù)中加入控制輸入的平方項(xiàng),選用的目標(biāo)函數(shù)如式(5)所示。
(5)
其中,u(t)為本次控制量;e(t)為本次偏差;ω1和ω1為權(quán)值。
為避免超調(diào),采用了懲罰控制,如果e(t)<0,則超調(diào)量將作為最優(yōu)指標(biāo)的一項(xiàng),此時(shí)目標(biāo)函數(shù)如式(6)所示。
(6)
其中,ω3為權(quán)值,且ω3≥ω1,這里取ω1=0.999,ω2=0.001,ω3=100。
對(duì)于NSGA-II算法,文中在保留懲罰控制的前提下,取消了上述權(quán)重ω1和ω2,并將式(5)和式(6)重修改為對(duì)應(yīng)的目標(biāo)函數(shù),此時(shí)目標(biāo)函數(shù)為式(7)~式(9)
(7)
(8)
(9)
其中,式(6)和式(8)為懲罰控制,當(dāng)且僅當(dāng)e(t)<0時(shí)才會(huì)選用這個(gè)方程,一般情況只使用式(5)和式(7)。
2.3仿真結(jié)果與分析
圖2為NSGA-II算法種群分布,說(shuō)明F1和F2是兩個(gè)相互沖突的目標(biāo)函數(shù),且其中的曲線正是NSGA-II算法所尋找到的Pareto最優(yōu)前端。圖3顯示了各算法在PID控制的階躍響應(yīng)效果,可從圖中看到NSGA-II算法相較于其他算法在響應(yīng)時(shí)間上取得了較好的效果,且并未產(chǎn)生過(guò)大的超調(diào)量。
圖2 種群分布
圖3 階躍響應(yīng)輸出曲線比較
此外,由于NSGA-II算法是個(gè)多目標(biāo)優(yōu)化算法,該算法可對(duì)多個(gè)目標(biāo)函數(shù)進(jìn)行計(jì)算,并可通過(guò)添加額外的性能指標(biāo)來(lái)取得更好的Pareto最優(yōu)解,即PID參數(shù)。之前通過(guò)IAE性能指標(biāo)來(lái)構(gòu)造二維目標(biāo)函數(shù)空間,之后可通過(guò)分別添加誤差平方項(xiàng)的性能指標(biāo)如ISTSE、ITSE、ISE來(lái)構(gòu)造三維目標(biāo)函數(shù)空間(添加的性能指標(biāo)的目標(biāo)函數(shù)作為F2,式(9)變?yōu)镕3)。如圖4~圖7是通過(guò)添加性能指標(biāo)后的種群分布及相應(yīng)的PID控制的階躍響應(yīng)效果圖。
圖4 添加ISE后的種群分布
圖5 添加ITSE后的種群分布
圖6 添加ISTSE后的種群分布
圖7 階躍響應(yīng)輸出曲線綜合比較
通過(guò)對(duì)比圖4~圖6后可發(fā)現(xiàn),雖不同的F2對(duì)種群的分布產(chǎn)生了一定影響,但種群在F1和F2的面上并未產(chǎn)生較大的改變,說(shuō)明添加誤差平方項(xiàng)的性能指標(biāo)后的階躍響應(yīng)輸出曲線,相較于雙目標(biāo)函數(shù)的曲線,在添加后的三目標(biāo)函數(shù)輸出的曲線在此有了更進(jìn)一步的優(yōu)化,但不同的誤差平方項(xiàng)對(duì)結(jié)果沒(méi)有過(guò)大影響。同樣在圖7中綜合比較所有的三目標(biāo)函數(shù)結(jié)果后,說(shuō)明雖三目標(biāo)相對(duì)于雙目標(biāo)有了進(jìn)一步的優(yōu)化,但誤差平方項(xiàng)與時(shí)間的乘積并未產(chǎn)生較大的影響。由此說(shuō)明,影響Pareto最優(yōu)解的主要因素是誤差平方項(xiàng)即ISE。因此,為減少算法的運(yùn)行時(shí)間,選用目標(biāo)函數(shù)組合IAE和ISE以及控制輸入的平方項(xiàng)作為最優(yōu)組合。
文中提出了利用非支配排序多目標(biāo)遺傳算法(NSGA-II),基于誤差積分準(zhǔn)則的性能指標(biāo)和控制輸入的平方項(xiàng)對(duì)PID進(jìn)行參數(shù)優(yōu)化。與其他算法相比,取消了除懲罰參數(shù)之外的所有需要人工進(jìn)行干預(yù)的權(quán)重參數(shù)的選擇及輸入,消除了因權(quán)重不同可能引起的不同優(yōu)化結(jié)果,使所有的PID參數(shù)優(yōu)化結(jié)果無(wú)需進(jìn)行額外的經(jīng)驗(yàn),而只需選取相應(yīng)的性能指標(biāo)即IAE和ISE。通過(guò)仿真試驗(yàn)對(duì)此方法進(jìn)行驗(yàn)證,優(yōu)化獲得的增益參數(shù)應(yīng)用于PID控制器中達(dá)到了良好的控制性能,如超調(diào)小、調(diào)節(jié)時(shí)間短、上升時(shí)間快、穩(wěn)態(tài)誤差小等等,結(jié)果表明此方法的有效性和實(shí)用性。
[1]胡包鋼,應(yīng)浩.模糊PID控制技術(shù)研究發(fā)展回顧及其面臨的若干重要問(wèn)題[J].自動(dòng)化學(xué)報(bào),2001,27(4):567-584.
[2]金翠云,王建林,馬江寧,等.改進(jìn)的PSO算法及其在PID控制器參數(shù)整定中的應(yīng)用[J]. 電子測(cè)量與儀器學(xué)報(bào),2010,24(2):141-146.
[3]曾自力.基于進(jìn)化算法的PID控制系統(tǒng)設(shè)計(jì)方法研究[D].南京:南京理工大學(xué),2006.
[4]楚東來(lái).基于改進(jìn)粒子群算法的自抗擾控制器參數(shù)優(yōu)化及仿真[J].信息通信,2015(9):15-17.
[5]李自強(qiáng),薛美盛.用于PID參數(shù)自整定的性能指標(biāo)仿真研究[J]. 自動(dòng)化與儀表,2009(2):30-33.
[6]張倩,楊耀權(quán).基于遺傳算法的PID控制器參數(shù)優(yōu)化方法研究[J].電力科學(xué)與工程,2011,27(11):53-57.
[7]鄭權(quán),忻尚芝,錢建秋.基于改進(jìn)遺傳算法的PID參數(shù)研究[J].電子科技,2015,28(11):5-7,12.
[8]Deb K,Pratap A,Argrawal S, et al.A fast and elitist multi-objective genetic algorithm:NSGA II[J].IEEE Transactions on Evolutionary Computation,2002, 6(2):182-197.
[9]王洪建.基于NSGA-Ⅱ的變速器齒輪系多目標(biāo)可靠性優(yōu)化設(shè)計(jì)[D].武漢:武漢理工大學(xué),2010.
[10] 顏伏伍,王洪建,田韶鵬,等.基于第二代非支配排序遺傳算法的變速器齒輪系多目標(biāo)可靠性優(yōu)化[J].汽車工程,2010,32(3):234-237.
[11] 陽(yáng)國(guó)富.幾種最佳性能指標(biāo)下的PID參數(shù)尋優(yōu)[J].云南工學(xué)院學(xué)報(bào),1991,7(3):68-72.
Research on PID Parameters Based on NSGA-II in a Combination of Different Indicators
WANG Zhihao1, 2
(1.School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China; 2.Shanghai Institute of Process Automation Instrumentation, Shanghai 200233, China)
The PID parameter optimization based on multi-objective evolutionary algorithm is proposed by analyzing performance metrics to compare different combinations. The method is based on the non-dominated sorting genetic algorithm II (NSGA-II) for generating different targets after the introduction of different indicators combination of properties function. Analysis and comparison the curves of step response output is made through Matlab simulation of the control system to find the optimal combination of the performance indicators IAE, ISE and squared term control input.
multi-objective evolutionary algorithm; PID; NSGA-II; Matlab
10.16180/j.cnki.issn1007-7820.2016.08.021
2015-11-22
王智浩(1991-),男,碩士研究生。研究方向:智能算法。
TP301.6
A
1007-7820(2016)08-070-04