天天看點

生産排程系統算法模型簡要設計

<b></b>

<b>生産排程系統算法模型簡要設計</b>

我們公司是典型的離散型生産系統,産品品種繁多,工藝流程長,且互動複雜。這一類型的生産系統具有很強的典型性,如何對這類生産系統進行模組化并求解,我花費了很長的時間學習。在東南大學李宵峰博士後和上海交通大學潘常春博士的指導下,我初步了解了我公司的模型算法,下面簡述如下。

一、模型建立

生産模型主要是建立每個産品的每個工序和裝置之間的關系。這種關系可以通過數學公式建立,例如線性規劃、整數規劃、動态規劃等;也可以通過自然語言的規則建立,有限的不互相沖突的幾條規則的集合就是該模型的結果域;還有用模糊數學的方法建立模糊集,一般情況下這種集合不會很大。但這些方法運用在建立我們公司的模型上均不能很好的表達現狀。這些方法均需要對生産現場進行很多的近似,這些近似使模型和生産現場實際和理論嚴重不符,因為少數被近似掉的内容可能恰恰是最重要的。是以我們公司生産模型的一個重要的特點就是不能近似,但同時也不能太複雜,太複雜了根本無法求解。

根據上述分析,我們決定采用表格模組化,将所有生産中的要素用表格描述出來,在需要的時候進行查表。這種模型的設計思路得益于四班的設計,四班建立的就是表格模型。BOM是四班建立的模型,用表格的形式将産品物料之間的層次和數量關系表述得一清二楚,我們這個系統也将用表格的形式将每個物料的工序、工序間的先後關系、每個工序的可用裝置、 可用裝置間的優先級關系、裝置的能力、效率表述出來。這種模型結構原理簡單清楚,維護友善,在更改模型時不需要修改程式的設計,缺點是維護的工作量大,但可以通過将來結合工藝設計系統來得到彌補,使模型維護的時間按現在的标準減少到零。

表格模型也叫關系型模型,表格模型的最大優點在于可以做到和工藝系統的無縫連接配接,使公司的生産技術結合成為一個有機的整體,能夠從整體上提高公司的管理效率,是今後管理的一個比較好的發展方向。缺點是資料量特别大,對于比較大的公司來講,就需要避免将不相關的部門和工廠中的房間放在同一個模型裡,在能分開做的時候還是盡量分開做。同時表格模型存在反複查表的缺陷,程式運作時間可能會比較長。

二、訂單預處理優化規則的設計

訂單預處理優化規則着重于解決在所有裝置上,排程開始第一個生産的産品是什麼,以後的生産順序是什麼?在這一階段的優化上,沒有精确的方法,隻有一些近似的方法和一些人為的規則。我們初步分析認為,通過訂單的優先級、剩餘加工時間、剩餘加工時間備援度等确定哪個訂單先加工,哪個訂單後加工?在預處理的時候應該能夠預先知道這些産品能否按期完成。對于明顯不能按期完成的訂單如何進行處理,以及預測和後面的仿真的結果的差異性是評價預處理優化規則設計優劣的最重要的名額。

還有一個要求就是對這些規則的設計必須進行邏輯分析,避免規則的對立和不相容,根據規則之間的關系确定規則的運算方法。

三、離散事件排程法

在确定了第一道工序的加工順序後,通過離散事件排程法确定每道工序的生産先後順序。可以認為每個裝置的生産時間就是有離散事件排程法确定的。在對訂單生産安排結果的影響上,訂單預處理優化從大的方面确定了訂單的完成優先順序,離散事件排程法從細節方面确定訂單的具體完成時間。可以認為訂單預處理優化是訂單的初排程,離散事件排程法是在粗排程基礎上的詳細排程。下面将詳細介紹離散事件排程法的設計思路。

1、程式設計

首先設計一個裝置類。裝置類有“事件緩沖器”一個、 “下一事件狀态器”一個,“下一事件電腦”一隻。

“事件緩沖器”是一個具有二級緩沖能力的容器,所有的訂單進入二級緩沖器,其中總是保持下一時刻最小的訂單在一級緩沖器中。隻有一級緩沖器中的訂單才能被觸發。

事件有兩種類型,一是“開始加工”類型,二是“結束加工”類型。

然後将裝置類執行個體化成裝置對象,實際上有多少裝置參加排程就需要執行個體化多少個裝置對象,裝置的對象名可以用裝置編号表示。

2、程式運作準備

先用訂單預處理優化規則确定進入每個裝置的“事件緩沖器”的産品的先後順序,并将所有已經确定了先後順序的訂單的傳給第一道工序的相應裝置對象的“事件緩沖器”中,其中“事件緩沖器”中時間最小的事件進入一級緩沖器。

3、開始仿真

(1)、所有裝置對象中一級緩沖器中的事件按時間進行排序,找出時間最小的事件,并執行觸發。如果所有裝置對象的一級緩沖器中均沒有事件,則排程結束。

(2)事件觸發後,首先判斷事件是“開始加工”類型,還是“結束加工”類型,如果是“開始加工”類型,則調用加工時間計算類,計算加工時間,将目前時間加上加工時間作為該事件的“結束加工”事件的觸發時間,将該事件的名稱、“結束加工”類型、觸發時間、數量等參數傳入該對象的“事件緩沖器”,同時,将該物料的開始加工時間、加工裝置名稱寫入排程表。然後屏蔽所有其它事件,不讓其觸發,隻允許該物料的“結束加工”事件觸發。

如果事件類型是“結束加工”類型,則調用下道工序計算類,找出下道工序極其裝置對象的名稱,并将該物料在裝置上的結束加工時間、裝置名稱、物料辨別等寫入排程表,同時将該事件名稱、目前時間作為該事件在下道工序上的觸發時間、數量、事件類型傳入下一道裝置的緩沖器,打開對該裝置對象的事件屏蔽。

一個循環結束,進入下一個循環(1)。

4、裝置的一些屬性

(1)、機關加工數量屬性。

為了表述裝置的實際生産情況,我們需要知道仿真的數量,由于每台裝置的具體情況不一樣,仿真數量也不一樣。例如仿形工廠中的房間和銑開口之間肯定是一棒一棒的傳遞,也可以說線内裝置與裝置之間是一棒一棒的傳遞,而線與線之間是一車一車的傳遞,但是,在氮化、熱處理等工序之間卻是一爐一爐的傳遞。是以裝置的屬性應該能夠處理這些不同點,并讓其按實際運作情況進行模拟。

(2)、加工節拍和加工周期屬性

離散型企業的一個最大的特點是産品不是均衡的流動,一批一批的流,這個批量有大有小,大的大到數萬片(如氮化爐一爐要兩萬片),小的僅有一棒(如車床),這種大批量的間隙流動嚴重影響了生産的均衡性,如果排程系統能夠預測并模拟這種不均衡性,并合理安排生産,能夠極大緩解生産管理的壓力,提高生産管理的效率。

對于這種批量,需要有三個參數來描述:機關批量片數、加工節拍和生産周期。加工節拍是每兩個批量之間的間隔時間,加工周期是某一個批量從開始加工到加工結束需要花費的時間。

(3)、作息時間

不是所有的裝置都是24小時可以工作的,不同的裝置作息時間不同,作息時間是裝置的基本屬性,排程安排必須在裝置的生産時間内。如何計算兩個時刻之間的有效時間間隔,以及已知開始時間和有效時間間隔,如何計算結束時間,等等,均是本系統需要考慮的内容。

(4)、裝置類型

從上面的分析,我們認為公司的裝置類型十分複雜,在設計裝置類并進行執行個體化時如何才能兼顧系統的靈活性和與實際的符合性?如何将一個統一的類和多樣化的裝置類型對應起來?怎麼樣既減少資料工作量又将裝置類型統一起來?統一在什麼裝置上,或者說什麼樣的裝置才更具有代表性?

初步考慮将所有的裝置均統一到爐子類裝置上,這類裝置的特點是加工過程是離散的,一次加工一批,但批量大小不定,需要計算,然後在時間上存在加工節拍和加工周期資料。對于加工節拍和加工周期資料,在車床等裝置上,可以認為他們(預設值)是相等的,但可以設定。現在的問題是生産節拍到底是以裝置為主,還是以産品為主?

能否将裝置對象全部簡化成能類似爐子的類型?其特點是有加工節拍、加工周期和單次加工容量。單次加工容量分為一維尺度(長度,例如“棒”)、二維尺度(面積)和三維尺度(體積,例如“爐”)。單次加工容量是裝置對象的固有特征,加工節拍和加工周期與産品相關。能力計算方法、工作月曆、出勤模式也是裝置的基礎特征。能力計算方式分有限能力和無限能力;工作月曆是指裝置在一天中什麼時間可以加工,什麼時間不能用于加工?出勤模式是指裝置可以工作的日期和不可以工作的日期。

這樣裝置表中需要的基礎字段包括:裝置編号、單次加工容量類型(一維尺度、二維尺度和三維尺度)、長、寬、高、工作月曆、出勤模式。為了便于裝置的修改,還需要裝置類型、裝置名稱、裝置所在工廠中的房間等字段,便于提高将來資料維護的效率。但這些字段不一定放在同一張表中,可以分别放在不同的表中,後者在裝置卡片中已經有了,前者是系統需要單獨建的。關鍵是如何保持這些資料的統一和同步。

5、産品對象

需要研究的是根據我們的系統的需求,我們是否需要建立一個産品對象,産品對象将包括産品代号、産品名稱、材質、結構、工序名稱、工序代号、工序次序、裝置名稱、裝置代号、裝置優先級、生産周期、生産節拍、父項産品、子項産品、數量、産出率、對應的銷售訂單号、對應的銷售行号、訂單号、行号、交貨期備援度、交貨期,等。在進行反向仿真計算加工剩餘時間時,鑄造按四班的提前期确定時間;如果是正向仿真,可以先将鑄造仿真完成後,在開始逐漸往後仿真。

     本文轉自fengyp 51CTO部落格,原文連結:http://blog.51cto.com/fengyp/51808,如需轉載請自行聯系原作者

繼續閱讀