摘要:近些年一直在制造業,做過,當過小組負責人。要滿足智能制造中,實現對機臺進行分鐘級甚至秒級的生產指令下達。這個核心是怎么實現的呢那就需要一個很牛的引擎。事實上業務規則分兩種,很多個層次。這個時候排程引擎就派上用場了。
當碼農有10多年了,由建筑行業軟件,各種MIS,通用物流定制平臺,CCTV客戶端(是閉路電視,不是央視喔)啥都做過。最后小試一下創業,不過那都是鬧著玩的,不到一年就回到碼農的隊列,重拾搬磚的行當。近些年一直在制造業,做過ERP,當過小組負責人。有人問為什么不轉純管理?是能力不足,氣質不佳還是人品低下?我覺得都有些且不全吧。反正無論是當管理還是做技術,我還是覺得手里拿點實在的東西心里才踏實。并不是說管理不是一個好技能,而是本人遇機問題,機會不多,所以大多數時間都是在做搬磚,磚搬多了,當然想試一下,看能不能搞個自動化機械出來,總不能搬到退休那天吧,碼農到底多少歲退休呀?看來如果再不練就點拿得出手來的東西,到時候我就只能退,無法休了。那些奮斗于500強,30歲而立之年已賺足退休資本的農場主們不在此列。
好了,嘮叨了半于,回來說說粘點邊的。上面說了,老農啥都搞,那也就是說沒啥精的了。跟同行們說我是在制造業里做IT的,可人家習慣性地府視俺:工廠里的IT?說是ERP,不就是進銷存嘛,能有啥技術含量?。嗯,覺得也是,不過要知道,當你深入到一個行業里去,無論是做什么,你都會覺得,你進的是天坑,你遇到的都是世界難題。畢竟那些說這個簡單那個沒技術的人,通常都只是在隔山觀火走馬觀花(這兩成語是這么用嗎?體育老師還要兼顧數學,所以本農的語文水平有限呀。)在企業里我做過營業模塊,也做過生產模塊,其實當你深入其中,去跟各種業務邏輯細節搏斗時,你就會感覺到:媽的,今年的諾貝爾軟件獎舍我其誰?其實世界上沒有好做的軟件,覺得好做,只是你的系統簡單而已,而不是哪個行業簡單。好了,既然ERP這么簡單,老農我也覺得這不是我的菜呀(其實是能力不足,沒辦法深入到ERP的業務里罷了).好在現在整個中國都在鬧智能制造,我覺得也可以在制造業做點大家覺得有小許牛B的事了(原諒我做了點小夢)。先不說這一輪的人工智能熱潮會不會如2000年的互聯網熱一樣,火一下就沒了。但有些進步是大家都能看得到的,起碼谷哥他家的狗在圍棋上把人類給秒了。
關于智能制造,在其中一個環節,就是讓計算機把一些以前還是需要有經驗,IQ還可以的人才能做的東西,幫忙給做了;而不僅僅是通過網絡控制機器手來代替人手。能被機器手代替的,更多的是重復勞動,另外就是機器手的高精度操作遠超人類。但是,例如做生產計劃這類需要很高“智能”才能做的事情,在人工智能的背景下,應該也會慢慢有成果出現了。說到生產計劃,可能大家遇到最多的都是MPS(主生產計劃),它只是一個很高層次的計劃,只能計劃到車間(頂多是產線),時間上最多只能精確到天;更多的算是企業層面的計劃,不太具有實操性。要滿足智能制造中,實現對機臺進行分鐘級(甚至秒級)的生產指令下達。光靠MPS肯定不可行的,事實上MPS下達到車間后,會有相應的調度部門來對MPS進分解,形成調試指令。把工單再分配給操作班/組,而這個生產指令在很多情況下,還不是精確的完全可執行的信息,很多還只是“主體信息”,到了機臺的操作班/組,還需要班/組長根據機臺的實際情況進行一些額外的處理,才能形成真正的操作指令。所以,一些很復雜的細節邏輯,其實是下壓給了調度部門和機臺班組。但要實現智能制造,要提高生產自動化程度,這一系列的復雜轉換,就不可能由人逐層地下發。因為:1.在速度上來說,人對復雜問題的處理速度遠跟不上計算機,特別是涉及大量計算、判斷的信息處理時;2. 能做出一套好的MPS就已經是不錯的生產計劃員了,已經需要對業務非常熟悉,對各種情況的預判準確率要達到一定的程度;這是需要豐富的經驗和試錯經歷的。3. 當完成了MPS要分解成調試指令甚至是操作指令時,這個過程就不可能只靠人類來實現,因為里面涉及的計算和邏輯判斷太多,太復雜,遠超過人類可以處理的范圍。4.就算花大量的人力物辦做出一套可行的調試指令,但要在可行的基礎上實現相對最優,那就不是人可以做到的了,這就涉及一個數學上的NPC問題,我在下一篇文章里會說明。
因此,要實現上面說的那些復雜、不可能靠人力實現的工作,就需要依賴計算機了。但計算機也只是按人的指令要求進行計算和判斷而已呀,所以歸根到底還是需要人的智慧。而在這個場景下,實際上是需要依賴人類對數學的運用來實現這么一些復雜的系統。Google那只會下圍棋的狗(現在人家已經站在這個星球的圍棋頂端開卷孤獨求敗了),其實不就是人類給它實現了一大堆的數學邏輯嘛??晌也]有這個水平,我們怎么辦呢?怎么樣能完成上面看起來很牛的工作呢?其實現在業界已經在研究并且有些比較成功的應用了,那就是APS,APS的核心就是在有限的資源條件下,實現相對最優的資源配置。為什么我老是講相對最優,而不說最優呢?還是得下篇來說。APS這個核心是怎么實現的呢?那就需要一個很牛的引擎。也許會有同學問,業務規則我都知道呀,條件限制我都得到了,那我自己按業務規則寫出來,然后就用這個來跑,把結果跑出來,形成一系列的調試指令不就行了吧?扯什么引擎,什么相對最優呢?沒錯,如果是這樣的話,估計這部分同學也是覺得別人的系統很簡單,沒啥技術含量了。事實上業務規則分兩種,很多個層次。層次先不說,我們先說種類。一種是硬規則(相對應的制約,后面的篇章里會叫做硬約束),和種是軟件規則(相對應的制約,后面的篇章里會叫做軟約束)。硬規則就是一些不能違反的規則,例如一個產品所使用的原料必然是指定范圍內的,需要使用指定的機臺進行生產,否則就不可能生產出來,或出來的必然是報廢品。而有一些是軟規則,就是一些規則老板們希望都不要違反,違反了會讓他掉錢的,但客觀事實出現了一些情況,沒辦法完全保證所有規則都 遵循,部分規則也只能放棄堅守了,也就是相害相遇取其輕。例如:同樣的產品,可以用兩種機臺生產,有一個機臺的成本非常高,是用來生產專用產品的,普通產品在正常情況下是不會用那個機臺生產的,如果普通產品放上去,必然虧本。但如果現在正是旺季,而一個很重要的客戶給訂單過來,要一個生產普通產品,如果不用這個天價機臺生產,那鐵定是無法按期交貨了,會影響后以后的合作,這時候老板也只能虧一次,起用這個天價機臺了。但是生產得越多虧得越多,老板就要求調度員們絞盡腦汁,力求盡量少用這個天價機臺。每天都有天量的生產要求要處理,你當計劃員、調度員們是神呀?所以篇到一個認為差不多可以了的生產方案就往上報唄,老板也如愿以償地保住了客戶虧了不少錢??墒沁^兩天老板會發現,其實有更好的方案可以更少地使用天價機臺,甚至還有一個無需使用天價機臺的方案,他會去把計劃員、調度員們捉來殺掉拜旗嗎?(只有碼農才有這個待遇嗎?).問題是:1、在短時間內,人類能找到這個方案嗎?不一定,其實是很難,非常難。2. 計劃員、調度員們找到的方案有人去挑戰嗎?不一定(基本上沒人有這個能力),因為你也不知道他們出的方案是不是最優?甚至他們自己也不知道。除非他們把所有可能的情況都列舉一次,在現實情況下,不要說他就這一個方案做到退休能不能窮舉,就算全公司的人一起來列舉計算,算到地球毀滅那一天,也不一定能找到。這個時候排程引擎就派上用場了。而其中的核心就是一些數學算法。就如上面所說的,這么多的情況,計算機也只是一個一個去試,一個一個去計算呀,那如果可能的情況足夠多,你把全世界都用來挖礦(比特B)的電腦都拿來跑也不一定能跑完呀。這就對了,引擎的作用就是當可能情況無限大的時候,并不會無序地一個一個試,而是集成一些算法,有策略地找,雖然也不一定能找到,但在相同的時間內找到相對最優方案的機會,相對人來說,還是超N個數量級的。其中就集成了一些例如Tabu search算法,遺傳算法,退火算法和爬山算法等。我們的主角Optaplanner就是這么一個集成了這么多數據工具的一套開源軟件。一下篇我們就開始對Optaplanner進行學習。驚不驚喜?意不意外?:)
另外,若對此文(或本系列任何內容)感興趣,歡迎轉載,但請尊重艱辛勞動,注明出處。為謝!
如需了解更多關于Optaplanner的應用,請發電郵致:kentbill@gmail.com
或到討論組發表你的意見:https://groups.google.com/for...
若有需要可添加本人微信(13631823503)或QQ(12977379)實時溝通,但因本人日常工作繁忙,通過微信,QQ等工具可能無法深入溝通,較復雜的問題,建議以郵件或討論組方式提出。(討論組屬于google郵件列表,國內網絡可能較難訪問,需自行解決)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73837.html
摘要:后來我用的示例可以正常運行起來了。運行示例我們選擇一個比較經典的示例運行一下看看。軟性要求任何一臺一旦有任務分配進去,即表示該被占用,需計算這臺的成本。討論組屬于郵件列表,國內網絡可能較難訪問,需自行解決 經過上面篇長篇大論的理論之后,在開始講解Optaplanner相關基本概念及用法之前,我們先把他們提供的示例運行起來,好先讓大家看看它是如何工作的。OptaPlanner的優點不僅僅...
摘要:本教學使用環境介紹伺服器端資料庫語言版本本機端一開始原本是用去備份資料庫,但是發現會有一些問題,于是改成這種方式,直接透過去備份,出來的格式也不會有什么問題。 本教學使用環境介紹伺服器端:Ubuntu 18.04 LTS資料庫:Mariadb 10.1.34(Mysql)語言版本:php 7.3本機端:MacOS High Sierra 一開始原本是用 php 去備份資料庫,但是發現會...
摘要:本教學使用環境介紹伺服器端資料庫語言版本本機端本教學將使用純去備份資料庫并下載到目錄底下設定每天凌晨執行腳本記得開頭一定要,即便你有啟用縮寫備份后的名稱資料庫設定資料庫使用者帳 本教學使用環境介紹伺服器端:Ubuntu 18.04 LTS資料庫:Mariadb 10.1.34(Mysql)語言版本:php 7.3本機端:MacOS High Sierra 本教學將使用純 php 去備份...
閱讀 2636·2021-11-19 09:56
閱讀 891·2021-09-24 10:25
閱讀 1655·2021-09-09 09:34
閱讀 2214·2021-09-09 09:33
閱讀 1066·2019-08-30 15:54
閱讀 552·2019-08-29 18:33
閱讀 1279·2019-08-29 17:19
閱讀 517·2019-08-29 14:19