吳 瑩,彭軼軒,鄭婉文,徐成成,周獻中,2,馮少沖
(1.南京大學工程管理學院,南京210093;2.南京大學智能裝備新技術研究中心,南京210093;3.陸軍工程大學石家莊校區(qū)裝備模擬訓練中心,石家莊050003)
裝備維修保障是為了使裝備保持、恢復、改善規(guī)定的技術狀態(tài)實施的全部活動[1],維修保障資源是其重要組成部分。裝備維修保障資源是指維修裝備需要的物質資源、人力資源等各類資源的統(tǒng)稱,是構成裝備維修保障系統(tǒng)的重要基礎。其中,維修物質資源主要指裝備實施維修所需消耗、補充的各種物質資源,如備件、原材料,以及所需的工具、設備、設施等。維修人力資源主要是指實施裝備維修保障的各種相關人員,包括人員的數(shù)量、專業(yè)特長與技術等級。裝備維修保障過程中涉及大量的資源,如何合理地調度與優(yōu)化維修資源,使維修資源充分發(fā)揮作用,是裝備維修保障所必須解決的一個重要問題。
隨著裝備技術復雜程度增加等因素影響[2?4],裝備使用的復雜性和專業(yè)性越來越強,裝備維修頻繁等問題越來越明顯,裝備的完備性受到顯著影響。目前軍隊管轄的武器裝備眾多,而維修保障資源有限,裝備資源分配和調度面對的困難和挑戰(zhàn)越來越多。
面向任務的資源維修配置方法是一種新型的維修資源配置方法,主要是針對具體維修任務,在確定的任務需求及資源供給的條件下優(yōu)化資源配置方案,更適用于戰(zhàn)爭環(huán)境[5]。在未來信息化戰(zhàn)場上,面對具體維修任務,資源快速調度與配置需求十分迫切,合理調度維修資源、制定維修方案、恢復裝備戰(zhàn)斗力是要解決的關鍵問題,因此本文重點研究面向任務的裝備維修保障資源配置問題。在新形勢下,面向任務的維修資源調度優(yōu)化技術水平是衡量裝備戰(zhàn)斗力和完好性的重要因素。
很多專家學者對裝備維修保障開展了研究。郭小威等建立了一種最大化任務可用度的非線性整數(shù)規(guī)劃模型[6]。于風竺等開展了根據(jù)任務的優(yōu)先級進行面向任務的艦船裝備維修保障資源優(yōu)化配置研究[7]。冉悄然等以維修人員為對象,研究了面向復雜任務的裝備修人員仿真評估[8]。
針對資源與任務匹配方面,很多學者也開展了相關研究工作。何巍等在服務架構理論基礎上,構建了云制造多任務調度流程[9]。Levi等以最小化維修費用為目標構造了針對空軍飛機模塊化系統(tǒng)的維修任務調度模型及算法[10]。Safari等針對流水車間機器維修任務調度提出了多目標函數(shù)動態(tài)搶占調度的思想[11]。Zhu等提出了一種基于E?CARGO的資源配置模型,對基于角色的協(xié)同問題開展了研究工作[12?13]。
以上學者對面向任務的裝備維修及資源調度問題開展了豐富的研究工作,但是對面向任務的裝備維修保障資源配置方法多數(shù)具有一定局限性,如何便捷、高效、合理地為裝備維修任務匹配資源依然是目前需要研究的重點問題。
遺傳算法[14]是一種應用非常廣泛的智能算法,其主要思想是基于達爾文進化論與孟德爾遺傳學說,通過讓種群“優(yōu)勝劣汰”,模擬大自然適者生存的自然法則,來在可行空間中搜索最優(yōu)解。遺傳算法具有強大的全局最優(yōu)搜索能力、良好的信息處理能力,并且具有較好的魯棒性和適應性,因而成為一種應用非常廣泛的求解方法[15]。
本文主要針對面向任務的裝備維修保障資源配置問題,在對維修任務進行系統(tǒng)描述和分解的基礎上,構建了面向維修任務的資源配置模型,并通過遺傳算法進行合理、有效求解,同時在遺傳算法設計上嵌入了有限選擇的隨機替換模塊,避免了維修資源的重復分配。對于未來信息化戰(zhàn)場上的裝備維修資源保障輔助決策提供了重要參考。
資源配置是裝備維修保障的重要組成部分,裝備維修保障資源調度是裝備維修保障作業(yè)實施的基本依據(jù),需要統(tǒng)籌安排資金、場地、器材、人員等大量資源,對快速修復故障設備、恢復軍隊戰(zhàn)斗力具有至關重要的作用。本文著重考慮戰(zhàn)時狀態(tài)下面向任務的裝備維修保障資源配置問題。
維修任務是指為使裝備恢復正常使用能力而采取的相關作業(yè)的組合。面向任務的裝備維修保障建模需要根據(jù)裝備的故障情況和使用需求自上而下進行任務分解,逐步從整個裝備的維修任務分解到具體進行維修操作的原子任務,建立全裝備任務層次模型,分解過程如圖1所示。原子任務為可調用維修資源的最小單位。整個維修任務分解的層級根據(jù)不同的維修部件可能會有所差別,有的維修任務可直接分解為原子任務,有的可能要進行多個層級的分解才可以分解到原子任務。

圖1 面向任務的裝備維修保障模型分解圖Fig.1 Decomposition diagram of task-oriented equipment maintenance support model
維修任務可能是多樣的,所需要的器材、備件、場地和維修人員可能也不盡相同,原子任務確定以后,與之匹配的維修資源也確定下來。考慮到裝備維修現(xiàn)實情況,維修資源往往是有限的,一個資源可能可以服務多個原子任務,也可能只能服務于一個原子任務。例如同一個維修隊,既可以維修發(fā)動機,也可以維修液壓器,而另一個維修隊只能維修液壓器,沒有能力維修發(fā)動機。同一資源在不同任務上發(fā)揮的效益可能存在差異,例如一個技術人員可以快速地維修好發(fā)動機和維修液壓器,另一個維修人員維修液壓器效果很好,維修發(fā)動機可能會很慢。在此條件下,如何進行資源的優(yōu)化配置,使維修保障整體工作取得最高的效益是亟需解決的重要問題。
裝備維修保障資源優(yōu)化配置過程中,需要以配置方案綜合效益最高為目標,充分考慮到資源與任務的匹配度,通過便捷的方式形成合理的資源調用方案用于裝備維修,以快速恢復裝備戰(zhàn)斗力。面向任務的裝備維修保障資源配置問題可以描述為維修任務確定的情況下,任務需求與資源供給的最優(yōu)匹配問題。
戰(zhàn)時條件下,裝備維修的任務應是明確的,本文研究的即是在明確維修任務的情況下,如何高效配置維修資源。維修資源可以是維修的人員、設備、配件等。本文將維修資源編制成資源組,資源組可以只包括一項資源,也可以是幾項不同資源的組合。面向任務的裝備維修保障資源配置的目的是以最小的代價、最高的效益為維修任務配置資源,該效益可以是維修時間最短、維修費用最低或維修效果最好等,也可以是綜合效益。根據(jù)以上問題描述及分析,對面向任務的裝備維修保障資源配置問題進行建模,為了便于問題描述,本文做出如下定義。
定義1 裝備維修任務用字母A表示。假設裝備發(fā)生故障,因而產(chǎn)生多個維修任務,經(jīng)過分解,最后需要維修的原子任務有m項,則維修任務集 合 即 為 原 子 任 務 集 合,為A={a1,a2,…,am}。例如在戰(zhàn)時狀態(tài),一臺雷達發(fā)生故障,經(jīng)檢查發(fā)現(xiàn)其故障部位分別為發(fā)動機和顯示器,需要維修發(fā)動機和更換顯示器,進一步檢查發(fā)現(xiàn)發(fā)動機的問題出現(xiàn)在活塞和曲軸箱上,需要對活塞和曲軸箱分別進行維修。則該裝備維修任務最后分解為維修發(fā)動機活塞、維修發(fā)動機曲軸箱和更換顯示器3個原子任務。
定義2 維修資源組用字母R表示。針對維修任務,可以有n個資源組用于配置完成任務,則維修資源集合為R={r1,r2,…,rn}。例如在上例中,需要分配人員和器材來對設備進行維修,將每一套維修人員及其所管理的設備組成一個資源組,在軍隊中往往以維修隊的方式開展裝備維修工作,則可參考軍隊的維修隊配置分為若干個資源組。如果器材是可以隨意取用的,也可僅將維修人員作為資源組進行分配,一個或若干可協(xié)同合作的人組成資源組,用于完成維修任務。
定義3 將資源組與原子任務的匹配關系用分配矩陣M表示,矩陣數(shù)值用mij表示。對于一個有m個原子任務、n個資源組的裝備維修任務,M應為n行m列的矩陣。矩陣取值為0或1,其中mij=0,表示第ri項資源組未分配給原子任務aj;mij=1,表示第ri項資源組分配給原子任務aj使用,分配矩陣M可表示為

定義4 將每個資源組分配給某項原子任務產(chǎn)生的效益用效益矩陣B表示。對于一個有m個原子任務、n個資源組的裝備維修任務,B應為n行m列的矩陣,矩陣數(shù)值用bij表示。根據(jù)裝備維修現(xiàn)實情況,所有效益值均取非負值,取值為0表示該資源組不能用于相應的維修任務,數(shù)值越大表示該任務調用相應資源的效益越好,效益矩陣B可表示為

對于一組維修任務分配的資源,根據(jù)維修效益的不同類型,可能有不同的效益矩陣。例如可以將維修的時間、費用、效果等各項維修效益因素合并考慮,用綜合效益矩陣B表示資源分配后綜合維修效益。也可僅考慮維修時間效益,則有對應維修時間效益矩陣B1;僅考慮維修費用效益,則有對應維修費用效益矩陣B2;僅考慮維修效果效益,則有對應維修效果效益矩陣B3。

在裝備維修保障原子任務產(chǎn)生后,需要調用資源完成相應的任務,則完成維修保障任務的最大效益值為

F即為裝備維修保障資源配置的總收益,式(1)則為該模型的目標函數(shù)。
本文假設每個任務調用一種資源組,考慮到軍隊維修實際情況,每個資源組同一時間只能用于完成一項任務,所有資源組不必全部被調用,且為保證所有任務都有資源與其匹配,資源組數(shù)量應不少于任務數(shù),則有以下約束條件

本文采用遺傳算法求解以上問題。首先找出并保留最優(yōu)個體,然后基于輪盤賭的形式選擇優(yōu)良個體,再對種群染色體進行交叉和變異,直至循環(huán)到設定的迭代次數(shù)。基于輪盤賭的形式可以使適應度值大的個體有更大概率能被選擇作為父代個體來生成新個體,有利于保留種群中的優(yōu)良個體。在算法運行過程中,每次迭代都將最優(yōu)個體保留,有利于種群快速優(yōu)化。
在本文中,為了更加高效解決資源配置的實際問題,采用了實數(shù)編碼的方式,種群中的每一個染色體表示一種資源組分配方案,染色體長度等于原子任務數(shù)量。實數(shù)編碼避免了編碼和解碼的過程,在任務數(shù)量及資源組數(shù)量比較多的情況下,實數(shù)編碼的方式使遺傳算法更接近問題空間,能夠有效提高算法運行效率。
在算法設計過程中,考慮到戰(zhàn)時實際狀態(tài),每個資源在同一時間內(nèi)不應該配置給不同任務使用,因此在算法設計中嵌入了有限選擇的隨機替換模塊,在每次交叉、變異結束后,對資源的重復利用情況進行判定,將重復分配的資源替換成為未被分配過的資源,且每個資源僅分配給一項任務,再進行下一輪的基因選擇。通過這一方法有效避免的資源的重復分配,提高了資源配置的合理性和完成維修任務的整體效能。
2.2.1 種群設置
遺傳算法采用種群搜索技術,種群代表一組問題解,種群中的每個集體即為一個可行解,每個個體為一條染色體。種群數(shù)量的多少代表初始設定的個體數(shù)量的多少。種群數(shù)量太小,不能提供足夠樣本進行遺傳,不利于快速尋優(yōu);種群數(shù)量太大會增加計算復雜度。一般種群取值在10~200之間。
個體染色體編碼時,首先分解裝備維修任務至原子任務,并對原子任務進行編號,原子任務集合為A={a1,a2,…,am}。再 對 維 修 資 源 組 進 行 編號,維修資源組集合為R={r1,r2,…,rn}。將每組任務序列分別調用的資源組序列作為遺傳基因,采用實數(shù)編碼的形式,則種群染色體為C={cij|1≤i≤N,1≤j≤m},其中N表示初始種群中染色體個數(shù),m為維修任務數(shù),cij為第i條染色體的第j個基因,其數(shù)值為第j個維修任務調用的資源組編號。
2.2.2 適應度函數(shù)
在遺傳算法中,適應度函數(shù)是用來衡量一個解的好壞的,適應度函數(shù)一般是由目標函數(shù)線性變換得到的。本文以調度效能最優(yōu)作為優(yōu)化目標,因而采用個體目標函數(shù)值作為適應度值,適應度值越大說明資源配置方案的整體效能越好。
2.2.3 選擇操作
選擇操作是將適應度值高的個體以一定的概率遺傳到子代,其作用是避免有效基因的缺失,使高性能的基因遺傳到子代的概率更大,從而提高算法的全局收斂能力和運算效率,本文采用輪盤賭法來進行選擇操作。首先產(chǎn)生N個[0,1]之間的隨機數(shù),并順序排列,然后利用個體適應度值計算每個個體被選擇概率的累積和,與之前產(chǎn)生的隨機數(shù)進行比較,個體適應度值大小代表了被選擇的概率大小,個體適應度越大就越容易多次選中并保留;相反,個體的適應度值越小,被選擇的概率越小,越容易被淘汰。同時在本算法中引入精英保留策略,將父代種群中最優(yōu)的染色體直接放到子代種群中,被選擇的精英個體直接進入下次迭代,此種方式可以有效避免精英染色體的丟失,加快種群的收斂。
2.2.4 交叉操作
交叉操作是將群體中選中的兩個個體中的部分基因進行交叉重組,從而產(chǎn)生新的個體。通過交叉可以提高遺傳算法的搜索能力。交叉率為0~1之間的數(shù),較大的交叉率可以增強遺傳算法開辟新的搜索區(qū)域的能力,但群體遭到破壞的可能性也比較大,交叉率太小會使種群過于遲鈍,均不利于搜索最優(yōu)解。一般交叉率設置在0.25~1之間。
2.2.5 變異操作
變異操作是隨機選取一部分染色體上的部分基因,改變?yōu)槠渌牡任换颍儺惪梢员3秩后w的多樣性。變異率設置較低可以防止群體中重要基因的丟失,變異率設置較高將使遺傳算法趨于純粹的隨機搜索,不利于尋優(yōu)操作,所以變異率的選擇不宜太高,一般在0.001~0.1之間。
2.2.6 遺傳算法流程
本文中的遺傳算法流程如圖2所示,其具體步驟如下。

圖2 求解裝備維修資源配置方案的遺傳算法流程圖Fig.2 Flow chart of genetic algorithm for solving equip?ment maintenance resource allocation scheme
(1)確定初始值。確定群體個數(shù)為N;基因長度L為原子任務數(shù);確定交叉率Pc,變異率Pm,迭代次數(shù)G,資源組數(shù)量Num。
(2)開始迭代,計算適應度。計算出每條染色體的適應度值,適應度值為目標函數(shù)值。
(3)記錄適應度最高的個體,并保留。
(4)篩選優(yōu)良個體。基于輪盤賭的形式進行選擇,將較為優(yōu)良的個體保留在種群中,不良個體大概率被剔除掉。
(5)交叉。以Pc的概率隨機選擇交叉的染色體,對每對相鄰染色體偶數(shù)位基因進行交叉操作。
(6)變異。以Pm的概率對染色體進行變異,每條染色體的變異率也為Pm。
(7)基因重復性檢驗及修正。對染色體的基因配置情況進行檢驗,并對重復基因進行隨機不重復替換。將使用過的基因編碼用集合X進行標記,未使用過的基因編碼用集合Y進行標記,首先在每條染色體進行重復基因替換前,集合Y中基因隨機排序,進行替換操作時不再變動集合Y中基因順序。染色體中如果有重復的基因編碼,僅保留一個重復基因,其他基因依次從集合Y中順序選擇一個賦值。
(8)返回第(2)步,重新計算適應度,直至迭代次數(shù)達到G。
(9)算法結束,輸出最優(yōu)資源配置方案及適應度值。
計算得到的最優(yōu)資源配置方案記為Cmax,綜合效益最優(yōu)值為fmax。
假設在軍隊演練過程中,有1臺裝備發(fā)生故障,產(chǎn)生維修任務需求,分解后共產(chǎn)生10個原子任務,現(xiàn)在需要調用人員進行維修。目前有12個人可以開展維修工作,每項原子任務需要派一個人來完成。則每個維修人員即為一個資源組,每一項原子任務都需要有相應的資源組與其相匹配。在本例中,原子任務編碼為1~10,資源組編碼為1~12,在綜合考量維修時間、維修質量和維修成本的基礎上,每項資源組完成原子任務的綜合效益矩陣如表1所示。

表1 實例中維修任務對應資源組的效益值Table 1 Benefit values of the maintenance task corre?sponding to the r esource group in the example
根據(jù)以上實例,可得到維修效益矩陣為


3.2.1 實驗設置
根據(jù)上文設置的實驗算法和實驗數(shù)據(jù),應用遺傳算法求解最優(yōu)資源配置方案。本案例中,基因長度L=10,每個基因取值范圍為1~12。將種群大小設置為N=200,交叉率為Pc=80%,變異率為Pm=1%,迭代次數(shù)為G=200。根據(jù)完成每個維修任務調用資源效益值運行遺傳算法尋優(yōu)可以得到最優(yōu)維修策略為:Cmax=[2,4,9,5,3,7,11,12,10,1],綜合效益最優(yōu)值為fmax=94,迭代曲線如圖3所示。

圖3 遺傳算法運行后的適應度變化曲線Fig.3 Fitness curve of the genetic algorithm after operation
3.2.2 算法效能分析
(1)迭代次數(shù)對適應度的影響。
遺傳算法的迭代次數(shù)的選擇是對計算效果和計算時間權衡的結果。本節(jié)討論更改遺傳算法迭代次數(shù)對運算結果的影響,分別取不同迭代次數(shù),記錄運行后適應度值,每組運行50次取平均值,其他實驗條件與3.2.1節(jié)一致,結果如圖4所示。通過分析可以看出,在迭代達到150次以后,算法得到的種群適應度值基本達到最優(yōu)值94。

圖4 迭代次數(shù)與適應度值關系曲線Fig.4 Relationship between the number of iterations and fit?ness value
(2)種群大小對適應度的影響
初始種群大小代表了遺傳基因是否足夠豐富。如果初始種群比較少,則有的優(yōu)良基因片段可能難以被選中進入下輪的迭代中,或者不能高效獲得優(yōu)良染色體。本節(jié)討論更改種群大小對運算結果的影響,分別取不同種群大小,記錄運行后適應度值,每組運行50次取平均值,其他實驗條件與3.2.1節(jié)一致,結果如圖5所示。通過分析可以看出,在種群數(shù)量達到150以后,算法得到的種群適應度值基本達到最優(yōu)值94。

圖5 種群大小與適應度值關系曲線Fig.5 Relation between population size and fitness value
(3)交叉率和變異率對適應度的影響
交叉率和變異率對種群的收斂速度、優(yōu)良基因及染色體的保留也會產(chǎn)生較大影響。本節(jié)討論交叉率和變異率對運算結果的影響,分別取不同交叉率和變異率,記錄運行后適應度值,每組運行50次取平均值,迭代次數(shù)100次,其他實驗條件與3.2.1節(jié)一致,交叉率對適應度的影響如圖6所示。由圖6可看出,交叉率越高越容易得到適應度較高的值,交叉率達到0.4以后適應度值基本穩(wěn)定。

圖6 交叉率與適應度值關系曲線Fig.6 Relation between crossover rate and fitness value
變異率對適應度的影響如圖7所示。由圖7可看出,變異率越高越容易得到適應度較高的值,變異率達到0.06以后適應度值基本穩(wěn)定。

圖7 變異率與適應度值關系曲線Fig.7 Relation between variation rate and fitness value
(4)多目標情況下實例分析
假設在以上實例中,將時間效益、成本效益、質量效益分開考量,其對應的效益矩陣分別為



圖8 多目標條件下遺傳算法運行后的適應度變化曲線Fig.8 Fitness curve of genetic algorithm after operation un?der multi-objective condition
通過以上實例可以看出,本文可以很好地解決面向任務的裝備維修資源配置問題,并且在多目標條件下也依然適用,可以得到良好的配置方案,該實例仿真結果驗證了本文提出的模型算法的有效性和可行性。
本文對面向任務的裝備維修保障資源配置問題進行了描述,對維修任務進行了分解,并對資源配置方法進行了研究和建模,通過遺傳算法實現(xiàn)了對最優(yōu)資源配置策略的求解。本文在傳統(tǒng)遺傳算法的基礎上進行了改進,采用了實數(shù)編碼的形式,使問題空間更加清晰。在算法設計中針對現(xiàn)實情況下資源與任務的唯一性匹配問題,嵌入了有限選擇的隨機替換模塊,傳統(tǒng)遺傳算法相比,結果更為合理。本文同時研究了多目標條件下的資源優(yōu)化配置問題,為有效地解決面向任務的裝備維修資源配置問題提供了方法,為未來信息化戰(zhàn)場上面向任務的裝備維修資源保障輔助決策問題提供了重要參考。