本發(fā)明涉及航空航天技術(shù)領(lǐng)域,尤其涉及一種基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法。
背景技術(shù):
啟發(fā)式算法是一種基于直觀或經(jīng)驗(yàn)構(gòu)造的近似算法,在可接受的花費(fèi)(如計算時間、占用空間等)下給出待解決組合優(yōu)化問題每一個實(shí)例的一個可行解,該可行解與最優(yōu)解的偏離程度不一定事先可以預(yù)計。啟發(fā)式算法通??梢苑譃橐徊剿惴ǎ倪M(jìn)算法,數(shù)學(xué)規(guī)劃方法,解空間松弛算法和現(xiàn)代優(yōu)化算法等。針對啟發(fā)式算法,實(shí)際問題特征的抽取,求解的經(jīng)驗(yàn)和規(guī)則是其關(guān)鍵所在。在衛(wèi)星任務(wù)規(guī)劃問題中,任務(wù)安排具有較大的不確定性,受到能量約束與存儲約束等使用約束的影響,前面任務(wù)的安排對后續(xù)任務(wù)能否安排影響很大,特別是由于衛(wèi)星本身的能量是一個連續(xù)的不斷變化的量,時間不同做出動作所消耗的存儲和能量都不同,每個動作所消耗的能量難以量化,基于循環(huán)迭代的尋優(yōu)方法很難應(yīng)用于衛(wèi)星的調(diào)度?,F(xiàn)有技術(shù)中,采用基于時序的方式,強(qiáng)調(diào)進(jìn)行前瞻。在考慮安排當(dāng)前任務(wù)時,每次前瞻若干步長的任務(wù),在前瞻步長之內(nèi)檢測任務(wù)與前瞻的任務(wù)是否沖突,決定當(dāng)前任務(wù)是否安排,確定當(dāng)前任務(wù)安排之后再安排衛(wèi)星定向的動作(對日定向、對地定向)。該前瞻啟發(fā)式規(guī)劃算法的主要思想為:每次安排任務(wù)時只考慮當(dāng)前任務(wù)的取舍,安排當(dāng)前任務(wù)時前瞻一定步長的任務(wù),如果這幾個任務(wù)與當(dāng)前任務(wù)存在沖突,則按照一定的規(guī)則取舍當(dāng)前任務(wù),每安排一個任務(wù)檢查前后兩個已安排任務(wù)之間是否能夠安排對日定向和對地定向。算法主要流程如下:Step1:在對本周期的所有任務(wù)進(jìn)行預(yù)處理之后,獲取本規(guī)劃周期的元任務(wù)信息及上周期已觀測未回傳任務(wù)信息;Step2:按照開始時間早的順序排列元任務(wù)(若兩個元任務(wù)的開始時間相同,則把結(jié)束時間早的元任務(wù)排在前面),形成元任務(wù)列表,設(shè)定前瞻(LOOKAHEAD)的最大步長MaxLength;Step3:按順序選取當(dāng)前任務(wù),根據(jù)用戶偏好把放在合適的位置,檢查是否任務(wù)已經(jīng)執(zhí)行完畢,如果是轉(zhuǎn)則Step8,判斷當(dāng)前任務(wù)其后的前瞻任務(wù)是否存在嚴(yán)格沖突,直到找到一個與無嚴(yán)格沖突或者達(dá)到最大步長限制;Step4:按照規(guī)則決定當(dāng)前任務(wù)是否安排觀測,如果安排轉(zhuǎn)Step5,否則轉(zhuǎn)Step3;Step5:檢查電量及儲約束,計算姿態(tài)轉(zhuǎn)換時間,滿足則安排當(dāng)前任務(wù),轉(zhuǎn)Step6,否則轉(zhuǎn)Step3;Step6:把放入回傳窗口隊列,等待下一個回傳窗口按照一定規(guī)則回傳該任務(wù);Step7:檢查與之前任務(wù)之間能否安排對日定向或者對地定向活動,滿足時間要求則安排對日或?qū)Φ囟ㄏ?;轉(zhuǎn)Step3;Step8:檢查回傳隊列中是否還有已安排觀測沒有安排回傳的任務(wù),若有則輸出給仿真管控,滾動到下一個周期進(jìn)行調(diào)度,輸出最終調(diào)度結(jié)果。在Step3中,若采取的成像策略是成像數(shù)量優(yōu)先,則每次安排任務(wù)時,把任務(wù)安排在最大時間窗口的最前點(diǎn);若采取的成像策略是成像質(zhì)量優(yōu)先,則每次安排任務(wù)時,把觀測任務(wù)安排在成像質(zhì)量最佳的時間點(diǎn);若成像策略是綜合效益優(yōu)先,如果時間與后續(xù)任務(wù)的最佳成像時間點(diǎn)不沖突,則任務(wù)安排在成像質(zhì)量最佳的時間點(diǎn),如果時間與后續(xù)任務(wù)的最佳成像時間點(diǎn)存在交錯,則把當(dāng)前任務(wù)安排在其最早成像時間點(diǎn),保證后續(xù)任務(wù)安排在其最佳成像時間點(diǎn)。在前瞻啟發(fā)算法中,當(dāng)前任務(wù)的取舍規(guī)則至關(guān)重要,因?yàn)樗鼪Q定了最終任務(wù)規(guī)劃方案的優(yōu)劣。簡單地依據(jù)當(dāng)前任務(wù)優(yōu)先級與前瞻步長內(nèi)后續(xù)任務(wù)優(yōu)先級之間的關(guān)系進(jìn)行取舍存在著明顯的缺陷,即使在僅考慮時間窗口的情況下,上述任務(wù)取舍規(guī)則仍不能保證方案的最優(yōu)性。因此,提供一種高效準(zhǔn)確的啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法是本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種高效準(zhǔn)確的啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法。為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法,對于某一次前瞻操作,假設(shè)當(dāng)前待規(guī)劃的任務(wù)是,當(dāng)前規(guī)劃時刻為,求解目標(biāo)是以優(yōu)先級之和為評價指標(biāo)從任務(wù)集中找出一個最優(yōu)任務(wù)規(guī)劃方案,然后判斷是否在此方案中,并依次判斷它的取舍問題;首先用表示以為開始規(guī)劃時刻、任務(wù)集中最優(yōu)規(guī)劃方案的優(yōu)先級之和,其中、都是正整數(shù),從而將求解目標(biāo)轉(zhuǎn)化為求及其對應(yīng)的規(guī)劃方案,具體步驟如下:Step1:設(shè)置循環(huán)變量,代表當(dāng)前待處理的任務(wù)是;已安排任務(wù)優(yōu)先級之和為;已規(guī)劃序列;當(dāng)前規(guī)劃時刻;Step2:對于當(dāng)前任務(wù),為判斷它是否應(yīng)當(dāng)安排,按如下步驟找出其對應(yīng)的前瞻子任務(wù)集合中的最優(yōu)規(guī)劃序列:Step2.1:按照公式和計算矩陣的邊界值,其中,是最優(yōu)前瞻任務(wù)規(guī)劃方案對應(yīng)的任務(wù)優(yōu)先級之和;Step2.2:按照公式計算矩陣的所有其它元素值,每個單元只計算一次;Step2.3:根據(jù)矩陣中的信息,用回退法求對應(yīng)的規(guī)劃方案;Step3:如果包含在規(guī)劃序列中,則,,;Step4:如果,則轉(zhuǎn)向Step2;否則算法結(jié)束,即為規(guī)劃結(jié)果。與現(xiàn)有技術(shù)相比,本發(fā)明所提供的基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法,具有以下優(yōu)點(diǎn):1、采用動態(tài)規(guī)劃(DynamicProgramming,簡稱DP)算法,以優(yōu)先級之和為評價指標(biāo)從任務(wù)集中找出一個最優(yōu)任務(wù)規(guī)劃方案,然后判斷是否在此方案中,并依次判斷它的取舍問題,且每次前瞻操作都按照上述動態(tài)規(guī)劃的策略進(jìn)行任務(wù)取舍,從而,不僅可以保證問題解的全局最優(yōu)性,而且可通過避免重復(fù)計算來提高求解的效率;2、每一次前瞻操作的計算開銷不超過,其中為最后一個任務(wù)的結(jié)束時間與當(dāng)前規(guī)劃開始時間之差,可以簡單稱之為規(guī)劃周期,對于整個任務(wù)集,由于總?cè)蝿?wù)數(shù)為,則找出最優(yōu)前瞻任務(wù)規(guī)劃方案的時間復(fù)雜度為,因此,采用動態(tài)規(guī)劃方法,最優(yōu)前瞻規(guī)劃的計算開銷隨前瞻步長K、規(guī)劃周期、總?cè)蝿?wù)數(shù)都成線性增長,由于規(guī)劃周期一般不超過一天即86400秒,所以上述時間復(fù)雜度是可以接收的,達(dá)到了使其針對前瞻步長K不敏感的目的。綜上所述,本發(fā)明所提供的基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法,具有高效準(zhǔn)確的優(yōu)點(diǎn)。具體實(shí)施方式本發(fā)明的目的是提供一種高效準(zhǔn)確的啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法。為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面對本發(fā)明進(jìn)行詳細(xì)描述,本部分的描述僅是示范性和解釋性,不應(yīng)對本發(fā)明的保護(hù)范圍有任何的限制作用。在一種實(shí)施例中,本發(fā)明提供一種基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法,對于某一次前瞻操作,假設(shè)當(dāng)前待規(guī)劃的任務(wù)是,當(dāng)前規(guī)劃時刻為,求解目標(biāo)是以優(yōu)先級之和為評價指標(biāo)從任務(wù)集中找出一個最優(yōu)任務(wù)規(guī)劃方案,然后判斷是否在此方案中,并依次判斷它的取舍問題;首先用表示以為開始規(guī)劃時刻、任務(wù)集中最優(yōu)規(guī)劃方案的優(yōu)先級之和,其中、都是正整數(shù),從而將求解目標(biāo)轉(zhuǎn)化為求及其對應(yīng)的規(guī)劃方案,具體步驟如下:Step1:設(shè)置循環(huán)變量,代表當(dāng)前待處理的任務(wù)是;已安排任務(wù)優(yōu)先級之和為;已規(guī)劃序列;當(dāng)前規(guī)劃時刻;Step2:對于當(dāng)前任務(wù),為判斷它是否應(yīng)當(dāng)安排,按如下步驟找出其對應(yīng)的前瞻子任務(wù)集合中的最優(yōu)規(guī)劃序列:Step2.1:按照公式和計算矩陣的邊界值,其中,是最優(yōu)前瞻任務(wù)規(guī)劃方案對應(yīng)的任務(wù)優(yōu)先級之和;Step2.2:按照公式計算矩陣的所有其它元素值,每個單元只計算一次;Step2.3:根據(jù)矩陣中的信息,用回退法求對應(yīng)的規(guī)劃方案;Step3:如果包含在規(guī)劃序列中,則,,;Step4:如果,則轉(zhuǎn)向Step2;否則算法結(jié)束,即為規(guī)劃結(jié)果。與現(xiàn)有技術(shù)相比,本實(shí)施例所公開的基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法,具有以下優(yōu)點(diǎn):1、采用動態(tài)規(guī)劃(DynamicProgramming,簡稱DP)算法,以優(yōu)先級之和為評價指標(biāo)從任務(wù)集中找出一個最優(yōu)任務(wù)規(guī)劃方案,然后判斷是否在此方案中,并依次判斷它的取舍問題,且每次前瞻操作都按照上述動態(tài)規(guī)劃的策略進(jìn)行任務(wù)取舍,從而,不僅可以保證問題解的全局最優(yōu)性,而且可通過避免重復(fù)計算來提高求解的效率;2、每一次前瞻操作的計算開銷不超過,其中為最后一個任務(wù)的結(jié)束時間與當(dāng)前規(guī)劃開始時間之差,可以簡單稱之為規(guī)劃周期,對于整個任務(wù)集,由于總?cè)蝿?wù)數(shù)為,則找出最優(yōu)前瞻任務(wù)規(guī)劃方案的時間復(fù)雜度為,因此,采用動態(tài)規(guī)劃方法,最優(yōu)前瞻規(guī)劃的計算開銷隨前瞻步長K、規(guī)劃周期、總?cè)蝿?wù)數(shù)都成線性增長,由于規(guī)劃周期一般不超過一天即86400秒,所以上述時間復(fù)雜度是可以接收的,達(dá)到了使其針對前瞻步長K不敏感的目的。綜上所述,本實(shí)施例所提供的基于動態(tài)規(guī)劃的前瞻啟發(fā)式衛(wèi)星任務(wù)規(guī)劃算法,具有高效準(zhǔn)確的優(yōu)點(diǎn)。需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括哪些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,由于文字表達(dá)的有限性,而客觀上存在無限的具體結(jié)構(gòu),對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)、潤飾或變化,也可以將上述技術(shù)特征以適當(dāng)?shù)姆绞竭M(jìn)行組合;這些改進(jìn)潤飾、變化或組合,或未經(jīng)改進(jìn)將發(fā)明的構(gòu)思和技術(shù)方案直接應(yīng)用于其它場合的,均應(yīng)視為本發(fā)明的保護(hù)范圍。