在了解各種算法之前,我們先嘗試羅列一下各種算法。
看到上面的算法,很多人是不是感覺到神秘莫測了? 其實APS算法遠沒有大家想象中的難以理解。
先從一個小故事說起,我們小時候會聽到老和尚的故事:山上有座廟,廟里有個老和尚很愛跟人家講故事,故事是這樣的:山上有座廟,廟里有個老和尚很愛跟人家講故事,故事是這樣的...”
當時非常疑惑,老和尚為什么總是一直重復自己說的話呢?
其實里面就蘊含了遞歸的思想:調用程序本身的編程方法。
遞歸算法應用很普遍,比如:多級BOM展開就用到了遞歸算法。
接著說小故事:
為了找出地球上最高的山,一群有志氣的兔子們開始想辦法。
兔子朝著比現在高的地方跳去。他們找到了不遠處的最高山峰。但是這座山不一定是珠穆朗瑪峰。這就是爬山法。
(圖片來源于百度)
在實際建模過程中,經常會使用此類算法,比如設定一個批量值用于拆單/合單。
兔子們知道一個兔子的力量是渺小的。他們互相轉告著,哪里的山已經找過,并且找過的每一座山他們都留下一只兔子做記號。他們制定了下一步去哪里尋找的策略。這就是禁忌搜索。
(圖片來源于百度)
在實際建模過程中,也經常會用到。比如設定關鍵路徑正向排產,其他分支路徑逆向排產。
兔子喝醉了。他隨機地跳了很長時間。這期間,它可能走向高處,也可能踏入平地。但是,他漸漸清醒了并朝最高方向跳去。這就是模擬退火。
(圖片來源于百度)
兔子們吃了失憶藥片,發射到太空,并隨機落到了地球上的某些地方。他們不知道自己的使命是什么。但是,如果每過一段時間就殺死一部分海拔低的兔子,多產的兔子們自己就會找到珠穆朗瑪峰。這就是遺傳算法。
模擬退火算法和遺傳算法在進行車間作業排序優化的底層運算會用到。因為算法加入了隨機性,2次排產結果有可能會有稍許差別。
不同的算法都有其相對適用的領域。
啟發式算法是利用類似仿生學的原理,將自然、動物中的一些現象抽象成為算法處理相應問題。在可接受的計算成本內去搜尋最好的解,但不一定能保證是最優解。
擁有多種算法能力,以及將算法整合運用是APS軟件中”偽”,”劣” 與 “優”的區分點(“偽”,”劣”,”優”的區分可參見本公眾號<如何確保APS實施成功之選型篇>,這里不做展開說明)。
但是我們作為從業者,不應該將算法過于神秘化,不要試圖運用高深莫測的語言去震懾客戶,而是應該清醒地認識到:“客戶需要的不是算法,而是計算結果” 。在具備了優秀的算法,我們還需要有恰當的業務規則(邏輯和參數)來應用合適的算法, 才能計算速度更快、計劃結果更優。這需要APS實施顧問和甲方業務專家有很強的洞察力,優秀的業務經驗和決策能力,才能對業務實況進行精確分析,提煉并綜合設計各種合理的業務規則(邏輯和參數),確保APS軟件的計算結果滿足客戶的排程需求。
諶天宇老師,2008年起從事工廠計劃10年;2010年起在企業內部導入、推廣APS;先后加入微優微科技和旭湉科技專業推廣APS。他是APS顧問中難得的業務、IT全面型人才,更是本領域的深度思考者。
旭湉科技(原武漢微優微更名而來),堅守“讓工廠計劃變得簡單”的使命,賦能工廠計劃領域,提供工廠計劃全面提升方案,業務咨詢(旭:溫暖的朝陽)和信息化(APS為主)(湉:清冽的泉水)雙輪驅動,讓客戶這片沃土更加生機勃勃。
歡迎垂詢:手機/微信:13472731944