本發(fā)明涉及計(jì)算機(jī)技術(shù),特別是一種觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法及裝置。
背景技術(shù):
為了使地球成像衛(wèi)星更好地發(fā)揮作用,任務(wù)規(guī)劃技術(shù)顯得尤為關(guān)鍵。任務(wù)規(guī)劃的含義是指對(duì)待執(zhí)行的觀測(cè)任務(wù)進(jìn)行排程、資源匹配,以及對(duì)衛(wèi)星及其載荷的工作時(shí)域、空域和模式等進(jìn)行確定,并制定詳細(xì)工作計(jì)劃的過(guò)程,其目的是驅(qū)動(dòng)衛(wèi)星資源科學(xué)、高效地執(zhí)行任務(wù)。多星對(duì)地觀測(cè)任務(wù)規(guī)劃必須在復(fù)雜的約束條件下和多種優(yōu)化目標(biāo)下完成,因此其問(wèn)題維度廣,優(yōu)化空間大,目前多采用智能算法得出其近似最優(yōu)解。
現(xiàn)有技術(shù)中蟻群算法在處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃時(shí)具有一定的優(yōu)勢(shì),但確定的最優(yōu)任務(wù)序列通常不是全局最優(yōu)解,且收斂慢,處理時(shí)間較長(zhǎng)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法。
第一方面,本發(fā)明的一種多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法,包括:
步驟s1:在采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題時(shí),在初始化步驟中,獲取信息素影響因子的缺省值αmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的信息素影響因子的值;
步驟s2:執(zhí)行蟻群算法的迭代過(guò)程,得到每代迭代中生成的最好解st,將每代迭代中生成的最好解st作為一個(gè)解元素記錄到解集合中;及
自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第一公式解算隨后的第(t+1)代迭代過(guò)程中使用的信息素影響因子的值αt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)αt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第一公式為:
f(t),f(t-1)分別為第t代迭代過(guò)程中生成的最好解st對(duì)應(yīng)的適應(yīng)度函數(shù)值和第(t-1)代迭代過(guò)程中生成的最好解st-1對(duì)應(yīng)的適應(yīng)度函數(shù)值,αt為第t代迭代過(guò)程中使用的信息素影響因子的值;
步驟s3:在迭代過(guò)程滿(mǎn)足終止準(zhǔn)則后,將解集合中具有最大適應(yīng)度函數(shù)值的解元素作為多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的最優(yōu)方案??蛇x地,所述步驟s1還包括:
在初始化步驟中,獲取蟻群算法的迭代總代數(shù)n,獲取啟發(fā)式信息影響因子的缺省值βmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值;相應(yīng)地,
所述步驟s2還包括:自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第二公式解算隨后的第(t+1)代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值βt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)βt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第二公式為:
f(t),f(t-1)分別為第t代迭代過(guò)程中生成的最好解st對(duì)應(yīng)的適應(yīng)度函數(shù)值和第(t-1)代迭代過(guò)程中生成的最好解st-1對(duì)應(yīng)的適應(yīng)度函數(shù)值,βt為第t代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值。
可選地,所述步驟s1還包括:
在初始化步驟中,獲取蟻群算法的迭代停滯閾值nn、適應(yīng)度停滯閾值δ及信息素?fù)]發(fā)因子的缺省值ρ0,所述ρ0用于在第一次更新信息素?fù)]發(fā)因子的值之前的每代迭代過(guò)程中作為信息素?fù)]發(fā)因子的值;對(duì)應(yīng)地,
所述步驟s2還包括:
自第nn代迭代過(guò)程之后,在判斷連續(xù)的nn代迭代過(guò)程中生成的nn個(gè)最好解對(duì)應(yīng)的適應(yīng)度函數(shù)值的變化率小于適應(yīng)度停滯閾值δ時(shí),觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,并在下一次觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新之前的所有迭代過(guò)程中使用所述更新后的信息素?fù)]發(fā)因子的值解算每代迭代過(guò)程中使用的信息素的值。
可選地,所述步驟s2中,觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,具體包括:
獲取當(dāng)前的迭代代數(shù)的值t,獲取當(dāng)前的信息素?fù)]發(fā)因子的值ρt,并根據(jù)第三公式更新信息素?fù)]發(fā)因子的值,得到更新后的信息素?fù)]發(fā)因子的值ρt+1,所述第三公式為:
可選地,每一代迭代中生成的最好解st包括:
執(zhí)行每一對(duì)地觀測(cè)任務(wù)的衛(wèi)星標(biāo)識(shí)、觀測(cè)起始時(shí)間點(diǎn)、觀測(cè)結(jié)束時(shí)間點(diǎn);和/或
每一衛(wèi)星與至少一個(gè)地面站交互的下傳起始時(shí)間點(diǎn)、及下傳結(jié)束時(shí)間點(diǎn)。
可選地,所述每代迭代中生成的最好解st是每代迭代中生成的所有待選解中具有最大適應(yīng)度函數(shù)值的待選解經(jīng)過(guò)局部搜索之后生成的。
可選地,所述處理方法還包括:
將所述最優(yōu)方案中與每一衛(wèi)星對(duì)應(yīng)的任務(wù)發(fā)送至該衛(wèi)星中,使得該衛(wèi)星按照規(guī)劃的任務(wù)執(zhí)行。
第二方面,本發(fā)明還提供一種多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理裝置,包括:
接收模塊、連接接收模塊的處理模塊;
所述接收模塊用于接收待多個(gè)衛(wèi)星執(zhí)行的觀測(cè)任務(wù);
所述處理模塊用于采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題,具體包括:
在采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題時(shí),在初始化步驟中,獲取信息素影響因子的缺省值αmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的信息素影響因子的值;
執(zhí)行蟻群算法的迭代過(guò)程,得到每代迭代中生成的最好解st,將每代迭代中生成的最好解st作為一個(gè)解元素記錄到解集合中;及
自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第一公式解算隨后的第(t+1)代迭代過(guò)程中使用的信息素影響因子的值αt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)αt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第一公式為:
f(t),f(t-1)分別為第t代迭代過(guò)程中生成的最好解st對(duì)應(yīng)的適應(yīng)度函數(shù)值和第(t-1)代迭代過(guò)程中生成的最好解st-1對(duì)應(yīng)的適應(yīng)度函數(shù)值,αt為第t代迭代過(guò)程中使用的信息素影響因子的值;
在迭代過(guò)程滿(mǎn)足終止準(zhǔn)則后,將解集合中具有最大適應(yīng)度函數(shù)值的解元素作為多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的最優(yōu)方案。
可選地,所述處理裝置中,所述處理模塊用于采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題,具體還包括:
在初始化步驟中,獲取蟻群算法的迭代總代數(shù)n,獲取啟發(fā)式信息影響因子的缺省值βmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值;相應(yīng)地,
自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第二公式解算隨后的第(t+1)代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值βt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)βt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第二公式為:
可選地,所述處理裝置中,所述處理模塊用于采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題,具體還包括:
在初始化步驟中,獲取蟻群算法的迭代停滯閾值nn、適應(yīng)度停滯閾值δ及信息素?fù)]發(fā)因子的缺省值ρ0,所述ρ0用于在第一次更新信息素?fù)]發(fā)因子的值之前的每代迭代過(guò)程中作為信息素?fù)]發(fā)因子的值;對(duì)應(yīng)地,
自第nn代迭代過(guò)程之后,在判斷連續(xù)的nn代迭代過(guò)程中生成的nn個(gè)最好解對(duì)應(yīng)的適應(yīng)度函數(shù)值的變化率小于適應(yīng)度停滯閾值δ時(shí),觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,并在下一次觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新之前的所有迭代過(guò)程中使用所述更新后的信息素?fù)]發(fā)因子的值解算每代迭代過(guò)程中使用的信息素的值。
可選地,所述處理裝置中,所述處理模塊用于觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,具體包括:
獲取當(dāng)前的迭代代數(shù)的值t,獲取當(dāng)前的信息素?fù)]發(fā)因子的值ρt,并根據(jù)第三公式更新信息素?fù)]發(fā)因子的值,得到更新后的信息素?fù)]發(fā)因子的值ρt+1,所述第三公式為:
可選地,所述處理裝置中,所述處理模塊在每一代迭代中生成的最好解st包括:
執(zhí)行每一對(duì)地觀測(cè)任務(wù)的衛(wèi)星標(biāo)識(shí)、觀測(cè)起始時(shí)間點(diǎn)、觀測(cè)結(jié)束時(shí)間點(diǎn);和/或
每一衛(wèi)星與至少一個(gè)地面站交互的下傳起始時(shí)間點(diǎn)、及下傳結(jié)束時(shí)間點(diǎn)。
可選地,所述處理裝置中,所述處理模塊在每一代迭代中生成的最好解st是每代迭代中生成的所有待選解中具有最大適應(yīng)度函數(shù)值的待選解經(jīng)過(guò)局部搜索之后生成的。
可選地,處理裝置還包括:與處理模塊連接的發(fā)射模塊;
所述發(fā)射模塊用于將每一衛(wèi)星的任務(wù)發(fā)送至該衛(wèi)星中,以使衛(wèi)星按照規(guī)劃的任務(wù)執(zhí)行。
本發(fā)明的多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題能夠保證求解的觀測(cè)任務(wù)規(guī)劃具有較好的質(zhì)量,且處理效率高。
本發(fā)明的多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理裝置采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題能夠保證求解的觀測(cè)任務(wù)規(guī)劃具有較好的質(zhì)量,且處理效率高。
附圖說(shuō)明
圖1現(xiàn)有技術(shù)中衛(wèi)星觀測(cè)與地面站交互的示意圖;
圖2為當(dāng)前的衛(wèi)星觀測(cè)的時(shí)間窗的示意圖;
圖3為本發(fā)明一實(shí)施例提供的多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法的流程示意圖;
圖4為本發(fā)明又一實(shí)施例提供的處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理裝置的組成示意圖。
具體實(shí)施方式
為了更好的解釋本發(fā)明,以便于理解,下面結(jié)合附圖,通過(guò)具體實(shí)施方式,對(duì)本發(fā)明作詳細(xì)描述。
首先,界定以下基本事實(shí),這些事實(shí)均為本領(lǐng)域普通技術(shù)人員所知曉的:
如圖1所示,多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題可以簡(jiǎn)要描述為:一組衛(wèi)星、一組觀測(cè)任務(wù),每個(gè)觀測(cè)任務(wù)的完成包含數(shù)據(jù)采集和數(shù)據(jù)回傳兩個(gè)活動(dòng)。為每個(gè)觀測(cè)任務(wù)指定一個(gè)優(yōu)先級(jí);觀測(cè)任務(wù)對(duì)應(yīng)的地面目標(biāo)與衛(wèi)星之間具有一組可用時(shí)間窗口;一個(gè)參考時(shí)間范圍作為任務(wù)規(guī)劃的起止時(shí)間。衛(wèi)星對(duì)地觀測(cè)需要滿(mǎn)足以下約束:每個(gè)觀測(cè)任務(wù)必須在其某個(gè)可用時(shí)間窗口內(nèi)完成;衛(wèi)星連續(xù)兩次觀測(cè)之間必須有足夠的調(diào)整時(shí)間;衛(wèi)星的側(cè)視調(diào)整次數(shù)、存儲(chǔ)容量有限,使每個(gè)圈次的累積觀測(cè)時(shí)間有限。
在每個(gè)調(diào)度周期內(nèi),每一個(gè)衛(wèi)星與每一個(gè)地面目標(biāo)之間有不止一個(gè)可見(jiàn)時(shí)間窗口;在每個(gè)調(diào)度周期內(nèi),每一個(gè)衛(wèi)星與每一個(gè)地面站之間有不止一個(gè)可見(jiàn)時(shí)間窗口;在每個(gè)調(diào)度周期內(nèi),每個(gè)地面目標(biāo)只需要也僅能被觀測(cè)一次,也即,地面目標(biāo)的數(shù)目與觀測(cè)任務(wù)的數(shù)目是相同的;在每個(gè)調(diào)度周期內(nèi),每個(gè)地面站可以多次與不同的衛(wèi)星進(jìn)行通信,接收下傳數(shù)據(jù)。
在每個(gè)調(diào)度周期內(nèi),受制于可見(jiàn)時(shí)間窗,會(huì)出現(xiàn)待調(diào)度的觀測(cè)任務(wù)不能全部被完成的情形,因此,為了保證觀測(cè)任務(wù)總數(shù)目的完整性,設(shè)置一個(gè)虛擬衛(wèi)星來(lái)記錄不能被執(zhí)行的觀測(cè)任務(wù)。
另一方面,衛(wèi)星對(duì)地觀測(cè)需要滿(mǎn)足以下約束條件:
(1)對(duì)地面目標(biāo)的成像必須等待衛(wèi)星在某一軌道圈次內(nèi)運(yùn)動(dòng)至目標(biāo)的上空時(shí)進(jìn)行,此時(shí)衛(wèi)星的遙感器會(huì)在一個(gè)時(shí)間段之內(nèi)能夠看見(jiàn)目標(biāo),這個(gè)時(shí)間段稱(chēng)為時(shí)間窗。在給定的規(guī)劃周期內(nèi),衛(wèi)星與目標(biāo)之間一般不止一個(gè)時(shí)間窗,衛(wèi)星對(duì)目標(biāo)的觀測(cè)需在其中某一個(gè)時(shí)間窗之內(nèi)完成,且目標(biāo)進(jìn)行觀測(cè)的時(shí)間窗一般會(huì)小于可見(jiàn)的時(shí)間窗,圖2中示出了觀測(cè)時(shí)間窗的開(kāi)始時(shí)間與結(jié)束時(shí)間。
(2)一顆衛(wèi)星在執(zhí)行2個(gè)前后相繼的觀測(cè)任務(wù)時(shí),中間需要有一定的過(guò)渡時(shí)間,以讓衛(wèi)星遙感器作好調(diào)整。類(lèi)似的,地面站接受衛(wèi)星下傳數(shù)據(jù)時(shí)與觀測(cè)任務(wù)一樣,數(shù)據(jù)下傳需要在地面站對(duì)衛(wèi)星的下傳可見(jiàn)時(shí)間窗口之內(nèi)完成。
(3)每一次開(kāi)關(guān)機(jī)時(shí)間內(nèi),衛(wèi)星的側(cè)視調(diào)整次數(shù)是有限的。
(4)衛(wèi)星上有一個(gè)固定容量的星上存儲(chǔ)器,衛(wèi)星將觀測(cè)的目標(biāo)圖像數(shù)據(jù)暫時(shí)存放在存儲(chǔ)器中。在將數(shù)據(jù)傳回地面站之后,存儲(chǔ)器的存儲(chǔ)容量被釋放。因此存儲(chǔ)器的實(shí)時(shí)容量在整個(gè)觀測(cè)過(guò)程中是動(dòng)態(tài)變化的。
從以上內(nèi)容可知,多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題必須在復(fù)雜的約束條件下和多種優(yōu)化目標(biāo)下求解,因此其問(wèn)題維度廣,優(yōu)化空間大,采用智能算法得出其近似最優(yōu)解的難度比較大。
蟻群算法是一種應(yīng)用廣泛的并行智能優(yōu)化算法。現(xiàn)有技術(shù)中基于蟻群算法求解多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的解算步驟示例如下:
step1:初始化算法中基本參數(shù)的值,包括:信息素影響因子、啟發(fā)式信息影響因子和信息素?fù)]發(fā)因子,迭代總代數(shù)、螞蟻數(shù)量等。
step2:蟻群選擇一個(gè)子問(wèn)題(即工作時(shí)段。工作時(shí)段是針對(duì)一個(gè)任務(wù)的一個(gè)時(shí)間窗),并根據(jù)狀態(tài)轉(zhuǎn)移規(guī)則選擇一個(gè)頂點(diǎn)加入當(dāng)前的解,至此,完成了一個(gè)任務(wù)的規(guī)劃。
step3:更新候選鏈表,該候選鏈表中包括有已完成任務(wù)和未完成任務(wù);
step4:判斷是否所有任務(wù)都已規(guī)劃,如果是,則對(duì)本代迭代生成的最好解使用局部搜索策略以進(jìn)一步優(yōu)化最好解;如果否,返回step2;
step5:根據(jù)適應(yīng)度函數(shù)對(duì)本代迭代生成的解進(jìn)行評(píng)價(jià),并更新信息素;
step6:判斷是否滿(mǎn)足迭代終止條件,如果滿(mǎn)足,則算法結(jié)束并輸出歷史最優(yōu)解;如果不滿(mǎn)足,返回step2。
具體地,在每代迭代過(guò)程中,在構(gòu)建可行解時(shí),蟻群首先根據(jù)各工作時(shí)段的任務(wù)完成情況,選擇一個(gè)未完成任務(wù)數(shù)最多的工作時(shí)段。然后,在選中的工作時(shí)段的候選鏈表中,選擇一個(gè)頂點(diǎn)加入到當(dāng)前的解中。
以下給出一個(gè)頂點(diǎn)選擇的示例,應(yīng)該理解為,本領(lǐng)域技術(shù)人員可以采用其他已知的狀態(tài)轉(zhuǎn)移規(guī)則以實(shí)現(xiàn)節(jié)點(diǎn)選擇的目的。具體地,螞蟻根據(jù)以下公式從當(dāng)前的節(jié)點(diǎn)選擇下一個(gè)節(jié)點(diǎn):
即螞蟻以q0做最強(qiáng)追蹤,以概率q0由當(dāng)前節(jié)點(diǎn)i選擇下一個(gè)節(jié)點(diǎn)j,其中,q0∈(0,1),q為隨機(jī)數(shù)。candidate為候選節(jié)點(diǎn)集合。
在上述公式中,α為表征信息素在頂點(diǎn)選取中重要性的參數(shù),記為信息素影響因子;β為表征啟發(fā)信息素在頂點(diǎn)選取中重要性的參數(shù),記為啟發(fā)信息素因子;q∈[0,1]是一個(gè)隨機(jī)數(shù),q0∈[0,1]則決定蟻群的探索能力與開(kāi)發(fā)能力的相對(duì)重要性。在選取頂點(diǎn)j為解的元素后,刪除當(dāng)前的候選節(jié)點(diǎn)集合candidate中頂點(diǎn)j以及有邊相連的頂點(diǎn),確保候選鏈表中不存在與解元素相連的頂點(diǎn),避免在后續(xù)搜索過(guò)程中產(chǎn)生不可行解。
在每次迭代完成后,為提高蟻群算法的全局搜索能力,避免算法過(guò)早收斂,采用mmas算法中的規(guī)則對(duì)信息素進(jìn)行更新,如下式:
τij(t+1)=(1-ρ)·τij(t)
ifτij(t+1)<τmin,τij(t+1)=τmin
ifτij(t+1)>τmax,τij(t+1)=τmax
其中,ρ為信息素?fù)]發(fā)因子;τmax、τmin分別為信息素?fù)]發(fā)因子的上限值和下限值;通常,信息素τij的取值范圍為(0,1]。
以上作為示例,采用mmas算法中的規(guī)則對(duì)信息素進(jìn)行更新,應(yīng)該理解為,本領(lǐng)域技術(shù)人員可以采用其他已知的信息素更新算法,以實(shí)現(xiàn)信息素更新的目的。
然而,上述的蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃時(shí),存在效率低且求解質(zhì)量不理想的問(wèn)題。
為此,本發(fā)明實(shí)施例提供一種多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法,包括下述步驟:
步驟s1:在采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題時(shí),在初始化步驟中,獲取信息素影響因子的缺省值αmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的信息素影響因子的值;
步驟s2:執(zhí)行蟻群算法的迭代過(guò)程,得到每代迭代中生成的最好解st,將每代迭代中生成的最好解st作為一個(gè)解元素記錄到解集合中;及
自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第一公式解算隨后的第(t+1)代迭代過(guò)程中使用的信息素影響因子的值αt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)αt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第一公式為:
f(t),f(t-1)分別為第t代迭代過(guò)程中生成的最好解st對(duì)應(yīng)的適應(yīng)度函數(shù)值和第(t-1)代迭代過(guò)程中生成的最好解st-1對(duì)應(yīng)的適應(yīng)度函數(shù)值,αt為第t代迭代過(guò)程中使用的信息素影響因子的值;
步驟s3:在迭代過(guò)程滿(mǎn)足終止準(zhǔn)則后,將解集合中具有最大適應(yīng)度函數(shù)值的解元素作為多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的最優(yōu)方案。
需要說(shuō)明的是,在采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題時(shí),適應(yīng)度函數(shù)f考慮了已執(zhí)行的觀測(cè)任務(wù)數(shù)量占所有觀測(cè)任務(wù)數(shù)量的比例值x,以及已執(zhí)行的觀測(cè)任務(wù)的權(quán)重之和占所有觀測(cè)任務(wù)的權(quán)重之和的比例值y。本領(lǐng)域技術(shù)人員可以通過(guò)設(shè)計(jì)合適的權(quán)重值使得x與y的加權(quán)平均和也即適應(yīng)度函數(shù)f的取值范圍為(0,1]。
在一種優(yōu)選的實(shí)現(xiàn)方式中,所述步驟s1還可以包括:在初始化步驟中,獲取蟻群算法的迭代總代數(shù)n,獲取啟發(fā)式信息影響因子的缺省值βmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值;相應(yīng)地,
所述步驟s2還包括:自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第二公式解算隨后的第(t+1)代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值βt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)βt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第二公式為:
f(t),f(t-1)分別為第t代迭代過(guò)程中生成的最好解st對(duì)應(yīng)的適應(yīng)度函數(shù)值和第(t-1)代迭代過(guò)程中生成的最好解st-1對(duì)應(yīng)的適應(yīng)度函數(shù)值,βt為第t代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值。
在一種優(yōu)選的實(shí)現(xiàn)方式中,所述步驟s1還可以包括:
在初始化步驟中,獲取蟻群算法的迭代停滯閾值nn、適應(yīng)度停滯閾值δ及信息素?fù)]發(fā)因子的缺省值ρ0,所述ρ0用于在第一次更新信息素?fù)]發(fā)因子的值之前的每代迭代過(guò)程中作為信息素?fù)]發(fā)因子的值;對(duì)應(yīng)地,
所述步驟s2還可以包括:
自第nn代迭代過(guò)程之后,在判斷連續(xù)的nn代迭代過(guò)程中生成的nn個(gè)最好解對(duì)應(yīng)的適應(yīng)度函數(shù)值的變化率小于適應(yīng)度停滯閾值δ時(shí),觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,并在下一次觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新之前的所有迭代過(guò)程中使用所述更新后的信息素?fù)]發(fā)因子的值解算每代迭代過(guò)程中使用的信息素的值。
應(yīng)當(dāng)理解為,在解算連續(xù)nn個(gè)最好解適應(yīng)度函數(shù)值的變化率時(shí),可以以第一個(gè)最好解的適應(yīng)度函數(shù)值為基準(zhǔn),或最后一個(gè)最好解的適應(yīng)度函數(shù)值為基準(zhǔn),或nn個(gè)最好解的適應(yīng)度函數(shù)值中的任意一個(gè)為基準(zhǔn)。
在一種優(yōu)選的實(shí)現(xiàn)方式中,所述步驟s2中,觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,具體可以包括:
獲取當(dāng)前的迭代代數(shù)的值t,獲取當(dāng)前的信息素?fù)]發(fā)因子的值ρt,并根據(jù)第三公式更新信息素?fù)]發(fā)因子的值,得到更新后的信息素?fù)]發(fā)因子的值ρt+1,所述第三公式為:
可選地,每一代迭代中生成的最好解st包括:
執(zhí)行每一對(duì)地觀測(cè)任務(wù)的衛(wèi)星標(biāo)識(shí)、觀測(cè)起始時(shí)間點(diǎn)、觀測(cè)結(jié)束時(shí)間點(diǎn);和/或
每一衛(wèi)星與至少一個(gè)地面站交互的下傳起始時(shí)間點(diǎn)、下傳結(jié)束時(shí)間點(diǎn)。
可選地,所述每代迭代中生成的最好解st是每代迭代中生成的所有待選解中具有最大適應(yīng)度函數(shù)值的待選解經(jīng)過(guò)局部搜索之后生成的。
具體地,每代迭代時(shí),在蟻群完成解的構(gòu)建后,對(duì)本代迭代所生成的最好解應(yīng)用局部搜索策略。具體地,因?yàn)槊看鷥?nèi)的優(yōu)化目標(biāo)僅與每個(gè)工作時(shí)段中具有最早開(kāi)始時(shí)間和/或最晚結(jié)束時(shí)間這兩個(gè)可見(jiàn)弧段的選擇有關(guān),因此局部搜索只針對(duì)各工作時(shí)段的這兩個(gè)弧段進(jìn)行。應(yīng)用局部搜索策略的解算流程如下:首先確定最早開(kāi)始(或最晚結(jié)束)弧段的至少一個(gè)備選弧段,這些弧段必須滿(mǎn)足:①與最早開(kāi)始(或最晚結(jié)束)弧段屬于同一個(gè)工作時(shí)段且可以完成相同的衛(wèi)星對(duì)地觀測(cè)或?qū)Φ叵聜魅蝿?wù);②非本代迭代生成的最好解的元素;③不與解中其他元素沖突。這些至少一個(gè)備選弧段形成備選弧段的列表。在備選弧段的列表中,確定可以最大程度縮短工作時(shí)間的弧段,并將其代替最早開(kāi)始(或最晚結(jié)束)弧段加入當(dāng)前的解中。以上過(guò)程反復(fù)執(zhí)行直到工作時(shí)間不能再縮短為止。
可選地,所述處理方法還可以包括:
將所述最優(yōu)方案中與每一衛(wèi)星對(duì)應(yīng)的任務(wù)發(fā)送至該衛(wèi)星中,使得該衛(wèi)星按照規(guī)劃的任務(wù)執(zhí)行。
需要說(shuō)明的是,最優(yōu)方案中與每一衛(wèi)星對(duì)應(yīng)的任務(wù)中包括觀測(cè)任務(wù)和/或下傳任務(wù)。根據(jù)規(guī)劃周期和星上存儲(chǔ)空間,每一衛(wèi)星對(duì)應(yīng)的任務(wù)中并不一定會(huì)包括下傳任務(wù)。
本實(shí)施例中通過(guò)改進(jìn)現(xiàn)有的蟻群算法可在提高處理效率的同時(shí)獲得更好的處理質(zhì)量。為較好的理解本發(fā)明的技術(shù)方案,以下結(jié)合前述步驟具體說(shuō)明如下:
(1)在迭代過(guò)程中按照下式對(duì)信息素影響因子的值進(jìn)行更新:
在第t次迭代中,如果f(t)>f(t-1),則增加信息素影響因子的值。因?yàn)檫m應(yīng)度函數(shù)值增大,就意味著解的質(zhì)量提高,說(shuō)明前面螞蟻留下的信息素對(duì)后面螞蟻的引導(dǎo)是正向的,因此通過(guò)增加信息素影響因子的值αt+1,使得在下一次迭代中使用更大的αt+1,使得信息素的影響對(duì)尋優(yōu)結(jié)果的影響增強(qiáng)。如果函數(shù)小于或等于上一代,則不做改變。
(2)在迭代過(guò)程中按照下式對(duì)啟發(fā)式信息影響因子的值進(jìn)行更新:
在第t次迭代中,如果f(t)>f(t-1),則增加啟發(fā)式信息影響因子的值。因?yàn)閱l(fā)式信息影響因子能夠引導(dǎo)螞蟻得到更好結(jié)果,所以通過(guò)增加啟發(fā)式信息影響因子的值可以使得啟發(fā)式信息影響因子對(duì)尋優(yōu)結(jié)果的影響增強(qiáng),反之不做改變。
(3)在迭代陷入局部最優(yōu)解時(shí),按照下式對(duì)信息素?fù)]發(fā)因子的值進(jìn)行更新:
在初始階段給信息素?fù)]發(fā)因子設(shè)置較小的值以此來(lái)擴(kuò)大初始階段蟻群的搜索范圍,由于取值較小信息素?fù)]發(fā)因子,其收斂性較差同時(shí)也容易陷入局部最優(yōu)值,所以算法在連續(xù)的nn(nn為常數(shù))代進(jìn)化后最優(yōu)解的適應(yīng)度函數(shù)值沒(méi)有較大的變化后,確定當(dāng)前的迭代已經(jīng)停滯,則根據(jù)上式更新信息素?fù)]發(fā)因子,以使得算法跳出舉出最優(yōu)解,繼續(xù)全局尋優(yōu)。其中,ρmin為信息素?fù)]發(fā)因子的下限值(這里是預(yù)先設(shè)置的),可以防止信息素?fù)]發(fā)因子過(guò)小從而降低算法的收斂速度。
現(xiàn)有的蟻群算法求解多星對(duì)地觀測(cè)任務(wù)規(guī)劃過(guò)程中信息素?fù)]發(fā)因子是固定值。若設(shè)置ρ過(guò)大,以前搜索過(guò)的路徑被再次選擇的可能性過(guò)大,信息正反饋的作用占主導(dǎo)地位,搜索的隨機(jī)性減弱,雖然算法收斂速度加快,但易于陷入局部最優(yōu)狀態(tài),影響到算法的隨機(jī)性能和全局搜索能力;若設(shè)置信息素?fù)]發(fā)因子較小,通過(guò)減小信息素?fù)]發(fā)因子雖然可以提高算法的隨機(jī)性能和全局搜索能力,但路徑上的殘留信息占主導(dǎo)地位,信息正反饋的作用相對(duì)較弱,搜索的隨機(jī)性增強(qiáng)。因?yàn)楹茈y在運(yùn)行算法時(shí),預(yù)先確定信息素?fù)]發(fā)因子的值,因此,現(xiàn)有的蟻群算法收斂速度很慢。
本發(fā)明對(duì)現(xiàn)有的蟻群算法容易導(dǎo)致早熟及停滯的現(xiàn)象,改變其信息素釋放策略,提出自適應(yīng)信息素改進(jìn)的蟻群算法,通過(guò)綜合考慮算法的全局搜索能力和收斂速度兩項(xiàng)性能指標(biāo),在適應(yīng)度函數(shù)值經(jīng)過(guò)連續(xù)數(shù)代的迭代后基本保持不變的情況下自適應(yīng)地改變信息素?fù)]發(fā)因子的值。
具體地,在求解的初始階段,信息素?fù)]發(fā)因子的值需要稍大一些以增強(qiáng)蟻群算法搜索速度。隨著循環(huán)次數(shù)的不斷增加,若每次的最優(yōu)值相差不大,說(shuō)明過(guò)程陷入了某個(gè)極值點(diǎn),不一定是全局最優(yōu)解。此時(shí)需要減小信息素?fù)]發(fā)因子的值,提高算法的搜索能力。
由以上三個(gè)改進(jìn)方案確定的基于自適應(yīng)參數(shù)的蟻群算法求解多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法的解算流程示例如下:
st1:初始化算法中的基本參數(shù),包括:信息素影響因子的缺省值、啟發(fā)式信息影響因子的缺省值、迭代總代數(shù)、迭代停滯閾值nn、適應(yīng)度停滯閾值δ及信息素?fù)]發(fā)因子的下限值等。
st2:蟻群選擇一個(gè)子問(wèn)題(即工作時(shí)段。工作時(shí)段是針對(duì)一個(gè)任務(wù)的一個(gè)時(shí)間窗),并根據(jù)狀態(tài)轉(zhuǎn)移規(guī)則選擇一個(gè)頂點(diǎn)加入當(dāng)前的解,至此,完成了一個(gè)任務(wù)的規(guī)劃。
st3:更新候選鏈表,該候選鏈表中包括有已完成任務(wù)和未完成任務(wù);
st4:判斷是否所有任務(wù)都已規(guī)劃,如果是,則對(duì)本代迭代生成的最好解使用局部搜索策略以進(jìn)一步優(yōu)化最好解;如果否,返回st2;
st5:用適應(yīng)度函數(shù)值對(duì)解進(jìn)行評(píng)價(jià),根據(jù)最近兩代適應(yīng)度函數(shù)值的大小判斷是否更新信息素影響因子和啟發(fā)式信息影響因子;及根據(jù)最近連續(xù)nn代生成的最優(yōu)解的適應(yīng)度函數(shù)值是否保持基本不變決定是否更新信息素?fù)]發(fā)因子;根據(jù)適應(yīng)度函數(shù)值對(duì)本代迭代生成的解進(jìn)行評(píng)價(jià),并更新信息素;
st6:判斷是否滿(mǎn)足迭代終止條件,如果滿(mǎn)足,則算法結(jié)束并輸出歷史最優(yōu)解;如果不滿(mǎn)足,返回st2。
本發(fā)明實(shí)施例能夠加快求解和收斂到全局最優(yōu)解的速度,以及降低陷入局部的概率:
(1)改變基本蟻群算法的信息素釋放策略,提出自適應(yīng)信息素改進(jìn)蟻群算法,通過(guò)綜合考慮算法的全局搜索能力和收斂速度兩項(xiàng)性能指標(biāo),自適應(yīng)地改變信息素?fù)]發(fā)因子的值,從而避免基本蟻群算法容易早熟和停滯的現(xiàn)象。
(2)自適應(yīng)地改變蟻群算法中的信息素影響因子和啟發(fā)式信息影響因子。當(dāng)連續(xù)迭代后的最優(yōu)解有改善時(shí),自適應(yīng)地調(diào)整信息素影響因子和啟發(fā)式信息影響因子來(lái)加快收斂,從而提高基本蟻群算法的求解效率。
本發(fā)明實(shí)施例對(duì)蟻群算法改進(jìn)的有益效果可以從兩個(gè)方面進(jìn)行評(píng)價(jià),即改進(jìn)后的算法求解問(wèn)題的質(zhì)量和改進(jìn)后算法求解問(wèn)題的效率。通常,算法求解效果和算法求解效率往往是不可兼得。
本發(fā)明實(shí)施例提供的多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理方法采用改進(jìn)的蟻群算法可在提高運(yùn)算效率的同時(shí)獲得更好的近似最優(yōu)解,得到當(dāng)前的規(guī)劃周期中的最優(yōu)方案,能夠保證求解的觀測(cè)任務(wù)規(guī)劃具有較好的質(zhì)量,且處理效率高。
本發(fā)明實(shí)施例對(duì)蟻群算法能夠兼顧質(zhì)量和效率,使得改進(jìn)后的算法滿(mǎn)足實(shí)際應(yīng)用需求。
另一方面,如圖4所示,本發(fā)明又一實(shí)施例提供一種多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理裝置,包括:
接收模塊10、與所述接收模塊10連接的處理模塊20;
接收模塊10用于接收待多個(gè)衛(wèi)星執(zhí)行的對(duì)地觀測(cè)任務(wù);
所述處理模塊20用于采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)的規(guī)劃,具體包括:
在采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題時(shí),在初始化步驟中,獲取信息素影響因子的缺省值αmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的信息素影響因子的值;
執(zhí)行蟻群算法的迭代過(guò)程,得到每代迭代中生成的最好解st,將每代迭代中生成的最好解st作為一個(gè)解元素記錄到解集合中;及
自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,
獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第一公式解算隨后的第(t+1)代迭代過(guò)程中使用的信息素影響因子的值αt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)αt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第一公式為:
f(t),f(t-1)分別為第t代迭代過(guò)程中生成的最好解st對(duì)應(yīng)的適應(yīng)度函數(shù)值和第(t-1)代迭代過(guò)程中生成的最好解st-1對(duì)應(yīng)的適應(yīng)度函數(shù)值,αt為第t代迭代過(guò)程中使用的信息素影響因子的值;
在迭代過(guò)程滿(mǎn)足終止準(zhǔn)則后,將解集合中具有最大適應(yīng)度函數(shù)值的解元素作為多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的最優(yōu)方案。
可選地,所述處理裝置中,所述處理模塊20用于采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題,具體還可以包括:
在初始化步驟中,獲取蟻群算法的迭代總代數(shù)n,獲取啟發(fā)式信息影響因子的缺省值βmin以作為在第一代迭代過(guò)程和第二代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值;相應(yīng)地,
自第二代迭代過(guò)程開(kāi)始,在得到每代迭代中生成的最好解st之后,獲取當(dāng)前的迭代代數(shù)的值t,并根據(jù)第二公式解算隨后的第(t+1)代迭代過(guò)程中使用的啟發(fā)式信息影響因子的值βt+1,以在隨后的第(t+1)代迭代過(guò)程中根據(jù)βt+1從候選鏈表中選擇頂點(diǎn)加入到待選解中,所述第二公式為:
可選地,所述處理裝置中,所述處理模塊20用于采用蟻群算法處理多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題,具體還可以包括:
在初始化步驟中,獲取蟻群算法的迭代停滯閾值nn、適應(yīng)度停滯閾值δ及信息素?fù)]發(fā)因子的缺省值ρ0,所述ρ0用于在第一次更新信息素?fù)]發(fā)因子的值之前的每代迭代過(guò)程中作為信息素?fù)]發(fā)因子的值;對(duì)應(yīng)地,
自第nn代迭代過(guò)程之后,在判斷連續(xù)的nn代迭代過(guò)程中生成的nn個(gè)最好解對(duì)應(yīng)的適應(yīng)度函數(shù)值的變化率小于適應(yīng)度停滯閾值δ時(shí),觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,并在下一次觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新之前的所有迭代過(guò)程中使用所述更新后的信息素?fù)]發(fā)因子的值解算每代迭代過(guò)程中使用的信息素的值。
可選地,所述處理裝置中,所述處理模塊20用于觸發(fā)針對(duì)信息素?fù)]發(fā)因子的值的更新,得到更新后的信息素?fù)]發(fā)因子的值,具體包括:
獲取當(dāng)前的迭代代數(shù)的值t,獲取當(dāng)前的信息素?fù)]發(fā)因子的值ρt,并根據(jù)第三公式更新信息素?fù)]發(fā)因子的值,得到更新后的信息素?fù)]發(fā)因子的值ρt+1,所述第三公式為:
可選地,所述處理裝置中,所述處理模塊20在每一代迭代中生成的最好解st是每代迭代中生成的所有待選解中具有最大適應(yīng)度函數(shù)值的待選解經(jīng)過(guò)局部搜索之后生成的。
可選地,所述處理裝置中,所述處理模塊20在每一代迭代中生成的最好解st包括:
執(zhí)行每一對(duì)地觀測(cè)任務(wù)的衛(wèi)星標(biāo)識(shí)、觀測(cè)起始時(shí)間點(diǎn)、觀測(cè)結(jié)束時(shí)間點(diǎn);和/或
每一衛(wèi)星與至少一個(gè)地面站交互的下傳起始時(shí)間點(diǎn)、及下傳結(jié)束時(shí)間點(diǎn)。
可選地,處理裝置還可以包括:與處理模塊20連接的發(fā)射模塊30;
所述發(fā)射模塊30用于將每一衛(wèi)星的任務(wù)發(fā)送至該衛(wèi)星中,以使衛(wèi)星按照規(guī)劃的任務(wù)執(zhí)行。
本發(fā)明實(shí)施例提供的多星對(duì)地觀測(cè)任務(wù)規(guī)劃問(wèn)題的處理裝置,采用改進(jìn)的蟻群算法可在提高運(yùn)算效率的同時(shí)獲得更好的近似最優(yōu)解,得到當(dāng)前的規(guī)劃周期中的最優(yōu)方案,能夠保證求解的觀測(cè)任務(wù)規(guī)劃具有較好的質(zhì)量,且處理效率高。
最后應(yīng)說(shuō)明的是:以上所述的各實(shí)施例僅用于說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或全部技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。