基於預期耗時最少劃分的多人故障定位優化方法和系統
2024-04-15 13:16:05
1.本發明屬於多人故障定位領域,更具體地,涉及基於預期耗時最少劃分的多人故障定位優化方法和系統。
背景技術:
2.隨著裝備/系統的功能越來越強大、性能越來越先進,裝備/系統也變得越來越複雜。當複雜裝備/系統出現某個故障現象時,其背後可能的故障原因眾多,查找故障單元的工作量極為龐大。維修人員是一種重要的維修資源,為了能在規定時間內儘快找到故障件以便開展後續修理工作,需要配置一定數量的維修人員。
3.當由多名維修人員開展故障定位時,面臨的基本問題:每個人負責的單元如何劃分?這些單元的檢查順序如何確定?在一般來說,每人負責的單元不同、檢查順序不同,消耗的時間也不相同。當前,解決這兩個問題存在著兩種方式:一是依靠維修人員的個人經驗來回答,此時的故障定位方案質量受人為影響較大,難以穩定地獲得高質量的方案;二是以遍歷為主要手段,結合其他優化技術搜索得到優化方案。這種方式尤其適合於待檢查的單元總數量不是太大的時候。檢查次序本質上屬於排列問題,因此當單元數量為n時,基於遍歷的計算複雜度是n的階乘(單元總數量記為n),在面臨大系統、複雜裝備的故障定位時,n的數量從數十到數百不等,而10!已經高達百萬數量級。因此,亟需一種快速優化故障定位方案的方法。
技術實現要素:
4.針對現有技術的缺陷,本發明的目的在於提供基於預期耗時最少劃分的多人故障定位優化方法和系統,旨在解決如何實現快速優化故障定位的問題。
5.為實現上述目的,第一方面,本發明提供了一種基於預期耗時最少劃分的多人故障定位優化方法,該方法包括:
6.s1.獲取多人故障定位的總次序;
7.s2.按照總檢查次序的順序,取出第一個單元,將該單元劃分給每個維修人員,並計算不同劃分引起的故障定位耗時增長,選擇耗時增長最少的維修人員,將該單元劃分給該維修人員,再取出下一個單元,重複上述劃分操作,直至所有單元均被取出且劃分到人,得到預期耗時最少劃分的多人故障定位結果。
8.優選地,步驟s2包括:
9.s21.初始化檢查序號i=1+m,初始化矩陣zm的第1列元素分別為1~m,矩陣dm的第1列元素相應地依次為zind1~zindm,記錄每名維修人員負責的單元數量數組mdn中各元素初值都為1,dm中的元素是單元編號,zm中的元素是zind的序號,m表示維修人員數量,zind表示總次序;
10.s22.初始化序號j=1;
11.s23.初始化臨時數組ct=[zm(j,1:mdnj)i],zm(j,1:mdnj)表示矩陣zm第j行向量
的前mdnj個元素;
[0012]
s24.根據臨時數組ct、td、v,計算檢查順序ct的故障定位耗時,將其輸出結果tx保存到mtcj,即令mtcj=tx,td、v表示基於總次序的各單元的檢查時間和排查權重係數;
[0013]
s25.更新序號j=1+j,若j≤m,進入s23,否則,進入s26;
[0014]
s26.在數組mtc中找到最小值,其序號記為im,更新mdn
im
=mdn
im
+1,zm(im,mdn
im
)=i,dm(im,mdn
im
)=zindi;
[0015]
s27.更新i=1+i,若i≤n,則進入s22,否則,進入s28,n表示單元數量;
[0016]
s28.把數組mdn內的元素按升序重排,其排序結果對應的序號保存到中i,排序結果返回至mdn,令矩陣zm的行向量按照次序i重排更新,矩陣dm的行向量按照次序i重排更新,即zm=zm(i,:),dm=dm(i,:)。
[0017]
優選地,該方法還包括:
[0018]
s3.計算優化方案的故障定位耗時tx,具體如下:
[0019]
s31.初始化序號j=1;
[0020]
s32.從矩陣zm的第j行向量中依次找到所有非零值的元素,置於臨時數組ct中;
[0021]
s33.根據臨時數組ct、td、v,計算檢查順序ct的故障定位耗時,將其輸出結果tx保存到mtcj,即mtcj=tx;
[0022]
s34.更新序號j=1+j,若j≤m,進入s32,否則,計算輸出方案矩陣dm和tx。
[0023]
優選地,所述計算檢查順序ct的故障定位耗時,包括:
[0024]
1)初始化序號id=1,檢查耗時tx=0,數組ct內的元素數量記為cl;
[0025]
2)初始化檢查序號k=ct
id
,檢查時間tu
id
=tdk,權重係數u
id
=vk,更新
[0026]
3)更新id=id+1,若id≤cl,進入2),否則,輸出tx。
[0027]
優選地,該方法還包括以下任一種:1)維修人員數量從小到大,輸出最靠近期望故障排查時間要求的維修人員數量;2)維修人員數量從小到大,輸出不超過期望用人成本要求、且時間最短的人數;3)維修人員數量從小到大,輸出時間最短的人數。
[0028]
優選地,所述單元的類型相同或者不同,所述類型包括:電子單元、機械單元或者機電單元。
[0029]
為實現上述目的,第二方面,本發明提供了一種基於預期耗時最少劃分的多人故障定位優化系統,包括:處理器和存儲器;所述存儲器,用於存儲計算機執行指令;所述處理器,用於執行所述計算機執行指令,使得第一方面所述的方法被執行。
[0030]
總體而言,通過本發明所構思的以上技術方案與現有技術相比,具有以下有益效果:
[0031]
本發明提出了基於預期耗時最少劃分的多人故障定位優化方法和系統,按照總檢查次序的順序,取出第一個單元,將該單元劃分給每個維修人員,並計算不同劃分引起的故障定位耗時增長,選擇耗時增長最少的維修人員,將該單元劃分給該維修人員,再取出下一個單元,重複上述劃分操作,直至所有單元均被取出且劃分到人,得到預期耗時最少劃分的多人故障定位結果。本發明通過優化劃分待檢查的單元和次序,實現快速優化故障定位方
案,儘可能減少故障定位耗時。
附圖說明
[0032]
圖1為本發明提供的一種基於預期耗時最少劃分的多人故障定位優化方法流程圖。
[0033]
圖2為本發明實施例提供的其中1000個隨機方案的情況。
具體實施方式
[0034]
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不用於限定本發明。
[0035]
圖1為本發明提供的一種基於預期耗時最少劃分的多人故障定位優化方法流程圖。如圖1所示,該方法包括:
[0036]
步驟s1.獲取多人故障定位的總次序。
[0037]
獲取多人故障定位的總次序的方法不局限,可以是人為指定,或者是總次序優化方法,優選地,基於等效檢查時間確定的總次序優化方法,或者,基於綜合值確定的總次序優化方法。
[0038]
優選地,所述單元的類型相同或者不同,所述類型包括:電子單元、機械單元或者機電單元。
[0039]
本發明約定:(1)某裝備由多個單元組成,為便於描述,以時間來描述各單元的壽命。(2)在任意時刻,至多有1個單元發生故障。當某單元發生故障時會影響裝備的正常工作,裝備會出現某些故障現象,此時需要進行開展修理工作。(3)在進行故障確認時,對這些單元進行狀態檢查的次序是獨立不相關的,即:不存在「必須先檢查單元a、然後再檢查單元b」這類對檢查次序有特定要求的情況。(4)已知各單元的壽命分布規律、對每個單元進行(正常與否的)狀態檢查所消耗的時間、即將執行任務的時間。(5)每個維修人員都具備檢查所有單元的能力,但每人一次只能檢查一個單元。(6)所有維修人員同時開始檢查;維修人員在完成某個單元檢查後若其狀態正常則按照檢查順序繼續檢查下一個單元;當某人員檢查出故障單元時停止檢查,後續轉入對故障件的修理階段。
[0040]
本發明以電子設備為例,電子類單元的壽命服從指數分布exp(u),參數u的物理含義是壽命均值,指數分布的密度函數為相關變量約定如下:維修人員數量記為m;單元數量記為n;單元i的壽命服從指數分布exp(ui);對單元i的狀態檢查所消耗的時間記為tci;任務時間記為tw。這些變量皆為已知量。
[0041]
步驟s2.按照總檢查次序的順序,取出第一個單元,將該單元劃分給每個維修人員,並計算不同劃分引起的故障定位耗時增長,選擇耗時增長最少的維修人員,將該單元劃分給該維修人員,再取出下一個單元,重複上述劃分操作,直至所有單元均被取出且劃分到人,得到預期耗時最少劃分的多人故障定位結果。
[0042]
在本發明中,把故障定位時依次檢查的單元編號組成的數組稱為檢查次序(簡稱次序),把每人負責檢查的單元及其檢查順序稱為故障定位方案(簡稱方案)。
[0043]
優選地,步驟s2包括:
[0044]
s21.初始化檢查序號i=1+m,初始化矩陣zm的第1列元素分別為1~m,矩陣dm的第1列元素相應地依次為zind1~zindm,記錄每名維修人員負責的單元數量數組mdn中各元素初值都為1,dm中的元素是單元編號,zm中的元素是zind的序號,m表示維修人員數量,zind表示總次序;
[0045]
s22.初始化序號j=1;
[0046]
s23.初始化臨時數組ct=[zm(j,1:mdnj)i],zm(j,1:mdnj)表示矩陣zm第j行向量的前mdnj個元素;
[0047]
s24.根據臨時數組ct、td、v,計算檢查順序ct的故障定位耗時,將其輸出結果tx保存到mtcj,即令mtcj=tx,td、v表示基於總次序的各單元的檢查時間和排查權重係數;
[0048]
s25.更新序號j=1+j,若j≤m,進入s23,否則,進入s26;
[0049]
s26.在數組mtc中找到最小值,其序號記為im,更新mdn
im
=mdn
im
+1,zm(m,mdn
im
)=i,dm(im,mdn
im
)=zindi;
[0050]
s27.更新i=1+i,若i≤n,則進入s22,否則,進入s28,n表示單元數量;
[0051]
s28.把數組mdn內的元素按升序重排,其排序結果對應的序號保存到中i,排序結果返回至mdn,令矩陣zm的行向量按照次序i重排更新,矩陣dm的行向量按照次序i重排更新,即zm=zm(i,:),dm=dm(i,:)。
[0052]
優選地,該方法還包括:步驟s3.計算優化方案的故障定位耗時tx。具體如下:
[0053]
s31.初始化序號j=1;
[0054]
s32.從矩陣zm的第j行向量中依次找到所有非零值的元素,置於臨時數組ct中;
[0055]
s33.根據臨時數組ct、td、v,計算檢查順序ct的故障定位耗時,將其輸出結果tx保存到mtcj,即mtcj=tx;
[0056]
s34.更新序號j=1+j,若j≤m,進入s32,否則,計算輸出方案矩陣dm和tx。
[0057]
優選地,所述計算檢查順序ct的故障定位耗時,包括:
[0058]
1)初始化序號id=1,檢查耗時tx=0,數組ct內的元素數量記為cl;
[0059]
2)初始化檢查序號k=ct
id
,檢查時間tu
id
=tdk,權重係數u
id
=vk,更新
[0060]
3)更新id=id+1,若id≤cl,進入2),否則,輸出tx。
[0061]
優選地,該方法還包括以下任一種:1)維修人員數量從小到大,輸出最靠近期望故障排查時間要求的維修人員數量;2)維修人員數量從小到大,輸出不超過期望用人成本要求、且時間最短的人數;3)維修人員數量從小到大,輸出時間最短的人數。
[0062]
本發明還提供了一種基於預期耗時最少劃分的多人故障定位優化系統,包括:處理器和存儲器;所述存儲器,用於存儲計算機執行指令;所述處理器,用於執行所述計算機執行指令,使得上述方法被執行。
[0063]
實施例
[0064]
已知某部件由20個電子類單元組成,任務時間為100小時,有4名維修人員,相關信息如表1。採用上述方法,優化制定故障定位方案,並計算該方案的平均故障定位時間。
[0065]
表1
[0066][0067][0068]
1)遍歷計算各單元發生故障的概率pf,結果見表2。
[0069]
1.1)令i=1。
[0070]
1.2)積分計算pfi,令
[0071]
當k=i時,
[0072]
當k≠i時,
[0073]
2)按照單元編號,遍歷計算權重係數w,結果見表2。
[0074]
2.1)令i=1;
[0075]
2.2)
[0076]
2.3)令i=i+1,若i≤n,則執行2.2),否則,執行3)。
[0077]
3)確定基本檢查次序zind,結果見表2。
[0078]
3.1)令其中保存從1~n的單元編號,數組a的當前元素數量記為na,令編號i=1。
[0079]
3.2)當na≥2時,執行3.2.1),否則,執行3.3)。
[0080]
3.2.1)令單元編號k=a1,優化的檢查次序數組zindi=a1,中間變量a=tck,b=wk,令j=2;
[0081]
3.2.2)令單元編號k=aj,中間變量c=tck,d=wk;
[0082]
3.2.3)若ad》bc成立,則更新zindi=k,a=c,b=d,然後執行3.2.4);否則,直接執行3.2.4)。
[0083]
3.2.4)令j=j+1,若j≤na,則執行3.2.2),否則,執行3.2.5);
[0084]
3.2.5)將zindi從a中刪除,令na=na-1,令i=i+1,執行3.2)。
[0085]
3.3)令zindi=a1,數組zind中保存的是各單元編號。
[0086]
4)根據zind計算中間變量td、v,結果見表2。
[0087]
4.1)令i=1。
[0088]
4.2)令k=zindi,tdi=tck,vi=wk。
[0089]
4.3)令i=i+1,若i≤n,則執行4.2),否則,執行5)。
[0090]
表2
[0091]
[0092][0093]
5)為各修理人員劃分修理單元,確定檢查順序。相關結果保存在矩陣dm、zm中。
[0094]
5.1)令檢查序號i=1+m,中間矩陣zm的第1列元素分別為1~m,方案矩陣dm的第1列元素相應地依次為zind1~zindm,記錄每名維修人員負責的單元數量數組mdn中各元素初值都為1。
[0095]
5.2)令序號j=1。
[0096]
5.3)令臨時數組ct=[zm(j,1:mdnj)i],zm(j,1:mdnj)是矩陣zm第j行向量的前mdnj個元素。
[0097]
5.4)輸入臨時數組ct、td、v、調用模塊s,將其輸出結果tx保存到mtcj,即令mtcj=tx。
[0098]
5.5)令序號j=1+j,若j≤m,則執行5.3),否則,執行5.6)。
[0099]
5.6)在數組mtc中找到最小值,其序號記為im,令mdn
im
=mdn
im
+1,zm(im,mdn
im
)=i,dm(im,mdn
im
)=zindi。
[0100]
5.7)令i=1+i,若i≤n,則執行5.2),否則,執行6)。
[0101]
6)把數組mdn內的元素按升序重排,其排序結果對應的序號保存到中i=1、3、2、4,重排mdn為4、4、5、7:令矩陣zm的行向量按照次序i重排更新,方案矩陣dm的行向量按照次序i重排更新,zm結果見表3,dm結果見表4。
[0102]
表3
[0103][0104]
表4
[0105][0106]
7)計算優化方案的故障定位耗時tx=45.0。
[0107]
7.1)令序號j=1。
[0108]
7.2)從矩陣zm的第j行向量中依次找到所有非零值的元素,置於臨時數組ct中。
[0109]
7.3)輸入臨時數組ct、td、v、調用模塊s,將其輸出結果tx保存到mtcj,即令mtcj=tx。
[0110]
7.4)令序號j=1+j,若j≤m,則執行7.2),否則,令執行8)。
[0111]
8)優化完畢,輸出方案矩陣dm和tx。由dm可知優化後的方案為:維修人員1負責依次檢查單元8、7、6、14,維修人員2負責依次檢查單元12、19、17、1,維修人員3負責依次檢查單元11、13、20、16、18,維修人員4負責依次檢查單元10、15、2、4、5、3、9。該方案的平均故障定位時間為45.0分鐘。
[0112]
模塊s的輸入參數為ct、td、v,用於計算檢查順序ct的故障定位耗時,具體如下:
[0113]
1)令id=1,tx=0,數組ct內的元素數量記為cl;
[0114]
2)令k=ct
id
,tu
id
=tdk,u
id
=vk,
[0115]
3)令id=id+1,若id≤cl,則執行s.2),否則,輸出tx。
[0116]
可建立仿真模型驗證上述方法的正確性,仿真模型簡述如下:
[0117]
(1)產生n個隨機數simti,1≤i≤n,simti服從單元i的壽命分布規律。
[0118]
(2)在所有simti中尋找最小數,對應的序號記為g,即:simtg≤simti,1≤i≤n。
[0119]
(3)若simtg《tw成立,則本次仿真有效,根據序號g、方案中每人的檢查順序,確定該故障件由哪位修理人員找到,可得到本次模擬的故障定位時間。
[0120]
在大量多次模擬後,可統計得到平均故障定位時間。上述優化方案的平均故障定位時間仿真結果為46.1,與本方法的結果極為一致。
[0121]
在上述算例中,隨機產生一百萬個方案,採用仿真模擬這些方案的故障定位耗時,最小耗時為60.1,耗時均值142.3,耗時根方差48.2。圖2為本發明實施例提供的其中1000個隨機方案的情況。圖2中的大量仿真結果表明:本發明方法的優化效果顯著,可快速有效地制定故障定位方案,減小平均故障定位時間,最大發揮維修人員的工作效率。
[0122]
本領域的技術人員容易理解,以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。