欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Spark的并行化遺傳算法求解多終端協(xié)同接入網(wǎng)絡(luò)方法與流程

文檔序號(hào):11517706閱讀:403來(lái)源:國(guó)知局
一種基于Spark的并行化遺傳算法求解多終端協(xié)同接入網(wǎng)絡(luò)方法與流程

本發(fā)明涉及一種多終端協(xié)同接入網(wǎng)絡(luò)方法,尤其適用于一種基于spark的并行化遺傳算法求解多終端協(xié)同接入網(wǎng)絡(luò)方法

技術(shù)背景

spark是一個(gè)開(kāi)源的分布式計(jì)算框架,它基于彈性分布式數(shù)據(jù)集(rdd),rdd采用先進(jìn)的有向無(wú)環(huán)圖機(jī)制支持循環(huán)數(shù)據(jù)流操作,通過(guò)一次迭代導(dǎo)入內(nèi)存就可以完成多次迭代,類似于geneticalgorithm這樣需要大量迭代的算法非常適合在spark平臺(tái)上運(yùn)算。

遺傳算法(geneticalgorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程的計(jì)算模型,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法。傳統(tǒng)的遺傳算法所進(jìn)行的交叉、變異、選擇等操作都是以個(gè)體的集合即種群為單位進(jìn)行的,對(duì)于每個(gè)個(gè)體都具有一定的并行性,所以遺傳算法具有天然的并行性,尤其當(dāng)處理大規(guī)模數(shù)據(jù)集時(shí),各個(gè)子種群間可實(shí)現(xiàn)完全的并行化處理。

多終端協(xié)同網(wǎng)絡(luò)是指多個(gè)終端之間以協(xié)同的方式共享廣域網(wǎng)通信能力,共同為用戶提供業(yè)務(wù),從而擺脫單個(gè)終端在性能、處理能力等方面的局限性,實(shí)現(xiàn)終端和網(wǎng)絡(luò)資源的高效利用。

隨著通信網(wǎng)絡(luò)技術(shù)和終端設(shè)備的不斷發(fā)展,用戶業(yè)務(wù)可選擇的終端和接入方式逐漸多樣化。為了克服單一無(wú)線接入技術(shù)的性能瓶頸,充分利用用戶周圍的終端和網(wǎng)絡(luò)資源,多終端協(xié)同通信模式應(yīng)運(yùn)而生。在多終端多網(wǎng)絡(luò)環(huán)境下,如何選擇合適的終端為用戶服務(wù)是一個(gè)難題,而基于spark的遺傳算法并行化多終端網(wǎng)絡(luò)選擇可以有效改善。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)上述技術(shù)問(wèn)題,提供一種方法簡(jiǎn)單,執(zhí)行效率高,有效降低了網(wǎng)絡(luò)終端優(yōu)選的計(jì)算量和復(fù)雜度,在多個(gè)節(jié)點(diǎn)上實(shí)現(xiàn)并行化遺傳算法的基于spark的并行化遺傳算法求解多終端協(xié)同接入網(wǎng)絡(luò)方法。

為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的基于spark的并行化遺傳算法求解多終端協(xié)同接入網(wǎng)絡(luò)方法,選擇適合的多個(gè)通信終端集與大型服務(wù)器協(xié)同工作執(zhí)行數(shù)據(jù)業(yè)務(wù),步驟如下:

大型服務(wù)器確認(rèn)接入各個(gè)通信終端的數(shù)量和每個(gè)通信終端的網(wǎng)絡(luò)終端參數(shù);

大型服務(wù)器將所有的網(wǎng)絡(luò)終端參數(shù)信息存儲(chǔ)于集群的hdfs目錄中;

大型服務(wù)器以spark集群的方式切分儲(chǔ)存在hdfs目錄中的網(wǎng)絡(luò)終端參數(shù)信息;

對(duì)切分后的網(wǎng)絡(luò)終端參數(shù)信息進(jìn)行基于spark的并行化遺傳算法,從而得到適合當(dāng)前的多終端協(xié)同接入網(wǎng)絡(luò)方案的最終代種群數(shù)據(jù);

對(duì)最終代種群數(shù)據(jù)尋優(yōu),從而得到最適合當(dāng)前的多終端協(xié)同接入網(wǎng)絡(luò)方案;

大型服務(wù)器利用最適合當(dāng)前的多終端協(xié)同接入網(wǎng)絡(luò)方案與方案中的多個(gè)通信終端進(jìn)行并行化網(wǎng)絡(luò)通信。

進(jìn)一步的選擇步驟如下:

步驟1.根據(jù)需求將大型服務(wù)器的所有網(wǎng)絡(luò)終端參數(shù)進(jìn)行遺傳算法初始化,將初始化后的變量參數(shù)轉(zhuǎn)換為二進(jìn)制,將每個(gè)二進(jìn)制化后的參數(shù)變量作為個(gè)體樣本逐行存儲(chǔ)于大型服務(wù)器集群的hdfs中形成所有通信終端的初始種群樣本數(shù)據(jù);

步驟2.根據(jù)需要尋求終端的數(shù)量設(shè)定spark集群節(jié)點(diǎn)數(shù)量,將初始種群樣本數(shù)據(jù)按種群樣本數(shù)據(jù)個(gè)體總數(shù)/spark集群節(jié)點(diǎn)數(shù)的方式平均切分成多個(gè)基于spark集群的子種群;

步驟3.利用遺傳算法對(duì)多個(gè)基于spark集群的子種群中的各個(gè)終端參數(shù)變量進(jìn)行全局進(jìn)化尋優(yōu),以重排序的方法在進(jìn)化階段打亂子代各自子種群個(gè)體分布,合并所有子種群個(gè)體后進(jìn)行自然選擇,得到最終代種群個(gè)體;

步驟4.利用spark的apis函數(shù)reducebykey對(duì)所有最終代種群個(gè)體的適應(yīng)度進(jìn)行排序,得到全局適應(yīng)度符合所需終端要求的多個(gè)最優(yōu)個(gè)體,再對(duì)多個(gè)最優(yōu)個(gè)體解碼得到終端權(quán)值參數(shù),根據(jù)最優(yōu)終端權(quán)值參數(shù)值從候選終端中選擇最優(yōu)參數(shù)集,比較當(dāng)前終端集所能提供的數(shù)據(jù)速率rc是否滿足用戶需求數(shù)據(jù)速率rt,若滿足則結(jié)束選擇,否則返回步驟1繼續(xù)選取,直到選取最優(yōu)的終端集作為最優(yōu)多終端協(xié)同接入網(wǎng)絡(luò)方案;

步驟5.大型服務(wù)器利用最優(yōu)多終端協(xié)同接入網(wǎng)絡(luò)方案與相應(yīng)的通信終端進(jìn)行并行化網(wǎng)絡(luò)通信。

步驟3所述重排序的方法在進(jìn)化階段打亂子代各自子種群個(gè)體分布后合并所有子種群進(jìn)行自然選擇的步驟根據(jù)需要可進(jìn)行多次迭代循環(huán)操作,該步驟使個(gè)體在進(jìn)化空間內(nèi)盡可能分散,保持種群參數(shù)個(gè)體的獨(dú)立性,避免種群中大量個(gè)體都指向同一終端參數(shù),從而有效提高最終代個(gè)體種群選取終端參數(shù)的準(zhǔn)確率,當(dāng)滿足預(yù)設(shè)的迭代次數(shù)后輸出最終代個(gè)體種群進(jìn)行后續(xù)操作。

進(jìn)行全局進(jìn)化尋優(yōu)得到最終代種群個(gè)體的具體步驟為:

步驟3.1:在基于spark集群的子種群中啟動(dòng)apis函數(shù)map生成進(jìn)化過(guò)程,每個(gè)集群節(jié)點(diǎn)分別對(duì)切分后的子種群創(chuàng)建種群rdd;

步驟3.2:利用函數(shù)map對(duì)種群rdd執(zhí)行交叉操作,生成新的種群rdd’;

步驟3.3:對(duì)生成新的種群rdd’執(zhí)行變異操作得到種群rdd”;

步驟3.4:根據(jù)適應(yīng)度函數(shù)分別計(jì)算新生成的種群rdd”每個(gè)個(gè)體的相對(duì)適應(yīng)度值,將個(gè)體的適應(yīng)度與參數(shù)變量以鍵值對(duì)<適應(yīng)度,參數(shù)>的形式進(jìn)行儲(chǔ)存;

步驟3.5:合并所有的子種群,根據(jù)個(gè)體的相對(duì)適應(yīng)度值,執(zhí)行輪盤賭算法操作,選出進(jìn)入下一代的最優(yōu)個(gè)體;

步驟3.6:若滿足預(yù)設(shè)迭代次數(shù)條件,輸出最終代的種群,結(jié)束;若不滿足迭代次數(shù)條件,執(zhí)行步驟3.2進(jìn)行下一輪迭代。

所述步驟3.2進(jìn)一步為:

通過(guò)定義種群rdd全局列表,在每個(gè)spark集群節(jié)點(diǎn)上對(duì)全局樣本進(jìn)行交叉操作,利用函數(shù)take對(duì)各個(gè)spark集群節(jié)點(diǎn)上創(chuàng)建的全部種群rdd采樣,利用函數(shù)parallelize平均存儲(chǔ)到兩個(gè)種群rdd中,通過(guò)組成鍵值對(duì)的形式將兩個(gè)種群rdd分別作為隨機(jī)配對(duì)交叉的兩個(gè)父代;通過(guò)產(chǎn)生隨機(jī)數(shù)的方式來(lái)判斷染色體對(duì)是否進(jìn)行交叉,判斷結(jié)果與預(yù)定的交叉概率pc進(jìn)行比較選出種群中需要進(jìn)行交叉操作的染色體對(duì),然后隨機(jī)確定染色體對(duì)某一基因座后的位置為交叉點(diǎn),在該點(diǎn)相互交換兩個(gè)配對(duì)個(gè)體的部分染色體,最終輸出這兩個(gè)新染色體,將新染色體替換舊染色體生成新的種群rdd’。

所述步驟3.3進(jìn)一步為:

對(duì)完成交叉操作后的種群rdd’進(jìn)行變異操作:使用函數(shù)map逐條讀取交叉產(chǎn)生的染色體編碼,遍歷每個(gè)染色體的每一位基因座并產(chǎn)生隨機(jī)數(shù),將其與預(yù)定的變異概率pm進(jìn)行比較選出染色體中需要進(jìn)行變異操作的基因座進(jìn)行判斷,對(duì)滿足變異條件的基因座進(jìn)行取反操作,從而產(chǎn)出一個(gè)新的染色體對(duì)象;否則直接輸出該染色體對(duì)象,最后生成變異后的種群rdd”。

有益效果:本申請(qǐng)利用spark集群基于內(nèi)存分布式運(yùn)算的特性,把初始化后的網(wǎng)絡(luò)終端參數(shù)群按(種群個(gè)體總數(shù)/spark集群節(jié)點(diǎn)數(shù))平均切分成多個(gè)子種群分布在集群各個(gè)節(jié)點(diǎn)中實(shí)現(xiàn)并行化運(yùn)算,重排序打亂進(jìn)化階段子代各自子種群個(gè)體,使其在進(jìn)化空間中盡可能分散,保持種群參數(shù)個(gè)體的獨(dú)立性,避免了種群中大量個(gè)體都指向同一終端參數(shù),出現(xiàn)終端參數(shù)重復(fù)的問(wèn)題,并通過(guò)充分發(fā)揮了遺傳算法的潛能,分析適合當(dāng)前接入網(wǎng)絡(luò)的終端信息參數(shù),從中快速選取符合需求的最優(yōu)終端集,完成終端選擇。該方法執(zhí)行效率高,有效降低了網(wǎng)絡(luò)終端優(yōu)選的計(jì)算量和復(fù)雜度,提高選擇多終端協(xié)同接入網(wǎng)絡(luò)時(shí)業(yè)務(wù)的服務(wù)質(zhì)量和傳輸?shù)母咝浴?/p>

附圖說(shuō)明

圖1是本發(fā)明的整體流程圖;

圖2是本發(fā)明的交叉過(guò)程示意圖;

圖3是本發(fā)明的變異過(guò)程示意圖;

圖4是本發(fā)明的選擇多終端協(xié)同接入網(wǎng)絡(luò)過(guò)程示意圖;

具體實(shí)施方式

下面結(jié)合附圖對(duì)本申請(qǐng)的一個(gè)實(shí)施例做進(jìn)一步說(shuō)明:

如圖1所示,本發(fā)明的基于spark的并行化遺傳算法求解多終端協(xié)同接入網(wǎng)絡(luò)方法,選擇適合的多個(gè)通信終端集與大型服務(wù)器協(xié)同工作執(zhí)行數(shù)據(jù)業(yè)務(wù),步驟如下:

大型服務(wù)器確認(rèn)接入各個(gè)通信終端的數(shù)量和每個(gè)通信終端的網(wǎng)絡(luò)終端參數(shù);

大型服務(wù)器將所有的網(wǎng)絡(luò)終端參數(shù)信息存儲(chǔ)于集群的hdfs目錄中;

大型服務(wù)器以spark集群的方式切分儲(chǔ)存在hdfs目錄中的網(wǎng)絡(luò)終端參數(shù)信息;

對(duì)切分后的網(wǎng)絡(luò)終端參數(shù)信息進(jìn)行基于spark的并行化遺傳算法,從而得到適合當(dāng)前的多終端協(xié)同接入網(wǎng)絡(luò)方案的最終代種群數(shù)據(jù);

對(duì)最終代種群數(shù)據(jù)尋優(yōu),從而得到最適合當(dāng)前的多終端協(xié)同接入網(wǎng)絡(luò)方案;

大型服務(wù)器利用最適合當(dāng)前的多終端協(xié)同接入網(wǎng)絡(luò)方案與方案中的多個(gè)通信終端進(jìn)行并行化網(wǎng)絡(luò)通信。

進(jìn)一步的選擇步驟如下:

步驟1:根據(jù)需求將大型服務(wù)器的所有網(wǎng)絡(luò)終端參數(shù)進(jìn)行遺傳算法初始化,將初始化后的變量參數(shù)轉(zhuǎn)換為二進(jìn)制,將每個(gè)二進(jìn)制化后的參數(shù)變量作為個(gè)體樣本逐行存儲(chǔ)于大型服務(wù)器集群的hdfs中形成所有通信終端的初始種群樣本數(shù)據(jù);

步驟2:根據(jù)需要尋求終端的數(shù)量設(shè)定spark集群節(jié)點(diǎn)數(shù)量,將初始種群樣本數(shù)據(jù)按種群樣本數(shù)據(jù)個(gè)體總數(shù)/spark集群節(jié)點(diǎn)數(shù)的方式平均切分成多個(gè)基于spark集群的子種群;

步驟3:利用遺傳算法對(duì)多個(gè)基于spark集群的子種群中的各個(gè)終端參數(shù)變量進(jìn)行全局進(jìn)化尋優(yōu),以重排序的方法在進(jìn)化階段打亂子代各自子種群個(gè)體分布,合并所有子種群個(gè)體后進(jìn)行自然選擇,得到最終代種群個(gè)體,其具體步驟為:

步驟3.1:在基于spark集群的子種群中啟動(dòng)apis函數(shù)map生成進(jìn)化過(guò)程,每個(gè)集群節(jié)點(diǎn)分別對(duì)切分后的子種群創(chuàng)建種群rdd;

步驟3.2:利用函數(shù)map對(duì)種群rdd執(zhí)行交叉操作,生成新的種群rdd’:

如圖2所示,通過(guò)定義種群rdd全局列表,在每個(gè)spark集群節(jié)點(diǎn)上對(duì)全局樣本進(jìn)行交叉操作,利用函數(shù)take對(duì)各個(gè)spark集群節(jié)點(diǎn)上創(chuàng)建的全部種群rdd采樣,利用函數(shù)parallelize平均存儲(chǔ)到兩個(gè)種群rdd中,通過(guò)組成鍵值對(duì)的形式將兩個(gè)種群rdd分別作為隨機(jī)配對(duì)交叉的兩個(gè)父代;通過(guò)產(chǎn)生隨機(jī)數(shù)的方式來(lái)判斷染色體對(duì)是否進(jìn)行交叉,判斷結(jié)果與預(yù)定的交叉概率pc進(jìn)行比較選出種群中需要進(jìn)行交叉操作的染色體對(duì),然后隨機(jī)確定染色體對(duì)某一基因座后的位置為交叉點(diǎn),在該點(diǎn)相互交換兩個(gè)配對(duì)個(gè)體的部分染色體,最終輸出這兩個(gè)新染色體,將新染色體替換舊染色體生成新的種群rdd’;

重排序的方法打亂進(jìn)化階段子代各自子種群個(gè)體分布后合并所有子種群進(jìn)行自然選擇的步驟根據(jù)需要可進(jìn)行多次迭代循環(huán)操作,該步驟使個(gè)體在進(jìn)化空間內(nèi)盡可能分散,保持種群參數(shù)個(gè)體的獨(dú)立性,避免種群中大量個(gè)體都指向同一終端參數(shù),從而有效提高最終代個(gè)體種群選取終端參數(shù)的準(zhǔn)確率,當(dāng)滿足預(yù)設(shè)的迭代次數(shù)后輸出最終代個(gè)體種群進(jìn)行后續(xù)操作。

步驟3.3:對(duì)生成新的種群rdd’執(zhí)行變異操作得到種群rdd”:

如圖3所示,對(duì)完成交叉操作后的種群rdd進(jìn)行變異操作:使用函數(shù)map逐條讀取交叉產(chǎn)生的染色體編碼,遍歷每個(gè)染色體的每一位基因座并產(chǎn)生隨機(jī)數(shù),將其與預(yù)定的變異概率pm進(jìn)行比較選出染色體中需要進(jìn)行變異操作的基因座進(jìn)行判斷,對(duì)滿足變異條件的基因座進(jìn)行取反操作,從而產(chǎn)出一個(gè)新的染色體對(duì)象;否則直接輸出該染色體對(duì)象,最后生成變異后的種群rdd”;

步驟3.4:根據(jù)適應(yīng)度函數(shù)分別計(jì)算新生成的種群rdd”每個(gè)個(gè)體的相對(duì)適應(yīng)度值;將個(gè)體的適應(yīng)度與參數(shù)變量以鍵值對(duì)<適應(yīng)度,參數(shù)>的形式進(jìn)行儲(chǔ)存。

步驟3.5:合并所有的子種群,根據(jù)個(gè)體的相對(duì)適應(yīng)度值,執(zhí)行輪盤賭算法操作,選出進(jìn)入下一代的最優(yōu)個(gè)體;

步驟3.6:若滿足預(yù)設(shè)迭代次數(shù)條件,輸出最終代的種群,結(jié)束;若不滿足迭代次數(shù)條件,執(zhí)行步驟3.2進(jìn)行下一輪迭代。

步驟4:如圖4所示利用spark的apis函數(shù)reducebykey對(duì)所有最終代種群個(gè)體的適應(yīng)度進(jìn)行排序,得到全局適應(yīng)度符合所需終端要求的多個(gè)最優(yōu)個(gè)體,再對(duì)多個(gè)最優(yōu)個(gè)體解碼得到終端權(quán)值參數(shù),根據(jù)最優(yōu)終端權(quán)值參數(shù)值從候選終端中選擇最優(yōu)參數(shù)集,比較當(dāng)前終端集所能提供的數(shù)據(jù)速率rc是否滿足用戶需求數(shù)據(jù)速率rt,若滿足則結(jié)束選擇,否則返回步驟1繼續(xù)選取,直到選取最優(yōu)的終端集作為最優(yōu)多終端協(xié)同接入網(wǎng)絡(luò)方案;

步驟5.大型服務(wù)器利用最優(yōu)多終端協(xié)同接入網(wǎng)絡(luò)方案與相應(yīng)的通信終端進(jìn)行并行化網(wǎng)絡(luò)通信。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
峨眉山市| 内乡县| 兴隆县| 文昌市| 五大连池市| 揭阳市| 华安县| 丽江市| 南投市| 新巴尔虎右旗| 延津县| 汕头市| 旺苍县| 新龙县| 呼和浩特市| 临朐县| 康乐县| 新昌县| 榆中县| 英德市| 区。| 通州市| 北流市| 浮山县| 黑水县| 牙克石市| 循化| 独山县| 株洲市| 拉萨市| 辽宁省| 耒阳市| 抚宁县| 安康市| 抚州市| 高要市| 盐边县| 灵山县| 巢湖市| 萍乡市| 榆社县|