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