本發(fā)明屬于任務(wù)分配,具體為一種基于改進(jìn)多目標(biāo)蟻群算法的無人機(jī)集群任務(wù)分配方法。
背景技術(shù):
1、隨著無人機(jī)技術(shù)的迅速發(fā)展,無人機(jī)集群作為一種高效、靈活的系統(tǒng),受到了廣泛的關(guān)注和研究。在執(zhí)行任務(wù)時(shí),無人機(jī)集群能夠充分利用其靈活性和可擴(kuò)展性,通過協(xié)同執(zhí)行的方式,提高任務(wù)的執(zhí)行效率和成功率。無人機(jī)集群任務(wù)分配是一個(gè)多目標(biāo)多約束的優(yōu)化問題,其復(fù)雜性隨著無人機(jī)數(shù)量和任務(wù)規(guī)模的增加而急劇上升。在執(zhí)行任務(wù)時(shí),需綜合考慮任務(wù)環(huán)境、資源限制和多機(jī)協(xié)同等因素,將任務(wù)合理分配給各個(gè)無人機(jī),以確保在滿足各種約束條件的前提下,無人機(jī)集群能有效地執(zhí)行任務(wù)。因此,研究無人機(jī)集群任務(wù)分配方法,對(duì)于提升無人機(jī)集群執(zhí)行任務(wù)效能具有重要意義。
2、目前關(guān)于無人機(jī)集群任務(wù)分配的研究已經(jīng)取得了一些研究成果,但尚有不足。首先,模型大多建模為單目標(biāo)優(yōu)化模型,或通過加權(quán)法將多目標(biāo)優(yōu)化模型轉(zhuǎn)為單目標(biāo)優(yōu)化模型,難以真正描述無人機(jī)集群在執(zhí)行任務(wù)時(shí)任務(wù)分配的復(fù)雜性。其次,在任務(wù)分配中計(jì)算航程代價(jià)時(shí)只考慮無人機(jī)到目標(biāo)點(diǎn)的二維歐氏距離,未考慮到無人機(jī)在實(shí)際環(huán)境中的三維飛行距離。最后,沒有考慮到無人機(jī)集群在執(zhí)行任務(wù)時(shí),無人機(jī)的飛行速度、續(xù)航能力等性能特點(diǎn)存在差異。以上的不足易導(dǎo)致無人機(jī)在執(zhí)行任務(wù)分配方案時(shí),實(shí)際任務(wù)執(zhí)行效果與預(yù)期存在較大偏差。因此,在無人機(jī)集群任務(wù)分配中,必須充分考慮每架無人機(jī)的性能特點(diǎn)與任務(wù)環(huán)境的實(shí)際情況,確保任務(wù)分配的有效性,最大程度地提升任務(wù)執(zhí)行效果。
3、蟻群算法是dorigo提出的一種基于螞蟻覓食行為的優(yōu)化算法,使用正反饋機(jī)制,具有很強(qiáng)的魯棒性,在解決組合優(yōu)化問題中展現(xiàn)出了優(yōu)異的性能。近年來,隨著優(yōu)化問題的復(fù)雜性和多樣性不斷提高,研究者們開始關(guān)注多目標(biāo)蟻群算法,提出了多種改進(jìn)和變體算法,以提高算法的收斂性、多樣性和魯棒性。然而,當(dāng)前的多目標(biāo)蟻群算法更加注重理論研究,難以直接應(yīng)用于無人機(jī)集群任務(wù)分配中。因此,需對(duì)其進(jìn)行改進(jìn),使多目標(biāo)蟻群算法能夠有效地應(yīng)用于無人機(jī)集群任務(wù)分配問題,利用算法的啟發(fā)式搜索策略和正反饋機(jī)制在求解過程中不斷調(diào)整和優(yōu)化解的質(zhì)量,從而逐步逼近帕累托最優(yōu)解集。
技術(shù)實(shí)現(xiàn)思路
1、發(fā)明目的:為解決現(xiàn)有任務(wù)分配方法中模型過于簡(jiǎn)化、航程代價(jià)計(jì)算不準(zhǔn)確、未考慮無人機(jī)性能差異等問題,以及為解決當(dāng)前的多目標(biāo)蟻群算法難以直接應(yīng)用于無人機(jī)集群任務(wù)分配的問題,本發(fā)明提出了一種基于改進(jìn)多目標(biāo)蟻群算法的無人機(jī)集群任務(wù)分配方法。
2、技術(shù)方案:一種基于改進(jìn)多目標(biāo)蟻群算法的無人機(jī)集群任務(wù)分配方法,包括以下步驟:
3、步驟1:以最小化任務(wù)完成后的無人機(jī)集群總飛行航程為優(yōu)化目標(biāo)一,以最小化任務(wù)完成時(shí)間為優(yōu)化目標(biāo)二;所述任務(wù)完成后的無人機(jī)集群總飛行航程是指根據(jù)無人機(jī)的初始位置、任務(wù)的位置和飛行環(huán)境,估算得到的所有無人機(jī)到任務(wù)的飛行航程;所述任務(wù)完成時(shí)間是指執(zhí)行完最后一個(gè)任務(wù)的完成時(shí)間;
4、步驟2:確定無人機(jī)集群中各無人機(jī)間的協(xié)同約束,確定執(zhí)行任務(wù)的時(shí)序約束,確定每架無人機(jī)的飛行航程約束;
5、步驟3:根據(jù)優(yōu)化目標(biāo)一和優(yōu)化目標(biāo)二,分別構(gòu)建兩個(gè)螞蟻組和相應(yīng)的兩個(gè)啟發(fā)信息,每個(gè)螞蟻組由多只螞蟻構(gòu)成;
6、步驟4:將每個(gè)螞蟻組劃分成多個(gè)螞蟻?zhàn)尤海瑢?duì)于任意一螞蟻?zhàn)尤?,其包含的每只螞蟻都代表同一架無人機(jī);
7、步驟5:從每個(gè)螞蟻?zhàn)尤褐腥∫恢晃浵?,以此形成蟻簇?/p>
8、步驟6:根據(jù)每架無人機(jī)的初始價(jià)值和剩余飛行航程,更新每架無人機(jī)的成員信息素;每架無人機(jī)基于其成員信息素來競(jìng)爭(zhēng)獲得下一個(gè)任務(wù)的執(zhí)行權(quán);
9、步驟7:獲得下一個(gè)任務(wù)的執(zhí)行權(quán)的無人機(jī)根據(jù)狀態(tài)轉(zhuǎn)移規(guī)則選擇下一個(gè)任務(wù);所述狀態(tài)轉(zhuǎn)移規(guī)則由任務(wù)環(huán)境中的信息素與啟發(fā)信息共同決定;
10、步驟8:重復(fù)執(zhí)行步驟6~步驟7,直至該蟻簇中的所有螞蟻均遍歷完,得到該蟻簇對(duì)應(yīng)的任務(wù)分配解;然后執(zhí)行步驟9;
11、步驟9:計(jì)算該蟻簇對(duì)應(yīng)的任務(wù)分配解的優(yōu)化目標(biāo)一的值和優(yōu)化目標(biāo)二的值,并更新局部信息素;
12、步驟10:重復(fù)執(zhí)行步驟5至步驟9,直至所有的蟻簇遍歷完,得到所有蟻簇各自對(duì)應(yīng)的任務(wù)分配解,然后執(zhí)行步驟11;
13、步驟11:將當(dāng)前構(gòu)造的所有任務(wù)分配解中的帕累托最優(yōu)解存入檔案集中,當(dāng)前構(gòu)造的所有任務(wù)分配解是指上一次迭代檔案集中的所有解和本次迭代得到的所有蟻簇各自對(duì)應(yīng)的任務(wù)分配解;在檔案集中找出最靠近原點(diǎn)的多個(gè)帕累托最優(yōu)解,記為解集origin;根據(jù)檔案集中的所有解和解集origin中的所有解,更新兩個(gè)螞蟻組的全局信息素;
14、步驟12:判斷是否滿足終止條件,若滿足,則輸出檔案集中的所有解,檔案集中的所有解構(gòu)成最終的任務(wù)分配方案;若不滿足,則執(zhí)行步驟3;
15、步驟13:無人機(jī)集群按照步驟12得到的任務(wù)分配方案,執(zhí)行任務(wù)。
16、進(jìn)一步的,所述的任務(wù)完成后的無人機(jī)集群總飛行航程,按照以下步驟進(jìn)行建模:
17、使用數(shù)字高程模型對(duì)任務(wù)環(huán)境進(jìn)行數(shù)字模擬;
18、任務(wù)完成后的無人機(jī)集群總飛行航程建模為:
19、;
20、其中,為無人機(jī)在執(zhí)行任務(wù)時(shí)采用基于垂直切面的三維航程代價(jià)計(jì)算方法預(yù)估得到的飛行航程;為任務(wù)決策變量,表示無人機(jī)是否執(zhí)行任務(wù),表示無人機(jī)不執(zhí)行任務(wù),表示無人機(jī)執(zhí)行任務(wù);表示無人機(jī)總數(shù)量,表示任務(wù)總數(shù)量;
21、所述的任務(wù)完成時(shí)間建模為:
22、;
23、其中,為無人機(jī)執(zhí)行任務(wù)所花費(fèi)的時(shí)間,為無人機(jī)的飛行速度。
24、進(jìn)一步的,步驟2中,無人機(jī)集群中各無人機(jī)間的協(xié)同約束,表示為:
25、;
26、式中,為任務(wù)決策變量,表示無人機(jī)是否執(zhí)行任務(wù),表示無人機(jī)不執(zhí)行任務(wù),表示無人機(jī)執(zhí)行任務(wù);
27、該協(xié)同約束表示一架無人機(jī)在同一時(shí)間只能執(zhí)行一個(gè)任務(wù),且一個(gè)任務(wù)只能被一架無人機(jī)執(zhí)行;
28、對(duì)于無人機(jī)要執(zhí)行的任意兩個(gè)相鄰的任務(wù)與任務(wù),無人機(jī)必須在執(zhí)行完任務(wù)之后,才能執(zhí)行任務(wù),因此,執(zhí)行任務(wù)的時(shí)序約束,表示為:
29、;
30、其中,、分別為無人機(jī)到達(dá)任務(wù)、任務(wù)的時(shí)間,且任務(wù)的執(zhí)行順序在任務(wù)之前,為無人機(jī)執(zhí)行任務(wù)所花費(fèi)的時(shí)間;
31、每架無人機(jī)的飛行航程約束,表示為:
32、;
33、其中,為無人機(jī)的最大可飛行航程;為無人機(jī)在執(zhí)行任務(wù)時(shí)采用基于垂直切面的三維航程代價(jià)計(jì)算方法預(yù)估得到的飛行航程。
34、進(jìn)一步的,步驟3中的兩個(gè)啟發(fā)信息包括任務(wù)完成后的無人機(jī)集群總飛行航程對(duì)應(yīng)的啟發(fā)信息和任務(wù)完成時(shí)間對(duì)應(yīng)的啟發(fā)信息,分別表示為:
35、;
36、其中,為從任務(wù)轉(zhuǎn)移到任務(wù)所需的航程代價(jià);為所有無人機(jī)的平均飛行時(shí)間;為無人機(jī)的當(dāng)前飛行時(shí)間;為無人機(jī)從任務(wù)轉(zhuǎn)移到任務(wù)所花費(fèi)的時(shí)間代價(jià),為無人機(jī)的飛行速度。
37、進(jìn)一步的,步驟6中,所述的根據(jù)每架無人機(jī)的初始價(jià)值和剩余飛行航程,更新每架無人機(jī)的成員信息素,表示為:
38、設(shè)無人機(jī)在時(shí)刻的成員信息素,由無人機(jī)的初始價(jià)值和此時(shí)的剩余飛行航程對(duì)其進(jìn)行更新,表示為:
39、;
40、式中,為無人機(jī)在時(shí)刻的已飛行的航程;為無人機(jī)的初始價(jià)值,為無人機(jī)的最大可飛行航程。
41、進(jìn)一步的,步驟6中,所述的每架無人機(jī)基于其成員信息素來競(jìng)爭(zhēng)獲得下一個(gè)任務(wù)的執(zhí)行權(quán),表示為:
42、根據(jù)成員信息素,無人機(jī)在時(shí)刻獲得下一個(gè)任務(wù)的任務(wù)執(zhí)行權(quán)的概率為:
43、;
44、式中,表示無人機(jī)總數(shù)量。
45、進(jìn)一步的,步驟7中,所述的獲得下一個(gè)任務(wù)的執(zhí)行權(quán)的無人機(jī)根據(jù)狀態(tài)轉(zhuǎn)移規(guī)則選擇下一個(gè)任務(wù),表示為:
46、假設(shè)獲得下一個(gè)任務(wù)的執(zhí)行權(quán)的無人機(jī)為無人機(jī),所述狀態(tài)轉(zhuǎn)移規(guī)則表示為:
47、;
48、其中,為根據(jù)下式給出的概率分布產(chǎn)生的一個(gè)隨機(jī)變量:
49、;
50、其中,為螞蟻組,每個(gè)螞蟻組都有自己的信息素矩陣與啟發(fā)信息;為時(shí)刻待選擇的任務(wù)集合;為時(shí)刻任務(wù)與任務(wù)之間的信息素濃度;為時(shí)刻任務(wù)與任務(wù)之間的啟發(fā)信息;與分別為信息素因子和啟發(fā)信息因子,用于控制信息素與啟發(fā)信息的相對(duì)重要性;為之間的隨機(jī)數(shù);為平衡因子,當(dāng)時(shí)使用貪心法,當(dāng)時(shí)采用輪盤賭法。
51、進(jìn)一步的,步驟9中,所述的更新局部信息素,表示為:
52、;
53、其中,為時(shí)刻任務(wù)與任務(wù)之間的信息素濃度,為局部信息素?fù)]發(fā)系數(shù),為信息素初始值。
54、進(jìn)一步的,步驟11中,所述的更新兩個(gè)螞蟻組的全局信息素,表示為:
55、;
56、其中,的值是非負(fù)的;為全局信息素?fù)]發(fā)系數(shù);為每次迭代后任務(wù)與任務(wù)之間的信息素增量,計(jì)算方法為:
57、;
58、式中,為檔案集中的所有解經(jīng)過路徑留下的信息素;為解集origin中的解經(jīng)過路徑留下的信息素;為信息素常數(shù);origin為解集origin;與分別為檔案集中的解的目標(biāo)函數(shù)值和解集origin中的解的目標(biāo)函數(shù)值。
59、進(jìn)一步的,在步驟10中,當(dāng)?shù)玫剿邢伌馗髯詫?duì)應(yīng)的任務(wù)分配解后,對(duì)狀態(tài)轉(zhuǎn)移規(guī)則中的按照以下公式進(jìn)行自適應(yīng)更新:
60、;
61、其中,為的上限,為基于香農(nóng)熵設(shè)置的種群多樣性;為路徑在任務(wù)分配解中出現(xiàn)的概率;為種群數(shù)量;為路徑在任務(wù)分配解中出現(xiàn)的次數(shù)。
62、有益效果:本發(fā)明建立了兩個(gè)優(yōu)化目標(biāo)與多約束條件的任務(wù)分配模型,并針對(duì)此模型提出一種基于競(jìng)爭(zhēng)的多目標(biāo)蟻群系統(tǒng)算法進(jìn)行求解,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
63、(1)本發(fā)明方法考慮到任務(wù)場(chǎng)景時(shí)任務(wù)分配的復(fù)雜性,設(shè)置了兩個(gè)優(yōu)化目標(biāo),并根據(jù)這兩個(gè)優(yōu)化目標(biāo)設(shè)置不同的啟發(fā)信息和信息素矩陣,為決策者提供更多選擇方案,確保任務(wù)分配能夠根據(jù)不同的情況靈活調(diào)整,更好地適應(yīng)任務(wù)環(huán)境的變化,提高任務(wù)分配效率;
64、(2)本發(fā)明方法針對(duì)無人機(jī)的性能差異與多機(jī)協(xié)同建立約束,并在改進(jìn)蟻群算法中設(shè)置成員信息素矩陣,確保了只有具備剩余飛行航程的無人機(jī)能夠繼續(xù)執(zhí)行后續(xù)的任務(wù),從而有效滿足模型中的約束條件,并且使剩余飛行航程更為充足的無人機(jī)將擁有更大的機(jī)會(huì)被選擇執(zhí)行任務(wù),有效平衡了無人機(jī)的剩余飛行航程,避免了因某架無人機(jī)過早耗盡剩余飛行航程而無法繼續(xù)參與后續(xù)任務(wù)的情況;
65、(3)本發(fā)明方法根據(jù)種群多樣性設(shè)計(jì)自適應(yīng)轉(zhuǎn)移規(guī)則,使算法在種群多樣性較大時(shí),加快收斂速度;在算法趨向于局部最優(yōu)時(shí),擴(kuò)大搜索空間,提高找到更好解的可能性;
66、(4)本發(fā)明方法設(shè)置容量有限的檔案集存儲(chǔ)帕累托最優(yōu)解,實(shí)現(xiàn)種群間的信息共享,并設(shè)計(jì)基于原點(diǎn)的信息素更新方法,在提高算法收斂性的同時(shí)保持了種群多樣性。