范佳慧,李慶奎
(北京信息科技大學(xué) 自動(dòng)化學(xué)院,北京 100192)
供應(yīng)鏈系統(tǒng)是由不同節(jié)點(diǎn)企業(yè)如供應(yīng)商、制造商、銷售商等集成,涉及資金流、物料流、信息流的復(fù)雜網(wǎng)絡(luò)系統(tǒng)。一般來說,不同形式的供需網(wǎng)絡(luò)皆可視為供應(yīng)鏈系統(tǒng)[1]。供應(yīng)鏈系統(tǒng)是一個(gè)復(fù)雜的動(dòng)態(tài)系統(tǒng),動(dòng)態(tài)復(fù)雜性最明顯的特征是在供應(yīng)鏈系統(tǒng)運(yùn)行中表現(xiàn)出來的不確定性動(dòng)態(tài)行為,包括子系統(tǒng)之間的切換和不確定擾動(dòng)引起的需求變異放大即牛鞭效應(yīng),這種不確定性使得供應(yīng)鏈管理更加困難[2]。
近些年隨著我國經(jīng)濟(jì)的高速發(fā)展以及科技的日益進(jìn)步,對(duì)供應(yīng)鏈系統(tǒng)的穩(wěn)定性分析成為各學(xué)者研究的熱點(diǎn)[3]。文獻(xiàn)[4]提出了一種基于過程仿真的方法,為每一次供應(yīng)鏈內(nèi)產(chǎn)品設(shè)計(jì)變更選擇最經(jīng)濟(jì)的路徑,以減少復(fù)雜產(chǎn)品開發(fā)過程中發(fā)生變更的總過程時(shí)間,并開發(fā)了基于蒙特卡羅方法的模擬算法,用于尋找可行的輸出路徑和計(jì)算輸入變化對(duì)任務(wù)的影響。文獻(xiàn)[5]通過考慮供應(yīng)商、公司的倉庫和公司生產(chǎn)設(shè)施中斷的影響,分析了供應(yīng)鏈系統(tǒng)中不同的變更案例,建立了Wagner-Whitin模型求解每種類型干擾的最優(yōu)排序策略,并找到使公司預(yù)期成本最小化的訂單策略。值得注意的是,目前的研究多從管理學(xué)角度,很少有學(xué)者從系統(tǒng)動(dòng)力學(xué)角度兼顧切換拓?fù)浣Y(jié)構(gòu)研究供應(yīng)鏈系統(tǒng)的變更設(shè)計(jì)。本文將供應(yīng)鏈系統(tǒng)變更的一致性問題主要放在多智能體的動(dòng)態(tài)圖博弈框架中考慮,主要任務(wù)是分析供應(yīng)鏈系統(tǒng)在發(fā)生變更時(shí)的狀態(tài)演化機(jī)制,并保證系統(tǒng)的穩(wěn)定狀態(tài)。
博弈論為研究多智能體最優(yōu)控制問題提供了一個(gè)合適的思路。在該框架下,每個(gè)智能體都試圖優(yōu)化自己的性能,得到最優(yōu)控制策略。由于實(shí)際系統(tǒng)中外界干擾的存在,在博弈問題中,求解最優(yōu)控制策略即需要求解耦合的Hamilton-Jacobi-Isaacs(HJI)方程。針對(duì)HJI方程直接求解困難的問題,文獻(xiàn)[6]提出了一種基于模型的離線策略迭代算法,僅利用在線測(cè)量的狀態(tài)/輸出信息對(duì)某一控制策略進(jìn)行評(píng)估,并找到更新后的控制策略。隨著強(qiáng)化學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的發(fā)展,與之結(jié)合的在線算法[7-10]逐漸受到關(guān)注。文獻(xiàn)[11]提出了一種多智能體強(qiáng)化學(xué)習(xí)算法來求解耦合HJI方程,并證明了該算法收斂于最優(yōu)解。文獻(xiàn)[12]利用自適應(yīng)動(dòng)態(tài)規(guī)劃和零和微分圖博弈理論,提出在線算法,降低計(jì)算復(fù)雜度。不同于現(xiàn)有研究結(jié)果,本文提出一種自適應(yīng)最優(yōu)分布式(heuristic dynamic programming,HDP)算法,無需系統(tǒng)動(dòng)力學(xué)知識(shí)即可求解耦合的HJI方程。
將供應(yīng)鏈鏈主視為領(lǐng)導(dǎo)者,子供應(yīng)鏈建模為跟隨者,子鏈需要對(duì)鏈主的庫存狀態(tài)進(jìn)行追蹤并達(dá)到理想庫存水平。本文考慮系統(tǒng)出現(xiàn)變更,假設(shè)變更前供應(yīng)鏈系統(tǒng)穩(wěn)定運(yùn)行,且能與鏈主達(dá)到一致性,發(fā)生變更后,變更后的系統(tǒng)依然需要與原鏈主保持一致性,即達(dá)到理想庫存水平。
假設(shè)非線性供應(yīng)鏈系統(tǒng)由N個(gè)節(jié)點(diǎn)設(shè)備組成,每一個(gè)設(shè)備將自身采集的原料或生產(chǎn)物品提供給下一個(gè)設(shè)備。在k時(shí)刻第i個(gè)設(shè)備的庫存狀態(tài)和不確定需求分別用xi(k)∈ni和ωi(k)∈qi(i=1,2,…,N)表示。對(duì)末端設(shè)備而言,由于其與市場(chǎng)直接進(jìn)行交互會(huì)受到不確定需求ωi(k)的影響,當(dāng)末端設(shè)備不能抑制市場(chǎng)需求帶來的波動(dòng)時(shí),會(huì)產(chǎn)生牛鞭效應(yīng)。根據(jù)供應(yīng)鏈系統(tǒng)上各節(jié)點(diǎn)設(shè)備之間的物料傳輸關(guān)系,將非線性供應(yīng)鏈中第i個(gè)設(shè)備的動(dòng)力學(xué)方程建模為
xi(k+1)=fi(xi(k))+gi(xi(k))ui(k)+
hi(xi(k))ωi(k)
(1)
式中xi=[x1,x2,…,xi]T∈ni為庫存狀態(tài)矢量;ui(k)∈mi為系統(tǒng)的控制輸入,控制輸入不但代表了第i個(gè)設(shè)備的生產(chǎn)率,也包含了對(duì)上一設(shè)備產(chǎn)品部件產(chǎn)出數(shù)量的需求;fi(xi)∈ni,gi(xi)∈ni×mi和hi(xi)∈ni×qi分別是第i個(gè)子鏈未知的狀態(tài)、輸入和擾動(dòng)動(dòng)力學(xué)形式;從實(shí)際情況出發(fā),本文考慮異構(gòu)多智能體系統(tǒng),即供應(yīng)鏈的每個(gè)子鏈的動(dòng)力學(xué)是不同的,ωi(k)∈L2[0,∞)為不確定需求,視為外界干擾。
考慮供應(yīng)鏈系統(tǒng)存在一個(gè)鏈主,子供應(yīng)鏈需要根據(jù)鏈主和鄰居供應(yīng)鏈的庫存狀態(tài)變化調(diào)整其自身庫存狀態(tài),假設(shè)鏈主的動(dòng)力學(xué)方程為
x0(k+1)=f0(x0(k))
(2)
式中x0(k)∈n0。將式(1)和式(2)結(jié)合,得到如下基于多智能體的非線性供應(yīng)鏈系統(tǒng):
(3)
假設(shè)1非線性供應(yīng)鏈系統(tǒng)中第i個(gè)設(shè)備的最大庫存水平是ci且非線性供應(yīng)鏈系統(tǒng)上的每個(gè)設(shè)備的庫存狀態(tài)都滿足
0 定義每條子供應(yīng)鏈的局部庫存誤差εi(k)∈ni: (4) ε(k)=-((L+B)?In)η(k) (5) 式中B代表牽引矩陣,它表明鏈主與各個(gè)子供應(yīng)鏈的拓?fù)溥B接情況,且有B=diag(bi)N×N。根據(jù)同步庫存誤差的定義可得供應(yīng)鏈系統(tǒng)同步庫存誤差的全局動(dòng)力學(xué)方程: ε(k)=-((L+B)?In)x(k)+ (6) 引理1如果L+B是非奇異矩陣,則同步庫存誤差向量滿足: (7) 式中σmin(·)為矩陣的最小奇異值。為了簡單起見,xi(k)從現(xiàn)在起寫成xik。 注1假設(shè)供應(yīng)鏈系統(tǒng)拓?fù)浣Y(jié)構(gòu)中存在生成樹,并且任一子鏈的bi≠0,則L+B非奇異。 根據(jù)式(3)和式(4),供應(yīng)鏈系統(tǒng)第i個(gè)子鏈的局部鄰域跟蹤誤差的動(dòng)力學(xué)方程為 (8) 神經(jīng)網(wǎng)絡(luò)用于識(shí)別供應(yīng)鏈子系統(tǒng)式(1)的未知?jiǎng)討B(tài)。根據(jù)神經(jīng)網(wǎng)絡(luò)的通用逼近特性,可以將子系統(tǒng)式(1)近似為 (9) 式中:φi(·)為激活函數(shù);εis(k)為神經(jīng)網(wǎng)絡(luò)估計(jì)誤差;zi(·)為神經(jīng)網(wǎng)絡(luò)的輸入;vis和Wis分別表示輸入層和隱藏層、隱藏層和輸出層之間的理想權(quán)重矩陣。 系統(tǒng)辨識(shí)的近似誤差可定義為 (10) 平方近似誤差定義如下: (11) 采用梯度下降規(guī)則用于最小化式(11)并更新神經(jīng)網(wǎng)絡(luò)權(quán)重: (12) 存在鏈主時(shí)的供應(yīng)鏈系統(tǒng)跟蹤一致問題可通過零和博弈方法進(jìn)行分析求解,首先針對(duì)供應(yīng)鏈同步庫存誤差系統(tǒng)式(8)定義一個(gè)性能指標(biāo)函數(shù): Ji=({εik,uik,u-ik,ωik,ω-ik}k≥0)= (13) 式中:Qii>0∈ni×ni;Pii>0∈qi×qi;Pij>0∈qj×qj;W(·)>0;γ>0為一個(gè)給定的常數(shù);u-i={uj:j∈Ni}和ω-i={ωj:j∈Ni}分別是相鄰子鏈的控制輸入和干擾。為考慮控制輸入約束,每個(gè)子鏈?zhǔn)褂萌缦路嵌畏汉缦拢?/p> (14) 式中:R>0為正定對(duì)角陣;π∈mi;φ(·)∈mi;φ-1(ui)=[φ-1(ui(1))φ-1(ui(2))…φ-1(ui(m)]T;φ(·)為單調(diào)奇有界函數(shù),滿足|φ(·)|≤1,且其一階導(dǎo)數(shù)是有界的;是執(zhí)行器的界。 生產(chǎn)率的目標(biāo)是最小化性能指標(biāo)函數(shù),而不確定市場(chǎng)需求的目標(biāo)是最大化性能指標(biāo)函數(shù)。 當(dāng)ωi(k)=0時(shí),解決零和動(dòng)態(tài)圖博弈的同步問題即要找到一個(gè)約束控制輸入ui(k),當(dāng)ωi(k)≠0時(shí),對(duì)于給定的γ>γ*,應(yīng)滿足如下有界L2增益條件: (15) 式中:β為有界函數(shù),且β(0)=0;γ*為滿足上述有界L2增益條件的最小γ值。 定義1對(duì)于系統(tǒng)輸入uik,?i可以穩(wěn)定系統(tǒng)式(8),并保證相應(yīng)的值函數(shù)是有限的,則i被定義為可容許的。 給定供應(yīng)鏈系統(tǒng)的容許控制策略,每個(gè)子系統(tǒng)i的值函數(shù)定義為 (16) 由式(16),每個(gè)子鏈的Bellman方程為 Vi(εik)=Ui(εik,uik,u-ik,ωik,ω-ik)+ Vi(εi(k+1)) (17) 式中初始條件Vi(0)=0。 (18) 式中:u-i={uj:j∈Ni};ω-i={ωj:j∈Ni}。 因此,每個(gè)子鏈的有界最優(yōu)控制策略和最壞擾動(dòng)如下: (19) (20) (21) 基于誤差動(dòng)力學(xué)式(8)和性能指標(biāo)式(13),每個(gè)子鏈i的哈密頓函數(shù)定義為: bi(f0(x0)-fi(xik))-(dj+bj)(gi(xik)uik+ (22) ω-ik))= (23) (24) 將式(23)和式(24)代入式(22),得到以下的耦合DTHJI方程: (25) 式中,初始條件Vi(0)=0。耦合Bellman最優(yōu)方程式(21)和DTHJI方程式(25)是等價(jià)的[14]。求解耦合的DTHJI方程很困難。因此,采用值迭代算法來近似求解。 為了求解供應(yīng)鏈系統(tǒng)的離散時(shí)間圖博弈,需要找到耦合離散時(shí)間HJI方程的納什均衡解。定義納什均衡條件為: 定義2對(duì)于供應(yīng)鏈的所有子鏈,N人博弈都有一個(gè)全局納什均衡解: (26) 定理1給出了局部鄰域跟蹤誤差漸近穩(wěn)定以及供應(yīng)鏈所有子鏈與鏈主保持一致性的條件。 定理2說明耦合HJI方程的解為博弈問題提供了納什均衡解,并可以求解零和動(dòng)態(tài)圖博弈。相關(guān)證明可以參考文獻(xiàn)[13],此處不贅述。 在這一部分中,提出了一種基于Bellman方程式(17)的在線值迭代HDP算法來求解零和動(dòng)態(tài)圖博弈。該算法求解耦合的Bellman最優(yōu)方程式(21),得到控制策略和干擾策略的最優(yōu)值。與策略迭代不同,值迭代不需要初始容許控制。具體算法步驟如下: 算法步驟:初始化:給定所有子鏈的任意初始控制、干擾策略和相應(yīng)值。for l=0,1,…,迭代l次:1.策略評(píng)估:用以下公式求解Vl+1i:Vl+1i(εik)=Ui(εik,ulik,ul-ik,ωlik,ωl-ik)+Vli(εi(k+1))(27)2.策略改進(jìn):通過以下方程式更新控制和干擾策略:ul+1ik= Uφ( UR)-1(di+bi)gTiΔVi(εi(k+1))l+1(28)ωl+1ik=-1γ2(di+bi)P-1iihTiΔVi(εi(k+1))l+1(29)until滿足Vl+1i(εik)-Vli(εik)≤εEnd (30) (31) (32) 執(zhí)行神經(jīng)網(wǎng)絡(luò)對(duì)控制輸入的逼近誤差可以定義為 (33) 控制輸入uik為 (34) 由式(32),式(34)可以寫成 (35) 式中,Oi=2×[0…[i]ii…0]∈ni×niNij。 控制輸入的執(zhí)行神經(jīng)網(wǎng)絡(luò)的平方逼近誤差定義如下: (36) 采用梯度下降規(guī)則來更新控制輸入的執(zhí)行神經(jīng)網(wǎng)絡(luò)權(quán)重: (37) 類似地,執(zhí)行神經(jīng)網(wǎng)絡(luò)對(duì)擾動(dòng)的逼近誤差可以定義為 (38) 擾動(dòng)ωik可以由評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)定義為 (39) 由式(44),式(51)可以寫為 (40) 為了更新擾動(dòng)的執(zhí)行神經(jīng)網(wǎng)絡(luò)權(quán)重,采用如下梯度下降規(guī)則: (41) 目標(biāo)值函數(shù)Vik由下式給出: (42) 采用梯度下降法來更新評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)的權(quán)重: (43) 針對(duì)未知?jiǎng)討B(tài)圖博弈中的執(zhí)行—評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)權(quán)重在線調(diào)整問題,提出了算法2,該算法僅使用系統(tǒng)軌跡的可測(cè)量數(shù)據(jù)。具體算法步驟如下: 算法步驟:初始化:隨機(jī)初始化執(zhí)行神經(jīng)網(wǎng)絡(luò)辨識(shí)器權(quán)重,并將評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)權(quán)重設(shè)為零。for l=0,1,…,迭代l次: 1.計(jì)算系統(tǒng)軌跡上的局部跟蹤誤差εi0。 2.通過式(30)和式(31)計(jì)算控制策略u(píng)^lik和擾動(dòng)策略ω^lik。 3.通過式(10)計(jì)算估計(jì)狀態(tài)x^li(k+1)。 4.使用估計(jì)的狀態(tài)計(jì)算局部跟蹤誤差εli(k+1)。 5.通過式(32)計(jì)算值函數(shù)V^li(k+1)。 6.更新評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)權(quán)重 W^(1+l)Tic=W^lTic-μ^ic(Vik-ZTikW^lTicZik)ZikZTik式中Vik由式(42)給出。 7.更新執(zhí)行神經(jīng)網(wǎng)絡(luò)權(quán)重 W^(1+l)Tia=W^lTia-μ^ia(W^lTiaZik-ulik)ZTik、 W^(1+l)Tid=W^lTid-μ^id(W^lTidZik-ulik)ZTik。 8.更新辨識(shí)器權(quán)重 W^(1+l)Tis=W^lTis-μ^isφi(W^lTisφi-xik)T。 until滿足Vl+1i(εik)-Vli(εik)≤εEnd 為了驗(yàn)證所提方法有效性,考慮一個(gè)包含4條子供應(yīng)鏈、一個(gè)鏈主的供應(yīng)鏈系統(tǒng),其中每條子供應(yīng)鏈包含2個(gè)設(shè)備,分別負(fù)責(zé)產(chǎn)品的生產(chǎn)環(huán)節(jié)和銷售環(huán)節(jié),4條子鏈和鏈主分別通過圖1所示的通信拓?fù)溥M(jìn)行信息交互。圖中0表示鏈主,1、2、3、4表示4條子鏈。 圖1 供應(yīng)鏈系統(tǒng)的拓?fù)浣Y(jié)構(gòu) 每個(gè)子供應(yīng)鏈的狀態(tài)、輸入和干擾矩陣如下[14]: 鏈主的狀態(tài)為: 供應(yīng)鏈系統(tǒng)變更后庫存變化曲線如圖2~5所示。 圖2 供應(yīng)鏈系統(tǒng)庫存狀態(tài)xi1變化曲線 圖2和圖3展示了變更后子供應(yīng)鏈和供應(yīng)鏈鏈主的庫存狀態(tài)變化,變更后供應(yīng)鏈系統(tǒng)中的4條子供應(yīng)鏈在第25天左右實(shí)現(xiàn)與供應(yīng)鏈鏈主的庫存狀態(tài)一致。圖4和圖5展示了變更后各個(gè)子供應(yīng)鏈與供應(yīng)鏈鏈主之間的庫存誤差變化,庫存誤差值在第25天左右趨于0,這也表示子鏈與鏈主之間的庫存狀態(tài)趨于一致,即變更后的系統(tǒng)仍能穩(wěn)定運(yùn)行。 圖3 供應(yīng)鏈系統(tǒng)庫存狀態(tài)xi2變化曲線 圖4 供應(yīng)鏈系統(tǒng)庫存誤差ηi1變化曲線 圖5 供應(yīng)鏈系統(tǒng)庫存誤差ηi2變化曲線 本文研究了零和圖博弈下具有未知?jiǎng)討B(tài)的供應(yīng)鏈系統(tǒng)變更一致性問題,針對(duì)存在外部擾動(dòng)的供應(yīng)鏈變更系統(tǒng),提出了一種新的自適應(yīng)分布式優(yōu)化算法,求解存在未知?jiǎng)恿W(xué)的系統(tǒng)耦合HJI方程。神經(jīng)網(wǎng)絡(luò)用于辨識(shí)供應(yīng)鏈系統(tǒng)每個(gè)子鏈的未知?jiǎng)討B(tài),并采用執(zhí)行—評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)逼近最優(yōu)值函數(shù)、最優(yōu)控制和最壞情況下的干擾策略。仿真結(jié)果表明,所提方法可以保證供應(yīng)鏈變更系統(tǒng)的穩(wěn)定性與一致性。2 未知非線性動(dòng)力系統(tǒng)的辨識(shí)
3 供應(yīng)鏈系統(tǒng)零和動(dòng)態(tài)圖博弈
3.1 零和圖博弈
3.2 納什均衡
3.3 值迭代算法
3.4 求解未知?jiǎng)討B(tài)圖博弈對(duì)策值迭代HDP算法
4 仿真分析
5 結(jié)束語