《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 人工蜂群算法求解資源受限項目調度問題
人工蜂群算法求解資源受限項目調度問題
來源:微型機與應用2011年第19期
孫曉雅
(遼寧師范大學 管理學院,遼寧 大連 116029)
摘要: 針對資源受限項目調度問題,提出了一種基于人工蜂群算法的優化方法。人工蜂群算法中每個食物源的位置代表一種項目任務的優先權序列,每個食物源的位置通過擴展串行調度機制轉換成可行的調度方案,迭代中由三種人工蜂執行不同的操作來實現全局最優解的更新。實驗結果表明,人工蜂群算法是求解資源受限項目調度問題的有效方法,同時擴展調度機制的引入可以加速迭代收斂的進程。
Abstract:
Key words :

摘  要: 針對資源受限項目調度問題,提出了一種基于人工蜂群算法的優化方法。人工蜂群算法中每個食物源的位置代表一種項目任務的優先權序列,每個食物源的位置通過擴展串行調度機制轉換成可行的調度方案,迭代中由三種人工蜂執行不同的操作來實現全局最優解的更新。實驗結果表明,人工蜂群算法是求解資源受限項目調度問題的有效方法,同時擴展調度機制的引入可以加速迭代收斂的進程。
關鍵詞: 資源受限項目調度;人工蜂群算法;擴展串行調度

 現代項目管理的理念和方法已經被越來越多的組織所接受,成為組織模式中不可或缺的一部分,而項目調度是項目管理中最具挑戰行性的工作。由于項目的可用資源稀缺及項目任務間的必須滿足的工序關系,使得項目調度成為一個十分復雜的問題。資源受限的項目調度RCPSP(Resource-Constrained Project Scheduling)問題是一類典型的組合優化問題,在理論上Blazewicz[1]已經證明它屬于強NP-hard問題,對于大規模的項目調度采用精確解法求解就變得十分困難,而啟發式算法在求解速度上則表現出明顯的優越性。近年來國內外學者對基于優先規則的啟發式算法做了大量的研究,先進進化和智能算法不斷出現(如模擬退火算法、禁忌搜索算法、遺傳算法,及蟻群算法、粒子群算法等),并被逐步應用到RCPSP問題求解中。
受到蜜蜂群體采蜜行為的啟發,2005年Karaboga[2]提出了一種基于蜂群智能的新的人工蜂群算法ABC(Artificial Bee Colony)。Karaboga等[3-4]已經驗證與遺傳算法、差分進化算法及粒子群算法相比,ABC算法在連續型多峰函數尋優問題中能得到更好的結果。ABC算法是連續性問題優化提出的,在離散性問題,如組合優化等問題中的應用還比較少。
本文根據資源受限項目調度問題的解的特點,提出了一種基于優先權的求解RCPSP的人工蜂群算法,并通過實例仿真驗證了算法的有效性。
1 問題描述
 典型的資源受限項目調度問題基于下述假設:(1)組成項目的各任務是確定的,且工期已知;(2)每項任務必須在其所有的緊前任務完成后方能開始;(3)項目的可用資源為多種可更新資源,已知資源可用量的最大限額且在項目整個過程中保持不變;(4)任務不可拆分,即任務一旦開始不得中斷;(5)調度的優化目標是項目工期最短。因此,RCPSP可描述為:設項目的任務集為J={0,1,2,…,n,n+1},其中任務0和n+1為虛任務,工期為0,分別代表開始任務和結束任務。sj=fj-dj,C={(i,j)|i必須在j開始前完成}為項目的緊前任務集,其中sj、fj、dj分別表示第j項任務的開始時間、結束時間和總耗時。設項目共有K種可更新資源,第k種資源的總量為Rk,第j項任務對第k種資源的需求量為rjk。則資源受限的項目調度的數學模型為:

2 人工蜂群算法求解RCPSP
2.1 人工蜂群算法簡介

 人工蜂群算法是一種基于群智能的元啟發算法,因其原理簡單易于實現的特點受到了越來越多的關注。人工蜂群算法中有兩個重要組成:人工蜜蜂和食物源。人工蜜蜂分為三類:工作蜂、跟隨蜂和偵查蜂,每一種人工蜂扮演不同的角色。工作蜂在蜜源采蜜,并將蜜源信息帶回與跟隨蜂分享;跟隨蜂等候在蜂巢從回來的工作蜂那里得到食物源的信息;偵查蜂負責尋找新蜜源。工作蜂通過在蜂巢跳舞場以“擺尾舞”的方式分享信息,其舞蹈形態和采蜜蜜源的蜂蜜量成正比。跟隨蜂觀察舞蹈,然后依據分享蜜源的蜂蜜量選擇適當的食物源,好蜜源將會吸引更多的跟隨蜂。當一個蜜源被多次采蜜后,就會被拋棄,然后偵查蜂就會勘探另一個新蜜源。因此,偵查蜂的作用可以看做是開發食物源,而工作蜂和跟隨蜂的作用是開采食物源。蜂群按數量等分成兩組,前一半是工作蜂,后一半是跟隨蜂。每一個工作蜂對應一個食物源,即工作蜂的數目和蜂巢周圍的食物源的數目相等。在ABC算法中食物源即蜜源,每個食物源的位置代表優化問題的一個可行解,食物源的蜂蜜量稱為適應值,代表相關解的質量。
2.2 人工蜂群算法求解RCPSP
 本文ABC算法的基礎采用基于優先權編碼的人工蜂群算法對RCPSP進行求解。
2.2.1 基于優先權的食物源位置編碼
 在ABC算法中,每個食物源的位置代表一個可行解。在用ABC算法求解資源受限項目調度問題時,每個食物源的位置xi是一個n維向量,取xi=(xi1,xi2,…,xid,…,xin),向量的維數n即是項目的非虛擬任務數。食物源xi代表一種項目任務的優先權序列。其中,xid是第i個食物源的第d個位置的值,它對應了第d項任務的優先權為xid。ABC算法得到的xi是連續數構成的向量,通過把xi向量元素按從小到大排序,轉換成1~n的整數排列。這種整數優先權序列再通過調度生成機制轉換為一個可行的調度方案。
2.2.2 適應值函數
 ABC算法中食物源的好壞用蜂蜜量的多少來衡量,蜂蜜量是指食物源對應的可行解的適應值函數。在RCPSP中食物源對應了項目任務的優先權序列,優先權序列可以通過調度生成機制轉換成可行調度方案,每一調度方案對應了項目工期。RCPSP優化目標是使項目工期最短,并意味著解的質量越好,因此ABC算法中食物源xi的適應值fiti。可由式(4)轉換得到。

2.2.3 擴展串行調度生成機制
 一個食物源的位置編碼對應了項目的一種任務優先權序列,需要通過適當的調度生成機制把任務的優先權轉化為可行的調度方案,本文采用擴展的串行調度生成機制[5]來生成可行調度方案。串行調度有兩種對齊調度方式,一種是左齊計劃,一種是右齊計劃。所謂擴展的串行調度機制就是采用雙齊計劃進行調度,實現過程分為:(1)采用串行調度方法生成一個左齊計劃;(2)在左齊計劃的基礎上,以左齊計劃的結束任務完工時間為基準,再生成右齊計劃;(3)若右齊計劃開始任務開始時間大于零,則整個右齊計劃同步左移至開始任務最早開始時間為零,即再進行一個左齊計劃。通過這一調度機制就可以實現將食物源的解轉換為可行的調度方案。
2.2.4 算法的實現步驟
 ABC算法求解RCPSP的實現步驟如下:
 (1)初始化。ABC算法首先產生初始種群,種群數量為SN,也代表SN個解(食物源)。每一個解xi(i=1,2,…,SN)對應了一組任務優先權序列,通過擴展的串行調度生成機制得到可行的調度方案,計算出每個xi的適應值fiti。
 (2)迭代過程。在初始化之后,進入迭代(C=1,2,…,Cmax)過程,Cmax為最大迭代次數。在每次迭代中,三種類型的人工蜂執行不同的操作,種群的全局最優解就隨著人工蜂群每次迭代中所尋找的食物源適應值的情況不斷更新。
 ①工作蜂有SN個,對應SN個食物源,工作蜂i的食物源為xi,工作蜂i在種群中隨機選擇一個工作蜂k做它的鄰居,并在工作蜂k的食物源xk的n維向量中隨機選擇一位d(d=1,2,…,n)。vi為工作蜂i的候選食物源,vi與xi除了第j位vid外,其余各位和xi一致。vid的計算方法為:

 其中,fiti為工作蜂i的食物源的適應值。跟隨蜂j通過輪盤賭的形式從工作蜂的食物源中選擇食物源,假設工作蜂i的食物源xi被選中,跟隨蜂j采用和①相同的方法來生產侯選食物源vi,同時采用和①相同貪婪策略在vi和xi之間進行取舍,traili的設置方法亦同上。
 ③當某一食物源xi的traili等于最大重復使用次數的限定值時,偵查蜂就會隨機生成一個新的食物源取代xi,原來的食物源被舍棄不用。
 (3)結束。當步驟(2)完成Cmax次迭代后,ABC算法結束,輸出最優調度方案及項目最短工期。
3 仿真實驗
 為了驗證ABC算法求解RCPSP的有效性,本文選取的算例為項目的結點式網絡圖[6],如圖1所示,項目的任務集為J={0,1,2,…,25,26},任務0和26為虛任務。項目的可更新資源種類為三種,每種資源在單位時間內大最大使用限額為6。圖1中,結點圓圈內數字為任務編號,結點上方數字為任務工期,結點下方數字分別為該任務對三種資源的使用量。

 

 


 ABC仿真實驗選取蜂群數量NP=20,即食物源SN=10,最大迭代次數Cmax=50,工作蜂生成候選食物源應用式(5)時,取參數ω1=0.7;跟隨蜂尋找候選食物源應用(5)式時,取參數ω2=1。圖2給出了ABC算法在迭代中得到的項目工期的收斂過程,項目的工期的最優解為64天,所得的最優結果與參考文獻[5]一致,同時與參考文獻[5]比較來看,由于采用了擴展的串行調度生成機制,初始解離最優解距離更近。

 圖3給出了應用ABC算法得到的本算例最優調度時的甘特圖。圖4給出了此時項目可用資源的利用情況圖,由圖可見,在最短項目工期為64天的情況下,各任務在執行過程中滿足三種資源的限制。

 本文針對資源受限的項目調度優化問題的數學模型,提出了一種基于優先權編碼的人工蜂群算法,通過擴展的串行調度生成機制將優先權編碼轉換為可行的調度方案。實際算例仿真結果表明,人工蜂群算法能夠有效地求解資源受限的項目調度問題,算法的收斂速度較快,精度較高。既提高了算法的優化效率,又提高了算法的優化精度,同時擴展調度機制與串行調度生成機制相比具有明顯的優點。
參考文獻
[1] BLAZEWICZ J, LENSTRA J K, RINNOOY K A H G. Scheduling subject to resource constraints: classifcation and complexity[J]. Discrete Applied Mathematics. 1983,5 (1):11-24.
[2] KARABOGA D. An idea based on honey bee swarm for numerical optimization[R]. Technical Report-TRO6, 2005.
[3] KARABOGA D, BASTURK B. A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm[J]. Journal of Global Optimization, 2007,39(3): 459-471.
[4] KARABOGA D, BASTURK, B. On the performance of artificial bee colony(ABC) algorithm[J]. Applied Soft Computing. 2008,8(1):687-697.
[5] Deng Linyi, Lin Yan, Chen Ming. Hybrid ant colony optimization for the resource-constrained project scheduling problem[J]. Journal of Systems Engineering and Electronics 2010,21(1):67-71.
[6] Zhang Hong, Li Heng, TAM C M. Particle swarm optimization for resource-constrained project scheduling[J]. International Journal of Project Management 2006,24:83-92.
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜精品久久久久久人妖| 国产主播一区二区三区| 午夜精品久久久久久久蜜桃app | 欧美高清成人| 久久―日本道色综合久久| 欧美在线视频网站| 欧美一级欧美一级在线播放| 亚洲综合不卡| 亚洲手机在线| 中文精品在线| 国产精品99久久久久久久久久久久| 亚洲美女啪啪| 一本久道久久久| 中文一区字幕| 亚洲一区二区动漫| 亚洲欧美在线视频观看| 亚洲欧美另类国产| 欧美一进一出视频| 久久国产精品久久精品国产| 久久国产加勒比精品无码| 欧美在线观看网站| 久久精品国产欧美亚洲人人爽| 久久精品亚洲一区二区三区浴池| 久久精品系列| 男同欧美伦乱| 欧美日韩国产在线一区| 欧美三日本三级少妇三99| 国产精品成人aaaaa网站| 国产精品日韩精品欧美精品| 国产精品卡一卡二卡三| 国产精品一二三四区| 国产欧美一区二区精品性色| 国产综合欧美在线看| 在线观看日韩专区| 亚洲人成欧美中文字幕| 一区二区av在线| 亚洲欧美日韩另类精品一区二区三区| 欧美在线91| 亚洲日本乱码在线观看| a91a精品视频在线观看| 亚洲欧美日韩国产一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 欧美伊人久久久久久久久影院| 久久大综合网| 欧美成人tv| 国产精品久久精品日日| 国产一区二区精品丝袜| 亚洲第一毛片| av成人国产| 欧美在线关看| 一区二区三区国产在线| 欧美在线国产精品| 欧美高清不卡| 国产精品自拍在线| 在线看国产一区| 亚洲天堂成人| 亚洲大胆女人| 亚洲一区在线直播| 久久久精品2019中文字幕神马| 欧美成人综合一区| 国产精品美女久久久久久2018| 狠狠操狠狠色综合网| 91久久黄色| 亚洲在线一区二区| 亚洲欧洲精品成人久久奇米网| 亚洲一区视频在线观看视频| 久久视频国产精品免费视频在线| 欧美人妖另类| 狠狠做深爱婷婷久久综合一区 | 亚洲欧美国产高清| 久久综合九色九九| 欧美午夜宅男影院| 在线观看视频亚洲| 亚洲一区二区三区四区在线观看| 亚洲高清在线播放| 亚洲欧美日韩国产一区二区| 免费在线成人| 国产区日韩欧美| 亚洲精品美女久久7777777| 欧美亚洲日本国产| 亚洲天堂成人在线观看| 久久影院亚洲| 国产毛片一区二区| 亚洲毛片在线看| 亚洲高清视频在线观看| 欧美亚洲尤物久久| 欧美三区在线视频| 亚洲欧洲精品一区| 亚洲国产另类精品专区| 香蕉久久夜色| 欧美日韩一区二区免费视频| 在线观看一区视频| 欧美亚洲午夜视频在线观看| 亚洲网站视频福利| 欧美激情精品久久久久久黑人| 国产综合精品一区| 午夜久久久久久| 午夜精品久久99蜜桃的功能介绍| 欧美精品一区二区三区在线播放 | 国产美女精品人人做人人爽| 亚洲毛片在线免费观看| 亚洲人成网站影音先锋播放| 久久精品人人做人人综合| 国产精品久久久久一区二区| 亚洲精品精选| 亚洲国产精品www| 久久精品三级| 国产午夜精品久久久久久免费视| 亚洲一区二区三区免费观看| 亚洲视频在线一区| 欧美日韩国产一级| 亚洲日本成人网| 亚洲人成网站精品片在线观看| 久久在线免费视频| 国产在线日韩| 欧美在线网址| 久久蜜桃香蕉精品一区二区三区| 国产免费观看久久| 午夜伦欧美伦电影理论片| 亚洲男人的天堂在线| 欧美性色视频在线| 亚洲天堂av图片| 午夜精品国产更新| 国产裸体写真av一区二区| 亚洲欧美另类综合偷拍| 欧美一级片一区| 国产日韩欧美夫妻视频在线观看| 亚洲视频图片小说| 亚洲欧美视频在线| 国产精品网站在线观看| 亚洲欧美综合v| 久久精品卡一| 激情91久久| 91久久午夜| 欧美精品成人一区二区在线观看 | 欧美精品国产一区| 亚洲精品在线电影| 在线视频欧美日韩| 国产精品久久久一区二区| 亚洲欧美一区二区原创| 久久久免费精品视频| 亚洲高清电影| 在线视频亚洲欧美| 国产乱码精品一区二区三区忘忧草| 欧美一级在线视频| 欧美77777| 亚洲三级视频在线观看| 亚洲主播在线播放| 国产午夜精品视频免费不卡69堂| 欧美在线免费一级片| 欧美jizz19性欧美| 日韩亚洲国产欧美| 亚洲欧美综合另类中字| 国产一区二区激情| 亚洲日本激情| 欧美视频中文在线看| 亚洲女同同性videoxma| 老司机免费视频久久| 亚洲乱码国产乱码精品精可以看| 亚洲欧美日韩精品久久| 国产一本一道久久香蕉| 亚洲精品自在在线观看| 欧美午夜精品久久久久免费视| 亚洲一区在线直播| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲美女中文字幕| 欧美尤物巨大精品爽| 亚洲国产国产亚洲一二三| 亚洲性人人天天夜夜摸| 国产日韩视频一区二区三区| 最新成人av网站| 国产精品a久久久久| 欧美在线观看一二区| 欧美人在线观看| 欧美一区成人| 欧美日本在线一区| 欧美一区二区三区四区在线 | 欧美专区日韩专区| 亚洲国产精品成人| 欧美一级大片在线观看| 亚洲福利视频在线| 午夜久久tv| 亚洲啪啪91| 久久久久久久高潮| 日韩一级不卡| 久久久噜噜噜久久人人看| 99视频热这里只有精品免费| 久久久精品日韩欧美| 99视频有精品| 免费久久久一本精品久久区| 亚洲一区免费看| 欧美高清你懂得| 性欧美激情精品| 欧美视频中文字幕| 亚洲人成网站色ww在线| 国产欧美一区二区精品性色| 99精品久久免费看蜜臀剧情介绍| 国产午夜精品久久久| 亚洲天堂偷拍| 亚洲电影在线免费观看|