本發明涉及一種面向敏捷衛星多目標任務規劃的差分進化方法。
背景技術:
敏捷衛星多目標規劃問題具有明顯的時間依賴的特征,分析時間依賴調度方法的研究現狀對敏捷衛星多目標規劃研究的幫助較大。當前關于時間依賴調度方法的研究,主要為時間依賴加工時間、時間依賴的收益以及時間依賴的轉換時間三個方面的研究。Gupta和Browne最早提出時間依賴的加工時間,后續的學者對問題的擴展形式進行了研究,研究的目標函數主要分為最小化完工時間之和與最小化加工周期,加工時間對加工開始時間的依賴關系以線性關系為主,也有Huang、Toskar等學者研究了指數型的依賴關系。對于這些問題,許多研究者提出了啟發式算法,也有像Hindi采用了如模擬退火的智能算法來解決呈線性遞減關系的加工時間依賴問題。
在時間依賴的收益研究上,主要考慮了時間依賴懲罰與時間依賴價值兩種情況。Yang對單資源環境下以最小化加權延期懲罰與資源超期使用懲罰之和為目標的調度問題進行了研究,提出采用局部搜索算法來尋找加工序列。Tanaka提出了一種兩階段過程的最優化求解算法,該算法在尋找最優解時具有較好的表現,但是對于大規模問題計算較慢。Hendel設計了基于領域的局部搜索算法來解決具有不同交貨期的工件加工問題。在比較新的研究中,Germs采用簡單的啟發式規則來解決具有嚴格交貨期以及批加工轉換時間的訂單受理與調度問題,Wang采用一種分支定界最優算法來求解兩臺流水加工機器環境下的訂單受理與調度問題,但是考慮的工件加工轉換時間不具有。
對于時間依賴的轉換時間研究相對較少,Black研究了一種名為TD-PARP(Time-Dependent Prize-Collecting Arc Routing Problem)的問題,采用一種基于變鄰域搜索的優化方法和一種基于禁忌搜索的優化方法來求解該問題,考慮的轉換時間由表給出。Pralet在面對時間依賴的轉換時間問題時,采用一種時間依賴的簡單時間網絡來處理,對應在敏捷衛星中采用約束傳播來調整后一成像任務的開始時間,然而并沒有考慮對問題的優化模型及算法。陳成研究了具有時間依賴轉換時間與時間依賴收益的工件加工問題,設計了混合差分算法,并將其應用到敏捷衛星成像任務規劃上,具有很好地求解效果,缺陷在于考慮的目標僅僅為點目標成像的單目標規劃,無法適用多目標的情況。
技術實現要素:
本發明的目的是提供一種面向敏捷衛星多目標任務規劃的差分進化方法,將多目標優化特征集于一體分析,以輸出指定數目的個體。
為實現上述目的,本發明提供了如下方案:
一種面向敏捷衛星多目標任務規劃的差分進化方法,所述差分進化方法包括:
步驟一:將敏捷衛星多目標任務的決策變量構成的解集空間轉換為以混合編碼的個體為單元的種群;
步驟二:對所述種群及種群的算法參數分別進行初始化;其中,所述種群的算法參數包括差分變異算子選擇概率Mde、縮放因子Fc、交叉重組概率Cr、一般變異概率Mnor、種群規模Npop以及迭代總數Niter;
步驟三:根據差分變異算子選擇概率Mde和縮放因子Fc生成捐贈向量根據交叉重組概率Cr將捐贈向量與目標向量進行組合得到試用向量根據一般變異概率Mnor對試用向量進行一般變異操作得到子代Og;
步驟四:將子代Og添加到所述種群Pop中得到變異種群Pop′,對個體解碼得到適應度;
步驟五:判斷當前迭代次數i是否小于迭代總數Niter,若滿足執行步驟六,否則執行步驟七;
步驟六:采用錦標賽排序方法對變異種群Pop′中個體進行選擇,生成新的種群Pop,并更新對應的種群的算法參數,重復執行步驟三;
步驟七:剔除精英解集Archive中被支配的解,將所述變異種群Pop′中的非支配解添加到未被精英解集Archive中個體支配的解中以更新精英解集Archive;
步驟八:根據擁擠距離對精英解集Archive中的個體進行排序,并根據順序輸出指定數目的個體。
可選的,所述捐贈向量試用向量及子代Og的生成數量與所述種群的規模一致。
可選的,對所述種群進行初始化的方法為完全隨機方法或限定隨機方法;其中,
(1)完全隨機方法,對于初始種群中第i個體P0,i,其第j維變量的生成方式為
其中,randn[1,nj]表示生成隨機整數處于范圍[1,nj]內,rand[0,1]表示生成的隨機數處于范圍[0,1]內;
(2)限定隨機方法,針對于區域目標而言,分兩種情況:
第一限定隨機方法:對于所有區域目標對應編碼中的分量在所有分解角度為固定同向分解角度對應的觀測方式中隨機選擇;
第二限定隨機方法:在異向分解角度對應的觀測方式中隨機選擇。
可選的,對完全隨機方法、第一限定隨機方法及第二限定隨機方法在種群初始化中采用0.8:0.1:0.1的比例來進行初始種群的生成。
可選的,所述捐贈向量根據以下兩種差分變異公式確定捐贈向量
其中,i表示種群個體序號;
在精英解集中隨機選擇,差分變異算子選擇概率Mde的初始值為0.2,并且在每次迭代中進行更新。
可選的,每次迭代中進行更新的方法包括:
若采用兩種方式變異得到捐贈向量后成功進入到下一代的數目分別為m1和m2,沒有進入到下一代的數目分別為w1和w2,則采用以下方式確定差分變異算子選擇概率Mde:
累計20代后根據公式(3)更新,之后每代的差分變異算子選擇概率Mde的更新根據上一代統計信息更新,不進行累計。
可選的,所述得到試用向量的方法包括:
假設參與重組的目標向量為
參與重組的捐贈向量為
根據以下公式組合得到
其中,i表示種群個體序號,j表示維度序號;
采用高斯分布的交叉重組概率Cr:
Cr·i=GausseRand(ucr,σcr)------------(5);
公式(5)中將記錄每一代中沒有被一般變異生成子代替代并成功進入下一代的試用向量所使用的交叉概率Cr·i,形成集合累計20代后ucr采用以下方式更新:
之后的每次更新僅僅根據上一代的統計進行。
可選的,對于試用向量采用以下一般變異得到變異個體來增加其種群多樣性
其中,i表示種群個體序號,j表示維度序號;
比較一般變異后的個體與試用向量之間的支配關系,若無法支配則成為新子代個體;
一般變異概率Mnor采用以下方式生成:
Mnor·i=GausseRand(unor,σnor)------------(8);其中,unor與σnor為變異系數;公式(5)中將記錄每一代成功替代試用向量時對應的一般變異概率Mnor·i,形成集合累計20代后unor采用以下方式更新
之后的每次更新僅僅根據上一代的統計進行。
可選的,所述采用錦標賽排序方法對變異種群Pop′中個體進行選擇的方法包括:
采用錦標賽排序算法進行選擇,選擇時采用經典NSGA-Ⅱ算法使用的基于Pareto秩與擁擠距離的非支配排序算法,從變異種群Pop′中隨機選擇的多個個體中選擇Pareto秩最小擁擠距離最大的個體進入到下一代種群中。
根據本發明提供的具體實施例,本發明公開了以下技術效果:
本發明面向敏捷衛星多目標任務規劃的差分進化方法將敏捷衛星多目標任務的決策變量構成的解集空間轉換為以混合編碼的個體為單元的種群,在適應度評估也就是解碼的過程中處理復雜的時間依賴型時間約束問題,進化過程中通過差分變異、交叉重組與一般變異相結合的方式增加種群多樣性,通過排序選擇保持物種的進化方向,同時采用精英解集記錄求解過程中的非支配個體,整個過程中算法參數以自適應方式調整。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明面向敏捷衛星多目標任務規劃的差分進化方法的流程圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明的目的是提供一種面向敏捷衛星多目標任務規劃的差分進化方法,將敏捷衛星多目標任務的決策變量構成的解集空間轉換為以混合編碼的個體為單元的種群,在適應度評估也就是解碼的過程中處理復雜的時間依賴型時間約束問題,進化過程中通過差分變異、交叉重組與一般變異相結合的方式增加種群多樣性,通過排序選擇保持物種的進化方向,同時采用精英解集記錄求解過程中的非支配個體,整個過程中算法參數以自適應方式調整。
為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發明作進一步詳細的說明。
如圖1所示,本發明面向敏捷衛星多目標任務規劃的差分進化方法包括:
步驟100:將敏捷衛星多目標任務的決策變量構成的解集空間轉換為以混合編碼的個體為單元的種群。
步驟200:對所述種群及種群的算法參數分別進行初始化;其中,所述種群的算法參數包括差分變異算子選擇概率Mde、縮放因子Fc、交叉重組概率Cr、一般變異概率Mnor、種群規模Npop以及迭代總數Niter。
步驟300:根據差分變異算子選擇概率Mde和縮放因子Fc生成捐贈向量根據交叉重組概率Cr將捐贈向量與目標向量進行組合得到試用向量根據一般變異概率Mnor對試用向量進行一般變異操作得到子代Og;所述捐贈向量試用向量及子代Og的生成數量與所述種群的規模一致。
步驟400:將子代Og添加到所述種群Pop中得到變異種群Pop′,對個體解碼得到適應度。
步驟500:判斷當前迭代次數i是否小于迭代總數Niter,若滿足執行步驟600,否則執行步驟700。
步驟600:采用錦標賽排序方法對變異種群Pop′中個體進行選擇,生成新的種群Pop,并更新對應的種群的算法參數,重復執行步驟300。
步驟700:剔除精英解集Archive中被支配的解,將所述變異種群Pop′中的非支配解添加到未被精英解集Archive中個體支配的解中以更新精英解集Archive。
步驟800:根據擁擠距離對精英解集Archive中的個體進行排序,并根據順序輸出指定數目的個體。
在處理中,對每個需求處理得到可行的分解結果,不可行的需求予以剔除,存在可行分解的需求數目為J。對于種群中的每個個體可以表示為:
當中表示第j個可行需求選擇的觀測方式,以整數編碼且為實數,在觀測方式下,需求開始觀測時間窗口為其與需求開始觀測時間的關系為
這樣可以確保需求開始觀測時間一直處于開始觀測窗口內,需求的觀測持續時間可以通過觀測可行性驗證獲得。
在步驟200中,對所述種群進行初始化的方法為完全隨機方法或限定隨機方法;其中,
(1)完全隨機方法,對于初始種群中第i個體P0,i,其第j維變量的生成方式為:
其中,randn[1,nj]表示生成隨機整數處于范圍[1,nj]內,rand[0,1]表示生成的隨機數處于范圍[0,1]內;
(2)限定隨機方法,針對于區域目標而言,分兩種情況:
第一限定隨機方法:對于所有區域目標對應編碼中的分量在所有分解角度為固定同向分解角度對應的觀測方式中隨機選擇;
第二限定隨機方法:在異向分解角度對應的觀測方式中隨機選擇。
在本實施例中,對完全隨機方法、第一限定隨機方法及第二限定隨機方法在種群初始化中采用0.8:0.1:0.1的比例來進行初始種群的生成。
進一步地,在步驟300中,所述捐贈向量根據以下兩種差分變異公式確定捐贈向量
其中,i表示種群個體序號;
在精英解集中隨機選擇,差分變異算子選擇概率Mde的初始值為0.2,并且在每次迭代中進行更新。
其中更新的具體方法包括:
若采用兩種方式變異得到捐贈向量后成功進入到下一代的數目分別為m1和m2,沒有進入到下一代的數目分別為w1和w2,則采用以下方式確定差分變異算子選擇概率Mde:
累計20代后根據公式(3)更新,之后每代的差分變異算子選擇概率Mde的更新根據上一代統計信息更新,不進行累計。
其中,采用高斯分布的縮放因子,即Fc=GausseRand(uF,σF),其中,uF與σF為縮放系數。為了能夠精細搜索,uF的選取不宜過大,在本實施例中uF=0.8,σF=0.3的參數配置,但并不以此為限。
進一步地,所述得到試用向量的方法包括:
假設參與重組的目標向量為
參與重組的捐贈向量為
根據以下公式組合得到
其中,i表示種群個體序號,j表示維度序號。
采用高斯分布的交叉重組概率Cr:
Cr·i=GausseRand(ucr,σcr)------------(5);
公式(5)中將記錄每一代中沒有被一般變異生成子代替代并成功進入下一代的試用向量所使用的交叉概率Cr·i,形成集合累計20代后ucr采用以下方式更新:
之后的每次更新僅僅根據上一代的統計進行。
進一步地,對于試用向量采用以下一般變異得到變異個體來增加其種群多樣性。
比較一般變異后的個體與試用向量之間的支配關系,若無法支配則成為新子代個體。
一般變異概率Mnor采用以下方式生成:
Mnor·i=GausseRand(unor,σnor)------------(8);其中,unor與σnor為變異系數;公式(8)中將記錄每一代成功替代試用向量時對應的一般變異概率Mnor·i,形成集合累計20代后unor采用以下方式更新:
之后的每次更新僅僅根據上一代的統計進行。
可選的,所述采用錦標賽排序方法對變異種群Pop′中個體進行選擇的方法包括:采用錦標賽排序算法進行選擇,選擇時采用經典NSGA-Ⅱ算法使用的基于Pareto秩與擁擠距離的非支配排序算法,從變異種群Pop′中隨機選擇的多個個體中選擇Pareto秩最小擁擠距離最大的個體進入到下一代種群中。
為了保持解不退化,采用精英解集保留每代中的優質個體,在每代選擇操作之前,采用非支配排序后的Pareto非支配解來更新精英解集,更新規則為以下兩條:剔除精英解集中被種群中Pareto非支配解支配的精英個體;添加種群中未被精英解集中個體支配的Pareto解到精英集中。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,根據本發明的思想,在具體實施方式及應用范圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本發明的限制。