本發明涉及數控機加生產技術領域,特別涉及一種柔性機加數控生產單元的節拍平衡方法,用于為多品種、小批量產品加工方案進行產品工藝的工序組合以及設備進行分配,實現生產節拍平衡化。
背景技術:
隨著客戶需求的多樣化,產品呈現出顯著的多品種單件或小批量生產特點。離散制造企業在數控機加生產單元就是針對多品種小批量生產模式,利用數控設備可編程、加工柔性高的特點,能夠在一個單元內完成多種相似零件的加工作業。由于數控設備的高互換性,產品工序間無時序約束以及組合的高度靈活性,保證了生產具有較大柔性。然而,由于品種多、批量少,數控設備會出現明顯的負荷不均衡現象,生產過程也會沒有節拍、斷續不暢,即前后加工工序的處理時間差別較大,從而在完成上一工序后需要等待一段時間,才能進行下一工序處理,從而造成生產效率低、總體設備利用率不高等問題。
技術實現要素:
本發明的目的在于克服現有技術的缺點,提供了一種柔性機加數控生產單元的節拍平衡方法,該方法可以確保加工過程始終處于不停滯、不堆積、不超越的流動狀態,從而提高設備利用率和生產效率。
本發明的上述目的通過以下方案實現:
一種柔性機加數控生產單元的節拍平衡方法,包括以下步驟:
步驟一:隨機生成Q條染色體,組成初始的種群;每條染色體的基因包括四部分,其中:第一部分為M道工序的工序優先級,第二部分為N個設備的設備優先級,第三部分為第1個工序組合中包含的工序數量m1,第四部分為第1個工序組合中的設備個數n1;其中:Q為設定的正整數;M為設定的生產產品涉及到的工序總量;N為設定的已有設備總量;m1和n1為隨機整數,m1≤Mth且n1≤Nth,Mth為設定的工序組合中工序個數最大值;Nth為設定的第一個工序組合中設備個數最大值;另外,已知第j個設備加工完成第i個工序所需的時間為tij,i=1、2、…、M,j=1、2、…、N;
步驟二:計算每條染色體的適應值,具體計算過程如下:
(2a)、通過設定的解碼規則,確定每條染色對應的工序組合分配結果,即將M道工序劃分為μ個工序組合,為每個工序組合劃分相應的設備,并計算每個工序組合的平均加工時間;其中:第k個工序組合包括mk個工序且分配了nk個設備,對于每個染色體,μ、mk、nk為隨機整數;其中,mk≤Mth且n2=n3=…=nμ=1,k=1、2、…、μ;
(2b)、針對每條染色體,計算每個工序組合的平均加工時間的方差值,將所述方差值作為染色體對應的目標函數值Ψ;
(2c)、對每條染色體的目標函數值Ψ進行標定,得到染色體適應值;其中,設定染色體適應值與目標函數值Ψ成反比;
步驟三:根據每條染色體的適應值,使用輪盤賭策略進行下一代Q條染色體的選擇;
步驟四:對步驟三選擇的染色體進行交叉和變異操作;
步驟五:對完成交叉和變異操作后的染色體,重復步驟二~步驟四,進行遺傳迭代操作,并在達到設定的迭代結束條件時,跳出遺傳迭代操作,將目標函數值最小值對應的染色體輸出。
上述的柔性機加數控生產單元的節拍平衡方法,在步驟(2a)中,通過設定的解碼規則,確定每條染色對應的工序組合分配結果,具體實現過程如下:
(2aa)、針對每條染色體,設定將所有工序劃分為μ個工序組合,μ為隨機整數;并設定各工序組合的工序子集和設備子集的初值均為空集;
(2ab)、確定第1個工序組合的工序子集和設備子集,并計算第1個工序組合的平均加工時間T1,具體實現過程如下:
從染色體的第三部分基因中讀取第1個工序組合中包含的工序數量m1;并根據染色體第一部分基因中的M道工序的工序優先級,選取工序優先級最高的m1個工序組成第1個工序組合的工序子集;
從染色體的第四部分基因中讀取第1個工序組合中的設備個數n1;并根據染色體第二部分基因中的N個設備的設備優先級,選取設備優先級最高的n1個設備組成第1個工序組合的設備子集;
根據第1個工序組合的工序子集和設備子集,計算第1個工序組合的平均加工時間T1;
(2ac)、依次確定第2~μ個工序組合的工序子集和設備子集,并計算第2~μ個工序組合的平均加工時間T2~Tμ;其中,在K=2、3、…、~μ時,確定第K個工序組合的工序子集和設備子集,并計算平均加工時間TK的具體實現過程如下:
(1)、在剩余設備中選取設備優先級最高的一個設備加入第K個工序組合的設備子集;并在剩余工序中選取工序優先級最高的一個工序加入第K個工序組合的工序子集;
(2)、計算第K個工序組合的平均加工時間TK;
(3)、將第1個工序組合的平均加工時間T1和第K個工序組合的平均加工時間TK進行比較,其中:如果TK≥T1,則進入步驟(7);如果TK<T1,則進入步驟(4);
(4)、如果mK<Mth且TK<T1,則進入步驟(5);如果mK=Mth且TK<T1,或mK<Mth且TK≥T1,則進入步驟(7);如果mK=Mth且TK≥T1,則進入步驟(6);其中,mK為第K個工序組合的中的工序個數;
(5)、在剩余工序中選取工序優先級最高的一個工序加入第K個工序組合,并更新第K個工序組合的平均加工時間TK和工序個數mK,然后返回步驟(4);
(6)、計算第K個工序組合的平均加工時間TK與T1的差值d;并計算最新加入的工序加入之前,第K個工序組合的平均加工時間TK與T1的差值c;然后以第一概率值為概率允許第K個工序組合保持當前的工序子集不變,而以第二概率值為概率將最新加入的工序從第K個工序組合的工序子集中刪除,并更新平均加工時間TK;然后進步步驟(7);
(7)、判斷第K個工序組合的工序和設備已經完成添加,即得到了第2個工序組合的工序子集和設備子集。
(2ad)、結束。
上述的柔性機加數控生產單元的節拍平衡方法,各工序組合的平均加工時間的計算公式如下所示:
其中:Tk為第k個工序組合的平均加工時間;txy為第k個工序組合中第y個設備加工完成第x個工序所需的時間;k=1、2、…、μ。
上述的柔性機加數控生產單元的節拍平衡方法,在步驟(2b)中,各染色體對應的目標函數值Ψ的計算方法如下:
(2ba)、計算每個工序組合的平均加工時間,具體計算公式如下:
其中:Tk為第k個工序組合的平均加工時間;txy為第k個工序組合中第y個設備加工完成第x個工序所需的時間;k=1、2、…、μ;
(2bb)、計算目標函數Ψ=var(T1,T2,…,Tμ),其中,即所述目標函數為μ個工序組合平均加工時間的方差值。
上述的柔性機加數控生產單元的節拍平衡方法,在步驟四中,染色體的交叉概率為0.6,變異概率為0.1。
上述的柔性機加數控生產單元的節拍平衡方法,在步驟四中,兩個染色體按照如下的方法進行交叉操作:
隨機抽出X個工序,兩個染色體第一部分基因中的所述X個工序對應的工序優先級保持不變,然后兩個染色體將剩余M-X個工序的工序優先級進行互換;其中,X為隨機整數且X<M;
隨機抽出Y個設備,兩個染色體第二部分基因中的所述Y個設備對應的設備優先級保持不變,然后兩個染色體將剩余M-Y個設備的工序優先級進行互換;其中,Y為隨機整數且Y<N;
兩個染色體交換第三部分的基因,兩個染色交換第四部分的基因。
上述的柔性機加數控生產單元的節拍平衡方法,在步驟四中,各染色體按照如下的方法進行變異操作:
隨機抽出X個工序,將染色體第一部分基因中的所述X個工序對應的工序優先級保持不變,然后將剩余M-X個工序的工序優先級進行隨機互換;其中,X為隨機整數且X<M;
隨機抽出Y個設備,將染色體第二部分基因中的所述Y個設備對應的設備優先級保持不變,然后將剩余M-Y個設備的工序優先級進行隨機互換;其中,Y為隨機整數且Y<N;
染色體交換第三部分的基因和第四部分的基因進行重新置數。
上述的柔性機加數控生產單元的節拍平衡方法,在步驟五中,迭代結束條件設定為:達到設定的迭代次數,或是存在染色體對應目標函數值Ψ小于或等于設定門限值,則可以結束迭代。
本發明與現有技術相比,具有以下優點:
本發明為加工產品進行工序組合劃分,并為每個工序組合配備合適的數控設備,使得每個工序組合完成加工任務的時間接近,降低各工序組合流水處理時的等待時間,即使得生產過程節拍平衡化,確保加工過程始終處于不停滯、不堆積、不超越的流動狀態,從而提高設備利用率和生產效率。
附圖說明
圖1為本發明遺傳算法中染色體基因編碼示意圖;
圖2為本發明中根據設定的解碼規則確定染色對應的工序組合分配結果的處理流程圖。
具體實施方式
下面結合附圖和具體實例對本發明作進一步詳細的描述:
精益生產中一個流的生產方式使產品在加工過程始終處于不停滯、不堆積、不超越的流動狀態,可有效減少在制品庫存、縮短生產時間、有利于安全生產。這種生產方式強調對生產的全部工序進行平均化,實現生產節拍達到平衡狀態,從而消除作業間不平衡的效率損失以及生產過剩,達到提高數控設備的利用率的目的。為此,本發明將精益生產“流動”的理念引入柔性機加數控生產單元,基于數控設備的加工柔性和產品的工藝柔性,建立一種節拍平衡方法。
本發明的柔性機加工數控生產單元的節拍平衡方法通過遺傳算法實現。其中,遺傳算法是一種進化算法,其基本原理是仿效生物界中的“物競天擇、適者生存”的演化法則。遺傳算法是把問題參數編碼為染色體,再利用迭代的方式進行選擇、交叉以及變異等運算來交換種群中染色體的信息,最終生成符合優化目標的染色體。本發明基于遺傳算法,可以在大量可能的工序組合中找到節拍最為平衡的組合方式。
(一)、數學模型
為了解決實際生產問題,本發明建立如下的數學模型,其中:
設定產品生產共涉及M道工序,且這M道工序構成的工序集合為SP;并設定產品生產可用設備共有N個,且這N個設備構成的設備集合為SF;其中,第j個設備加工完成第i個工序所需的時間為tij,i=1、2、…、M,j=1、2、…、N。
在采用遺傳算法進行工序組合和設配分配時,首先將M道工序隨機劃分為μ個工序組合,其中μ為隨機整數且1≤μ≤M;然后為μ個工序組合隨機分配工序和設備,其中為第k個工序組合隨機分配了mk個工序,這mk個工序構成第k個工序組合的工序子集SPk,并且為第k個工序組合隨機分配了nk個設備,這nk個設備構成第k個工序組合的設備子集SFk;其中,k=1、2、…、μ;mk和nk為隨機整數;在上述工序和設備隨機分配過程中,進行如下限定:
(1)、限定每個工序組合中的工序個數小于或等于設定值,即mk≤Mth,其中,Mth為設定的工序組合中的最大工序個數;
(2)、限定第一個工序組合的設備個數小于或等于設定值,且其他工序組合的設備個數為1,即:n1≤Nth且n2=n3=…=nμ=1,其中,Nth為設定的第一個工序組合中的最大設備個數;
(3)、限定每個工序僅能分配進一個工序組合,即:且SP1∪SP2∪…∪SPμ=SP;其中,k1=1、2、…、μ,k2=1、2、…、μ,k1≠k2;為空集,∩為交集運算符,∪為并集運算符;
(4)、限定每個設備僅能分配進一個工序組合,且設備可存在部分閑置,即:且其中,k1=1、2、…、μ,k2=1、2、…、μ,k1≠k2;為空集,∩為交集運算符,∪為并集運算符;
在遺傳算法實現過程中,每條染色體的適應值通過對目標函數值Ψ=var(T1、T2、…、Tk、…、Tμ)進行標定后得到,適應值與目標函數Ψ的取值成反比,即遺傳過程使得目標函數值最小化。其中,Tk為第k個工序組合的完成工序加工的平均時間,Tk的計算公式如下:
式中,txy為第k個工序組合中,第y個設備加工完成第x個工序所需的時間;k=1、2、…、μ;
(二)、實現方法
在以上的數學模型基礎上,進行遺傳算法運算,決策得到工序組合的劃分方案,即確定出工序組合個數μ,以及各工序組合分配的工序子集和設備子集。本發明的具體實現步驟如下:
步驟一:生成初始種群
隨機生成Q條染色體,組成初始的種群;如圖1所示,每條染色體的基因包括四部分,其中:第一部分為M道工序的工序優先級,第二部分為N個設備的設備優先級,第三部分為第1個工序組合中包含的工序數量m1,第四部分為第1個工序組合中的設備個數n1;其中:Q為設定的正整數;M為設定的生產產品涉及到的工序總量;N為設定的已有設備總量;m1和n1為隨機整數,m1≤Mth且n1≤Nth,Mth為設定的工序組合中工序個數最大值;Nth為設定的第一個工序組合中設備個數最大值;另外,已知第j個設備加工完成第i個工序所需的時間為tij,i=1、2、…、M,j=1、2、…、N;
步驟二:計算適應值,
在本發明中,每條染色體的適應值具體計算過程如下:
(2a)、通過設定的解碼規則,確定每條染色對應的工序組合分配結果,即將M道工序劃分為μ個工序組合,為每個工序組合劃分相應的設備,并計算每個工序組合的平均加工時間;其中:第k個工序組合包括mk個工序且分配了nk個設備,對于每個染色體,μ、mk、nk為隨機整數;其中,mk≤Mth且n2=n3=…=nμ=1,k=1、2、…、μ;如圖2所示的處理流程圖,步驟(2a)的具體實現過程如下:
(2aa)、針對每條染色體,設定將所有工序劃分為μ個工序組合,μ為隨機整數;并設定各工序組合的工序子集和設備子集的初值均為空集;
(2ab)、確定第1個工序組合的工序子集和設備子集,并計算第1個工序組合的平均加工時間T1,具體實現過程如下:
從染色體的第三部分基因中讀取第1個工序組合中包含的工序數量m1;并根據染色體第一部分基因中的M道工序的工序優先級,選取工序優先級最高的m1個工序組成第1個工序組合的工序子集;
從染色體的第四部分基因中讀取第1個工序組合中的設備個數n1;并根據染色體第二部分基因中的N個設備的設備優先級,選取設備優先級最高的n1個設備組成第1個工序組合的設備子集;
根據第1個工序組合的工序子集和設備子集,計算第1個工序組合的平均加工時間T1;
(2ac)、依次確定第2~μ個工序組合的工序子集和設備子集,并計算第2~μ個工序組合的平均加工時間T2~Tμ;其中,在K=2、3、…、~μ時,確定第K個工序組合的工序子集和設備子集,并計算平均加工時間TK的具體實現過程如下:
(1)、在剩余設備中選取設備優先級最高的一個設備加入第K個工序組合的設備子集;并在剩余工序中選取工序優先級最高的一個工序加入第K個工序組合的工序子集;
(2)、計算第K個工序組合的平均加工時間TK;
(3)、將第1個工序組合的平均加工時間T1和第K個工序組合的平均加工時間TK進行比較,其中:如果TK≥T1,則進入步驟(7);如果TK<T1,則進入步驟(4);
(4)、如果mK<Mth且TK<T1,則進入步驟(5);如果mK=Mth且TK<T1,或mK<Mth且TK≥T1,則進入步驟(7);如果mK=Mth且TK≥T1,則進入步驟(6);其中,mK為第K個工序組合的中的工序個數;
(5)、在剩余工序中選取工序優先級最高的一個工序加入第K個工序組合,并更新第K個工序組合的平均加工時間TK和工序個數mK,然后返回步驟(4);
(6)、計算第K個工序組合的平均加工時間TK與T1的差值d;并計算最新加入的工序加入之前,第K個工序組合的平均加工時間TK與T1的差值c;然后以第一概率值為概率允許第K個工序組合保持當前的工序子集不變,而以第二概率值為概率將最新加入的工序從第K個工序組合的工序子集中刪除,并更新平均加工時間TK;然后進步步驟(7);
(7)、判斷第K個工序組合的工序和設備已經完成添加,即得到了第2個工序組合的工序子集和設備子集。
(2ad)、完成。
(2b)、針對每條染色體,計算每個工序組合的平均加工時間的方差值,將所述方差值作為染色體對應的目標函數值Ψ,具體計算過程如下:
(2ba)、計算每個工序組合的平均加工時間,具體計算公式如下:
其中:Tk為第k個工序組合的平均加工時間;txy為第k個工序組合中第y個設備加工完成第x個工序所需的時間;k=1、2、…、μ;
(2bb)、計算目標函數Ψ=var(T1,T2,…,Tμ),其中,即所述目標函數為μ個工序組合平均加工時間的方差值。
(2c)、對每條染色體的目標函數值Ψ進行標定,得到染色體適應值;其中,設定染色體適應值與目標函數值Ψ成反比;
步驟三:根據每條染色體的適應值,使用輪盤賭策略進行下一代Q條染色體的選擇;
步驟四:對步驟三選擇的染色體進行交叉和變異操作;
在本發明中,采用如下策略對染色體進行交叉操作:隨機抽出X個工序,兩個染色體第一部分基因中的所述X個工序對應的工序優先級保持不變,然后兩個染色體將剩余M-X個工序的工序優先級進行互換;其中,X為隨機整數且X<M;隨機抽出Y個設備,兩個染色體第二部分基因中的所述Y個設備對應的設備優先級保持不變,然后兩個染色體將剩余M-Y個設備的工序優先級進行互換;其中,Y為隨機整數且Y<N;兩個染色體交換第三部分的基因,兩個染色交換第四部分的基因。其中,染色體的交叉概率為0.6。
在本發明中,采用如下策略對染色體進行變異操作:隨機抽出X個工序,將染色體第一部分基因中的所述X個工序對應的工序優先級保持不變,然后將剩余M-X個工序的工序優先級進行隨機互換;其中,X為隨機整數且X<M;隨機抽出Y個設備,將染色體第二部分基因中的所述Y個設備對應的設備優先級保持不變,然后將剩余M-Y個設備的工序優先級進行隨機互換;其中,Y為隨機整數且Y<N;染色體交換第三部分的基因和第四部分的基因進行重新置數。其中,染色體的變異概率為0.1。
步驟五:遺傳迭代
對完成交叉和變異操作后的染色體,重復步驟二~步驟四,進行遺傳迭代操作,并在達到設定的迭代結束條件時,跳出遺傳迭代操作,將目標函數值最小值對應的染色體輸出。其中,迭代結束條件可以設定為:達到設定的迭代次數,或是存在染色體對應目標函數Ψ的取值小于或等于設定門限值,則可以結束迭代。
實施例:
在本實施例中,以某數控機加殼體類產品生產單元作為本發明方法的實施對象。其中,殼體產品的加工工序包括為各個視圖、主孔和后孔進行加工。具體的工序組成為:主視圖、后視圖、仰視圖、俯視圖、左視圖、右視圖、主孔和后孔的加工任務,共計8個工序。各工序之間沒有固定的先后關系約束,可以將任意幾個工序進行組合,最終實現將所有工序劃分為幾個工序組合。
另外,為殼體單元配備的數控設備有:3臺DMG635V、1臺VCP600、1臺VMC500和1臺TCS2CZ鉆攻中心。其中,DMG635V、VCP600和VMC500為數控銑床,且VCP600效率最高,而VMC500效率最低。三種銑床都可以完成鉆孔工作,但效率均低于TCS2CZ鉆攻中心。同樣,TCS2CZ鉆工中心可以完成銑工工作,但效率低于上述三種銑床。
視圖之間的切換需要重新裝夾,所以一個產品每個工序的完成時間為該工序所配備設備完成該產品所需的加工時間與該工序所需的裝夾時間之和。加工時間與該工序的加工復雜程度以及所配備的設備有關,該時間可由數控設備模擬得到。當一個工序組合由多個設備共同加工時,在計算加工時間時,將所有設備看作并行完成該工序組合的加工任務且效率互不影響。裝夾時間與所配備的設備無關,可由工藝人員通過經驗推測得到。
車間對于產品的主孔和后孔這兩個工序的加工有兩種方式:
1)一般而言,當主孔和后孔的任務量比較大時,考慮由TCS2CZ鉆攻中心完成主孔和后孔的工序任務,如果生產節拍允許,可以將其他視圖等與主孔、后孔進行工序組合交由TCS2CZ來完成。
2)一般而言,當主孔和后孔的任務量比較小時,考慮在加工主視圖時順帶加工主孔,將上述規定的主視圖和主孔兩個工序看作一個工序,并且節省一個工序的裝夾時間。同樣的,在加工后視圖時順帶加工后孔,將后視圖和后孔兩個工序也看作一個工序。采用這種方式進行加工時,TCS2CZ加工中心不參與加工。
第一種加工方式相比上文所建通用數學模型而言,增加了主孔和后孔兩個工序只由TCS2CZ鉆攻中心加工的約束。第二種加工方式將主孔、后孔分別與主視圖、后視圖合并之后,完全適用于通用數學模型。
在本實施例中,采用本發明的節拍平能方法對上述兩種加工方式進行處理,得到各加工方式的最佳平衡方案,其中各設備實現各工序的加工和裝夾時間如表1所示。
表1加工設備完成各工序的時間表(時間單位:min)
操作者可以對設備進行編號,相同設備采用相同編號。如對VMC500編號為1,DMG635V編號為2,VCP600編號為3,TCS2CZ編號為4。所以,可用設備集合為{1,2,2,2,3,4}。操作者需對工序進行編號,從主視圖到后孔依次編號為1-8。設定每個工序組合中的工序個數最大值Mth=3,并設定第一個工序組合中的最大工序個數Nth為3。
根據上述的設定的初始條件,采用本發明的節拍平衡方法進行處理,其中,設定遺傳算法中的種群規模為200,即隨機生成200條染色體組成初始種群,并設定遺傳迭代次數為150次。
對染色體進行編碼時,染色體基因對應的編碼長度為16為,其中,前8位為8個工序的工序優先級,后續6位為6臺設備的設備優先級排序,后續一位是第一工序組合中的工序個數,最后一位為第一工序組合中的設備個數。
采用本發明的節拍平衡方法,得到的工序組合分配結果如表2所示,其中用1(7)和2(8)代表合并之后的工序。
表2節拍平衡最佳效果方案
以上所述,僅為本發明一個具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。
本發明說明書中未作詳細描述的內容屬于本領域專業技術人員的公知技術。