專利名稱:一種基于并行遺傳算法的網(wǎng)格資源分配方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)網(wǎng)格資源的分配方法,特別是一種基于并行遺傳 算法的網(wǎng)格資源分配方法。
技術(shù)背景目前,網(wǎng)格計(jì)算已成為高性能計(jì)算發(fā)展的主要趨勢(shì),它是未來全球 科學(xué)合作、大規(guī)模計(jì)算和數(shù)據(jù)處理的基石。由于網(wǎng)格中集成資源的異構(gòu) 性、分布性和自治性等特點(diǎn),需要提供網(wǎng)格中間件來屏蔽這些特性,從而為人們提供透明的服務(wù)。Ad hoc網(wǎng)格是一個(gè)異構(gòu)的計(jì)算(HC)通信系 統(tǒng),允許移動(dòng)的設(shè)施在對(duì)立的環(huán)境中完成一組任務(wù)。例如災(zāi)難管理、森 林滅火和防護(hù)作用等任務(wù),這些任務(wù)要求如同網(wǎng)格這樣的工作環(huán)境可靠 的支持,從而在這些特定環(huán)境下工作的計(jì)算機(jī)能協(xié)調(diào)工作。這樣能量管理 問題成了 Ad hoc網(wǎng)格關(guān)心的主要問題。這里主要研究在Ad hoc網(wǎng)格中 如何靜態(tài)的分配資源給由相互通信的子任務(wù)組成的請(qǐng)求。這樣分配的目 標(biāo)是在ad hoc網(wǎng)格環(huán)境下最小化此請(qǐng)求執(zhí)行時(shí)的平均能量消耗。其中, 要解決的關(guān)鍵問題就是能量資源分配問題。簡單地說,網(wǎng)格能量資源分 配就是將n個(gè)獨(dú)立的任務(wù)映射到m臺(tái)機(jī)器的能量資源上,使得任務(wù)在滿 足約束的條件下,最大化HC系統(tǒng)性能特性。顯然,在空間大小為2m的 資源集合上尋找滿足目標(biāo)的最優(yōu)資源集合,這是一個(gè)NP問題。于是人們 通常利用啟發(fā)式算法來簡化問題,并尋求問題的最優(yōu)解,但多數(shù)這類算 法通常都難以避免局部最小值問題。遺傳算法作為一種最有效的啟發(fā)式 全局隨機(jī)搜索算法,對(duì)于NP問題,能夠得到滿意的結(jié)果。遺傳算法是根據(jù)自然進(jìn)化論與遺傳變異理論為基礎(chǔ)求解全局最優(yōu)解的仿生型算法,其本質(zhì)是一種求解問題的高效并行全局搜索算法。它能 在搜索過程中自動(dòng)獲取和積累有關(guān)搜索空間的知識(shí),并自適應(yīng)地控制搜 索過程,從而得到最優(yōu)解或準(zhǔn)最優(yōu)解。遺傳算法是一個(gè)以適應(yīng)度函數(shù)為 依據(jù),通過對(duì)群體個(gè)體施加遺傳操作實(shí)現(xiàn)群體內(nèi)個(gè)體結(jié)構(gòu)重組的迭代處 理過程。在這一過程中,群體個(gè)體一代一代地得以優(yōu)化并逐漸逼近最優(yōu) 解。盡管遺傳算法比其他傳統(tǒng)搜索方法有更強(qiáng)的魯棒性,但它更擅長于 全局搜索,由于算法的交叉、變異和選擇算子是在概率意義下進(jìn)行的, 容易引起模式的丟失或缺失,導(dǎo)致算法的早熟,因此它的局部搜索能力 不足。研究發(fā)現(xiàn),遺傳算法可以用極快的速度達(dá)到最優(yōu)解的90%左右,但 要達(dá)到真正的最優(yōu)解則要花費(fèi)很長的時(shí)間。 一些對(duì)比實(shí)驗(yàn)還表明,如果 兼顧收斂速度和解的品質(zhì)兩個(gè)指標(biāo),單純的遺傳算法未必比其他方法更 優(yōu)越。遺傳算法已被應(yīng)用于異質(zhì)計(jì)算環(huán)境中的任務(wù)匹配和調(diào)度,但它們都 采用串行的方法,得到的資源分配速度不夠理想。考慮到遺傳算法的天 然并行性,并結(jié)合網(wǎng)格資源分配的特點(diǎn)。發(fā)明內(nèi)容本發(fā)明的目的是將能量資源引入到網(wǎng)格資源調(diào)度中,提出了基于并 行遺傳算法的網(wǎng)格資源分配方法。為了實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明的具體方法是 第一步驟開始;第二步驟主線程初始化系統(tǒng)數(shù)據(jù)信息創(chuàng)建子線程,并傳送數(shù)據(jù); 第三步驟并行執(zhí)行第四步驟至第十步驟; 第四步驟產(chǎn)生子群體;第六步驟向主線程傳送最優(yōu)個(gè)體;第七步驟判斷當(dāng)前時(shí)間是否是遷移率的整數(shù)倍,若是,轉(zhuǎn)第八步 驟;若不是,轉(zhuǎn)第九步驟; 第八步驟執(zhí)行遷移; 第九步驟執(zhí)行遺傳算子;第十步驟判斷是否滿足終止條件,若是,轉(zhuǎn)第十一步驟;若不是, 返回到第五步驟;第十一步驟執(zhí)行停止,輸出最優(yōu)結(jié)果; 第十二步驟結(jié)束。本發(fā)明提出的遺傳算法作為 一種最有效的啟發(fā)式全局隨機(jī)搜索算 法,最時(shí)候NP問題的求解。遺傳算法根據(jù)自然進(jìn)化論與遺傳變異理論為 基礎(chǔ)求解全局最優(yōu)解,其本質(zhì)是 一 種求解問題的高效并行全局搜索算 法。它能在搜索過程中自動(dòng)獲取和積累有關(guān)搜索空間的知識(shí),并自適應(yīng) 地控制搜索過程,從而得到最優(yōu)解或準(zhǔn)最優(yōu)解。隨著機(jī)器數(shù)目和任務(wù)數(shù) 量的增加,問題的規(guī)模將以指數(shù)級(jí)增長,因此需要研究更為高效的能量 管理算法。本發(fā)明根據(jù)遺傳算法天然的并行性提出的并行遺傳算法提高 了算法求解的質(zhì)量與速度,是一種有效的網(wǎng)格能量資源優(yōu)化方法,有利 于提高網(wǎng)格的服務(wù)質(zhì)量。
圖1為染色體任務(wù)的DAG圖。圖2為圖1中DAG的2個(gè)染色體。圖3為任務(wù)調(diào)度串交叉操作的例子。 圖4為匹配串交叉操作的例子。圖5為本發(fā)明的流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。在描述本發(fā)明的技術(shù)方案前,先對(duì)本發(fā)明中的 一 些問題作出如下定義在ad hoc網(wǎng)格里討論的資源分配是靜態(tài)的,即網(wǎng)格中資源和任務(wù) 的信息是事先已知的,而且提交到網(wǎng)格中的應(yīng)用已被分解成多個(gè)任務(wù)。 即每一個(gè)應(yīng)用進(jìn)程由一組相互通信的子任務(wù)組成,子任務(wù)用一個(gè)s維向量Ts= {t1; t2,…,ts}表示,這些子任務(wù)之間存在數(shù)據(jù)依賴。這些數(shù)據(jù)依 賴可以用有向無環(huán)圖DAG表示。這里研究如何將互相自由通信的子任務(wù) 組成的大的應(yīng)用任務(wù)映射到ad hoc網(wǎng)絡(luò)的各機(jī)器中。這種映射的目標(biāo)是 使所有機(jī)器的平均能量消耗最小。顯然,這是一個(gè)NP問題。遺傳算法作 為一種最有效的啟發(fā)式全局隨機(jī)搜索算法,對(duì)于NP問題,能夠得到滿意 的結(jié)果。網(wǎng)格中的機(jī)器用一個(gè)M維向量表示,Mra= (m,,ni2, ...,m ,}。這里每臺(tái)機(jī) 器j包括4個(gè)能量指標(biāo) (1)初始電能B ( j);(2 )在機(jī)器j上執(zhí)行一個(gè)子任務(wù)消耗的單位時(shí)間能量E U ); (3)子任務(wù)之間相互通信消耗的單位時(shí)間能量C(j); (4 )機(jī)器之間的通信帶寬BW ( j )。這里可得到三個(gè)值(1) 設(shè)子任務(wù)i在機(jī)器j上的預(yù)計(jì)執(zhí)行時(shí)間為ETC ( i, j ),得到機(jī)器j 上單獨(dú)執(zhí)行一次子任務(wù)i消耗的能量為ETC ( i, j ) x E ( j );(2) 機(jī)器之間的相互通信時(shí)間為CMT ( j, k),其中CMT=l/min(BW( j), BW ( k )),設(shè)通信發(fā)送的數(shù)據(jù)長度為g,那么機(jī)器j和機(jī)器k之間發(fā) 送數(shù)據(jù)長度為g的數(shù)據(jù)項(xiàng)所消耗的能量為CMT (j, k) xC (j)x I g I ;(3 )設(shè)整個(gè)應(yīng)用任務(wù)結(jié)束后機(jī)器j上總的能量消耗為EC ( j ),每臺(tái)機(jī)器完成總?cè)蝿?wù)的能量消耗百分率Bpavg= i: (EC (j) /B (j)) / I M I 。 本發(fā)明研究的環(huán)境是設(shè)定所有移動(dòng)設(shè)備都是離很近的情況,即每臺(tái) 機(jī)器之間能單跳的通信,而不需要進(jìn)行轉(zhuǎn)接。在這種環(huán)境下,每臺(tái)機(jī)器 可以和其他任何一臺(tái)機(jī)器單跳的通信,但是這臺(tái)機(jī)器上的子任務(wù)完成后 只轉(zhuǎn)移到一個(gè)目的地,在通信過程中, 一臺(tái)機(jī)器能同時(shí)處理數(shù)據(jù)的發(fā)送 和接收。本發(fā)明要設(shè)定以下幾點(diǎn)是成立的(1) 一個(gè)子任務(wù)只有完成執(zhí)行后才能發(fā)送數(shù)據(jù);(2 ) —個(gè)子任務(wù)在收到所有數(shù)據(jù)項(xiàng)之前不能開始執(zhí)行。同時(shí)本發(fā)明提出的這種能量模型是一種簡易的能量模型,它設(shè)定以下 情況是成立的(1 )子任務(wù)收到一個(gè)數(shù)據(jù)項(xiàng)的能量消耗被忽略;(2) 初始的數(shù)據(jù)在任務(wù)執(zhí)行前已經(jīng)被下載好了;(3) 機(jī)器在空閑時(shí)刻無能量消耗。 遺傳算法是一個(gè)很有價(jià)值隨機(jī)優(yōu)化的搜索算法,它從一組初始解出發(fā),除了目標(biāo)函數(shù)值,在不需要其他信息的情況下就可以實(shí)現(xiàn)對(duì)可行域 的全局高效搜索。遺傳算法操作的是一群編碼化的可行解,稱為種群。 它通過種群的更新與迭代來搜索全局最優(yōu)解,而迭代是由選擇、交叉和變異等具有生物意義的遺傳算子來實(shí)現(xiàn)的。遺傳算法的求解過程一般包 括如下步驟(1) 隨機(jī)給定一組初始解;(2) 評(píng)價(jià)當(dāng)前這組解的性能;(3) 根據(jù)步驟(2),從當(dāng)前解中選擇一定數(shù)量的解作為基因操作的對(duì)象;(4) 通過交叉和變異等遺傳算子產(chǎn)生后代,得到一組新解;(5) 若當(dāng)前解滿足要求或進(jìn)化過程達(dá)到一定的代數(shù),計(jì)算結(jié)束,否則轉(zhuǎn)向 步驟(2)繼續(xù)執(zhí)行。對(duì)于染色體的設(shè)計(jì)首先設(shè)計(jì)問題解的編碼方式,即染色體表示。 本發(fā)明采用整數(shù)形式表示問題的編碼。任務(wù)和機(jī)器都用它們的序號(hào)來表 示,染色體包括2部分第1部分是任務(wù)調(diào)度串Tsch,它是任務(wù)圖的一個(gè)拓樸排序(圖1), 是將DAG中所有子任務(wù)頂點(diǎn)排成一個(gè)線性序列,使得圖中任意一對(duì)頂點(diǎn) ti和他tj,若存在邊(ti, tj),則子任務(wù)ti在線性序列中出現(xiàn)在子任務(wù)tj 之前。Tsch為一個(gè)s維整數(shù)向量,其中Tsch(k ) = i表示任務(wù)t'是 調(diào)度串中的第k個(gè)任務(wù),該串主要表示DAG圖中服從前驅(qū)約束的子任務(wù) 總的執(zhí)行順序。其中結(jié)點(diǎn)表示子任務(wù),邊(ti,tj )表示執(zhí)行先后關(guān)系,邊上的值表 示數(shù)據(jù)傳輸,另外,稱ti為tj的直接前驅(qū)任務(wù),稱tj為ti的直接后繼任務(wù)。如圖中所示子任務(wù)t。為子任務(wù)L和t4的直接前驅(qū),t2為t4的直接前驅(qū),ti和t4為t3的直接前驅(qū)。這里的子任務(wù)數(shù)為5個(gè),調(diào)度串可以是Tsch(O, 2, 1, 4, 3), Tsch(O, 1, 2, 4, 3)等等。注意調(diào)度串中前 驅(qū)任務(wù)一定要排在后繼任務(wù)的前面,即調(diào)度串是指的服從前驅(qū)約束關(guān)系 的子任務(wù)序列。第2部分是匹配串Mmat,將子任務(wù)分配給不同的機(jī)器完成。同樣是 一個(gè)S維向量,其中Mmat ( i ) =j表示將子任務(wù)ti分配給機(jī)器nij去完成。下面給出圖1中DAG的一個(gè)染色體的例子(圖2),其中任務(wù)集為 T=U。, t!,t2 , t3, U ,才幾器集合為M={m。, m!, m2)??紤]機(jī)器上能量消耗問題,設(shè)定整個(gè)應(yīng)用任務(wù)結(jié)束后機(jī)器j上總的能量消耗為EC ( j),每臺(tái)機(jī)器完成總?cè)蝿?wù)的能量消耗百分率Bpavg=Sj (EC(j)/B(j))/ |M|, B,用于評(píng)估子任務(wù)到機(jī)器這種映射的能量消耗百分比。本發(fā)明采用Bpavg的倒數(shù)作為染色體的適應(yīng)度,即f尸l/Bpavg。這樣B,g越小,適應(yīng)度值越大。本發(fā)明采用賭輪選擇機(jī)制挑選染色體,這種賭輪選擇機(jī)制可用于復(fù) 制一些染色體和刪除其他染色體。適應(yīng)度強(qiáng)的個(gè)體有更大的可能行被復(fù) 制到下一代染色體中。這樣就能保證優(yōu)良的基因能被傳遞。令Zf表示 群體的適應(yīng)度值之總和,fi表示種群中第i個(gè)染色體的適應(yīng)度值,它產(chǎn) 生后代的能力正好為其適應(yīng)度值所占份額fi/Zf 。染色體被選中后,將 經(jīng)歷下面的交叉、變異和評(píng)估過程。交叉操作中, 一對(duì)父染色體從染色體組中被挑選出來進(jìn)行交叉操作。 采取兩種策略,即對(duì)于任務(wù)調(diào)度串(Tsch)和匹配串(Mmat)的交叉是 不同的。對(duì)于調(diào)度串的交叉是這樣操作的對(duì)于兩個(gè)任務(wù)調(diào)度串隨機(jī)選 擇一個(gè)分割點(diǎn)(對(duì)兩個(gè)串是相同的),將兩個(gè)串分成前后兩部分,然后將 后面部分中的任務(wù)重新排序,使得一個(gè)調(diào)度串中重排序的任務(wù)是這些任 務(wù)在另一個(gè)串中的原始排列(見圖3)。這樣做的目的是保證調(diào)度串的合 法性,使它仍為任務(wù)DAG的一個(gè)拓樸排序。對(duì)于機(jī)器匹配串的操作是這 樣進(jìn)行的對(duì)于一個(gè)匹配串隨機(jī)選擇一個(gè)分割點(diǎn)將匹配串分割成前后兩 部分,然后將后面部分中子任務(wù)的機(jī)器分配重新排列(圖4)。變異操作中, 一個(gè)父染色體從染色體組中被挑選出來進(jìn)行變異操作。 被選中的染色體叫有害染色體。變異操作對(duì)任務(wù)調(diào)度串(Tsch)和機(jī)器 匹配串(Mmat)也是不同的。對(duì)于調(diào)度串的變異操作首先隨機(jī)選擇一個(gè) 任務(wù),然后確定該任務(wù)的合法變化范圍。這里合法變化范圍指的是在拓 樸排序中該任務(wù)的所有直接前趨任務(wù)之后和所有直接后繼任務(wù)之前的位置。經(jīng)過變異操作,該任務(wù)被隨機(jī)地移動(dòng)到合法范圍內(nèi)的其他位置。對(duì) 于匹配串變異操作較簡單,即從任意選擇的 一個(gè)匹配串中隨機(jī)選取兩個(gè)染色體經(jīng)過以上的交叉操作和變異操作之后,得到新一代的個(gè)體。只 要這些新的個(gè)體不違背時(shí)間約束和能量約束,它們將代替父染色體,否 則這些新生代被丟棄。本發(fā)明將這種迭代操作進(jìn)行一次生成的染色體群叫做第一代個(gè)體,迭代n次生成的染色體群叫第n代個(gè)體。這里提到的 時(shí)間約束和能量約束條件包括(1 ) 一個(gè)應(yīng)用總?cè)蝿?wù)中的所有子任務(wù)都必須被執(zhí)行;(2) 映射總?cè)蝿?wù)到網(wǎng)格時(shí),子任務(wù)執(zhí)行和機(jī)器間數(shù)據(jù)通信所消耗的能量 不能超過每臺(tái)機(jī)器的初始電能B ( j );(3) 給定一個(gè)最優(yōu)跨度T,即總的應(yīng)用任務(wù)完成的時(shí)間不能超過T;(4) 在一臺(tái)速率為1GH典型無負(fù)載臺(tái)式機(jī)上,每一個(gè)映射執(zhí)行的時(shí)間不 得超過60min。當(dāng)然對(duì)于染色體的交叉操作和變異操作是以一定概率進(jìn)行的,本發(fā) 明的方法中交叉概率取0. 4,變異概率取O. 2。這些概率是通過實(shí)驗(yàn)的方 法選定的。并行遺傳算法可以克服經(jīng)典遺傳算法的不足,從而^^高遺傳算法的 求解速度和質(zhì)量。目前,并行遺傳算法主要存在主從式、粗粒度和細(xì)粒 度的并行化模型。粗粒度模型又稱分布式模型或孤島模型,是適應(yīng)性最 強(qiáng)和應(yīng)用最廣的遺傳算法并行化模型。粗粒度模型是將隨機(jī)生成的初始 群體依處理器個(gè)數(shù)分割成若干個(gè)子群體。各個(gè)子群體在不同的處理器上 相互獨(dú)立地并發(fā)執(zhí)行。每經(jīng)過一定的進(jìn)化代,各子群體間會(huì)交換若千個(gè) 體以引入其它子群體的優(yōu)秀基因,豐富各子群體的多樣性,防止未成熟收斂的發(fā)生。另外,粗粒度模型的通信開銷較小,可獲得接近線性的加 速比,而且非常適合運(yùn)行在通信帶寬較低的集群系統(tǒng)上。本發(fā)明是基于 粗粒度并行遺傳算法設(shè)計(jì)的。本發(fā)明初始化子群體采用各個(gè)子節(jié)點(diǎn)相互獨(dú)立的隨機(jī)生成自己的初 始子種群,由于并發(fā)執(zhí)行,可以節(jié)省子群體初始化的時(shí)間。本發(fā)明子群體間的連接拓樸包括單向環(huán)(子群體鄰居數(shù)為1 )、雙向環(huán) (子群體鄰居數(shù)為2)、超環(huán)面(子群體鄰居數(shù)為4)等。根據(jù)本發(fā)明的 目的,采用雙向環(huán)拓樸方式,每個(gè)子群體與相鄰的兩個(gè)子群體交換個(gè)體, 得到了較好的結(jié)果。本發(fā)明子群體的遷移策略粗粒度模型引入了 "遷移"算子,負(fù)責(zé) 管理子種群之間的個(gè)體交換。遷移策略的主要控制參數(shù)如下(1) 遷移規(guī)模nm:即每次遷移個(gè)體的數(shù)目,遷移規(guī)j莫通常以絕對(duì)數(shù)或以 子種群大小的百分比形式給出。有的實(shí)現(xiàn)采用大于1的遷移規(guī)模,這是本發(fā)明中取1\ = 2。(2) 遷移率t:指的是個(gè)體遷移的時(shí)間間隔,即隔幾代遷移一次,也可以 在一代之內(nèi)遷移。 一般而言,遷移間隔過小,不利于得到高質(zhì)量的解, 本發(fā)明中取t=10。(3) 遷移選擇與替換在粗粒度模型中,有的選擇子群體中最優(yōu)的個(gè)體向 外"移民",有的采用適應(yīng)度比例或者排列比例來選擇遷移個(gè)體,也有的 采用隨機(jī)選取。遷移替換與遷移選擇的策略類似,但大多數(shù)情況下是把 最差的個(gè)體替換掉。本發(fā)明中采取最優(yōu)個(gè)體遷出,最差個(gè)體被取代的策略。(4) 通信方式子種群間的通信有同步和異步方式兩種。大多數(shù)粗粒度的并行遺傳算法通常采用的同步遷移方式,即在一定的進(jìn)化代進(jìn)行遷移操 作。在本發(fā)明中也采用同步的方式。本發(fā)明終止條件主要有3個(gè)終止條件(1)預(yù)設(shè)最大迭代代數(shù),當(dāng) 達(dá)到最大迭代代數(shù)時(shí),執(zhí)行終止;(2)在連續(xù)若干代以后染色體的適應(yīng) 度沒有明顯改進(jìn)時(shí),執(zhí)行終止。(3)種群已經(jīng)收斂,也就是種群中所有 染色體具有相同的適應(yīng)度。本發(fā)明首先在一個(gè)主線程中初始化任務(wù)集合,機(jī)器集合,任務(wù)的執(zhí) 行時(shí)間矩陣E,子任務(wù)對(duì)機(jī)器的映射等信息。然后產(chǎn)生若干子線程并映射 到不同的處理器上,各子線程獨(dú)立生成初始子種群,并行地進(jìn)行進(jìn)化計(jì) 算,并將每代的最優(yōu)個(gè)體傳給主線程,主線程進(jìn)行比較,并保留其中最 優(yōu)個(gè)體。當(dāng)?shù)竭_(dá)預(yù)定代數(shù)時(shí),進(jìn)行子群體間的遷移操作。直到滿足終止 條件,主線程和各子群體的操作結(jié)束。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn) 有技術(shù)。
權(quán)利要求
1、一種基于并行遺傳算法的網(wǎng)格資源分配方法,具體方法是第一步驟開始;第二步驟主線程初始化系統(tǒng)數(shù)據(jù)信息創(chuàng)建子線程,并傳送數(shù)據(jù);第三步驟并行執(zhí)行第四步驟至第十步驟;第四步驟產(chǎn)生子群體;第五步驟計(jì)算個(gè)體適應(yīng)度;第六步驟向主線程傳送最優(yōu)個(gè)體;第七步驟判斷當(dāng)前時(shí)間是否是遷移率的整數(shù)倍,若是,轉(zhuǎn)第八步驟;若不是,轉(zhuǎn)第九步驟;第八步驟執(zhí)行遷移;第九步驟執(zhí)行遺傳算子;第十步驟判斷是否滿足終止條件,若是,轉(zhuǎn)第十一步驟;若不是,返回到第五步驟;第十一步驟執(zhí)行停止,輸出最優(yōu)結(jié)果;第十二步驟結(jié)束。
全文摘要
本發(fā)明涉及一種基于并行遺傳算法的網(wǎng)格資源分配方法,本發(fā)明首先在一個(gè)主線程中初始化任務(wù)集合,機(jī)器集合,任務(wù)的執(zhí)行時(shí)間矩陣E,子任務(wù)對(duì)機(jī)器的映射等信息。然后產(chǎn)生若干子線程并映射到不同的處理器上,各子線程獨(dú)立生成初始子種群,并行地進(jìn)行進(jìn)化計(jì)算,并將每代的最優(yōu)個(gè)體傳給主線程,主線程進(jìn)行比較,并保留其中最優(yōu)個(gè)體。當(dāng)?shù)竭_(dá)預(yù)定代數(shù)時(shí),進(jìn)行子群體間的遷移操作。直到滿足終止條件,主線程和各子群體的操作結(jié)束。本發(fā)明提出的遺傳算法作為一種最有效的啟發(fā)式全局隨機(jī)搜索算法,最時(shí)候NP問題的求解。本發(fā)明根據(jù)遺傳算法天然的并行性提出的并行遺傳算法提高了算法求解的質(zhì)量與速度,是一種有效的網(wǎng)格能量資源優(yōu)化方法,有利于提高網(wǎng)格的服務(wù)質(zhì)量。
文檔編號(hào)G06F9/50GK101324854SQ20081004846
公開日2008年12月17日 申請(qǐng)日期2008年7月21日 優(yōu)先權(quán)日2008年7月21日
發(fā)明者曼 宋, 李春林 申請(qǐng)人:武漢理工大學(xué)