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

圖1 改進蜂群算法的實現流程
針對電力企業人力資源調度優化求解問題,在對模型進行求解的過程中,為滿足實時性和準確性要求,對基準蜂群算法進行了改進,提出一種改進的蜂群算法,用于多目標數學優化模型的求解,實現人力資源的實時均衡調度。本文基于改進蜂群算法的人力資源實時均衡模型示意圖如圖2 所示。

圖2 改進算法的模型
本文實驗數據來源于湖北省某地區的電力工程項目管理數據集,數據集中包含了工程項目的任務、任務所需的工種、每項任務所需花費的工時以及任務時間約束和成本等相關信息。人力資源數據選擇某電力工程項目團隊數據,共有員工50 人,包含多個工種。本文算法與對比算法均使用Python 進行編程,算法運行的軟硬件環境如表1 所示。

表1 算法運行環境
為了對所提算法的性能進行驗證,本次實驗測試從數據集中選取若干數據作為訓練集,剩余的作為驗證集,數量比例為4∶1。
本文算法可對原算法易陷入局部最優解及實時性差的不足之處進行改進,因此在進行迭代實驗時,將原算法作為對比算法。實驗中的自適應迭代誤差設置為0.01,最大迭代次數設置為400,實驗結果如圖3 所示。

圖3 兩種迭代實驗結果
在圖3 中,縱軸表示自適應迭代誤差,橫軸表示迭代次數,當自適應迭代誤差趨近于0.01 時,表示求得最終解。可以看出,原算法迭代次數為200,文中改進算法迭代次數為120,說明本文算法迭代次數較少且迭代時間短,實時性更強。
為驗證本文算法的有效性,隨機抽取3 個電力工程項目作為標準算例,對比算法選擇常見的資源優化與均衡算法(ABC)、蟻群算法(Ant Colony Optimization,ACO)、粒子群算法(Particle Swarm Optimization,PSO),算法性能指標使用目標函數的總人力成本和項目完工時間作為評估項次。算法所得測試結果如表2 所示。

表2 算法測試結果
從表2 中可以看到,各算法均可對電力工程項目涉及到的人力成本及時間進行優化。其中,本文算法在不同人力成本和周期的項目中綜合實力表現最優,總人力成本以及項目完工時間相比于其他對比算法最少。由此表明,本文算法的性能出色,對于原算法的改進也是有效的。
本文針對傳統人力資源均衡算法復雜場景調度能力差的不足,基于改進的蜂群算法提出了一種時間和成本均衡優化的人力資源分配策略。針對傳統蜂群算法中存在的缺陷,在算法的3 個階段進行改進,大幅提升了算法的實時性。在實驗測試中,本文算法迭代次數少,相較于其他對比算法具有最優性能,充分表明了改進算法可以提升電力工程人力資源調度效率,進而降低企業人力成本。