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