童 新 宋召青 于華國
1. 海軍駐北京航天一院軍事代表室,北京 100076 2. 海軍航空工程學(xué)院七系,煙臺 264001 3. 中國人民解放軍92154部隊,煙臺 264001
?
基于遺傳算法的線性二次型最優(yōu)控制器設(shè)計及仿真
童 新1宋召青2于華國3
1. 海軍駐北京航天一院軍事代表室,北京 100076 2. 海軍航空工程學(xué)院七系,煙臺 264001 3. 中國人民解放軍92154部隊,煙臺 264001
針對一類線性二次型最優(yōu)控制問題,提出了一種基于遺傳算法的線性二次型最優(yōu)控制器設(shè)計方法,把多個不同的設(shè)計要求轉(zhuǎn)換為不等式約束,并且將加權(quán)陣的選取問題表示為一個多目標優(yōu)化問題,采用遺傳算法優(yōu)化加權(quán)陣參數(shù),找到同時滿足頻域和時域性能要求的最優(yōu)控制器。將該方法應(yīng)用于倒立擺最優(yōu)控制器設(shè)計中,結(jié)果滿足給定性能要求。 關(guān)鍵詞 最優(yōu)控制;遺傳算法;多目標優(yōu)化;仿真
線性二次型(LQ)最優(yōu)控制問題工程易于實現(xiàn)、使用方便,是許多方法的理論基礎(chǔ),很多控制問題可以作為LQ最優(yōu)控制問題來處理。
在LQ最優(yōu)控制器的設(shè)計中,其加權(quán)陣不易確定。目前,對于加權(quán)陣的選取,還沒有系統(tǒng)、有效的一般方法,主要是一些定性的指導(dǎo)性原則,更多的是依賴于設(shè)計者的經(jīng)驗,這一問題已受到人們的廣泛關(guān)注。文獻[1]首先提出了如何通過給定極點來得到權(quán)矩陣。近年來,文獻[2-4 ]在文獻[1]的方向上作了相當(dāng)?shù)难芯抗ぷ?。但問題都僅限于通過閉環(huán)極點來確定權(quán)矩陣,并未明確提出按時、頻域指標要求來選取合適的權(quán)矩陣。
LQ最優(yōu)控制器的設(shè)計是先確定權(quán)矩陣、后求解控制器,使系統(tǒng)滿足給定的性能指標要求。選擇不同的加權(quán)陣,系統(tǒng)所能滿足的時、頻域性能也會不同,若將權(quán)矩陣看作變量,當(dāng)權(quán)矩陣變化時,系統(tǒng)所能滿足的時、頻域性能也會變化。因此當(dāng)給定系統(tǒng)所要滿足的時、頻域指標后,可以將LQ設(shè)計轉(zhuǎn)化為一個優(yōu)化權(quán)矩陣,使設(shè)計的閉環(huán)系統(tǒng)滿足給定性能指標要求的多目標優(yōu)化問題,而此多目標優(yōu)化問題通常是一個非凸的、非光滑的及各子目標函數(shù)相互沖突的優(yōu)化問題,傳統(tǒng)的優(yōu)化方法難以求解。
遺傳算法是一種有效的全局優(yōu)化搜索算法,特別適于處理傳統(tǒng)尋優(yōu)方法難以解決的非凸尋優(yōu)問題。因此,本文采用遺傳算法優(yōu)化加權(quán)陣參數(shù),搜索到同時滿足給定性能要求的控制器。采用該方法設(shè)計倒立擺控制器,使得閉環(huán)系統(tǒng)滿足給定的性能指標要求。
考慮如下的線性被控系統(tǒng):
(1)
其中x∈Rn為狀態(tài)向量,u∈Rm為輸入向量,x0為t0時刻狀態(tài)向量的初始值,并考慮一個二次型目標函數(shù):
其中Q∈Rn×n和R∈Rm×m分別為給定的實對稱權(quán)矩陣,且Q為正半定,R為正定。
定理1[5]設(shè)線性定常被控系統(tǒng)為式(1),當(dāng)(A,B)完全能控且(A,C)完全能觀時,二次型性能指標為式(2),其中Q,R均為正定定常矩陣,u(t)無約束,則使得J為最小的最優(yōu)控制存在且唯一,可表示為:
u*(t)=-R-1BTPx*(t)=-Kx*(t)
(3)
其中,定常反饋增益陣K=R-1BTP,P是Riccati代數(shù)方程:
PA+ATP-PBR-1BTP+Q=0
(4)
的正定解。由狀態(tài)反饋式(3)所構(gòu)成的閉環(huán)系統(tǒng):
(5)
是全局漸進穩(wěn)定的。
小生境遺傳算法[6]是一種適用于多峰函數(shù)優(yōu)化的遺傳算法。該算法通過借鑒生物界中小生境這一現(xiàn)象,能夠把群體中的各個個體分散到多個峰,從而找到更多的最優(yōu)解。
一種小生境遺傳算法可描述如下:
1)設(shè)置進化代數(shù)計數(shù)器t=1,隨機生成M個初始個體組成初始群體P(t),并求出各個個體的適應(yīng)度Fi(i=1,2,…,M);
2)依據(jù)各個個體的適應(yīng)度對其進行降序排序,記憶前N個個體(N 3)選擇:對群體P(t)進行比例選擇運算,得到P′(t); 4)交叉:對選擇出的個體集合P′(t)作單點交叉運算,得到P″(t); 5)變異:對P″(t)作均勻變異運算,得到P″(t); 6)小生境淘汰:將第1)步得到的M個個體和第2)步所記憶的N個個體合并在一起,得到1個含有(M+N)個個體的新群體;對這M+N個個體,按照下式求出每2個個體X和Y之間的海明距離: (其中,i=1,2,…,M+N-1;j=i+1,…,M+N。) Fmin(Xi·Xj)=Penalty 依據(jù)這(M+N)個個體的新適應(yīng)度對各個個體進行降序排序,記憶前N個個體; 7) 終止條件:若不滿足終止條件,則更新進化代數(shù)計數(shù)器t=t+1,并將第6)步排序中的前M個個體作為新的下一代全體Pi(t),然后轉(zhuǎn)到第3)步;若滿足終止條件,輸出計算結(jié)果,算法結(jié)束。 3.1 LQ控制器設(shè)計中的優(yōu)化問題 LQ最優(yōu)控制器的設(shè)計中,當(dāng)給定系統(tǒng)的時、頻域指標后,可以將設(shè)計轉(zhuǎn)化為一個優(yōu)化權(quán)矩陣,以使設(shè)計的閉環(huán)系統(tǒng)滿足給定性能指標要求的多目標優(yōu)化問題。 在多目標優(yōu)化問題中,將權(quán)矩陣Q和R看成自變量,而閉環(huán)系統(tǒng)所需滿足的性能指標可表示為一組不等式約束條件。當(dāng)給定標稱系統(tǒng)后,可按如下步驟建立多目標優(yōu)化問題: 1) 確定系統(tǒng)所需滿足的性能指標要求(包括時間響應(yīng)、穩(wěn)定度、魯棒性等要求),將其轉(zhuǎn)化為約束條件,即gi(Q,R)≤0,i=1,2,…,n; 2) 確定系統(tǒng)的子目標函數(shù)fj(Q,R),j=1,2,…,m,子目標函數(shù)可以是反映單一性能要求的函數(shù),也可以是反映多個性能要求的函數(shù)加權(quán)和; 3) 經(jīng)過步驟1)和2)后,優(yōu)化問題可表示如下: s.t.(Q,R)∈Ω, Ω={(Q,R)|gi(Q,R)≤0,i=1,2,…,n} (6) 其中,gi≤0是一組反映時間響應(yīng)(如上升時間、超調(diào)量、穩(wěn)定時間等)和魯棒性等要求的不等式約束;f為要求最小化的性能指標函數(shù)。 通過上述步驟建立的多目標優(yōu)化問題,有時會出現(xiàn)Ω為空集的情況,將導(dǎo)致無解;而有時則會解集過大,求解速度等不能滿足要求。因此為了克服這些問題,有效的方法是放松或嚴化不等式約束條件,此時不等式條件應(yīng)改寫為: gi-αiκ≤0,i=1,2,…,n (7) 這里主要是引入了αiκ項,其中κ≥0是實變量,而αi,i=1,2,…,n是可能為正、為負或為0的數(shù)值,分別對應(yīng)于約束條件放松、嚴化或不變動的情況。通過變量κ的調(diào)整,有望得到可接受的解。 上述優(yōu)化問題通常是一個非凸的、非光滑的及各子目標函數(shù)相互沖突的多目標優(yōu)化問題,傳統(tǒng)的優(yōu)化方法難以求解,因此,可以采用有效的數(shù)值搜索算法—基于小生境的遺傳算法來求解上述優(yōu)化問題。 3.2 參數(shù)結(jié)構(gòu)和編碼 對于多變量系統(tǒng),權(quán)矩陣一般都采用對角矩陣形式,則Q,R可用如下方式表示 Q=diag(q1,q2,...,qm) (8) R=diag(r1,r2,...,rn) (9) 其中qi∈[ki1,ki2],ki2>ki1≥0,i=1,2,…,m,ri∈[li1,li2],li2>li1≥0,i=1,2,…,n。 因此,通過上述方式確定了變量Q,R的參數(shù)結(jié)構(gòu),可將Q,R合成一個參數(shù)變量即(q1,q2,...,qm,r1,r2,...,rn),以便于遺傳算法的操作。 采用二進制編碼方法對上述參數(shù)進行編碼,將每一個參數(shù)變量中的每一個分量轉(zhuǎn)化為二進制表示,根據(jù)求解精度和分量的變化區(qū)間([ki1,ki2],[li1,li2]),確定每一個分量的二進制位數(shù),對應(yīng)分量的二進制表示如下: qi=(biki…bi1bi0),i=1,2,…,m (10) ri=(b(m+i)k(m+i)…b(m+i)1b(m+i)0),i=1,2,…,n (11) 其中,ki,(i=1,2,…,m+n)是對應(yīng)的分量的二進制位數(shù)。 在遺傳算法的操作中,需將上述各分量的二進制串合成為一個二進制串,構(gòu)成一個染色體X: X=(b1k1…b10b2k2…b20…b(m+n)k(m+n)…b(m+n)0) (12) 通過上述方式確定算法中的個體,同時,在算法中,一旦個體給定,也可以通過相反的方式,將每一個體中對應(yīng)分量的二進制串解碼成相應(yīng)的分量,構(gòu)成權(quán)矩陣Q,R。 3.3 遺傳算法運行參數(shù) 遺傳算法中需要選擇的運行參數(shù)主要有個體編碼串長度l、群體大小M、交叉概率Pc、變異概率Pm和終止代數(shù)T等。這些參數(shù)對遺傳算法的運行性能影響較大,需要認真選取。 3.4 初始群體生成 根據(jù)編碼原則可知,算法中的染色體二進制串位數(shù)為k1+k2+…+km+km+1+…+km+n,則生成每一個初始個體時,個體中的每一位都在0,1之間隨機選擇一個數(shù),按這樣的方式隨機生成M個個體。 3.5 目標函數(shù)和適應(yīng)度函數(shù) 針對每一個個體X,按(Q,R)組成的參數(shù)中的分量對應(yīng)于個體相應(yīng)二進制的位置,提取各個分量,即 q1=(b1k1…b11b10),q2=(b2k2…b21b20),… (13) r1=(b(m+1)k(m+1)…b(m+1)1b(m+1)0)…, rn=(b(m+n)k(m+n)…b(m+n)1b(m+n)0) (14) 由此可得權(quán)矩陣Q和R。 得到Q和R后,采用基于Riccati方程的方法,求解LQ控制器K,得到閉環(huán)控制系統(tǒng),計算各性能指標fi(i=1,2,…,m)和不等式約束條件gi(i=1,2,…,n)。 采用距離函數(shù)法,將多目標函數(shù)組合成一個基于需求水平向量y的目標函數(shù): (15) 其中,y=(y1,y2,…,ym+n)。 得到了目標函數(shù)值后,按一定的轉(zhuǎn)換規(guī)則將其變換為個體的適應(yīng)度,并對個體適應(yīng)度作尺度變換以提高遺傳算法的效率。 3.6LQ控制器加權(quán)陣優(yōu)化 LQ最優(yōu)控制器的加權(quán)陣選取,是一個非凸的、非光滑的及各子目標函數(shù)相互沖突的多目標優(yōu)化問題,采用基于小生境的遺傳算法進行優(yōu)化,其算法如下: 1) 給定標稱對象G(s),設(shè)計不等式約束gj(j=1,...,n)、子目標函數(shù)fi(i=1,2,...,m)和需求水平向量y; 2) 確定權(quán)矩陣的參數(shù)表示方法及各分量的搜索空間([ki1,ki2],[lj1,lj2]),其中i=1,2,…,m;j=1,2,…,m; 3) 進入遺傳算法搜索過程: ① 選取遺傳算法的各個控制參數(shù),如群體規(guī)模M、選擇概率、交叉概率及變異概率; ② 按 3.4節(jié)中的方法產(chǎn)生初始群體; ③ 按 3.5節(jié)中算法給每個個體分配適應(yīng)度值; ④ 依據(jù)各個個體的適應(yīng)度對其進行降序排序,記憶前N個個體(N ⑤ 選擇:采用同時保留最佳個體的錦標賽選擇方法進行選擇; ⑥ 交叉:將選擇后的個體兩兩隨機匹配,再進行交叉繁殖; ⑦ 變異:以小的概率隨機改變個體的一些串位的值; ⑧ 小生境淘汰:將M個個體和步驟④中記憶的N個個體合并在一起,得到1個含有(M+N)個個體的新群體;對這(M+N)個個體,求出每2個個體X和Y之間的海明距離: (i=1,2,…,M+N-1; j=i+1,…,M+N) Fmin(Xi·Xj)=Penalty 依據(jù)這(M+N)個個體的新適應(yīng)度對各個個體進行降序排序,記憶前N個個體。 ⑨針對新產(chǎn)生群體的每1個個體,按3.5節(jié)中算法計算目標函數(shù)值,如果滿足算法終止條件(如超過給定的最大代次T),則結(jié)束算法;否則,按3.5節(jié)中算法給每個個體分配適應(yīng)度值,重復(fù)3.4節(jié)。 上述算法的特點保證了在1個函數(shù)峰內(nèi)只存在1個較優(yōu)的個體,這樣每1個函數(shù)峰就是1個小生境。通過上述算法的計算,可以得到一系列的最優(yōu)解,因此在得到滿意的加權(quán)陣,設(shè)計滿足要求的LQ控制器的同時,也可以對這些加權(quán)陣進行選擇,考慮其它方面有較好性能的權(quán)矩陣。 以倒立擺為例,倒立擺系統(tǒng)的模型如下[7]: (16) 其中x1表示擺與垂直線的偏角,x2表示角速度。g=9.8m/s2是重力加速度,m=2kg是擺的質(zhì)量,2l=1m是擺的長度,a=1/(m+M),M=8kg是小車的質(zhì)量,u是應(yīng)用于小車的作用力。 在點(0,0)線性化,得到線性化模型: (17) 1) 算法中的編碼和控制參數(shù)的選取 由于Q為半正定陣,R為正定陣,同時,一般在多變量系統(tǒng)設(shè)計中,Q和R取對角陣,因此針對倒立擺模型,取 (18) 其中q1∈[1,500000],q2∈[1,500000],r1=[1,100]。 取群體規(guī)模N=31,交叉概率pc=0.80,變異概率pm=0.001,終止代次D=71,小生境距離L=100,懲罰項Penalty=1000; 2)性能指標和目標函數(shù) 3) 遺傳算法優(yōu)化結(jié)果 采用3.7節(jié)中算法優(yōu)化LQ控制器設(shè)計中的加權(quán)陣Q和R,得到加權(quán)陣后,采用基于Riccati方程的方法計算最優(yōu)控制器。 圖1顯示了算法中每一代次相對應(yīng)的閉環(huán)系統(tǒng)時間響應(yīng)曲線。 圖1 每代次對應(yīng)的閉環(huán)系統(tǒng)時間響應(yīng)曲線 搜索到的加權(quán)陣為: (19) 相應(yīng)的最優(yōu)控制器為 K=[-617.4927, -83.8396]。 4) 性能評價 最優(yōu)控制器對應(yīng)閉環(huán)控制系統(tǒng)性能指標為:系統(tǒng)過渡時間小于1s,超調(diào)小于1%。采用提出的方法取得了滿意的設(shè)計結(jié)果,達到了給定的設(shè)計目標要求。 本文提出了一種基于遺傳算法的LQ控制器設(shè)計方法,把多個不同的設(shè)計要求轉(zhuǎn)換為不等式約束,并且將加權(quán)陣的選取表示為一個多目標優(yōu)化問題,采用遺傳算法優(yōu)化加權(quán)陣參數(shù),可以找到同時滿足頻域和時域性能要求的最優(yōu)控制器。這種設(shè)計方法將加權(quán)陣的選取過程規(guī)范化、自動化,簡單、直觀,具有一定的應(yīng)用價值。同時該方法不僅適用于LQ控制器設(shè)計,也能方便地應(yīng)用于LQG和H2控制中的加權(quán)陣的選取。此方法應(yīng)用于倒立擺控制中,得到了滿足給定性能要求的控制器。 [1] Kalman R E. When is a Linear Control System Optimal?[J]. Trans. ASME(D), 1964, 86(1): 51-60. [2] Wang Yaoqing. The Determination of Weighting Matrices in LQ Optimal Control Systems[J].ACTA Automatica Sinica,1992,18(2):213-217. [3] Wang Yaoqing.An Analytical Solution to the LQ Inverse Problem for SISO System[J].Control Theory & Application,1996,13(1):115-118. [4] Wang Yaoqing.A Numerical Algorithm for the Weighting Matrix Q of LQ Optimal Control Systems[J].Control and Decision,2000,15(5):513-517. [5] 王德進.H2和H∞優(yōu)化控制理論[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2001. [6] 周明,孫樹棟.遺傳算法原理及應(yīng)用[M].北京:國防工業(yè)出版社,1999. [7] 孫增祈.智能控制理論與技術(shù)[M].北京:清華大學(xué)出版社,1997. 更 正 2013年第4期“基于粒子濾波的紅外弱小多運動目標檢測”一文的作者單位更正為:國防科學(xué)技術(shù)大學(xué)。 The Simulation and LQ Optimal Controller Design Based on Genetic Algorithm TONG Xin1SONG Zhaoqing2YU Huaguo3 1. Navy Representatives Office in the CALT, Beijing 100076, China 2. Naval Aeronautical and Astronautical University, Yantai 264001, China AkindofLQoptimalcontrollerdesignmethodbasedongeneticalgorithmispresentedaimingatsolvingakindofLQoptimalcontrolproblem.Multipledifferentdesignrequirementsareconvertedintoaninequalityrestriction,andthechoiceproblemoftheweightedmatrixisexpressedtoaproblemofmulti-objectoptimization.Theparametersoftheweightedmatrixareoptimizedbygeneticalgorithm,andthentheoptimalcontrollersatisfyingthecharacteristicrequirementsinfrequency-domainandtime-domainisfoundedatthesametime.Thismethodisappliedtothedesignofoptimalcontrollerforsingleinvertedpendulum,andthesimulationresultvalidatesthatthedesignedcontrollersatisfiesthegivencharacteristicrequirements. Optimalcontrol;Geneticalgorithm;Multi-objectoptimization;Simulation 2013-05-13 童 新(1973-),男,武漢人,工程師,工程碩士,主要研究方向為自動控制、仿真和導(dǎo)彈測發(fā)控;宋召青(1969-),男,山東榮成人,教授,博士,主要研究方向為智能控制理論及應(yīng)用、系統(tǒng)辨識;于華國(1986-),男,山東榮成人,助理工程師,本科,主要研究方向為測試與故障診斷。 TP273.3 A 1006-3242(2013)05-0008-053 基于遺傳算法的LQ控制器加權(quán)陣優(yōu)化
4 仿真算例
5 小結(jié)
3. The 92154thUnit of PLA,Yantai 264001,China