孫金生 李 彬
(南京理工大學自動化學院,南京 210094)
PID控制是一種應用廣泛的控制方式,其算法簡便,結(jié)構(gòu)簡單,可靠性高.在受控對象結(jié)構(gòu)和參數(shù)已知的情況下,利用該方法能夠獲得令人滿意的控制效果.但對于一些過程復雜、參數(shù)時變、非線性強的動態(tài)系統(tǒng)而言,PID控制則難以獲得滿意的控制效果.此外,PID控制的參數(shù)往往是固定的,不易實時在線自調(diào)整,使其應用在一定程度上受到了限制.近年來,神經(jīng)網(wǎng)絡控制在控制領(lǐng)域獲得了很大的發(fā)展,單神經(jīng)元作為神經(jīng)網(wǎng)絡的基本單位,具有自學習和自適應的能力.將其與PID控制結(jié)合起來,可構(gòu)成單神經(jīng)元自適應PID控制器,該算法簡單,結(jié)構(gòu)易實現(xiàn),穩(wěn)定性和魯棒性較好.
近年來,主動隊列管理算法(active queue management,AQM)已成為網(wǎng)絡擁塞控制問題研究的熱點之一.專家學者們相繼提出了 RED[1],ARED[2],BLUE[3],REM[4],PI[5],PID[6],PD-Controller[7],RaQ[8]等AQM算法.為了使AQM算法能夠更好地適應網(wǎng)絡環(huán)境的變化,基于單神經(jīng)元自適應PID控制原理,文獻[9]提出了一種自適應神經(jīng)元PID主動隊列管理算法;文獻[10]提出了一種改進的單神經(jīng)元自適應PID控制算法.這2種算法的性能較好,但單神經(jīng)元PID控制算法的神經(jīng)元增益參數(shù)K比較敏感,其區(qū)值對單神經(jīng)元PID控制算法的性能會產(chǎn)生很大的影響,且其初值僅在初始時設定,不具備實時在線自調(diào)整的功能.
為了提高單神經(jīng)元PID控制算法的性能,本文引入了T-S模糊模型,設計了一種基于T-S模糊模型的單神經(jīng)元自適應PID主動隊列管理算法(single neuron adaptive PID algorithm based on T-S fuzzy model,TS-SNAPID),以實現(xiàn)K值的在線調(diào)整.
在AQM算法中,常規(guī)的PID算法表達式為
相應的離散式PID表達式為
將式(2)轉(zhuǎn)化為差分式PID算法,其表達式為
式中,u(k)為控制量;e(k)為k時刻的輸入誤差,且e(k)=q(k)-qref,其中q(k)為k時刻的隊列長隊,qref為期望隊列長度.
單神經(jīng)元控制器的輸入輸出數(shù)學模型為[11]
式中,K為單神經(jīng)元的比例增益,且K>0;xi(k)為單神經(jīng)元的輸入;ωi(k)為對應于xi(k)的加權(quán)系數(shù);u(k)為單神經(jīng)元的輸出.
由式(4)可知,單神經(jīng)元是一個多輸入單輸出的非線性信息處理單元.在AQM算法中,利用單神經(jīng)元可實現(xiàn)自適應PID控制,結(jié)構(gòu)框圖如圖1所示.圖中,qref為期望隊列長度;q(k)為當前實時隊列長度;p為計算出的丟棄概率.轉(zhuǎn)換器的輸入反映了被控狀態(tài)變量和隊列期望的狀態(tài).輸入狀態(tài)變量的取值為
圖1 單神經(jīng)元自適應PID控制框圖
將式(4)改寫為AQM算法中計算丟棄概率的差分形式PID控制,即
單神經(jīng)元控制算法是單神經(jīng)元控制器的核心[11],反映了算法本身的學習能力,其主要作用是調(diào)節(jié)加權(quán)系數(shù)ωi(k)的值.該算法的表達式為
式中,ηi為學習速率,且ηi>0;Vi(k)為隨過程遞減的學習信號;c為常數(shù),且0≤c<1.
在現(xiàn)有的學習算法中,根據(jù)學習信號的不同,可將學習算法分為3種:無監(jiān)督Hebb學習算法、有監(jiān)督Delta學習算法以及有監(jiān)督Hebb學習算法[12].為了適應控制的要求,考慮到加權(quán)系數(shù)ωi(k)與單神經(jīng)元的輸入、輸出以及輸出偏差有關(guān),本文采用有監(jiān)督Hebb學習算法來調(diào)節(jié)加權(quán)系數(shù)ωi(k),其表達式為
式中,z(k)為輸出誤差信號,且z(k)=e(k);u(k)為單神經(jīng)元的輸出,即丟棄概率.
由此可知,最終學習算法的表達式為
下面,證明學習算法的收斂性[9].
由式(11)可得
設存在函數(shù) Fi(ωi(k),xi(k),u(k),z(k)),對 ωi(k)求偏微分可得
將式(13)代入到式(12)中,從而得到
式(14)表明,加權(quán)系數(shù)ωi(k)的修正是沿著Fi相對于ωi(k)的負梯度方向進行的,并且可以用隨機逼近理論加以證明.當常數(shù)c取值充分小時,采取有監(jiān)督Hebb學習算法,可以使ωi(k)收斂到某一穩(wěn)定值,使其與期望值的偏差達到允許的范圍內(nèi).
單神經(jīng)元PID控制器的自適應、自調(diào)整功能是通過調(diào)整狀態(tài)變量xi(k)的加權(quán)系數(shù)ωi(k)來實現(xiàn)的.為了保證學習算法的收斂性和魯棒性,需要對有監(jiān)督Hebb的學習算法進行規(guī)范化處理,同時取c=0,則單神經(jīng)元自適應PID控制算法的表達式為
式中,ηI,ηP,ηD分別為積分(I)、比例(P)、微分(D)的學習速率.
單神經(jīng)元的比例增益K在系統(tǒng)中是最敏感的.當K值較大時,系統(tǒng)的響應速度較快,但此時會引起系統(tǒng)過大的超調(diào),甚至會使系統(tǒng)變得不穩(wěn)定;當K值較小時,系統(tǒng)響應變慢,快速性變差.因此,K值的選擇對系統(tǒng)的性能具有很大的影響作用,且在單神經(jīng)元自適應PID算法中,K值僅在初始時設定,不具備實時在線自調(diào)整的功能.基于此,為使單神經(jīng)元自適應PID算法具有增益K在線調(diào)整功能,引入了T-S模糊調(diào)整的思想,提出了一種基于T-S模糊模型的增益自調(diào)整的單神經(jīng)元自適應PID算法(TS-SNAPID).
T-S模糊模型是由 Takagi和 Surgeon[13]于1985年提出的一種非線性建模方法.該模型由一組IF-THEN模糊規(guī)則語句組成,其規(guī)則前件采用模糊量形式,后件則采用精確量線性集結(jié)的方式.對于單一規(guī)則,T-S模型表現(xiàn)為局部區(qū)域的一個線性映射,隨著規(guī)則的增加,實現(xiàn)了全局上的非線性映射[14].對于某一條規(guī)則,其一般形式為
式中,x1(t),x2(t)為T-S規(guī)則前件中的狀態(tài)變量;(j=1,2,…,n)為模糊子集;l為規(guī)則條數(shù);z為精確量輸出.
對式(20)進行單點模糊化、乘積推理和加權(quán)平均反模糊化處理,最終得到T-S模糊模型的輸出為
式中,Ωij(xj(t))為xj(t)在模糊子集中的隸屬度函數(shù).
利用T-S模糊模型,可實現(xiàn)單神經(jīng)元自適應PID控制,結(jié)構(gòu)框圖如圖2所示.
圖2 T-S模糊模型的單神經(jīng)元自適應PID控制框圖
在本文算法中,增益K的自調(diào)整功能是通過引入T-S模糊模型來實現(xiàn)的,T-S模糊模型的后件輸出為增益K.
考慮到系統(tǒng)在響應初期,為了提高系統(tǒng)的響應速度,K值應取大些;當系統(tǒng)進入穩(wěn)態(tài)后,為了保證系統(tǒng)超調(diào)不大,K值應取小些.
將誤差e(k)作為T-S模糊規(guī)則前件,其模糊論域分為3個模糊子集,即正(P),零(Z),負(N),模糊子集的隸屬度函數(shù)采用高斯型,規(guī)則如下:
隸屬度函數(shù)取為
為了驗證TS-SNAPID算法的性能,利用網(wǎng)絡仿真軟件NS2[15]進行了仿真研究.仿真拓撲圖如圖3所示.圖中,路由器B,C之間為瓶頸鏈路,其鏈路容量為15 Mbit/s,其余鏈路容量為100 Mbit/s.主動隊列管理算法TS-SNAPID設置在路由器B上,所有的TCP連接均為持久性的FTP業(yè)務源.所有TCP的源端和接收端與路由器之間的隊列管理算法都采用隊尾丟棄(Drop-tail)算法,且假設擁有足夠大的緩沖區(qū).在沒有特殊說明的情況下,傳輸時延均為60 ms,路由器最大緩沖隊列長度為800個數(shù)據(jù)包,期望目標隊列長度為400個數(shù)據(jù)包,初始隊列長度為0個數(shù)據(jù)包,采樣頻率ω為170次/s,仿真時間100 s.為便于與文獻[10]中改進的單神經(jīng)元自適應PID控制(SNAPID)算法進行比較,主要控制參數(shù)設置與文獻[10]一致,即單神經(jīng)元比例增益 K=1.2 ×10-5,加權(quán)系數(shù)初值分別為 ωP=2.583 92 ×10-6,ωI=2.982 90 ×10-6,ωD=3.507 35 ×10-8,學習速率分別為 ηP=8 ×10-5,ηI=1 ×10-6,ηD=1 ×10-7.
圖3 網(wǎng)絡仿真拓撲結(jié)構(gòu)圖
在本次仿真中,主要考察TS-SNAPID算法在TCP連接數(shù)目不同時的適應能力.TCP連接個數(shù)分別為200和800時,TS-SNAPID和改進的SNAPID算法的隊列長度變化情況如圖4所示.
圖4 TCP連接個數(shù)不同時的仿真結(jié)果
從圖4可以看出,與改進的SNAPID算法相比,隨著TCP數(shù)目的增加,TS-SNAPID算法表現(xiàn)出了很好的動態(tài)性能,能將隊列長度迅速穩(wěn)定在期望值附近,隊列波動較小,穩(wěn)定性好,具有很好的適應能力.
在本次仿真中,主要考察TS-SNAPID算法在期望隊列長度不同時的適應能力.TCP連接個數(shù)為500,期望隊列長度分別為300和500個數(shù)據(jù)包,此時,TS-SNAPID和改進的SNAPID算法隊列長度的變化情況如圖5所示.
圖5 期望隊列長度不同時的仿真結(jié)果
從圖5可以看出,與SNAPID算法相比,TS-SNAPID算法在不同的期望隊列長度下都能迅速地將隊列收斂到期望值附近,且實時隊列波動較小,表明該算法性能優(yōu)于SNAPID算法.
在本次仿真中,主要考慮TS-SNAPID算法在以下2種情況下的適應能力:① 負載固定間隔增加;②負載隨機間隔增加.在負載固定間隔增加的情況下,200個TCP連接同時在0時刻啟動,之后每隔20 s又有150個TCP連接同時啟動,直到800個TCP全部啟動,仿真結(jié)果如圖6(a)所示.在負載隨機間隔增加的情況下,200個TCP連接同時在0時刻啟動,之后在0~100 s內(nèi),600個TCP隨機啟動,仿真結(jié)果如圖6(c)所示.
圖6 負載波動時隊列長度仿真結(jié)果
從圖6中可以看出,與改進的SNAPID算法相比,TS-SNAPID算法能夠?qū)㈥犃醒杆俚胤€(wěn)定在期望值附近,且誤差以及隊列波動較小,表現(xiàn)出了良好的動態(tài)性能.
在本次仿真中,將TS-SNAPID算法與改進的SNAPID算法、REM算法、PI算法進行性能比較.仿真環(huán)境參數(shù)配置如下:各算法的網(wǎng)絡拓撲圖均相同(見圖3),各種AQM算法設置在路由器B上,瓶頸鏈路容量為15 Mbit/s,其他鏈路容量為100 Mbit/s,TCP連接數(shù)目為500,傳輸時延RTPT為60 ms,期望隊列長度為400個數(shù)據(jù)包,仿真時間設為100 s.各種算法的主要控制參數(shù)為:在PI算法中,a=1.822×10-5,b=1.816 ×10-5,采用頻率為 170 次/s;在 REM 算法中,γ =0.001,φ =1.001,α =1.0.其他參數(shù)采用 NS2默認的參數(shù)設置.各算法的隊列長度變化情況如圖7所示.
圖7 不同算法比較的仿真結(jié)果
從圖7可以看出,與改進的SNAPID算法、REM算法、PI算法相比,TS-SNAPID算法能將隊列長度迅速收斂于期望值附近,隊列波動較小,性能上優(yōu)于其他主動隊列管理算法.
為了比較以上幾種AQM算法的穩(wěn)態(tài)性能,計算了仿真過程中后50 s內(nèi)幾種算法隊列長度的均值和均方差,結(jié)果見表1.
表1 幾種主動隊列管理算法的性能比較
從表1可以看出,TS-SNAPID算法的隊列長度均值最接近于隊列長度期望值,并且其均方差最小,說明TS-SNAPID算法的性能優(yōu)于其他3種主動隊列管理算法.
本文針對現(xiàn)有單神經(jīng)元PID控制算法無法實現(xiàn)單神經(jīng)元中比例增益自調(diào)整的問題,引入了T-S模糊模型,設計了一種基于T-S模糊模型的單神經(jīng)元自適應PID控制算法,該算法具有比例增益自調(diào)整功能.仿真結(jié)果表明,與單神經(jīng)元自適應PID控制算法相比,本文算法的收斂速度更快,能夠迅速地將隊列長度收斂到期望值附近,穩(wěn)定性較好,能夠適應不同仿真環(huán)境的變化,性能上優(yōu)于前者.且與改進的SNAPID、REM、PI算法相比,TS-SNAPID算法的性能更優(yōu).
References)
[1] Floyd S,Jacobson V.Random early detection gateways for congestion avoidance[J].IEEE/ACM Transactions on networking,1993,1(4):397-413.
[2] Floyd S,Gummadi R,Shenker S.Adaptive RED:an algorithm for increasing the robustness of RED′s active queue management[EB/OL].(2008-11-1)[2010-2-12].http://www.icir.org/floyd/red.html.
[3] Feng W,Kandlur D,Saha D,et al.The blue active queue management algorithms[J].IEEE/ACM Transactions on Networking,2002,10(4):513-52.
[4] Athuraliya S,Low S H.REM:active queue management[J].IEEE Network,2001,15(3):48-53.
[5]Hollot C,Misra V,Towsley D.On designing improved controllers for AQM routers supporting TCP flow [C]//Proceeding the 2001 INFOCOM.Anchorage,AK,USA,2001:1726-1734.
[6]任豐原,王福豹,任勇,等.主動隊列管理中的PID控制器[J].電子與信息學報,2003,25(1):94-99.Ren Fengyuan,Wang Fubao,Ren Yong,et al.PID controller for active queue management[J].Journal of Electronic and Information,2003,25(1):94-99.(in Chinese)
[7] Sun J,Chen G,Ko K T,et al.PD-controller:a new active queue management scheme[C]//Proceedings the IEEE Gloecom.San Francisco,CA,USA,2003:3103-3107.
[8] Sun J,Zukerman M.RaQ:a robust active queue management scheme based on rate and queue length[J].Computer Communication,2007,30(8):1731-1741.
[9] Sun J,Chen J,Wang Z.Adaptive neuron PID:a new active queue management algorithm [C]//Proceedings of the 6th World Congress on Intelligent Control and Automation.Dalian,2006:6308-6312.
[10]胡勇,李訓銘,高莉莎.基于NS2的改進隊列管理算法及其實現(xiàn)[J].電力自動化設備,2008,28(1):90-93.Hu Yong,Li Xunming,Gao Lisha.Improved queue management algorithm based on NS2 and its implementation [J].Electronic Power Automation Equipment,2008,28(1):90-93.(in Chinese)
[11]張世韜,楊風,郝騫.單神經(jīng)元PID控制器研究及仿真[J].機械工程與自動化,2009,39(3):69-70.Zhang Shitao,Yang Feng,Hao Qian.Research and simulation of single neuron PID controller[J].Mechanic Engineering and Automation,2009,39(3):69-70.(in Chinese)
[12]于雷,何小陽,劉濤.一種增益自適應的單神經(jīng)元PID控制器[J].湖南工業(yè)大學學報,2007,21(5):45-47.Yu Lei,He Xiaoyang,Liu Tao.A single neural PID controller with gain self-adaptive[J].Journal of Hunan University of Technology,2007,21(5):45-47.(in Chinese)
[13] Takagi T,Surgeon M.Fuzzy identification of systems and its application to modeling and control[J].IEEE Transactions on Systems,Man,and Cybernetics,1985,15(1):116-132.
[14]周耿烈,彭遠芳,董紅生.基于T-S模型的自適應模糊PID控制器的設計[J].工業(yè)儀表與自動化裝置,2007,40(2):22-25.Zhou Genglie,Peng Yuanfang,Dong Hongsheng.The design of a fuzzy self-adaptive PID controller based on the T-S Model[J].Industrial Automation Instrument and Device,2007,40(2):22-25.(in Chinese)
[15] The NS simulator and the documentation[EB/OL].(2009-05-18)[2010-04-20].http://www.isi.edu/nsnam/ns/.