本發(fā)明涉及衛(wèi)星網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體地,涉及一種基于離散子拓撲序列和遺傳算法的衛(wèi)星層間拓撲重構(gòu)方法,具體地,涉及一種結(jié)合離散子拓撲時間序列和遺傳算法獲得最為穩(wěn)定的LEO/MEO衛(wèi)星層間拓撲結(jié)構(gòu)的方法。
背景技術(shù):
最初的衛(wèi)星通信系統(tǒng)是由地球同步軌道(Geosynchronous Orbit,GEO)衛(wèi)星組成。GEO衛(wèi)星位于赤道上方,作為地面站進行數(shù)據(jù)傳輸?shù)闹欣^站,只具有簡單的轉(zhuǎn)發(fā)功能。然而,隨著低軌道(Low-earth Orbit,LEO)和中軌道(Middle-earth Orbit,MEO)衛(wèi)星的出現(xiàn),衛(wèi)星通信系統(tǒng)開始往多層次、一體化的方向發(fā)展,由若干處于不同高度軌道或是相同高度的軌道組成網(wǎng)絡(luò),作為地面數(shù)據(jù)傳輸?shù)囊粋€復(fù)雜的交換網(wǎng)絡(luò)。衛(wèi)星網(wǎng)絡(luò)本身也開始具備數(shù)據(jù)處理能力,可以在星上進行一定程度的數(shù)據(jù)處理,保證網(wǎng)絡(luò)傳輸?shù)挠行院汪敯粜浴?/p>
目前,衛(wèi)星網(wǎng)絡(luò)根據(jù)涉及到的軌道高度,可以分為單層衛(wèi)星和多層衛(wèi)星。其中,單層衛(wèi)星是指其組成衛(wèi)星均在同一層軌道上,目前的研究熱點是LEO單層衛(wèi)星網(wǎng)絡(luò)。而多層衛(wèi)星是指由位于不同層次的衛(wèi)星組成,包括:LEO/MEO雙層衛(wèi)星網(wǎng)絡(luò)、LEO/MEO/GEO三層衛(wèi)星網(wǎng)絡(luò)。在多層衛(wèi)星網(wǎng)絡(luò)中,LEO衛(wèi)星一般作為接入節(jié)點,而MEO或是GEO則是作為傳輸、交換和管理的骨干節(jié)點。
然而,類似于地面的ad hoc網(wǎng)絡(luò),衛(wèi)星網(wǎng)絡(luò)中的節(jié)點是處于持續(xù)運動中,不在同一軌道中的衛(wèi)星之間存在相對運動。當(dāng)兩者相對運動到一定方位,衛(wèi)星之間無法建立星間鏈路(Inter-Satellite Link,ISL)進行數(shù)據(jù)傳輸。因此,整個衛(wèi)星網(wǎng)絡(luò)拓撲是動態(tài)變化的,無法建立穩(wěn)定的路由,數(shù)據(jù)極易在傳輸過程中丟失。拓撲的動態(tài)性限制了衛(wèi)星網(wǎng)絡(luò)的丟包率,吞吐量和時延等性能指標(biāo)。同時,在每次拓撲重構(gòu)的時候,都需要重建路由,開銷巨大。
控制衛(wèi)星網(wǎng)絡(luò)拓撲的動態(tài)性對于提高衛(wèi)星網(wǎng)絡(luò)性能意義巨大。從拓撲的角度觀察衛(wèi)星網(wǎng)絡(luò),不難發(fā)現(xiàn),衛(wèi)星網(wǎng)絡(luò)的拓撲可以分為單層拓撲和層間拓撲。單層拓撲是指同層衛(wèi)星組成的網(wǎng)絡(luò)拓撲,拓撲中的邊即為層內(nèi)星間鏈路;層間拓撲是不同層衛(wèi)星之間組成的網(wǎng)絡(luò)拓撲,拓撲中邊為層間星間鏈路。事實上,在衛(wèi)星網(wǎng)絡(luò)拓撲動態(tài)性中,層間拓撲和單層拓撲是相互獨立的。
經(jīng)檢索現(xiàn)有文件發(fā)現(xiàn),單層衛(wèi)星以walker星座的方式組網(wǎng),可以實現(xiàn)單顆衛(wèi)星與周圍四個鄰居衛(wèi)星建立永久鏈路,單層衛(wèi)星的拓撲是靜態(tài)的。此時,衛(wèi)星網(wǎng)絡(luò)拓撲的動態(tài)性來源于層間拓撲。
本發(fā)明以LEO/MEO層間拓撲為對象,研究控制層間拓撲動態(tài)性的方法,使動態(tài)LEO/MEO衛(wèi)星網(wǎng)絡(luò)層間保持穩(wěn)定連接,以保持衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)倪B續(xù)與穩(wěn)定性。事實上,由于不同層間拓撲和單層拓撲在動態(tài)性上相互獨立,因此控制LEO/MEO層間拓撲的動態(tài)性方法同樣適用于單層拓撲任意兩層間的層間拓撲上。
經(jīng)對現(xiàn)有文件檢索,目前針對拓撲結(jié)構(gòu)的研究都在于如何捕獲當(dāng)前動態(tài)拓撲的信息,例如虛擬拓撲和虛擬節(jié)點。衛(wèi)星網(wǎng)絡(luò)拓撲不是隨時間連續(xù)變化的,而是在某一段時隙內(nèi)保持不變。虛擬拓撲利用“快照”思想,提取這些暫時靜止的拓撲。而虛擬節(jié)點則是給衛(wèi)星定義了一個邏輯位置,形成虛擬網(wǎng)絡(luò),只不過該邏輯位置對應(yīng)的衛(wèi)星是不斷變化的。然而,這兩類方法事實上都是利用拓撲動態(tài)行為建立最優(yōu)的路由服務(wù)的,對于拓撲的動態(tài)性并沒有控制作用。
拓撲的動態(tài)性來源在于節(jié)點運動導(dǎo)致邊不能永久存在,不斷的有邊消失,新的邊出現(xiàn)。因此,本發(fā)明利用衛(wèi)星節(jié)點的運動規(guī)律,從層間拓撲的邊-層間星間鏈路著手,提供一種新的層間拓撲重構(gòu)方法,控制層間拓撲的動態(tài)性。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于離散子拓撲序列和遺傳算法的衛(wèi)星層間拓撲重構(gòu)方法。
根據(jù)本發(fā)明提供的基于離散子拓撲序列和遺傳算法的衛(wèi)星層間拓撲重構(gòu)方法,包括如下步驟:
步驟1:根據(jù)衛(wèi)星相對運動的內(nèi)在規(guī)律,借助滑動窗口方法尋找靜態(tài)子拓撲及該靜態(tài)子拓撲的存活時間,并構(gòu)建離散子拓撲時間序列;
步驟2:在離散子拓撲時間序列的基礎(chǔ)上,統(tǒng)籌考慮所有LEO-MEO衛(wèi)星所有的邊的重構(gòu),利用遺傳算法將LEO-MEO衛(wèi)星層間子拓撲作為個體,采用順序權(quán)重進行順序編碼,產(chǎn)生初始種群;
步驟3:將時域壽命和重構(gòu)代價雙重指標(biāo)線性和作為適應(yīng)度函數(shù)進行遺傳算子操作,并在每次遺傳算子操作迭代完成后對初始種群進行修正操作;
步驟4:根據(jù)時域約束的異步進化終止條件,并累計適應(yīng)度值,得到最優(yōu)個體及該最優(yōu)個體祖先構(gòu)成的最穩(wěn)定的拓撲重構(gòu)過程。
優(yōu)選地,所述步驟1包括:
步驟1.1:根據(jù)衛(wèi)星相對運動的內(nèi)在規(guī)律,為每顆LEO衛(wèi)星建立時間線,根據(jù)所連接的MEO衛(wèi)星進行分段;其中,衛(wèi)星相對運動的內(nèi)在規(guī)律是指:盡管衛(wèi)星的運動軌道不同,但是每一顆衛(wèi)星都是進行周期性運動,從而使得任意兩顆衛(wèi)星之間相對運動軌跡也呈周期性,將其中一顆衛(wèi)星看成靜態(tài)時,能夠動態(tài)計算另一個衛(wèi)星距離遠點的距離,從而判斷任意兩顆衛(wèi)星的可見時間段;
步驟1.2:用窗口截取各LEO衛(wèi)星的時間線;具體地,設(shè)窗口的起始時間是0時刻,而窗口的截止時間從0時刻開始逐漸增大,直到某一時間點,窗口中的某個LEO衛(wèi)星切換到某一MEO衛(wèi)星時,則窗口停止增大,當(dāng)前窗口內(nèi)的層間衛(wèi)星拓撲即為對應(yīng)時間段的靜態(tài)子拓撲;
步驟1.3:將窗口從起始位置移動到當(dāng)前截止時刻,截止位置從當(dāng)前時刻開始增大直到出現(xiàn)某個LEO衛(wèi)星切換到某一MEO衛(wèi)星時,則停止切換;
步驟1.4:判斷系統(tǒng)周期是否完成,若完成則結(jié)束,得到系統(tǒng)周期內(nèi)的層間拓撲的離散子拓撲時間序列,并執(zhí)行步驟2;若未完成,則返回執(zhí)行步驟1.3。
優(yōu)選地,所述步驟1中的滑動窗口方法是指:為各LEO衛(wèi)星建立時間線,標(biāo)注不同時間段上所連接的MEO衛(wèi)星,用窗口截取各LEO衛(wèi)星的時間線,獲得窗口對應(yīng)時間段內(nèi)的各LEO與MEO衛(wèi)星的連接情況。
優(yōu)選地,所述步驟2還包括:針對邊的各項參數(shù),所述各項參數(shù)包括:角度、維持時間長度、距離;將單條LEO-MEO邊的單項參數(shù)值減去所有LEO-MEO邊的該單項參數(shù)數(shù)值中的最小值的差,所述差再除以所有邊的該單項參數(shù)值的最大值與最小值之間的差,得到的結(jié)果作為單條LEO-MEO邊的單項權(quán)重,然后根據(jù)實際網(wǎng)絡(luò)性能對邊的各參數(shù)依賴情況建立映射函數(shù),以各單項權(quán)重為函數(shù)參數(shù),計算順序權(quán)重,根據(jù)單項權(quán)重進行順序編碼,產(chǎn)生初始種群。
優(yōu)選地,所述步驟3中的適應(yīng)度函數(shù)為遺傳算子操作迭代過程中子代拓撲壽命指標(biāo)與重構(gòu)代價指標(biāo)之和;其中,壽命指標(biāo)是該個體壽命在系統(tǒng)周期中所占的比重;重構(gòu)代價是指當(dāng)前個體與其父代個體相比,重構(gòu)的鏈路數(shù)量占鏈路數(shù)量的比值。
優(yōu)選地,所述步驟3中的遺傳算子操作是指:采用順序編碼的方式消除個體在時域上的異質(zhì)性,但是仍會引入不存在的邊,因而在遺傳算法執(zhí)行過程中,需要對種群進行修正操作;
修正操作就是檢查種群是否有不存在的個體,若存在不存在個體,將其中不存在的邊更換成LEO衛(wèi)星在當(dāng)前時刻能夠建立的維持時間最長的ILISL,保證種群中所有個體均有效。
優(yōu)選地,所述步驟4中的時域約束的異步進化終止是指:在進化過程中,將當(dāng)代子拓撲的消亡時刻作為時域約束條件,個體的消亡時刻達到或超過系統(tǒng)周期,意味著對應(yīng)個體已經(jīng)經(jīng)歷了系統(tǒng)周期,則終止該個體的進化,并統(tǒng)計該個體的累計適應(yīng)度函數(shù)值,將該個體及對應(yīng)所有祖先的適應(yīng)度函數(shù)值進行累計求和,求和的結(jié)果作為最后的篩選標(biāo)準(zhǔn)。
優(yōu)選地,所述步驟4中選擇累計適應(yīng)度函數(shù)值最大的個體及該個體對應(yīng)的祖先,該個體即為最優(yōu)個體,而該個體在進化過程中所有出現(xiàn)的祖先及該個體自身即為動態(tài)拓撲的離散子拓撲的時間序列,表征了動態(tài)拓撲的演化過程,也就是在系統(tǒng)周期中,層間拓撲的重構(gòu)過程。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
本發(fā)明結(jié)合離散子拓撲時間序列和遺傳算法對LEO/MEO雙層衛(wèi)星層間拓撲進行重構(gòu),這兩個方法相結(jié)合的層間拓撲重構(gòu)方法,可以表達出網(wǎng)絡(luò)拓撲在系統(tǒng)周期內(nèi)的變化過程,使其構(gòu)建的網(wǎng)絡(luò)拓撲在系統(tǒng)周期內(nèi)重構(gòu)次數(shù)盡可能少,重構(gòu)代價也相對較低。
附圖說明
通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為實施例中滑動窗口應(yīng)用的示意圖;
圖2為實施例中順序編碼示意圖;
圖3為本發(fā)明提供的方法的流程示意圖。
具體實施方式
下面結(jié)合具體實施例對本發(fā)明進行詳細說明。以下實施例將有助于本領(lǐng)域的技術(shù)人員進一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變化和改進。這些都屬于本發(fā)明的保護范圍。
本發(fā)明基于離散子拓撲序列和遺傳算法的衛(wèi)星層間拓撲重構(gòu)方法,包括如下步驟:
步驟S1:根據(jù)衛(wèi)星之間相對運動的內(nèi)在規(guī)律建立離散子拓撲時間序列,通過所述離散子拓撲時間序列表征動態(tài)拓撲的演化過程;
步驟S2:在離散子圖序列的基礎(chǔ)上,對所有LEO/MEO衛(wèi)星層間拓撲中的邊進行重構(gòu),即對所有層間星間鏈路進行重構(gòu);
步驟S3:根據(jù)衛(wèi)星網(wǎng)絡(luò)中各衛(wèi)星的軌道信息,在運動過程中在LEO衛(wèi)星選擇不同的MEO衛(wèi)星而不斷重構(gòu)的各種拓撲,行最優(yōu)化搜索,利用遺傳算法得到系統(tǒng)周期內(nèi)最優(yōu)的拓撲重構(gòu)方式。
所述的衛(wèi)星之間相對運動的內(nèi)在規(guī)律是指:盡管衛(wèi)星的運動軌道不同,但是每一個衛(wèi)星都是進行周期性運動,從而使得任意兩顆衛(wèi)星之間相對運動軌跡一定也是周期性的。將其中一個衛(wèi)星看成靜態(tài)的,動態(tài)計算另一個衛(wèi)星距離遠點距離,從而判斷兩者可見的時間段。
所述的離散子拓撲時間序列是指:將衛(wèi)星網(wǎng)絡(luò)拓撲的動態(tài)演化過程表示成一個離散的圖序列,其中每個子圖對應(yīng)拓撲動態(tài)變化過程中的一個靜態(tài)子拓撲。衛(wèi)星網(wǎng)絡(luò)具備動態(tài)網(wǎng)絡(luò)的基本特征:移動的節(jié)點,不斷切換的邊。而衛(wèi)星網(wǎng)絡(luò)拓撲是隨時間離散變化的,因此可以用子拓撲隨時間的變化來捕捉網(wǎng)絡(luò)拓撲結(jié)構(gòu)的變化信息。在該子拓撲中,節(jié)點分為兩類,分別對應(yīng)LEO衛(wèi)星和MEO衛(wèi)星;邊即對應(yīng)LEO衛(wèi)星與MEO衛(wèi)星之間的ILISL。離散子拓撲時間序列可以用滑動窗口的方法得到。
所述的最優(yōu)化搜索是指:將層間拓撲重構(gòu)問題轉(zhuǎn)化成最優(yōu)化問題來解決。根據(jù)衛(wèi)星相對運動的內(nèi)在規(guī)律和離散子拓撲時間序列,在系統(tǒng)周期內(nèi)可能存在的邊都是可以預(yù)測的包括,每條邊的兩端節(jié)點,存活時間(構(gòu)建和拆除的時間)都是已知的。因此每一個子拓撲的構(gòu)建相當(dāng)于從這些已知的邊中進行篩選,最終使得系統(tǒng)周期內(nèi)子拓撲序列是最優(yōu)的。因此,可以利用遺傳算法進行全局搜索獲得相對穩(wěn)定的拓撲動態(tài)結(jié)構(gòu)。
所述的利用遺傳算法得到最優(yōu)的拓撲重構(gòu)過程是指:將層間靜態(tài)子拓撲個體,利用順序權(quán)重進行順序編碼,建立拓撲時域壽命和重構(gòu)代價雙重指標(biāo)適應(yīng)度函數(shù),進行遺傳算子操作,并在每次迭代后進行修正,根據(jù)時域約束異步終止條件,根據(jù)累計適應(yīng)度函數(shù)值最終得到最優(yōu)化的個體,該個體在進化過程中所有的祖先及其自身即為拓撲的重構(gòu)過程。
下面結(jié)合具體實施例對本發(fā)明中的技術(shù)方案做更加詳細的說明。
1)建立離散子拓撲時間序列:假設(shè)層間拓撲在時間段[ts,te)內(nèi)拓撲不變,則用G(ts,te)表示該時間段內(nèi)的靜態(tài)子拓撲,ts和te對應(yīng)該靜態(tài)子拓撲存活的出生時刻和消亡時刻,其壽命為τ=te-ts。在用VL表示LEO節(jié)點,用VM表示MEO衛(wèi)星節(jié)點,E(ts,te)表示網(wǎng)絡(luò)中所有的邊,即LEO與MEO衛(wèi)星之間的ILISL,則在系統(tǒng)周期T內(nèi),網(wǎng)絡(luò)拓撲在[ts,te)時間段內(nèi)的子拓撲結(jié)構(gòu)表示為:
G(ts,te)=(VL,VM,E(ts,te)) (1-1)
用{G(ts1,te1),G(ts2,te2),…}表示動態(tài)網(wǎng)絡(luò)中所有出現(xiàn)過的子拓撲結(jié)構(gòu)的集合,T表示系統(tǒng)周期,則離散子圖時間序列DG可以表示為:
DG=UiG(tsi,tei),0≤tsi<tei≤T (1-2)
式中:G(tsi,tei)表示第i個子拓撲,tsi表示第i個子拓撲出現(xiàn)時間,tei表示第i個子拓撲的消亡時間,UiG(tsi,tei)表示所有子拓撲之和;鑒于每個子拓撲的存在時間不同,因此該和即為子拓撲的時間序列。
計算靜態(tài)子拓撲可以采用滑動窗口的方法:獲取所有衛(wèi)星的運動軌跡信息,這里只考察一個系統(tǒng)周期內(nèi)的層間拓撲重構(gòu)情況。假設(shè)考察時間線是[0,T)。根據(jù)幾何知識,每個LEO衛(wèi)星獨立選取相連MEO衛(wèi)星,并在各自時間線上予以標(biāo)注,如圖1所示。
用窗口截取各LEO衛(wèi)星的時間線。設(shè)窗口的起始時間是0時刻,而窗口的截止時間從0時刻開始逐漸增大,直到某一時間點t,窗口中的某一LEO衛(wèi)星切換到另一個MEO衛(wèi)星,窗口停止增大。當(dāng)前窗口內(nèi)的層間衛(wèi)星拓撲即為對應(yīng)時間段[0,t)的靜態(tài)子拓撲。然后窗口起始位置移動到t時刻,截止位置從t時刻開始增大直到出現(xiàn)LEO衛(wèi)星切換MEO衛(wèi)星。如此往復(fù),即可得到系統(tǒng)周期內(nèi)的層間拓撲的離散子拓撲時間序列。
2)利用遺傳算法得到最優(yōu)層間拓撲重構(gòu)過程:考察實現(xiàn)區(qū)間為[0,T)。將層間靜態(tài)子拓撲結(jié)構(gòu)作為個體,采用順序編碼生成初始種群,以子拓撲消亡時間為適應(yīng)度函數(shù),進行遺傳算子操作,得到最優(yōu)化結(jié)果。
順序編碼及初始種群產(chǎn)生
本發(fā)明采用的是十進制編碼方式,在進入運算過程時再將十進制碼串轉(zhuǎn)化成二進制碼串。
假設(shè)衛(wèi)星網(wǎng)絡(luò)中有l(wèi)顆LEO衛(wèi)星,節(jié)點集合VL為{VL1,VL2,…VLl},對應(yīng)索引號為{1,2,…,l};m顆MEO衛(wèi)星,節(jié)點集合VM為{VM1,VM2,…,VMm},對應(yīng)索引號為{1,2,…,m}。這兩個節(jié)點集合對于所有子拓撲來說都是靜態(tài)不變,變化的是邊的集合E(ts,te)。
由于心的子拓撲的出生視為遺傳算法中的一次進化,因此,任一子拓撲即可視為一個個體。本發(fā)明假設(shè)一顆LEO衛(wèi)星只能同時與一顆MEO衛(wèi)星相連,一顆MEO衛(wèi)星可以同時與多顆LEO衛(wèi)星相連。因此任意時刻,子拓撲中都包含l條邊,且依賴于該子拓撲的出生時間和消亡時間。本發(fā)明將LEO衛(wèi)星節(jié)點{VL1,VL2,…VLl}作為基因,而每一個基因位的取值為該LEO衛(wèi)星所連接的MEO衛(wèi)星的索引號。那么該基因位的索引號與基因值即表示了子拓撲中的一條邊。
然而,這種方式建立的個體在時域上是異質(zhì)的。假設(shè)個體I1,I2的存活時間分別是[ts1,te1)和[ts2,te2)。個體I1中的邊在時間區(qū)間[ts1,te1)均是存在的,但是對于時間區(qū)間[ts2,te2),部分甚至全部的邊都是不存在的。對于個體I2來說也是一樣的。在遺傳算法的操作中,雜交、變異操作中,個體中的基因相互交換、隨機變化,而個體的并不會改變。由此會引入許多不存在的邊,相應(yīng)地,這個個體也是無法存在的。經(jīng)過多輪迭代后,這種不存在個體可能擴散到整個種群,從而導(dǎo)致算法失敗。另一方面,鏈路本身不僅僅具有時間參數(shù),還有距離、角度等。遺傳算子的操作實時上LEO衛(wèi)星進行另一次選擇的時候,因此,還需要在個體中融入鏈路整體性能。
為了解決時域異質(zhì)和性能指標(biāo)缺失帶來的問題,算法中為LEO可以建立的所有鏈路賦予不同權(quán)重值,引入順序權(quán)重??疾飚?dāng)前時刻索引號為的LEO衛(wèi)星可建立的鏈路,根據(jù)其長度d,可維持時間Δt,傾斜角θ等參數(shù)計算順序權(quán)重。其中單個參數(shù)的順序權(quán)重定義為:在所有鏈路的該參數(shù)項集合中,該鏈路的參數(shù)值與最小值之間的差除以最大值與最小值之間的差。
i.單項權(quán)重:單項的參數(shù)順序權(quán)重為該參數(shù)與所有鏈路中
式中:表示第i條邊的長度項權(quán)重,表示第i條邊的長度,du表示第u條邊的長度,表示網(wǎng)絡(luò)系統(tǒng)中邊的總數(shù),表示第i條邊的可維持時間,Δtu表示第u條邊的可維持時間,表示第i條邊的角度,θu表示第u條邊的角度,表示第i條邊的可維持時間項權(quán)重,表示第i條邊的角度項權(quán)重。
ii.順序權(quán)重:
式中:表示第i條邊的順序權(quán)重值,表示以為參數(shù)進行一定的函數(shù)映射運算。具體的函數(shù)映射方式根據(jù)實際網(wǎng)絡(luò)性能對邊的各項參數(shù)依賴情況決定
鑒于不同的衛(wèi)星網(wǎng)絡(luò)環(huán)境,對于鏈路的距離、維持時間和角度要求不同,因此可以根據(jù)實際需求建立函數(shù)從而得到具體的順序權(quán)重
由此,要進行順序編碼:
LEO衛(wèi)星與MEO衛(wèi)星之間的邊其中為LEO衛(wèi)星的索引號,為的MEO衛(wèi)星原始索引號,τ為考察時間點。計算當(dāng)前時刻τ,LEO衛(wèi)星與所有MEO衛(wèi)星之間的距離,不能連接的就設(shè)兩者距離和角度為+∞,維持時間-∞,然后根據(jù)單項權(quán)重和函數(shù)計算順序權(quán)重值即第個基因位的取值。
順序編碼示意圖如圖2所示。個體不再直接描述拓撲,而是需要將順序權(quán)重值轉(zhuǎn)換成索引號才可得到真正的子拓撲,同時個體的時域特性、性能指標(biāo)都被內(nèi)在的包含在了個體,消除了個體的異質(zhì)性。
采用順序編碼后,采用輪盤賭方式生成初始種群。
建立拓撲時域壽命和重構(gòu)代價雙重指標(biāo)適應(yīng)度函數(shù)
已知,對于一個子拓撲來說,評判其穩(wěn)定性能包括壽命,重構(gòu)代價,重構(gòu)次數(shù)等。其中壽命和重構(gòu)次數(shù)具有一定的依存關(guān)系,簡單來說,如果每一個子拓撲的壽命都盡可能長,而總時間系統(tǒng)周期是固定的,那么相對來說重構(gòu)次數(shù)必然是最少的。
另一方面,每一次的重構(gòu)都意味進行路由重建。因此,如果再重構(gòu)涉及的邊數(shù)較少,那么重建路由的代價也就越小,受到影響的數(shù)據(jù)也就較少。因此我們希望每一次重構(gòu)的時候,重構(gòu)的邊也能較少。作為最優(yōu)化的標(biāo)準(zhǔn),適應(yīng)度函數(shù)必須包含這兩個指標(biāo)。因此,適應(yīng)度函數(shù)值計算過程如下:
i.拓撲壽命指標(biāo):
第代個體的存活時間為用其壽命為:
則,拓撲壽命指標(biāo)為:
ii.重構(gòu)代價指標(biāo)
第代個體與其父代個體相比,變化的邊數(shù)為,一共有l(wèi)條邊則重構(gòu)代價指標(biāo)為:
iii.適應(yīng)度函數(shù)為:
執(zhí)行遺傳算法步驟并修正
遺傳算法的執(zhí)行過程按照通用步驟即可。
然而,采用順序編碼的方式固然消除了個體在時域上的異質(zhì)性,但是仍會少量引入不存在的邊。因而,在算法執(zhí)行過程中,需要對種群進行修正操作。
修正操作就是檢查種群是否有不存在,若存在不存在個體,將其中不存在的邊,更換成該LEO衛(wèi)星在當(dāng)前時刻可建立的、維持時間最長的ILISL,保證種群中所有個體有效。
在每次產(chǎn)生了新種群的時候都需要進行修正,防止無效基因隨著循環(huán)迭代而擴散。
時域約束的異步進化終止條件
進化終止的條件有兩個:達到最大迭代次數(shù);時域約束異步終止條件。
時域約束的異步終止是指,在進化過程中,將當(dāng)代子拓撲的消亡時刻作為時域約束條件。個體的消亡時刻達到或超過系統(tǒng)周期,意味著該支系個體已經(jīng)經(jīng)歷了系統(tǒng)周期,即終止該個體的進化,并統(tǒng)計該支系個體的累計適應(yīng)度函數(shù)值,將該個體及其所有祖先的適應(yīng)度函數(shù)值累計求和,作為最后的篩選標(biāo)準(zhǔn)。
剩余的個體繼續(xù)進行進化。當(dāng)已經(jīng)終止進化的個體數(shù)量達到一定比例,強行終止種群的進化,完成遺傳算法。選擇累計適應(yīng)度函數(shù)值最大的個體及其祖先,即為最優(yōu)個體,而該個體在進化過程中所有出現(xiàn)的祖先及其自身,即為動態(tài)拓撲的離散子拓撲的時間序列,表征了動態(tài)拓撲的演化過程,也就是在系統(tǒng)周期中,層間拓撲的重構(gòu)過程。
允許部分個體完成進化而拋棄剩余個體的原因在于,一方面,個體數(shù)量較少會降低遺傳算的準(zhǔn)確性,得到的結(jié)果誤差較大,需要舍棄;另一方面,重構(gòu)次數(shù)和重構(gòu)代價是結(jié)果優(yōu)劣性的雙重標(biāo)準(zhǔn),因此如果少量增加重構(gòu)次數(shù)可以換回較低的重構(gòu)代價,這在資源受限的衛(wèi)星網(wǎng)絡(luò)中具有更大的優(yōu)勢。
以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。在不沖突的情況下,本申請的實施例和實施例中的特征可以任意相互組合。