



摘要:在過去的幾十年中,混合流水車間調度問題受到了學術界的廣泛關注,并取得了不錯的研究成果。但是該類問題的研究仍然限制于理論層面,很難將其真正應用在企業實際生產之中。本文以某洗護用品生產廠商為研究對象,利用AnyLogic中基于智能體的建模方法,根據實際生產流程搭建仿真模型。并且設計了一種新的調度規則應用于實際生產,根據企業的實際生產任務數據進行仿真實驗,并對生產數據進行了分析。
關鍵詞:AnyLogic;混合流水車間;仿真
1 引言
混合流水車間(Hybrid Flow Shop,HFS)是生產制造業廣泛存在的一種生產組織形式。二十世紀七十年代,Salvador首次提出了混合流水車間調度問題。在過去的幾十年中,該問題在工業工程、運籌學、計算智能等領域獲得了廣泛關注,目前取得了很大的研究進展。一個優秀的混合流水車間生產調度方案可以幫助生產廠商縮短生產周期、提高機器利用率、節約人力物力成本等。但是該類問題的研究仍存在很多問題,例如模型過于簡化、約束條件過于簡單等,造成了對該問題的研究仍然限制于理論層面,很難將其真正應用在企業實際生產之中。
混合流水車間調度問題根據求解方法不同,主要可以分為精確方法、近似方法和混合方法。精確算法雖然能夠求得問題的最優解。但是,即使針對最簡單的兩階段混合流水車間調度問題也屬于NP-hard問題。當問題規模擴大,可行解的數量會呈現指數級別的上升。所以,這類方法僅局限于小規模問題的求解。
近似算法雖然不能求得問題的最優解,但能夠短時間內求解得到一個滿意的解,因而得到廣泛應用。近似方法又稱為啟發式算法,可以分為構造啟發式和優化啟發式。基于規則的優先級調度就是一種常見的構造啟發式方法。并且在針對大規模的現實問題時,該方法應用簡單,求解效率高,因而具有較高的現實應用價值。例如Brah等人針對實際生產車間,搭建了仿真模型。通過在仿真模型中應用不同的調度規則來研究了不同調度規則對生產結果的影響,并最終選擇了最短作業優先規則應用于實際生產之中。Thornton等人提出了在Johnson規則基礎上結合先到先服務規則應用于生產調度問題之中,并取得了不錯的應用成果。Kia等人通過實驗比較7種不同調度規則的使用效果。實驗結果證明最小剩余工時優先與Wilkerson和Irvin法則效果最好。
AnyLogic是一款得到廣泛應用的支持多種建模方法的仿真軟件,例如基于智能體的建模方法。這種建模方法可以建立起分布式計算模型。也就是通過建立一個多智能體模型,這個模型由多個獨立自治的智能體組成,使得模型的數據資源等分散在各個智能體之中,各個智能體都具有一定獨立計算的能力,通過智能體之間的通信協作共同完成復雜的計算任務。相較于一般的集中計算模型,即所有計算均通過一個模型完成,再根據計算結果將工件分配給機器,機器只是被動地接受結果,而非主動參與到計算過程中。這種分布式的計算方法針對現實中的大規模問題,求解效率更高。所以可以利用AnyLogic軟件中基于智能體的建模方法搭建仿真模型,模擬企業的實際生產流程,從而解決實際生產中的混合流水車間調度問題。
基于此,本文借助AnyLogic中基于智能體的建模方法,根據實際生產流程搭建仿真模型,通過設計調度規則應用于實際生產中,幫助企業提高生產效率。
2 問題描述
混合流水車間調度問題可以描述為? 個任務需要經過多道工序的加工,每個階段具有多臺機器。所有任務具有相同的加工流程1。需要為任務分配加工機器以及安排好任務在機器上的加工順序,最終完成所有生產任務2。
根據生產階段之間是否存在存儲區以及存儲策略的不同,可以將混合流水車間調度問題分為無限中間緩沖問題、有限中間緩沖問題、無中間緩沖問題和零等待問題3。
本文以某液體洗護用品生產企業為研究對象,該企業的生產過程主要可以分為三個階段。首先,鍋爐將原材料燒制成相應的液體洗護產品,然后由管道運輸至存儲罐進行臨時存儲,最后在灌裝線上完成產品灌裝。所以該問題屬于帶有有限中間緩沖約束的混合流水車間調度問題。即當鍋爐完成對生產任務的原材料燒制之后,將鍋爐中燒制完成的材料轉移至存儲罐進行臨時存儲。并且存儲罐的存儲空間是有限的。如果不存在合適的存儲罐用來轉移燒制完成的材料,則該任務仍然占據鍋爐的使用空間,造成該加工機器的堵塞,沒法對下一個任務進行加工。
該生產車間一共有8個鍋爐,18個臨時存儲罐和10條灌裝線。任務在同一生產階段的不同機器上進行加工,所需的加工時間不同,屬于不相關并行機4。也就是說同一個生產任務在不同鍋爐上進行原材料的燒制所需的燒制時間是不同的;選擇不同的灌裝線進行產品灌裝,所需的灌裝時間也是不同的。并且每個任務可加工的機器也存在著限制,并不是在所有機器上都能進行加工。相鄰生產階段的兩個機器之間采用管道的形式相互連接,并且機器之間存在連接限制。一個鍋爐連接著若干存儲罐,一個存儲罐連接著若干灌裝線。所以在為任務選擇合適的機器進行加工時,不僅需要考慮是否能在該機器上加工,同時需要考慮下一生產階段的機器與該機器的連接關系。
由于該企業生產的是液體洗護用品,需要將不同的原材料燒制成相應的液體產品,再進行灌裝。所以當鍋爐上燒制不同種類的原材料時,首先需要清洗鍋爐,待鍋爐清洗完成之后才能進行下一個任務的原材料燒制。當灌裝線上需要灌裝另一種類的產品時,也需要一定時間切換灌裝工具,待工具切換完成之后,才能進行下一個任務的產品灌裝。清洗鍋爐的時間與相鄰兩個燒制任務所需原材料種類以及燒制的鍋爐相關;切換灌裝線的時間與相鄰兩個灌裝任務所需灌裝的產品種類以及灌裝的灌裝線相關。
3 仿真模型建立
本文借助AnyLogic中基于智能體的建模方法,根據實際生產流程搭建仿真模型5。該多智能體模型由任務智能體、鍋爐智能體、存儲罐智能體和灌裝線智能體組成。通過一定的調度規則與智能體之間的通信協作,共同完成復雜的生產任務。
3.1 任務智能體
任務智能體是企業實際的生產任務,通過外部數據庫導入,包括生產任務的編號、原材料類別、產品類別、加工時間等基本信息。在仿真模型運行開始時,首先會根據這些外部輸入的生產任務數據生成相應的任務智能體群。所有任務智能體與數據庫中的生產任務信息一一對應,一條生產任務數據就對應一個任務智能體。在仿真模型運行過程中,任務智能體會將實時生產數據記錄下來,包括各個任務分別安排在幾號機器,開始加工時間、結束加工時間等。最終,這些生產數據會Excel表格的形式輸出系統。
3.2 鍋爐智能體
處于空閑狀態的鍋爐智能體會根據一定的調度規則選擇生產任務進行原材料的燒制。如果找到了可以加工的生產任務,在對任務進行加工之前,首先需要判斷該任務的原材料種類是否與緊前任務相同。如果不同,則首先需要對鍋爐進行清洗。當清洗完成之后,才能對該任務對應的原材料進行燒制。待原材料燒制完成后,會根據一定的調度規則,選擇合適的存儲罐存儲這些燒制完成的材料。直到所有生產任務均已完成原材料的燒制,則鍋爐智能體進入最終狀態,完成生產。鍋爐智能體的邏輯流程如圖1所示。
3.3 存儲罐智能體
任務在鍋爐上完成原材料的燒制后,將其轉移至存儲罐進行臨時存儲。存儲罐智能體按照一定的調度規則尋找合適的灌裝線,并且通過向該灌裝線智能體發送特定消息的形式,觸發灌裝線智能體對該任務進行灌裝操作。
3.4 灌裝線智能體
灌裝線智能體首先處于閑置狀態,直到接收到存儲罐智能體發送的特定消息時,表示需要對該生產任務進行第三階段的加工——產品灌裝,灌裝線智能體才離開閑置狀態,開始加工。在灌裝之前,首先需要判斷該任務的產品種類是否與緊前任務相同。如果不同,則首先需要切換灌裝工具。等到切換工具完成,再進行產品的灌裝。直到所有生產任務均已完成產品的灌裝,則灌裝線智能體進入最終狀態,完成生產。灌裝線智能體的邏輯流程如圖2所示。
4 調度規則簡介
本文所提出的調度規則是基于該企業的實際生產,產品的生產過程主要可以三個階段:原材料燒制、臨時存儲、產品灌裝。當同一鍋爐上連續燒制兩種不同的原材料時,需要先對鍋爐進行清洗。當同一灌裝線上連續燒制兩種不同的產品時,需要先切換灌裝工具。該企業依靠經驗豐富的老師傅通過人工排產的方式制定生產計劃。為了盡可能減少清洗鍋爐和切換灌裝工具的時間,該企業根據將相同原材料的任務安排在同一鍋爐上,相同產品的任務安排在同一灌裝線上的原則安排生產,同時注意協調好各個機器上的工作量。
在該人工排產規則基礎上,本文提出調度策略如下:
4.1 將原材料分配到鍋爐進行燒制
每個生產任務都有對應的原材料,每種原材料可以在若干個鍋爐上進行燒制且在不同的鍋爐上加工的時間并不相同。首先挑選出可以對該原材料進行燒制的所有鍋爐,根據燒制所需時間進行排序,將所有原材料相同的生產任務安排在加工時間最短的鍋爐上。
4.2 均衡鍋爐的任務量
將相同原材料的生產任務安排在同一鍋爐上,可能導致各鍋爐的工作量不均衡。為了均衡工作量,當某個鍋爐完成所有生產任務時,會幫助其他鍋爐分擔生產任務。具體規則如下:首先選擇待加工任務數最多的鍋爐。如果該鍋爐上有多種原材料需要進行燒制,則選擇在這個空閑鍋爐上所需燒制時間最短的,將相同原材料的任務全部從該鍋爐轉移至這個空閑鍋爐上進行燒制。如果所有待加工的生產任務均屬于同一種原材料,則與該鍋爐共同完成剩余任務的燒制。
4.3 臨時存儲罐的選擇
當鍋爐上完成原材料的燒制后,如果存在與該鍋爐相連且空置的存儲罐,則將其轉移至該存儲罐;否則仍然占用該鍋爐。當鍋爐被占用時,就不能進行下一個原材料燒制任務。
4.4 灌裝線的選擇
存儲罐內的產品需要選擇灌裝線進行最后一步的產品灌裝。具體規則如下:在所有相連且可以對該產品進行灌裝的空閑灌裝線中,如果存在不需要切換灌裝工具的灌裝線則選擇灌裝時間最短的。否則選擇切換灌裝工具時間和灌裝時間的總和最小的。
5 仿真結果分析
根據該企業實際生產車間架構與生產流程搭建仿真模型,并以實際生產中的443個任務為例,進行仿真實驗,得到各鍋爐和灌裝線上的加工數據如表1和表2所示。其中,“閑置時間”是指該機器完成所有生產任務后等待同階段的其他機器完成生產的時間。
從表1可以看出,本文所提出的調度規則減少了鍋爐的清洗次數,并且通過均衡各個鍋爐上的工作量,使得鍋爐的利用率較高。其中4、7、8號鍋爐的任務量較少是因為可以在這些鍋爐上加工的任務較少。
從表2可以看出,本文所提出的調度規則也減少了灌裝線的清洗次數,并且通過均衡各灌裝線上的工作量,使得灌裝線的利用率較高。
6 小結
本文利用仿真來解決混合流水車間調度問題。本文以某液體日用品生產企業為研究對象,通過利用基于智能體的建模方法建立了混合流水車間調度問題的仿真模型。將實際生產中的生產機器,例如鍋爐、存儲罐和灌裝線均設置成智能體,多個智能體之間相互協調,根據已設置的調度規則合作完成復雜的生產任務。這種方式可以模擬企業的實際生產流程,對模型運行產生的生產數據進行分析,可以幫助企業改善生產計劃,具有一定現實意義與實用價值。
本文的研究也存在一些不足之處。在以后的研究中,可以考慮一些動態事件對車間的影響,例如機器故障等,使得研究更加貼近實際生產。
參考文獻
[1] 張志鵬.基于多目標遺傳粒子群混合算法求解混合流水車間調度問題研究[D].大連交通大學,2014.
[2] 任彩樂,張超勇,孟磊磊等.基于改進候鳥優化算法的混合流水車間調度問題[J].計算機集成制造系統,2019,25(3):643-653.
[3] 王炳剛, 饒運清, 邵新宇. 帶有限中間緩沖區的多級并行機問題的求解[J].華中科技大學學報(自然科學版), 2009(05):91-94.
[4] 王凌,周剛,許燁,王圣堯.求解不相關并行機混合流水線調度問題的人工蜂群算法[J].控制理論與應用,2012,29(12):1551-1557.
[5] Merkupyeva G,Bolshakovs V.Vehicle Schedule Simulation with AnyLogic[C].International Conference on Computer Modelling & Simulation, 2010.
作者簡介:馬薇薇(1996-),女,浙江紹興人,碩士研究生,研究方向:生產計劃與調度。