戴永彬
(遼寧工業(yè)大學(xué)軟件學(xué)院,遼寧錦州121001)
預(yù)測控制算法被提出以來,在各個生產(chǎn)領(lǐng)域得到了廣泛的應(yīng)用。但是非線性預(yù)測控制在建模和優(yōu)化求解等環(huán)節(jié)還有待深入研究[1]。由于非線性預(yù)測控制算法很難獲得明確的解析式,所以采用常規(guī)的方法求解非常復(fù)雜。為了解決非線性預(yù)測控制算法的求解問題,研究人員提出了多種算法,粒子群被證明是有效的解決方案[2]。
預(yù)測控制算法是通過保證目標函數(shù)中的預(yù)測誤差最小從而獲取最優(yōu)控制值。這是將目標函數(shù)作為單目標進行優(yōu)化求解[3]。實際上,一個被控系統(tǒng)的多個輸出變量的性能指標是不同的。因此,可以根據(jù)系統(tǒng)需求,設(shè)定不同的輸出變量的預(yù)測誤差的范圍。這樣,對非線性預(yù)測控制已由單目標優(yōu)化求解變成為偏好的多目標優(yōu)化求解。
近年來,多目標優(yōu)化的進化算法獲得了飛速發(fā)展,已有多種成熟的算法出現(xiàn),例如NSGA-II,PAES,SPEA-II 等算法[4-6]。文獻[7]將粒子群算法應(yīng)用到多目標優(yōu)化問題中,提出了MOPSO 算法。但是出于決策偏好或求解需要,決策者要求獲取偏好區(qū)域的Pareto 解。為此,按照偏好方向?qū)⒘W臃N群引導(dǎo)至偏好區(qū)域,可以采用權(quán)重矩陣、參考點、參考區(qū)域、參考方向等引導(dǎo)方式[8]。目前,多數(shù)文獻采用的引導(dǎo)形式是單一的,采用混合引導(dǎo)形式的多目標進化算法較為罕見。
本文將非線性預(yù)測控制算法中的預(yù)測誤差作為偏好多目標優(yōu)化的對象并將動態(tài)參考區(qū)域和移動參考點兩種引導(dǎo)形式結(jié)合起來,提出了一種新的混合引導(dǎo)方式。該算法利用混合引導(dǎo)方式增加非劣解的選擇壓力,同時也保證了偏好區(qū)域的范圍。另外,本文利用g-dominance[9]概念實現(xiàn)全局最優(yōu)粒子的選取,實現(xiàn)對整個粒子群的有效引導(dǎo),獲得了最佳的控制效果。Matlab仿真結(jié)果表明本文所提改進的算法控制效果是令人滿意的。
非線性數(shù)學(xué)模型可描述為
式中:f(?)為非線性函數(shù);na,nb為系統(tǒng)輸入和輸出的階次;d為非線性系統(tǒng)時滯,一般令d=0。
目標函數(shù)為
一般多目標問題可描述如下:
式中:X 為R 空間的決策變量;gi(x),hj(x)分別為約束不等式和約束等式。
多目標問題常采用Pareto解集作為尋優(yōu)的結(jié)果,目前已推出了多種改進算法。
g-dominace是由Molina J提出的一種劃分目標空間,實現(xiàn)偏好方向引導(dǎo)的方法[9]。本文采用g-dominace 實現(xiàn)全局最優(yōu)粒子的選擇,其具體定義如下。
已知2 個點w 和w*∈Rm,只要滿足以下2 個條件之一就可以稱為點wg支配w*:
1)Flagg(w)>Flagg(w*);
2)wi≤wi*,?i=1,2,…,m,滿足
Flagg(w)=Flagg(w*)
至少存在1個j使得wj<wj*。
Flagv(w)定義:
式中:v為目標空間上的參考點;w為目標空間的任意一點。
使用常規(guī)的預(yù)測控制算法實現(xiàn)對多變量系統(tǒng)控制時,都是通過保證目標函數(shù)中的預(yù)測誤差最小,將目標函數(shù)作為單目標進行優(yōu)化從而獲取最優(yōu)控制值。但多變量系統(tǒng)內(nèi)部存在嚴重耦合時,目標函數(shù)中的各個輸出變量的預(yù)測誤差相互干擾,因此,其預(yù)測誤差很難保證同時最小。這樣,根據(jù)系統(tǒng)控制需求,設(shè)定不同輸出變量的預(yù)測誤差的范圍,從而可確定各個輸出變量預(yù)測誤差的偏好區(qū)域。為此,本文將偏好多目標優(yōu)化的思想引入到了非線性預(yù)測控制優(yōu)化求解過程中。
目前,雖然基于偏好信息的多目標進化算法已經(jīng)取得了巨大進步,但是當(dāng)種群靠近Pareto 前沿時,增加選擇壓力并同時控制偏好區(qū)域和偏好范圍等問題仍需進一步深入研究。為此,本文提出了混合引導(dǎo)的思想:設(shè)置參考點為參考區(qū)的中心并同時從初始點開始移動。當(dāng)參考點到達Pareto 前沿時,參考區(qū)動態(tài)減小為一個最小區(qū)域,該范圍內(nèi)的非支配解就是最優(yōu)解。因此,本文提出的混合動態(tài)引導(dǎo)的方法實現(xiàn)了偏好方向的準確引導(dǎo)同時完成了對偏好范圍的控制,解決了某些算法非支配解容易收斂到一點的問題[9-10]。
為了獲得一個可動態(tài)調(diào)整大小的參考區(qū)域,本文將參考區(qū)域設(shè)計成一個超立方體,具體表達式為
式中:s 為解空間的任意一點;c 為區(qū)域中心點;dp為超立方體半徑,即超立方體中心到超立方體一個面的距離;m為目標維數(shù)。
根據(jù)式(5)可知,在種群初始時,應(yīng)該設(shè)置超立方體半徑為一個較大值,這樣可以容納更多的粒子。超立方體半徑dp大小可依據(jù)各個粒子的適應(yīng)度以及參考點位置來計算。
混合引導(dǎo)策略涉及參考點和參考區(qū)2 個公式。其中,參考區(qū)大小主要取決于超立方體半徑變化,因此,超立方體半徑dp可以代表參考區(qū)的變化。具體公式如下。
1)移動參考點表達式
式中:gen為當(dāng)前次數(shù);genmx為總運行次數(shù);repgen為參考點;ASgen為外部檔案中的非劣解。
2)超立方體半徑dp表達式:
式中:dmax,dmin分別為超立方體半徑的上、下限值。
下面僅以兩目標為例說明本文提出的混合引導(dǎo)策略的執(zhí)行過程?;旌弦龑?dǎo)策略過程如圖1所示。在算法初始化時,將參考點設(shè)置為正方形中心并確定正方形的dmax和dmin值。根據(jù)式(6)和式(7)可知,當(dāng)移動參考點的同時,動態(tài)減小超正方形半徑,從而造成粒子選擇壓力的增加。當(dāng)算法運行到最大次數(shù)時,參考點也正好到達Pareto 前沿上,此時,dp取最小值。每次算法循環(huán)時,都要在正方形區(qū)域內(nèi)選取進入外部檔案的非支配解。當(dāng)dp取最小值時,檔案內(nèi)的非劣解即為所求。
圖1 混合引導(dǎo)策略過程Fig.1 Process of hybrid guided strategy
圖1 中實線正方形為算法初始和停止時參考區(qū)域形狀,虛線正方形是算法運行時若干個過渡形狀。因此,控制dp下限值就可以控制偏好范圍。
本文利用粒子群算法實現(xiàn)動態(tài)混合引導(dǎo)策略,并采用檔案保存歷史最優(yōu)解,并從外部檔案中隨機選取全局最優(yōu)粒子,引導(dǎo)整個粒子種群向偏好區(qū)域飛行。
為了保證全局最優(yōu)粒子向偏好方向飛行,本文采用了g-dominance概念。g-dominance的優(yōu)點之一就是算法的有效收斂性與參考點是否在可行域無關(guān)。g-dominance可以將檔案集進行劃分,flag1的區(qū)域是全局最優(yōu)粒子選取的范圍,具體可見圖2和圖3。
圖2 不可行域內(nèi)g-dominance圖Fig.2 The g-dominance diagram in infeasible region
圖3 可行域內(nèi)g-dominance圖Fig.3 The g-dominance diagram in feasible region
另外,還應(yīng)注意到參考點設(shè)置在Pareto 前沿上的情況。如果這時還要移動參考點,可能造成偏好信息丟失。為了保證偏好區(qū)域的準確,將不再移動參考點,可以將參考點作為粒子群全局最優(yōu)的粒子,引導(dǎo)種群飛行。
據(jù)此,本文提出的MOPSO-NPC 算法的流程如下。
Step1:初始化。對預(yù)測控制和粒子群主要參數(shù)賦值,例如:設(shè)置預(yù)測域長度Np和預(yù)測控制域長度Nu;迭代次數(shù)gen=0,最大迭代次數(shù)genmx,超立方體半徑下限dmin等。根據(jù)多目標優(yōu)化的目標個數(shù)m,隨機產(chǎn)生種群數(shù)量為N的初始種群,設(shè)定檔案大小n。
Step2:判斷參考點是否設(shè)置在Pareto 前沿上。如果是,令position=1,否則position=0。
Step3:計算各個粒子的多目標適應(yīng)度值。
Step4:獲取滿足式(5)的粒子,利用Pareto支配選擇檔案粒子。當(dāng)外部檔案中非劣解超過規(guī)定數(shù)量時,采用擁擠距離方法進行維護。
Step5:當(dāng)position=1時,選擇參考點為全局最優(yōu)粒子;當(dāng)position=0 時,利用g-dominance 策略劃分檔案中的非劣解,隨機選擇全局最優(yōu)值;利用支配關(guān)系選擇個體最優(yōu)值。
Step6:如果position=0 時,參考點更新。否則,不更新。
Step7:超立方體的d更新。
Step8:粒子群粒子更新。
Step9:gen=gen+1,如果迭代次數(shù)小于最大迭代設(shè)定值轉(zhuǎn)到step 3,否則結(jié)束循環(huán)。
本文選取ZDT[11]的主要測試函數(shù)來驗證本文提出混合引導(dǎo)策略的性能。本文將MOPSO-NPC 算法中的混合引導(dǎo)策略和比較典型的g-dominance 算法進行了性能比較和分析,其中,將NSGA-Ⅱ算法融入到g-dominance算法中。相關(guān)仿真的基本參數(shù)設(shè)置為:種群大小為100,檔案大小為100,變量維數(shù)為30,交叉概率為0.99,變異概率為0.1,最大運行次數(shù)為200。c1=c2=2,w=0.5。ZDT1,ZDT2,ZDT3,ZDT4測試函數(shù)各獨立運行25次。
本文利用GD 和SP 作為衡量算法收斂性和分布性能的指標[12-13]。GD 和SP 值越小,表明算法解的收斂性、分布性越好。測試函數(shù)ZDT1~ZDT4的參考點設(shè)置為(0.5,0.5),本文提出的混合引導(dǎo)策略與g-dominance 算法的GD 和SP的均值如表1所示。
通過上述性能分析,本文提出的混合偏好引導(dǎo)策略的收斂性指標和分布性指標均接近或超過g-dominance 算法。因此,本文的偏好引導(dǎo)策略具有較好的收斂性和分布性。
表1 GD和SP結(jié)果Tab.1 Result of GD and SP
當(dāng)混合引導(dǎo)算法的參數(shù)發(fā)生變化時,選擇不同的測試函數(shù)進行仿真。利用ZTD1函數(shù)進行測試時,參數(shù)dmin=0.035,參考點起始位置(0.7,0.6),測試結(jié)果如圖4 所示。從圖4 中可知,參考點位于可行域。
圖4 dmin=0.035,ZTD1測試情況Fig.4 Preferred solution with dmin=0.035 on ZDT1
當(dāng)參考點起始位置為(0.35,0.35),dmin=0.05,參考點位于不可行域,采用ZTD2函數(shù)測試,結(jié)果如圖5所示。
圖5 dmin=0.05時,ZTD2測試效果圖Fig.5 Preferred solution with dmin=0.05 on ZDT2
利用測試函數(shù)ZTD3檢測不連續(xù)空間性能,參考點位置為(0.55,0.35),dmin=0.2,測試效果如圖6所示。
圖6 dmin=0.2,ZTD3測試情況Fig.6 Preferred solution with dmin=0.2 on ZDT3
為了測試參考點設(shè)置Pareto前沿上或附近時的算法性能,參考點為(0.5,0.4),dmin=0.015,ZTD4測試的效果如圖7所示。
圖7 dmin=0.015,ZTD4測試情況Fig.7 Preferred solution with dmin=0.015 on ZTD4
根據(jù)以上測試結(jié)果可知,當(dāng)參考點位置無論處于可行域或不可行域,處于Pareto 前沿上或遠離前沿,算法都可以得到設(shè)定范圍內(nèi)的非劣解。當(dāng)改變dmin值時,算法可以控制偏好范圍,獲得希望的最優(yōu)解集。
本文以連鑄過程中的多變量結(jié)晶器系統(tǒng)作為被控對象進行分析,系統(tǒng)組成如圖8 所示。具體參數(shù)詳見文獻[14]和文獻[15]。
圖8 結(jié)晶器系統(tǒng)結(jié)構(gòu)圖Fig.8 Structure chart of mould system
為了說明系統(tǒng)控制效果,分別采用SOPSO-NPC 和MOPSO-NPC 進行仿真。預(yù)測步長Np=6,預(yù)測控制步長Nu=3。仿真分為3種情況:1)設(shè)定拉速從vr=1.4 m/min 階躍到vr=1.6 m/min,結(jié)晶器液面保持為H=50 mm;2)系統(tǒng)穩(wěn)定后設(shè)定結(jié)晶器液面從H=50 mm 上升到H=60 mm(t ≥10)。3)拉速和液面同時發(fā)生變化。設(shè)定拉速從vr=1.4 m/min 階躍到vr=1.6 m/min,結(jié)晶器液面從H=50 mm上升到H=60 mm。
圖9 偏好解目標空間情況Fig.9 Objective space of preferred solution
圖10 結(jié)晶器出口溫度輸出Fig.10 Temperature at the mould exit
圖11 結(jié)晶器液位輸出Fig.11 Output of the mould liquid level system
圖9 為偏好解空間分布情況圖,其中,obj1為結(jié)晶器出口銅板溫度預(yù)測誤差的平方和,obj2 為結(jié)晶器液位預(yù)測誤差的平方和。根據(jù)結(jié)晶器控制的需要選取相應(yīng)點的非劣解進行仿真,仿真結(jié)果如圖10 和圖11 所示。其中,圖10 為結(jié)晶器出口銅板溫度輸出曲線,圖11為結(jié)晶器液位輸出曲線。從圖10 中可知,結(jié)晶器拉速上升時,系統(tǒng)的溫度輸出增加3°C 左右。SOPSO-NPC 和本文改進的MOPSO-NPC 都能實現(xiàn)溫度調(diào)節(jié),但是MOPSO-NPC 算法的輸出超調(diào)適中、響應(yīng)較快。根據(jù)圖11仿真情況可知,液位設(shè)定從50 mm提高到60 mm 時,運用本文所提算法,獲得了較好的控制效果,沒有較大震蕩和超調(diào)從而說明了該算法的有效性。
另外,當(dāng)拉速穩(wěn)定在1.6 m/min,時間為10 s時,結(jié)晶器液位發(fā)生階躍,SOPSO-NPC 算法的溫度輸出發(fā)生了0.4°C 的震蕩,說明溫度控制受到了液位控制的耦合影響,但本文設(shè)計算法輸出比較正常,沒有較大波動。同理,在圖11 中液位輸出受到拉速的耦合影響,基于SOPSO-NPC 算法的液位輸出發(fā)生了波動。本文設(shè)計算法可以較好跟蹤設(shè)定值,效果良好。
針對第3 種仿真情況,結(jié)晶器液位和出口溫度的仿真結(jié)果如圖12和圖13所示。當(dāng)液位和拉速同時變化時,由于兩者之間的耦合作用,SOPSO-NPC 算法的液位和出口溫度都出現(xiàn)了超調(diào)和震蕩,控制性能降低;本文提出的算法控制結(jié)果比較穩(wěn)定,在兩者同時調(diào)整時沒有出現(xiàn)較大的震蕩,說明本文算法完全可以消除系統(tǒng)內(nèi)部的強耦合影響。
圖12 設(shè)定值同時變化時,結(jié)晶器液位輸出Fig.12 Output of the mould liquid level system with set value changed at sme time
圖13 設(shè)定值同時變化時,結(jié)晶器出口溫度情況Fig.13 Temperature at the mould exit with set value changed at sme time
另外,在仿真過程中,需要合理選擇有關(guān)系統(tǒng)系數(shù)。例如,迭代次數(shù)設(shè)置過小會造成較大的粒子選擇壓力,迭代次數(shù)過大又會使算法運行時間增加,影響系統(tǒng)響應(yīng)速度。根據(jù)仿真研究的結(jié)果,迭代次數(shù)可設(shè)定50~200次較為合適;對于超立方體半徑下限的設(shè)定,目前沒有統(tǒng)一的標準和公式,但可視具體情況從[0.001~0.5]范圍選擇合適的值;對于預(yù)測步長和控制步長而言,一般仿真步數(shù)越多仿真結(jié)果越精確,但同時也會增加系統(tǒng)計算負擔(dān)。當(dāng)本文選擇預(yù)測步長超過6,控制步長超過3 時,發(fā)現(xiàn)控制效果并沒有明顯增加。為此,本文設(shè)定預(yù)測步長Np=6,預(yù)測控制步長Nu=3。
綜上分析可知,本文對非線性預(yù)測控制算法采用了多目標優(yōu)化的思想并提出了基于偏好信息的新動態(tài)引導(dǎo)策略,提高了非線性預(yù)測的多目標滾動優(yōu)化的性能。將該算法應(yīng)用到結(jié)晶器系統(tǒng)中,仿真結(jié)果表明運行效果良好,滿足了控制需求。
[1] 席裕庚,李德偉,林姝.模型預(yù)測控制現(xiàn)狀與挑戰(zhàn)[J].自動化學(xué)報,2013,39(3):222-236.
[2] 焦巍,劉光斌.非線性模型預(yù)測控制的智能算法綜述[J].系統(tǒng)仿真學(xué)報,2008,20(24):6581-6586.
[3] 關(guān)圣濤,楚紀正,邵帥.粒子群優(yōu)化算法在非線性模型預(yù)測控制中的研究應(yīng)用[J].北京化工大學(xué)學(xué)報,2007,34(6):653-656.
[4] Deb K,Pratap A,Agarwal S,et al.A Fast and Elitist Multiobjective Genetic Algorithm:NSGA-II[J].IEEE Trans.on Evolutionary Computation,2002,6(2):182-197.
[5] Knowles J D,Corne D W.Approximating the Non-dominated Front Using the Pareto Archived Evolution Strategy[J].Evolutionary Computation,2000,8(2):149-172.
[6] Zitzler E,Laumanns M,Thiele L.SPEA2:Improving the Strength Pareto Evolutionary Algorithm[M].Technical Report,TIK-Report 103.Lausanne,Switzerland:Swiss Federal Institute of Technology,2001.
[7] Reyes-sierram,Coellocac.Multi-objective Particle Swarm Optimizers:a Survey of the State-of-the-art[J].International Journal of Computational Intelligence Research,2006,2(3):287-308.
[8] Coello C,Carlos A.Handling Preferences in Evolutionary Multi-objective Optimization:A Survey[C]//Proc of the Congress on Evolutionary Computation.La Jolla,USA,2000,I:30-37.
[9] Molina J,Santana L V,Coello C A C,et al.g-dominance:Reference Point Based Dominance for Multi-objective Metaheuristics[J].European Journal of Operational Research,2009,197(2):685-692.
[10]余進,何正友,錢清泉.基于偏好信息的多目標微粒群優(yōu)化算法研究[J].控制與決策,2009,24(1):66-70.
[11]Zitzler E,Deb K,Thiele L.Comparison of Multi-objective Evolutionary Algorithms:Empirical Results[J].Evolutionary Computation,2000,8(2):173-195.
[12]Van Veldhuizen D A,Lamont G B.Evolutionary Computation and Convergence to a Pareto Front[C]//Proc of the Late Breaking Papers at the Genetic Programming Conference.California:Stanford University,1998:221-228.
[13]Schott J R.Fault Tolerant Design Using Single and Multi Criteria Genetic Algorithm Optimization[D].Massachusetts:Cambridge University,1995.
[14]喬國林,童朝南,孫一康.結(jié)晶器多變量耦合系統(tǒng)的自抗擾控制[J].控制理論與應(yīng)用,2007,24(3):24-27.
[15]李壯舉,王允建,肖磊.連鑄結(jié)晶器多變量系統(tǒng)建模及控制[J].中南大學(xué)學(xué)報:自然科學(xué)版,2011,42(5):1361-1368.