|
公眾號(hào)停更了一段時(shí)間,期間有很多文章想回應(yīng)一下,今天先寫第一篇。 付兵9月10日 聞道-供應(yīng)鏈思維上發(fā)表了一篇文章供應(yīng)鏈計(jì)劃問題,為什么需要三種完全不同的算法?解碼Blue Yonder算法引擎的商業(yè)智慧 討論了Blue Yonder的三種算法: (1)LPOPT采用全局優(yōu)化(線性規(guī)劃) (2)MAP采用啟發(fā)式(逐單計(jì)劃) (3)Deep Tree采用遞歸分層算法。 說一下我對(duì)這三種算法的理解。 在我看到這篇文章后,問了付兵一個(gè)問題:這是基于Blue Yongder最新方案嗎?感覺與20年前i2 FP的方案理念沒什么差別。(i2最早起家的方案是FP 工廠計(jì)劃,在互聯(lián)網(wǎng)泡沫后陷入困境,2010年被JDA收購,2021年JDA被松下收購后,更名為Blue Yongder)。 付兵的回答:根據(jù)19年做的研究寫的,而前兩個(gè)是ESP的。 我的理解:經(jīng)典的東西不會(huì)變,付兵寫的Blue Yongder三種算法的核心內(nèi)容,與我在2005年學(xué)習(xí)i2 FP的內(nèi)容的核心理念未變。此文是根據(jù)我對(duì)i2 FP理解,寫的想法。 一、LPOPT全局優(yōu)化的線性規(guī)劃 付兵原文中提出問題:如何制定一個(gè)生產(chǎn)和分銷總計(jì)劃,才能讓整個(gè)公司的總利潤(rùn)最高(或總成本最低)? 而這個(gè)問題,是通過全局優(yōu)化的線性規(guī)劃。總利潤(rùn)最高(或總成本最低)是優(yōu)化目標(biāo),而方法是通過線性規(guī)劃的方式。但是總利潤(rùn)最高(或總成本最低)的優(yōu)化涉及財(cái)務(wù)信息。我不清楚現(xiàn)在Blue Yongder是如何制定優(yōu)化目標(biāo),在早期版本中,是根據(jù)訂單優(yōu)先級(jí)來優(yōu)化。比如:在手訂單小于產(chǎn)能時(shí),有訂單就接收,通常情況下訂單都是盈利的,這無須算法優(yōu)化。只有到了訂單量和產(chǎn)能接近,或者訂單量大于產(chǎn)能時(shí),線性規(guī)劃是根據(jù)訂單優(yōu)先級(jí)來優(yōu)化,訂單優(yōu)先級(jí)高的優(yōu)先計(jì)劃。而訂單優(yōu)先級(jí)的設(shè)定,就是比較關(guān)鍵的。如果訂單優(yōu)先級(jí)沒有根據(jù)利潤(rùn)率、客戶重要性做區(qū)分,訂單的優(yōu)先級(jí)是按照交貨時(shí)間由近到遠(yuǎn)、訂單批量由小到大的順序排列。即交貨期越近的優(yōu)先級(jí)越高,訂單批量越小的的優(yōu)先級(jí)越高。當(dāng)然實(shí)施項(xiàng)目時(shí),可以根據(jù)需求,自行設(shè)定優(yōu)先級(jí)。在學(xué)習(xí)FP資料時(shí)特別好奇,為什么按這個(gè)交貨時(shí)間,訂單批量設(shè)定優(yōu)先級(jí)。所以特別關(guān)注優(yōu)先級(jí)設(shè)定這一塊,后來看了排程算法才知道,按照這個(gè)規(guī)則交付訂單數(shù)量最大,延遲交付訂單最少。所以制定一個(gè)生產(chǎn)和分銷總計(jì)劃,讓整個(gè)公司的總利潤(rùn)最高(或總成本最低)是目標(biāo),而通過設(shè)定訂單優(yōu)先級(jí),將財(cái)務(wù)目標(biāo)和計(jì)劃目標(biāo)解耦。二、MAP采用啟發(fā)算法(逐單計(jì)劃)在i2 FP剛剛誕生時(shí),計(jì)算資源還是非常稀缺的。在i2工作時(shí),同事講過一個(gè)故事:華為剛開始做集成供應(yīng)鏈項(xiàng)目時(shí),每月一次計(jì)劃的時(shí)間要接近20小時(shí)(第一天晚上運(yùn)行計(jì)劃、要到第二天中午才能完成計(jì)劃,需要在第二天工作時(shí)間前做完計(jì)劃)。為此華為不惜重金,要求i2派最優(yōu)秀的專家優(yōu)化,保證計(jì)劃時(shí)間的及時(shí)性。因此早期計(jì)劃,對(duì)所有產(chǎn)品、所有區(qū)域完全計(jì)劃是非常消耗資源的,通常是一個(gè)周期(月、周)做計(jì)劃,當(dāng)有調(diào)整時(shí),針對(duì)單個(gè)產(chǎn)品、單個(gè)物料做計(jì)劃。每次計(jì)劃根據(jù)預(yù)測(cè)需求量制定計(jì)劃需求量,如下圖,七月份的產(chǎn)品A的需求預(yù)測(cè)量是180,但經(jīng)過團(tuán)隊(duì)確認(rèn)的未來計(jì)劃需求量是160,未來生產(chǎn)的產(chǎn)能計(jì)劃是按160的量來計(jì)劃的。![]() 計(jì)劃完成后,這160的計(jì)劃量中,已經(jīng)有一些訂單,這些是分配訂單,剩余的生產(chǎn)量,留給ATP,這個(gè)ATP就是可以接受的新訂單量。![]() 如果ATP大于零,可以接受訂單,一旦ATP=0時(shí),再有新訂單進(jìn)來,就需要是否考慮接受新訂單,這時(shí)的新選擇無非:加班、增加設(shè)備、產(chǎn)能外包,或者甩掉不重要訂單。無論哪種選擇,都需要更改設(shè)置,針對(duì)這個(gè)訂單影響的產(chǎn)品、設(shè)備、原料重新計(jì)劃。 這個(gè)就是啟發(fā)式算法。 三、Deep Tree采用遞歸分層算法。 在付兵的文章中,第三部分介紹的分層算法(ICP -> CAO -> AS),這里我不再贅述。 只想說的是如果對(duì)于所有資源都采用遞歸分層算法,資源消耗是很大的。 因此CAO通過計(jì)劃保證大顆粒度(長(zhǎng)周期,地點(diǎn)匯總、產(chǎn)品系列)的產(chǎn)能與生產(chǎn)的相對(duì)平衡后,排產(chǎn)是需要小顆粒度(時(shí)間維度天、小時(shí)、分鐘;地點(diǎn)維度車間、設(shè)備;產(chǎn)品維度具體產(chǎn)品)的生產(chǎn)能夠執(zhí)行。 分層的優(yōu)點(diǎn)在于保證大顆粒度的相對(duì)平衡后,小顆粒度排產(chǎn)是在計(jì)劃的框架內(nèi)執(zhí)行,通常不會(huì)在排產(chǎn)階段去修改計(jì)劃,從而保證計(jì)算資源的合理的使用。 而排產(chǎn)的優(yōu)化空間在于生產(chǎn)批次的匯總。一種生產(chǎn)包括準(zhǔn)備時(shí)間、生產(chǎn)時(shí)間、冷卻時(shí)間;合理排產(chǎn),將相同品類的生產(chǎn)集中生產(chǎn),可以提高效率。 比如汽車噴漆,從紅色轉(zhuǎn)化成藍(lán)色需要有較長(zhǎng)的冷卻、準(zhǔn)備時(shí)間。將紅色汽車、藍(lán)色汽車的生產(chǎn)匯總。 最近將我的公眾號(hào)的作為知識(shí)庫,制作了供應(yīng)鏈答疑智能體。 為了完善知識(shí)庫的內(nèi)容,最近將增加了一些供應(yīng)鏈基礎(chǔ)知識(shí)的內(nèi)容。 |
|
|