不論是ERP、MES、又或是APS制造業企業借助一些IT手段來協助和完善人工算法的不足,不論是借助哪一種軟件來解決生產制造端人工的不足,我們始終是要搞懂其背後的底層邏輯算法。單純依靠或者依賴IT手段來解決生產問題是不可取的。最近對APS的一些理解,整理一下。
生產計劃排程既有相對簡單的算法,例如,最短交貨期算法,最短工序算法等,也有覆雜的算法,例如,神經網絡、模擬退火法、遺傳算法、禁忌搜索法等。
計算機程序可以認為是算法和計算機語言語法的集合體。越覆雜的計算問題,算法也越覆雜。生產計劃排程是非常覆雜的問題,開發一套APS系統,算法方面是最大的難點。我本人就職於設備制造企業,機加工零部件多項目混合生產,工序覆雜,多品種小批量生產模式,排產難度可想而知。既定生產計劃很難100%在制造端實現執行。
覆雜算法遺傳算法是對非線性問題求出比較好的可行解,但計算量很大。一些理論上的最優化方法能提供最優排程,但由於其計算的覆雜性,並且忽略了很多實際因素,離實際運用還有較大距離。簡單算法較好,因為一般企業的數據計算量非常大,而且整個生產現場的形勢不斷變化,排程要在極短的時間內算出結果,最好在幾分鐘內完成計算。如果整個計算過程耗時過長,也就失去了它的指導意義,因此時間因素非常重要。簡單算法可以根據特定的問題設定特定的規則,相對來說是計算快速,比較實用的算法。另一方面,也不是算法越覆雜,排程結果就越好,本文通過對四種簡單算法的比較計算也可以看出該問題。
工作中解決問題有常常容易陷入誤區,將看似覆雜的工作環節在定式思維的影響下,繼續將其覆雜化,直至逼入死胡同,很多時候讓各部門陷入疲於奔命的救火狀態。對於排程我想說的是,不論制造環節如何覆雜,產品如何多元化,我們的思維模式始終要將其“簡化”。找到底層邏輯的關系,抽絲剝繭直到所有的環節都能寫在生產看板上,條理化的分解任務。
四種簡單算法的比較
對4種簡單的排程算法進行比較計算。這些年的研究資料表明生產計劃排程並不存在一個全局最優的排程規則,也不是算法越覆雜結果就越好,這一點通過下面一個例子對4種簡單算法進行計算就可以得到驗證,這4種簡單算法中計算覆雜性稍有不同,並不是算法越覆雜排程結果就越好。
要做比較計算的4種算法是:1,最短工期;2,最早交貨期;3,按照工期和交貨期之間的距離;4,CR值。計算的覆雜性也是依次遞增。
上面4種算法中,最短工期法是最簡單的,它不考慮各個作業的交貨期先後,先排工期短的作業,再排工期長的作業,但對於我們隨便給定的例子,它的總逾期天數是最少的,當然不能說所有例子它的總逾期天數都是最少的,這里面有偶然性。這個例子也說明了,不意味者計算最簡單的算法結果是最差的。企業在生產計劃排程時,可以根據其計算能力選擇合適的算法。
3正排和倒排的選擇
生產計劃排程時選擇了排程的算法之後,是正排還是倒排也是一個重要問題。正排指的是按照預定的算法盡可能緊前安排,倒排指的是盡可能緊後安排。