摘 要:戒備率是導(dǎo)彈武器系統(tǒng)一項(xiàng)重要的戰(zhàn)術(shù)技術(shù)指標(biāo),分析評(píng)估導(dǎo)彈武器系統(tǒng)的戒備率,可以為導(dǎo)彈武器系統(tǒng)的研制和作戰(zhàn)使用提供重要決策依據(jù)。為了快速準(zhǔn)確地得到導(dǎo)彈武器系統(tǒng)的戒備率,基于C#.NET開(kāi)發(fā)了導(dǎo)彈武器戒備率評(píng)估系統(tǒng),利用安全性和效率較高的數(shù)據(jù)庫(kù)技術(shù)完成評(píng)估信息的管理。系統(tǒng)采用人工神經(jīng)網(wǎng)絡(luò)的評(píng)估方法,利用混合編程技術(shù)完成導(dǎo)彈武器戒備率的評(píng)估。該系統(tǒng)可以實(shí)現(xiàn)對(duì)導(dǎo)彈武器系統(tǒng)戒備率的快速評(píng)估,并可以定量分析不同因素對(duì)戒備率的影響,對(duì)戒備率評(píng)估技術(shù)的研究具有重要的現(xiàn)實(shí)意義。
關(guān)鍵詞:戒備率評(píng)估;數(shù)據(jù)庫(kù)技術(shù);人工神經(jīng)網(wǎng)絡(luò);混合編程
中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2010)04-141-04
Design and Implementation of Readiness Rate Evaluation System for Missile Weapon System
LU He,WANG Hongli,YIN Dejin
(The Second Artillery Engineering College,Xi′an,710025,China)
Abstract:The readiness rate is an important index to tactics and technology of missile weapon system,evaluation and analysis can provide an important decision-making criterion to research and operation of missile weapon system.To get the readiness rate quickly and accurately,the readiness rate evaluation system for missile weapon system is developed based on C#.NET,database technique which has high security and efficiency is used to manage the information that is needed in evaluation,evaluation method of artificial neural network is used in this system,the technology of combination programming is used to do the evaluation of readiness rate.This system realizes the rapid evaluation of readiness rate of missile weapon system and it can also analye the effect of different factor on readiness rate quantitatively,it has important practical significance to the study of evaluation technology of readiness rate.
Keywords:evaluation of readiness rate;database;artificial neural network;combination programming
0 引 言
導(dǎo)彈武器系統(tǒng)的戒備率指處于戒備狀態(tài)下導(dǎo)彈數(shù)與該導(dǎo)彈總數(shù)的比值[1]。通過(guò)分析評(píng)估導(dǎo)彈武器系統(tǒng)的戒備率,能夠完整地掌握武器系統(tǒng)戒備作戰(zhàn)的能力,從而為導(dǎo)彈武器系統(tǒng)的研制和作戰(zhàn)使用提供重要決策和依據(jù)。
導(dǎo)彈武器系統(tǒng)作為一個(gè)復(fù)雜系統(tǒng),其戒備率受到可靠性、維修性、保障性、戰(zhàn)場(chǎng)環(huán)境、人為因素、生存能力等因素的綜合影響,所以導(dǎo)彈武器系統(tǒng)戒備率的評(píng)估難度大,時(shí)間長(zhǎng)。現(xiàn)代戰(zhàn)爭(zhēng)的各種因素的變化很快,如何快速準(zhǔn)確地得到導(dǎo)彈武器系統(tǒng)的戒備率,為導(dǎo)彈武器系統(tǒng)的作戰(zhàn)使用提供決策依據(jù),是戒備率評(píng)估發(fā)展研究的方向。在此,利用發(fā)展成熟的數(shù)據(jù)庫(kù)技術(shù),結(jié)合人工神經(jīng)網(wǎng)絡(luò)的評(píng)估方法,開(kāi)發(fā)出了導(dǎo)彈武器戒備率評(píng)估系統(tǒng),降低了評(píng)估的難度,縮短了評(píng)估的時(shí)間,能夠根據(jù)戰(zhàn)場(chǎng)形勢(shì)的變化快速準(zhǔn)確地完成戒備率的評(píng)估,對(duì)戒備率評(píng)估技術(shù)的研究有十分重要的現(xiàn)實(shí)意義。
1 系統(tǒng)的總體設(shè)計(jì)
1.1 任務(wù)需求
根據(jù)影響導(dǎo)彈武器系統(tǒng)戒備率各項(xiàng)要素的物理特性以及它們之間的關(guān)系,以作戰(zhàn)想定、任務(wù)剖面和評(píng)估條件為基礎(chǔ),快速準(zhǔn)確地得到導(dǎo)彈武器系統(tǒng)技術(shù)陣地、待機(jī)陣地、發(fā)射陣地、導(dǎo)彈和導(dǎo)彈武器系統(tǒng)的戒備率評(píng)估值;進(jìn)行導(dǎo)彈武器系統(tǒng)全壽命周期內(nèi)不同任務(wù)剖面下的戒備率評(píng)估;通過(guò)數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)的規(guī)范化管理,方便地進(jìn)行信息查詢(xún)。
1.2 系統(tǒng)結(jié)構(gòu)
導(dǎo)彈武器戒備率評(píng)估系統(tǒng)的設(shè)計(jì)目的是完成導(dǎo)彈武器系統(tǒng)戒備率評(píng)估任務(wù)及其評(píng)估數(shù)據(jù)的管理,整個(gè)系統(tǒng)的框架采用模塊化設(shè)計(jì),主要分為系統(tǒng)管理模塊、戒備率評(píng)估模塊、數(shù)據(jù)庫(kù)模塊、接口模塊、幫助模塊。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1.3 系統(tǒng)功能
系統(tǒng)中五個(gè)模塊的具體功能如下:
系統(tǒng)管理模塊 完成用戶(hù)登陸的身份驗(yàn)證。將操作人員分為管理員,評(píng)估人員,查詢(xún)?nèi)藛T。管理員可以完成添加刪除用戶(hù)、設(shè)定用戶(hù)權(quán)限、查詢(xún)和修改導(dǎo)彈數(shù)據(jù)庫(kù)等操作;評(píng)估人員能夠查詢(xún)相關(guān)型號(hào)數(shù)據(jù)庫(kù),進(jìn)行戒備率的評(píng)估,將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù);查詢(xún)?nèi)藛T可以查詢(xún)相關(guān)的導(dǎo)彈參數(shù)。
戒備率評(píng)估模塊 它是系統(tǒng)的主要組成部分。完成評(píng)估參數(shù)的輸入;對(duì)不同量綱的指標(biāo)采用歸一化的方法將其標(biāo)準(zhǔn)化,將評(píng)估參數(shù)處理為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本;調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的參數(shù)使之達(dá)到評(píng)估目標(biāo);對(duì)評(píng)估結(jié)果進(jìn)行分析、存貯、打印等。
數(shù)據(jù)庫(kù)管理模塊 主要完成數(shù)據(jù)的管理。“導(dǎo)彈武器資料”用于管理所要評(píng)估導(dǎo)彈系統(tǒng)的各項(xiàng)指標(biāo)數(shù)據(jù),允許管理員用戶(hù)建立新的導(dǎo)彈型號(hào)數(shù)據(jù)庫(kù);“評(píng)估結(jié)果”用于管理評(píng)估結(jié)果,可以將本次的評(píng)估數(shù)據(jù)寫(xiě)入導(dǎo)彈武器資料庫(kù)作為訓(xùn)練樣本,并可以記錄達(dá)到評(píng)估目標(biāo)所采用的神經(jīng)網(wǎng)絡(luò)參數(shù),作為以后評(píng)估的參考。
接口模塊 完成不同模塊之間的數(shù)據(jù)交換。“數(shù)據(jù)庫(kù)接口”完成對(duì)數(shù)據(jù)庫(kù)的操作;“Matlab接口”完成對(duì)Matlab引擎的調(diào)用。
幫助模塊 為用戶(hù)提供系統(tǒng)幫助及使用說(shuō)明。
2 關(guān)鍵技術(shù)
導(dǎo)彈武器戒備率評(píng)估系統(tǒng)涉及多種型號(hào)的導(dǎo)彈武器系統(tǒng)評(píng)估,在準(zhǔn)確性、安全性、快速性、可操作性上有較高的要求。因此在開(kāi)發(fā)的過(guò)程中涉及的關(guān)鍵技術(shù)主要有:人工神經(jīng)網(wǎng)絡(luò)評(píng)估方法、數(shù)據(jù)庫(kù)技術(shù)、混合編程技術(shù)。
2.1 人工神經(jīng)網(wǎng)絡(luò)評(píng)估方法
導(dǎo)彈武器的戒備率評(píng)估涉及到大量不確定的因素,為了進(jìn)行評(píng)估,從系統(tǒng)分析著手,采用層次分析法分析了影響導(dǎo)彈武器系統(tǒng)進(jìn)入戒備狀態(tài)的主要因素,并廣泛征求專(zhuān)家意見(jiàn),得到戒備率評(píng)估的指標(biāo)體系,即戒備率的評(píng)估模型。
評(píng)估的模型與方法之間呈現(xiàn)相互支持、相互依賴(lài)的關(guān)系[2]。一方面,評(píng)估中得到的數(shù)據(jù)要由評(píng)估模型來(lái)處理;另一方面,評(píng)估模型的評(píng)估方法在運(yùn)用中得到體現(xiàn)。常用的評(píng)估方法主要有[3]:層次分析法(AHP)、模糊綜合評(píng)判法、ADC法、SEA 法、指數(shù)法、人工神經(jīng)網(wǎng)絡(luò)評(píng)估法等。
依據(jù)導(dǎo)彈武器系統(tǒng)的復(fù)雜性,要求評(píng)估方法必須具備強(qiáng)大的處理非線性運(yùn)算的能力;指標(biāo)體系中某些參數(shù)獲取的困難性,要求評(píng)估方法能夠并行地處理模糊數(shù)據(jù)和精確數(shù)據(jù);執(zhí)行任務(wù)的條件具有多變性,要求評(píng)估方法有自適應(yīng)性。由于戒備率評(píng)估的如上特點(diǎn),系統(tǒng)選用了人工神經(jīng)網(wǎng)絡(luò)的評(píng)估方法。因?yàn)槿斯ど窠?jīng)網(wǎng)絡(luò)是一個(gè)非線性自適應(yīng)系統(tǒng),從理論上講,能夠以任意精度逼近任意復(fù)雜的非線性函數(shù)[4],自身具有一定的“學(xué)習(xí)”和“進(jìn)化”能力,可以克服系統(tǒng)環(huán)境和各項(xiàng)指標(biāo)的不斷變化,使戒備率評(píng)估的知識(shí)庫(kù)不斷的完備更新,獲得最佳的評(píng)估效果。
人工神經(jīng)網(wǎng)絡(luò)評(píng)估的原理如下:首先將評(píng)估的指標(biāo)進(jìn)行歸一化處理,將其處理成可供神經(jīng)網(wǎng)絡(luò)訓(xùn)練的輸入樣本,在部隊(duì)進(jìn)行戰(zhàn)備等級(jí)轉(zhuǎn)換時(shí)得到相應(yīng)條件下導(dǎo)彈武器系統(tǒng)實(shí)際戒備率作為神經(jīng)網(wǎng)絡(luò)的輸出,用足夠多的樣本訓(xùn)練網(wǎng)絡(luò),使網(wǎng)絡(luò)獲取各項(xiàng)指標(biāo)對(duì)戒備率的影響程度以及專(zhuān)家的知識(shí)經(jīng)驗(yàn)。訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)可以根據(jù)評(píng)估對(duì)象的各項(xiàng)指標(biāo)屬性值,再現(xiàn)出專(zhuān)家的知識(shí)經(jīng)驗(yàn)及不同指標(biāo)對(duì)戒備率的影響程度,實(shí)現(xiàn)定性與定量的有效結(jié)合。
訓(xùn)練樣本的獲取是人工神經(jīng)網(wǎng)絡(luò)評(píng)估方法實(shí)現(xiàn)的關(guān)鍵,在戒備率的底層評(píng)價(jià)指標(biāo)中,有的可以用確定的表達(dá)式描述(如可靠性),通過(guò)數(shù)值計(jì)算得到精確的數(shù)值結(jié)果;而有些指標(biāo)只能通過(guò)定性的評(píng)估(如人員反應(yīng)能力),這些數(shù)據(jù)采用德?tīng)柗品ǐ@得。對(duì)于定量指標(biāo),其性質(zhì)和量綱也不相同,可以將定量指標(biāo)分為三種類(lèi)型[5],即越大越好型、越小越好型和具有最佳值型。由于各種指標(biāo)的量綱和性質(zhì)不同,造成各指標(biāo)的不可共度性,指標(biāo)需進(jìn)行合理的歸一化處理,首先必須建立諸因素與戒備率的隸屬函數(shù),以不同因素的隸屬作為神經(jīng)網(wǎng)絡(luò)的輸入值,將各輸入單元?dú)w一化到(0,1)的區(qū)間內(nèi)[6] 。
2.2 數(shù)據(jù)庫(kù)技術(shù)
導(dǎo)彈武器系統(tǒng)是一個(gè)復(fù)雜系統(tǒng),對(duì)其進(jìn)行戒備率評(píng)估所需要的訓(xùn)練樣本數(shù)據(jù)以及在評(píng)估過(guò)程中產(chǎn)生的中間數(shù)據(jù)量較大,并且要求數(shù)據(jù)處理的安全性很高。為了提高數(shù)據(jù)處理的效率,保證數(shù)據(jù)的安全,選用了數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)技術(shù)是針對(duì)數(shù)據(jù)組織和管理的技術(shù),數(shù)據(jù)庫(kù)方式數(shù)據(jù)處理的整體化、信息化、隱藏化、安全化等特點(diǎn)使數(shù)據(jù)的分析和評(píng)估簡(jiǎn)單易行。
應(yīng)用程序?qū)?shù)據(jù)庫(kù)的訪問(wèn)采用ADO.NET接口。ADO.NET可以有效地從數(shù)據(jù)庫(kù)的操作中將數(shù)據(jù)的訪問(wèn)分解為多個(gè)單獨(dú)使用或串聯(lián)使用的連續(xù)組件[7],通過(guò)ADO.NET可以方便地完成對(duì)數(shù)據(jù)庫(kù)的復(fù)雜操作。
由于部隊(duì)實(shí)際條件的限制,系統(tǒng)可能無(wú)法遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù),所以在數(shù)據(jù)庫(kù)的訪問(wèn)上采用兩種方案。
第一種方案是客戶(hù)端可以遠(yuǎn)程訪問(wèn)服務(wù)器,其連接字符串為:
\"Provider=SQLOLEDB;Persist Security Info=True;Data Source=SQLName;Initial Catalog=DbaseName;User Id=ID;Password =PWD;\"
第二種方案是客戶(hù)端不能遠(yuǎn)程訪問(wèn)服務(wù)器,其連接字符串為:
\"Data Source=.\\\\SQLName;AttachDbFilename =|DataDirectory|\\\\DbaseName.mdf;Integrated Security=True;User Instance=True\"
其中:Data Source為SQL服務(wù)器名稱(chēng);Initial Catalog為數(shù)據(jù)庫(kù)名稱(chēng);AttachDbFilename為數(shù)據(jù)庫(kù)的相對(duì)路徑。當(dāng)客戶(hù)端不能遠(yuǎn)程訪問(wèn)服務(wù)器時(shí),需要在安裝文件中添加數(shù)據(jù)庫(kù)。
2.3 混合編程技術(shù)
系統(tǒng)的用戶(hù)界面是采用.NET平臺(tái)下C#開(kāi)發(fā)的,.NET平臺(tái)是微軟公司推出的一種面向網(wǎng)絡(luò),支持各種終端的開(kāi)發(fā)環(huán)境平臺(tái)。利用該平臺(tái)開(kāi)發(fā)的系統(tǒng)具有界面友好,執(zhí)行速度快,易于維護(hù)等特點(diǎn),可以生成可執(zhí)行文件,保護(hù)算法和數(shù)據(jù),具有較好的安全性。但是它對(duì)數(shù)學(xué)計(jì)算的支持不夠,文中所采用的人工神經(jīng)網(wǎng)絡(luò)的算法用其實(shí)現(xiàn)較為復(fù)雜,而Matlab是一套高性能的數(shù)值計(jì)算和可視化軟件,具有專(zhuān)門(mén)的神經(jīng)網(wǎng)絡(luò)工具箱,內(nèi)含大量可以設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)模型[8],通過(guò)C#.NET設(shè)計(jì)用戶(hù)界面,Matlab實(shí)現(xiàn)后臺(tái)算法,提高了編程的效率。C#.NET與Matlab的接口主要有以下幾種[9],即利用Matlab自身的編譯器Matlab Complier,利用COM或NET技術(shù),利用C-MEX、利用Mideva的平臺(tái)、利用Matlab的引擎技術(shù)。其中,只有Matlab引擎技術(shù)支持調(diào)用神經(jīng)網(wǎng)絡(luò)工具箱,所謂Matlab引擎技術(shù)指Matlab提供的接口函數(shù)。通過(guò)這些接口函數(shù),C#.NET可以完成對(duì)Matlab通過(guò)引擎方式的調(diào)用。戒備率評(píng)估系統(tǒng)會(huì)打開(kāi)一個(gè)新的Matlab進(jìn)程,可以控制它調(diào)用神經(jīng)網(wǎng)絡(luò)工具箱,完成戒備率的評(píng)估。C#.NET調(diào)用Matlab引擎技術(shù)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的過(guò)程如圖2所示[10]。
在C#.NET編程環(huán)境中,使用Matlab引擎,首先需要安裝Matlab軟件;然后添加COM,引用“Matlab Application Type Library”;之后就可以實(shí)例化引擎對(duì)象。因?yàn)?NET語(yǔ)言與Matlab語(yǔ)言的數(shù)據(jù)類(lèi)型不同,為了完成兩種數(shù)據(jù)的自動(dòng)交換,還需要添加對(duì)MWArray類(lèi)庫(kù)的引用。數(shù)據(jù)的交換主要采用Matlab引擎提供的三個(gè)接口:Execute,PutFullMatrix,GetFullMatrix;分別實(shí)現(xiàn)運(yùn)行腳本,向Matlab Server中添加矩陣,從Matlab Server中讀取矩陣的功能,通過(guò)上述三個(gè)接口函數(shù)就可以完成.NET對(duì)Matlab引擎的調(diào)用。
圖2 C#.NET調(diào)用Matlab引擎技術(shù)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)
由于神經(jīng)網(wǎng)絡(luò)的初始參數(shù)是由經(jīng)驗(yàn)推斷的,很難滿足精度的要求,需要根據(jù)訓(xùn)練的效果進(jìn)一步調(diào)整。為了能夠輔助評(píng)估人員快速找到最佳參數(shù),系統(tǒng)采用如下的解決方案:在諸多參數(shù)調(diào)解中,隱層神經(jīng)元個(gè)數(shù)和學(xué)習(xí)步長(zhǎng)這兩個(gè)參數(shù)對(duì)評(píng)估的效果影響最大,首先由評(píng)估人員根據(jù)經(jīng)驗(yàn)給定兩個(gè)參數(shù)的區(qū)間,以及迭代的步長(zhǎng),由系統(tǒng)逐次迭代選擇相對(duì)最優(yōu)值,而后在其附近減小迭代的步長(zhǎng),進(jìn)行進(jìn)一步優(yōu)化,如果誤差較大,調(diào)整參數(shù)直至達(dá)到評(píng)估要求。
2.4 系統(tǒng)實(shí)現(xiàn)
為了實(shí)現(xiàn)這些功能,系統(tǒng)編程語(yǔ)言選用C#.NET,數(shù)據(jù)庫(kù)采用Microsoft SQL Sever 2005,利用ADO.NET對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),通過(guò)Matlab引擎技術(shù)完成對(duì)神經(jīng)網(wǎng)絡(luò)工具箱的調(diào)用,程序流程如圖3所示。
圖3 程序流程圖
達(dá)到神經(jīng)網(wǎng)絡(luò)的評(píng)估目標(biāo)后,將網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)保存到數(shù)據(jù)庫(kù),得到不同時(shí)間節(jié)點(diǎn)戒備率的評(píng)估值。為了更直觀地顯示戒備率的變化情況,系統(tǒng)采用圖形設(shè)備接口(GDI+)繪制出戒備率的實(shí)時(shí)變化圖,系統(tǒng)運(yùn)行效果如圖4所示。
圖4 運(yùn)行效果圖
3 結(jié) 語(yǔ)
戒備率評(píng)估系統(tǒng)的開(kāi)發(fā)主要考慮幾個(gè)方面的問(wèn)題,易用性、快速性與準(zhǔn)確性。該系統(tǒng)采用C#.NET開(kāi)發(fā)的用戶(hù)交互界面,界面友好,操作簡(jiǎn)單方便;采用數(shù)據(jù)庫(kù)技術(shù)保證了數(shù)據(jù)管理的效率和安全性;利用人工神經(jīng)網(wǎng)絡(luò)的評(píng)估方法,可以最大程度地適應(yīng)評(píng)估環(huán)境的變化,得到準(zhǔn)確的評(píng)估值;調(diào)用Matlab神經(jīng)網(wǎng)絡(luò)工具箱,提高了編程的效率,簡(jiǎn)化了評(píng)估的程序,縮短了評(píng)估的時(shí)間。該系統(tǒng)不僅可以為指揮員的作戰(zhàn)決策,導(dǎo)彈的作戰(zhàn)使用提供參考依據(jù),還可以作為新型導(dǎo)彈研制的輔助工具。
參考文獻(xiàn)
[1]朱坤嶺,汪維勛.導(dǎo)彈百科辭典[M].北京:宇航出版社,2001.
[2]李志猛.基于SEA的效能評(píng)價(jià)方法研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2003.
[3]牛作成,吳德偉,雷磊.軍事裝備的評(píng)估方法探究[J].電光與控制,2006,13(5):98-101.
[4]朱大奇,史慧.人工神經(jīng)網(wǎng)絡(luò)原理及應(yīng)用[M].北京:科學(xué)出版社,2006.
[5]高彬,郭慶豐.BP神經(jīng)網(wǎng)絡(luò)在電子戰(zhàn)效能評(píng)估中的應(yīng)用[J].電光與控制,2007,14(1):69-71.
[6]王杰貴,崔宗國(guó).雷達(dá)干擾決策的模糊綜合評(píng)估[J].電子對(duì)抗,1997(1):22-28.
[7]繆勇,李新峰,付志濤.Visual C#學(xué)習(xí)筆記[M].北京:電子工業(yè)出版社,2008.
[8]董長(zhǎng)虹.Matlab神經(jīng)網(wǎng)絡(luò)工具箱與應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2005.
[9]王素立,高潔,孫德新.Matlab混合編程與工程應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[10]黃一丹,嚴(yán)洪森,馮麗娟,等.基于C#.NET與Matlab接口和BP神經(jīng)網(wǎng)絡(luò)的汽車(chē)產(chǎn)量預(yù)測(cè)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(11):36-39.