本發(fā)明涉及移動(dòng)群智感知,具體為一種基于鯨魚優(yōu)化算法框架的任務(wù)分配方法。
背景技術(shù):
1、由于移動(dòng)群智感知多任務(wù)分配問題屬于np完全問題,隨著任務(wù)和參與者數(shù)量的增多,問題規(guī)模的擴(kuò)大,不能夠在多項(xiàng)式時(shí)間內(nèi)求解。然而一些經(jīng)典的任務(wù)分配技術(shù)方案在解決此類問題存在缺陷,如隨機(jī)分配算法(randomallocationalgorithm,raa)生成任務(wù)分配方案時(shí)具有不確定性和低效性,貪婪分配策略(greedyallocationalgorithm,gaa)生成任務(wù)分配方案時(shí)容易使得問題陷入局部最優(yōu)解,并且無法處理復(fù)雜約束。因此,現(xiàn)有的一些技術(shù)方案利用元啟發(fā)式優(yōu)化算法生成任務(wù)分配策略,如遺傳算法(geneticalgorithm,ga)、鯨魚優(yōu)化算法(whaleoptimizationalgorithm,woa)、遺傳模擬退火算法(geneticalgorithm-simulatedannealing,ga-sa),這些算法均具備廣泛的探索性,能有效在任務(wù)分配問題的解集合空間中尋找高質(zhì)量的分配方案。然而,在復(fù)雜的任務(wù)分配場(chǎng)景中,這些算法的分配策略并不具備兼顧全局和局部的尋優(yōu)能力,其探索問題最優(yōu)解集的能力具有提升空間。
技術(shù)實(shí)現(xiàn)思路
1、(一)解決的技術(shù)問題
2、針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于鯨魚優(yōu)化算法框架的任務(wù)分配方法,解決了任務(wù)分配策略的有效性不足的問題。
3、(二)技術(shù)方案
4、本發(fā)明為了實(shí)現(xiàn)上述目的具體采用以下技術(shù)方案:
5、一種基于鯨魚優(yōu)化算法框架的任務(wù)分配方法,具體如下:
6、(1)基于鯨魚優(yōu)化算法框架構(gòu)建免疫遺傳鯨優(yōu)算法框架:
7、該免疫遺傳鯨優(yōu)算法igwoa基于鯨魚優(yōu)化算法woa的智能搜索機(jī)制解決任務(wù)分配的資源配置問題,同時(shí),為改善鯨魚優(yōu)化算法的全局和局部搜索能力,在搜索、包圍獵物階段利用免疫遺傳方法的交叉、免疫思想增加表示任務(wù)分配策略的鯨魚個(gè)體的多樣性、提高鯨魚個(gè)體適應(yīng)度值,在氣泡網(wǎng)捕食階段利用免疫遺傳方法的變異思想提升算法局部搜索能力;
8、igwoa基于任務(wù)集合和參與者集合,使用數(shù)組結(jié)構(gòu)對(duì)表示任務(wù)分配策略的鯨魚個(gè)體編碼,采用隨機(jī)貪婪策略生成表示初始任務(wù)分配策略的種群;
9、接著,通過免疫操作中的疫苗制作策略選擇合適鯨魚個(gè)體制造疫苗;
10、之后,基于woa中引入向量系數(shù)的策略,增強(qiáng)算法的全局搜索能力和局部搜索精度,具體如下公式所示:
11、???(1);
12、其中,為范圍內(nèi)以均勻分布生成的隨機(jī)數(shù),表示隨鯨魚種群迭代次數(shù)從整數(shù)2線性減小到0的收斂因子,具體如下公式所示:
13、??(2);
14、其中,表示種群最大迭代次數(shù),在每一次迭代遍歷鯨魚個(gè)體過程中,igwoa會(huì)生成一個(gè)隨機(jī)數(shù),用以判別igwoa所處于哪一個(gè)算法階段;
15、當(dāng)且||時(shí),igwoa處于搜索獵物階段,此時(shí)對(duì)鯨魚個(gè)體進(jìn)行隨機(jī)交叉操作,增加個(gè)體多樣性;
16、當(dāng)且||時(shí),igwoa處于包圍獵物階段,此時(shí)對(duì)鯨魚個(gè)體進(jìn)行注射疫苗操作,提高個(gè)體適應(yīng)度值;
17、當(dāng)時(shí),igwoa處于氣泡網(wǎng)捕食階段,此時(shí)對(duì)鯨魚個(gè)體進(jìn)行變異操作,提升算法局部搜索能力,尋找潛在的更優(yōu)解;
18、最后,igwoa利用修復(fù)算子修復(fù)不滿足任務(wù)分配約束的無效鯨魚個(gè)體,保留有效的信息;
19、循環(huán)以上種群進(jìn)化過程次,即可實(shí)現(xiàn)最優(yōu)任務(wù)分配策略生成,具體的算法步驟如下:
20、a)基于參與者集合和任務(wù)集合初始化任務(wù)分配解集種群;
21、b)將種群中適應(yīng)度值最優(yōu)個(gè)體選定為疫苗;
22、c)執(zhí)行次的循環(huán)迭代操作;
23、d)將當(dāng)前種群中適應(yīng)度值最優(yōu)個(gè)體和次優(yōu)個(gè)體交叉生成候選疫苗;
24、e)比較上一代疫苗、當(dāng)前一代最優(yōu)個(gè)體、候選疫苗的適應(yīng)度值,將適應(yīng)度值最高的個(gè)體作為當(dāng)前一代疫苗;
25、f)依據(jù)公式(2)更新收斂因子,其中是當(dāng)前迭代次數(shù);
26、g)對(duì)當(dāng)前種群中的每一條個(gè)體,利用種群中的各項(xiàng)條件進(jìn)行遍歷循環(huán)操作;
27、h)依據(jù)公式(1)更新向量系數(shù);
28、i)若隨機(jī)數(shù),并且,則將當(dāng)前種群中正在遍歷的第條個(gè)體與隨機(jī)個(gè)體進(jìn)行交叉,得到下一代種群中第條個(gè)體;
29、j)若隨機(jī)數(shù),并且,則將當(dāng)前種群中正在遍歷的第條個(gè)體與當(dāng)前一代疫苗進(jìn)行交叉,得到下一代種群中第條個(gè)體;
30、k)若隨機(jī)數(shù),則將當(dāng)前種群中正在遍歷的第條個(gè)體進(jìn)行變異操作,得到下一代種群中第條個(gè)體;
31、l)結(jié)束當(dāng)前種群中各項(xiàng)條件的循環(huán)操作;
32、m)將下一代種群中不滿足約束的無效個(gè)體修復(fù)成有效個(gè)體;
33、n)結(jié)束次循環(huán)迭代操作;
34、o)輸出最后一代種群中表示最優(yōu)任務(wù)分配策略的最優(yōu)個(gè)體;
35、(2)設(shè)計(jì)用于表示任務(wù)分配策略的鯨魚個(gè)體結(jié)構(gòu):
36、利用數(shù)組結(jié)構(gòu)對(duì)鯨魚個(gè)體進(jìn)行表示,具體如下:
37、每條鯨魚個(gè)體由代表名參與者的基因片段組成,基因片段索引用于表示參與者的id,基因片段由若干個(gè)基因組成,每個(gè)基因用于表示任務(wù)id,鯨魚個(gè)體分為滿足所有約束條件的有效個(gè)體和至少不滿足一條約束條件的無效個(gè)體;
38、(3)定義鯨魚個(gè)體適應(yīng)度評(píng)價(jià)函數(shù):
39、將個(gè)體適應(yīng)度的評(píng)估標(biāo)準(zhǔn)定義為平臺(tái)利潤(rùn),適應(yīng)度值越高,利潤(rùn)越高;
40、假定一個(gè)種群,其中第個(gè)鯨魚個(gè)體的適應(yīng)度函數(shù)的計(jì)算方式如下所示:
41、??(3);
42、其中表示完成任務(wù)后平臺(tái)賺取的利潤(rùn),表示任務(wù)分配狀態(tài),表示任務(wù)被分配,表示任務(wù)未被分配;
43、(4)初始化第一代鯨魚個(gè)體種群:
44、用隨機(jī)貪婪策略生成條有效個(gè)體的初代種群,首先,創(chuàng)建未分配任務(wù)集合和候選參與者集合,并初始化一個(gè)長(zhǎng)度為的數(shù)組作為空個(gè)體,接著,隨機(jī)選取候選參與者和未分配任務(wù)來生成有效的基因片段,直至候選參與者集合變成空集,循環(huán)迭代上述過程次,完成種群初始化;
45、(5)基于免疫遺傳方法設(shè)計(jì)交叉算子、變異算子以及免疫算子:
46、在將親本中適應(yīng)度值較高的基因片段繼承給新個(gè)體;
47、鯨魚個(gè)體中隨機(jī)兩個(gè)含有任務(wù)序號(hào)的基因片段中分別隨機(jī)選取一個(gè)基因進(jìn)行交換,以此產(chǎn)生突變個(gè)體;
48、免疫算子由兩部分組成,分別是疫苗制作操作和疫苗注射操作,對(duì)于疫苗制作操作,旨在保留鯨魚種群中的優(yōu)質(zhì)基因片段,具體地需要在每次迭代時(shí)將適應(yīng)度值較高的鯨魚個(gè)體和鯨魚個(gè)體執(zhí)行交叉、修復(fù)操作,用以構(gòu)建一條有效個(gè)體,并將其作為候選疫苗,然后,從最高適應(yīng)度值的個(gè)體、候選疫苗和上一代疫苗中選取適應(yīng)度值最高的個(gè)體作為新一代疫苗,對(duì)于疫苗注射操作,旨在將鯨魚種群中的優(yōu)質(zhì)基因片段繼承給下一代,具體地需要使新一代疫苗與被選擇個(gè)體執(zhí)行交叉操作,生成帶有優(yōu)質(zhì)遺傳片段的新個(gè)體;
49、(6)設(shè)計(jì)用于修復(fù)無效鯨魚個(gè)體的修復(fù)算子:
50、將交叉、變異和免疫操作過程中產(chǎn)生的無效鯨魚個(gè)體轉(zhuǎn)換成有效鯨魚個(gè)體,對(duì)于一條鯨魚個(gè)體,首先需要確認(rèn)其每個(gè)基因片段是否滿足任務(wù)分配的約束條件,若不滿足約束條件,則需要將基因片段的任務(wù)序列中滿足約束條件且任務(wù)不重復(fù)的最大子集作為新的基因片段,以代替不滿足約束條件的基因片段;
51、其次,檢查不同基因片段中是否出現(xiàn)相同任務(wù),基于適者生存的思想,將重復(fù)出現(xiàn)的任務(wù)只保留在適應(yīng)度值最高的基因片段中,移除其他基因片段中重復(fù)出現(xiàn)的任務(wù);
52、最后,將未分配的任務(wù)隨機(jī)分配給滿足約束條件的參與者,執(zhí)行以上過程,即可將無效的鯨魚個(gè)體轉(zhuǎn)換為有效的鯨魚個(gè)體。
53、(7)將具體地種群初始化、交叉、變異、免疫以及修復(fù)等操作融入免疫遺傳鯨優(yōu)算法框架中,完成任務(wù)分配算法的設(shè)計(jì)。
54、(三)有益效果
55、與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種基于鯨魚優(yōu)化算法框架的任務(wù)分配方法,具備以下有益效果:
56、本發(fā)明,利用鯨魚優(yōu)化算法框架解決任務(wù)分配中的資源配置問題,采用免疫遺傳方法中的交叉、變異和免疫操作,兼顧算法的局部和全局尋優(yōu)能力,使得平臺(tái)以較快的速度生成可使利潤(rùn)最大化的任務(wù)分配策略,提高任務(wù)分配率和參與者活躍度。