生產排程系統演算法模型簡要設計<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
我們公司是典型的離散型生產系統,產品品種繁多,工藝流程長,且互動複雜。這一型別的生產系統具有很強的典型性,如何對這類生產系統進行建模並求解,我花費了很長的時間學習。在東南大學<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />李宵峰博士後和上海交通大學潘常春博士的指導下,我初步了解了我公司的模型演算法,下面簡述如下。
一、模型建立
生產模型主要是建立每個產品的每個工序和裝置之間的關係。這種關係可以通過數學公式建立,例如線性規劃、整數規劃、動態規劃等;也可以通過自然語言的規則建立,有限的不相互矛盾的幾條規則的集合就是該模型的結果域;還有用模糊數學的方法建立模糊集,一般情況下這種集合不會很大。但這些方法運用在建立我們公司的模型上均不能很好的表達現狀。這些方法均需要對生產現場進行很多的近似,這些近似使模型和生產現場實際和理論嚴重不符,因為少數被近似掉的內容可能恰恰是最重要的。因此我們公司生產模型的乙個重要的特點就是不能近似,但同時也不能太複雜,太複雜了根本無法求解。
根據上述分析,我們決定採用**建模,將所有生產中的要素用**描述出來,在需要的時候進行查表。這種模型的設計思路得益於四班的設計,四班建立的就是**模型。
bom是四班建立的模型,用**的形式將產品物料之間的層次和數量關係表述得一清二楚,我們這個系統也將用**的形式將每個物料的工序、工序間的先後關係、每個工序的可用裝置、
可用裝置間的優先順序關係、裝置的能力、效率表述出來。這種模型結構原理簡單清楚,維護方便,在更改模型時不需要修改程式的設計,缺點是維護的工作量大,但可以通過將來結合工藝設計系統來得到彌補,使模型維護的時間按現在的標準減少到零。
**模型也叫關係型模型,**模型的最大優點在於可以做到和工藝系統的無縫連線,使公司的生產技術結合成為乙個有機的整體,能夠從整體上提高公司的管理效率,是今後管理的乙個比較好的發展方向。缺點是資料量特別大,對於比較大的公司來講,就需要避免將不相關的部門和車間放在同乙個模型裡,在能分開做的時候還是盡量分開做。同時**模型存在反覆查表的缺陷,程式執行時間可能會比較長。
二、訂單預處理優化規則的設計
訂單預處理優化規則著重於解決在所有裝置上,排程開始第乙個生產的產品是什麼,以後的生產順序是什麼?在這一階段的優化上,沒有精確的方法,只有一些近似的方法和一些人為的規則。我們初步分析認為,通過訂單的優先順序、剩餘加工時間、剩餘加工時間冗餘度等確定哪個訂單先加工,哪個訂單後加工?在預處理的時候應該能夠預先知道這些產品能否按期完成。對於明顯不能按期完成的訂單如何進行處理,以及**和後面的**的結果的差異性是評價預處理優化規則設計優劣的最重要的指標。
還有乙個要求就是對這些規則的設計必須進行邏輯分析,避免規則的對立和不相容,根據規則之間的關係確定規則的運算方法。
三、離散事件排程法
在確定了第一道工序的加工順序後,通過離散事件排程法確定每道工序的生產先後順序。可以認為每個裝置的生產時間就是有離散事件排程法確定的。在對訂單生產安排結果的影響上,訂單預處理優化從大的方面確定了訂單的完成優先順序,離散事件排程法從細節方面確定訂單的具體完成時間。可以認為訂單預處理優化是訂單的初排程,離散事件排程法是在粗排程基礎上的詳細排程。下面將詳細介紹離散事件排程法的設計思路。 1
、程式設計
首先設計乙個裝置類。裝置類有「事件緩衝器」乙個、
「下一事件狀態器」乙個,「下一事件計算器」乙隻。
「事件緩衝器」是乙個具有二級緩衝能力的容器,所有的訂單進入二級緩衝器,其中總是保持下一時刻最小的訂單在一級緩衝器中。只有一級緩衝器中的訂單才能被觸發。
事件有兩種型別,一是「開始加工」型別,二是「結束加工」型別。
然後將裝置類例項化成裝置物件,實際上有多少裝置參加排程就需要例項化多少個裝置物件,裝置的物件名可以用裝置編號表示。 2
、程式執行準備
先用訂單預處理優化規則確定進入每個裝置的「事件緩衝器」的產品的先後順序,並將所有已經確定了先後順序的訂單的傳給第一道工序的相應裝置物件的「事件緩衝器」中,其中「事件緩衝器」中時間最小的事件進入一級緩衝器。 3
、開始** (
1)、所有裝置物件中一級緩衝器中的事件按時間進行排序,找出時間最小的事件,並執行觸發。如果所有裝置物件的一級緩衝器中均沒有事件,則排程結束。 (
2)事件觸發後,首先判斷事件是「開始加工」型別,還是「結束加工」型別,如果是「開始加工」型別,則呼叫加工時間計算類,計算加工時間,將當前時間加上加工時間作為該事件的「結束加工」事件的觸發時間,將該事件的名稱、「結束加工」型別、觸發時間、數量等引數傳入該物件的「事件緩衝器」,同時,將該物料的開始加工時間、加工裝置名稱寫入排程表。然後遮蔽所有其它事件,不讓其觸發,只允許該物料的「結束加工」事件觸發。
如果事件型別是「結束加工」型別,則呼叫下道工序計算類,找出下道工序極其裝置物件的名稱,並將該物料在裝置上的結束加工時間、裝置名稱、物料標識等寫入排程表,同時將該事件名稱、當前時間作為該事件在下道工序上的觸發時間、數量、事件型別傳入下一道裝置的緩衝器,開啟對該裝置物件的事件遮蔽。
乙個迴圈結束,進入下乙個迴圈(1)。
4、裝置的一些屬性 (
1)、單位加工數量屬性。
為了表述裝置的實際生產情況,我們需要知道**的數量,由於每台裝置的具體情況不一樣,**數量也不一樣。例如仿形車間和銑開口之間肯定是一棒一棒的傳遞,也可以說線內裝置與裝置之間是一棒一棒的傳遞,而線與線之間是一車一車的傳遞,但是,在氮化、熱處理等工序之間卻是一爐一爐的傳遞。因此裝置的屬性應該能夠處理這些不同點,並讓其按實際運**況進行模擬。 (
2)、加工節拍和加工週期屬性
離散型企業的乙個最大的特點是產品不是均衡的流動,一批一批的流,這個批量有大有小,大的大到數萬片(如氮化爐一爐要兩萬片),小的僅有一棒(如車床),這種大批量的間隙流動嚴重影響了生產的均衡性,如果排程系統能夠**並模擬這種不均衡性,並合理安排生產,能夠極大緩解生產管理的壓力,提高生產管理的效率。
對於這種批量,需要有三個引數來描述:單位批量片數、加工節拍和生產週期。加工節拍是每兩個批量之間的間隔時間,加工週期是某乙個批量從開始加工到加工結束需要花費的時間。 (
3)、作息時間
不是所有的裝置都是
24小時可以工作的,不同的裝置作息時間不同,作息時間是裝置的基本屬性,排程安排必須在裝置的生產時間內。如何計算兩個時刻之間的有效時間間隔,以及已知開始時間和有效時間間隔,如何計算結束時間,等等,均是本系統需要考慮的內容。 (
4)、裝置型別
從上面的分析,我們認為公司的裝置型別十分複雜,在設計裝置類並進行例項化時如何才能兼顧系統的靈活性和與實際的符合性?如何將乙個統一的類和多樣化的裝置型別對應起來?怎麼樣既減少資料工作量又將裝置型別統一起來?統一在什麼裝置上,或者說什麼樣的裝置才更具有代表性?
初步考慮將所有的裝置均統一到爐子類裝置上,這類裝置的特點是加工過程是離散的,一次加工一批,但批量大小不定,需要計算,然後在時間上存在加工節拍和加工週期資料。對於加工節拍和加工週期資料,在車床等裝置上,可以認為他們(預設值)是相等的,但可以設定。現在的問題是生產節拍到底是以裝置為主,還是以產品為主?
能否將裝置物件全部簡化成能類似爐子的型別?其特點是有加工節拍、加工週期和單次加工容量。單次加工容量分為一維尺度(長度,例如「棒」)、二維尺度(面積)和三維尺度(體積,例如「爐」)。單次加工容量是裝置物件的固有特徵,加工節拍和加工週期與產品相關。能力計算方法、工作日曆、出勤模式也是裝置的基礎特徵。能力計算方式分有限能力和無限能力;工作日曆是指裝置在一天中什麼時間可以加工,什麼時間不能用於加工?出勤模式是指裝置可以工作的日期和不可以工作的日期。
這樣裝置表中需要的基礎字段包括:裝置編號、單次加工容量型別(一維尺度、二維尺度和三維尺度)、長、寬、高、工作日曆、出勤模式。為了便於裝置的修改,還需要裝置型別、裝置名稱、裝置所在車間等字段,便於提高將來資料維護的效率。但這些欄位不一定放在同一張表中,可以分別放在不同的表中,後者在裝置卡片中已經有了,前者是系統需要單獨建的。關鍵是如何保持這些資料的統一和同步。 5
、產品物件
需要研究的是根據我們的系統的需求,我們是否需要建立乙個產品物件,產品物件將包括產品代號、產品名稱、材質、結構、工序名稱、工序代號、工序次序、裝置名稱、裝置代號、裝置優先順序、生產週期、生產節拍、父項產品、子項產品、數量、產出率、對應的銷售訂單號、對應的銷售行號、訂單號、行號、交貨期冗餘度、交貨期,等。在進行反向**計算加工剩餘時間時,鑄造按四班的提前期確定時間;如果是正向**,可以先將鑄造**完成後,在開始逐步往後**。
生產排程系統設計(二)設計思路
一 產能演算法模型 1.對ctp 印刷 復膜 裁切的裝置產能進行量化計算,提煉出演算法模型。二 流程配置 1.對各裝置的就緒時間以及工作狀態進行維護管理,支援可配置。2.對生產任務單進行模型分析,確定對各流程完工時間的約束,並編寫演算法支援計算。三 過程計算 1.對各裝置的生產任務單進行維護記錄,支...
規則引擎實現生產排程系統
生產排程系統是製造企業 系統的重要組成部分,對應於生產管理系統的短期計畫安排,主要目標是通過良好的作業加工排序,最大限度減少生產過程中的準備時間,優化某一項或幾項生產目標,為生產計畫的執行和控制提供指導。在不同的問題環境中,生產排程的優化目標也不同。在生產製造企業中影響生產排程的因素很多 比如裝置 ...
規則引擎如何實現生產排程系統
生產排程系統是製造企業 系統的重要組成部分,對應於生產管理系統的短期計畫安排,主要目標是通過良好的作業加工排序,最大限度減少生產過程中的準備時間,優化某一項或幾項生產目標,為生產計畫的執行和控制提供指導。在不同的問題環境中,生產排程的優化目標也不同。在生產製造企業中影響生產排程的因素很多 比如裝置 ...