祁玉青, 趙興雷, 趙田東杰
(南京工業(yè)大學(xué) 經(jīng)濟(jì)與管理學(xué)院,江蘇 南京 211816)
采購(gòu)框架協(xié)議是指企業(yè)為了穩(wěn)定貨源、減少采購(gòu)談判等成本,與供應(yīng)商簽訂一定時(shí)期內(nèi)的協(xié)議,約定該時(shí)期內(nèi)的采購(gòu)數(shù)量、價(jià)格、質(zhì)量等細(xì)節(jié)[1]。其中最常見(jiàn)的協(xié)議是約定零售商在協(xié)議期內(nèi)訂購(gòu)產(chǎn)品總數(shù)不能低于協(xié)議訂貨數(shù)量,供應(yīng)商在協(xié)議期內(nèi)向零售商及時(shí)供貨,不能因缺貨造成零售商的損失??蚣軈f(xié)議模式下的采購(gòu)決策本質(zhì)是一類(lèi)帶有約束條件的庫(kù)存優(yōu)化問(wèn)題。
報(bào)童模型是隨機(jī)庫(kù)存決策的一個(gè)基礎(chǔ)性模型[2]。約束條件下的報(bào)童問(wèn)題也已有廣泛研究。各約束條件包括:預(yù)算約束、訂購(gòu)量約束、庫(kù)存空間約束、地點(diǎn)約束等。但在報(bào)童產(chǎn)品背景下,采購(gòu)協(xié)議下的庫(kù)存模型較為缺乏。對(duì)于報(bào)童問(wèn)題的研究,從單周期背景出發(fā)建模的文獻(xiàn)居多,但在考慮一定時(shí)期內(nèi)的預(yù)算約束,供應(yīng)商能力約束等情形下,從周期背景出發(fā)進(jìn)行建模也是研究的一個(gè)重要方向。在對(duì)多周期報(bào)童問(wèn)題研究中,Zhang等[3]提出基于拉格朗日松弛的方法解決存在數(shù)量折扣的多周期多產(chǎn)品獲取規(guī)劃問(wèn)題。Li等[4]利用弱聚合算法研究考慮短缺成本和整數(shù)訂購(gòu)量的多周期報(bào)童問(wèn)題。Puranam等[5]研究區(qū)域血液交換網(wǎng)內(nèi)大型醫(yī)療中心對(duì)紅細(xì)胞的管理問(wèn)題,提出了求解方法,并利用動(dòng)態(tài)程序求解多周期成本最小化問(wèn)題。
框架協(xié)議下研究訂貨策略的文獻(xiàn)有,Chen等[6]研究總訂單數(shù)量承諾合同,提出了雙訂貨至訂貨水平的最優(yōu)庫(kù)存補(bǔ)充策略。Cai等[7]在兩級(jí)供應(yīng)鏈承諾訂單合同下,研究零售商承諾訂單數(shù)量對(duì)供應(yīng)商投入數(shù)量決策的影響,發(fā)現(xiàn)承諾訂單契約能刺激供應(yīng)商投入產(chǎn)量。Wang等[8]研究一個(gè)零售商面對(duì)兩種供應(yīng)的選擇問(wèn)題,開(kāi)發(fā)了一個(gè)啟發(fā)式系統(tǒng),證明了公司忽視或過(guò)分強(qiáng)調(diào)訂單承諾會(huì)造成損失。但一些訂貨策略在針對(duì)銷(xiāo)售期較短、帶有明顯季節(jié)性和周期性波動(dòng)的報(bào)童產(chǎn)品問(wèn)題上并不適用,零售商傳統(tǒng)的做法是采用預(yù)測(cè)方法進(jìn)行預(yù)測(cè)。
強(qiáng)化學(xué)習(xí)(簡(jiǎn)稱(chēng)RL)是機(jī)器學(xué)習(xí)的一種重要方法,通過(guò)智能體與環(huán)境的交互過(guò)程學(xué)習(xí)策略實(shí)現(xiàn)特定目標(biāo)。利用強(qiáng)化學(xué)習(xí)求解決策問(wèn)題的研究有,蔣國(guó)飛等[9]將一種新的探索策略和強(qiáng)化學(xué)習(xí)Q學(xué)習(xí)算法結(jié)合求解一類(lèi)有連續(xù)狀態(tài)和決策空間的庫(kù)存控制問(wèn)題,證明了Q學(xué)習(xí)算法應(yīng)用潛力。鄭江波等[10]針對(duì)零售商在銷(xiāo)售易逝品時(shí)的聯(lián)合決策問(wèn)題,提出運(yùn)用馬氏決策過(guò)程建立模型及使用Q學(xué)習(xí)算法求得最優(yōu)策略。Kara等[11]以總成本最小為目標(biāo),利用Q學(xué)習(xí)算法研究隨機(jī)需求和確定交貨期條件下易腐產(chǎn)品庫(kù)存決策問(wèn)題。
基于強(qiáng)化學(xué)習(xí)處理動(dòng)態(tài)、多階段問(wèn)題的優(yōu)勢(shì)及補(bǔ)充現(xiàn)有研究,本文在隨機(jī)生成樣本數(shù)基礎(chǔ)上,運(yùn)用強(qiáng)化學(xué)習(xí)Q學(xué)習(xí)算法求解協(xié)議下庫(kù)存模型,通過(guò)數(shù)值實(shí)驗(yàn)驗(yàn)證強(qiáng)化學(xué)習(xí)解決框架協(xié)議報(bào)童問(wèn)題的有效性。
考慮零售商銷(xiāo)售某報(bào)童產(chǎn)品,銷(xiāo)售周期無(wú)限,協(xié)議期有限,當(dāng)天訂購(gòu)的產(chǎn)品若未售出,則第二天不能繼續(xù)銷(xiāo)售,未售出的產(chǎn)品會(huì)產(chǎn)生殘值。零售商在銷(xiāo)售前訂購(gòu)當(dāng)天產(chǎn)品。在協(xié)議期內(nèi),產(chǎn)品的售價(jià)和殘值不變。
以n天為一個(gè)協(xié)議期,在第一天銷(xiāo)售開(kāi)始前當(dāng)天產(chǎn)品訂購(gòu)數(shù)量已定,當(dāng)天銷(xiāo)售開(kāi)始后,對(duì)于需求量大于訂購(gòu)量的情況,利潤(rùn)為訂購(gòu)量*(售價(jià)-成本)-當(dāng)天訂購(gòu)成本;需求小于訂購(gòu)量時(shí),利潤(rùn)為需求量*(售價(jià)-成本)-當(dāng)天訂購(gòu)成本+殘值*(訂購(gòu)量-需求量)。完成當(dāng)天工作后,進(jìn)入下一天銷(xiāo)售狀態(tài)。零售商在協(xié)議期內(nèi)訂貨量首先要滿足協(xié)議量。協(xié)議期最后一天如未滿足協(xié)議量則當(dāng)天訂貨量即為剩余協(xié)議量的數(shù)量,如果滿足協(xié)議訂貨量,以原來(lái)方法訂貨。
模型中所用的相關(guān)符號(hào)說(shuō)明如下。
表1 模型中相關(guān)符號(hào)的解釋
考慮模型的普適性,本文假設(shè)如下:
①產(chǎn)品的成本和銷(xiāo)售價(jià)格是恒定的。
②當(dāng)天未售出的產(chǎn)品第二天不可銷(xiāo)售,但會(huì)產(chǎn)生殘值。
③報(bào)童產(chǎn)品不產(chǎn)生相應(yīng)的存儲(chǔ)費(fèi)用。
④每天的需求為di,i=1,…,n,di服從隨機(jī)分布。
⑤沒(méi)有初始庫(kù)存,每天必須訂購(gòu)產(chǎn)品進(jìn)行銷(xiāo)售。
⑥成本方面只考慮銷(xiāo)售額、訂購(gòu)成本、殘值。
圖1表示協(xié)議期內(nèi)每天的狀態(tài),以訂貨階段為起點(diǎn),零售商向供應(yīng)商進(jìn)行訂貨,決定訂購(gòu)數(shù)量。接著進(jìn)入銷(xiāo)售階段開(kāi)始銷(xiāo)售,當(dāng)一天的銷(xiāo)售狀態(tài)結(jié)束時(shí),得到相關(guān)銷(xiāo)售量信息。結(jié)算階段可根據(jù)銷(xiāo)售額以及訂購(gòu)成本等計(jì)算當(dāng)天的利潤(rùn)?;谏鲜觯疚囊钥偫麧?rùn)為標(biāo)準(zhǔn)建立模型。
圖1 協(xié)議期內(nèi)每天的狀態(tài)
協(xié)議訂貨量約束k與采購(gòu)單價(jià)c相乘,可得協(xié)議訂貨總金額,在協(xié)議期內(nèi)零售商的訂購(gòu)金額不能低于這個(gè)協(xié)議訂購(gòu)金額C。C是與k相關(guān)的一個(gè)函數(shù)。即
C=C(k)=ck
(1)
xi=p×min(qi,di)
(2)
(2)式表示第i天銷(xiāo)售額xi,當(dāng)?shù)趇天訂貨量大于需求時(shí),銷(xiāo)售額為售價(jià)×第i天需求;當(dāng)?shù)趇天訂貨量小于需求時(shí),銷(xiāo)售額即為售價(jià)×第i天的訂貨量。
yi=c×qi
(3)
(4)
Mi=m(qi-di)+
(5)
fi=xi-yi+Mi
(6)
fi=pmin(qi,di)-cqi+m(qi-di)+
(7)
(5)式中,Mi表示第天未售出產(chǎn)品的殘值,當(dāng)qi>di時(shí),取差值與單位殘值相乘;qi (8) (9) 模型(9)中可行解和可行集的數(shù)量受到di的影響,還受到協(xié)議的約束。本文采用庫(kù)恩-塔克(簡(jiǎn)寫(xiě)為K-T)條件對(duì)其分析,假設(shè)需求量(為便于表述用x表示,即上述d=x)為連續(xù)隨機(jī)變量,其概率密度為f(x)。 考慮約束問(wèn)題時(shí),可考慮將約束問(wèn)題轉(zhuǎn)化為無(wú)約束問(wèn)題。式(10)為優(yōu)化問(wèn)題的目標(biāo)函數(shù),優(yōu)化問(wèn)題約束條件本質(zhì)受到協(xié)議訂貨量的約束,約束寫(xiě)為g(q*)。 (10) (11) 設(shè)q*∈S={q|gi(q*)≥0,i=1,2,…,m)},如果在q*處,gi(q)可微,那么滿足式(12)條件的點(diǎn)稱(chēng)為K-T點(diǎn),即最優(yōu)點(diǎn)。對(duì)目標(biāo)函數(shù)和約束條件分別求導(dǎo)得到式(13)(14),代入(12)中,可得到式(15)。分析可得出以下性質(zhì)。 (12) (13) (14) (15) (16) (17) 滿足式(17)的q點(diǎn)是最優(yōu)訂貨點(diǎn),訂購(gòu)量q受到需求量x、協(xié)議期長(zhǎng)n的影響,由于協(xié)議期長(zhǎng)n與協(xié)議訂購(gòu)量有關(guān),q也受到協(xié)議訂購(gòu)量k的影響。 但在實(shí)際生產(chǎn)經(jīng)營(yíng)中,需求量有著不確定性,并且實(shí)際訂貨量不會(huì)一直等于協(xié)議訂貨量,因此傳統(tǒng)運(yùn)籌學(xué)求解有較大困難。在針對(duì)類(lèi)似問(wèn)題(9)求解上,有學(xué)者做了相關(guān)研究。Karl等[12]用動(dòng)態(tài)規(guī)劃推導(dǎo)采購(gòu)策略結(jié)構(gòu),用啟發(fā)式方法確定政策參數(shù)處理多周期問(wèn)題。Wang等[8]也使用啟發(fā)式方法,開(kāi)發(fā)了一個(gè)啟發(fā)式系統(tǒng)解決零售商對(duì)訂貨承諾選擇問(wèn)題。禁忌搜索[13]和遺傳算法[14]方法也被用于求解。多數(shù)求解方法是使用算法逼近最優(yōu)值。求解上述問(wèn)題時(shí),最優(yōu)策略求解復(fù)雜且困難。徐翔斌等[15]提出在研究多階段決策問(wèn)題上,強(qiáng)化學(xué)習(xí)能克服傳統(tǒng)運(yùn)籌學(xué)建模方法的缺點(diǎn),可以通過(guò)Agent與環(huán)境不斷交互,學(xué)習(xí)到策略;在難以求解的動(dòng)態(tài)性與隨機(jī)型問(wèn)題上,有相應(yīng)優(yōu)勢(shì)。另外有學(xué)者用強(qiáng)化學(xué)習(xí)算法處理單階段庫(kù)存問(wèn)題[11]、動(dòng)態(tài)性和非穩(wěn)定需求問(wèn)題[16,17]獲得了較好的效果。綜合上述,本文使用強(qiáng)化學(xué)習(xí)來(lái)進(jìn)行建模求解。 強(qiáng)化學(xué)習(xí)是通過(guò)智能體Agent對(duì)環(huán)境st的感知,采取既定的策略at,獲得執(zhí)行at后的獎(jiǎng)賞rt,環(huán)境發(fā)生改變,進(jìn)入到下一個(gè)狀態(tài)st+1。目的是讓Agent在環(huán)境中學(xué)習(xí)到一種策略,在策略指導(dǎo)下,獲得最大的獎(jiǎng)賞。 圖2 強(qiáng)化學(xué)習(xí)流程圖 圖2是強(qiáng)化學(xué)習(xí)的流程圖,在每天決策時(shí),零售商的訂貨量和產(chǎn)品需求量構(gòu)成一個(gè)狀態(tài),即狀態(tài)st,零售商要根據(jù)相應(yīng)的狀態(tài)做出訂貨決策,即動(dòng)作at,那么每次采取何種策略(π)是由于s→a所決定,即根據(jù)所處環(huán)境(狀態(tài))做出動(dòng)作。本節(jié)對(duì)相關(guān)符號(hào)解釋如表2所示。 表2 強(qiáng)化學(xué)習(xí)中相關(guān)符號(hào)的解釋 引入Rt和折扣因子γ。式(18)為強(qiáng)化學(xué)習(xí)整個(gè)過(guò)程的Rt,Rt為各個(gè)行動(dòng)的rt與相應(yīng)折扣因子乘積的累加。零售商每天的利潤(rùn)等于每個(gè)狀態(tài)下采取行動(dòng)的獎(jiǎng)賞即ft=rt,如式(19)所示。本文所要研究的是利用強(qiáng)化學(xué)習(xí)選擇策略獲得較大ft的總和F。 Rt=rt+1+γrt+2+γ2rt+3+…+γkrt+k+1 (18) Rt=ft+1+γft+2+γ2ft+3+…+γkft+k+1 (19) 最優(yōu)策略對(duì)應(yīng)的收益用狀態(tài)值函數(shù)Vπ(s)表示,狀態(tài)s表示天數(shù)。 Vπ(s)=E[Rt|st=s] (20) Vπ(s)=E[rt+1+γVπ(st+1)|st=s] (21) Vπ(s)=E[ft+1)+γVπ(st+1)|st=s] (22) Vπ(s)=E[pmin(qt+1,dt+1)-cqt+1+ m(qt+1-dt+1)++γVπ(st+1)|st=s] (23) 用狀態(tài)值函數(shù)評(píng)估當(dāng)前策略下的期望回報(bào),如式(20)。式(21)是利用貝爾曼方程對(duì)式(20)進(jìn)行的轉(zhuǎn)變,其意義是當(dāng)前狀態(tài)值函數(shù)可通過(guò)下一狀態(tài)值函數(shù)計(jì)算。庫(kù)存問(wèn)題的狀態(tài)值函數(shù),如式(22)(23)。 Qπ(st,at)=Eπ[Rt|st=s,at=a] (24) Qπ(st,at)=Eπ[rt+1+γQ(st+1,at+1)|st=s,at=a] (25) 引入狀態(tài)動(dòng)作值函數(shù)Qπ(st,at)表示智能體Agent在當(dāng)前st狀態(tài)下采取某行動(dòng)at帶來(lái)的回報(bào),如式(24)所示。根據(jù)貝爾曼方程,式(24)轉(zhuǎn)化為式(25)。 本文求解采用Q學(xué)習(xí)算法。Q學(xué)習(xí)是強(qiáng)化學(xué)習(xí)一種重要算法,能夠針對(duì)狀態(tài)轉(zhuǎn)移概率和回報(bào)函數(shù)未知的情況,利用唯一可用的當(dāng)期回報(bào)Rt學(xué)習(xí)策略,優(yōu)化一個(gè)可迭代計(jì)算的Q函數(shù)。Q學(xué)習(xí)按照以下順序進(jìn)行:在t時(shí)刻,觀察當(dāng)前的狀態(tài)st,選擇并執(zhí)行動(dòng)作at,觀察后續(xù)狀態(tài)st+1,并獲得回報(bào)Rt,通過(guò)式(26)不斷調(diào)整t時(shí)刻的Q值,得到t+1時(shí)刻的Q值[9],進(jìn)行下一動(dòng)作,如此不斷探索,直到所有狀態(tài)結(jié)束。 Qt+1(st,at)=(1-a)Qt(st,at)+ a[Rt+γmaxQt(st+1,at+1] (26) 在算法訓(xùn)練過(guò)程中,通過(guò)式(27)更新Q-table。Q學(xué)習(xí)算法運(yùn)行結(jié)束生成Q-table,Q-table是Q學(xué)習(xí)的核心,Q-table的行和列分別表示狀態(tài)和行動(dòng)的值,Q-table的值Q(s,a)能夠衡量當(dāng)前狀態(tài)采取行動(dòng)的效果。 Qπ(s,a)←Qπ(s,a)+α[R+γmaxQπ(s′,a′)-Qπ(s,a)] (27) 本文Q學(xué)習(xí)算法實(shí)施形式化過(guò)程如下: ①初始化設(shè)置,通過(guò)生成隨機(jī)數(shù)來(lái)模擬需求數(shù)據(jù),根據(jù)優(yōu)化模型和幾種訂貨方法計(jì)算利潤(rùn)值(獎(jiǎng)勵(lì)值),并建立初始Q-table。 ②設(shè)置參數(shù),包括環(huán)境、動(dòng)作、貪婪度、學(xué)習(xí)率、獎(jiǎng)勵(lì)遞減值等;命名動(dòng)作at,選定本文所要訓(xùn)練的訂貨方法產(chǎn)生的數(shù)據(jù)。 ③控制貪婪度ε,根據(jù)貪婪策略選擇動(dòng)作at-訂貨方法。 ④執(zhí)行當(dāng)前訂貨策略at,獲得采取的訂貨策略獎(jiǎng)勵(lì)值,進(jìn)入下一狀態(tài)st+1,在狀態(tài)st+1下進(jìn)行策略at+1的選取,直到結(jié)束。 ⑤根據(jù)式(27)更新Q值、更新動(dòng)作在Q-table中的Q估計(jì)值。 ⑥不斷訓(xùn)練,滿足終止條件時(shí)停止運(yùn)行;若不滿足,繼續(xù)運(yùn)行訓(xùn)練。 ⑦算法終止,得到最終Q-table。 本部分對(duì)幾種方法所得利潤(rùn)進(jìn)行比較,基于相關(guān)參數(shù)分析總利潤(rùn)的變化規(guī)律,得出結(jié)論。算法基于python語(yǔ)言運(yùn)行。模型和算法中相關(guān)參數(shù)設(shè)定如表3所示。 表3 參數(shù)設(shè)定 根據(jù)上述,本文在其他條件相同情況下,分別求出幾種方法訂貨的總利潤(rùn)并進(jìn)行對(duì)比。 3.1.1 三種傳統(tǒng)訂貨方法的對(duì)比 定量訂貨法即零售商在協(xié)議期內(nèi)每天訂購(gòu)相同數(shù)量產(chǎn)品,其訂購(gòu)量在一定范圍內(nèi)隨機(jī)生成。移動(dòng)平均法是用最近實(shí)際數(shù)據(jù)預(yù)測(cè)未來(lái)一期或幾期數(shù)據(jù)的方法,在實(shí)驗(yàn)中本文選擇不同權(quán)重下移動(dòng)平均法決策,并選取較大總利潤(rùn)數(shù)據(jù)。指數(shù)平滑法即考慮時(shí)間序列和過(guò)去數(shù)據(jù)的預(yù)測(cè)方法,基于不同權(quán)重利潤(rùn)比較本文選取0.5和0.7作為實(shí)驗(yàn)中指數(shù)平滑法的權(quán)重。 圖3 三種傳統(tǒng)方法總利潤(rùn)對(duì)比圖 本部分對(duì)比三種傳統(tǒng)訂貨方法在同等情況下產(chǎn)生的總利潤(rùn),并以定量訂貨法總利潤(rùn)遞增順序?qū)?shí)驗(yàn)次序排序,如圖3。對(duì)實(shí)驗(yàn)順序重新排列,不會(huì)改變實(shí)驗(yàn)數(shù)據(jù),也不會(huì)對(duì)結(jié)論造成任何影響。在所有的實(shí)驗(yàn)次數(shù)中,移動(dòng)平均法和指數(shù)平滑法總利潤(rùn)都高于定量訂貨法總利潤(rùn),這說(shuō)明在相同條件下,采用前者進(jìn)行決策更有優(yōu)勢(shì)。但移動(dòng)平均法和指數(shù)平滑法總利潤(rùn)相差不明顯,不能夠?qū)Ρ饶姆N方法最優(yōu)。 3.1.2 強(qiáng)化學(xué)習(xí)與定量訂貨法的對(duì)比 以定量訂貨法總利潤(rùn)遞增順序?qū)?shí)驗(yàn)次序排序,如圖4。橫縱坐標(biāo)分別表示試驗(yàn)次數(shù)和總利潤(rùn),紅色菱形表示定量訂貨法總利潤(rùn),黑色星形表示強(qiáng)化學(xué)習(xí)總利潤(rùn)。表4統(tǒng)計(jì)了強(qiáng)化學(xué)習(xí)相比定量訂貨法利潤(rùn)提升率。與定量訂貨法相比,使用強(qiáng)化學(xué)習(xí)方法決策可大幅度提升利潤(rùn),多次實(shí)驗(yàn)平均利潤(rùn)提升率達(dá)到22%,單次最高利潤(rùn)提升率達(dá)47%,表明利用強(qiáng)化學(xué)習(xí)進(jìn)行決策能夠幫助零售商在滿足協(xié)議下提升利潤(rùn)。 圖4 強(qiáng)化學(xué)習(xí)與定量訂貨法總利潤(rùn)對(duì)比圖 表4 強(qiáng)化學(xué)習(xí)相比定量訂貨法總利潤(rùn)提升數(shù)據(jù)表 3.1.3 強(qiáng)化學(xué)習(xí)與移動(dòng)平均法的對(duì)比 圖5對(duì)比了強(qiáng)化學(xué)習(xí)與移動(dòng)平均法多次實(shí)驗(yàn)的總利潤(rùn),紅色菱形表示移動(dòng)平均法總利潤(rùn),黑色星形表示強(qiáng)化學(xué)習(xí)總利潤(rùn),以移動(dòng)平均法總利潤(rùn)遞增順序?qū)?shí)驗(yàn)次序排序。表5中,多次實(shí)驗(yàn)下強(qiáng)化學(xué)習(xí)總利潤(rùn)高于移動(dòng)平均法總利潤(rùn),平均利潤(rùn)提升率達(dá)到8%,單次最高利潤(rùn)提升率達(dá)18%,雖然低于3.1.2部分的利潤(rùn)提升率,但仍有較大程度提升,相比移動(dòng)平均預(yù)測(cè),強(qiáng)化學(xué)習(xí)有著更好的優(yōu)勢(shì)。 圖5 強(qiáng)化學(xué)習(xí)與移動(dòng)平均法總利潤(rùn)對(duì)比圖 表5 強(qiáng)化學(xué)習(xí)相比移動(dòng)平均法總利潤(rùn)提升數(shù)據(jù)表 3.1.4 強(qiáng)化學(xué)習(xí)與指數(shù)平滑法的對(duì)比 圖6對(duì)比強(qiáng)化學(xué)習(xí)與指數(shù)平滑法總利潤(rùn),紅色菱形和黑色星形分別表示指數(shù)平滑法和強(qiáng)化學(xué)習(xí)總利潤(rùn),以指數(shù)平滑法總利潤(rùn)遞增順序?qū)?shí)驗(yàn)次序排序。表6統(tǒng)計(jì)了強(qiáng)化學(xué)習(xí)相比指數(shù)平滑法的利潤(rùn)提升率。多次實(shí)驗(yàn)下平均利潤(rùn)提升率達(dá)到7%,單次最高利潤(rùn)提升率達(dá)17%,另外與3.1.3部分結(jié)果相差很小,這一方面體現(xiàn)了移動(dòng)平均法和指數(shù)平滑法的相似性,也表明強(qiáng)化學(xué)習(xí)相比傳統(tǒng)決策方法的優(yōu)勢(shì),在解決特定庫(kù)存問(wèn)題上具有優(yōu)越性。 圖6 強(qiáng)化學(xué)習(xí)與指數(shù)平滑法總利潤(rùn)對(duì)比圖 表6 強(qiáng)化學(xué)習(xí)相比指數(shù)平滑法總利潤(rùn)提升數(shù)據(jù)表 3.1.5 強(qiáng)化學(xué)習(xí)與理想化狀態(tài)的對(duì)比 本文計(jì)算了理想狀態(tài)下總利潤(rùn),理想狀態(tài)是所有的訂貨周期發(fā)生完畢后所能觀察到的最優(yōu)策略,這是一種理論上的最優(yōu)策略,由于需求的不確定性,現(xiàn)實(shí)經(jīng)濟(jì)環(huán)境中的訂貨策略只能無(wú)限接近理想狀態(tài)。 圖7是多次實(shí)驗(yàn)中Q學(xué)習(xí)算法總利潤(rùn)和理想化狀態(tài)總利潤(rùn)對(duì)比圖。黑色菱形代表理想化狀態(tài)總利潤(rùn),紅色星形代表強(qiáng)化學(xué)習(xí)總利潤(rùn)。以強(qiáng)化學(xué)習(xí)總利潤(rùn)遞增的順序?qū)?shí)驗(yàn)次序排序。 圖7 強(qiáng)化學(xué)習(xí)與理想化狀態(tài)的總利潤(rùn)對(duì)比圖 可得結(jié)論:①?gòu)?qiáng)化學(xué)習(xí)利潤(rùn)接近于理想狀態(tài)利潤(rùn),Q學(xué)習(xí)算法對(duì)數(shù)據(jù)不斷訓(xùn)練、不斷學(xué)習(xí)能夠選擇更優(yōu)策略。②用強(qiáng)化學(xué)習(xí)考慮庫(kù)存決策問(wèn)題是有效的,能夠提高利潤(rùn)。根據(jù)表7,與理想狀態(tài)平均總利潤(rùn)差距在8%,強(qiáng)化學(xué)習(xí)總利潤(rùn)接近理想化狀態(tài)總利潤(rùn),驗(yàn)證了強(qiáng)化學(xué)習(xí)方法的有效性。 表7 強(qiáng)化學(xué)習(xí)相比理想化狀態(tài)總利潤(rùn)差距表 本文通過(guò)分別變換ε、α分析參數(shù)變化對(duì)總利潤(rùn)的影響。ε是用在決策的一種策略, 如ε=0.9時(shí),說(shuō)明算法有90%情況會(huì)按照Q-table最優(yōu)值選擇行為,10%情況隨機(jī)選取行為;α是學(xué)習(xí)率,能夠決定某一次的誤差有多少是需要被學(xué)習(xí)的。 3.2.1 貪婪度ε變化對(duì)利潤(rùn)的影響 在ε為0.9、0.7、0.5、0.3數(shù)值下分別實(shí)驗(yàn),同時(shí)控制參數(shù)α不變。如圖8所示,圖中圖例從上到下依次表示在參數(shù)ε=0.9、ε=0.7、ε=0.5和ε=0.3下總利潤(rùn)。可觀察到每次實(shí)驗(yàn)有著總利潤(rùn)隨著貪婪度增加而降低的趨勢(shì)。 上述趨勢(shì)的原因是Q學(xué)習(xí)在初始探索中,選用較高的貪婪值會(huì)使智能體對(duì)環(huán)境探索不全面,造成對(duì)更優(yōu)策略的忽視,一定程度上導(dǎo)致相關(guān)階段回報(bào)降低,進(jìn)而致使總利潤(rùn)降低。因此,在初始探索時(shí)可以把ε的強(qiáng)度適當(dāng)降低,這樣更有利于算法的探索,從而有利于選擇到合適策略。 3.2.2 學(xué)習(xí)率α變化對(duì)利潤(rùn)的影響 本文依次控制學(xué)習(xí)率α從0.1、0.4、0.7數(shù)值變化并保持ε不變來(lái)觀察學(xué)習(xí)率對(duì)總利潤(rùn)影響。本文進(jìn)行了多組實(shí)驗(yàn),發(fā)現(xiàn)α的變化對(duì)總利潤(rùn)有較大的影響,α變化幅度越大,利潤(rùn)變化程度越大。 隨機(jī)選取多次實(shí)驗(yàn)中的幾組數(shù)據(jù),對(duì)α=0.1、α=0.4、α=0.7情況下強(qiáng)化學(xué)習(xí)總利潤(rùn)求和,如圖9所示。橫坐標(biāo)表示α的取值,縱坐標(biāo)表示總利潤(rùn),圖例中的符號(hào)表示實(shí)驗(yàn)次數(shù)??梢园l(fā)現(xiàn),不同實(shí)驗(yàn)下,參數(shù)α從0.1到0.4再到0.7的總利潤(rùn)呈現(xiàn)遞增趨勢(shì),這是因?yàn)殡S著學(xué)習(xí)率α的增加即學(xué)習(xí)效率增加,誤差被學(xué)習(xí)的數(shù)量增加,導(dǎo)致獲得的總利潤(rùn)提升。因此,當(dāng)使用Q學(xué)習(xí)進(jìn)行探索時(shí),可以適當(dāng)提高學(xué)習(xí)率α,以便獲得更優(yōu)的策略和回報(bào)。 為了優(yōu)化框架協(xié)議下多周期報(bào)童產(chǎn)品庫(kù)存決策問(wèn)題,本文通過(guò)生成隨機(jī)數(shù)來(lái)模擬不確定需求,并利用強(qiáng)化學(xué)習(xí)Q學(xué)習(xí)算法求解問(wèn)題。把相應(yīng)的訂購(gòu)期數(shù)作為狀態(tài)s,訂貨的策略方法作為行動(dòng)a,通過(guò)智能體Agent對(duì)當(dāng)前狀態(tài)的探索,來(lái)選取較優(yōu)的訂貨方法和策略。有以下結(jié)論: 結(jié)論1強(qiáng)化學(xué)習(xí)Q學(xué)習(xí)算法進(jìn)行訂貨決策能降低零售商訂貨成本、提高利潤(rùn)。 結(jié)論2通過(guò)對(duì)比研究Q學(xué)習(xí)算法和傳統(tǒng)方法的總利潤(rùn)發(fā)現(xiàn)使用強(qiáng)化學(xué)習(xí)方法訂貨相比于傳統(tǒng)訂貨方法(定量訂貨法、移動(dòng)平均預(yù)測(cè)、指數(shù)平滑法)平均利潤(rùn)提高約7%~22%,且多次試驗(yàn)下強(qiáng)化學(xué)習(xí)決策相比理想狀態(tài)的平均利潤(rùn)相差僅為8%左右,強(qiáng)化學(xué)習(xí)是一種有效的方法。 結(jié)論3本文通過(guò)對(duì)貪婪度和學(xué)習(xí)率這兩個(gè)參數(shù)的研究,發(fā)現(xiàn)初始的貪婪度ε越高會(huì)影響算法的探索范圍,并影響實(shí)驗(yàn)結(jié)果。為使探索范圍更廣策略更優(yōu),算法前期的貪婪度應(yīng)適當(dāng)降低。學(xué)習(xí)率α也會(huì)影響總利潤(rùn),顯而易見(jiàn)的是,隨著學(xué)習(xí)率的增長(zhǎng),總利潤(rùn)也隨之增長(zhǎng)。 強(qiáng)化學(xué)習(xí)算法是建立在一定假設(shè)條件下進(jìn)行的,會(huì)受到環(huán)境、算法訓(xùn)練次數(shù)等因素的影響。本文研究也存在不足之處,本文數(shù)據(jù)實(shí)驗(yàn)及實(shí)例部分較為簡(jiǎn)單,對(duì)訓(xùn)練數(shù)據(jù)長(zhǎng)度及強(qiáng)度選取較小。另外,本文也只研究了常見(jiàn)的采購(gòu)數(shù)量型框架協(xié)議。 未來(lái)可考慮帶有更多約束條件的問(wèn)題,如多地點(diǎn)預(yù)算約束、多周期多品種約束等;可以用強(qiáng)化學(xué)習(xí)進(jìn)一步研究存在儲(chǔ)存成本的多周期產(chǎn)品庫(kù)存決策問(wèn)題;在供應(yīng)鏈方面,用強(qiáng)化學(xué)習(xí)方法考慮雙方或多方博弈問(wèn)題等都是值得進(jìn)一步研究的方向。1.4 模型分析
2 強(qiáng)化學(xué)習(xí)的庫(kù)存決策模型
3 數(shù)值實(shí)驗(yàn)及分析
3.1 幾種方法的總利潤(rùn)對(duì)比
3.2 參數(shù)變化對(duì)利潤(rùn)的影響
4 結(jié)論