宋亞欣,陸 瀟,盧 碧,王 媛,魯 敏
(1.武漢大學(xué) 電氣與自動(dòng)化學(xué)院,湖北 武漢 430072;2.國(guó)網(wǎng)湖北省電力有限公司 超高壓公司,湖北 武漢 430050)
隨著市場(chǎng)經(jīng)濟(jì)的飛速發(fā)展,企業(yè)跟進(jìn)的項(xiàng)目規(guī)模越來(lái)越大,而項(xiàng)目迭代周期卻越來(lái)越短,所以經(jīng)常出現(xiàn)多個(gè)子項(xiàng)目并行進(jìn)展的情況。針對(duì)此種情況,若缺少一個(gè)合理且智能的人力資源調(diào)度策略,可能會(huì)造成企業(yè)運(yùn)行效率低下。當(dāng)前,傳統(tǒng)的人力資源調(diào)度[1?3]管配模式已無(wú)法適應(yīng)復(fù)雜的環(huán)境現(xiàn)狀,且該情況在電力行業(yè)表現(xiàn)得尤為明顯。因此,電力行業(yè)人力資源調(diào)度優(yōu)化問(wèn)題成為了近年來(lái)的研究重點(diǎn)。
群體智能技術(shù)[4?6]可以大幅提升電力行業(yè)人力資源的管控水平,得到了廣泛應(yīng)用。該技術(shù)主要依賴于仿生學(xué)原理,目前已成為一種主流技術(shù)。與其他群體智能算法相比,人工蜂群算法(Artificial Bee Colony,ABC)[7?9]具有迭代收斂速度快、參數(shù)設(shè)置簡(jiǎn)單等優(yōu)勢(shì),而且其能避免算法陷入局部最優(yōu)解。因此,本文將蜂群算法引入到電力行業(yè)人力資源調(diào)度領(lǐng)域,并對(duì)其進(jìn)行優(yōu)化改進(jìn),提出了一種基于改進(jìn)蜂群算法的人力資源實(shí)時(shí)均衡模型,從而實(shí)現(xiàn)多個(gè)項(xiàng)目并行情況下的人力資源最優(yōu)調(diào)配。
電力企業(yè)在運(yùn)行過(guò)程中,通常會(huì)存在多個(gè)項(xiàng)目并行進(jìn)展的情況。為合理調(diào)配人力資源,實(shí)現(xiàn)企業(yè)效益的最大化,本文綜合考慮資源調(diào)配過(guò)程中的項(xiàng)目數(shù)量、各項(xiàng)目下的活動(dòng)數(shù)量、人員數(shù)量與薪資等因素,以項(xiàng)目所需人力成本和項(xiàng)目延期懲罰成本最低作為人力資源調(diào)度優(yōu)化問(wèn)題的目標(biāo)[10?12],建立如下模型:
式中:f1是基于人力成本的目標(biāo)函數(shù);f2是基于項(xiàng)目延期懲罰成本的目標(biāo)函數(shù);xk,t,i,j表示在t時(shí)刻,第i個(gè)項(xiàng)目的第j個(gè)活動(dòng)由員工k執(zhí)行;Li表示第i個(gè)項(xiàng)目超過(guò)計(jì)劃工期的持續(xù)時(shí)間;N表示項(xiàng)目總數(shù)量;Mi表示第i個(gè)項(xiàng)目的活動(dòng)總數(shù)量;MR表示企業(yè)當(dāng)前可分配的人員總數(shù)量;Ck表示項(xiàng)目i超出項(xiàng)目規(guī)定工期后的懲罰總費(fèi)用;TCi則表示項(xiàng)目i所需的固定總費(fèi)用。此外,通過(guò)3 個(gè)約束條件對(duì)參與活動(dòng)的員工數(shù)量和活動(dòng)的起止時(shí)間進(jìn)行了合理限制,保證了算法的可靠性。
人工蜂群算法是一種群體智能算法,由Karaboga 于2005 年提出,其通過(guò)模擬自然界中蜂群采蜜的一系列群體行為,如蜂群間的信息共享交流、采蜜過(guò)程中的分工安排等,來(lái)實(shí)現(xiàn)采蜜活動(dòng)的高效化和智能化。
近年來(lái),人工蜂群算法被廣泛用于解決人力資源調(diào)度優(yōu)化問(wèn)題。算法通常包含4 個(gè)組成因子,分別為蜂蜜源、引領(lǐng)蜂、跟隨蜂和偵查蜂,對(duì)應(yīng)到優(yōu)化模型中,蜂蜜源表示目標(biāo)函數(shù)的可行解,其質(zhì)量由可行解的適應(yīng)度表示。整個(gè)目標(biāo)函數(shù)求解的過(guò)程對(duì)應(yīng)為蜂群不斷地選擇優(yōu)質(zhì)蜂蜜源,并對(duì)劣質(zhì)蜜源進(jìn)行淘汰,最終找到鄰域內(nèi)的最優(yōu)蜜源,即目標(biāo)函數(shù)的全局最優(yōu)解。此外,根據(jù)不同蜜蜂在尋覓蜜源過(guò)程中的不同分工,引入了人工蜂群算法的另外3 個(gè)組成因子。
設(shè)最優(yōu)化問(wèn)題的可行解為一個(gè)T維向量Yi=,T表示參數(shù)的數(shù)量。記蜂蜜源的數(shù)量為mfood,則可行解域?yàn)镾={Y1,Y2,…,Ymfood}。基于此,該算法的流程可劃分為4 個(gè)階段。
1)初始化蜂蜜源
在可行解域范圍內(nèi),以隨機(jī)的方式生成mfood 個(gè)T維向量,并對(duì)每個(gè)向量即每個(gè)蜜源的適應(yīng)度值進(jìn)行計(jì)算,公式如下:
2)引領(lǐng)蜂階段
對(duì)于搜索區(qū)域內(nèi)的蜜源,引領(lǐng)蜂采用貪婪機(jī)制[13?14]對(duì)蜜源進(jìn)行選取。引領(lǐng)蜂以當(dāng)前所在的蜜源為基礎(chǔ),通過(guò)擴(kuò)展鄰域不斷獲取新的蜜源,公式如下:
式中:new-yi為引領(lǐng)蜂搜尋到的新蜜源;yi為引領(lǐng)蜂當(dāng)前所在蜜源;yk為鄰域內(nèi)的其他蜜源;j則代表向量維度。通過(guò)引入?yún)?shù)φ對(duì)引領(lǐng)蜂的搜索范圍進(jìn)行控制,從而在一定程度上修正蜂群算法的收斂速度。
3)跟隨蜂階段
在跟隨蜂階段,基于上一階段的蜂源選擇結(jié)果,跟隨蜂通過(guò)輪盤賭[15]的方式,以一定的概率選擇所要跟隨的引領(lǐng)蜂,其概率的計(jì)算公式如下:
式中:fiti表示搜索區(qū)域內(nèi)每個(gè)蜂蜜源Yi的適應(yīng)度,適應(yīng)度值越大,則被跟隨蜂選擇開(kāi)采的概率越大。
4)偵查蜂階段
在搜索區(qū)域內(nèi),當(dāng)優(yōu)質(zhì)蜜源多次未進(jìn)行更新時(shí),為避免算法陷入一個(gè)局部最優(yōu)解,偵查蜂便通過(guò)式(7)生成新蜜源,以對(duì)當(dāng)前局部最優(yōu)蜜源進(jìn)行更新。
傳統(tǒng)的人工蜂群算法在蜂源搜索、跟隨選擇等方面存在一定的盲目性。當(dāng)需要處理的數(shù)據(jù)量較大時(shí),對(duì)應(yīng)的算法計(jì)算量也隨之增大,故而難以滿足求解實(shí)時(shí)性的要求。
為進(jìn)一步提升算法性能,并改善傳統(tǒng)算法容易過(guò)早陷入局部最優(yōu)解的不足,本文對(duì)基礎(chǔ)蜂群算法進(jìn)行了三方面改進(jìn)。
1)引領(lǐng)蜂搜索階段改進(jìn)
在基礎(chǔ)人工蜂群算法中,由式(7)可以發(fā)現(xiàn):引領(lǐng)蜂在其所在鄰域內(nèi)對(duì)新蜜源進(jìn)行搜索時(shí),搜索范圍由參數(shù)φ確定,φ為[-1,1]之間的任意值,故引領(lǐng)蜂對(duì)于新蜜源位置的選取具有盲目性;同時(shí)隨機(jī)選取的方式還會(huì)增加算法的計(jì)算量,大幅降低算法的收斂速度?;诖?,在引領(lǐng)蜂搜索階段,本文引入當(dāng)前最佳蜜源位置Ybest=和等距控制參數(shù),其中等距控制參數(shù)公式如下:
式中g(shù)為當(dāng)前的迭代次數(shù)。對(duì)于任意蜜源位置Yi,根據(jù)式(10)分別在搜索區(qū)域內(nèi)生成蜜源位置Vi=此后,依托于當(dāng)前最優(yōu)蜜源位置Ybest,從Yi、Vi、Ui中選擇最優(yōu)蜜源進(jìn)行更新。蜜源更新公式如下所示:
式中β為引入的等距控制參數(shù)。
2)跟隨蜂搜索階段改進(jìn)
在基準(zhǔn)蜂群算法中,跟隨蜂在選擇所要跟隨的引領(lǐng)蜂時(shí),通常采用輪盤賭的模式。在輪盤賭模式下,質(zhì)量好的蜜源被選中的概率較大,反之,質(zhì)量稍差的蜜源則會(huì)被直接拋棄,因此基準(zhǔn)算法較易陷入局部最優(yōu)。為解決這一問(wèn)題,引入排序選擇策略,用于替代基準(zhǔn)算法中的輪盤賭模式。該策略的具體實(shí)現(xiàn)為:首先根據(jù)引領(lǐng)蜂選取的蜂源質(zhì)量進(jìn)行優(yōu)劣排序,之后再依據(jù)式(12)和式(13)分別計(jì)算出選擇排序?yàn)閗的引領(lǐng)蜂的概率,概率計(jì)算公式如下:
式中:nGB為蜂群中引領(lǐng)蜂的數(shù)量;Gmax表示最大迭代輪次;a(g)為調(diào)節(jié)參數(shù)。
3)偵查蜂搜索階段改進(jìn)
基準(zhǔn)蜂群算法中,當(dāng)引領(lǐng)蜂多次未更新優(yōu)質(zhì)蜜源時(shí),偵查蜂便在全體解域內(nèi)進(jìn)行搜尋。這種方式在一定程度上避免了算法陷入局部最優(yōu)解,但降低了算法尋優(yōu)的效率,導(dǎo)致算法實(shí)時(shí)性較差。針對(duì)該問(wèn)題,文中在偵查蜂搜索階段提出了一種基于蜜源濃度的全局更新策略,即偵查蜂在搜集優(yōu)質(zhì)蜜源時(shí),按照蜜源濃度的高低有選擇性地對(duì)新優(yōu)質(zhì)蜜源的位置進(jìn)行搜尋。改進(jìn)策略公式如下所示:
式中γj為向量第j維解空間的搜索權(quán)重。
綜上所述,本文所提出的改進(jìn)蜂群算法的整體實(shí)現(xiàn)流程如圖1 所示。
圖1 改進(jìn)蜂群算法的實(shí)現(xiàn)流程
針對(duì)電力企業(yè)人力資源調(diào)度優(yōu)化求解問(wèn)題,在對(duì)模型進(jìn)行求解的過(guò)程中,為滿足實(shí)時(shí)性和準(zhǔn)確性要求,對(duì)基準(zhǔn)蜂群算法進(jìn)行了改進(jìn),提出一種改進(jìn)的蜂群算法,用于多目標(biāo)數(shù)學(xué)優(yōu)化模型的求解,實(shí)現(xiàn)人力資源的實(shí)時(shí)均衡調(diào)度。本文基于改進(jìn)蜂群算法的人力資源實(shí)時(shí)均衡模型示意圖如圖2 所示。
圖2 改進(jìn)算法的模型
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)源于湖北省某地區(qū)的電力工程項(xiàng)目管理數(shù)據(jù)集,數(shù)據(jù)集中包含了工程項(xiàng)目的任務(wù)、任務(wù)所需的工種、每項(xiàng)任務(wù)所需花費(fèi)的工時(shí)以及任務(wù)時(shí)間約束和成本等相關(guān)信息。人力資源數(shù)據(jù)選擇某電力工程項(xiàng)目團(tuán)隊(duì)數(shù)據(jù),共有員工50 人,包含多個(gè)工種。本文算法與對(duì)比算法均使用Python 進(jìn)行編程,算法運(yùn)行的軟硬件環(huán)境如表1 所示。
表1 算法運(yùn)行環(huán)境
為了對(duì)所提算法的性能進(jìn)行驗(yàn)證,本次實(shí)驗(yàn)測(cè)試從數(shù)據(jù)集中選取若干數(shù)據(jù)作為訓(xùn)練集,剩余的作為驗(yàn)證集,數(shù)量比例為4∶1。
本文算法可對(duì)原算法易陷入局部最優(yōu)解及實(shí)時(shí)性差的不足之處進(jìn)行改進(jìn),因此在進(jìn)行迭代實(shí)驗(yàn)時(shí),將原算法作為對(duì)比算法。實(shí)驗(yàn)中的自適應(yīng)迭代誤差設(shè)置為0.01,最大迭代次數(shù)設(shè)置為400,實(shí)驗(yàn)結(jié)果如圖3 所示。
圖3 兩種迭代實(shí)驗(yàn)結(jié)果
在圖3 中,縱軸表示自適應(yīng)迭代誤差,橫軸表示迭代次數(shù),當(dāng)自適應(yīng)迭代誤差趨近于0.01 時(shí),表示求得最終解。可以看出,原算法迭代次數(shù)為200,文中改進(jìn)算法迭代次數(shù)為120,說(shuō)明本文算法迭代次數(shù)較少且迭代時(shí)間短,實(shí)時(shí)性更強(qiáng)。
為驗(yàn)證本文算法的有效性,隨機(jī)抽取3 個(gè)電力工程項(xiàng)目作為標(biāo)準(zhǔn)算例,對(duì)比算法選擇常見(jiàn)的資源優(yōu)化與均衡算法(ABC)、蟻群算法(Ant Colony Optimization,ACO)、粒子群算法(Particle Swarm Optimization,PSO),算法性能指標(biāo)使用目標(biāo)函數(shù)的總?cè)肆Τ杀竞晚?xiàng)目完工時(shí)間作為評(píng)估項(xiàng)次。算法所得測(cè)試結(jié)果如表2 所示。
表2 算法測(cè)試結(jié)果
從表2 中可以看到,各算法均可對(duì)電力工程項(xiàng)目涉及到的人力成本及時(shí)間進(jìn)行優(yōu)化。其中,本文算法在不同人力成本和周期的項(xiàng)目中綜合實(shí)力表現(xiàn)最優(yōu),總?cè)肆Τ杀疽约绊?xiàng)目完工時(shí)間相比于其他對(duì)比算法最少。由此表明,本文算法的性能出色,對(duì)于原算法的改進(jìn)也是有效的。
本文針對(duì)傳統(tǒng)人力資源均衡算法復(fù)雜場(chǎng)景調(diào)度能力差的不足,基于改進(jìn)的蜂群算法提出了一種時(shí)間和成本均衡優(yōu)化的人力資源分配策略。針對(duì)傳統(tǒng)蜂群算法中存在的缺陷,在算法的3 個(gè)階段進(jìn)行改進(jìn),大幅提升了算法的實(shí)時(shí)性。在實(shí)驗(yàn)測(cè)試中,本文算法迭代次數(shù)少,相較于其他對(duì)比算法具有最優(yōu)性能,充分表明了改進(jìn)算法可以提升電力工程人力資源調(diào)度效率,進(jìn)而降低企業(yè)人力成本。