日本訂閱制APS(先進規劃排程系統) 台灣代理商

生產排程

APS的原理

先說說APS這個名字。APS(Advanced Planning Scheduling)被翻譯成“高級計劃排程”,也有“先進規劃排程”。我覺得似乎advance用在這里應該是“進階”的意思,就是在原來手工作業或者MRP、MRPII基礎進了一步。高級,總覺得是高大上,而APS就是一個輔助決策的工具。我們討論APS,看看它的原理是什麽,它能做什麽,不能做什麽,以及為什麽?

現在有不少關於APS的書和很多APS方面的學術論文。假如制造業企業的生產主管能夠看懂,會覺得他們對真實的生產現場實際了解還不夠,還沒有從學術殿堂走進車間。這句話也是對我們自己說的。十多年前,我們研發了一款APS系統並在企業艱難地推廣。通過對幾百個工廠車間樣本深入研究後,六年前,我們才覺得過去對工業制造的理解還不深,也找到了APS存在的幾個缺陷。於是才有了“Q管理”系統的誕生。

決策層次和運行機制的問題

制造業企業的生產計劃和車間調度是不同層級的決策問題。計劃和調度的決策目標不同,決策對象不同,需要配置的資源不同,環境和約束條件也不同。通常,生產計劃針對的是訂單,主要考慮是能不能按時交付,能不能掙錢,即使虧錢是不是符合企業長期利益,需要動用多少庫存,哪些外協,哪些自制,刀具模具的準備,車間產能夠不夠,勞動力情況,供應商能不能及時供貨等等。

而車間調度就是把所有的工單按照預定時間,保質保量完成,同時考慮生產效率問題,產能最大發揮,關鍵設備使用率提升,以及工人的勞動強度,安全和身體健康,以及勞動報酬等。
生產計劃和車間調度是不同任務,不同目標,不同約束的兩個層面的事情。局部利益(目標)有時候是相互矛盾的。比如,產能最大化和最短訂單生產周期本身相互矛盾就不可能同時兼顧。同一個架構同一個運行機制不可能魚和熊掌兼得。依靠APS同時做好生產計劃和車間調度是強人所難。

假如,一個訂單產品的BOM主部件A有兩個子部件B和C,C有兩個子部件D和E。這些分別在五個車間加工。APS排程一定是從底層子部件往上主部件排程。假如D車間出現異常,D零件無法正常加工,APS就需要重排。由於各個車間相互關聯,這時候各個車間都需要根據新的約束條件重排。這就出現了APS的“牽一發動全身”的整體聯動效應。按說,這樣做沒有錯。但是工廠的運作真不是這樣的,所以這種安排工廠無法執行。工廠並不會因為一個車間出點事情,所有的車間重新布置作業計劃。當然,APS有一個“凍結”功能,以避免這個尷尬。問題是車間異常變動司空見慣,凍來凍去就失去APS按約束條件排程的初衷了。

APS會按照有限能力資源和各種約束排程。如果有足夠訂單,APS可以把一個月甚至半年的訂單都排進去。然後,把得到的結果切割成日計劃、周計劃、月計劃甚至季度計劃。這是用調度的手法做計劃。在實際的工廠,即使你把後幾個月的訂單都排進去,未來資源和訂單也肯定會發生變化。長期排程結果對調度沒有意義,但是這種類似仿真的技術手段用於指導生產計劃的制定應該是挺好的。可惜,如果調度不好用,企業可能也不會用APS這個做計劃的方法。

APS模型的討論

我們研究的對象是真實的工廠。針對這個真實的工廠原型去研究它的運營規律、管理機制、制造過程的管理控制。在研究中我們對工廠直接實施改造控制,其風險和代價很大。這樣我們需要根據原型建立一個模型進行研究。原型和模型的關系就是“digital twin”。模型的有效性非常重要。如果建立的模型不能反映系統原型的基本特征,研究的結果就無效,更不可能付諸實施。

用表格建數學模型是科學研究非常通用的方法。大多數APS是依靠Excel建立工廠生產計劃調度系統的數學模型。現在的問題是,制造業企業的生產運營管理和制造過程的管控是一個非常覆雜的系統,即使我們能夠設計出反映企業基本運行規律的表格,那麽這個表格必然會非常覆雜,制造企業不可能正確填寫表格,那麽這個模型也就失去實際作用。

在實際的APS,為了能夠在企業實施項目,為了讓制造企業能夠填表,APS的表格不會太覆雜。然而,這就帶來了模型太粗燥的弊端。為了彌補模型的缺陷,APS在軟件界面就設計了很多的配置項。俗話說,麻袋繡花底子不行。基礎模型沒有建好,不能反映原型的特征,制造企業就難以接受,難以應用。遺憾的是,恰恰是由於APS模型缺陷引出來的很多的用戶配置界面,反而成為APS的一個功能強大的銷售賣點。

在這里對制造企業建模主要目的是研究企業運營的效率、質量、成本。建模是極具挑戰性的創造。對一個工廠來說,期望所建模型既有效,又可操作,又簡單,就需要對工業制造的本質有深刻的理解。如果不能在車間生產現場沈下去,如果不研究大量的工廠樣本,如果不經過理論和實踐多次叠代和一次又一次的失敗,很難達到預期。

我們必須說APS模型有缺陷,但是它絕不是不可用。當我們把系統的範圍縮小,研究一些局部運營管理問題;當我們消除一些局部系統外部的不確定性;當我們把排程的“顆粒度”與研究對象實際更貼近一點;當我們可以把系統的某些非線性近似為線性的時候;APS還是一個有效的工具。這也是很多中小企業能夠實施APS的原因。

APS算法的討論

模型和算法肯定是綁在一起的。模型的有效性是算法尋優的基礎。

大多數APS都是基於規則的算法。現在尚不存在一種全局最優的規則。所以,如果APS是基於規則算法,它僅存在局部優化的可能。制造車間排程尋求最優是極其困難的。APS排程優化運算結果應該是在千千萬萬可行解中的一個。

鑒別APS是否有優化算法的一個方法就是,以最短生產周期為目標,給APS輸入足夠多訂單並且不設定優先級,然後讓Solver分別運算一秒鐘、一分鐘、一個小時,再觀察結果的變化。
實際上,對於管理水平很差的企業,APS的優化能力不重要。重要的是排出來一個企業能夠執行的結果。真正的排程優化只有管理水平很高且數字化/自動化環境很好的場景才能體現。

理論上的可行解與實際上的可執行指令是不同的。計算機模型算法可以忽略很多約束和幹擾,而實際上這些問題不可忽略。因此,APS常常出現輸出的指令可執行率不高的現象。

規則算法就是按照人為制定的排序規則,由計算機依據既定的約束條件把任務的順序排出來,大部分都是簡單地“碼”出來而已。即使這樣,對於覆雜的生產現場管理來說,能夠按照規則把生產任務排序做好也遠遠超過人手操作的能力。所以,規則算法在很多情況下是非常有效的,尤其是對中小企業。

APS的輸出指令都是交給人來執行的,因此它有緩沖和協調的條件。事實上,對於管理水平還不是很好的中小企業,不適應精準調度,也沒有必要。中小企業如果上線實施APS,不要對APS太苛求,能夠比手工作業更好就達到目的了。而APS的實施,客觀地提升了企業的數據質量,為下一步的改善提供了數據環境。

APS能做什麽,不能做什麽

由於APS可以實施局部優化,所以,在很多車間層面可以應用。比如流水線連續生產、生產周期很短的裝配生產、電子產品生產、服裝生產等。在局部車間生產管理,APS甚至可以做到精準管控。比如,如果確保供應鏈線邊庫存充足,APS可以指揮冰箱裝配無人自動化生產。

但是,就現在APS的架構很難實施多車間的協同生產,它處理不好局部優化和整體優化的關系。APS排各個車間的工單嚴絲合縫,可能只要一連起來就無法執行。

大型裝備的生產管理也不能用APS,因為大型裝備涉及到的系統環境非常覆雜,長的生產周期存在很大不確定性,供應鏈和多車間的協同是主要矛盾。

在一些特殊工藝和設備加工過程,如果物料流動產生很大的非線性,並且排程機制不能近似線性處理,APS也不能用。比如,零部件生產工序是粗加工…熱處理…精加工。如果在熱處理排程導致一兩天時間都誤差,排程沒有指導意義。
制造業生產現場管理是管理科學中最困難的問題之一。制造工廠的生產計劃調度問題已經進入了大系統和覆雜系統研究領域。APS應該是探索這一科學技術勇敢的實踐者。也許,由於過去幾十年能夠提供我們的管理科學、運籌學和計算機科學的技術和知識還不能支撐有效研究解決這些問題。現在雲計算技術、非線性規劃等數學工具的發展已經讓這種科學進入實際應用成為可能。更為重要的是需求的牽引。生產現場管理的改善潛藏著巨大的價值,這是制造業企業未來必須收獲的紅利。

APS應該創新發展了。最近幾年,我們的團隊一直在美國的制造企業實施“Q管理”系統。我們看到美國的業界早已認識到它存在的問題,放棄了APS,而我們國內卻開始熱起來。為了引起大家都思考和討論,少走彎路,也是促使我寫本文的原因。

根據經驗,研究對覆雜制造企業生產過程管理的建模和大規模優化技術,建立“digital twin”(虛擬工廠/虛擬車間),並且按照多級CPS架構實施管控,可能是一條捷徑。