高級排程(Advanced Scheduling)是實時的、動態集成的、基于內存計算,主要用于車間訂單工序的排程。是基于事件的有限約束排程,意味是實時的考慮目前的負荷和能力和材料供應等多因素。可以支持不同的優化方法,考慮基于規則的資源和工序選擇如最少換裝時間、最小閑散時間和盡可能的遲考慮排序的相關性等。
高級排程(Advanced Scheduling)一般分三步:預見性排程,可以給一組訂單預先準備優化的排程。響應性排程,可以在多變的環境中適應變化以維護可行的排程。交互性排程,可以用甘特圖觸摸屏手工拖拉工序排程調度。
高級排程需要可以處理以下難度:
1、種類繁多,多品種、變批的復雜情況
2、標準工藝路線與具有特點的工藝路線混合
3、工序可能有加工時間、準備時間、等待排隊時間、移動搬運時間及固定偏置時間等
3、每道工序可選設備,設備可選模具、刀具、選工裝、選物料,選特類的人員
4、具有班次(三班)的考慮,可以加班,也可以加不整的班。
5、工序之間流轉一般采用平行移動模式。
6、加工任務可以被搶占,可以快速切換,有切換時間的約束
7、滿足交期的前提下,工藝、設備、工裝、人員、物料等不確定因素的優化組合
8、加權多目標權衡優化,但也受到決策者偏好的影響。
APS的排程方法很多,最常用的有正排和倒排兩種方法或是將兩者混合使用。
一、排產的邏輯
每一個要進行排產的最終訂單都具有一個承諾日期,該日期是通過訂單承諾CTP(capable to promise)確定的。排產算法的邏輯按照如下方式對每一個訂單進行操作:
(1) 自動識別關鍵路徑
(2)從承諾日期反向開始,并且保留每道工序需要的工作中心的能力和物料。如果所需要的物料是已經生產的組件,則同樣從其需求點開始對其進行反向計劃。如果在此途徑結束時,開始日期在排產時間范圍的開始或之后,則繼續執行下一個訂單。
(3)如果反向途徑失敗,則意味著生成的開始日期可能已經過去,則從計劃開始日期保留能力和物料。如果生成的截止日期在計劃時間范圍內(雖然有可能在承諾日期之后,)則完成對此訂單的計劃。如果反向和正向途徑都失敗,則不將該訂單包括在計劃期間內。
二、規則算法的演繹
以“方桌”任務為例。方桌的工藝路線我們已經給出。假定現在是6月13日,我們接到兩個訂單(C001和C002),各訂購方桌100套,交貨期分別為6月16和6月17日。為簡明起見,再假定所有涉及的采購物料都不短缺,且目前所有工作中心資源均未被占用,我們試著用APS的順排正排的方法為它們安排主生產排產。
(1)將所有任務按優先級排序形成任務隊列
在處理所有的任務時必須遵循一定的順序,該順序取決于一定的規則。主要包括要求完成日期、先到先服務、加工時間、下達日期等,這些規則可以按需要單獨使用,也可以組合使用。為簡明起見,我們按訂單要求的交貨期確定優先級,交貨期早的優先級高。因此任務隊列的順序是C001 、C002。
(2)取第一個任務
計算該各工序占用對應工作中心的工作時間的跨度。
(3)要求將各個工序放在時間坐標上進行考察,所以首先要計算出各工序占用對應工作中心的時間跨度。
計算方法是:占用工作中心時間=加工數量/效率。如下表,我們可以計算出“方桌”任務各工序占用對應工作中心的時間跨度。

(4)確定關鍵路徑
我們利用上表的數據可以作出任務C001的網絡圖。我們知道,任務的總時間跨度是由圖中的關鍵路徑,即最長路徑決定的,因此應該先找出關鍵路徑,確定關鍵工序,在處理上優先安排資源,才能使排產在整個任務的層次達到最優。
關鍵路徑是: 開始- 4(加工面板)- 3(裝配桌面)- 1(總裝)- 完成
如果網絡圖的節點較多,求解關鍵路徑會比較麻煩,排產系統會自動完成這項工作。在制造窗口中會自動加了粗黑框的工序,就是系統自動求解的關鍵工序,它們所組成的路徑就是關鍵路徑。
有時候,在網絡圖上兩條或以上路徑所用時間完全相同的,就會出現兩條以上的關鍵路徑,對于這種情況,通常可以任意選擇一條當作關鍵路徑,優先分配資源,其余的視為非關鍵路徑。
當路徑之間不存在資源爭奪關系(即使用不同的工作中心),各資源的占用情況也相同時,選擇哪一條關鍵路徑進行優先處理并不會影響排程的結果,而要是上述條件不滿足時,選擇不同的關鍵路徑優先處理就有可能得到不同的排程結果。但這種差異并不明顯,可能是可以接受的。
(5)取第一個關鍵工序
工序4,即“加工面板”
(6)確定當前工序最早可開始時間
在正排法中工序的最早可開始時間就是當前時間,如果工序所需物料當前短缺,則應加上該工序所需物料的提前期。如果是加工件就是生產加工提前期,如果是采購就是采購提前期。
由于工序4沒有要投入的加工件,而采購件當前不短缺,故最早可開始時間就是當前(6月13日9:00)。
(7)確定資源可用
通過確定當前工序最早可開始時間就可以計算其結束時間,那么該工序的排產就算完成了。但實際上還有一個重要的問題沒有解決:該工序對應的工作中心資源在該時段的狀態可用嗎?還是已經被別的任務占用?根據已知,工序4對應的工作中心Shop3未被占用,即狀態為“空閑”。
(8)確定工序計劃開始時間和計劃結束時間
如果該工序對應的工作中心資源在該時段的狀態可用,那么工序的計劃開始時間和計劃結束時間就分別等于最早開始時間和最早結束時間。如果工作中心資源在該時段已被占用,則我們將當前工序往后移至第一個未被占用的時段,重新確定計劃開始時間和計劃結束時間。
因此工序4的計劃開始時刻就是最早可開始時刻,即6月13日9:00。計劃結束時刻為計劃開始時刻往后推5個工作小時即6月13日14:00。
需要注意的是,我們這里使用的是“工作小時”,按照工作日歷,如果時間跨度超過了當天的工作時間,超過的部分就要從下一個工作日的工作開始時刻接著計算。
(9)設置對應工作中心相應時段的狀態為“占用”
設定了計劃開始時間和計劃結束時間后,要將相應時段相應工作中心資源的狀態設為“占用”,以免后面的任務在該時段被重復分配:在本例中,我們需要將Shop3從6月13日9:00到14:00的狀態設置為“占用”。
(10)轉向緊后關鍵工序
一個工序的緊前或緊后工序可能不止一個,但我們此處先考慮關鍵路徑上的緊后工序,按照我們在第4步中介紹的方法,這最多只會有一個。安排的方法和前面(3)~(6)是一樣的。該過程是一個循環,直到當前任務中所有的關鍵工序都已被安排。完成對訂單C001的關鍵工序的排程圖。

(11)轉向非關鍵工序
在完成了關鍵工序的排程后,當前任務的總時間跨度就已經被確定了,接著系統開始轉向當前任務的非關鍵工序。非關鍵工序的安排在時間上可以有一定的松動,即只要在其緊后工序開始之前結束,并且在其緊前工序結束之后才開始就可以了。因此對非關鍵工序的排程,我們至少可制定兩種規則:
一是緊前工序結束后立刻開始本工序;
二是本工序開始前緊前工序剛完成。排產系統有時可以讓用戶選擇遵循規則(1)或(2),如果選擇規則(2),則相當于關鍵工序正排,非關鍵工序倒排。
至此,我們完成了任務C001的排程。我們可以看到,Shop4對應的兩個工序為非關鍵工序,在這里采用的是規則(2)。完成對任務C001的排程圖

該過程是一個循環,直到當前任務所有的非關鍵工序都已被安排。
(12)轉向任務隊列中下一個任務,完成了C001所有工序的排程后,排產系統轉向任務C002。
同樣,先安排關鍵工序,并且也是首先安排工序(4)。我們注意到,此時工序(4)的最早可開始時間同樣是6月13日9:00,但Shop3在該時段已被標記為占用,于是排產系統將當前工序的計劃開始時刻移動到下一個未被占用時段的開始時刻即6月13日14:00,以此為基準往后推5個工作小時得到計劃結束時刻即6月14日11:00。
完成對任務C001的安排后,系統開始對任務C002進行排程,同樣也是由關鍵工序開始, 如圖:

然后安排非關鍵工序,最后完成的兩個各式各100套“方桌”任務正排計劃如圖:

該過程是一個循環,直到完成隊列中所有的任務都已被安排。
在當前的資源條件下,任務的累計提前期不能滿足交貨期的情況下,正排法會通過推遲部分或全部工序的加工來解決,例如圖中Shop1對應的被標為紅色的兩個工序(即C001的工序(1)和C002的工序(1)的計劃就是被延期加工的情況。
雖然我們并不希望交貨被延遲,但這卻是現實約束下的一個可行的方案。
三、倒排法
倒排法與正排法方法相似但方向相反,從交貨期或指定的完成時刻開始,將各工序計劃逆時間順序向前排程。
如圖,假如我們將訂單C001的交貨期定為6月21日,那么系統將會從來6月20日工作時間的最后一刻即17:00開始向前排程。結果我們得到的計劃是最早開始的工序即工序(4)在6月15日16:00開始。

倒排的特點是在滿足完交貨期的情況下,加工盡可能遲開始,這符合JIT(just in time)的思想。倒排法的問題是當累計提前期不能滿足交貨期時,按照剛才的算法將會導致某些工序的開始時間被安排到了“從前”,即計劃開始時刻早于當前時刻,顯然這是不可行的。
四、融合應用
從以上的介紹我們可以看到,正排法與倒排法各有利弊,在實際的應用中,有的系統會根據情況自動采用其中哪種方法。例如,當某任務累計提前期不能滿足交貨期時,系統自動對該計劃各工序正排,以便得出一個可行的計劃。而相反當累計提前期可以滿足交貨期時,系統自動對該計劃各工序進行倒排,以符合JIT的原則。
此外,有的排產系統還允許對關鍵工序采用正排的方法,而對非關鍵工序采用倒排的方法,在保證排產計劃的可行性和符合JIT之間采取一種折中的方法。
圖就是一個例子,與前圖相比較,工序(4)、(3)、(1)并無變化,而計劃由Shop4完成的工序(2)、(5)則采用了倒排法。即關鍵工序采用正排法,非關鍵工序采用倒排法。

APS需要自動的替換設備來,滿足交期。需要自動的替換工藝路線,來滿足交期。需要自動合理安排班次,來滿足交期。需要自動跟蹤訂單完成情況,以避免訂單延遲。需要自動調度設備、人員滿負荷,滿足資源利用率。需要調度模具、夾具的準備情況。需要調度材料短缺與積壓。對車間意外狀況進行處理。如設備故障、缺料、員工病事假等
一般成熟的APS系統的有限排程引擎, 可以同時檢查資源能力和物料的可用性。不過,也可以對不同的資源選擇有限能力、無限能力。對不同的物料選擇有限物料約束、無限物料約束,有限外加工資源約束或無限外加工資源約束。并可以把以上選擇組合針對不同復雜的場景以滿足企業的多種的優化目標。
*來源:蔡穎專著-APS走向實踐(2007),P62-Infor 公司的Visual APS
.......
更多文章歡迎訪問:
公眾號: 高效計劃與智能調度排程研究會
微信號: APS_Society
網站: www.itapss.cn