吳詩(shī)輝, 周 宇, 李正欣, 劉曉東, 賀 波
(1. 空軍工程大學(xué)裝備管理與無(wú)人機(jī)工程學(xué)院, 陜西 西安 710051; 2. 西安電子科技大學(xué)電子工程學(xué)院, 陜西 西安 710071)
在現(xiàn)實(shí)生活中,許多依賴仿真進(jìn)行評(píng)估的實(shí)時(shí)策略優(yōu)化問(wèn)題,都可以歸結(jié)為時(shí)變參數(shù)(time-varying parameter,TVP)系統(tǒng)的仿真優(yōu)化(simulation optimization, SO)問(wèn)題。這類問(wèn)題的特點(diǎn)是一個(gè)解的好壞往往需要通過(guò)仿真進(jìn)行評(píng)估,而仿真結(jié)果又與TVP有關(guān),本文稱為T(mén)VP系統(tǒng)SO問(wèn)題。如無(wú)人作戰(zhàn)飛機(jī)的軌跡在線優(yōu)化[1]、無(wú)人機(jī)集群作戰(zhàn)策略在線優(yōu)化、自動(dòng)駕駛汽車的實(shí)時(shí)機(jī)動(dòng)決策等。由于解的實(shí)時(shí)性要求高,只要是滿意解均可接受,即不一定要求最優(yōu)解。以無(wú)人機(jī)集群自主對(duì)抗為例,決策者希望在輸入對(duì)抗雙方的初始態(tài)勢(shì)信息(包括集群中每個(gè)無(wú)人機(jī)的位置、速度等信息)時(shí),就能夠?qū)崟r(shí)得到攔截方的優(yōu)化打擊方案,即實(shí)現(xiàn)快速協(xié)同優(yōu)化目標(biāo)分配。在初始態(tài)勢(shì)一定的情況下,不同的目標(biāo)分配方案,顯然對(duì)應(yīng)不同的攔截成功率,而這個(gè)攔截效果指標(biāo)往往需要通過(guò)仿真獲得,這是由于整個(gè)集群對(duì)抗過(guò)程涉及到飛行動(dòng)力學(xué)、過(guò)載限制等要求,難以通過(guò)解析法進(jìn)行計(jì)算。可將雙方初始態(tài)勢(shì)看作是隨時(shí)間變化的參數(shù),將分配方案看作問(wèn)題的最優(yōu)解,由于在集群對(duì)抗過(guò)程中,雙方初始態(tài)勢(shì)瞬息萬(wàn)變,如何快速優(yōu)化分配目標(biāo),是一類典型的時(shí)變參數(shù)的SO問(wèn)題。
目前,已有大量文獻(xiàn)對(duì)SO問(wèn)題進(jìn)行了研究[2-4]。傳統(tǒng)SO問(wèn)題的解決思路是:首先通過(guò)仿真模型得到輸入變量與輸出變量之間的關(guān)系,然后利用優(yōu)化算法對(duì)仿真模型進(jìn)行尋優(yōu),但是這種方法需要大量訪問(wèn)仿真模型,導(dǎo)致SO所需時(shí)間非常長(zhǎng)。一類改進(jìn)方法是利用各種仿真元模型[5-6]取代仿真模型,如回歸模型[7]、神經(jīng)網(wǎng)絡(luò)元模型[8-10]、支持向量機(jī)元模型[11-12]、Kriging元模型[13-17]、響應(yīng)面元模型[5,18-20]、多元自適應(yīng)回歸樣條元模型[21]、徑向基函數(shù)元模型[22-24]等,這使得優(yōu)化算法訪問(wèn)的不是仿真模型,而是元模型(或代理模型),能夠加快優(yōu)化算法的運(yùn)行速度,得到近似全局最優(yōu)解[25]。在眾多元模型中,許多學(xué)者嚴(yán)格證明了多層人工神經(jīng)網(wǎng)絡(luò)理論上能夠?qū)⑷魏慰蓽y(cè)量的函數(shù)逼近到任何期望的精確度[26-28],基于人工神經(jīng)網(wǎng)絡(luò)的仿真元建模已經(jīng)被證明在許多應(yīng)用場(chǎng)合中是可行的[8-9,25,29-30]。但是這種仿真元建模方法主要適用于系統(tǒng)參數(shù)固定的情況,一旦系統(tǒng)參數(shù)具有時(shí)變性,則每次參數(shù)變化時(shí)都需要重復(fù)構(gòu)建仿真元模型,即仿真元模型是在一組固定參數(shù)下訓(xùn)練得到的,參數(shù)變化就需要重新訓(xùn)練得到不同的仿真元模型,這使得整個(gè)SO過(guò)程難以滿足實(shí)時(shí)性要求。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)在實(shí)時(shí)目標(biāo)識(shí)別和分類方面,展現(xiàn)出獨(dú)特的優(yōu)勢(shì),比如手寫(xiě)數(shù)字的快速識(shí)別、車輛自動(dòng)駕駛采用的圖像自動(dòng)識(shí)別技術(shù)、語(yǔ)音識(shí)別等。為此,本文研究了一類具有TVP系統(tǒng)的SO問(wèn)題快速?zèng)Q策方法,通過(guò)大量的線下訓(xùn)練,基于神經(jīng)網(wǎng)絡(luò)模型描述TVP到最優(yōu)解的映射關(guān)系,從而實(shí)現(xiàn)在線實(shí)時(shí)決策。
假設(shè)目標(biāo)函數(shù)為y=f(a,x),其中a表示參數(shù)向量,即一組隨時(shí)間不斷變化的參數(shù)(簡(jiǎn)稱TVP),x表示自變量。假設(shè)優(yōu)化目標(biāo)是在a一定時(shí),求出使得y取最小值的解xmin。針對(duì)TVP系統(tǒng)的SO問(wèn)題,函數(shù)f的輸入輸出關(guān)系需要通過(guò)仿真實(shí)現(xiàn),這里稱為仿真函數(shù)。
對(duì)于一個(gè)n維仿真函數(shù),時(shí)變參數(shù)系統(tǒng)的SO模型描述如下:
(1)
式中:at=a(t)=[a1(t),a2(t),…,am(t)],表示t時(shí)刻的TVP向量,由m個(gè)參數(shù)組成,當(dāng)t一定時(shí),at可看作已知量;[xLBi,xUBi]、[aLBj,aUBj]分別表示自變量xi和參數(shù)aj的上下界。
可見(jiàn),不同于傳統(tǒng)優(yōu)化問(wèn)題,目標(biāo)函數(shù)值y在不同時(shí)刻將隨著時(shí)變參數(shù)a的變化表現(xiàn)出完全不同的形式。因此,每個(gè)時(shí)刻實(shí)際都將對(duì)應(yīng)于求解一個(gè)完全不同的優(yōu)化問(wèn)題。若模型(1)中的目標(biāo)函數(shù)具有明確的解析表達(dá)式,計(jì)算y的時(shí)間可忽略不計(jì),則只要優(yōu)化算法能夠保證實(shí)時(shí)性,模型(1)能夠直接求解優(yōu)化模型,得到最優(yōu)解。問(wèn)題的難點(diǎn)在于模型(1)中的目標(biāo)函數(shù)是一個(gè)仿真函數(shù),若利用優(yōu)化算法對(duì)仿真函數(shù)進(jìn)行尋優(yōu),則需要大量訪問(wèn)仿真模型,導(dǎo)致所需時(shí)間非常長(zhǎng),不能滿足實(shí)時(shí)性要求。
圖1 TVP優(yōu)化問(wèn)題的神經(jīng)網(wǎng)絡(luò)求解原理示例Fig.1 Example of basic idea for TVP optimization problem solved by neural network
假設(shè)a1,a2的取值范圍為1到10之間的整數(shù),那么需要訓(xùn)練100個(gè)神經(jīng)網(wǎng)絡(luò)元模型,才能遍歷所有可能的情況,所需時(shí)間至少是原來(lái)的100倍。如果a1,a2的取值為小數(shù),那么將存在無(wú)數(shù)種可能的變參數(shù)組合。因此,通過(guò)枚舉法得到每種變參數(shù)組合對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)元模型幾乎是不可能的。
文獻(xiàn)[31,32]實(shí)際代表了一種“先仿真,再擬合,后優(yōu)化”的間接SO解決思路,如圖2(a)所示,由于TVP變化時(shí),必須重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)元模型,因此其特點(diǎn)是“在線訓(xùn)練+在線優(yōu)化”,而在線訓(xùn)練神經(jīng)網(wǎng)絡(luò)和在線優(yōu)化均需要耗費(fèi)一定的時(shí)間,這對(duì)于實(shí)時(shí)性要求高的問(wèn)題顯然難以滿足。
圖2 兩種SO解決思路Fig.2 Two ideas for solving SO
本文將該問(wèn)題看作一種神經(jīng)網(wǎng)絡(luò)的在線預(yù)測(cè)問(wèn)題,對(duì)應(yīng)于一種“先SO,再擬合”的直接SO解決思路,如圖2(b)所示。通過(guò)SO產(chǎn)生一系列的樣本,然后利用神經(jīng)網(wǎng)絡(luò)對(duì)輸入?yún)?shù)和輸出最優(yōu)解進(jìn)行擬合,從而得到問(wèn)題的滿意解。該方法允許提前進(jìn)行大量的SO樣本生成和神經(jīng)網(wǎng)絡(luò)離線訓(xùn)練過(guò)程,其特點(diǎn)是“離線訓(xùn)練+在線預(yù)測(cè)”,由于大量工作在離線階段完成,線上只需利用神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)最優(yōu)解即可,因此該方法可以滿足實(shí)時(shí)性要求。
定理 1自變量無(wú)邊界約束的連續(xù)可導(dǎo)函數(shù)的變參數(shù)優(yōu)化問(wèn)題本質(zhì)上是一個(gè)預(yù)測(cè)問(wèn)題。
證明不妨假設(shè)優(yōu)化問(wèn)題為最小值優(yōu)化。當(dāng)a一定時(shí),對(duì)于自變量無(wú)邊界約束的問(wèn)題,上述函數(shù)的最優(yōu)解x1應(yīng)滿足:f′(a,x1)=0,f″(a,x1)>0。對(duì)于方程f′(a,x1)=0,實(shí)際可以等價(jià)于把x1看成是因變量、把a(bǔ)看成是自變量的函數(shù)。假設(shè)x1=g(a),即問(wèn)題轉(zhuǎn)化為如何由參數(shù)向量a預(yù)測(cè)得到最優(yōu)解x1,且約束函數(shù)為f″(a,x1)>0。
證畢
基于以上定理,仍然可以借助神經(jīng)網(wǎng)絡(luò)元模型的思想,對(duì)f′(a,x1)=0表示的函數(shù)x1=g(a)進(jìn)行神經(jīng)網(wǎng)絡(luò)逼近,即選取訓(xùn)練樣本為(a,x1),其中a為神經(jīng)網(wǎng)絡(luò)的輸入、最優(yōu)解x1為神經(jīng)網(wǎng)絡(luò)的輸出,訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)即可實(shí)現(xiàn)對(duì)這種TVP最優(yōu)化問(wèn)題的實(shí)時(shí)、快速求解。
對(duì)于圖1的例子,當(dāng)參數(shù)(a1,a2)一定時(shí),可以找到對(duì)應(yīng)的最優(yōu)解xmin。比如(a1,a2)=(1, 2)時(shí),最優(yōu)解為xmin=1。顯然,當(dāng)參數(shù)(a1,a2)取不同值時(shí),將得到不同的xmin,如圖1(a)所示。將參數(shù)(a1,a2)作為輸入、將對(duì)應(yīng)的xmin作為輸出,則可將其作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本,經(jīng)過(guò)訓(xùn)練,即可得到參數(shù)(a1,a2)與最優(yōu)解的映射關(guān)系,如圖1(b)所示。事實(shí)上,可令變參數(shù)函數(shù)的一階導(dǎo)為0,則最優(yōu)解與參數(shù)(a1,a2)滿足xmin=-a2/2a1,這實(shí)際是神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練需要擬合的回歸曲面。從這個(gè)例子可以看出,變參數(shù)函數(shù)的優(yōu)化問(wèn)題,實(shí)際可以轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)問(wèn)題。
在現(xiàn)實(shí)生活中,大多數(shù)優(yōu)化問(wèn)題的自變量都是有取值范圍的。對(duì)于自變量存在邊界約束的問(wèn)題,最優(yōu)解與變參數(shù)之間的映射關(guān)系可能受到干擾。如圖1(a)所示,假設(shè)x∈(-∞,0.8],則對(duì)應(yīng)圖中3種變參數(shù)的函數(shù)曲線的最小值均為xmin=0.8,則得到的訓(xùn)練樣本(a,x1)均不在圖1(b)的神經(jīng)網(wǎng)絡(luò)回歸曲面上;而當(dāng)x∈(-∞,2]時(shí),3種變參數(shù)的函數(shù)曲線的最小值分別為1, 1.5, 2,這表明前2個(gè)訓(xùn)練樣本(a,x1)在圖1(b)的神經(jīng)網(wǎng)絡(luò)回歸曲面上,第3個(gè)訓(xùn)練樣本不在神經(jīng)網(wǎng)絡(luò)回歸曲面上,將可能影響神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果。
推論 1自變量有邊界約束的連續(xù)可導(dǎo)函數(shù)的變參數(shù)優(yōu)化問(wèn)題本質(zhì)上可看作一個(gè)分段函數(shù)預(yù)測(cè)問(wèn)題。
從定理1容易證明,無(wú)邊界約束的連續(xù)可導(dǎo)函數(shù)的變參數(shù)優(yōu)化問(wèn)題可轉(zhuǎn)化為一類連續(xù)函數(shù)的預(yù)測(cè)問(wèn)題。帶邊界約束問(wèn)題,則可看作是將連續(xù)函數(shù)進(jìn)行了分段,實(shí)際是一類分段函數(shù)的預(yù)測(cè)問(wèn)題。
例如,對(duì)于圖1的例子,若考慮問(wèn)題的邊界為x∈(-∞,2]時(shí),則最優(yōu)解滿足:
(2)
顯然是一個(gè)連續(xù)的分段函數(shù)。
推論 2連續(xù)可導(dǎo)函數(shù)的變參數(shù)優(yōu)化問(wèn)題可借助多層人工神經(jīng)網(wǎng)絡(luò)進(jìn)行解決。
證明定理1和推論1證明了無(wú)論自變量是否存在邊界約束,連續(xù)可導(dǎo)函數(shù)的變參數(shù)優(yōu)化問(wèn)題都可看作是一類連續(xù)函數(shù)的預(yù)測(cè)問(wèn)題。如引言中所述,多層人工神經(jīng)網(wǎng)絡(luò)理論上已被嚴(yán)格證明能夠?qū)⑷魏慰蓽y(cè)量的函數(shù)逼近到任何期望的精確度[26-28]。因此,任意連續(xù)函數(shù)預(yù)測(cè)問(wèn)題可借助多層人工神經(jīng)網(wǎng)絡(luò)進(jìn)行解決,從而得證。
證畢
因此,本文的解決思路是:首先,隨機(jī)選取不同的變參數(shù)系數(shù)a,利用傳統(tǒng)SO方法,得到該問(wèn)題對(duì)應(yīng)的最優(yōu)解x1,將(a,x1)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本,設(shè)計(jì)合適的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行離線訓(xùn)練,直至誤差滿足精度要求。利用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),對(duì)TVP的SO問(wèn)題進(jìn)行實(shí)時(shí)近似求解。考慮到近似解往往在最優(yōu)解附近,為提高求解精度,在保證實(shí)時(shí)性的前提下,可以以該近似解為起點(diǎn),利用局部搜索算法,精準(zhǔn)定位到最優(yōu)解。
步驟 1生成樣本集。隨機(jī)生成一組參數(shù)a,在該參數(shù)確定的情況下,利用傳統(tǒng)SO方法,求解問(wèn)題的最優(yōu)解xmin,將(a,xmin)作為輸入-輸出樣本,得到總樣本集Ω。
步驟 2樣本集分類。判別(a,xmin)的最優(yōu)值xmin是否是邊界上的點(diǎn),若是,則將此樣本加入邊界樣本集Ω2,否則,將該樣本加入中心樣本集Ω1。
步驟 3神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建和訓(xùn)練。將參數(shù)a作為神經(jīng)網(wǎng)絡(luò)的輸入,輸入維度與參數(shù)向量a中的參數(shù)個(gè)數(shù)相同,將最優(yōu)解xmin作為神經(jīng)網(wǎng)絡(luò)的輸出,輸出維度與x的維度相同。利用步驟2生成的訓(xùn)練樣本集Ω1和Ω2,分別訓(xùn)練兩個(gè)神經(jīng)網(wǎng)絡(luò)模型,嘗試不同的隱藏層層數(shù)、神經(jīng)元數(shù)和訓(xùn)練參數(shù),得到滿足誤差精度要求的神經(jīng)網(wǎng)絡(luò)模型。
步驟 4在線預(yù)測(cè)效果檢驗(yàn)。隨機(jī)生成幾組參數(shù)a,判斷a是否屬于中心樣本集Ω1或邊界樣本集Ω2,如果是,則直接從Ω1或Ω2中導(dǎo)出最優(yōu)解;否則,將a帶入步驟3中訓(xùn)練好的兩個(gè)神經(jīng)網(wǎng)絡(luò)模型,得到預(yù)測(cè)最優(yōu)解xP1和xP2,選擇其中目標(biāo)函數(shù)值較小的一個(gè)作為最終選取的近似最優(yōu)解xP。
步驟 5優(yōu)化解的精準(zhǔn)定位。以預(yù)測(cè)最優(yōu)解xP為起點(diǎn),借助局部搜索算法(如梯度下降法、模式搜索等),進(jìn)一步精準(zhǔn)定位到局部極值點(diǎn)。
注意,步驟5僅當(dāng)局部微調(diào)所需計(jì)算時(shí)間能夠保證實(shí)時(shí)的情況下使用,否則,用步驟4得到的預(yù)測(cè)最優(yōu)解xP作為問(wèn)題的滿意解。同時(shí),對(duì)某些問(wèn)題,可能Ω1或Ω2樣本集中某一個(gè)樣本集的樣本很少或?yàn)榭?此時(shí)可將兩個(gè)樣本集合并為一個(gè)總樣本集,構(gòu)建單個(gè)神經(jīng)網(wǎng)絡(luò)模型即可,如本文中例1。
例1對(duì)于一個(gè)5參數(shù)的變參數(shù)函數(shù)優(yōu)化問(wèn)題,存在1個(gè)自變量:
y=a1e-a2x+a3e-a4xsin(a5x), 0≤x≤20
(3)
式中:a1∈[-0.2, 0.2],a2∈[-0.3, 0.3],a3∈[-0.6, 0.6],a4∈[-0.5, 0.5],a5∈[-2, 2]。
按照第2.2節(jié)的方法,在參數(shù)的取值范圍內(nèi)隨機(jī)生成10 000個(gè)樣本點(diǎn),得到10 000×5的輸入樣本矩陣。當(dāng)參數(shù)一定時(shí),對(duì)應(yīng)一組最小值xmin,將對(duì)應(yīng)的xmin作為輸出值,得到10 000×1的輸出樣本向量,如表1所示。利用Matlab的神經(jīng)網(wǎng)絡(luò)工具箱,對(duì)輸入、輸出關(guān)系進(jìn)行訓(xùn)練,構(gòu)造了4層BP神經(jīng)網(wǎng)絡(luò)模型,其中隱藏層1取15個(gè)神經(jīng)元,隱藏層2取10個(gè)神經(jīng)元,采取的傳遞函數(shù)分別為tansig和logsig,訓(xùn)練函數(shù)為trainlm,經(jīng)過(guò)45次迭代,算法收斂。
表1 部分原始訓(xùn)練數(shù)據(jù)表
選取了4個(gè)參數(shù)集作為測(cè)試樣本,預(yù)測(cè)結(jié)果如表2和圖3所示。從圖3可以看出,在參數(shù)不同的情況下,變參數(shù)函數(shù)對(duì)應(yīng)的曲面發(fā)生了變化,但是仍然保留了一些基本特征,比如周期性,存在極大、極小值等。前兩種情況下,最小值點(diǎn)在4附近,后兩種情況,對(duì)應(yīng)最小值點(diǎn)在18附近。從圖3和表2可見(jiàn),測(cè)試樣本的預(yù)測(cè)最小值基本在真實(shí)最小值附近,神經(jīng)網(wǎng)絡(luò)對(duì)最優(yōu)值的預(yù)測(cè)效果很好。例如,對(duì)于測(cè)試樣本2,預(yù)測(cè)結(jié)果在真實(shí)最優(yōu)解附近,是一個(gè)滿意解,如以該點(diǎn)為起點(diǎn)進(jìn)行搜索,容易得到問(wèn)題的最優(yōu)近似解。
表2 測(cè)試樣本及神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
圖3 測(cè)試樣本的擬合效果Fig.3 Fitting effects for test samples
例2對(duì)于5參數(shù)的變參數(shù)函數(shù)優(yōu)化問(wèn)題,存在兩個(gè)自變量:
-5≤x1,x2≤5
(4)
式中:ai∈[-10, 10](i=1,2,…,5)。
當(dāng)參數(shù)變化時(shí),在某些情況下,函數(shù)曲面的基本特征可能會(huì)發(fā)生根本改變,比如起伏性、凹凸性等。比如,圖4給出了兩組不同參數(shù)對(duì)應(yīng)的函數(shù)曲面。
圖4 兩類不同參數(shù)情況下的函數(shù)曲面圖(不同視角)Fig.4 Function curves for two groups of parameters (surface plots from different perspectives)
圖4(a)對(duì)應(yīng)的參數(shù)為(3, 4, 4, 4, 5),整個(gè)曲面是一個(gè)向下凸的形式,其最小值點(diǎn)xmin為(-0.375 0,-0.437 5),對(duì)應(yīng)ymin為3.156 3;圖4(b)對(duì)應(yīng)的參數(shù)為(-7, 2,-3,-6,-8),整個(gè)曲面類似一個(gè)馬鞍的形式,其最小值點(diǎn)xmin為(5, 5),對(duì)應(yīng)ymin為-265。值得注意的是,圖4(b)中存在一個(gè)鞍點(diǎn)(-0.738 5, 1.446 2),并非最小值點(diǎn)。
令函數(shù)的一階導(dǎo)為0,即
(5)
可求得可能的極值點(diǎn)或鞍點(diǎn)為
經(jīng)試驗(yàn)各種神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)、參數(shù)組合,發(fā)現(xiàn)構(gòu)造4層BP神經(jīng)網(wǎng)絡(luò)(5-14-14-2)模型效果最佳。其中隱藏層1取14個(gè)神經(jīng)元,隱藏層2取14個(gè)神經(jīng)元,采取的傳遞函數(shù)分別為tansig和tansig,訓(xùn)練函數(shù)為trainlm,對(duì)生成的10 000個(gè)訓(xùn)練樣本進(jìn)行訓(xùn)練,其中,中心樣本為1 707個(gè),邊界樣本為8 293個(gè)。采用以上BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),分別訓(xùn)練中心樣本、邊界樣本和總樣本,得到神經(jīng)網(wǎng)絡(luò)NN1,NN2,NN0,訓(xùn)練效果如表3和圖5~圖7所示??梢?jiàn),中心樣本訓(xùn)練對(duì)神經(jīng)網(wǎng)絡(luò)NN1的訓(xùn)練效果最好,邊界樣本對(duì)神經(jīng)網(wǎng)絡(luò)NN2的訓(xùn)練效果次之,總樣本對(duì)神經(jīng)網(wǎng)絡(luò)NN0的訓(xùn)練效果相對(duì)最差。
表3 3個(gè)神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果比較
圖5 總樣本集的訓(xùn)練效果Fig.5 Training effects of all samples
圖6 邊界樣本集的訓(xùn)練效果Fig.6 Training effects of boundary samples
圖7 中心樣本集的訓(xùn)練效果Fig.7 Training effects of internal samples
利用以上3個(gè)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)分別對(duì)測(cè)試參數(shù)集進(jìn)行測(cè)試,結(jié)果如表4所示,*表示選擇的預(yù)測(cè)最優(yōu)解。對(duì)于第1組參數(shù)集,對(duì)應(yīng)的最優(yōu)解為中心樣本點(diǎn),顯然NN1的預(yù)測(cè)效果最好,而NN2全部由邊界樣本訓(xùn)練得到,而參數(shù)1對(duì)應(yīng)為中心樣本,故預(yù)測(cè)誤差較大,NN0的預(yù)測(cè)效果介于NN1和NN2之間,這主要是由于其包含了邊界樣本和中心點(diǎn)樣本,效果雖不如NN1,但優(yōu)于NN2;對(duì)于第2組參數(shù)集,對(duì)應(yīng)的最優(yōu)解為邊界樣本點(diǎn),此時(shí)預(yù)測(cè)精度由高到低依次為NN2>NN0>NN1。
根據(jù)第2.2節(jié)的求解步驟,神經(jīng)網(wǎng)絡(luò)模型實(shí)時(shí)預(yù)測(cè)結(jié)果為:當(dāng)參數(shù)為(3, 4, 4, 4, 5)時(shí),預(yù)測(cè)最優(yōu)解為(-0.361 4,-0.283 9);當(dāng)參數(shù)為(-7, 2,-3,-6,-8)時(shí),預(yù)測(cè)最優(yōu)解為(5, 5),如圖8所示,預(yù)測(cè)最優(yōu)解均在實(shí)際最優(yōu)解附近,預(yù)測(cè)結(jié)果比較滿意。值得說(shuō)明的是,在實(shí)時(shí)預(yù)測(cè)最優(yōu)解時(shí),往往不知道該參數(shù)對(duì)應(yīng)的最優(yōu)解屬于中心樣本還是邊界樣本,故選擇兩個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)最優(yōu)解的目標(biāo)函數(shù)值中較小的一個(gè)即可。
圖8 兩組參數(shù)的最優(yōu)解預(yù)測(cè)效果圖Fig.8 Predicting effect of the optimum solution for two groups of parameters
表5給出了本文方法與文獻(xiàn)[32](基于神經(jīng)網(wǎng)絡(luò)的SO方法)和文獻(xiàn)[33](傳統(tǒng)的SO方法)的對(duì)比,分別比較了找到的最優(yōu)解xmin、在線優(yōu)化的用時(shí)T(不含訪問(wèn)目標(biāo)函數(shù)所需時(shí)間)以及目標(biāo)函數(shù)的訪問(wèn)次數(shù)Nfevl。其中,文獻(xiàn)[32]構(gòu)建了廣義回歸神經(jīng)網(wǎng)絡(luò)(general regression neural network, GRNN)元模型以取代仿真,然后利用優(yōu)化算法在神經(jīng)網(wǎng)絡(luò)元模型上進(jìn)行尋優(yōu);文獻(xiàn)[33]為傳統(tǒng)的SO方法,該方法的思想是“邊仿真邊優(yōu)化”,將仿真函數(shù)看作是普通的函數(shù),利用遺傳算法進(jìn)行尋優(yōu)。
表5 不同方法實(shí)驗(yàn)結(jié)果對(duì)比
根據(jù)表5的結(jié)果,可得出以下結(jié)論:
(1) 從解的實(shí)時(shí)性方面,本文方法在參數(shù)變化時(shí),只需要0.041 1 s和0.038 1 s就可以得到滿意解,能夠滿足實(shí)時(shí)性要求。這是因?yàn)楸疚姆椒▽⒆顑?yōu)解轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)模型的輸出,而將參數(shù)值看作是神經(jīng)網(wǎng)絡(luò)模型的輸入,因此尋優(yōu)過(guò)程實(shí)質(zhì)是神經(jīng)網(wǎng)絡(luò)從輸入到輸出的計(jì)算過(guò)程,不需要考慮參數(shù)變化時(shí)目標(biāo)函數(shù)的評(píng)估問(wèn)題。換言之,正如推論2所述,是將優(yōu)化問(wèn)題轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)問(wèn)題。文獻(xiàn)[32]所需的時(shí)間與構(gòu)建GRNN神經(jīng)網(wǎng)絡(luò)模型用到的樣本數(shù)直接相關(guān),當(dāng)樣本數(shù)為40 401時(shí),用時(shí)約為20 s,這還不包括訪問(wèn)40 401次仿真函數(shù)所需的時(shí)間;而當(dāng)樣本數(shù)為10 201時(shí),用時(shí)也需要約7 s,顯然難以滿足實(shí)時(shí)性要求。文獻(xiàn)[33]是基于遺傳算法的SO,直接將仿真函數(shù)看做是遺傳算法的適應(yīng)值函數(shù),所需用時(shí)盡管只有約0.09 s,但是對(duì)目標(biāo)函數(shù)的訪問(wèn)次數(shù)達(dá)到了10 410次。因此,實(shí)際在線SO時(shí)間為0.09 s加上執(zhí)行10 410次仿真所需的時(shí)間,即使1次仿真用時(shí)為1 ms,整個(gè)SO用時(shí)也達(dá)到了10 s左右,同樣難以滿足實(shí)時(shí)性要求。
(2) 從解的準(zhǔn)確性方面,本文方法預(yù)測(cè)的最優(yōu)解在真實(shí)最優(yōu)解附近,但相比文獻(xiàn)[32]和文獻(xiàn)[33]的方法,精度較差,這是TVP SO問(wèn)題的特點(diǎn)決定的:由于解的實(shí)時(shí)性要求高,只要是滿意解均可接受,即不一定要求最優(yōu)。從表5可見(jiàn),最優(yōu)解的精度由高到低依次是:文獻(xiàn)[33]>文獻(xiàn)[32](較多樣本)>文獻(xiàn)[32](較少樣本)>本文。文獻(xiàn)[32]得到最優(yōu)解的精度與構(gòu)建GRNN神經(jīng)網(wǎng)絡(luò)模型用到的樣本數(shù)直接相關(guān),樣本數(shù)越多,得到的神經(jīng)網(wǎng)絡(luò)擬合曲面越精確,從而能夠得到更為精準(zhǔn)的GRNN神經(jīng)網(wǎng)絡(luò)元模型,預(yù)測(cè)得到的最優(yōu)解精度越高,但是用時(shí)也更長(zhǎng);文獻(xiàn)[33]得到的最優(yōu)解精度最高,這是因?yàn)樵摲椒ㄊ侵苯釉谡鎸?shí)曲面上進(jìn)行尋優(yōu),而不是在由神經(jīng)網(wǎng)絡(luò)形成的擬合曲面上(如文獻(xiàn)[32]),不會(huì)因擬合曲面的誤差影響最優(yōu)解的精度,因此能夠更精準(zhǔn)定位到最優(yōu)解。
(3) 從方法的適用性方面,文獻(xiàn)[32]相比本文方法的求解精度更高,由于一組TVP實(shí)際對(duì)應(yīng)于一個(gè)神經(jīng)網(wǎng)絡(luò)元模型,如果在線獲取訓(xùn)練樣本并訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)元模型,難以滿足實(shí)時(shí)性要求。但如果通過(guò)離線訓(xùn)練得到了神經(jīng)網(wǎng)絡(luò)元模型,則能夠滿足實(shí)時(shí)SO。因此,當(dāng)TVP的組合數(shù)可數(shù)時(shí),可利用枚舉法,采用“離線存儲(chǔ)+在線調(diào)用”的思路。利用文獻(xiàn)[32]的方法,將每組TVP對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)元模型進(jìn)行離線訓(xùn)練,并存儲(chǔ)到系統(tǒng)中,針對(duì)當(dāng)前的TVP值調(diào)用相應(yīng)的神經(jīng)網(wǎng)絡(luò)元模型,對(duì)元模型進(jìn)行尋優(yōu)即可;但是,大多數(shù)情況下,TVP的組合可能有無(wú)窮個(gè),故如果采用提前存儲(chǔ)每組參數(shù)對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)元模型的方法,則需要存儲(chǔ)無(wú)窮多的神經(jīng)網(wǎng)絡(luò)元模型,這顯然是不現(xiàn)實(shí)的。此時(shí),用本文的方法更為合適。
(4) 應(yīng)用本文方法應(yīng)注意的問(wèn)題。盡管本文方法能夠做到近實(shí)時(shí)實(shí)現(xiàn)較滿意的SO解,但前提是必須構(gòu)建合適的神經(jīng)網(wǎng)絡(luò)模型。這就需要大量的離線神經(jīng)網(wǎng)絡(luò)訓(xùn)練和SO樣本的獲取過(guò)程,這個(gè)過(guò)程需要花費(fèi)大量的時(shí)間和計(jì)算才能完成,這也是本文方法能否成功的關(guān)鍵。為減少離線訓(xùn)練時(shí)間,建議盡可能縮小自變量的取值范圍。比如,在例2中,若自變量取值范圍由[-5,5]縮小到[-1,1],在相同的采樣間隔[0.05, 0.05]下,訓(xùn)練神經(jīng)網(wǎng)絡(luò)所需的樣本由40 401個(gè)減少到1 681個(gè),降低到只有原來(lái)的1/25,從而大幅減少優(yōu)化時(shí)間。故在實(shí)際應(yīng)用時(shí),應(yīng)在前期剔除不可能存在的樣本空間,減少樣本數(shù)量,這有利于加快離線神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。另外,盡管本文方法預(yù)測(cè)的優(yōu)化值在真實(shí)最優(yōu)值附近,但仍存在極少數(shù)的異常值,距離最優(yōu)解偏差較大,這是神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)中難以避免的允許最小誤差問(wèn)題。如何避免選擇這類異常值,也是下一步的研究重點(diǎn)。
本文提出了一種應(yīng)用神經(jīng)網(wǎng)絡(luò)求解TVP優(yōu)化問(wèn)題的思路,對(duì)于解決具有實(shí)時(shí)性要求的TVP系統(tǒng)的優(yōu)化決策具有一定的借鑒作用。本文證明了連續(xù)函數(shù)的變參數(shù)優(yōu)化問(wèn)題本質(zhì)上可認(rèn)為是一個(gè)預(yù)測(cè)問(wèn)題,并驗(yàn)證了將變參數(shù)的SO問(wèn)題直接轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)問(wèn)題的可行性。同時(shí),提出了在存在邊界約束情況下,區(qū)分中心樣本集和邊界樣本集,分別訓(xùn)練2個(gè)神經(jīng)網(wǎng)絡(luò)的策略,以更為準(zhǔn)確、有效地找到變參數(shù)優(yōu)化問(wèn)題的滿意解。
本文主要針對(duì)目標(biāo)函數(shù)為黑箱模型或仿真模型的變參數(shù)在線優(yōu)化問(wèn)題進(jìn)行了研究。下一步,考慮從減少SO樣本集數(shù)量、如何處理多極值問(wèn)題、針對(duì)參數(shù)低維而最優(yōu)解高維問(wèn)題的神經(jīng)網(wǎng)絡(luò)訓(xùn)練,以及提高神經(jīng)網(wǎng)絡(luò)元模型的環(huán)境適應(yīng)性問(wèn)題等角度開(kāi)展深入研究,以進(jìn)一步提高變參數(shù)SO問(wèn)題的求解效率。