被譽為供應鏈優化引擎,有稱高級計劃系統(Advanced Planning System),也有叫高級計劃與排程(Advanced Planning and Scheduling)。定義不是最重要的。最重要的是對所有資源具有同步的,實時的,具有約束能力的,模擬能力,不論是物料,機器設備,人員,供應,客戶需求,運輸等影響計劃因素。不論是長期的或短期的計劃具有優化,對比,可執行性。其將要采用基于內存的計算結構,這種計算處理可以持續的進行計算。這就徹底改變了批處理的計算模式。可以并發考慮所有供應鏈約束。當每一次改變出現時,APS 就會同時檢查能力約束, 原料約束,需求約束,運輸約束,資金約束,這就保證了供應鏈計劃在任何時候都有效。也將采用基因算法技術,它是一種搜索技術,它的目標是尋找最好的解決方案。這種搜索技術是一種優化組合,它以模仿生物進化過程為基礎。基因算法的基本思想是進化就是選擇了最優種類。基因算法將應用在APS 上,以獲得“最優”的解決方案。現在APS系統以將網絡結構的APS主要是基于多層代理技術與制造內部的APS主要是基于模擬仿真結合起來,使得網絡導向結構的APS解決制造同步化問題,模擬仿真APS的優化順序器解決工廠的順序沖突問題。這樣,APS計劃的編制與順序的安排就可以提供給制造商解決全球的優先權和工廠本地的優化順序問題,來滿足制造業對客戶響應越來越強烈的需求。
APS應包括哪那些內容?
1. 基于訂單任務(Job-based)訂單優先級計劃
2. 基于事件(Event-based)資源利用率最大化計劃
3. 基于資源(Resource-based,TOC)瓶頸約束計劃
4. 基于物料約束的可行的計劃
5. 基于歷史,現在,未來的需求計劃
6. 基于供應資源優化的分銷配置計劃
APS為制造業的四類制造模型提供解決方:
1. 流程式模型,APS主要是順序優化問題。
2. 離散式模型,APS主要是解決多工序,多資源的優化調度問題。
3. 流程和離散的混合模型,APS同時解決順序和調度的優化問題。
4. 項目管理模型,APS主要解決關鍵鏈(資源約束)和成本時間最小化問題。
APS考慮不同行業的解決方案。APS的主要著眼點是工序邏輯約束和資源能力約束,物料和工序流程緊密聯結,各種優化規則,計算最早可能開始時間和最遲可能開始時間,物料可重分配和可替代,資源可重分配和可替代,計劃排程考慮柔性(緩沖),考慮成本約束,考慮非確定流程和統計概率論,考慮多種優化方案的比較分析。
一般APS軟件都由5個主要的模塊組成:需求計劃、生產計劃和排程、分銷計劃、運輸計劃,企業供應鏈分析等。
近年來,許多企業開始把注意力放在自己的核心競爭能力上,對一些非強項業務則盡可能外包給別的公司。結果,銷售給顧客的產品或服務,其特征和質量在很大程度上取決于供應鏈上的所有相關企業。這便帶來了新的挑戰:如何實現供應鏈的集成?如何更有效地協調和控制企業間的物流、信息流和資金流?對于這些問題,需要有一個全新的管理理念和方法——供應鏈管理。SCM 方法的研究和實施為企業帶來了很大的經濟效益,今天,許多企業都選擇了供應鏈和物流管理作為獲取新的競爭優勢所必須采取的戰略步驟。
在過去十年中,信息技術(如強大的數據庫管理系統),通信手段(如通過Internet的電子數據交換),以及復雜數學模型的各種求解方法(如數學規劃)的發展為計劃和控制供應鏈流程開闊了新的視野。顧客訂單、需求預測或市場趨勢可以被分解成必要的活動,立刻送到供應鏈各組織當中,并通過高級計劃系統(APS)生成準確的生產計劃和程序來保證按時完成訂單。APS 與傳統的企業資源計劃(ERP)不同,它試圖在直接考慮潛在瓶頸的同時,找到跨越整個供應鏈的可行最優(或近似最優)計劃。
原理篇
高級計劃系統(APS,AdvancedPlanningSystems)作為ERP的補充,用于協調物流、開發瓶頸資源和保證交貨日期。APS應用各種優化技術,并根據企業的商業目標來改進計劃。下文主要介紹APS中生產計劃排程(ProductionPlanningandScheduling)基本原理。
決策狀況描述
生產計劃排程的目的是為車間生成一個詳細的短期生產計劃。排產計劃(Productionschedule)指明了計劃范圍內的每一個定單在所需資源上的加工開始時間和結束時間,也即指出了在給定資源上定單的加工工序。排產計劃可以通過直觀的甘特圖(Ganttchart)形式給出。
排產計劃的計劃間隔可以從一天到幾周,取決于具體的工業生產部門。合理的計劃長度取決于幾個因素:一方面,它至少應當涵蓋與一個定單在生產單元中最大的流動時間(flowtime)相對應的時間間隔;另一方面,計劃間隔受到已知顧客定單或可靠需求預測的可用性限制。很顯然,只有當排產計劃適度穩定時,在一個資源上進行定單排程才是有用的。也就是說,它們不應受不期望事件經常變化的影響(如定單數量改變或中斷)。
對某些生產類型(如jobshop),生產計劃排程需要對(潛在)瓶頸資源上的任務定單進行排序和計劃;而對另一些生產類型(如成組技術),生產計劃排程要能自動地、按時段檢查資源組的能力,看其是否能夠在下一個時間段內完成成組加工的一組定單。然后,可以手工排序這組定單在下一個時間段內的加工次序。
排產計劃任務能夠而且也應當分散來做,這樣可以利用每個地點人們的專業知識和車間當前狀況的知識(例如人員的可用性)。
生產計劃排程受到上層主生產計劃的約束,主生產計劃設立了在分散的決策單位中執行生產計劃排程的框架。從主計劃中可獲得的相應指導包括:使用超時或加班的數量;在不同時間點上來自供應鏈上游設施物料項的可用性;涉及來自供應商輸入物料的采購協議。此外,由于主生產計劃在供應鏈上有更寬的視點和更長的計劃區間,從中我們還可以得到:
·計劃結束時需要建立的各物料項的季節性庫存量;
·交付給供應鏈下游設施的定單截止日期(下游設施可以是緊接著的下一級生產單位,分銷商或最終顧客)。
排產計劃生成
由車間模型生成排產計劃的一般程序可簡單地描述為下面6個步驟(如圖1所示)。
圖1 排產計劃的一般步驟
1、建模
車間模型必須詳細地捕捉生產流程的特征和相應的物流,以便以最小的成本生成可行的計劃。
由于一個系統的產出率只受潛在瓶頸資源的限制,因此,我們只需對車間現有全部資源的一部分–也即那些可能成為瓶頸的資源,建立一個清晰的模型。關于建模方法的細節我們將在后面進一步闡述。
2、提取需要的數據
生產計劃排程使用的數據來自ERP系統、主生產計劃和需求計劃。生產計劃排程僅利用這些模塊中可用數據的一個子集,因此,在建立一個給定生產單元的模型時,必須指明它實際需要哪些數據。
3、生成一組假定(生產狀況)
除了從ERP系統、主生產計劃和需求計劃這些數據源中接收的數據之外,車間或生產單位的決策者或許對車間當前或未來的狀況會有更進一步的知識或期望,這些信息在其它地方(如軟件模塊中)是不能得到的。再者,對車間的可用能力或許也可以有多種選擇(如柔性的倒班安排等)。因此,決策人員必須有能力修改數據和建立某種生產狀況(見圖1中的第三步,點劃線框表示這一步必須由決策人員執行,并且是可選的)。
4、生成一個(初始)排產計劃
在有了模型和數據之后,就可以針對給定的生產狀況,利用線性規劃、啟發式算法和基因算法等各種復雜的優化方法來生成排產計劃。這項工作可以一步完成,也可以通過兩級計劃層次(先綜合的生產計劃,后詳細的排產計劃)完成。
5、排產計劃分析和交互修改
如果通過兩級計劃層次完成,也即先生成綜合資源的上層生產計劃。那么,在生成一個詳細的排產計劃之前,人們或許首先要對這個生產計劃進行分析。特別地,如果生產計劃不可行,決策人員可以交互地指定一些計劃途徑來平衡生產能力(如增加班時或指定不同的加工路徑)。這或許要比修改在單個資源上的加工工序(下層排產計劃)更加容易。
APS采用了例外管理(Management Byexception)的技術,如果出現問題和不可行性(如超過定單交貨期或資源過載),APS就會發出警告(alerts)。這些警告首先被“過濾”,然后,正確的警告被傳遞到供應鏈中正確的組織單位。
此外,針對一種生產狀況產生的排產方案還可以通過結合決策者的經驗和知識交互地改進。當然,為了提供真正的決策支持,必要的修改次數應當受到限制。
6、生產狀況核準
當決策人員確定已經評估了所有可選方案時,他/她將選擇那個體現最佳生產狀況的排產計劃去執行。
7、執行和更新排產計劃
決策人員選定的排產計劃將被傳遞給:MRP模塊(分解計劃)、ERP系統(執行計劃)和運輸計劃模塊(在顧客定單完成時安排裝運車輛)。
MRP模塊把在瓶頸資源上計劃的所有活動分解成在非瓶頸資源上生產的那些物料或由供應商交付的物料;此外,對某些加工定單所必需的物料也將被預定。
排產計劃將持續執行到某個事件信號發生時才進行更新,也即直到修改一個排產計劃看來是可取的時候(見圖1中的LoopII)。這個事件可以是一個新定單的到來、機器故障或凍結的計劃部分已執行完畢(后面我們還將對排產計劃的更新作詳細討論)。
改變車間生產模型的情況不太經常(如圖1中的LoopI)。如果結構保持不變和只是數量上受到影響(例如一個機床組中的機床數或某些已知產品的新變種),那么,通過下載ERP系統中的數據,APS能自動更新模型。但當變化很大時(例如具有某些新特征的新生產階段的引入),那么,由專家對模型進行手動調整則是可取的。
下面我們將對車間生產流程模型的建模方法作更詳細的闡述:
生產流程建模
車間模型必須結合所有必要的生產流程細節來決定顧客定單的完成時間,模型需要的輸入來自有關的物料和潛在的瓶頸資源。排產計劃中每一步的時間間隔通常很小(如幾個小時),有時甚至可以是連續的。
1、模型
我們可以把建模的范圍限制在(潛在)瓶頸上執行的運作,因為只有這些資源限制了車間的產出。由于生產計劃排程并不打算控制車間(這個任務留給了ERP系統),一些車間的細節(如監視定單當前狀況的控制點)可以被忽略。
在模型的兩個連續活動之間,在非瓶頸資源上執行的所有流程步驟都只被表達為固定的提前期差度(fixedleadtimeoffset)。這種處理方法與眾所周知的“高級計劃給出提前期只是作為計劃的結果而不是一個事先給定的常數”這一敘述并沒有矛盾。在這里,提前期差度僅包括前述非瓶頸資源上的加工和運輸時間,因為等待時間不會存在。
模型可以通過關聯的數據來定義,這些數據可分為結構數據(structuraldata)和狀況相關數據(situationdependentdata)。
結構數據包括:生產地點,工件,物料單,工藝路徑和相關的操作指令,(生產)資源,供應商清單,準備時間矩陣,和時間表(工廠日歷)。
對車間分布在不同地方的一個大型供應鏈,把所有數據歸集到一個專門地點或許會有好處。這樣的話,一個零件就可以通過它的生產地點來識別,盡管它在顧客眼中是一樣的。
物料清單通常是基于單層描述(存放在一個物料文件中),也即每一個零件號只連接到它下一層物料的那些零件號。一個給定零件的完整物料清單很容易在計算機上通過連接這些單層表達來構造。
每個工件的資源消耗可以從工藝路徑和操作說明中得到。每個定單的工件數以及每個工件的資源消耗是計算單個定單順序和排程所必須的。因此,可以用生產流程模型(PPM,ProductionProcessModel)來清晰地表達物料加工路徑和生產操作。
圖2給出了一個PPM的例子,它描述了一個特定尺寸和商標的瓶裝蕃茄醬的兩級生產流程。第一個PPM表達液體蕃茄醬的生產,包括清洗攪拌池,攪拌配料,和等待裝瓶。一旦蕃茄醬準備好了,它將在24小時內被裝瓶。蕃茄醬可同時用于不同尺寸的瓶子,每一種尺寸都將對應一個PPM。
圖2 兩級蕃茄醬生產流程模型(PPM)
一個PPM至少由一個運作(operation)組成,而每個運作包含一個或幾個活動(activities)。一個運作總是與一個基本資源相關(如攪拌池)。二級資源–比如人員–也可歸屬于一個活動。活動或許要求一些輸入物料并能產生一些物料作為輸出。當然,我們必須指明什么時候需要輸入物料和什么時候輸出物料可用。在一個運作中,活動的技術順序(也稱為優先關系)可以用箭頭線表示,就如同在項目計劃活動中一樣,可以用結束開始,結束結束,開始結束,開始開始關系和最大最小時間距離來連接。這就允許非常準確地建立包括平行執行活動(重疊的活動)在內的兩個生產活動之間的時間約束模型。
一個顧客定單的計時、資源和物料需求可以通過有向標界線(peggingarcs)連接相關的PPMs導出(見圖3中的粗體線和虛線)。有向標界線把一個PPM的輸出物料(節點)與后一級PPM的輸入物料(節點)連在一起。結果,從最后一級生產流程開始展開一個定單(如圖3中的定單C505X)和相應的PPMs,就可以在各時間窗中生成關于資源和物料消耗的信息。這些時間窗可直接用于成生可行排產計劃。
圖3 標界線:連接兩個生產流程模型(PPMs)
工廠日歷指明了休息日和其它資源工時的中斷,另外還包括車間(或資源)是否以一班,兩班或三班運作的信息。高級計劃系統(APS)通常提供幾個典型日歷可供選擇。
狀況相關數據隨車間當前的狀況而變,它包括:初始庫存(含在制品庫存)、資源的準備狀態、和給定時間間隔內要加工的一組定單。由用戶指定的運作規則數據包括:批量規則,優先規則和加工路徑選擇。
盡管建立批量規則最好是根據實際生產情況–例如資源的利用和相關成本的情況,但APS通常要求事先輸入一些簡單規則。這些規則可以是固定批量、最小批量或給定定單間隔時間的批量。APS軟件包或是提供一組規則可供選取,或是以高級編程語言的形式來編寫它。在某個資源上決定定單優先次序的規則以類似的方式處理。
如果執行一個生產定單存在可選路徑,那么人們會期望APS在生成排產計劃的過程中選擇最佳路徑。但經驗表明,用戶得自己選擇一個適當的路徑。有時可選路徑是作為一個優先列表輸入,只有當一個寧愿的路徑導致不可行計劃,求解器才會去試第二個最佳路徑,然后試第三個最佳,等等。
2、目標
最后還要指定一個優化目標。這些目標指導尋找一個好的、期望能接近最優的計劃方案。在生產計劃排程模塊中選擇優化目標時,我們看到主要有下面一些面向時間的目標:
Makespan,完成所有定單任務所需要的時間。使makespan最小是多機床任務排序問題中常見的優化目標。
Lateness,定單任務完成時間和它的到期時間之差。使所有定單的lateness總和最小,或使單個定單中最大的lateness最小,是常見的排程目標。
Flowtime,一個定單任務在生產系統中花費的時間。使所有定單的flowtime總和最小也是一個優化目標。
Setuptime,每個定單任務的生產準備時間。使所有定單的setuptime總和最小也可以作為一個優化目標。
另外,還有三個與成本相關的目標,分別是:使可變生產成本總和最小;使生產準備成本總和最小;和使懲罰成本總和最小。
盡管在排產這個計劃層對成本的自由度影響很有限,但我們可以看到,對于不同加工路徑的選擇(例如,是安排標準定單或是緊急定單),也還是要以貨幣的術語來評估。
如果需要對“軟約束”建模(例如,為備貨生產定單履行計劃的交貨時間),我們可以把懲罰成本包含在目標函數中。懲罰成本也稱為缺貨成本,它是當需求出現時沒有足夠的現貨來滿足需求所招致的成本。
如果決策人員想要同時追求上面幾個優化目標,使每個目標都達到最優,這樣“理想”的解答通常是不存在的。那么,只好尋求一個妥協方案。一種方法是建立上面單個目標的加權和,這個組合目標函數可以象單目標函數一樣對待,因此,可以應用同樣的求解方法。
3、解的表達
表達一個模型的解也即詳細的排產計劃,有幾種選擇。它可以簡單地表達為一個任務清單,上面列出了每個任務在分配給它的資源上的起始和完成時間。要把排產計劃傳送到其它模塊中,這是最恰當的表達方式。
決策人員通常更喜歡排產計劃以甘特圖表達(如圖4所示),用甘特圖可以在一定的時間間隔上平行地顯示所有資源。人們既可以專注于一個指定顧客定單和它在相應生產階段的排程,也可以把注意力集中在單個資源及其在時間上的排程。
圖4 在一臺機床上具有到期時間和相關準備
如果決策人員允許交互地改變排產計劃,例如把一個運作交互地移到另一個資源,那么以平行方式顯示所有資源的甘特圖是最好的表達。
下面我們再來看看更新一個現有排產計劃的一些選擇:
排產計劃更新
生產計劃排程假定所有數據是確定已知的,也即決策狀況是確定的。盡管這是一個理想的假設,但對一些時間段還是可以進行調整。為了處理不確定性(例如非計劃的生產率變化或未預料的資源停工),軟件工具允許監控人們假定發生在車間的變化,并生成一個更新了的期望的定單完成時間。這些變化是否大到需要重新優化排程將基于決策者的判斷。在一個計劃實際交付車間實施之前,可以通過提供大量的可選狀況的生成和測試能力來幫助決策者的判斷。這種方法也稱為仿真,目前的APS軟件工具都提供仿真手段(見圖1的第3到第5步)。
在這里要提到的另一個特征是兩步計劃方法,也稱為增量式計劃。假定有一個新的定單到來。如果它落在生產計劃排程的計劃范圍內,這個新顧客定單的活動可以插入到它所需資源上已排序好的定單中。在現行排產計劃中尋找時間空隙,以便新定單的排程只須做微小的調整。如果能維持排產計劃的可行性,那么就能導出新定單的一個計劃交貨期,并送回給顧客。
由于上面這一基本排程可以通過不同的定單順序來改進,所以重新優化經常會被考慮,以便通過新的排序來減少成本。
下面我們就來舉例說明。假定有4個定單需要在某個機床上排程,表1給出了定單交貨時間,優化的目標是使順序相關的生產準備時間總和最小。如果實際開始時間在100(時間單位),所有定單的加工時間相同(1個時間單位),順序相關的準備時間是0,1/3,2/3或1個時間單位(表2給出了準備時間矩陣)。那么,最優的排程顯然是ABCD(如圖5所示)。
表1 數據:到期時間
表2 數據:生產準備時間矩陣
圖5 生成新顧客定單E的到期時間
在開始加工定單A之后,我們被要求檢查是否能夠接收一個交貨時間為107的新定單E。假定不允許因為一個新(緊急)定單而中斷一個已經開始執行的定單,那么我們可以檢查在完成定單A,B,C或D之后,把工作E直接插入現行排程。由于在定單A和E這個子順序之間存在一個正的準備時間,插在A之后會違反定單B的交貨期,因此是不可行的。依理可以找到三個可行排程,其中可選方案c)具有最小的準備時間總和。因此,交貨期為107的新定單E可以被接受(假定定單E值一個時間單位的附加生產準備時間)。
當重新執行排程優化時,我們可以得到一個新的包括定單E的可行排產方案,它減少了1/3的生產準備時間(如圖6所示)。
圖6 重新優化后的排程
生成一個新的定單排程是費時的,并且通常會導致一些緊張(nervousness)。這些緊張是因為與先前的實際計劃相比改變了定單開始的時間和生產的數量。緊張可能導致車間的額外工作,例如某些輸入物料或許要更早交付,而這又要與供應商一起檢查。為了減少緊張,通常可以把在一個資源上接下來的幾個定單固定,也即它們的加工順序是固定的而不作為重新優化的一部分。開始時間落在一個給定時間段(稱為凍結范圍)的所有定單都將被固定。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:什么是高級計劃與排程-APS?基本原理是什么?與ERP有什么區別?
本文網址:http://www.guhuozai8.cn/html/consultation/1082053949.html