龐如英,康瑞林
(內蒙古工業大學機械工程學院,內蒙古 呼和浩特 010051)
隨著客戶需求的個性化以及以銷定產理念占主導地位等多方面因素的影響,需要企業采取訂貨生產(MTO,Make-to-Order)方式,同時為了快速響應市場的需求,企業通常又需要采用備貨生產(Make-to-Stock,MTS)方式,因此許多企業采用的是二者相結合的MTS∕MTO混合生產模式[1]。
生產調度問題本身就是一個NP難問題,在混合生產中,面對不同生產方式的訂單,生產過程隨機性、不確定性和復雜性增大,因此使整個控制系統變得更加困難。為了既能縮短MTO訂單的生產周期,滿足交貨期;同時又能使MTS訂單保持一定的最優庫存量,混合生產排序策略成為混合制生產模式要解決的一個關鍵問題。目前只有少數學者關注MTS∕MTO混合生產訂單排序策略。
文獻[2]認為MTO訂單帶來的收益最大,優先安排MTO訂單,并且最大限度地滿足MTO訂單準時交貨;有剩余產能存在的前提下,根據綜合值的大小安排MTS、MTS∕MTO訂單。文獻[3]和文獻[1]利用避免饑餓法對訂單進行投放,投放模塊確保MTO訂單按時投放,只有等所有的MTO訂單投放完成后才開始投放MTS訂單用于填滿剩余產能。實際上,他們的模型缺少合理的優先次序,MTO訂單被優先投放,而不能在合適的時間投放MTS訂單。另外,Chang等和Wu等假設瓶頸設備是已知的,通過瓶頸設備的利用率控制設備負荷。如果混合系統的動態性很高,瓶頸設備的位置會發生轉移,不能準確控制所有設備的負荷時,這個假設不成立。訂單的動態性和不規則性,使得MTS∕MTO混合生產系統中訂單排序變得相當困難甚至難以實現。
文獻[4]在混合MTS∕MTO生產背景下構建了層次生產計劃結構,其生產排序優先級依次為MTO、MTS∕MTO和MTS。文獻[5]為了保證MTO產品能夠準時交貨,將MTO訂單生產優先于MTS訂單。文獻[6]編制MTS∕MTO混合生產計劃時,依據產品的時間緊急度排序優先生產MTO訂單,MTS訂單依據在制品的數量決定投放順序。同樣,文獻[7、8]通過計算MTS和MTO訂單的緊急度,確定訂單的投放優先級為:緊急MTO>緊急MTS>非緊急MTO>非緊急MTS。Eivazy等在上述排序中遇到隊列值相同時,利用最短剩余時間(SRPT)規則來決定優先級。如果數值再次相等時,利用剩余潛在瓶頸步驟中累計加工時間小的訂單優先級高。
分析上述文獻,所有模型大體上都是優先加工MTO訂單,即使文獻[7、8]考慮了MTS訂單,也只是簡單進行了歸類,而不符合實際生產,實際上并非所有情況下,MTS訂單收益都小于MTO訂單,因此現有文獻對混合訂單投放策略考慮不周全,缺少一種較嚴謹的科學投放方法。因此,構建了考慮綜合收益的訂單緊急度,在此基礎上,建立動態的MTS、MTO訂單排產決策,以縮短訂單的加工時間,提高設備利用率。
MTS∕MTO混合生產系統具有極大的隨機性,如果訂單池中訂單投放順序混亂,就會引起生產系統負荷不平衡,這種不平衡現象會導致瓶頸設備轉移。為了解決MTS∕MTO混合生產的動態性和復雜性,運用負荷控制法控制每臺設備負荷的上限閾值,確定訂單投放時間,將系統負荷(WIP)維持在一定的穩定水平,來有效避免設備閑置或擁堵,以及由交貨期等隨機因素引起的負荷變化,保證生產有序、最大完成時間最小。
為了將MTO、MTS生產統一建模,將MTS產品也看成一種訂單,其客戶為庫房,訂單量為預測量。
負荷度量指標通常分為兩種:即加工工件數目和加工時間。由于各設備之間的工作量相差可能甚大,加工工件數目不能精確統計每臺設備的負荷,為了準確反映生產系統的負荷變化情況,采用按加工時間法統計車間負荷。
生產系統由訂單池、生產車間、加工設備組成,各環節之間的關系以及負荷分布情況,如圖1所示。當訂單j進入生產系統后,未被投放之前,不消耗生產資源,所以當訂單在訂單池中等待投放時,形成投放負荷LP;當訂單j進入生產車間,投放后尚未到某臺設備s的隊列,相對某臺設備s形成的負荷稱為上游負荷LU;直接負荷LD:各設備加工隊列的負荷分布情況;集成負荷LF:包含設備上游負荷LU和設備直接負荷LD。由于投放負荷LP尚未消耗生產能力,對設備s的負荷貢獻率為0,因此用集成負荷LF控制設備上限負荷閾值。

圖1 生產系統負荷分布Fig.1 Load Distribution of Production System
由于訂單隨機到達,導致訂單優先級排序不斷更新,因此每次投放之前和結束之后都要對設備負荷進行更新,確定下一次的投放時機。
常用的負荷統計方法有:折算負荷統計方法(Load Convert?ed)、集成負荷統計方法(Aggregate)。文獻[9]研究了以上兩負荷統計方法,結果顯示:Load Converted方法當訂單數量過多時,不能精確統計設備負荷;而Aggregate方法當訂單的工藝路線存在較強主流向時,不太適用。文獻[12]提出了一種新的統計方法:修正集成負荷統計方法(Adjusted Aggregate Load),采用該方法統計作業車間設備集成負荷時,設備s的負荷不會隨著工序的變化進行波動,可以設置固定的負荷閾值,確定準確的投放時機。隨機動態MTS∕MTO混合生產模式,依據產品加工工藝路線安排訂單工序并做動態調整,采用修正集成負荷統計方法對設備負荷進行統計。
設備s集成負荷LF為:

式中:Pjs—訂單j在設備s上的加工時間;
n js—訂單j在設備s上加工的工序號。
此種統計方法按照訂單j首道工序與設備S的距離進行折算,距離越遠負荷貢獻越小,距離越近負荷貢獻越大。
通過設備s集成負荷與設備s最大負荷差值控制設備負荷上限閾值,據此確定訂單投放時機。
Ns為設備的最大負荷;
當Ns>L F:設備s集成負荷未達到設備s最大負荷閾值上限,此時可以繼續投放訂單;
當Ns=L F:設備s集成負荷滿足設備s最大負荷閾值上限,此時保持當前現狀即可。
按投放驅動的方向來分析,投放方法分為:拉式投放(PULL),當設備負荷降到負荷閾值下限時,投放模塊立即啟動;推式投放(PUSH),在合適的投放時間點,按優先次序將待投放訂單依次“推”向車間,并保持車間各設備負荷滿足投放要求。
由于PULL方法優先投放緊急訂單,促使急單順利進入生產車間,當各工位負荷不均衡時,PULL方法影響投放時間的準確性。而PUSH方法不會出現訂單滯留現象,訂單到達時直接進入首道工序隊列,但忽視了急單的處理而產生過多的拖期訂單。為了合理有序的投放訂單,將兩種投放方法相結合,構建推拉混合投放方法。混合投放方法的投放規則如下:
(1)初始工序按拉式投放,當設備閑置時開始工作。
(2)其它工序按推式投放。
訂單投放主要研究采用什么樣的策略將一定數量的訂單在適當的時間從訂單池投放到生產線。主要內容是:
(1)確定訂單池中待投放訂單的投放優先級。
(2)確定訂單投放時機。
訂單動態排序過程中投放模塊同時并持續完成這兩項內容。首先,確定訂單池中投放訂單的優先級和隊列。然后依次檢查所有訂單的投放條件,只要滿足投放要求,訂單池中就會形成一系列滿足投放條件的訂單,稱為可行集。最后,可行集中訂單按優先級排序,逐個檢查每個訂單的投放可行性,直到可行集中所有訂單被投放為止。
已有研究文獻對訂單緊急度的確定,只關注了交貨期屬性,而在企業實際操作中還會考慮到訂單的利潤、工藝復雜性等。因為MTO訂單的個性化需求高,加工工藝比較復雜,但給企業帶來巨大的收益和發展潛力;而MTS主要生產大眾化產品,工藝過程相對比較成熟簡單,成本低,但MTS生產需要進行備貨,相對于MTO生產占用了大量流動資金。故將綜合交貨期、利潤、工藝復雜性確定訂單緊急度。
通過上述分析,MTS∕MTO混合生產車間訂單池中訂單的優先級通過計算MTS、MTO訂單的緊急度C R來確定。

式中:Uj—訂單j交貨期緊急度因子。當訂單類別為M TO時,U j=(toj-t)/T j,其中t—當前時間;toj—訂單j的交貨時間;Tj—訂單j的加工周期。當訂單類別為MTS時,Uj=Ij∕Dj,其中D j—預計訂單j的需求量;Ij—訂單j的庫存量(包含在制品)。Bj—訂單j的工藝復雜性因子,表示訂單的工藝復雜度與企業生產資源、工人技術水平的匹配程度。如果企業現有的生產資源、工人技術水平不能滿足訂單某道工序的工藝要求,這種訂單就可以外包或拒絕,采用灰色關聯分析理論確定訂單的工藝復雜性,為無量綱量。F j—訂單j的利潤因子;為了統一數量級,且轉化為無量綱量,除以10000元。

式中:Pj—訂單j的單價;C j—訂單j的生產成本;Wj—訂單j的機會成本,表示利用一定的時間或資源生產某一訂單時,而失去利用這些資源生產其他最佳訂單的機會;Hj—訂單j的實際交貨數量。
α、β、γ:U j、Bj、1∕F j三者的權重系數,用熵值法確定。
由式(2),訂單池中MTO、MTS訂單的優先級與其緊急度成反比,當訂單的交貨期緊急度因子越小,工藝較簡單,利潤越豐厚,訂單的優先級越高。通常情況下MTO訂單帶來的收益相對較高,所以當緊急度相同時,優先投放MTO訂單。
在訂單池中,按優先級排序確定訂單投放隊列,基于修正集成負荷統計法實時控制生產線設備負荷,設定投放條件來確定訂單投放時機。檢查訂單池中投放訂單的可行性,當設備負荷降為0時,啟動投放狀態,連續檢查訂單池中訂單的投放條件,以應對車間設備負荷的變動。對于每個投放條件來說,只有不超過設備的負荷閾值時才投放訂單,由于MTS∕MTO混合生產會面臨多種訂單排產,訂單投放并不固定在某一個周期,只要當機器的負荷條件滿足投放條件開始投放訂單,不考慮批量投放生產,只考慮按單個訂單投放。訂單的投放流程,如圖2所示;具體過程如下:
(1)訂單池中存在緊急訂單:將所有的緊急訂單形成可行集,如果可行集中優先級最高的訂單投放后不會超過設備的負荷閾值,投放該訂單;否則,檢查可行集內次優先級訂單,重復檢查直到可行集內的訂單不滿足投放條件為止。訂單被投放后,更新所有設備的負荷和訂單池中訂單的優先級。
(2)某設備隊列中所有訂單都是非緊急訂單:為了防止第一臺設備閑置,采用推式投放方法。這里可行集包括訂單池里的緊急訂單,采用上述投放程序檢查可行集內訂單的投放條件。
(3)某臺設備閑置:可行集中訂單的第一道工序設備與該設備相關,基于之前的投放程序采用拉式投放法檢查可行集內訂單的投放條件。這種拉式負荷控制投放法,有利于提高設備利用率,減小訂單在訂單池或設備隊列中的等待時間或者總的完成時間,并且使設備負荷保持平衡。

圖2訂單投放流程Fig.2 Process of Release Orders
某機加車間由9臺加工設備組成,每臺設備只完成1道工序,各設備的生產能力,如表1所示。該車間目前共接收了6份訂單,各訂單生產信息,如表2所示。

表1設備生產能力(單位:min)Tab.1 Production Capacity of Each Machine(min)

表2訂單生產信息Tab.2 Production Information of Each Order
這6份訂單分別要求按照事先規定好的工藝順序,在指定的機器組上完成,如表3所示。其中括號內的數字為工序所使用的設備號。

表3 訂單加工工序所用的加工設備及加工時間(單位:min)Tab.3 Processing Time and Machine of Order Craft Route(min)
混合生產排序問題是組合優化問題,是NP難題。求解這類問題主要采用啟發式算法。遺傳算法是一種全局優化概率搜索算法,可以快速搜索可行解中的全體解,而不會陷入局部最優解的陷阱;并且利用它的內在并行性,可以進行分布式計算,加快求解速度,通常用于求解復雜調度問題[10]。運用Matlab軟件采用遺傳算法對上述模型進行求解,各參數設置如下:NIND=40(種群大小),MAXGEN=50(遺傳代數),P-Cross=0.89(交叉率),P-Mutation=0.6(變異率)。
采用基于工序進行編碼,易于與GA進行結合。由n個工件,每個工件包含m道工序組成的訂單群,基于工序進行編碼形成n×m個表示工序的基因染色體,每個基因僅表示工序的先后約束,不表示具體的某道工序。采用最大加工時間最小化為適應度函數確定種群規模,將互換變異與逆轉變異相結合進行變異操作。適應度函數:

式中:f(x)—最大完成時間;c—目標函數界限保守估計值;由于最大完成時間一個正值,所以令1+c=0,則適應度函數為:

采用灰色關聯分析理論確定每份訂單的工藝復雜度系數;熵值法確定了緊急因子、利潤、工藝復雜度分別對應的權重為αS=0.29、βS=0.38、γS=0.33;αO=0.41、βO=0.20、γO=0.39;最后根據公式(2)計算每份訂單的緊急度,如表4所示。

表4 訂單優先權系數表Tab.4 Priority Coefficient of Each Order
按訂單緊急度由高至低排序,根據推拉混合投放方法,確定訂單的投放序列為6-2-4-3-1-5,執行先進先出(FIFO)調度規則,訂單調度甘特圖和解的變化,如圖3所示。遺傳算法通過15次迭代找到問題的最優解,并且趨于穩定,該方法完成所有的訂單只需4550mins。

圖3 訂單調度甘特圖及解的變化Fig.3 Gantt Chart and Change of Junction
圖3中,各矩形條上:第一個數字表示訂單序號,后兩位數字表示工序號。比如“201”表示訂單2的第一道工序。
為了驗證這里提出投放方法的有效性,以現有MTS∕MTO混合生產排序文獻提出的投放策略作為參照,驗證提出的投放方法(投放方法A)的有效性。投放方法B:按優先投放MTO訂單,全部MTO訂單投放完后再投放MTS訂單,確定訂單的投放序列為4-6-5-1-2-3,訂單調度甘特圖和解的變化,如圖4所示。

圖4 投放方法B訂單調度甘特圖及解的變化Fig.4 Gantt Chart and Change of Junction of Delivery Method B
投放方法C:按緊急MTO>緊急MTS>非緊急MTO>非緊急MTS優先級投放訂單,確定訂單的投放序列為4-6-1-2-3-5,訂單調度甘特圖和解的變化,如圖5所示。三種投放方法以最大加工時間、設備利用率作為績效指標,執行先進先出(FIFO)調度規則。從圖3~圖5可以得出:投放方法A完成所有訂單需要4550min,而采用投放方法B完成所有訂單需要5350min,投放方法C需要5050min才能完成所有訂單。投放方法A、B控制下訂單完成時間趨于穩定,投放方法C控制下訂單完成時間波動較大,所以投放方法A能以最短的時間滿足交貨期。設備利用率由Flexsim仿真得到,結果如表5所示。由表5可知投放方法A設備平均利用率為44.8%,投放方法B、C設備平均利用率分別為38.1%、40.4%,相比之下投放方法A更能有效的利用和平衡設備資源。

圖5 投放方法C訂單調度甘特圖及解的變化Fig.5 Gantt Chart and Change of Junction of Delivery Method C
用負荷控制方法構建了MTS∕MTO混合生產控制模型。然后分析了影響MTS、MTO訂單緊急度的關鍵因子,構建了MTS∕MTO混合訂單投放排序模型,并用推拉混合投放方法檢驗各設備的負荷閾值確定投放時間。最后采用遺傳算法對該模型進行案例分析,得到所有訂單的最短加工時間為4550min,優于現有投放方法B、C的加工時間,分別為5350min、5050min;且設備平均利用率為44.8%,高于投放方法B、C的設備平均利用率,分別為38.1%、40.4%。
該模型綜合考慮了影響訂單排序決策因素及其之間的重要程度,并將MTS、MTO兩種訂單統一考慮,更符合企業生產實際。