摘要:筆者針對基于傳統(tǒng)DP求解的分配問題之具體特征,曾改變單位效益指數(shù)法[6]之關(guān)注角度,獨創(chuàng)性地提出了單位增益求解思想[1]。該文就該算法中的異點問題,從其定義和特征入手,對異點的諸多細節(jié)做了較為詳細的討論,從而豐富并完善了增益算法的相關(guān)內(nèi)容。
關(guān)鍵詞:運籌學(xué);DP;分配問題;單位效益算法;異點
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)17-0212-03
1 背景
在文獻[1]之單位增益算法中,筆者曾提到異點問題。雖然就給定實例而言,其增益的突變情況并沒有真正影響到優(yōu)化的最后結(jié)果,但我們可以理解,如果發(fā)生突變的數(shù)值幅度較大時,必然會對最后的結(jié)果產(chǎn)生直接影響。另外,倘若突變情況相對較少時,完全可以單獨針對這些突變數(shù)據(jù)點,作為資源分配著力點,一旦得到一個具體的資源分配方案,再將其與以該算法得到的方案做比較分析,擇其優(yōu)者,同樣可得到最優(yōu)解。因此,在單位增益整體上符合同網(wǎng)點數(shù)成反相關(guān)之情況下,若能找出個別突變情況,則可大大增強該算法的可靠性。鑒于篇幅所限,在文獻[1]中并未展開做詳細討論,本文將就異點問題做進一步分析。
2 增益算法簡介
不失一般性,不妨設(shè)n=6,m=4,此刻為各目標(biāo)分配不同資源數(shù)時的具體效益數(shù)據(jù),如下面的表1所示,試分析使總效益最大的資源資源分配最優(yōu)化方案。
表1 不同目標(biāo)分配不同資源(資源)數(shù)時的具體效益想定數(shù)據(jù)統(tǒng)計表
[分配不同資源數(shù)時的效益\&0(部)\&1(部)\&2(部)\&3(部)\&4(部)\&5(部)\&6(部)\&目標(biāo)1\&0\&15\&27\&36\&41\&43\&44\&目標(biāo)2\&0\&13\&23\&31\&37\&40\&42\&目標(biāo)3\&0\&11\&20\&28\&32\&35\&36\&目標(biāo)4\&0\&14\&25\&32\&39\&43\&46\&]
如果采用傳統(tǒng)的DP求解算法處理該問題,一般是通過分階段、定狀態(tài)、取決策、分析狀態(tài)轉(zhuǎn)換圖,再基于該圖按照從后向前的逆推思路來求解之,思路雖然十分清晰,而且也能得到最優(yōu)解,但算法的時間復(fù)雜度相當(dāng)不理想,效率甚低。為此,我們采用與貪心算法相類似的思路,從另外一個角度著手,從局部出發(fā)經(jīng)過一系列的最優(yōu)選擇進而得到整體最優(yōu)解。
我們知道,常規(guī)的DP求解以為各目標(biāo)分配資源的過程作為階段的劃分標(biāo)準(zhǔn),我們不妨將這種關(guān)注從目標(biāo)轉(zhuǎn)向資源,即將各個目標(biāo)看成是相對獨立的個體,轉(zhuǎn)而考慮分配每一個資源時的策略選擇,即考慮選擇將該資源分配給哪一個具體的目標(biāo)。顯然,此刻應(yīng)該知道分配每個資源給各目標(biāo)單位時,可使總的效益增益情況,我們選此刻的最大增益即可。于是,便需對表1之?dāng)?shù)據(jù)做適當(dāng)處理,不妨建立單位增益的最大化模型,構(gòu)建其對應(yīng)的單位增益矩陣如下所示:
接著再建立目標(biāo)函數(shù):
其中,S表示獲取的最大總利益,而pi表示給第i個目標(biāo)分配了pi個網(wǎng)點。顯然,第j臺資源是建立在已有j-1臺資源的基礎(chǔ)上的。規(guī)定ai0=0,表示不給目標(biāo)i分配資源時,其效益自然為零。
容易證明,此目標(biāo)函數(shù)與DP傳統(tǒng)求解時的目標(biāo)函數(shù)等價。
我們在參考文獻[1]中,假設(shè),
Li =(ai1,ai2,ai3,…,ain);Cj =(a 1j,a 2j,a 3j,…,a mj)T;
又用P =(p1,p 2,…,p m)表示分配策略向量,即給不同的目標(biāo)分配以不同的資源數(shù);
而,Dr = {di|di∈Li }為增益方案之集合,就是說在為第r臺資源確定了它的目標(biāo)歸屬之后,再為其多分配1臺資源時,可能可獲得的增益數(shù)值。
于是,基于單位增益思想的算法求解過程,就可以描述如下:
第1步:初始化。P =(p1,p 2,…,p m); Dr = {di|d i∈Li },r = 1;S=0;
第2步:取Dr集合中最大元素,記為M,并取下標(biāo)q,pq = pq+1,S=S+d q,r=r+1;
第3步:若r 第4步:顯示并輸出向量P與S。 就上面的想定示例數(shù)據(jù)模型來說,其對應(yīng)的單位增益矩陣如下所示: 通過單位效益求解算法,可得最優(yōu)分配方案為P*6 =(2,1,1,2),即分別為目標(biāo)1,2,3,3分配資源2臺,1臺,1臺,2臺,如此可使得總效益值達到最大,總效益值為76。具體過程從略,可參考文獻[1,6,8]。通過與單位效益指數(shù)法的求解結(jié)果,以及和使用傳統(tǒng)的DP思想之求解結(jié)果的相互比較,容易理解該算法之有效性[1]。 3 異點分析 3.1 異點定義 就前面給定的想定示例數(shù)據(jù)來說,增益算法確實得到了該問題的最優(yōu)分配方案,而且算法思路也很清晰,運算比較簡單,收斂速度很快。但是,容易看出該求解算法依然弊端顯的。仔細分析上述想定示例的資源分配具體過程,就容易發(fā)現(xiàn)單位增益矩陣有明顯的特殊性。就是說,對于同一個目標(biāo)來講,在整體上單位增益數(shù)值同資源數(shù)是成相對溫和的反相關(guān)趨勢的,如下面的圖1和圖2所示。容易看出,較圖2而言,圖1實質(zhì)上強化了反相關(guān)的變化趨勢,所以,后續(xù)敘述中將盡量采用單位增益數(shù)據(jù)之反相關(guān)數(shù)據(jù)來做分析。 仔細觀察圖1中的第4行數(shù)據(jù)變化情況,不難看出,在分配數(shù)分別為3和4時,增益數(shù)值是一樣的,故曲線在該范圍內(nèi)呈水平狀態(tài),這便是一種相對溫和的異常情況。雖然本例之增益變化情況并未影響最后的結(jié)果,但容易理解,如果變化的趨勢發(fā)生局部突變,甚至存在著正相關(guān)等異常情況,必然會對最后的結(jié)果產(chǎn)生直接影響。我們稱這些反相關(guān)趨勢中的異常情況為異點。 3.2 異點特征分析
按數(shù)據(jù)模型中所包含的異點數(shù)量,可將模型劃分為單異點模型和多異點模型兩大類。
異點突變的方向可以為正,亦可為負(fù),即突然大幅度地增加或說減少。以此為依據(jù),可將突然增加的異點稱之為正異點,將突然大幅度減少異點稱之為負(fù)異點。
一般情況下,呈水平變化趨勢的異點,對單位增益求解算法的影響不大,甚至可忽略不計,因此,可將其稱之為虛異點,而將那些確實有明顯變化的異點稱之為實異點。我們后面將重點討論實異點。
例如,在圖3所示之增益數(shù)據(jù)模型就是個典型的多異點模型,其中第1行在位置4處,第2行在位置5處,第4行在位置5處均存在異點,且第3個異點還是虛異點。
而圖4所示之增益數(shù)據(jù)模型則是個典型的連續(xù)異點分布情況,其中第1行在位置4和5兩處,均超過位置3的值,與負(fù)相關(guān)規(guī)律不符。而在第4行在位置3處和位置5處,均超過其前一位置的值,也存在異常。
3.3 異點定位
其實,存在異點并不意味著分配方案就一定得做修改,還需要同已求得的結(jié)果做比較分析,但首要任務(wù)是判定模型中異點的存在、位置、數(shù)量和分布情況。一般地,就前面的單位增益矩陣而言,如果aij≤aij+1,則a ij就是異點。當(dāng)aij 經(jīng)該異點定位函數(shù)處理之后,各異點的位置和屬性保存在全局?jǐn)?shù)組ab_position中,其中,第1列存異點所在行,第2列存所在列,第3列存其類型,且0為虛異點,1為實異點。 其中,ZengYi_D用以存儲增益數(shù)據(jù)模型數(shù)據(jù),是個二維數(shù)組;Lines存儲增益數(shù)據(jù)模型的行數(shù),初值為0; Cols存儲增益數(shù)據(jù)模型的列數(shù),初值為0;ab_position用以保存異點的位置和屬性,也是個二維數(shù)組,各列數(shù)值分別為異點所在行、列和虛實屬性。Count_abnormals保存定位處理完成后,確定的異點個數(shù)。假設(shè)增益數(shù)據(jù)模型數(shù)據(jù)如圖5所示,則其異點定位結(jié)果如圖6所示。 3.4 負(fù)值與正相關(guān) 當(dāng)增益模型中出現(xiàn)負(fù)值時,可對該矩陣之所有數(shù)據(jù)均加上該負(fù)值的絕對值,便可將整個矩陣變成正值,然后再按前述方法做相應(yīng)處理即可。當(dāng)然,求解完成后,尚需對其做還原處理。不過,基于求分配模式最優(yōu),而非最后的效益值之考慮,即使不還原亦無不可。 通過前面的分析我們知道,異點定位在一定程度上彌補了局部出發(fā)求解可能造成的結(jié)果不準(zhǔn)確之現(xiàn)象(此即瞎子摸象),它只能得到一個近憂解的不足。若突變情況相對較少,亦可單獨以異點落腳分配,求解后再與正常方案做比較,擇其優(yōu)者有效。因此,在單位增益整體上符合同網(wǎng)點數(shù)成反相關(guān)之情況下,若能找出個別突變情況,則可增強算法的魯棒性。 我們強調(diào)增益算法適用于對于同一目標(biāo)分配資源時,增益模型整體上符合同資源數(shù)呈溫和的反相關(guān)之情況。其實,在現(xiàn)實生活中還應(yīng)存在著正相關(guān)的情況,此刻效益追求與資源保障完全相一致,但已無研究之必要,故本文暫且從略,不再贅述。 模型的適用與否,與增益的正相關(guān)還是反相關(guān)性無關(guān),而僅僅與模型數(shù)據(jù)的趨勢是否穩(wěn)定有關(guān),所以,最后總是可以歸結(jié)到對異點的分析和處理上來。當(dāng)然,對分配問題來說分配效益有規(guī)可循的實際意義也相對更大些。 另外,基于增益算法倘若增加分配資源規(guī)模,則可以該算法之中間結(jié)果為基礎(chǔ)繼續(xù)計算。倘若采用傳統(tǒng)的DP處之,則必須從分階段、定狀態(tài)并取決策開始做分配處理,這也是從局部出發(fā)相較從整體出發(fā)的優(yōu)勢。 鑒于水平所限,不妥和錯誤之處難免,敬請各位讀者批評指正。 參考文獻: [1] 曹迎槐. 基于單位增益最優(yōu)化的DP求解算法[J]. 電腦知識與技術(shù), 2014(8). [2] 曹迎槐. 防空兵火力分配賦零算法[J]. 現(xiàn)代兵種, 2000(11). [3] Waltz E,Lines J. Multisensor Data Fusion[M]. Ariech Hoase,inc,1989. [4] 曹迎槐. 單位效益指數(shù)法初探[C. 第十屆軍事系統(tǒng)工程年會, 2000, 10. [5] Przemieck J S. Introduce to mathematical Methods in Defense Analysis[C]. 1985. [6] 曹迎槐. 關(guān)于分配問題的一種新解法[J]. 計算機與現(xiàn)代化, 2009(3). [7] 錢頌迪. 運籌學(xué)[M]. 北京: 清華大學(xué)出版社, 1993. [8] 曹迎槐. 軍事運籌學(xué)[M]. 北京: 國防工業(yè)出版社, 2013.