專利名稱:分布式計算環境下并行進化算法的容錯方法
技術領域:
本發明涉及分布式并行計算容錯方法,特別涉及分布式并行計算環境下基 于進化算法優化應用的容錯方法。
背景技術:
進化算法作為計算數學中用于解決最優化的搜索算法,實質上是一種建立在 自然選擇原理和自然遺傳機制上的迭代式自適應概率性搜索方法,最初是借鑒 了進化生物學中的遺傳、突變、自然選擇以及雜交等現象而發展起來的。在進 化算法里,待求解問題的每一個解被稱為一個個體,它表示為一個參數列表。 優化過程開始時,算法首先隨機生成一定數量的個體,然后計算并評估不同個 體的優劣程度(適應度),再按不同的規則選擇一定數量的不同個體執行交叉、 變異等操作生成新的個體,然后以適應度為依據從新的個體和上一代個體中選 擇一定數量的個體形成下一代群體。經過這一系列的過程(選擇、雜交和突變), 產生的新一代個體不同于初始的一代,并一代一代向增加整體適應度的方向發 展,最后在自然選擇的指導下對解空間的搜索以實現對復雜問題的優化求解。
進化算法在解決優化問題過程中可能存在早熟的現象。早熟的含義是如果 在優化過程中陷入到局部最優,此時如群體中大部分個體隨著優化進程的進展 而聚集到該最優點附近無法產生更好的解。為了防止由于群體多樣性降低導致 的早熟現象,研究人員提出了很多策略來提升進化群體的多樣性。其中一種方 法是將采用周期變動的群體規模,在每一代進化過程中按給定數量縮減群體規 模,在下一周期開始時再追加部分經隨機初始化的個體。在一些標準測試系統 上進行的仿真分析表明此類方法能夠提升對多峰值優化問題的求解質量。傳統并行處理環境如PC集群具有良好的通信網絡、均衡的內存、CPU配置 和計算負載,各臺機之間在任務處理時間、通信時間上的差異幾乎可以忽略, 整體可靠性高。作為一種新型并行計算方式,網格是一個集成的計算和資源環 境,它通過網絡將互聯的高性能計算機、數據庫和遠程設備等融為一體形成一 個共享資源和協同解決問題的環境,并通過統一的接口為用戶提供服務。由于 進化算法中最耗費計算時間的個體適應度評估的工作可以分散到網格中的各計 算機上完成,網格是一個非常合適于基于并行進化算法優化應用的計算平臺。 但由于網格是建立在廣域網絡基礎之上,所整合的計算資源在網絡傳輸、計算 站點乃至計算站點的子節點的性能差異性和故障概率較傳統并行計算環境都大 大提高,并行進化算法中分散到網格各計算節點計算適應度的個體可能因計算 機或網絡故障無法返回。當計算節點沒有返回個體適應度時,在分布式網絡環 境下難以判斷其狀態是發生故障亦或僅僅是運行得很慢。如果進化計算采取同 步運行模式等待所有個體返回再繼續進行下一代優化計算,可能因為少數個體 運行緩慢需要長時間等待,甚至因個體故障而無法完成優化過程。因此,要在 包括網格在內的分布式并行計算環境上實現基于進化算法的優化應用,首先必 須解決容錯問題。
目前已有的具有通用目的的分布式計算系統容錯方法主要是時限法、多重 計算任務法和全局檢查點等方法,由于沒有考慮具體應用特性,這些方法共同 的特點是實現復雜、需要占用大量的系統資源并延長優化過程所耗費的計算時 間。
發明內容
本發明的目的在于提供基于進化算法的優化應用對包括網格在內的分布式 并行計算環境容錯方法,以提高基于進化算法的優化方法在網格等以廣域網絡為基礎的并行計算平臺上的適用性。
為實現上述目的,本發明所采用的技術方案是采用一種在周期性變化群 體規模方案基礎上進行一定改造的群體規模振蕩變化的方案。在初始化時設定 一個群體規模的上限和下限,然后把那些送到網絡中進行適應度評估而未能在 給定時限內返回的個體按群體規模減小的方式進行處理,當群體規模下降到給 定下限時,通過追加一定數量經隨機初始化的個體將群體規模恢復到初始值。
本發明與現有技術比較,具有的優點是能夠自然地對發送到網格中進行適 應度評估而未能及時返回的個體實現容錯,實現方式簡單易行,并且能在實現 容錯的同時通過提高群體多樣性得到更好的優化解。
下面結合附圖和實施例詳細說明本發明的工作原理。
圖1為群體規模變化示意圖。
圖2為基于并行進化算法的優化應用對分布式計算系統容錯實現流程示意圖。
具體實施例方式
圖1為群體規模變化示意圖。該圖中橫軸為進化算法的進化代數,縱軸
為每一代中的群體規模數值;縱坐標為進化算法的群體規模,其上、下限分別 設置為560和260;以0到50的隨機數表示因計算機或網絡故障無法返回時, 群體規模將隨時間變動并在低于下限時通過追加隨機初始化個體恢復到群體規 模上限。
圖2基于并行進化算法的優化應用對分布式計算系統容錯實現流程示意 圖。上述基于并行進化算法的優化應用對分布式計算系統容錯方法,實現步驟 如下-
(1)進行系統初始化,設定群體規模的上、下限和完成個體適應度評估的時限,按群體規模的上限隨機產生個體;將當前群體中所有個體發送
到網格中的計算機;
(2) 丟棄給定時限內未返回之個體,從所接收到的個體中選擇最優個體, 然后進行變異、交叉和選擇等繁殖操作,產生群體規模相應縮減的子 代群體;
(3) 如群體規模減少到小于或等于給定的群體規模下限,則在子代群體上 追加按隨機初始化的個體以使群體規模恢復到群體規模的上限;
(4) 如進化代數達到限制次數,終止進化優化過程,給出最優解,退出運 行;否則跳轉到步驟2。
權利要求
1、一種基于進化算法的優化應用對包括網格在內的分布式并行計算環境容錯方法,包括以下步驟采用在給定數量上、下限之間振蕩變化的群體規模,在每一代中通過群體規模的減小實現對無法在給定時限內返回個體的容錯;當群體規模減少到小于或等于給定群體規模下限時,通過追加一定數量經隨機初始化個體的方式將群體規模恢復到初始的上限值。
2、 根據權利要求l所述的基于進化算法的優化應用對包括網格在內的分布式并行計算環境容錯方法,其特征在于用于狀態空間搜索的群體規模在 給定的上下限之間振蕩變化,優化過程初始階段,群體規模設置為最大值。
3、 根據權利要求l所述的基于進化算法的優化應用對包括網格在內的分布式并行計算環境容錯方法,其特征在于對解空間進行搜索的群體被發送 到網格中各計算實體進行適應性評估,如部分個體在一定時限內仍無法返回, 則丟棄此部分個體,形成新一代個體時對其群體規模也相應的進行縮減。
4、 權利要求l所述的基于進化算法的優化應用對包括網格在內的分布式 并行計算環境容錯方法,其特征在于當群體規模縮減少到小于或等于設置 的群體下限時追加一定數量經隨機初始化的個體以使群體規模恢復到初始化 時的群體規模。
全文摘要
本發明公開了一種分布式計算環境下并行進化算法容錯方法,該方法特點在于采用不固定且在指定數量上、下限之間振蕩變化的群體規模。通過設定一定的時間限制,在進化計算的每一代中,當部分個體因計算節點或網絡故障而無法及時返回時,以群體規模的減小來實現對這部分故障個體的容錯;當群體規模下降到給定下限時,再以追加一定數量經隨機初始化個體的方式將群體規模恢復到上限。本發明采用群體規模振蕩變化的方法提高種群內個體間的差異,可以在實現基于并行進化算法的優化應用對包括網格在內的分布式計算環境容錯的同時提高優化解的質量。
文檔編號G06N3/12GK101625736SQ200810031720
公開日2010年1月13日 申請日期2008年7月9日 優先權日2008年7月9日
發明者李茂軍, 林利紅, 盛 蘇, 馬迎召 申請人:長沙理工大學