本發明涉及通信領域,具體涉及一種基于雙蟻群的多星任務調度方法和裝置。
背景技術:
地球觀測衛星是一種重要的圖像獲取平臺,它們能夠在運行軌道上通過遙感器對地面目標進行觀測,并將獲得的圖像數據下傳至地面站,通過后期加工形成圖像產品。
當前,地球觀測衛星經常作為系列發射,如中國的高分系列,計劃發射7顆民用衛星,目前已發射2顆。這些衛星能夠組成較為完整的觀測系統,服務于特定領域的信息需求。
地球觀測衛星的任務調度是指根據一定的優化目標,對多個對地觀測任務(簡稱觀測任務)進行排程,以確定執行各任務的具體衛星和具體時間,由于受到星上存儲器的容量限制,每執行一定數量的觀測任務,就需要將圖像數據傳回至地面站,以釋放星上存儲容量。因此,對地觀測和數據下傳總是穿插進行的,任務調度也應該包括對數據下傳任務(簡稱下傳任務)的調度。這兩種任務最大的區別在于觀測任務是根據用戶需求產生的,在調度之前就已經確定,而下傳任務是根據調度的情況以及衛星的星上存儲量而動態產生的,在調度之前無法確定。
衛星的任務調度是影響衛星應用效率的關鍵技術之一。然而,當前的很多研究是將觀測任務和下傳任務分開調度的,但是,觀測任務和下傳任務分開調度無法從整體上取得最優的衛星使用效率。目前還沒有有效的方案可以實現觀測任務和下傳任務的集成調度問題。
技術實現要素:
針對現有技術的不足,本發明提供了一種基于雙蟻群的多星任務調度方法和裝置,解決了觀測任務和下傳任務的集成調度問題,有利于提高衛星使用效率。
為實現以上目的,本發明通過以下技術方案予以實現:
一種基于雙蟻群的多星任務調度方法,包括:
構建多個衛星的任務調度的數學模型,所述任務包括觀測任務和下傳任務,所述數學模型包含至少一個約束;
基于雙蟻群算法對所述數學模型進行求解,獲得多個衛星的任務調度方案;
根據所述多個衛星的任務調度方案調度多個衛星的觀測任務和下傳任務。
可選的,所述多個衛星的任務調度的數學模型為:
其中,
Rnum,Rwgt是比例系數;
T={1,2,...,i,...,NT}是目標集合,目標對應一個觀測任務,NT是目標數量,i表示第i個目標;
S={1,2,...,j,...NS}是衛星集合,NS是衛星數量,j表示第j個衛星;
是衛星j在調度周期中的軌道圈次數集合,k為衛星j的第k圈次,為調度期最大圈次數;
twi是目標i的權重;
是決策變量,
是一般變量,
可選的,所述約束包括以下約束中的至少一種:
約束1:
約束2:
約束3:
約束4:
約束5:
約束6:
約束7:
其中,
STj是衛星j的存儲容量;
是衛星j的最大存儲容量;
是衛星j開始觀測時的存儲容量即STj的初始值;
是衛星j結束觀測時的存儲容量即STj的最終值;
etj是衛星j在單位時間進行觀測或數據下傳所需消耗的能量;
Ej是衛星j在單個軌道圈次內可消耗的最大能量;
tdi是目標i的觀測時間;
tci是觀測目標i所需消耗的衛星存儲;
是目標i與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間;
TGapj是衛星j觀測完某個目標后需要調整進入下個觀測狀態的過渡時間;
G={1,2,...,m,...,NG}是地面站集合,NG是地面站數量,m表示第m個地面站;
GGapm是地面站m在前后接收兩顆衛星的下傳時,之間的過渡時間;
是地面站m與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間。
可選的,所述基于雙蟻群算法對所述數學模型進行求解,獲得多個衛星的任務調度方案包括:
步驟A,對蟻群進行初始化;
步驟B,判斷求解過程是否停泄,如果是,進入步驟C,否則,進入步驟D;
步驟C,選擇全局最優解中未觀測衛星的觀測機會為首個節點,并刪除相應節點;
步驟D,在第一支蟻群選擇一個下傳機會點,并刪除相應節點;
步驟E,在第二支蟻群選擇觀測機會點,并刪除相應節點;
步驟F,判斷當前代蟻群是否生成完整解,如果是,進入步驟G,否則,返回步驟D;
步驟G,對所述完整解進行評價,并分別對兩支蟻群進行信息素更新;
步驟H,判斷是否求解過程滿足終止條件,如果是,結束,否則,返回步驟A。
可選的,所述衛星為中國高分系列衛星。
一種基于雙蟻群的多星任務調度裝置,包括:
模型構建單元,用于構建多個衛星的任務調度的數學模型,所述任務包括觀測任務和下傳任務,所述數學模型包含至少一個約束;
模型求解單元,用于基于雙蟻群算法對所述數學模型進行求解,獲得多個衛星的任務調度方案;
任務調度單元,用于根據所述多個衛星的任務調度方案調度多個衛星的觀測任務和下傳任務。
可選的,所述多個衛星的任務調度的數學模型為:
其中,
Rnum,Rwgt是比例系數;
T={1,2,...,i,...,NT}是目標集合,目標對應一個觀測任務,NT是目標數量,i表示第i個目標;
S={1,2,...,j,...NS}是衛星集合,NS是衛星數量,j表示第j個衛星;
是衛星j在調度周期中的軌道圈次數集合,k為衛星j的第k圈次,為調度期最大圈次數;
twi是目標i的權重;
是決策變量,
是一般變量,
可選的,所述約束包括以下約束中的至少一種:
約束1:
約束2:
約束3:
約束4:
約束5:
約束6:
約束7:
其中,
STj是衛星j的存儲容量;
是衛星j的最大存儲容量;
是衛星j開始觀測時的存儲容量即STj的初始值;
是衛星j結束觀測時的存儲容量即STj的最終值;
etj是衛星j在單位時間進行觀測或數據下傳所需消耗的能量;
Ej是衛星j在單個軌道圈次內可消耗的最大能量;
tdi是目標i的觀測時間;
tci是觀測目標i所需消耗的衛星存儲;
是目標i與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間;
TGapj是衛星j觀測完某個目標后需要調整進入下個觀測狀態的過渡時間;
G={1,2,...,m,...,NG}是地面站集合,NG是地面站數量,m表示第m個地面站;
GGapm是地面站m在前后接收兩顆衛星的下傳時,之間的過渡時間;
是地面站m與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間。
可選的,所述模型求解單元包括:
初始化子單元,用于對蟻群進行初始化;
第一判斷子單元,用于判斷求解過程是否停泄,如果是,觸發第一觀測節點選擇子單元,否則,觸發下傳節點選擇子單元;
第一觀測節點選擇子單元,用于選擇全局最優解中未觀測目標的觀測機會為首個節點,并刪除相應節點;
下傳節點選擇子單元,用于在第一支蟻群選擇一個下傳機會點,并刪除相應節點;
第二觀測節點選擇子單元,用于在第二支蟻群選擇觀測機會點,并刪除相應節點;
第二判斷子單元,用于判斷當前代蟻群是否生成完整解,如果是,觸發評價更新子單元,否則,重新觸發下傳節點選擇子單元;
評價更新子單元,用于對完整解進行評價,并分別對兩支蟻群進行信息素更新;
第三判斷子單元,用于判斷求解過程是否滿足終止條件,如果是,結束,否則,重新觸發初始化子單元。
可選的,所述衛星為中國高分系列衛星。
本發明實施例提供了一種基于雙蟻群的多星任務調度方法和裝置。具備以下有益效果:
通過雙蟻群算法,實現了觀測任務和下傳任務的集成調度,有利于提高衛星使用效率。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為根據本發明實施例的衛星觀測與下傳的示意圖;
圖2為根據本發明實施例的觀測的時間窗的示意圖;
圖3為根據本發明實施例的兩個觀測任務之間的過渡時間的示意圖;
圖4為根據本發明實施例的基于雙蟻群的多星任務調度方法的流程圖;
圖5為根據本發明實施例的任務沖突示意圖;
圖6為根據本發明實施例的基于雙蟻群算法求解數學模型的方法的流程圖;
圖7為根據本發明實施例的基于雙蟻群的多星任務調度裝置的結構框架圖。
具體實施方式
為了方便理解本發發明實施例的技術方案,下面對多星任務調度的相關技術做基本介紹。
衛星在運行軌道上通過遙感器對地面目標成像,每次成像動作會在地面上形成一個具有一定幅寬的成像條帶,參閱圖1中所示。一個地面目標只需被成像一次即可完成觀測。另外,每次成像獲得的數據會暫時存儲在衛星的存儲器內,當衛星觀測了一定數量的目標之后,需要將圖像數據下傳至地面站,以釋放存儲器容量,整個觀測任務和下傳任務的過程如圖1所示。
其中,在執行觀測任務時,由于衛星是在軌道上不斷運動的,在給定的調度周期內,衛星有不同的軌道圈次,因此,對地面目標的成像必須待衛星在某一軌道圈次內運動至目標的上空時進行,此時衛星的遙感器會在一個時間段之內能夠看見目標,這個時間段稱為時間窗,如圖2所示。在給定的規劃周期內,衛星與目標之間一般不止存在一個時間窗,衛星對目標的觀測需在其中某一個時間窗之內完成,所以又可將目標的時間窗稱為觀測機會。實際對目標進行觀測的時間會小于可見的時間窗,實際觀測的開始時間與結束時間如圖2所示。
并且,一顆衛星在執行前后相繼的2個觀測任務時,中間需要有一定的過渡時間,以讓衛星遙感器作好調整。即后一個任務的觀測開始時間減去前一個任務的觀測結束時間要大于一個過渡時間,如圖3所示。
其中,在執行下傳任務時,衛星上有一個固定容量的星上存儲器,衛星將觀測的目標圖像數據暫時存放在該星上存儲器中。在將數據傳回地面站之后,星上存儲器的存儲容量被釋放。因此星上存儲器的實時容量在整個觀測過程中是動態變化的。
除了考慮上述條件之外,另外,衛星在觀測目標以及下傳數據的過程中都會消耗能量,而衛星在每一個軌道圈次內可使用的能量又是有限的,因此在調度過程中,每一圈次中的能量消耗不能超過這個最大的能量限制。
并且,地面站可以接受衛星下傳的數據,和觀測任務一樣,下傳任務也需要在相應的下傳機會(即時間窗)之內完成。由于數據下傳會消耗衛星能量,以及占用衛星的工作時間,因此應盡可能充分利用星上存儲,盡量減少數據下傳的次數。
一個地面站一次只能接收一顆衛星的下傳。如果有2顆衛星需要對同一個地面站先后進行下傳,則需要一個過渡時間讓地面站調整接收天線。
本發明實施例采用觀測任務和下傳任務的集成調度方案,集成調度有利于提高衛星使用效率,但也增加了調度的復雜性,如上所述,需要考慮更多的約束條件,問題的搜索空間進一步擴大,從而增大了解空間,使算法求解上更加困難。本發明實施例提供了一種針對集成調度的可行性強的求解方法。
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對觀測衛星的任務調度(包括對觀測任務和下傳任務的調度)的工作原理以及本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例1:
請參閱圖4所示,圖4為根據本發明實施例的一種基于雙蟻群的多星任務調度方法,該方法例如可以包括以下步驟:
步驟401:構建多個衛星的任務調度的數學模型,所述任務包括觀測任務和下傳任務,所述數學模型包含至少一個約束。
其中,在本發明實施例中,首先對多星觀測任務與下傳任務調度問題進行建模,該數學模型如下:
式(1)是目標函數,由兩個部分組成,一是已執行的觀測任務數量總和,二是已執行的觀測任務權重總和,調度目標是使它們的加權和最大化,其中,
Rnum,Rwgt是比例系數;
T={1,2,...,i,...,NT}是目標集合,目標對應一個觀測任務,NT是目標數量,i表示第i個目標;
S={1,2,...,j,...NS}是衛星集合,NS是衛星數量,j表示第j個衛星;是衛星j在調度周期中的軌道圈次數集合,k為衛星j的第k圈次,為調度期最大圈次數;
twi是目標i的權重;
是決策變量,
是一般變量,
另外,基于以上考慮條件,建立模型的約束條件如下:
約束(2)表示每個觀測任務最多選擇一個觀測機會執行一次;
約束(3)表示在同一地面站上任意兩個存在時間沖突的下傳機會中最多只能一個執行數據下傳任務;
約束(4)表示同一顆衛星一次最多從下傳機會和觀測機會中選一個執行;
約束(5)表示任意兩個觀測任務被同一顆衛星執行,則兩個任務之間至少需要有一定的過渡時間;
約束(6)任意兩顆衛星對同一個地面站下傳數據,則地面站在接收兩顆衛星的數據下傳之間至少需要有一定的過渡時間;
約束(7)表示衛星在每一個軌道圈次內消耗的能量不能超過最大能量限制;
約束(8)表示在給定的規劃周期內,衛星開始觀測時的存儲容量與結束觀測的存儲容量都必須為衛星的最大存儲容量,以及衛星存儲容量在小于等于最大存儲容量條件下,是否執行相應的觀測任務和下傳任務帶來存儲容量的變化。
其中:
STj是衛星j的存儲容量;
是衛星j的最大存儲容量;
是衛星j開始觀測時的存儲容量即STj的初始值;
是衛星j結束觀測時的存儲容量即STj的最終值;
etj是衛星j在單位時間進行觀測或數據下傳所需消耗的能量;
Ej是衛星j在單個軌道圈次內可消耗的最大能量;
tdi是目標i的觀測時間;
tci是觀測目標i所需消耗的衛星存儲;
是目標i與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間;
TGapj是衛星j觀測完某個目標后需要調整進入下個觀測狀態的過渡時間;
G={1,2,...,m,...,NG}是地面站集合,NG是地面站數量,m表示第m個地面站;
GGapm是地面站m在前后接收兩顆衛星的下傳時,之間的過渡時間;
是地面站m與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間。步驟402:基于雙蟻群算法對所述數學模型進行求解,獲得所述多個衛星的任務調度方案。
下面,將詳細說明基于雙蟻群算法對數學模型的求解方法。
由觀測機會和約束條件所轉化的圖是建立適宜雙蟻群算法求解的優化模型的基礎,如圖5所示G=(A,E),A表示所有目標的觀測機會集合和下傳機會集合,E由A中點之間的沖突關系而構建,其中沖突關系包含四種:
第一、由于本數據模型中待觀測目標只需選擇一次觀測機會進行一次觀測即可,所以同一個待觀測目標的不同觀測機會存在沖突,即約束(2)。
第二、同一顆衛星上的不同觀測機會之間存在執行時間上的沖突,即約束(5)。
第三、同一顆衛星的下傳機會和觀測機會之間存在執行時間上的沖突,即約束(4)。
第四、不同下傳機會之間存在執行時間上的沖突,即約束(6)。
調度目標是在預先規定的時間段范圍內完成數量多的和權重總和綜合較大的觀測任務集合,也就是在圖5中尋找使得目標函數最大化的獨立集,這就將所構造的沖突構造圖轉化為適合雙蟻群算法求解的獨立集模型。
本發明實施例考慮的多星任務調度模型包括了觀測任務和下傳任務,還包括了能量的約束,采用雙雙蟻群算法,首先第一支蟻群選擇一個下傳機會點,然后第二支蟻群在第一支蟻群選中的下傳機會點的基礎上,選擇觀測機會點,緊接著第一支蟻群再次選擇一個下傳機會點和第二個蟻群再在此下傳機會點的基礎上選擇觀測機會點,如此反復。在規劃觀測任務之前就已經規劃了相應的下傳任務,同時每顆衛星的每圈次能量值也是預先得知,即只需在規劃觀測任務時將下傳任務和圈次能量看作成約束條件即可,將問題的模型轉化為條件限制下的目標函數最大化的獨立集問題。
雙蟻群算法是意大利學者Dorigo M等于1991年提出的一種模仿自然界螞蟻覓食行為的智能算法,廣泛地應用到生產排成,路徑規劃,機器調度等問題上。
下面基于雙蟻群算法求解TSP(Travelling Salesman Problem,旅行商問題)問題,對基本雙蟻群算法進行介紹。TSP問題可以表示為N個城市的完全圖G=(N,A)N表示為城市的集合,A表示城市間的連接邊集合。雙蟻群算法基于城市i通過下面公式(1)來選擇下一個城市j,τif代表從節點i移動到節點j的后驗效應,以(i,j)連邊上的信息素濃度表示。ηij代表從節點i移動到節點j的先驗效應,通過啟發式信息計算得出,表示對有吸引性解的顯式傾向性,在TSP問題中通常取dij表示i與j距離的倒數。θ和β分別表示信息素和啟發式信息的相對重要程度,Ni表示在當前點i基礎上下一步可以選擇的點的集合。當螞蟻構造出了一個完整解S后,對信息素按照如下公式(2)進行更新,其中ρ為信息素揮發系數,在TSP問題中通常取f(s)為解S中城市點間的距離總和。
τij(t+1)=τij(t)*(1-ρ)+Δτ (10)
如上所示,雙蟻群算法求解TSP問題是典型的雙蟻群算法求解順序類問題,假設S’={a1,a2,a3......ai}表示問題的部分解,R={ai+1,ai+2,ai+3……an}表示在部分解S’基礎上問題解的剩余其他可選元素,從R中選取元素aj(i∈{i+1,i+2......n})的概率Pij與部分解最后一個元素ai有關,也就是螞蟻根據(i,j)邊上的信息素τij和啟發式信息ηij共同引導,從R中選擇出aj加入到部分解中。
回到本發明實施例中,從上文可以看出,多星任務調度的問題模型可以看做求解獨立集的問題模型,雙蟻群算法在求解子集類問題時并不關心部分解中元素的順序,假設S’={a1,a2,a3......ai}表示問題的部分解,R={ai+1,ai+2,ai+3……an}表示在部分解S’基礎上可以選擇的問題解的其他元素,即問題解的剩余元素中滿足相應約束條件,可以被選中構成部分解的元素集合。從R中選取元素aj(i∈{i+1,i+2......n})的概率Pj由信息素τj和啟發式信息ηj決定。
基于衛星任務規劃的任務沖突圖的蟻群將信息素τi釋放在圖4中的節點之上,第一支蟻群規劃下傳任務,選擇相應的下傳機會點,將信息素τi釋放在圖5中的下傳機會節點之上,即τi表示蟻群選擇編號為i的下傳機會執行相應衛星的下傳任務的“知識積累”。第k只螞蟻選擇下傳機會節點時根據公式(3),其中θ決定了信息素對概率的影響程度,q∈[0,1]是一個隨機數,q0∈[0,1]是均衡蟻群探索與開發能力的參數,candidate表示在任務沖突圖中與部分解中的點沒有連線的候選下傳機會節點集合A1。當螞蟻選中一個下傳機會節點,判斷是否滿足能量約束即約束(7),當不滿足時,則在任務沖突圖中和A1只刪除該點自身,并繼續選擇下傳機會節點直到被選中的下傳機會節點滿足約束(7)而成功插入到部分解中,并在任務沖突圖和A1中刪除與該點有連線的點包括其自身,如若A1中不存在下傳機會節點,則得到問題的解并終止本次迭代求解。
第二支蟻群規劃觀測任務,選擇相應的觀測機會點,將信息素τi釋放在圖中的觀測機會節點之上,即τi表示了蟻群選擇編號為i的觀測機會執行相應目標的觀測任務的“知識積累”。和第一支蟻群類似,第二支蟻群中第k只螞蟻選擇觀測任務節點時根據公式(3),其中的candidate表示在任務沖突圖中與部分解中點沒有連線的候選觀測任務節點集合A2。當螞蟻選中一個節點,首先進行能量約束即約束(7)判斷,如果不滿足能量約束,則在任務沖突圖中以及在A2中刪除該點,并重新進入從A2中選擇節點的計算,如果滿足能量約束,則進入存儲約束即約束(8)判斷,當其不滿足約束(8),則在A2中刪除該點,并重新進入從A2中選擇節點的計算,當其滿足約束(8),則該節點成功插入到部分解中,并在任務沖突圖、A1和A2中刪除與該點有連線的點包括其自身。直到A2無點可選,則重新進入第一支蟻群的運算,開始新的下傳機會節點選擇。
由此公式可以看出,本發明實施例只依靠信息素來引導螞蟻進行求解,而沒有利用與問題本身有關的啟發式信息。
發明人在研究本發明實施例的過程中,考慮過與問題相關的啟發式信息,如:目標的剩余觀測機會、目標的權重、目標的執行時間、觀測機會的沖突度,下傳機會間時間差等啟發式信息來構成相應的啟發式信息體系來引導螞蟻,然而由于問題的復雜約束造成了啟發式信息不具有前瞻性,使得算法快速的收斂易陷入局部優,并沒有提高解的質量,反而由于計算相應的啟發式信息而導致算法運行時間的增加。
反復交替執行第一支蟻群和第二支蟻群的操作直到圖中的下傳任務節點為空為止,便可以得到問題的解,每只螞蟻開始求解的過程都要首先初始化任務沖突圖。每代螞蟻完成求解后,為了避免算法過早收斂,依據最大最小雙蟻群算法規則,如公式(12,13,14,15)來分別對兩支蟻群進行信息素更新,其中ρ為信息素揮發系數,Δτ為信息增量依據全局最優解計算而來,本文取τmax=1/ρ,τmax=τmax/20。
τi(t+1)=τi(t)*(1-ρ)+Δτ(t) (12)
Δτ(t)=Fitness(Sbest) (13)
τi(t+1)=τmax ifτi(t+1)>τmax (14)
τi(t+1)=τmin ifτi(t+1)<τmin (15)
當判斷算法陷入停泄時,則在下一代解中從全局最優解中未觀測目標的觀測機會點集合中隨機選取一個點作為首個插入到解中的節點,并在任務沖突圖中刪除與之連線的節點,這樣增加了解的多樣性的同時也保證了解的質量,因為只有未觀測目標可以得到相應的觀測機會,才有可能提高解的質量。
求解算法的流程如圖6所示,其包括以下步驟:
步驟601,對蟻群進行初始化。
步驟602,判斷求解過程是否停泄,如果是,進入步驟603,否則,進入步驟604。
步驟603,選擇全局最優解中未觀測衛星的觀測機會為首個節點,并刪除相應節點。
步驟604,在第一支蟻群選擇一個下傳機會點,并刪除相應節點。
步驟605,在第二支蟻群選擇觀測機會點,并刪除相應節點。
步驟606,判斷此代蟻群是否生成完整解,如果是,進入步驟607,否則,返回步驟604。
步驟607,對完整解進行評價,并分別對兩支蟻群進行信息素更新。
步驟608,判斷求解過程是否滿足終止條件,如果是,結束,否則,返回步驟601。
另外,上述求解算法的偽碼如下所示:
Step1
讀取數據,并給每個觀測機會和下傳機會編號成:和其中num1和num2就是觀測機會和下傳機會的編號,能夠唯一地確定某個觀測機會或下傳機會。
Step2
If不滿足最大迭代代數
For兩支蟻群中每只螞蟻
初始化沖突構造圖G=(A,E),A1:下傳機會集合,A2:觀測集合,
,ρ1,r1,θ1,q1;ρ2,r2,q2
If算法發生停泄
選擇全局最優解中未觀測目標的觀測機會為首個節點添加到部分解S′中,從A中刪除與ai相連的點,包括ai自身從A中提取下傳機會集合A1
WhileA1!=null
White ai沒有成功添加到部分解S′中
Select ai∈A1 according 公式(3)
If ai滿足能量約束
將ai添加到部分解S′中,從A1,A中刪除與ai相連的點,包括ai
break
Else
從A和A1中刪除ai
從A中提取觀測機會集合A2
While A2!=null
Select ai∈A2 according 公式(3)
If ai滿足能量約束
If ai滿足下傳約束
將ai添加到部分解S′中,從A、A1和A2中刪除與ai相連的點,包括ai
Else
從A2中刪除ai
Else
從A,A2中刪除ai
得到完整的解S,求取S的適應度值Fitness(s),對兩支蟻群的
信息素
依據公式(4,5,6,7)進行更新
Step3
輸出最終全局最優解Sbest
求解完畢后,繼續進行調度。
步驟403,根據所述多個衛星的任務調度方案調度多個衛星的觀測任務和下傳任務。
本發明實施例對具體的調度方式不做具體限定。
根據本發明實施,通過雙蟻群算法,實現了觀測任務和下傳任務的集成調度,有利于提高衛星使用效率。
實施例2:
請參閱圖7所示,圖7為根據本發明實施例的一種基于雙蟻群的多星任務調度裝置,該裝置包括:
模型構建單元701,用于構建多個衛星的任務調度的數學模型,所述任務包括觀測任務和下傳任務,所述數學模型包含至少一個約束;
模型求解單元702,用于基于雙蟻群算法對所述數學模型進行求解,獲得多個衛星的任務調度方案;
任務調度單元703,用于根據所述多個衛星的任務調度方案調度多個衛星的觀測任務和下傳任務。
在本發明的一個可選實施例中,所述多個衛星的任務調度的數學模型為:
其中,
Rnum,Rwgt是比例系數;
T={1,2,...,i,...,NT}是目標集合,目標對應一個觀測任務,NT是目標數量,i表示第i個目標;
S={1,2,...,j,...NS}是衛星集合,NS是衛星數量,j表示第j個衛星;
是衛星j在調度周期中的軌道圈次數集合,k為衛星j的第k圈次,為調度期最大圈次數;
twi是目標i的權重;
是決策變量,
是一般變量,
在本發明的另一個可選實施例中,所述約束包括以下約束中的至少一種:
約束1:
約束2:
約束3:
約束4:
約束5:
約束6:
約束7:
其中,
STj是衛星j的存儲容量;
是衛星j的最大存儲容量;
是衛星j開始觀測時的存儲容量即STj的初始值;
是衛星j結束觀測時的存儲容量即STj的最終值;
etj是衛星j在單位時間進行觀測或數據下傳所需消耗的能量;
Ej是衛星j在單個軌道圈次內可消耗的最大能量;
tdi是目標i的觀測時間;
tci是觀測目標i所需消耗的衛星存儲;
是目標i與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間;
TGapj是衛星j觀測完某個目標后需要調整進入下個觀測狀態的過渡時間;
G={1,2,...,m,...,NG}是地面站集合,NG是地面站數量,m表示第m個地面站;
GGapm是地面站m在前后接收兩顆衛星的下傳時,之間的過渡時間;
是地面站m與衛星j在第k個軌道圈次內的執行時間窗,是開始時間,是結束時間。
在本發明的另一個可選實施例中,模型求解單元702包括:
初始化子單元,用于對蟻群進行初始化;
第一判斷子單元,用于判斷求解過程是否停泄,如果是,觸發第一觀測節點選擇子單元,否則,觸發下傳節點選擇子單元;
第一觀測節點選擇子單元,用于選擇全局最優解中未觀測目標的觀測機會為首個節點,并刪除相應節點;
下傳節點選擇子單元,用于在第一支蟻群選擇一個下傳機會點,并刪除相應節點;
第二觀測節點選擇子單元,用于在第二支蟻群選擇觀測機會點,并刪除相應節點;
第二判斷子單元,用于判斷當前代蟻群是否生成完整解,如果是,觸發評價更新子單元,否則,重新觸發下傳節點選擇子單元;
評價更新子單元,用于對完整解進行評價,并分別對兩支蟻群進行信息素更新;
第三判斷子單元,用于判斷求解過程是否滿足終止條件,如果是,結束,否則,重新觸發初始化子單元。
在本發明的另一個可選實施例中,所述衛星為中國高分系列衛星。
根據本發明實施,通過雙蟻群算法,實現了觀測任務和下傳任務的集成調度,有利于提高衛星使用效率。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。