楊 尚,施乃勇,侯 智
(重慶理工大學 機械工程學院,重慶 400054)
1913年亨利·福特建造了世界上第一條汽車流水組裝線,福特汽車被大批量組裝出來,產量大幅度提升。1995年,Nkasu等[1]提出了一種求解單模型裝配線平衡問題的隨機方法SALB,該方法能夠在規劃、設計和調度工作任務時,提供有價值的引導,但它僅僅是一種單模型求解方法。在實際生活中,裝配線平衡涉及到生產的很多方面,是一種復雜的多目標規劃問題,而遺傳算法對于求解多目標、多模型等復雜尋優問題有很強的魯棒性。2015年,Lorenzo[2]利用遺傳算法對產線平衡進行尋優,取得了不錯的成果。隨著仿真技術的發展,2017年,Wang等[3]提出了一種基于遺傳算法和系統仿真的組合優化方法,為研究裝配線平衡問題提供了新的思路。
隨著混流組裝生產方式的快速發展,國內也進入了大規模的組裝時代。為了提高組裝效率,企業開始應用優化算法及仿真技術來解決產線平衡問題。2007年,黃克艱[4]針對混流生產,建立了一種基于遺傳算法和Matlab的最小化工位閑置和超載時間的混流裝配線調度模型,取得了顯著成效。同年,趙建輝等[5]通過建模仿真得到生產線不同排產順序的仿真結果,使得生產過程更加形象可控。遺傳算法能很好解決產線平衡尋優問題,但也存在算法計算復雜、求解效率低等的缺點。2016年,張子凱等[6]針對遺傳算法編碼復雜的問題,提出一種基于多級隨機分配編碼的改進遺傳算法,在降低計算復雜度的同時也能準確獲得較優解。張洪亮等[7]提出一種基于最小化超載與閑置成本、最小化生產率變化成本的目標規劃模型,優化了產線投產順序,為解決產線平衡優化問題提供了新的思路。黃培星[8-9]基于這種模型對工時確定和不確定的U型混流裝配線平衡問題展開研究,為混流生產找到了更細化的優化方案。鄭諧等[10]、苗志鴻等[11]、馬雪進等[12]通過分析混流裝配線平衡改善及產品投放次序問題,對混流裝配線平衡的改善作出了探析。
本文將以最小化閑置時間和過載時間為優化目標,提出一種結合矩陣編碼及逆轉變異方式的改進遺傳算法,降低編碼計算復雜度,提高最優解魯棒性。并結合Flexsim仿真軟件和改進遺產算法,分析Z企業發動機混流裝配線平衡的實際案例,發現該優化方法有利于解決在制品堆積、工位超載、工位空閑等問題,也可以幫助企業解決訂單無法按時交付的問題。
科學的混流生產就是在裝配線上,多種產品按照一定的節奏、比例來進行生產。要達到裝配線平衡,首先要制定合理的排產序列,品種、產量、工時、設備負荷等都是確定排產序列的重要指標。企業普遍存在混流產線不平衡的現象,主要包括3個原因:
1)在制品積壓嚴重。這是由于部分后續工位加工時間過長,導致半成品在暫存區大量堆積。
2)設備阻塞。半成品堆積勢必會造成后續工序的設備阻塞,影響產線的正常運轉。
3)設備空閑。設備阻塞及設備空閑都會影響產線正常生產,降低產線效率,進而影響產品產量。
要解決上述問題,需要合理調整產品投產順序,本文將以降低設備空閑率、平衡產線及提高產量為目標建立混流組裝線優化模型。
假設混流組裝線上產品的型號數為M,在1個投產周期里,不同型號產品的需求分別為r1,r2,r3,…,rM,總需求量為設H(j,i)為R個產品的某一投產序列各工位(j=1,2…N)組裝不同產品(i=1,2,…,N)所需的時間(j為組裝線上的某個工位,Sj1=0為第1個產品在該工位上裝),H是一個各個工位操作時間矩陣。

由矩陣可知,產品在該工位上結束時間為Eji=Sji+Tji。操作工人在第i個產品結束組裝之后,將立刻返回到i+1個產品的組裝的起點。整個組裝序列中第i+1個產品加工起始點將會存在2種情況:
1)當一個工位的操作工人完成組裝,這時該工位等待上一個工位的下一個產品的完成,即Eji小于等于Tj,i+1,這時造成該工位閑置等待,因此下一個型號的產品在該工位操作的起始時間為S(j,i+1)=0。
2)工人未能按時在節拍內完成組裝,即Eji大于或者等于K時,操作工人此時無法做其他活動,需繼續完成該件產品的組裝,由此可以看出下一個產品的組裝起點為Eji-K(K為節拍時間)。
綜上所述,S(j,i+1)=max{0,Eji-K}在第1種情況下,混流組裝線投產序列中第i個產品在第j個工位閑置時間為:Idleji=max{0,K-Eji}。在第2種情況下,投產序列中第i個產品在第j個工位超載時間為:Overtji=max{0,Sji+Tji-K}。
本文以最小化工位空閑時間與超載時間為目標,優化產品投產順序,因此投產序的最優目標函數為:

Z公司發動機組裝線主要組裝A、B、C、D 4種型號的發動機,每種型號包括8個組裝步驟,分別是安裝燃油供給機構、裝點火系統、裝排氣系統、裝進氣系統、裝調速機構、裝飛輪風扇、裝機油傳感器、裝曲輪連桿機構。發動機組裝線上采用機器加工+人工輔助的組裝模式,各工位設有暫存區,后道工序嚴格受前一道工序加工時間的約束,現有組裝線整體布局為U型,如圖1所示。

圖1 組裝線整體布局示意圖
該企業實行訂單式組裝,將產品月需求量平均分配到每天的加工任務之中。經過訂單數據采集可以得到每月平均需求量、產品需求比重以及日需要量,A、B、C、D 4種發動機的日需要產量分別為55、100、155、100,日需要總產量為410臺,投產比例為1∶2∶3∶2。如圖2所示,組裝線以ABBCCCDD的投產方式進行投產,Sji是第j個工位組裝第i個產品的起始時間,Eji為第j個工位第i個產品組裝結束時間。

圖2 組裝線組裝情況示意圖
工廠實行8 h上班制,即每天的工作時間為28 800 s,混流組裝線的平均節拍K=日工作時間/日需要總產量=28 800 s/420臺=69 s,即在仿真模型中,2臺發動機投產的時間間隔為69 s。使用秒表對工廠組裝線上各工位測時,并利用Minitab進行數據擬合[13],得到如表1所示的各工位標準時間,結合表1建立如圖3所示的混流裝配線的仿真模型。

表1 工位標準時間 s

圖3 Flexsim仿真示意圖
利用Flexsim軟件建立仿真模型,得到了裝配線生產的仿真結果,如表2、表3所示。分析仿真結果可以發現以下問題:① 暫存區2制品積壓嚴重[14],這是由于安裝燃油供給機構耗時過長,導致半成品在暫存區大量堆積。②由表2可知,日產量仿真結果是368臺,而日需求產量是410臺,無法滿足訂單要求。從各工位的空閑率可以看出,安裝進氣系統工位空閑率高達38.90%,且其他工位空閑率也偏高,組裝線總空閑時間為46 944.11 s,總體平衡率較差。③ 由表3可知,安裝燃油供給機構、點火系統時,有較長的阻塞時間,分別為146、181 s,占阻塞總時長的90.15%。針對以上問題,下文將利用遺傳算法對該混流線的投產順序進行尋優。

表2 仿真數據

表3 最小循環周期仿真結果
結合矩陣H,采用N×R的矩陣A來進行矩陣實數編碼,區別于一般遺傳算法常用的二進制編碼方法,矩陣編碼可有效解決算法運算過程中編碼過長或編碼、解碼復雜的問題。在矩陣A中,每一行代表一個加工工位,每一列代表一個加工產品,矩陣中的生產單元代表在該投產序列中,第i(i=1,2,…,R)個產品在第j(j=1,2,…,R)個組裝工位生產。

初始種群按行產生,R個產品(包含M個型號的產品)按照比例進行投產,每一個產品從最后一個工位隨機產生加工時間,接著進行倒數第二道工序,不進行該道工序則不進入該工位,加工時間分配計入0,依次完成時間分配。初始種群產生的目標值記為最優目標值,按照上述步驟產生新的個體,比較不同種群的目標值可找到可行解。
交叉操作使用順序交叉,變異操作選擇逆轉變異。
在該數學模型中,各工位空閑時間和阻塞時間之和為t,則適應度函數為:

基于適應度值,采用輪盤賭的方式為交叉、變異操作選擇候選的染色體,適應度值越大,相應的被選擇的概率就越大。假設種群大小為N,f(xi)為個體適應度值,則個體的選擇概率公式為:

模型中采用Z企業發動機混合流水線的生產數據,算法的運行環境為Win 10操作系統下的Matlab 2015平臺,相關參數設置如表4所示。

表4 參數設置
經過Matlab運行迭代50次后,適應度函數值隨迭代次數的變化如圖4所示,進化至35代時,算法漸漸收斂于最優解。輸出的最優解個體為32 413 324,則解碼得到的組裝線最佳投產序列為CBDACCBD,該種投產方式下最小循環周期內各工位超載時間、空閑時間之和為2 650.6 s。

圖4 適應度函數值變化曲線
為了驗證該改進遺傳算法的性能,在硬件環境為Matlab 2015,IntelRRCore(TM)i5-5200U CPU@2.20Hz,Windows 10下使用benchmark函數將改進遺傳算法與文獻[15]和文獻[16]算法進行對比。
設定2種算法種群規模都為8,迭代次數為200次,采用Sphere、Rosenbrock和Griewank函數對該遺傳算法進行性能測試,函數表達式如下:

對每個函數,分別在不同維數條件下進行實驗,實驗結果見表5。對于Sphere和Rosenbrock函數,從實驗結果可以看出改進遺傳算法的最優解平均值更接近最優解,精度更高,其算法平均性能也比文獻[15]、文獻[16]算法更加穩定。對于Griwank函數,無論維數高低,改進遺傳算法的平均性能也都優于其他算法。該算法通過矩陣編碼和提高逆轉變異概率可提高算法的局部搜索能力和求解精度,在求解后期,可加速最優解收斂且保持解的多樣性和穩定性。

表5 算法測試數據
優化投產序列后,對比改善前后圖2與圖5的Flexsim仿真圖,可以看到暫存區在制品堆積明顯減少。對比表2與表6的暫存區在制品堆積數,改善前為89,改善后為42,減少了47件,在制品堆積率減少了53%。在表2與表6中,對比成品存放數,改善前的日產量為368件,改善后為421件,該企業單日訂單需求為410件,日產量提高了53件。各工位空閑率也明顯降低,安裝燃油供給機構的工位空閑率由30.10%下降到19.69%,降低了10.41%。安裝飛輪風扇的工位空閑率由15.36%下降到2.81%,降低了12.55%。安裝機油傳感器的工位空閑率由20.49%下降到9.88%,降低了10.61%。對比表3與表7,優化投產順序后,各工位空閑時間、工位阻塞時間之和由原來的2 801 s減少到2 650.31 s,減少了150.69 s。

圖5 Flexsim優化仿真示意圖
混流裝配線整體設備空閑率降低5.4%,產線空閑率由20.39%下降到11.88%,降低了8.51%,訂單交付率提高了12.6%。解決了裝配線的產線不平衡問題,使得產品投產轉換更加合理,工序銜接更加流暢。

表6 改善后仿真結果輸出數據

表7 改善后最小循環周期工位輸出數據
運用Flexsim軟件建立三維可視化仿真模型,以Z企業發動機組裝線為例進行仿真優化,使用矩陣實數編碼改進遺傳算法,解決了編碼過長及編碼、解碼復雜的問題,采用逆轉變異算子使解碼結果簡潔明了,更接近最優解,提高了尋優效率,有效地解決了企業的產線不平衡問題,達到了平衡工位負荷、提高組裝線柔性及組裝效率、降低組裝成本的目的。