2017-04-10 16:44:33

  史振華

  (紹興職業技術學院,浙江 紹興 312000)

        摘要:針對雲計算中無法合理分配資源的問題,提出了采用改進的粒子群算法對其進行分配。由於粒子群算法存在局部收斂速度快,容易陷入局部最優解的情況,從粒子的選擇、參數調整和預防過早收斂三個方麵進行改進: (1)選擇粒子的時候采用適應值最小的粒子,並根據約束函數淘汰不合格的粒子;(2)對慣性因子、個體最優因子和全局最優因子進行改進;(3)通過設定係數來防止算法過早收斂。仿真說明,將改進後的算法運用在雲計算方麵,在雲計算的資源失效、雲端用戶完成時間和雲計算環境下的能量消耗三個方麵都優於粒子群算法。

  關鍵詞:粒子群算法;雲計算;資源分配

  中圖分類號:TP393文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.06.019

  引用格式:史振華. 一種改進的粒子群算法在雲計算資源中的研究[J].微型機與應用,2017,36(6):62-65.

0引言

  雲計算技術不斷發展,現在已經成為了計算機界研究的一個熱點。相應地,雲計算服務不斷發展壯大,其應用領域越來越廣泛。雲計算是通過互聯網技術將海量的IT資源通過有償的方式提供給雲端用戶,雲計算服務商通過雲計算數據中心對雲環境中的資源進行統一的管理和分配,最大限度地保證雲端負載均衡[1]。由於雲計算中的資源是動態的,而雲端用戶的需求是實時性和多樣性的,因此采用固定資源分配的方式無法滿足雲端用戶的需求,雲計算服務商提供的服務以資源調度方案最優,整體利益最大化為主要目標。雲計算資源調度是一個多任務的NP問題,不同的學者從不同的角度進行了研究。文獻[2]提出了采用蛙跳結合神經網絡的算法來解決雲計算資源分配問題;文獻[3]提出將改進的蟻群算法運用到雲計算資源調度中,取得了比較好的效果;文獻[4]提出了采用改進的布穀鳥算法來進行資源分配,提高了資源的分配效率;文獻[5]提出將多維模型與蟻群算法進行相結合來進行雲計算資源的分配,取得了比較好的效果;文獻[6]提出了生物中的膜計算與蝙蝠算法相結合來解決雲計算中的資源分配;文獻[7]提出了采用粒子群算法與神經網絡相結合的方法分配雲計算資源,取得了比較好的效果。

  本文將粒子群算法運用到雲計算中進行資源分配,對於粒子算法存在的問題,分別從粒子的選擇、參數調整和預防過早收斂三個方麵進行改進。仿真實驗說明本文算法相比於基本粒子群算法在資源分配方麵有了明顯的改進。

1雲計算資源簡述

  雲計算中的資源調度關係到雲計算的運行效率、能量消耗和時間花費等問題。雲計算中的每一個雲用戶是雲環境中的一個節點,每一個節點既使用服務又提供服務,雲用戶之間相互協作實現資源優化配置。因此資源調度算法就成為資源配置的關鍵,如何設計一個良好的雲計算資源算法是十分必要的。雲計算資源的調度過程如圖1所示。

 

001.jpg

  在雲計算資源調度中,無論采用什麼樣的資源調度策略,其目的都是為了更好地使用雲計算資源為雲用戶提供高質量的服務。高效的雲計算資源調度目標是在調度資源的時候保證雲計算的服務質量(包括服務的時間、效率和可靠性),全麵提高資源的利用率和負載均衡,實現利益的最大化。

  目前,用於雲計算資源調度的是啟發式的算法,這些算法包括粒子群算法、遺傳算法、蟻群算法和人工神經網絡算法等,這些算法都具有良好的尋求最優解的性能優點,但容易因自身的原因陷入局部而造成算法收斂。

 2改進的粒子算法在雲計算中的應用

  2.1基本的粒子群算法

  粒子群算法是通過個體之間的相互協作和相互影響不斷地通過迭代來獲得最優解的,群體之間的信息共享協助群體進化。設定粒子群算法的目標搜索空間是N維的,粒子群由m個粒子構成,粒子的位置就是一個解,設Vmax為粒子的最大速度,因此群體中的粒子位置和速度采用N維向量來表示。其中,第k個粒子的位置為: Xk=(xk1,xk2,…,xkn),k∈[1,m],第k個粒子的速度為Vk=(vk1,vk2,…,vkn),k∈[1,m],粒子在迭代過程中的最佳位置就是個體最優解的位置:Pkbest=(Pk1,Pk2,…,PkN),k=1,2,3,…,m,全局最優解為:Gkbest=(Pg1,Pg2,…,PgN)。當找到最優解之後,通過目標函數求出粒子的適應值,通過適應度的大小衡量粒子的位置,然後繼續以個體最優解和全局信息解來更新自身的位置改變粒子的運動速度,逐步獲得最優解。因此,粒子的更新速度和位置如下:

  Vki=ηVki+αλ(Pkn-Vkn)+βμ(Pgn-Xgn)(1)

  Xkn=Xkn+Vkn(2)

  式中,η為慣性參數,α和β分別是學習因子,α是調節粒子向個體最優位置靠近飛行,β是粒子向群體最優位置飛行,通常情況下,慣性係數η取值為1,λ和μ為相互獨立的隨機數,Vmax為設置的最大速度。從以上分析可以發現粒子群算法中的最優解是通過粒子之間的協作和相互競爭來獲得的,粒子在空間以一定的速度飛行,每個粒子的運動通過個體與群體來不斷地調整速度和運動方向,從而獲得最優解。

第1頁  第2頁  第3頁  

http://www.autooo.net/autooo/wuxiantongxun/jishu/2017-04-10/171601.html