摘 要:軟件即服務(wù)(softuare as a service,SaaS)是一種讓用戶通過(guò)支付訂閱費(fèi)來(lái)獲得軟件訪問(wèn)權(quán)的云服務(wù)模式。由于其業(yè)務(wù)的多樣性,用戶對(duì)不同軟件的在線訪問(wèn)率存在很大差異,所以不同軟件所消耗的云計(jì)算資源也存在差異。為避免違反服務(wù)等級(jí)協(xié)議(service level agreement,SLA)而產(chǎn)生違約賠付的風(fēng)險(xiǎn),SaaS運(yùn)營(yíng)商不僅要優(yōu)化各種軟件的計(jì)算資源配置,還要對(duì)各類(lèi)軟件的訂閱量加以限額。在考慮SLA限制的基礎(chǔ)上,構(gòu)建了一個(gè)以收益最大化為目標(biāo)的有資源約束的非線性整數(shù)規(guī)劃模型。由于模型計(jì)算的復(fù)雜性,其無(wú)法在多項(xiàng)式時(shí)間內(nèi)求解,所以設(shè)計(jì)了基于Q學(xué)習(xí)-粒子群(particle swarm optimizoction,PSO)的融合算法來(lái)求解該NP難題。該算法將Q-學(xué)習(xí)嵌入到PSO中,動(dòng)態(tài)調(diào)整PSO參數(shù),從而避免直接使用PSO時(shí)會(huì)面臨的局部最優(yōu)陷阱和計(jì)算效率低下的問(wèn)題。仿真實(shí)驗(yàn)驗(yàn)證了在不同場(chǎng)景下模型及算法的有效性,結(jié)果表明該算法可在云計(jì)算資源有限的條件下,以較高的求解效率獲得收益更高的訂閱限額及資源配置方案。其中,當(dāng)處于需求波動(dòng)大的情境下時(shí),運(yùn)營(yíng)商應(yīng)盡可能地降低軟件的資源爭(zhēng)用比,通過(guò)配置足量的虛擬機(jī)資源并設(shè)定嚴(yán)格的訂閱限額來(lái)保障軟件的服務(wù)質(zhì)量,減少違約賠付成本;相反,當(dāng)處于需求波動(dòng)小的情境下時(shí),運(yùn)營(yíng)商可以提高軟件的資源爭(zhēng)用比,通過(guò)放寬訂閱限額來(lái)?yè)屨几蟮氖袌?chǎng),實(shí)現(xiàn)收益最大化。
關(guān)鍵詞:軟件即服務(wù); 訂閱限額; 資源配置; 粒子群優(yōu)化; Q-學(xué)習(xí)
中圖分類(lèi)號(hào):TP391.9 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2024)07-021-2069-10
doi:10.19734/j.issn.1001-3695.2023.10.0542
Combination optimization of SaaS subscription limits andresource allocation considering online disparity
Abstract:SaaS is a cloud service model where users obtain software access rights by paying subscription fees. Due to the diversity of business operations, users exhibit significant variations in the online access rates for different software. Consequently, there are variations in the cloud computing resources consumed by different software applications. To avoid the risk of violating SLAs and incurring penalty payments, SaaS operators optimize the computational resource allocation for various software applications and impose subscription limits on each category of software. Considering SLA constraints, this paper formulated a resource-constrained nonlinear integer programming model with the objective of maximizing revenue. Due to the computational complexity of the model, it cannot be solved in polynomial time,and this paper proposed a Q-learning-PSO hybrid algorithm for this NP-hand problem. This algorithm embedded Q-learning into PSO to dynamically adjust PSO parameters, thereby avoiding the issues of local optima and low computational efficiency associated with direct PSO application. Simulation experiments validate the effectiveness of the model and algorithm in different scenarios. The results indicate that the algorithm can achieve higher revenue for subscription limits and resource allocation with superior solving efficiency under the condition of limited cloud computing resources. Specifically, in scenarios with significant demand fluctuations, operators should aim to reduce the resource contention ratio of software. This can be achieved by provisioning an ample amount of virtual machine resources and enforcing strict subscription limits to ensure the quality of service, consequently reducing penalty payments. Conversely, in scenarios with minimal demand fluctuations, operators have the flexibility to increase the resource contention ratio of software. By relaxing subscription limits, they can seize a larger market share, thus realizing revenue maximization.
Key words:software as a service; subscription limit; resource allocation; particle swarm optimization; Q-learning
0 引言
隨著云計(jì)算技術(shù)帶來(lái)巨大的商業(yè)模式變革,軟件即服務(wù)(SaaS)模式獲得了飛速發(fā)展。SaaS是將多租戶應(yīng)用部署在云中的軟件交付模式。在該模式下,應(yīng)用軟件是一類(lèi)可通過(guò)互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程訪問(wèn)的服務(wù),用戶無(wú)須構(gòu)建IT基礎(chǔ)設(shè)施或購(gòu)買(mǎi)軟件版權(quán),而是根據(jù)自身需要向運(yùn)營(yíng)商支付訂閱費(fèi)來(lái)取得軟件訪問(wèn)權(quán),雙方基于服務(wù)等級(jí)協(xié)議(SLA)來(lái)規(guī)范服務(wù)的提供與使用行為[1]。該模式為用戶節(jié)省了大量IT投資,深受中小企業(yè)的歡迎。據(jù)Gartner預(yù)測(cè),2023年全球SaaS市場(chǎng)規(guī)模將超兩千億美元[2]。近年來(lái),國(guó)內(nèi)外軟件企業(yè),如微軟、SAP、ORACLE、阿里巴巴和用友等,都爭(zhēng)先推出一系列SaaS產(chǎn)品[2]。
考慮到中小企業(yè)業(yè)務(wù)的多樣性,用戶對(duì)不同軟件的服務(wù)時(shí)間需求以及在線訪問(wèn)率均有著顯著差異,所謂在線率指的是任意時(shí)間內(nèi)在線使用軟件的用戶數(shù)占該時(shí)間內(nèi)訂閱總?cè)藬?shù)的比例。由于在實(shí)際使用中,只有在線訪問(wèn)軟件的用戶才會(huì)消耗資源,所以不同軟件所消耗的云計(jì)算資源存在很大差異。為保障SaaS服務(wù)的可用VnG8qZavw64AK2BA8ynlFQ==性,運(yùn)營(yíng)商需要提前為軟件配置適量的虛擬機(jī)資源來(lái)滿足用戶的訂閱需求。同時(shí),在計(jì)算資源有限的條件下,運(yùn)營(yíng)商需要對(duì)不同軟件的訂閱限額加以限制來(lái)避免因違反SLA約束而產(chǎn)生違約賠付。資源配置和訂閱限額均會(huì)對(duì)企業(yè)收益產(chǎn)生顯著影響,且兩者存在相互制約的關(guān)系,當(dāng)運(yùn)營(yíng)商過(guò)度配置資源來(lái)放寬訂閱限額時(shí),其可以接受大量的訂閱請(qǐng)求來(lái)占領(lǐng)市場(chǎng),但由于不同用戶對(duì)軟件在線率的需求存在差異,這種策略容易導(dǎo)致虛擬機(jī)資源的浪費(fèi),造成資源利用率低下。相反,當(dāng)運(yùn)營(yíng)商的資源配置不足時(shí),則必須通過(guò)設(shè)定嚴(yán)格的訂閱限額來(lái)保障服務(wù)質(zhì)量,否則將面臨因違反SLA約束而產(chǎn)生賠付的風(fēng)險(xiǎn),從而影響收益。因此,如何對(duì)資源配置和訂閱限額進(jìn)行組合優(yōu)化來(lái)實(shí)現(xiàn)SaaS運(yùn)營(yíng)商收益最大化,是一個(gè)亟待解決的問(wèn)題。
本文研究的問(wèn)題是基于收益管理的視角,收益管理作為一種通過(guò)控制消耗易逝資源產(chǎn)品的價(jià)格和可用性來(lái)提高收益的理論[3],已經(jīng)較為成熟地應(yīng)用于航空、酒店和互聯(lián)網(wǎng)等易逝產(chǎn)品領(lǐng)域。由于云計(jì)算資源具有無(wú)法長(zhǎng)期存儲(chǔ)且在銷(xiāo)售期結(jié)束后其價(jià)值幾乎為零的易逝品特點(diǎn),所以可以將收益管理應(yīng)用于SaaS云服務(wù)領(lǐng)域。當(dāng)前對(duì)收益管理在SaaS領(lǐng)域的研究主要集中在定價(jià)策略上[4~6],對(duì)資源配置和訂閱限額控制的研究則相對(duì)較少。其中,Zhang等人[7]針對(duì)供需不確定的情景,設(shè)計(jì)了一種資源優(yōu)化配置算法來(lái)實(shí)現(xiàn)SaaS運(yùn)營(yíng)商收益最大化的目標(biāo);Zhu等人[8]提出了一種基于深度強(qiáng)化學(xué)習(xí)的實(shí)時(shí)任務(wù)調(diào)度方法來(lái)智能地為不斷達(dá)到的用戶任務(wù)請(qǐng)求分配適當(dāng)?shù)馁Y源,從而提高資源的利用率;Sikora等人[9]提出了自適應(yīng)的準(zhǔn)入控制框架來(lái)滿足SLA約束,并將違反SLA的賠付納入考量;Han等人[10]通過(guò)切片技術(shù)識(shí)別不耐煩用戶,并設(shè)計(jì)準(zhǔn)入控制系統(tǒng)來(lái)最大化云提供商的效用。
收益管理的各項(xiàng)策略在實(shí)際中都得到了應(yīng)用,Pimentel等人[11]證明在一些行業(yè)中設(shè)置訂閱限額能產(chǎn)生更多的收益。當(dāng)前,許多行業(yè)都采用閾值控制的方法優(yōu)化資源配置及訂閱限額來(lái)提高收益或服務(wù)質(zhì)量。王航臣等人[12]基于蒙特卡羅模擬來(lái)研究航空公司機(jī)票的預(yù)定限制;Luo等人[3]考慮設(shè)置嵌套預(yù)訂限制來(lái)合理配置頭等艙與經(jīng)濟(jì)艙的座位數(shù)量,從而避免因接受低票價(jià)預(yù)訂而拒絕高票價(jià)預(yù)訂的行為,并采用基于仿真的優(yōu)化算法進(jìn)行求解;鄧連波等人[13]針對(duì)高鐵列車(chē)的最大超售數(shù)量問(wèn)題構(gòu)建了基于隨機(jī)規(guī)劃的非線性整數(shù)規(guī)劃超售模型,從而提高企業(yè)收益;Nababan等人[14]提出了適用于酒店行業(yè)的訂閱限制模型,并利用機(jī)器學(xué)習(xí)算法預(yù)測(cè)用戶的取消預(yù)訂率來(lái)提高收益;You等人[15]構(gòu)建了互聯(lián)網(wǎng)行業(yè)中的帶寬資源分配及訂閱限額模型,解決了需求過(guò)載問(wèn)題。這些領(lǐng)域的研究為本文提供了借鑒,然而相較于這些行業(yè),SaaS云服務(wù)具有SLA約束的特點(diǎn)。越來(lái)越多的學(xué)者開(kāi)始研究SaaS中提高SLA收益的優(yōu)化方法[16],SLA包括可用性、安全性與響應(yīng)時(shí)間,本文重點(diǎn)關(guān)注軟件的可用性,即保障用戶的服務(wù)質(zhì)量。當(dāng)訪問(wèn)軟件違約率超過(guò)合同限定值,用戶將對(duì)服務(wù)提供商進(jìn)行懲罰[17],即SaaS供應(yīng)商向用戶進(jìn)行賠付。Buyya等人[18]描述了通過(guò)避免過(guò)度使用資源來(lái)保證服務(wù)質(zhì)量滿足SLA的準(zhǔn)入控制機(jī)制;Yuan等人[19]提出了運(yùn)營(yíng)商在違反SLA后的賠付算法來(lái)提高用戶效用。為了實(shí)現(xiàn)收益最大化和用戶滿意度最大化的目標(biāo),SaaS運(yùn)營(yíng)商需要通過(guò)制定適當(dāng)?shù)臏?zhǔn)入控制策略來(lái)優(yōu)化訂閱限額。因此,為了滿足客戶差異化的需求以及更好地利用資源獲得最大化收益,本文采用基于仿真的優(yōu)化方法來(lái)解決隨機(jī)需求下的資源配置及訂閱限額問(wèn)題。
本文對(duì)SaaS資源配置及訂閱限額策略的優(yōu)化研究屬于大規(guī)模組合優(yōu)化問(wèn)題,云計(jì)算環(huán)境下的大規(guī)模服務(wù)組合優(yōu)化問(wèn)題被視為NP難題[20],該類(lèi)問(wèn)題的求解復(fù)雜度會(huì)隨著運(yùn)營(yíng)商提供軟件類(lèi)別的增加而呈指數(shù)級(jí)增長(zhǎng),因此無(wú)法使用傳統(tǒng)的數(shù)學(xué)規(guī)劃方法來(lái)精確地解決該類(lèi)問(wèn)題[21,22]。目前常用粒子群優(yōu)化算法(PSO)對(duì)組合優(yōu)化問(wèn)題進(jìn)行求解[3],然而直接采用PSO求解本文模型會(huì)面臨由于依賴先驗(yàn)知識(shí)而陷入局部最優(yōu)以及計(jì)算效率低下的問(wèn)題。針對(duì)這一問(wèn)題,可參考其他領(lǐng)域中基于強(qiáng)化學(xué)習(xí)的融合算法。為解決可復(fù)用產(chǎn)品的最優(yōu)經(jīng)濟(jì)訂購(gòu)批量難題,F(xiàn)allahi等人[23]將強(qiáng)化學(xué)習(xí)算法分別與差分學(xué)習(xí)算法(differential evolution,DE)和粒子群優(yōu)化算法相結(jié)合,并使用Q-學(xué)習(xí)來(lái)自適應(yīng)DE和PSO中的控制參數(shù),提高算法性能;在解決柔性作業(yè)車(chē)間調(diào)度難題時(shí),Chen等人[24]提出了自學(xué)習(xí)遺傳算法(self-learning genetic algorithm,SLGA),該算法以遺傳算法(genetic algorithm,GA)為基本優(yōu)化方法,并基于強(qiáng)化學(xué)習(xí)(reinforcement learning,RL)對(duì)關(guān)鍵參數(shù)進(jìn)行智能調(diào)整,提高了算法優(yōu)化水平。由此可見(jiàn),利用強(qiáng)化學(xué)習(xí)動(dòng)態(tài)調(diào)整元啟發(fā)算法的關(guān)鍵參數(shù),對(duì)提高算法性能有顯著的作用。
本文在上述研究的基礎(chǔ)上,對(duì)SaaS運(yùn)營(yíng)商有限時(shí)間內(nèi)虛擬機(jī)資源配置及訂閱限額進(jìn)行研究,貢獻(xiàn)表現(xiàn)為:a)在考慮SLA約束的基礎(chǔ)上,為SaaS運(yùn)營(yíng)商構(gòu)建了以收益最大化為目標(biāo)的有資源約束的非線性整數(shù)規(guī)劃模型,該模型考慮了用戶對(duì)不同軟件在線率的差異以及SLA違約賠付,從而對(duì)資源配置及訂閱限額進(jìn)行組合優(yōu)化;b)由于模型計(jì)算的高復(fù)雜度,其無(wú)法在多項(xiàng)式時(shí)間內(nèi)求解,所以在搜索解的過(guò)程中提出基于Q學(xué)習(xí)-粒子群的融合算法作為解決方法,通過(guò)在PSO中嵌入Q-學(xué)習(xí)算法來(lái)動(dòng)態(tài)調(diào)整PSO關(guān)鍵參數(shù),提高算法性能;c)通過(guò)仿真實(shí)驗(yàn)發(fā)現(xiàn)不同情景下的最優(yōu)訂閱限額及資源配置策略組合,為運(yùn)營(yíng)商的銷(xiāo)售決策提供指導(dǎo),實(shí)現(xiàn)收益最大化。
1 問(wèn)題描述與模型構(gòu)建
為保障軟件可用性,SaaS運(yùn)營(yíng)商需要提前為各類(lèi)軟件配置虛擬機(jī)資源,同時(shí)確定訂閱限額來(lái)管理用戶的訂閱請(qǐng)求,避免出現(xiàn)需求過(guò)載的情況。資源配置及訂閱限額均對(duì)企業(yè)收益有較大的影響,資源配置過(guò)量或訂閱限額設(shè)定過(guò)低會(huì)產(chǎn)生資源供過(guò)于求的情況,導(dǎo)致部分虛擬機(jī)資源浪費(fèi),影響企業(yè)收益;而資源配置不足或訂閱限額設(shè)定過(guò)高則會(huì)產(chǎn)生資源供不應(yīng)求的情況,導(dǎo)致虛擬機(jī)過(guò)載,從而出現(xiàn)用戶訪問(wèn)請(qǐng)求被拒絕的現(xiàn)象,影響企業(yè)信譽(yù)的同時(shí)產(chǎn)生違約賠付,造成企業(yè)收益下降。因此,如何配置資源及優(yōu)化訂閱限額來(lái)提升企業(yè)收益是本文主要解決的問(wèn)題。
1.1 問(wèn)題描述
考慮一家提供L種軟件訂閱服務(wù)的SaaS運(yùn)營(yíng)商需要在限定服務(wù)時(shí)間內(nèi),利用有限的虛擬機(jī)資源來(lái)獲得最大化收益。令l(l=1,2,…,L)表示軟件類(lèi)型的序列標(biāo)識(shí),t(t=1,2,…,T+1)表示時(shí)間段的序列標(biāo)識(shí),V表示虛擬機(jī)資源總量。假設(shè)在整段服務(wù)時(shí)間內(nèi)運(yùn)營(yíng)商的虛擬機(jī)資源總量保持不變,用rl來(lái)描述單位時(shí)間內(nèi)每位用戶訪問(wèn)軟件l所需要的虛擬機(jī)資源量。SaaS運(yùn)營(yíng)商通過(guò)與用戶簽訂合約并收取訂閱費(fèi)來(lái)獲得收益,合約中包含了用戶所選擇訂閱的軟件種類(lèi)及訂閱的服務(wù)時(shí)間范圍。為此,將用戶的訂閱請(qǐng)求標(biāo)記為(l,i,j),其中i和j(i,j=1,2,…,T+1,i ≤j)分別表示訂閱的起始時(shí)間和終止時(shí)間,如果i=j則表示用戶訂閱一個(gè)時(shí)間周期的軟件服務(wù)。為簡(jiǎn)化模型的復(fù)雜度,假設(shè)訂閱請(qǐng)求需要在下一個(gè)時(shí)間段生效,即任何包含時(shí)間段t的訂閱請(qǐng)求都應(yīng)在時(shí)間段t-1之前進(jìn)行訂閱。因此,SaaS運(yùn)營(yíng)商的銷(xiāo)售計(jì)劃周期是從第1個(gè)到第T個(gè)時(shí)間段,而用戶的有效訂閱時(shí)長(zhǎng)是從第2個(gè)到第T+1個(gè)時(shí)間段。
SaaS運(yùn)營(yíng)商的目的是將所有的虛擬機(jī)資源分配給各類(lèi)軟件,并在SLA約束下確定各種訂閱需求的訂閱限額,實(shí)現(xiàn)總收益最大化。因此,設(shè)定vl和sl,i,j為模型的決策變量,其中vl表示分配給軟件l的虛擬機(jī)資源,sl,i,j表示訂閱請(qǐng)求(l,i,j)的訂閱限額。具體的符號(hào)說(shuō)明如表1所示。
1.2 模型構(gòu)建
設(shè)Rl,t表示考慮(l,i,j)的訂閱限額為sl,i,j時(shí),時(shí)間段t+1內(nèi)軟件l的訂閱收益。由于在時(shí)間段t訂閱的軟件服務(wù)的起始時(shí)間i必須晚于t+1,即i≥t+1,所以時(shí)間段t內(nèi)可供訂閱的軟件服務(wù)集合為{(l,i,j)|t≤i≤j≤T},則Rl,t具體表示為
人數(shù),即i≤t≤j。由于服務(wù)時(shí)間涵蓋時(shí)間段t+1的訂單只能在時(shí)間段t之前訂閱,所以如果用戶在時(shí)間段k(1≤k≤t)訂閱了服務(wù)時(shí)間包含時(shí)間段t+1的軟件服務(wù),則該訂閱的服務(wù)起始時(shí)間i和服務(wù)終止時(shí)間j必須分別滿足k+1≤i≤t+1和t+1≤j≤T+1。因此,在時(shí)間段k提供的服務(wù)時(shí)間包含了時(shí)間段t+1的軟件服務(wù)集合為{(l,i,j)|k≤i≤t,t≤j≤T},則Wl,t表示為
由式(2)可知,軟件l在時(shí)間段t+1內(nèi)所需的虛擬機(jī)資源總量預(yù)計(jì)為Wl,tωlrl,其中Wl,tωl表示時(shí)間段t+1內(nèi)在線訪問(wèn)軟件的人數(shù)。在SLA約束下,SaaS運(yùn)營(yíng)商需對(duì)未達(dá)到服務(wù)質(zhì)量水平的服務(wù)進(jìn)行違約賠付,令Pel,t為軟件l在時(shí)間段t內(nèi)產(chǎn)生的違約率,其根據(jù)規(guī)定的服務(wù)水平αl與實(shí)際服務(wù)水平的差值來(lái)計(jì)算,若實(shí)際服務(wù)水平低于αl,則視為違約行為。其中軟件l的實(shí)際服務(wù)水平用分配給軟件l的虛擬機(jī)資源vl超過(guò)該類(lèi)別實(shí)際所需的虛擬機(jī)資源Wl,tωlrl的概率來(lái)表示,違約率Pel,t具體表示為
Pel,t=max{αl-prob(vl≥Wl,tωlrl),0}
其中:prob(vl≥Wl,tωlrl)表示在時(shí)間段t內(nèi)軟件l的實(shí)際服務(wù)水平。令PCl,t表示在時(shí)間段t內(nèi)軟件l產(chǎn)生的違約賠付成本,其依賴賠付比例βl與違約率Pel,t,則賠付成本表示如下:
PCl,t=βlPel,tpl,t,t(3)
其中:pl,t,t表示訂閱軟件l一個(gè)時(shí)間周期的價(jià)格。設(shè)Π表示訂閱限額為s時(shí)的總收益,由于l=1,2,…,L,i,j=1,2,…,T且i≤j,則i=1時(shí),j=1,2,…,T,共T種服務(wù)時(shí)間組合;i=2時(shí),j=2,3,…,T,共T-1種服務(wù)時(shí)間組合;i=T時(shí),j=T,共1種服務(wù)時(shí)間組合,由此可知可能存在0.5LT(T+1)種不同的訂閱需求,則s是維度為0.5LT(T+1)的向量,元素sl,i,j位于第0.5(l-1)T(T+1)+0.5j(j-1)+i個(gè)條目??偸找婧瘮?shù)由訂閱收益減去賠付成本構(gòu)成,其為L(zhǎng)類(lèi)產(chǎn)品在整個(gè)收益周期下產(chǎn)生的收益總和,表示如下:
根據(jù)模型假設(shè),SaaS運(yùn)營(yíng)商將有限的虛擬機(jī)資源全部分配給L類(lèi)軟件產(chǎn)品,則分配給各類(lèi)軟件的虛擬機(jī)資源vl之和等于總可用虛擬機(jī)資源V,因此該問(wèn)題具有如下約束:
SaaS運(yùn)營(yíng)商的目標(biāo)是通過(guò)確定向量v和s的值使收益最大化,其中v中包含了L個(gè)元素,是L維向量,元素vl位于第l個(gè)條目。因此,該問(wèn)題建模如下:
1.3 模型求解難點(diǎn)分析
本文構(gòu)建的SaaS資源配置及訂閱限額模型屬于大規(guī)模非線性整數(shù)規(guī)劃模型,面臨著求解難題,主要表現(xiàn)在以下方面:
a)大規(guī)模的決策空間。SaaS訂閱問(wèn)題面向眾多用戶,且運(yùn)營(yíng)商提供L種軟件類(lèi)型供用戶選擇,同時(shí)每個(gè)用戶對(duì)于每種軟件l都有不同的訂閱時(shí)間需求,他們?cè)谟嗛啎r(shí)根據(jù)需求自主選擇訂閱軟件的起始時(shí)間i和終止時(shí)間j,這使得SaaS運(yùn)營(yíng)商會(huì)面臨0.5LT(T+1)種不同的訂閱請(qǐng)求組合,即訂閱限額量sl,i,j是一個(gè)維度為0.5LT(T+1)的向量,資源配置量v是一個(gè)維度為L(zhǎng)的向量。在實(shí)際應(yīng)用中,決策空間會(huì)隨著軟件種類(lèi)L和銷(xiāo)售周期T的增加而呈指數(shù)級(jí)增加,導(dǎo)致求解的搜索空間規(guī)模很大,在實(shí)際求解過(guò)程中不能使用窮盡式搜索的方法對(duì)所有訂閱組合進(jìn)行嘗試和計(jì)算。
因此,本文構(gòu)建的模型具有非線性特性及大規(guī)模決策空間等特點(diǎn),計(jì)算復(fù)雜度較高,是一個(gè)NP難題[26]。該模型無(wú)法利用分枝定界法等傳統(tǒng)的數(shù)學(xué)規(guī)劃方法在多項(xiàng)式時(shí)間內(nèi)進(jìn)行精確求解[27],需采用元啟發(fā)式算法來(lái)近似求解。當(dāng)前粒子群優(yōu)化算法是求解上述模型的主流算法之一[28],PSO是一種基于群體優(yōu)化的元啟發(fā)式算法,可以有效地解決各種組合優(yōu)化問(wèn)題[3],因此,本文利用PSO來(lái)解決多目標(biāo)優(yōu)化問(wèn)題,并結(jié)合資源配置及訂閱限額模型特性設(shè)計(jì)求解算法。
2 基于Q學(xué)習(xí)-粒子群融合算法的模型求解方法
針對(duì)模型求解難題,本章設(shè)計(jì)了基于Q學(xué)習(xí)-粒子群的融合算法(簡(jiǎn)記為Q-PSO),通過(guò)將Q學(xué)習(xí)算法嵌入到PSO中,動(dòng)態(tài)調(diào)整PSO的參數(shù)來(lái)提高算法性能,確保求解的效率與質(zhì)量。
2.1 問(wèn)題求解的粒子群算法
PSO是1995年提出的進(jìn)化計(jì)算方法[29],通過(guò)模仿鳥(niǎo)群覓食行為設(shè)計(jì)而來(lái)。群體中的個(gè)體稱為粒子,每個(gè)粒子代表一個(gè)潛在的解決方案,粒子通過(guò)在搜索空間中運(yùn)動(dòng)來(lái)尋找最優(yōu)解,粒子的運(yùn)動(dòng)由其位置和速度決定,其中位置代表一個(gè)可能的解,速度代表下一步要移動(dòng)的距離。PSO利用隨機(jī)解進(jìn)行初始化,后續(xù)每個(gè)粒子依靠其自身歷史最佳位置的信息、全局歷史最佳位置的信息以及當(dāng)前位置和速度來(lái)調(diào)整下一步的位置。在該算法中,粒子的局部最優(yōu)與全局最優(yōu)位置信息共享,將局部搜索與全局搜索相結(jié)合來(lái)搜索最優(yōu)解。算法的具體步驟如圖2所示。
2.1.1 粒子定義
在PSO中,粒子是算法的基本單元,可以看作是候選解在搜索解空間中的一個(gè)位置,因此為了將PSO應(yīng)用到模型中,需要建立決策變量和PSO粒子之間的關(guān)系。當(dāng)前模型中有L個(gè)虛擬機(jī)資源分配變量和0.5LT(T+1)個(gè)訂閱限額變量,因此該問(wèn)題的搜索空間需設(shè)定為L(zhǎng)+0.5LT(T+1)維空間,粒子則設(shè)定為維度為L(zhǎng)+0.5LT(T+1)的向量。為此,第n個(gè)粒子的位
2.1.2 種群初始化
PSO中每個(gè)粒子都代表了一個(gè)候選解,即一組資源配置量及訂閱限額量,因此需要初始化PSO的粒子,使得每個(gè)粒子對(duì)應(yīng)一個(gè)合法的候選解。PSO從一個(gè)種群大小為Npop的初始粒子群開(kāi)始,初始化過(guò)程主要包括初始化粒子的位置和速度兩個(gè)方面,具體創(chuàng)建方法如下。
1)位置初始化
為了保證每個(gè)粒子代表的候選解都是合法的,需要對(duì)初始位置向量進(jìn)行限制,使其滿足資源配置和訂閱限額的約束條件,用式(6)構(gòu)造初始種群中各粒子前L個(gè)元素的位置:
其中:r表示0~1的隨機(jī)變量;tv(m)表示為前m種軟件分配資源后,剩余的虛擬機(jī)資源,tv(1)=V。式(6)可以保證粒子前L個(gè)元素位置向量之和等于運(yùn)營(yíng)商總資源量,即滿足模型的資源約束條件。粒子中其余元素的初始位置根據(jù)式(7)生成。
其中:dl,i,j為(l,i,j)的訂閱需求所服從泊松分布的參數(shù),符號(hào)·」表示向下取整。
2)速度初始化
其中:rb是一個(gè)二進(jìn)制隨機(jī)數(shù);r是0~1的隨機(jī)變量;Δa是一個(gè)預(yù)先確定的常數(shù)。速度向量中剩余的元素由式(9)生成。
其中:Δb是一個(gè)預(yù)先確定的常數(shù)。
2.1.3 速度更新
1)計(jì)算速度
在迭代過(guò)程中,粒子n在第k次迭代的速度及其到自身最佳位置pn和全局最佳位置g的距離決定了下一步的速度,該粒子在k+1次迭代時(shí)的速度Vk+1n計(jì)算公式如下:
Vk+1n=wVkn+c1r1(pn-Xkn)+c2r2(g-Xkn)(10)
其中:Vkn是粒子n在第k次迭代中的速度;Xkn是粒子n在第k次迭代中的位置;pn是粒子n的歷史最佳位置;g是種群中所有粒子的歷史最佳位置;w為慣性權(quán)重;r1和r2為0~1的隨機(jī)值;c1和c2是控制粒子在搜索空間中運(yùn)動(dòng)的加速度因子。
2)速度調(diào)整程序
算法1 速度調(diào)整程序
2.1.4 位置更新
在速度調(diào)整后,將對(duì)粒子進(jìn)行位置更新。粒子下一步迭代所處的位置取決于當(dāng)前位置及其下一步的運(yùn)動(dòng)速度。因此,粒子n在第k+1次迭代中的位置更新公式為
Xk+1n=Xkn+Vk+1n(11)
在完成位置更新后,需對(duì)粒子的自身最佳位置和全局最佳位置進(jìn)行更新,用于更新下一次迭代的速度。PSO通過(guò)比較粒子當(dāng)前的位置和自身歷史最佳位置來(lái)更新每個(gè)粒子的局部最佳位置pn,更新方法如下:
同時(shí),如果粒子局部最佳位置的目標(biāo)函數(shù)f(pn)大于全局最佳位置的目標(biāo)函數(shù)f(g),則更新全局最佳位置。設(shè)置最大迭代次數(shù)kmax作為算法的停止條件,PSO的偽代碼如算法2所示。
算法2 PSO
2.2 粒子群算法中的參數(shù)估計(jì)難題
運(yùn)用經(jīng)典粒子群算法可以完成對(duì)模型的求解,但是該算法的性能在很大程度上依賴于加速度因子參數(shù)的選擇[28],參數(shù)選擇不當(dāng)可能導(dǎo)致算法陷入局部最優(yōu)解,同時(shí)在求解高維問(wèn)題時(shí)計(jì)算效率較低。PSO中參數(shù)的最佳取值往往與模型特性有關(guān),因此需要采用試錯(cuò)方法進(jìn)行調(diào)參。然而,采用傳統(tǒng)的試錯(cuò)方法需要耗費(fèi)大量的經(jīng)驗(yàn)和計(jì)算時(shí)間,在求解NP難題時(shí)面臨極大的挑戰(zhàn)。
在本文的問(wèn)題背景下,運(yùn)營(yíng)商需要實(shí)時(shí)決定是否接受用戶的訂閱請(qǐng)求,考慮到SaaS運(yùn)營(yíng)商會(huì)面臨SLA違約賠付的風(fēng)險(xiǎn),這要求運(yùn)營(yíng)商必須在短時(shí)間內(nèi)完成訂閱限額和資源配置的決策,并相應(yīng)地給出接受或拒絕請(qǐng)求的反饋,這對(duì)算法的求解效率提出了更高的要求。為了解決這一問(wèn)題,本文將Q學(xué)習(xí)算法嵌入到PSO中來(lái)動(dòng)態(tài)調(diào)整PSO的參數(shù),提高粒子搜索能力,在避免算法陷入局部最優(yōu)解的同時(shí)提高算法求解效率,提高算法性能。
2.3 Q學(xué)習(xí)-粒子群融合算法
2.3.1 強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種學(xué)習(xí)方式,主要由智能體、環(huán)境、狀態(tài)、動(dòng)作與獎(jiǎng)勵(lì)五個(gè)組件組成。在反復(fù)實(shí)驗(yàn)中智能體與環(huán)境進(jìn)行交互,通過(guò)環(huán)境給予的獎(jiǎng)勵(lì)不斷訓(xùn)練優(yōu)化其狀態(tài)與動(dòng)作的對(duì)應(yīng)關(guān)系,從而獲得最大回報(bào)的學(xué)習(xí)機(jī)制。具體模型如圖3所示。
本文重點(diǎn)研究強(qiáng)化學(xué)習(xí)算法中帶有Q值表的Q-學(xué)習(xí)算法,該算法將不同狀態(tài)下的學(xué)習(xí)經(jīng)驗(yàn)即狀態(tài)與動(dòng)作的對(duì)應(yīng)關(guān)系存儲(chǔ)在Q值表中,其中行代表狀態(tài),列代表動(dòng)作,Q表的示意圖如圖4所示,然后根據(jù)Q值選取獲得最大收益的動(dòng)作。
在Q-學(xué)習(xí)算法中,智能體通過(guò)學(xué)習(xí)給定動(dòng)作獲得獎(jiǎng)勵(lì)來(lái)更新Q值表。初始Q值表中所有值都等于零,這表示智能體沒(méi)有經(jīng)驗(yàn)供算法使用。設(shè)S={s1,s2,…,sm}為系統(tǒng)的狀態(tài)集合,A={a1,a2,…,am}為待執(zhí)行的候選動(dòng)作集合。智能體在不同的狀態(tài)下,根據(jù)Q值表中提供的累積信息進(jìn)行動(dòng)作選擇,此時(shí)環(huán)境給出獎(jiǎng)勵(lì)rt+1,狀態(tài)變?yōu)閟t+1。Q表的值根據(jù)智能體的經(jīng)驗(yàn),通過(guò)貝爾曼方程進(jìn)行更新,具體如下:
Q(st,at)=(1-α)Q(st,at)+α(rt+γmaxaQ(st+1,at+1))(13)
其中:Q(st,at)是在狀態(tài)st下執(zhí)行動(dòng)作at獲得的Q值;γ是折扣因子,α是Q-學(xué)習(xí)算法的學(xué)習(xí)因子,決定算法對(duì)于獎(jiǎng)勵(lì)的反映程度。該值越大,每次實(shí)驗(yàn)后Q值表的波動(dòng)也越大。算法3中給出了Q-學(xué)習(xí)的偽代碼。
算法3 Q-學(xué)習(xí)算法
2.3.2 Q學(xué)習(xí)調(diào)參
在利用PSO搜索解的過(guò)程中,加速度系數(shù)c1和c2是兩個(gè)重要的參數(shù),這些參數(shù)會(huì)極大影響算法的效率[30]。因此,本文將在PSO的基礎(chǔ)上嵌入Q-學(xué)習(xí)算法,來(lái)幫助PSO在每次迭代中選擇c1和c2最優(yōu)對(duì)。Q學(xué)習(xí)-粒子群融合算法試圖根據(jù)Q值表中的累積信息選擇加速度系數(shù)c1和c2的最佳對(duì)。在該算法中,PSO被認(rèn)為是一個(gè)環(huán)境,每次迭代都將該環(huán)境的狀態(tài)從st更改為st+1。具體實(shí)現(xiàn)步驟如圖5所示,算法中狀態(tài)、動(dòng)作、策略及獎(jiǎng)勵(lì)值定義如下。
1)狀態(tài)
在這里環(huán)境狀態(tài)被定義為一個(gè)加權(quán)函數(shù),其包含平均種群適應(yīng)度Z*1、總體方差Z*2和最佳個(gè)體適應(yīng)度Z*3三個(gè)特征,具體表示為
s*=w1Z*1+w2Z*2+w3Z*3(14)
其中:w1、w2和w3是權(quán)重系數(shù),w1+w2+w3=1。式(14)中的Z*1、Z*2和Z*3定義如下:
式(15)計(jì)算第k次迭代中種群的平均適應(yīng)度,并通過(guò)除以第一次迭代的平均適應(yīng)度對(duì)其進(jìn)行歸一化。式(16)表示第k次迭代中的總體方差,同樣通過(guò)除以第一次迭代的方差進(jìn)行歸一化。最后根據(jù)式(17)計(jì)算歸一化后的最佳個(gè)體適應(yīng)度作為狀態(tài)函數(shù)的第三個(gè)分量。
2)動(dòng)作
算法中的動(dòng)作集被定義為A={(c11,c12),(c21,c22),…,(ck1,ck2)},表示PSO第k次迭代時(shí)用于更新速度向量的加速度系數(shù)c1和c2的值。加速度參數(shù)在限定范圍內(nèi)被劃分為若干個(gè)離散值,并分別對(duì)應(yīng)一個(gè)Q值,在算法執(zhí)行過(guò)程中根據(jù)Q值的大小來(lái)選擇動(dòng)作。
3)策略
在Q學(xué)習(xí)-粒子群融合算法中使用ε-貪心策略作為動(dòng)作選擇策略[24],其是一種基于隨機(jī)性和貪心性的策略,在選擇動(dòng)作時(shí)會(huì)以1-ε的概率選擇當(dāng)前已知最優(yōu)的行動(dòng),以ε的概率選擇隨機(jī)行動(dòng),其中ε∈(0,1),并通常會(huì)取一個(gè)較小的值。該策略可以平衡探索和利用之間的關(guān)系,保證算法在搜索過(guò)程中有機(jī)會(huì)嘗試一些新的選擇,不會(huì)陷入過(guò)于貪心的困境。ε-貪心策略具體如式(18)所示。
其中:ε為勘探率系數(shù)。
4)獎(jiǎng)勵(lì)
在每次迭代結(jié)束后需要計(jì)算獎(jiǎng)勵(lì)來(lái)反映算法當(dāng)前所選擇動(dòng)作的優(yōu)劣,該算法的獎(jiǎng)勵(lì)r*根據(jù)最佳個(gè)體適應(yīng)度r1和平均群體適應(yīng)度r2求取。
在這里,計(jì)算以上兩個(gè)函數(shù)值并進(jìn)行比較,選擇其中較大值作為第k次迭代的獎(jiǎng)勵(lì),即r*=max{r1,r2}。如果選擇的獎(jiǎng)勵(lì)優(yōu)于第k-1次迭代中的獎(jiǎng)勵(lì),則說(shuō)明當(dāng)前選擇的參數(shù)對(duì)是有效的,將計(jì)算得出的獎(jiǎng)勵(lì)r*作為反饋返回給算法,并據(jù)此對(duì)Q值表進(jìn)行更新。算法4展示了Q學(xué)習(xí)-粒子群融合算法的偽代碼。
算法4 Q學(xué)習(xí)-粒子群融合算法
3 數(shù)值實(shí)驗(yàn)
3.1 實(shí)驗(yàn)參數(shù)設(shè)定
為了評(píng)價(jià)本文提出的Q學(xué)習(xí)-粒子群融合算法(Q-PSO)在求解資源配置及訂閱限額問(wèn)題上的性能,本節(jié)開(kāi)發(fā)了小型和大型兩種規(guī)模問(wèn)題集。問(wèn)題集由商品類(lèi)別數(shù)量L和規(guī)劃周期T來(lái)區(qū)分。小型和大型兩個(gè)問(wèn)題集的(L,T)值分別固定為(3,3)和(4,6)。
本文利用PSO求解SaaS資源配置及訂閱限額模型,其中算法中啟發(fā)式參數(shù)描述為種群總體規(guī)模Npop,最大迭代次數(shù)kmax,慣性權(quán)重w,加速度系數(shù)c1和c2以及與粒子速度相關(guān)的跳步Δa和Δb。在實(shí)驗(yàn)中,通過(guò)下列方法控制參數(shù)值,將種群總體規(guī)模Npop設(shè)置為2L+T,最大迭代次數(shù)kmax設(shè)為5(L+T),慣性權(quán)重w設(shè)為0.85,Δa和Δb均設(shè)為10,加速度系數(shù)c1和c2通過(guò)Q-學(xué)習(xí)算法獲得。算法均用Python編程軟件編寫(xiě),并在配置為2.7 GHz Intel Core i5處理器和8 GB內(nèi)存的MacBook Pro個(gè)人筆記本電腦上運(yùn)行。
3.2 模型及算法有效性驗(yàn)證
為驗(yàn)證本文算法在計(jì)算效率與決策效果上的表現(xiàn),本節(jié)將Q-PSO與經(jīng)典PSO以及目前廣泛應(yīng)用于求解資源配置問(wèn)題的基于混沌映射的PSO算法(chaotic particle swarm optimization,CPSO)[31~33]進(jìn)行比較。其中CPSO在PSO基礎(chǔ)上引入混沌映射策略,對(duì)初始化種群和位置更新的計(jì)算方式進(jìn)行改進(jìn),并通過(guò)對(duì)粒子位置進(jìn)行變異更新來(lái)跳出局部最優(yōu)解,從而提高了算法的求解準(zhǔn)確性。因此本節(jié)將從算法的準(zhǔn)確性和求解效率兩個(gè)方面,對(duì)Q-PSO與CPSO進(jìn)行對(duì)比來(lái)驗(yàn)證本文算法的有效性。
為了驗(yàn)證算法的準(zhǔn)確性,本節(jié)對(duì)精確算法與近似算法對(duì)小型規(guī)模問(wèn)題求解的結(jié)果進(jìn)行比較,其中精確算法的結(jié)果利用CPLEX求解得到,而近似算法則為PSO、CPSO以及本文Q-PSO,求解的具體結(jié)果如圖6所示。
圖6分別展示了采用CPLEX求解器、PSO、CPSO以及Q-PSO的求解結(jié)果,其中橫坐標(biāo)為訂閱請(qǐng)求標(biāo)識(shí),縱坐標(biāo)為求解的訂閱限額值。從圖6可以發(fā)現(xiàn)采用四種方法的求解結(jié)果相似,說(shuō)明本文算法求得的近似解與最優(yōu)解的差距較小,算法的準(zhǔn)確性較高。
為了貼合實(shí)際,后續(xù)采用大規(guī)模問(wèn)題數(shù)據(jù)集進(jìn)行仿真。利用啟發(fā)式算法求解資源配置及訂閱限額模型,得到的可行解如表3所示,此處僅展示在大規(guī)模問(wèn)題下第一個(gè)測(cè)試集q11的求解結(jié)果。
表3分別給出了利用PSO、CPSO和Q-PSO求解得到的結(jié)果,根據(jù)基于Q-PSO結(jié)果可知,SaaS運(yùn)營(yíng)商分配給各個(gè)產(chǎn)品類(lèi)別的虛擬機(jī)資源量分別為40 970、40 122、45 682和73 224。由表3可知,當(dāng)?shù)竭_(dá)一個(gè)新的訂閱需求為(1,2,3)時(shí),需要判斷當(dāng)前系統(tǒng)中該訂閱需求的訂閱數(shù)量是否已達(dá)到379,只有當(dāng)訂閱數(shù)量未達(dá)到379時(shí),SaaS運(yùn)營(yíng)商才能夠接受該用戶的訂閱需求。同理可得,如果訂閱(2,1,3)的數(shù)量已經(jīng)達(dá)到了315,那么SaaS運(yùn)營(yíng)商將不再接受任何相同的訂閱需求。
接下來(lái)利用平均目標(biāo)函數(shù)、最佳目標(biāo)函數(shù)、平均CPU時(shí)間和相對(duì)偏差指數(shù)(RDI)四個(gè)指標(biāo)來(lái)評(píng)價(jià)解的質(zhì)量并比較三種算法的有效性。其中RDI計(jì)算公式如下[34]:
其中:Algsol表示當(dāng)前算法的目標(biāo)函數(shù)值;Maxsol表示算法中的最優(yōu)函數(shù)值;Minsol表示所有實(shí)驗(yàn)中最小函數(shù)值。RDI值越小,表示算法性能越好。每種規(guī)模的問(wèn)題利用9個(gè)測(cè)試集重復(fù)求解。大規(guī)模問(wèn)題的求解結(jié)果如表4所示。
從表4可以發(fā)現(xiàn),在對(duì)本文模型的求解中,利用Q-學(xué)習(xí)調(diào)參的方法能在不增加計(jì)算時(shí)間的情況下增強(qiáng)了PSO的性能,即Q-PSO求解不同規(guī)模的有約束非線性模型要比經(jīng)典粒子群算法表現(xiàn)更好;相較于CPSO而言,Q-PSO的求解準(zhǔn)確性較低,但是求解效率高,說(shuō)明本文算法在不損失求解準(zhǔn)確度的同時(shí)提高了求解效率。
為了衡量算法的性能可靠性,本節(jié)繪制元啟發(fā)式算法的平均目標(biāo)函數(shù)箱線圖,結(jié)果如圖7所示。從圖7可以看出,Q-PSO及CPSO的箱體均小于PSO求解結(jié)果的箱體,可以認(rèn)為Q-PSO的嵌入成功地降低了算法求解的方差,即Q-PSO比PSO具備更高的可靠性和魯棒性。三種算法的收斂圖如圖8所示。
從圖8可以看出在不同規(guī)模下,Q-PSO都比PSO收斂得更快,并獲得了更優(yōu)解;對(duì)比CPSO和Q-PSO的收斂結(jié)果可以發(fā)現(xiàn),在不同規(guī)模下Q-PSO收斂更快,且兩者的求解結(jié)果相近,說(shuō)明Q-PSO在不降低算法準(zhǔn)確性的同時(shí)提高了求解效率。此外,為了了解Q-學(xué)習(xí)算法如何自適應(yīng)PSO的參數(shù),圖9展示了算法在迭代過(guò)程中加速度參數(shù)的變化趨勢(shì)。
除了上述比較外,實(shí)驗(yàn)還對(duì)每種問(wèn)題規(guī)模求解得到的平均目標(biāo)函數(shù)進(jìn)行統(tǒng)計(jì)比較。首先,根據(jù)表4的實(shí)驗(yàn)結(jié)果繪制大型規(guī)模問(wèn)題的正態(tài)概率圖,結(jié)果如圖10所示。
從圖10可以發(fā)現(xiàn),三種算法所求結(jié)果的p值都大于0.05,說(shuō)明三種算法所求得的平均目標(biāo)函數(shù)都呈正態(tài)分布。接著根據(jù)單因素方差分析方法的流程假設(shè)三組數(shù)據(jù)兩兩之間的總體方差相等,即服從同一正態(tài)分布。其中,Q-PSO與經(jīng)典PSO的檢驗(yàn)結(jié)果如表5所示,發(fā)現(xiàn)p值小于0.05,因此可以拒絕原假設(shè),即認(rèn)為組間差異顯著。由此可知,兩種算法所求得的平均目標(biāo)函數(shù)之間存在顯著差異,即基于Q-PSO的性能高于PSO。Q-PSO與CPSO的檢驗(yàn)結(jié)果如表6所示,發(fā)現(xiàn)p值大于0.05,說(shuō)明利用兩種算法所求得的結(jié)果無(wú)顯著差異,即Q-PSO在提高求解效率的同時(shí)保證了求解的準(zhǔn)確性。
綜上,在解決訂閱限額及資源配置問(wèn)題上,本文Q-PSO具有更好的性能表現(xiàn)。Q-PSO通過(guò)自適應(yīng)地調(diào)整PSO的參數(shù),顯著提高了算法的收斂速度,同時(shí)保證了求解的準(zhǔn)確性,具備更高的穩(wěn)定性和魯棒性。
3.3 不同情境下實(shí)驗(yàn)結(jié)果分析
為了在不同在線率差異場(chǎng)景下,優(yōu)化資源配置及訂閱限額策略,本文引入了資源爭(zhēng)用比來(lái)描述資源利用情況,資源爭(zhēng)用比指的是某一軟件的潛在用戶數(shù)與分配給該軟件的虛擬機(jī)資源之間的比例[35],用c_rl來(lái)表示軟件l在銷(xiāo)售期內(nèi)的資源爭(zhēng)用比。資源爭(zhēng)用比的具體計(jì)算方法為
圖11展示了四種軟件在不同在線率差異下的最優(yōu)資源爭(zhēng)用比變化情況,可以據(jù)此分析不同情境下最優(yōu)資源配置及訂閱限額策略。
圖11反映出四種軟件的資源爭(zhēng)用比均隨著在線率差異率的升高而降低,說(shuō)明在需求波動(dòng)大的情境下,即用戶對(duì)不同軟件的在線率差異率較大時(shí),運(yùn)營(yíng)商應(yīng)盡可能降低軟件的資源爭(zhēng)用比,通過(guò)配置足量的虛擬機(jī)資源并設(shè)定嚴(yán)格的訂閱限額來(lái)保障軟件的服務(wù)質(zhì)量,從而減少違約賠付成本來(lái)提高收益;相反,在需求波動(dòng)小的情境下,即用戶對(duì)不同軟件的在線率差異率較小時(shí),運(yùn)營(yíng)商可以提高軟件的資源爭(zhēng)用比,通過(guò)放寬訂閱限額來(lái)?yè)屨几蟮氖袌?chǎng)。此時(shí)由于在線率差異較小,該策略不會(huì)造成資源閑置,可以在保證資源利用率的同時(shí)提高運(yùn)營(yíng)商收益。此外,圖11還反映了隨著在線率差異率的升高,軟件4的資源爭(zhēng)用比下降幅度最大,并且一直低于其他軟件。由參數(shù)設(shè)置可知,相較于其他軟件,軟件4的平均在線率最高且最穩(wěn)定,因此運(yùn)營(yíng)商應(yīng)盡可能為在線率高且穩(wěn)定的軟件配置更多的虛擬機(jī)資源,并相應(yīng)地放寬訂閱限額,從而增加收益。
4 結(jié)束語(yǔ)
為了保障軟件可用性,在提供服務(wù)的過(guò)程中SaaS運(yùn)營(yíng)商需要提前為各種軟件配置虛擬機(jī)資源,同時(shí)需要考慮各種訂閱請(qǐng)求的訂閱限額。本文針對(duì)該問(wèn)題提出了一個(gè)以收益最大化為目標(biāo)的有資源約束的非線性整數(shù)規(guī)劃模型。模型考慮了用戶對(duì)軟件的在線率差異、用戶訂閱時(shí)間差異以及運(yùn)營(yíng)商的SLA違約賠付等實(shí)際因素,以此來(lái)研究SaaS運(yùn)營(yíng)商在不同的時(shí)間規(guī)劃期內(nèi)如何確定分配給各類(lèi)軟件的虛擬機(jī)資源量以及在SLA限制下每種訂閱需求的訂閱限額。由于求解所建立模型的計(jì)算復(fù)雜度較高,本文采用PSO進(jìn)行求解,同時(shí)提出了一種基于Q-PSO的改進(jìn)方法。該算法利用Q學(xué)習(xí)對(duì)PSO進(jìn)行動(dòng)態(tài)調(diào)參,能更好地避免陷入局部最優(yōu)陷阱,提高PSO性能。借助仿真實(shí)驗(yàn),本文針對(duì)需求波動(dòng)大和需求波動(dòng)小兩種情境分別得出了最優(yōu)資源配置及訂閱限額策略。當(dāng)處于需求波動(dòng)大的情境下時(shí),運(yùn)營(yíng)商應(yīng)盡可能降低軟件的資源爭(zhēng)用比,通過(guò)配置足量的虛擬機(jī)資源并設(shè)定嚴(yán)格的訂閱限額來(lái)保障軟件的服務(wù)質(zhì)量,減少違約賠付成本;相反,當(dāng)處于需求波動(dòng)小的情境下時(shí),運(yùn)營(yíng)商可以提高軟件的資源爭(zhēng)用比,通過(guò)放寬訂閱限額來(lái)?yè)屨几蟮氖袌?chǎng),此時(shí)由于在線率差異較小,該策略不會(huì)造成資源閑置,可以在保證資源利用率的同時(shí)提高運(yùn)營(yíng)商收益。其中,針對(duì)在線率高且穩(wěn)定的軟件,運(yùn)營(yíng)商應(yīng)為其配置更多的虛擬機(jī)資源,并相應(yīng)地放寬訂閱限額來(lái)增加收益。上述策略在實(shí)踐中具有指導(dǎo)意義,可以幫助運(yùn)營(yíng)商在不同場(chǎng)景下進(jìn)行更合理的銷(xiāo)售決策,實(shí)現(xiàn)收益最大化。
本文只考慮了SaaS訂閱模式下的資源配置及訂閱限額組合優(yōu)化問(wèn)題,后續(xù)可以針對(duì)SaaS的其他定價(jià)策略,如按需付費(fèi)及現(xiàn)貨定價(jià)等模式展開(kāi)研究。
參考文獻(xiàn):
[1]吳士亮, 仲琴. 云計(jì)算環(huán)境下應(yīng)用軟件服務(wù)定價(jià)策略研究——基于兩階段壟斷模型的分析[J]. 價(jià)格理論與實(shí)踐, 2017,21(8): 144-147. (Wu Shiliang, Zhong Qin. Pricing strategy of application access service in cloud computing environment-based on the analysis of two-stage model of monopoly[J]. Price: Theory & Practice, 2017, 21(8): 144-147.)
[2]Gartner Inc.. Gartner forecasts worldwide public cloud end-user spending to reach nearly SMonlam Uni Chouk|Ap 500 billion in 2022[EB/OL]. (2022-04-19) [2023-07-11]. https://www.gartner.com/en/newsroom/press-releases/2022-04-19-gartner-forecasts-worldwide-public-cloud-end-user-spending-to-reach-nearly-500-billion-in-2022.
[3]Luo Yongji, Yan Haifeng, Zhang Shoushuai. Simulation-based integrated optimization of nesting policy and booking limits for revenue management[J]. Computers & Industrial Engineering, 2020, 150(4): 106864-106878.
[4]Lee I. Pricing and profit management models for SaaS providers and IaaS providers[J]. Journal of Theoretical and Applied Electronic Commerce Research, 2021,16(4): 859-873.
[5]Ladas K, Kavadias S, Loch C. Product selling vs. pay-per-use ser-vice: a strategic analysis of competing business models[J]. Management Science, 2022, 68(7): 4964-4982.
[6]Zhang Zan. Competitive pricing strategies for software and SaaS products[J]. Information & Management, 2020, 57(8): 103367.
[7]Zhang Longchang, Bai Jing, Xu Jiajun. Optimal allocation strategy of cloud resources with uncertain supply and demand for SaaS providers[J]. IEEE Access, 2023, 11: 80997-81010.
[8]Zhu Jian, Li Qian, Ying Shi. SAAS parallel task scheduling based on cloud service flow load algorithm[J]. Computer Communications, 2022, 182(6): 170-183.
[9]Sikora T D, Magoulas G D. Neural adaptive admission control framework: SLA-driven action termination for real-time application service management[J]. Enterprise Information Systems, 2021, 15(2): 133-173.
[10]Han Bin, Sciancalepore V, Costa-Perez X, et al. Multiservice-based network slicing orchestration with impatient tenants[J]. IEEE Trans on Wireless Communications, 2020,19(7): 5010-5024.
[11]Pimentel V, Aizezikali A, Baker T. An evaluation of the bid price and nested network revenue management allocation methods[J]. Computers & Industrial Engineering, 2018,115(1): 100-108.
[12]王航臣, 曹宇露, 趙迪. 一種基于蒙特卡羅模擬的航空公司機(jī)票超售數(shù)量確定方法[J]. 民用飛機(jī)設(shè)計(jì)與研究, 2021,10(2): 130-136. (Wang Hangchen, Cao Yulu, Zhao Di. A method to determine the overbooking quantity of airline tickets based on Monte Carlo simulation[J]. Civil Aircraft Design & Research, 2021,10(2): 130-136.)
[13]鄧連波, 許景, 彭齊, 等. 基于隨機(jī)規(guī)劃的高鐵列車(chē)超售策略分析[J]. 鐵道科學(xué)與工程學(xué)報(bào), 2022,19(10): 2813-2819. (Deng Lianbo, Xu Jing, Peng Qi, et al. Overbooking strategy analysis of high-speed train based on stochastic programming[J]. Journal of Railway Science and Engineering, 2022,19(10): 2813-2819.)
[14]Nababan A A, Jannah M, Nababan A H. Prediction of hotel booking cancellation using K-nearest neighbors(K-NN) algorithm and synthe-tic minority over-sampling technique(SMOTE)[J]. INFOKUM, 2022, 10(3): 50-56.
[15]You P S, Hsieh Y C, Huang C M. A particle swarm optimization based algorithm to the Internet subscription problem[J]. Expert Systems with Applications, 2009, 36(3): 7093-7098.
[16]Chen Fuzan, Lu Aijun, Wu H, et al. Compensation and pricing strategies in cloud service SLAs: considering participants’ risk attitudes and consumer quality perception[J]. Electronic Commerce Research and Applications, 2022, 56(2): 101215.
[17]Jain R, Sharma N. A quantum inspired hybrid SSA–GWO algorithm for SLA based task scheduling to improve QoS parameter in cloud computing[J]. Cluster Computing, 2023, 26(6): 3587-3610.
[18]Buyya R, Garg S K, Calheiros R N. SLA-oriented resource provisioning for cloud computing: challenges, architecture, and solutions[C]//Proc of International Conference on Cloud and Service Computing. Piscataway, NJ: IEEE Press, 2011: 1-10.
[19]Yuan Shuai, Das S, Ramesh R, et al. Availability-aware virtual resource provisioning for infrastructure service agreements in the cloud[J]. Information Systems Frontiers, 2023, 25(4): 1495-1512.
[20]Gabrel V, Manouvrier M, Moreau K, et al. QoS-aware automatic syntactic service composition problem: complexity and resolution[J]. Future Generation Computer Systems, 2018, 80(3): 311-321.
[21]Kashani M H, Mahdipour E. Load balancing algorithms in fog computing[J]. IEEE Trans on Services Computing, 2022, 16(2): 1505-1521.
[22]Ghafouri S H, Hashemi S M, Hung P C K. A survey on web service QoS prediction methods[J]. IEEE Trans on Services Computing, 2020, 15(4): 2439-2454.
[23]Fallahi A, Bani E A, Niaki S T A. A constrained multi-item EOQ inventory model for reusable items: reinforcement learning-based differential evolution and particle swarm optimization[J]. Expert Systems with Applications, 2022, 207(11): 118018-118038.
[24]Chen Ronghua, Yang Bo, Li Shi, et al. A self-learning genetic algorithm based on reinforcement learning for flexible job-shop scheduling problem[J]. Computers & Industrial Engineering, 2020, 149(11): 106778.
[25]Chang Chenglin, Lin Qucheng, Liao Zuwei, et al. Globally optimal design of refinery hydrogen networks with pressure discretization[J]. Chemical Engineering Science, 2022, 247: 117021.
[26]郭文文, 計(jì)明軍, ?;垤`. 集裝箱碼頭泊位與堆場(chǎng)協(xié)調(diào)分配模型與算法[J]. 系統(tǒng)工程, 2020,38(3): 64-72. (Guo Wenwen, Ji Mingjun, Zhu Huiling. Model and algorithm of coordinated allocation for berth and yard in container terminals[J]. Systems Enginee-ring, 2020, 38(3): 64-72.)
[27]Yin Lei, Liu Jin, Fang Yadong, et al. Two-stage hybrid genetic algorithm for robot cloud service selection[J]. Journal of Cloud Computing, 2023, 12(1): 1-16.
[28]王純子, 郭偉, 張斌. 求解非線性混合整數(shù)規(guī)劃的算法設(shè)計(jì)與仿真[J]. 計(jì)算機(jī)科學(xué)與探索, 2013,7(9): 854-864. (Wang Chunzi, Guo Wei, Zhang Bin. Algorithm design and simulation of solving nonlinear mixed integer programming problem[J]. Journal of Frontiers of Computer Science and Technology, 201jC1+kf5T2Byqo5Qd2mPTDA==3, 7(9): 854-864.)
[29]Kennedy D D, Zhang Haibo, Rangaiah G P, et al. Particle swarm optimization with re-initialization strategies for continuous global optimization[M]. New York: Nova Science Publishers, 2013.
[30]Hou S, Gebreyesus G D, Fujimura S. Day-ahead multi-modal demand side management in microgrid via two-stage improved ring-topology particle swarm optimization[J]. Expert Systems with Applications, 2024, 238(2): 122135.
[31]Zheng Qingshuai, Gu Yujiong, Liu Yuhang, et al. Chaotic particle swarm algorithm-based optimal scheduling of integrated energy systems[J]. Electric Power Systems Research, 2023, 216: 108979.
[32]劉陳偉, 孫鑒, 雷冰冰, 等. 基于改進(jìn)粒子群算法的云數(shù)據(jù)中心能耗優(yōu)化任務(wù)調(diào)度策略[J]. 計(jì)算機(jī)科學(xué), 2023, 50(7): 246-253. (Sun Chenwei, Sun Jian, Lei Bingbing, et al. Task scheduling strategy for energy consumption optimization of cloud data center based on improved particle swarm algorithm[J]. Computer Science, 2023, 50(7): 246-253.)
[33]Zhang Feng. Intelligent task allocation method based on improved QPSO in multi-agent system[J]. Journal of Ambient Intelligence and Humanized Computing, 2020,11(2): 655-662.
[34]Sadeghi J, Sadeghi S, Niaki S T A. Optimizing a hybrid vendor-managed inventory and transportation problem with fuzzy demand: an improved particle swarm optimization algorithm[J]. Information Sciences, 2014, 272(8): 126-144.
[35]You P S, Hsieh Y C, Ikuta S. A heuristic to bandwidth allocation and sales limit setting for Internet service providers[J]. International Journal of Systems Science, 2012, 43(11): 2135-2143.