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