杜學(xué)武,張明新,沙廣濤,,伍秋玉
(1.蘇州大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006; 2.常熟理工學(xué)院 計算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500;3.中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
模糊PID控制以模糊數(shù)學(xué)為理論,將規(guī)則條件和操作用模糊集表示,并將模糊控制規(guī)則存入知識庫,控制系統(tǒng)根據(jù)實(shí)際響應(yīng)運(yùn)用模糊推理實(shí)現(xiàn)PID參數(shù)的最佳調(diào)整,以提高PID控制器性能[1-2]。PID控制器因其結(jié)構(gòu)簡單、穩(wěn)定性好、可靠性高等優(yōu)點(diǎn)而得到了廣泛應(yīng)用[3-5]。在系統(tǒng)設(shè)計時,作為模糊控制的核心模糊控制規(guī)則(以下簡稱模糊規(guī)則)在選取上主要依賴于人工的先驗(yàn)知識,當(dāng)系統(tǒng)規(guī)模變得復(fù)雜時,模糊規(guī)則選取空間急劇加大,僅憑人工經(jīng)驗(yàn)很難獲得全局最優(yōu)模糊規(guī)則。智能優(yōu)化算法在解決非線性、復(fù)雜性的優(yōu)化問題時具有明顯優(yōu)勢,目前被應(yīng)用于模糊規(guī)則的優(yōu)化中。文獻(xiàn)[6]利用自適應(yīng)遺傳算法對DFB激光器模糊PID溫控系統(tǒng)的模糊規(guī)則進(jìn)行優(yōu)化,提高了PID控制算法的精確度。文獻(xiàn)[7]采用遺傳算法約簡生成模糊規(guī)則,提出一種新的模糊規(guī)則優(yōu)化方法。文獻(xiàn)[8]使用粒子群優(yōu)化水下潛器深度自適應(yīng)模糊控制,使控制變量的超調(diào)量和穩(wěn)態(tài)誤差優(yōu)于傳統(tǒng)的模糊自適應(yīng)控制。但上述方法通常采用特定的方式進(jìn)行優(yōu)化,沒有考慮到模糊規(guī)則間的關(guān)聯(lián)性,存在影響控制精度、易陷入局部最優(yōu)等不足,限制了模糊規(guī)則中精確度的選取。
蝙蝠算法(Bat Algorithm,BA)是由文獻(xiàn)[9]提出的一種啟發(fā)式群智能算法。已有研究表明,與粒子群算法、遺傳算法等算法相比,BA具有更好的搜索精度和計算效率[10],已經(jīng)成功應(yīng)用于工程科學(xué)領(lǐng)域中[11]。本文針對模糊控制規(guī)則間關(guān)聯(lián)性的特點(diǎn),對BA引入鄰域搜索算子以提高搜索精度,再引入混沌變異算子避免算法陷入局部最優(yōu),從而得到改進(jìn)的蝙蝠算法(Improved Bat Algorithm,IBA)。該算法采用離散修正算子對尋優(yōu)后的解離散化得到優(yōu)化后的模糊規(guī)則,并置入模糊PID控制器中以提高控制效率。
傳統(tǒng)PID控制很難對變量復(fù)雜且沒有對應(yīng)數(shù)學(xué)模型的系統(tǒng)取得滿意的控制效果。模糊PID控制器充分利用了人工調(diào)節(jié)實(shí)踐經(jīng)驗(yàn),對PID參數(shù)進(jìn)行實(shí)時調(diào)整,提高了魯棒性。模糊PID控制器根據(jù)實(shí)際與期望控制值的誤差e和誤差變化率ec經(jīng)過模糊控制器進(jìn)行模糊化、模糊推理和解模糊后得到3個修正輸出變量ΔKp、ΔKi和ΔKd,PID控制器由式(1)計算得到PID控制器的3個控制變量ΔKp、ΔKi、ΔKd,并對被控對象進(jìn)行控制輸出。模糊PID控制原理如圖1所示。
圖1 模糊PID控制原理Fig.1 Principle of fuzzy PID control
(1)
其中,Kp0、Ki0、Kd0為初始PID控制器設(shè)定值,Kp、Ki、Kd為調(diào)整后的最終值。
BA是根據(jù)蝙蝠覓食原理提出的一種智能優(yōu)化算法。在D維空間中,n只蝙蝠通過頻率為fi、脈沖發(fā)射率為ri、響度為Ai的超聲波對獵物進(jìn)行搜索,根據(jù)返回的信息改變飛行速度vi和位置xi,在接近獵物過程時會逐漸調(diào)整脈沖發(fā)射率和響度。
蝙蝠飛行過程中頻率fi、位置xi、速度vi的更新過程如下:
fi=fmin+(fmax-fmin)β
(2)
(3)
(4)
在進(jìn)行局部搜索時,選取當(dāng)前最優(yōu)解位置進(jìn)行隨機(jī)搜索,蝙蝠位置的更新方式為:
xnew=xold+εAt
(5)
其中,xold為當(dāng)前最優(yōu)解,xnew為產(chǎn)生的新解,ε為屬于[-1,1]的一個隨機(jī)數(shù),At為t時刻全部蝙蝠響度的平均值。
隨著迭代的增加,為了更好地精確定位目標(biāo)蝙蝠,實(shí)驗(yàn)會逐漸減小響度Ai,同時增大脈沖發(fā)射率ri,更新方式為:
(6)
(7)
(8)
通常令α=γ,具體參數(shù)取值需要根據(jù)實(shí)驗(yàn)確定。
BA中蝙蝠速度的更新方式不適用于模糊規(guī)則優(yōu)化,因此需要對BA進(jìn)行改進(jìn)。首先,將ΔKp、ΔKi和ΔKd3個模糊控制表中的模糊規(guī)則編碼。然后,根據(jù)自適應(yīng)模糊規(guī)則間關(guān)聯(lián)性的特點(diǎn)設(shè)計鄰域搜索算子提高BA的搜索精度,同時引入混沌變異算子提高種群多樣性避免算法陷入局部最優(yōu)。最后,使用離散修正算子將不符合模糊規(guī)則語言值的變量離散化并修正至正確合理的范圍內(nèi),得到IBA。
由于需要同時優(yōu)化ΔKp、ΔKi、ΔKd3個模糊規(guī)則,設(shè)計如圖1所示的兩輸入三輸出的模糊控制器輸出ΔKp、ΔKi、ΔKd3個修正值對PID控制器修正,以誤差e和誤差變化率ec作為模糊控制器的二維輸入,對于二維模糊控制系統(tǒng),每個輸入、輸出通常采用7個語言值{NB,NM,NS,ZO,PS,PM,PB}表示,為了保證規(guī)則的完整性和一致性,將模糊規(guī)則表中輸出變量按順序排列,每一條規(guī)則用一位十進(jìn)制數(shù)來表示,7個語言值分別使用{1,2,3,4,5,6,7}編碼表示,模糊規(guī)則表中規(guī)則條數(shù)為49條,初始種群的每個個體的規(guī)則條數(shù)為147條,其中1條~49條表示ΔKp模糊規(guī)則序列,50條~98條表示為ΔKi模糊規(guī)則序列,99條~147條表示為ΔKd模糊規(guī)則序列。
3.2.1 鄰域搜索算子
模糊PID控制器在采樣周期中先采集實(shí)際與期望控制值的誤差e和誤差變化率ec,并通過模糊控制器輸出PID的修正值ΔKp、ΔKi和ΔKd,在優(yōu)化時需要同時優(yōu)化3個模糊控制規(guī)則表,3個模糊控制規(guī)則表中相同位置共同作用于一次PID控制調(diào)節(jié),即相同位置中模糊規(guī)則與其他位置模糊規(guī)則相對獨(dú)立。將3個模糊控制表中相同位置語言值組合成三維空間中坐標(biāo)點(diǎn),具體如圖2所示。
圖2 模糊規(guī)則表相同位置組合圖Fig.2 Combination chart of the same position of fuzzy rule table
相同位置控制規(guī)則的尋優(yōu)相當(dāng)于在ΔKp、ΔKi和ΔKd組成的三維空間中向當(dāng)前最優(yōu)解方向搜索,在求解空間中,當(dāng)前最優(yōu)解附近往往存在多個局部最優(yōu)點(diǎn),而真實(shí)最優(yōu)解可能位于其中,根據(jù)這一特點(diǎn)引入鄰域搜索算子解決尋優(yōu)精度低的問題。
蝙蝠進(jìn)行位置更新時,以當(dāng)前最優(yōu)解為中心,在半徑為r的鄰域內(nèi)進(jìn)行隨機(jī)搜索,鄰域搜索算子的更新示意圖如圖3所示。
圖3 鄰域搜索算子位置更新示意圖Fig.3 Schematic diagram of location update of neighborhood search operator
(9)
(10)
(11)
3.2.2 混沌變異算子
混沌是非線性系統(tǒng)中一種非周期運(yùn)動現(xiàn)象,具有隨機(jī)性、遍歷性和規(guī)律性等特點(diǎn)[12-13],利用這種特性在當(dāng)前最優(yōu)點(diǎn)引入混沌變異算子提升算法搜索效率,提高種群多樣性以防止算法陷入局部最優(yōu)[14]。
常用的混沌映射方法有Logistic映射、Hybrid映射、光學(xué)雙穩(wěn)模型、Chebyshev映射等[15],通過隨機(jī)性和初值敏感性對比,光學(xué)雙穩(wěn)態(tài)映射生成的混沌序列容易出現(xiàn)扎堆現(xiàn)象,Chebyshev映射隨機(jī)性較差且分叉現(xiàn)象遲緩,Logistic映射與Hybird映射具有良好的隨機(jī)性和初值敏感性,Hybrid映射較為復(fù)雜,本文采用簡單高效的Logistic混沌映射函數(shù),其數(shù)學(xué)表達(dá)式為:
Yn+1=Yn×μ×(1-Yn),μ∈[0,4],Yn∈[0,1]
(12)
其中,μ為Logistic參數(shù),當(dāng)Yn∈[0,1],3.569 946≤μ≤4時,Logistic映射處于混沌狀態(tài),此時μ取4,生成幅度為1的混沌序列。
映射函數(shù)和逆映射函數(shù)如式(13)、式(14)所示:
(13)
(14)
為了避免陷入局部最優(yōu),對當(dāng)前最優(yōu)解Xbest混沌變異。首先,按照式(13)映射到混沌映射函數(shù)定義域(-1,1),由式(12)迭代產(chǎn)生混沌序列。然后將生成的混沌序列按式(14)逆映射到原搜索區(qū)域得到新的最優(yōu)個體,根據(jù)適應(yīng)度函數(shù)更新當(dāng)前最優(yōu)位置,直至達(dá)到最大迭代次數(shù)?;煦缱儺惲鞒倘鐖D4所示。
圖4 混沌變異流程Fig.4 Procedure of chaotic mutation
3.2.3 離散修正算子
IBA尋優(yōu)后得到的解為連續(xù)值,需要將連續(xù)值轉(zhuǎn)換為模糊控制表中最接近的語言值進(jìn)行模糊控制,在此應(yīng)用離散修正算子將不符合模糊規(guī)則語言值中的變量離散化,并修正到正確合理的范圍內(nèi),最接近的整數(shù)即為求得的模糊語言值;若超出范圍則取最大語言值修正,超出語言值數(shù)量過多時說明模糊控制器控制值范圍選取不合理,可以通過調(diào)整誤差e或誤差變化率ec范圍以符合模糊控制器的調(diào)控能力。
(15)
為了縮短調(diào)節(jié)時間,本文采用工程上具有良好實(shí)用性和選擇性的ITAE指標(biāo)[16]來評價模糊PID控制系統(tǒng),參數(shù)評價指標(biāo)函數(shù)的離散公式為:
(16)
其中,T為采樣周期,k為采樣時刻。
本文算法主要包括以下10個步驟:
步驟1設(shè)置種群數(shù)目n、響度Ai、脈沖發(fā)射率ri、頻率范圍Qmin~Qmax、迭代次數(shù)N、空間維數(shù)d等參數(shù)。
步驟2初始化頻率矩陣Q、速度矩陣v、對每只蝙蝠根據(jù)編碼策略隨機(jī)初始化編碼并計算個體適應(yīng)度fitness(xi),確定當(dāng)前最優(yōu)個體Xbest,并記錄其位置信息。
步驟3利用式(10)計算每只蝙蝠的速度變化量dvi。
統(tǒng)一的管理機(jī)構(gòu)是實(shí)現(xiàn)英語數(shù)字化教學(xué)資源整合的保證。各高校應(yīng)根據(jù)各院校自己的實(shí)際情況,以MOOC理念為指導(dǎo),成立英語數(shù)字化教學(xué)資源共建共享領(lǐng)導(dǎo)小組。建立統(tǒng)一的管理機(jī)構(gòu),加強(qiáng)各部門的協(xié)作交流,使各部門形成合力,避免人力、財力、物力的浪費(fèi)以及低水平重復(fù)建設(shè)等問題。[2]此外,各高校還需要設(shè)立專門的英語數(shù)字化教學(xué)資源的評價管理機(jī)構(gòu),對英語數(shù)字化教學(xué)資源共建共享進(jìn)行動態(tài)監(jiān)測,對其進(jìn)行跟蹤、評估與完善,促進(jìn)英語數(shù)字化教學(xué)資源共建共享的針對性和規(guī)范性,不斷提高管理效率。
步驟4根據(jù)每只蝙蝠速度變化量dvi計算速度,并根據(jù)速度更新第t+1時刻的位置xt+1。
步驟5判斷是否滿足變異條件rand>ri,如果滿足混沌變異算子搜索,則混沌變異更新蝙蝠全局最優(yōu)位置Xbest,否則轉(zhuǎn)至步驟6。
步驟6使用式(15)離散修正算子對新的位置xt+1修正并計算適應(yīng)度。
步驟7若rand>Ai且fitness(xi) 步驟8判斷新位置的適應(yīng)度是否優(yōu)于當(dāng)前最優(yōu)適應(yīng)度,若fitnessbest≤fitnessnew,則更新當(dāng)前最優(yōu)位置和最優(yōu)適應(yīng)度值,否則轉(zhuǎn)至步驟9。 步驟9判斷是否滿足最大迭代次數(shù),若滿足則結(jié)束迭代,則轉(zhuǎn)至步驟10,否則轉(zhuǎn)至步驟3。 步驟10最小ITAE值對應(yīng)的編碼規(guī)則即為全局最優(yōu)解,輸出全局最優(yōu)解,并采用最優(yōu)模糊控制規(guī)則對模糊PID控制器進(jìn)行控制。 本文以典型工業(yè)控制系統(tǒng)進(jìn)行實(shí)驗(yàn)驗(yàn)證,在Matlab R2012b中進(jìn)行仿真。驗(yàn)證了PSO算法、GA算法、IAC算法、本文算法4種算法的尋優(yōu)能力,利用4種算法對模糊規(guī)則優(yōu)化,并分別對一階系統(tǒng)、二階系統(tǒng)、三階系統(tǒng)仿真,其次與PID控制、模糊控制、經(jīng)驗(yàn)?zāi):?guī)則模糊PID控制和IBA優(yōu)化模糊規(guī)則的模糊PID控制對比,得出實(shí)驗(yàn)結(jié)論。 為了分析本文算法跳出局部極值和全局尋優(yōu)能力,從Benchmarks測試函數(shù)集中選取Sphere、Rosenbrock、Rastrigin與Schaffer 4個常用函數(shù)進(jìn)行測試,Sphere、Rosenbrock為單峰連續(xù)優(yōu)化函數(shù),常用于測試算法收斂速度,Rastrigin、Schaffer為多峰連續(xù)優(yōu)化函數(shù),常用于測試算法跳出局部極值和全局尋優(yōu)能力,其定義、搜索范圍于文獻(xiàn)[17]中獲取。 本文算法的實(shí)驗(yàn)參數(shù)設(shè)置為:種群個數(shù)n=50,響度A=0.25,脈沖發(fā)射率r=0.5,頻率下限Qmin=0,頻率上限Qmax=1,響度衰減系數(shù)α=0.9,脈沖發(fā)射頻率增加系數(shù)γ=0.9;PSO算法的實(shí)驗(yàn)參數(shù)設(shè)置為:粒子數(shù)量n=50,速度下限vmin=-2,速度上限vmax=2;GA算法的實(shí)驗(yàn)參數(shù)設(shè)置為:種群規(guī)模M=50,交叉率ζ=0.5,變異率ψ=0.1。其中,固定算法最大迭代次數(shù)為500。在每個測試函數(shù)上獨(dú)立運(yùn)行30次,表1統(tǒng)計了各算法的優(yōu)化平均值、標(biāo)準(zhǔn)方差等性能指標(biāo)。 表1 標(biāo)準(zhǔn)測試函數(shù)的尋優(yōu)性能比較Table 1 Comparison of optimization performance of standard test functions 由表1可以看出,本文算法除了在Rastrigin函數(shù)下穩(wěn)定性略差之外,不管是單峰測試函數(shù)還是多峰測試函數(shù),本文算法在30維問題上均表現(xiàn)出了較好的搜索性能,相比于PSO算法和GA算法,本文算法在4組測試函數(shù)上具有良好的尋優(yōu)精度和穩(wěn)定性,驗(yàn)證了本文算法跳出局部極值和全局尋優(yōu)的能力。 通常工業(yè)過程一般可以等效成n階系統(tǒng)加上典型的非線性環(huán)節(jié),如死區(qū)、飽和、純延遲等,采用典型一階系統(tǒng)、二階系統(tǒng)與三階系統(tǒng)作為測試函數(shù),具體如表2所示??刂茍?zhí)行結(jié)構(gòu)具有0.07的死區(qū)和0.7的飽和區(qū),采樣時間間隔取T=0.01。模糊PID控制器中隸屬函數(shù)采用等腰三角形隸屬函數(shù),控制偏差e和偏差變化率ec范圍都為[-6,6]。固定ΔKp、ΔKi、ΔKd輸出范圍、迭代次數(shù)等,并與PSO算法、文獻(xiàn)[18]中的GA算法、文獻(xiàn)[19]中的IAC算法進(jìn)行比較。 表2 系統(tǒng)測試函數(shù)Table 2 System test functions 實(shí)驗(yàn)中各參數(shù)設(shè)置如下:迭代次數(shù)Niter=100,編碼長度d=147;本文算法:種群個數(shù)n=20,響度A=0.25,脈沖發(fā)射率r=0.5,頻率下限Qmin=0,頻率上限Qmax=1,響度衰減系數(shù)α=0.9,脈沖發(fā)射頻率增加系數(shù)γ=0.9;GA算法:種群規(guī)模M=50,交叉率ζ=0.5,變異率ψ=0.1;PSO算法:粒子數(shù)量n=50,速度下限vmin=-2,速度上限vmax=2;IAC算法:螞蟻數(shù)量m=50,信息素因子α=2,啟發(fā)函數(shù)因子β=3.5,信息素?fù)]發(fā)因子ρ=0.3。 采用MATLAB仿真軟件分別用本文算法、PSO算法、GA算法、IAC算法4種算法對表2中控制系統(tǒng)的模糊PID控制器中模糊規(guī)則優(yōu)化,使ITAE指標(biāo)向減小的方向迭代,各算法的收斂曲線如圖5所示。 圖5 4種算法的收斂曲線Fig.5 Convergence curves of four algorithms 在迭代開始時,4種算法都能向ITAE減小的方向快速接近,隨著迭代的繼續(xù)進(jìn)行,本文算法更易跳出局部極值,這是由于蝙蝠更新時對一次調(diào)節(jié)的模糊控制表中當(dāng)前尋優(yōu)鄰域混沌迭代搜索,其他算法沒有考慮模糊控制表間的關(guān)聯(lián)性從而影響算法尋優(yōu)效率,相比GA、PSO、IAC算法,本文算法的全局尋優(yōu)能力有所提升。 本文算法首先對ΔKp、ΔKi和ΔKd3個模糊規(guī)則表編碼,以ITAE目標(biāo)函數(shù)評價每只蝙蝠的適應(yīng)度,確定當(dāng)前最優(yōu)位置,其他蝙蝠使用鄰域搜索算子在當(dāng)前最優(yōu)位置鄰域方向更新個體位置,若滿足變異條件,對當(dāng)前最優(yōu)位置混沌變異操作,避免算法陷入局部最優(yōu),當(dāng)算法收斂時,目標(biāo)函數(shù)ITAE接近算法所能優(yōu)化的最小值,其對應(yīng)的編碼策略即為優(yōu)化后的模糊規(guī)則。本文算法對二階系統(tǒng)F2迭代100次后得到如表3~表5所示的模糊控制規(guī)則表,并載入知識庫作為優(yōu)化后的模糊控制規(guī)則。 表3 本文算法優(yōu)化后的Δkp模糊控制規(guī)則Table 3 Fuzzy control rules Δkp optimized by the proposed algorithm 表4 本文算法優(yōu)化后的Δki模糊控制規(guī)則Table 4 Fuzzy control rules Δki optimized by the proposed algorithm 表5 本文算法優(yōu)化后的Δkd模糊控制規(guī)則Table 5 Fuzzy control rules Δkd optimized by the proposed algorithm 將PSO算法、GA算法、IAC算法、本文算法得到的最優(yōu)控制規(guī)則用于模糊PID控制器,模糊化采用Mamdani推理方法,清晰化采用面積中心法[20],將優(yōu)化后的模糊控制規(guī)則分別用于表2的控制系統(tǒng)中進(jìn)行仿真,并在控制系統(tǒng)穩(wěn)定時對其擾動,各控制系統(tǒng)輸出響應(yīng)如圖6所示。 圖6 4種算法優(yōu)化模糊規(guī)則對控制系統(tǒng)輸出響應(yīng)Fig.6 Four algorithms optimize the output response of fuzzy rule control system 由4種算法對比可見,相比GA算法和IAC算法,本文算法與PSO算法優(yōu)化的模糊PID控制器超調(diào)量及調(diào)節(jié)時間均較小,且在擾動時能快速達(dá)到穩(wěn)態(tài)。 為充分驗(yàn)證本文算法優(yōu)化模糊規(guī)則的效果,分別采用PID控制、模糊控制、文獻(xiàn)[21]中經(jīng)驗(yàn)?zāi):?guī)則模糊PID控制和本文算法優(yōu)化模糊規(guī)則的模糊PID控制對表2中的二階系統(tǒng)F2控制,設(shè)置穩(wěn)態(tài)為1.5,控制輸出結(jié)果如圖7所示。 圖7 4種控制方案對控制系統(tǒng)F2輸出響應(yīng)Fig.7 Four control schemes respond to the output of the control system F2 通過對比發(fā)現(xiàn),與其他3種控制方案相比,本文算法在超調(diào)量、調(diào)節(jié)時間上有明顯優(yōu)勢,且穩(wěn)態(tài)誤差小,說明本文算法對模糊PID控制器中模糊規(guī)則優(yōu)化的有效性。 本文引入鄰域搜索算子和混沌變異算子對BA進(jìn)行改進(jìn),提高BA的尋優(yōu)精度和全局搜索能力,并應(yīng)用于模糊PID控制器的模糊規(guī)則優(yōu)化中,將優(yōu)化后的模糊PID控制器應(yīng)用到3種典型系統(tǒng)控制中。仿真結(jié)果表明,本文算法優(yōu)化后的控制系統(tǒng)與粒子群算法、遺傳算法優(yōu)化和改進(jìn)蟻群算法的控制系統(tǒng)相比調(diào)節(jié)時間較小,超調(diào)量變得極小,提高了控制精度和計算效率,且施加外部擾動時能夠快速恢復(fù)穩(wěn)定,具有較強(qiáng)的自適應(yīng)性。實(shí)驗(yàn)?zāi)壳斑€只處于理論仿真階段,后續(xù)會在實(shí)際應(yīng)用中來驗(yàn)證本文算法的效率與實(shí)用性。4 仿真結(jié)果與分析
4.1 本文算法尋優(yōu)能力分析
4.2 本文算法優(yōu)化模糊規(guī)則分析
4.3 系統(tǒng)仿真結(jié)果分析
5 結(jié)束語