陳 鳳,杜彥煒,陳嘉欣,徐 甜
(西安工業大學 機電工程學院,陜西 西安 710021)
液壓支架是煤炭企業重要的生產工具,由于工作環境惡劣,使用頻次高,因此需要經常檢修維護。而煤炭企業為保證產量和市場優勢,又不斷地提高對液壓支架檢修維護的時效性要求,壓縮液壓支架的維修周期[1]。如何提高液壓支架的檢修效率是目前急需解決的課題。目前,傳統解決的辦法主要是根據裝配關系信息進行連接矩陣建模,采用Floyd算法[2]、AND/OR圖、Petri網[3]等圖論的方法進行優化[4],但這些方法隨著液壓支架零件的增多,會產生組合爆炸問題,難以快速優化計算。一些學者采用啟發式算法來對路徑規劃問題進行計算,如采用蟻群算法[5]、模擬退火算法[6]、粒子群算法[7]和對應的改進算法[8-10],取得了一些較好的成果。液壓支架的檢修活動主要包括拆卸、維修、裝配三部分,筆者對液壓支架的拆卸過程進行優化,以降低拆卸時間提高拆卸效率,提高液壓支架檢修的時效性。
首先需要將液壓支架的拆卸轉化為矩陣模型的形式。文中將液壓支架所有的零件分為功能件和緊固件兩大類,功能件是為液壓支架提供各項必備功能的零件,緊固件是將液壓支架零件進行連接和約束限制的零件。
(1) 緊固件拆卸矩陣模型DF 液壓支架的零件拆卸一般都是沿坐標軸方向進行的,因此文中采用+X,-X,+Y,-Y,+Z,-Z六個方向來對液壓支架的緊固件拆卸矩陣模型進行描述。若某個液壓支架緊固件可以從液壓支架裝配體中沿著上述六個方向中的任一方向拆卸出來而未與液壓支架的其他零件發生碰撞或干涉,則定義該緊固件在該方向上對應的元素定義為0,否則定義為-1。若某一緊固件與其他零件焊接在一起,則成為了一個不可拆卸緊固件,這樣的緊固件的拆卸矩陣為(-1,-1,-1,-1,-1,-1)。為了保證液壓支架拆卸的順利進行,在建模時會盡量避免這樣的緊固件出現,即保證任一緊固件在+X,-X,+Y,-Y,+Z,-Z方向上至少有一個方向存在無碰撞移動的可能。
(2) 功能件拆卸矩陣模型DC 液壓支架功能件拆卸矩陣定義了某個功能件在某個坐標軸且僅有該坐標軸拆卸方向上與其接觸或發生干涉的所有零件編號。文中定義如果該功能件在某個坐標軸上沒有緊固件或其他零件對其進行拆卸限制約束,則該功能件在拆卸矩陣中對應的元素為0,如果存在緊固件和其他零件對其進行拆卸限制約束,則在拆卸矩陣中對應的元素位置記錄所有對其進行拆卸限制約束的零件編號。
(3) 零件運動約束限制矩陣模型 液壓支架零件拆卸運動約束模型包括緊固件運動約束模型(MF)用于記錄液壓支架緊固件的運動約束和零件運動約束模型(MC)用于記錄液壓支架零件的運動約束。緊固件運動約束矩陣詳細描述了每一個緊固件的“前級零件”和在各個拆卸方向上直接與緊固件接觸的零件。零件的運動約束矩陣詳細描述了在坐標軸兩個方向上約束目標零件的零件。與DC不同的是,MC在坐標軸的兩個方向上記錄了約束目標零件運動的零件,而DC只在坐標軸的一個方向上記錄了約束目標零件運動的零件。在運動約束矩陣中,如果不存在“前級零件”和在坐標軸兩個方向上約束目標零件的零件,則將矩陣對應的元素設為0,否則,記錄對應的零件編號。
根據液壓支架零件的特點,建立以下一些初始種群拆卸序列規則。
(1) 如果零件n被緊固件連接,則需要先拆卸緊固件。
(2) 如果有緊固件i在某個方向上沒有“前級零件”,且可以從該個坐標軸的兩個方向上沒有阻礙的拆卸,拆卸i。
(3) 如果有緊固件i在某個方向上沒有直接阻礙其拆卸的零件,但在該方向上存在“前級零件”,或者存在在該方向坐標軸上的兩個方向都限制緊固件i運動的零件,則需要先拆卸對應方向坐標軸上兩個方向都限制其運動的零件或者“前級零件”,但不為緊固件i的父零件。
(4) 如果有零件n在某個方向上沒有“前級零件”,且可以從該個坐標軸的兩個方向上沒有阻礙的拆卸,拆卸n。
(5) 如果有零件n在某個方向上沒有直接阻礙其拆卸的零件,但在該方向上存在“前級零件”,或者存在在該方向坐標軸上的兩個方向都限制零件n運動的零件,則需要先拆卸對應方向坐標軸上兩個方向都限制其運動的零件或者“前級零件”,但不為零件n的父零件。
在建立規則后,設計算法應用本套規則,詳細算法步驟如下:
(1) 隨機選擇零件n。
(2) 檢查是否存在零件與零件n連接。
(3) 如果存在緊固件與零件n連接,則按規則1處理。
(4) 如果存在零件與零件n連接,則按規則5處理。
(5) 如果沒有任何零件與零件n連接,則按規則4處理。
(6) 如果零件n為目標零件,則算法結束。
(7) 檢查是否存在零件與緊固件i連接。
(8) 如果存在零件與緊固件i連接,則按規則3處理。
(9) 如果沒有任何零件與緊固件i連接,則按規則2處理。
通過規則1~5的不斷循環迭代,最終生成一套可行的初始拆卸序列,但該拆卸序列不一定就是最佳拆卸序列。
文本根據拆卸目的和條件,定義了以下幾條評價標準:
(1) 拆卸成本 在液壓支架設備拆卸中,一般需要付出的成本通常為工時費用,所以本文中的拆卸成本也等同于拆卸時間。
(2) 零件拆卸方向變更 在液壓支架設備拆卸中,零件拆卸方向的每次調整,都可能需要拆卸人員重新更換工作站立區域。
(3) 零件拆卸工具變更 本文將液壓支架零件拆卸工具分為三類,分別為無需借助外部工具的純手工拆卸、需要使用簡單手持工具進行拆卸以及需要借助大型機械設備進行拆卸例如行車等設備。
液壓支架零件拆卸序列的數學模型可以構建為:
minF(x)=α1f1(x)+α2f2(x)+α3f3(x)
其中α1+α2+α3=1,αi為每個評價標準的權重系數,根據工程經驗將α1設置為0.5,將α2設置為0.2,將α3設置為0.3,fi為每個評價標準的優化目標函數。f1為基本拆卸時間函數,f2為拆卸方向變更時間函數,f3為拆卸工具變更時間函數。
式中:ti表示各個零件的基礎拆卸時間,零件的基礎拆卸時間可以對裝配時間進行測量從而得到近似數值。
Di=
式中:oi表示第i個零件的拆卸方向代號;Di表示拆卸重定向的影響因子,當兩個零件拆卸方向一致時Di為0,當兩個零件拆卸方向相反時Di為2,當兩個零件拆卸方向相差90°時Di為1。
式中:mi表示第i個零件的拆卸工具方法代號,|mi+1-mi|表示兩個零件之間的拆卸工具方法差異因子。
主流的編碼方式有二進制編碼、實數編碼和浮點數編碼,文中根據液壓支架拆卸問題的特性,在主流的編碼方式基礎上,采用實數基因組的編碼方式進行,這種方式相比傳統的二進制編碼方式而言,更具有可讀性,且大大簡化了遺傳算法和現實問題之間的編碼和解碼的過程,使遺傳算法效率提高[11]。
文中定義基因組形如:
Gene(i)={Sequence(i),Orientation(i),Instrument(i)}
式中:Sequence(i)表示液壓支架設備中零件的編號;Orientation(i)表示液壓支架設備零件拆卸的定向方向,包括+X、-X、+Y、-Y、+Z、-Z六個方向,分別用數字1,-1,2,-2,3,-3來表示;Instrument(i)表示液壓支架設備零件拆卸所需要的輔助設備,包括純手工拆卸不借助任何工具、使用手持工具拆卸和使用大型機械設備拆卸,分別用數字1、2、3來表述。
由于每個零件的拆卸工具和拆卸重定向信息基本是固定的,因此不參加遺傳算法中的交叉、變異操作,故將只參加遺傳算法運算的液壓支架零件編號信息作為染色體序列,如圖1所示。

圖1 零件染色體序列
拆卸序列采用一系列包含零件拆卸詳細信息的基因組來構成,文中采用實數型基因組來表達,用4位十進制證數表達液壓支架零件的拆卸信息基因組,從左往右依次表示液壓支架零件編號、液壓支架零件拆卸的定向信息、液壓支架零件拆卸所需要使用的工具類型。液壓支架零件編號占2位十進制數字,定向信息占1位,工具信息占1位。
為了清楚的描述編碼含義,假設現有基于組為4511,則表示編號為45的零件可以通過+X方向不用任何工具從液壓支架上拆卸下來。
文中對液壓支架零件拆卸問題進行研究,編碼表示的含義為拆卸序列,因此在采用交叉算子時,就需要考慮到可行解在交叉后可能產生序號沖突和不可行解的問題。
基于以上原因,文中采用OX(Order Crossover)交叉算子,OX交叉算子是實數編碼中較為適用的一種交叉算子,它可以避免在交叉過程中產生序號沖突的問題。其基本思想是將父代中的某一序列串完整的繼承到子代中。傳統的OX交叉算子要求進行交叉的兩個個體中的染色體長度必須相等,但在進行液壓支架零件拆卸時,拆卸序列長度可能存在不一樣的情況,因此在傳統的OX交叉算子的基礎上引入虛擬零件的概念,即建立Id為0的零件,補全長度較短的個體直至兩枚個體長度相等后進行OX交叉操作,并在計算結果中移除虛擬零件,保留最后的結果并返回。具體操作方法如下:
(1) 比較兩個父代長度,再較短的父代末尾中加入虛擬零件,使兩個父代長度相等。
(2) 隨機抽取兩個基因位置s、t,其中0≤s≤t≤n,n為染色體序列串的長度。
(3) 將父代1從s位置到t位置的基因完整保留到子代1中相同的位置上。
(4) 將父代2中去除父代1中s位置到t位置的基因元素,剩下的依次填入子代1的空余位置上。
(5) 交換父代位置,再次進行上述操作,即可得到子代2。
(6) 找到子代中Id為0的零件,去除,即得到真實子代。
文中采用ISM變異算子,在染色體中隨機產生兩個變異位,然后將位置靠后的基因插入到位置靠前的基因的前一個位置,從而達到從局部最優解中跳出來的目的。
ISM的具體操作方法如下。
(1) 隨機抽取兩個基因位置i1、i2,其中1≤i1≤n,1≤i2≤n,n為染色體序列串的長度。
(2) 判斷兩個基因位置索引值的大小,若相等則重新隨機抽取i1、i2。
(3) 如果i2>i1,將i2的基因復制插入到i1前一位,然后將原來的i2基因刪除。
(4) 如果i1>i2,將i1的基因復制插入到i2前一位,然后將原來的i1基因刪除。
文中以某型號液壓支架為例,采用CATIA軟件建立液壓支架的三維模型如圖2所示,以立柱為所要拆卸的目標零件進行算法實例驗證。

圖2 液壓支架CATIA三維模型
通過遺傳算法對零件信息和拆卸矩陣模型進行處理,遺傳算法的參數設定為:種群數量n=20,交叉概率Pc=0.8,變異概率Pm=0.01,最大迭代次數T=100,計算過程如圖3所示。

圖3 拆卸路徑計算過程圖
最終得到的拆卸路徑上的零件信息如表1所示。
拆卸規劃路徑為:護幫銷1→護幫千斤頂活塞銷→護幫銷2→護幫→護幫千斤頂滑塊銷1→護幫千斤頂滑塊銷2→側推千斤頂活塞銷1→側推千斤頂活塞銷2→護幫千斤頂滑塊1→護幫千斤頂滑塊2→護幫千斤頂活塞缸→護幫千斤頂活塞桿→頂梁側護板左→頂梁側護板右→粱銷固定板1→粱銷固定板2→掩護板柱銷→平衡千斤頂活塞銷→掩護板柱銷→頂梁→立柱活塞。

表1 拆卸零件信息表
傳統的液壓支架通過經驗方法進行零件拆卸需要將93個零件全部拆卸,相較于傳統拆卸方法的優化結果如表2所列。

表2 拆卸優化結果表
對放頂煤液壓支架的維修拆卸過程進行優化,運用遺傳算法并加以改進,設計了拆卸矩陣模型和基于規則的初始種群生成方法,引入了虛擬零件的概念到交叉算子中。利用改進的遺傳算法針對拆卸目標零件為立柱的液壓支架進行拆卸路徑規劃,使拆卸工序數從93降低到21,僅拆卸必要的零件,最大化的壓縮了維修拆卸時間,拆卸時間從1 305 min降低到306 min,其中拆卸包括零件的基礎拆卸時間、更換拆卸方向損耗時間以及更換拆卸工具損耗時間,使其維修拆卸效率提高76.6%,為煤礦企業節約了寶貴的維修時間,增加了企業的生產效益。