国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種多項目調(diào)度的改進蟻群算法研究

2016-11-03 00:32張勇明陳曄吳志飛
科技視界 2016年18期
關(guān)鍵詞:蟻群算法

張勇明 陳曄 吳志飛

【摘 要】提出一種用于資源約束下多項目調(diào)度問題的改進蟻群算法,該算法基于最大最小螞蟻基礎(chǔ)算法,在解的構(gòu)建過程中使用偽隨機比例行為選擇規(guī)則,并在每一次迭代中應(yīng)用禁忌搜索算法進行局部優(yōu)化。最后仿真實例表明該算法在多項目調(diào)度中有良好的優(yōu)化性能。

【關(guān)鍵詞】多項目調(diào)度;蟻群算法;禁忌搜索

資源約束下多項目調(diào)度問題RCMPSP(Resource-Constrained Multi-Project Scheduling Problems)是一類重要調(diào)度問題,優(yōu)化目標是有資源競爭時的多個項目的總工期最短。目前主要求解算法包括兩類:基于規(guī)則的啟發(fā)式算法[1]和智能優(yōu)化算法[2]。本文針對該問題,提出一種改進的蟻群算法[3],以最大最小螞蟻算法[4]為基礎(chǔ),選擇最早可行起始時間作為螞蟻搜索的啟發(fā)式指導信息,同時對每次迭代結(jié)果引入禁忌搜索算法進一步優(yōu)化。

1 RCMPSP問題蟻群算法描述

為解決蟻群算法在多項目調(diào)度問題中易陷入局部最優(yōu)的問題,本文對最大最小螞蟻算法MMAS進行了改進,在解的構(gòu)建過程中使用偽隨機比例行為選擇規(guī)則,并采用積極的行為選擇規(guī)則以加快算法收斂速度。在引入的禁忌搜索中采用2-opt交換局部搜索,幫助算法跳出可能的局部最優(yōu),同時通過將存在未完成緊前任務(wù)的任務(wù)和等待資源的任務(wù)加入禁忌表,能降低算法運算時間。本文提出的改進蟻群算具體迭代步驟如下:

step1: 數(shù)據(jù)初始化,包括讀入問題實例的網(wǎng)絡(luò)圖,初始化信息素矩陣和啟發(fā)式信息矩陣,初始化信息素的上界與下界,初始化螞蟻的記憶;

step2: 算法開始一次迭代;

step3: 一只螞蟻被分配到開始虛擬節(jié)點0開始;

step4: 當前螞蟻選擇下一個被調(diào)度的任務(wù),其選擇規(guī)則即狀態(tài)轉(zhuǎn)移規(guī)則采用以輪盤賭(roulette wheel)選擇程序為核心的偽隨機比例選擇規(guī)則;

step5: 更新當前螞蟻的記憶,包括螞蟻當前已調(diào)度任務(wù)列表,還有螞蟻對任務(wù)的調(diào)度記憶標示,即將已調(diào)度過的任務(wù)標示為true,未調(diào)度的任務(wù)仍標示為flase;

step6: 若當前螞蟻已調(diào)度完實例中所有N個項目的D個任務(wù),則計算當前螞蟻構(gòu)建的路徑的長度,轉(zhuǎn)setp7,否則跳轉(zhuǎn)到step4;

step7: 若所有的m只螞蟻都已完成了對任務(wù)的調(diào)度,轉(zhuǎn)step8,否則跳轉(zhuǎn)step3;

step8: 針對每只螞蟻所構(gòu)建的路徑,采用禁忌搜索進行局部優(yōu)化;

step9:信息素的更新規(guī)則為所有信息素以同一比率蒸發(fā),但僅允許構(gòu)建出最優(yōu)方案的螞蟻釋放信息素,要求所有路徑上的信息素滿足[τmin,τmax]的限制。算法的一次迭代結(jié)束;

step10: 滿足算法迭代結(jié)束條件,迭代結(jié)束,否則跳轉(zhuǎn)step2。算法迭代結(jié)束條件是連續(xù)Nd次迭代不能縮短最優(yōu)方案的路徑長度即多項目的最小總工期,Nd根據(jù)算法運行時實際條件取值。

2 針對多項目調(diào)度的蟻群算法改進

2.1 狀態(tài)轉(zhuǎn)移規(guī)則

所有螞蟻都從多項目總網(wǎng)絡(luò)圖的源點出發(fā),直到所有螞蟻都將所有任務(wù)調(diào)度完畢,即到達多項目總網(wǎng)絡(luò)圖的匯點時解的構(gòu)建過程才結(jié)束,具體見上文中算法步驟的step3-step7。開始構(gòu)建解時,螞蟻首先調(diào)度開始虛節(jié)點任務(wù)0,而后每經(jīng)過一次迭代螞蟻就向解中添加一道未調(diào)度的任務(wù)。在螞蟻k出現(xiàn)在構(gòu)建步驟i時,按偽隨機比例規(guī)則選擇下一道調(diào)度任務(wù)j。這個規(guī)則由如下式子給出:

其中q為均勻分布在區(qū)間[0,1]中的一個隨機變量,q0(0≤q0≤1)是一個參數(shù),J是根據(jù)式(2)給出的概率分布產(chǎn)生出來的一個隨機變量(其中α=1)。

對式(1),如果q≥q0,則螞蟻k按照隨機比例規(guī)則的概率行為選擇規(guī)則來決定下一道將調(diào)度的任務(wù),選擇任務(wù)j作為下一道調(diào)度的任務(wù)的概率為

其中ηij代表由式(3)確定的啟發(fā)式信息,而參數(shù)α針對信息素,參數(shù)β針對啟發(fā)式信息, Nik表示還沒有被螞蟻k調(diào)度的任務(wù)。選擇任務(wù)j作為后續(xù)調(diào)度任務(wù)的概率由該任務(wù)所對應(yīng)的信息素τij及啟發(fā)式信息ηij決定。

其中estj是任務(wù)j的最早可行起始時間,N包含了所有到目前為止還沒有被調(diào)度的任務(wù),并且這些未調(diào)度任務(wù)的所有緊前任務(wù)都已經(jīng)被調(diào)度過了。

2.2 信息素的更新規(guī)則

信息素更新的第一個步驟是蒸發(fā):

其中ρ是信息素的蒸發(fā)率,有0<ρ≤1。信息素蒸發(fā)后,第二個步驟信息素釋放,本文算法中只允許至今構(gòu)建出最優(yōu)方案的螞蟻釋放信息素,以此強調(diào)對最優(yōu)路徑的開發(fā)。釋放規(guī)則如下:

算法中任意一個任務(wù)調(diào)度迭代后的信息素量的上界是1/ρC*,其中C*代表最優(yōu)方案即最小總修理周期的大小?;谏鲜鼋Y(jié)論,可以使用對1/ρC*的估計值1/ρCbs來定義τmax。更新τmax值的時機為每次發(fā)現(xiàn)新的至今最優(yōu)方案時。相應(yīng)地,信息素的下界被設(shè)定為τmin=τmax/a,其中a是一個可根據(jù)需要動態(tài)取值的參數(shù)。

2.3 帶2-opt的禁忌局部搜索

為解決蟻群算法易陷入局部最優(yōu)的問題,本文采用了帶2-opt的禁忌搜索TS作為局部搜索算法。禁忌搜索TS以蟻群算法每次迭代完成后形成的解作為初始解,其關(guān)鍵為鄰域的搜索和禁忌表的處理。

禁忌搜索TS中的鄰域搜索采用2-opt的搜索策略,所謂2-opt策略即用兩條邊取代原有的2兩條邊來生成解。禁忌搜索以鄰域中最好的解作為新解,它與其它優(yōu)化方法不同的是即使新解劣于目前解也暫時接受,這樣能避免陷入局部最優(yōu),從而利于尋找全局最優(yōu)。2-opt策略中使用了含長度限制的最近鄰列表,列表的長度L決定了算法執(zhí)行時間的增長,其值大小可根據(jù)問題的規(guī)模來確定。

禁忌局部搜索的結(jié)束條件是算法搜索過程經(jīng)過一定步數(shù)之后,仍不能得到改進的解,則禁忌搜索結(jié)束。

3 仿真實例

為驗證算法性能,本文采用一個模具生產(chǎn)實例,該實例包括3個相同網(wǎng)絡(luò)結(jié)構(gòu)的項目,其網(wǎng)絡(luò)圖結(jié)構(gòu)如圖1所示。

實例中共有3個項目,13種資源,48個任務(wù)。給定項目的權(quán)重系數(shù)分別為a1=0.5、a2=0.3、a3=0.2。設(shè)3個項目獨立完成時間分別為33d、43d、38d,最晚完成期限分別為48

本文算法結(jié)束條件為連續(xù)1000次迭代不能縮短最優(yōu)方案的最小總工期,算法參數(shù)值為:α=1,β=3,ρ=0.02,m=50。表2中的仿真結(jié)果表明,本文改進蟻群算法對于多項目調(diào)度問題具有良好的優(yōu)化性能。

4 結(jié)束語

本文針對多項目調(diào)度問題,提出一種改進蟻群算法,其以最大最小螞蟻算法為基礎(chǔ),選擇最早可行起始時間作為螞蟻搜索的啟發(fā)式指導信息,并在局部搜索部分引入禁忌算法。仿真實例表明該蟻群算法對于多項目調(diào)度問題具有良好的優(yōu)化性能。

【參考文獻】

[1]鄧林義,等.資源約束下多項目調(diào)度的拓撲優(yōu)化方法[J].系統(tǒng)仿真學報,2007,19(16):3846-3849.

[2]林晶晶,周國華.基于粒子群算法的關(guān)鍵鏈多項目調(diào)度管理[J].統(tǒng)計與決策,2012(10):44-48.

[3]張軍,胡曉敏,等,譯.蟻群優(yōu)化[M].北京:清華大學出版社,2007.

[4]Stuzle,T.,Hoos,H.H. MAX-MIN Ant System[J]. Future Generation Computer Systems,2000,16(8):889-914.

[責任編輯:湯靜]

猜你喜歡
蟻群算法
測控區(qū)和非測控區(qū)并存的配電網(wǎng)故障定位實用方法
南溪县| 余姚市| 罗山县| 靖安县| 南昌市| 临猗县| 保靖县| 文安县| 青田县| 苍溪县| 双城市| 濮阳县| 博乐市| 辽中县| 将乐县| 晋江市| 保康县| 南川市| 蓝山县| 常德市| 政和县| 石景山区| 乌审旗| 亚东县| 鹤山市| 肇州县| 江油市| 栖霞市| 藁城市| 炎陵县| 秦皇岛市| 三亚市| 巩留县| 盱眙县| 布拖县| 湖南省| 肃南| 金山区| 客服| 景洪市| 岑溪市|