穩態進化演算法
㈠ 地下水管理模型研究現狀
1959年,Todd在他的經典論著《Ground Water Hydrology》中明確提出了地下水管理的概念,20世紀60年代以來,迅速發展起來的地下水數值模擬模型大大推進了地下水的定量化研究[10]。「備選方案法」是一種比較簡單的確定地下水管理方案的方法。通常給定多種條件(如開采方案),多次運行數值模擬模型,可以得到不同條件下的地下水狀態,在給定的目標下,通過比較各種方案,可選擇目標較優的方案作為決策方案,這是20世紀70年代以前最常用的優選地下水開發利用方案的方法。由於要多次運行模擬模型,比較不同方案下的地下水狀態,這種方法耗時較多。這不是嚴格意義上的「最優解」,沒有運用運籌學的方法全面、綜合地考慮管理的目標和各種約束,從而得不到理論意義上的最優地下水開發利用方案。
地下水管理模型通常由地下水系統的數值模擬模型和優化模型耦合而成。Maddock[11]推導出地下水系統單位脈沖響應函數,提出了建立大規模地下水水力管理模型有效的方法——響應矩陣法。而Aguado和Remson[12]首次將地下水數值模擬模型與線性規劃聯立,明確提出了建立地下水水力管理模型的嵌入法。20世紀70年代到80年代初,國外以研究地下水水力管理模型為主,並提出了完善的理論和實用的建模方法,Gorelick[13]對分布參數地下水管理模型,特別是水力管理模型進行了綜述。
我國科技人員於20世紀80年代中後期開始地下水管理模型的研究與應用工作,公開發表的論著如林學鈺、焦雨著《石家莊市地下水資源的科學管理》[14],許涓銘等[15]系統論述了建立分布參數地下水水力管理模型的基本理論和方法。在這一階段,我國幾乎所有以地下水為主要供水水源的大城市,針對不同的問題,都建立了地下水管理模型,如石家莊、西安、哈爾濱、長春、濟南、包頭等。一些典型地區也建立了區域地下水管理模型,如河北平原、河西走廊、柴達木盆地等。這些研究大大推進了我國地下水科學管理的進程,但由於當時建模所考慮的因素多為水力要素,模型結構也比較簡單,多歸結為求解線性規劃問題,這大大限制了模型的實用性和可操作性。
20世紀90年代以來,由於數值模擬和計算機技術以及數學方法在地下水資源優化開發方面的理論與方法日臻完善,使復雜的水資源管理問題得以有效的解決。這不但促進了地下水管理學科的迅速發展,並在推動水文地質學從定性研究進入定量化研究的過程中作出了應有的貢獻。從模型的研究內容看,主要集中在地表水-地下水聯合調度、地下水量-水質綜合管理、地下水可持續利用管理模型的研究上;從模型的結構看,主要是以非線性規劃、動態規劃和多目標規劃管理模型為研究的熱點和難點問題。
1.2.2.1 地下水非線性管理模型研究進展
地下水管理模型的非線性問題是普遍存在的,產生非線性的原因主要有兩個:其一是系統狀態的非線性,如潛水含水層模擬模型的非線性;其二是管理問題的非線性,如目標函數和某些特殊約束條件的非線性。真實的地下水系統管理問題大多數是非線性的,因此非線性管理模型能更精確地描述這類地下水系統及其管理問題,因而提高模型結果的精度和可信度。由於非線性規劃問題沒有統一的模式,在可行域內有可能存在多個局部最優解,因而到目前為止,還沒有通用的、高效的求解方法,要根據管理模型的結構特點和規模,選擇合適的求解方法[10]。
線性化是解決非線性問題最簡單的方法,如Gorelick和Remson[16]、Ratzlaff[17]等都應用這種方法解決這類問題。迭代法也是解決非線性問題的有效方法之一,如Aguado和Remson[18]用預測-校正法通過反復迭代求解潛水含水層地下水管理問題;Willis 和Newman[19]用求解一系列線性規劃替代非線性目標函數、線性約束條件的非線性規劃問題。王洪濤提出了非線性多含水層地下水資源管理的處理方法,並把這一方法應用到唐山市以防治岩溶地面塌陷為目的的水資源管理中[20]。
若非線性規劃的目標函數是決策變數的二次多項式,並且模擬模型和其他約束條件又全是線性的,則稱這種非線性規劃為二次規劃。二次規劃有統一的表示形式和通用解法,是非線性管理模型中最常用的求解方法之一。如Lefkoff和Gorelick[21]、Misirli和Yazicigil[22]等均是用二次規劃求解管理模型。
此外,常用於解非線性規劃的方法還有直接搜索法(主要有修正單純形法、Nelder-Mead單純形法、並行方向搜索法)和基於導數的優化方法(如約束優化的隱式篩選法等)。人工智慧演算法(又稱進化演算法,evolutionary algorithms,EA)也為求解高度非線性規劃問題開拓了廣闊的前景。
1.2.2.2 地下水動態規劃管理模型研究進展
地下水系統本身是一個高度復雜的動態系統。由於管理區的自然條件和人為作用等均在不斷地發生變化,尤其當水源地的地下水要進行長期開采時,地下水資源管理模型必須隨著時間推進做定期的修正以保證模型的精確性和可靠性,地下水動態規劃管理模型的提法便應運而生[23]。這方面的研究可參閱有關文獻,如Yakowitz,Andricevic[24,25]等。動態規劃方法本身還不夠完善,在高維的情況下會產生所謂的「維數災」問題,目前在求解地下水動態規劃管理模型中,用的較普遍的方法是微分動態規劃方法,它是由Jacobson和Mayne[26]提出的。微分動態規劃方法是一種多維動態規劃的改進演算法,不需要進行狀態變數和決策變數的離散化,克服了計算量呈維數增長這一障礙。因此,它提供了一種解算大型、多時段、非穩態流的地下水資源管理模型的可行的分析計算方法[27]。
Murry 等[28]運用帶約束條件的微分動態規劃方法成功地實現了多級水庫的優化控制;Jones等[29]利用微分動態規劃方法求解了最優控制模型,成功地解決了理想模型中8個假設井的最優開采量分配問題;Culver等[30]建立了地下水水質模擬模型並應用有限元法求解,通過應用微分動態規劃方法和Quasi-Newton近似法,確定了含水層不同時期的最優抽水方案;Chang等[31]應用微分動態規劃方法解決了時變地下水系統污染修復最優控制問題;Chang等[32]聯合應用微分動態規劃方法和遺傳演算法解決了地下水管理問題;Chu 等[33]應用人工神經網路方法和微分動態規劃方法解決了大規模地下水系統的管理問題。我國學者李文淵等[34]建立了以抽水費用最小為目標的地下水管理模型,應用微分動態規劃方法求解,並編制了計算機程序;郝永紅等[35]結合陽泉市岩溶地下水系統的實際,應用微分動態規劃方法為陽泉市岩溶水的開發提出了最優開采方案;王浩然[36]以位於山東省淄博市境內的孝婦河流域上游地區的地下水系統為研究對象,構造了地下水開采條件下的控制模型,採用微分動態規劃方法求解,獲得了比較符合實際且容易實施的地下水優化開采量。
1.2.2.3 地下水多目標管理模型研究進展
地下水多目標管理模型是以地下水模擬模型為基礎,由兩個或兩個以上的目標函數及其約束條件組成的,用於對地下水進行統籌規劃和有效保護的管理模型。地下水多目標管理模型更能體現地下水系統的層次性和多目標性,模型不僅能提供地下水合理開發利用最優方案,而且可作為宏觀經濟和環境規劃的決策依據,因而更具實用性和可操作性[37]。由於多目標問題類型多,無統一的數學形式,故沒有通用的求解方法。針對不同的管理模型和目標評價准則,應採用相應的解法。
20世紀70年代以來,多目標管理模型用於解決水資源的規劃問題[38,39];80年代以後,隨著對地下水系統研究的不斷深入、地下水模擬技術及其與管理模型耦合技術的發展,多目標規劃才出現在地下水管理問題中。Willis等[40]首次建立了地下水多目標管理模型;Bogardi等[41]採用一種互動式多目標決策方法求解地下水多目標管理問題,有三個目標函數:總抽水量最大、抽水降深最小以及總抽水費用最低;Ritzel等[42]用遺傳演算法求解多目標地下水污染控制問題;Park等[43]運用多目標遺傳演算法對沿海含水層中的抽水量和井位進行優化,以防止海水入侵;Kollat等[44]對4種多目標優化演算法進行了對比研究;邵景力等[45,46]運用線性規劃方法對包頭市地下水多目標管理模型進行了求解,他們還建立了包頭市地下水-地表水聯合調度多目標管理模型,模型最終歸結為求解線性目標規劃問題;代振學等[47]建立了濟寧-兗州礦區地下水多目標管理模型,採用模糊線性規劃法求得了管理模型的最優解,最後通過靈敏度分析和流場模擬,證實了最優解的正確性;孟慶國等[48]進行了城市地下水多目標管理模型的相關研究,建立了內蒙古呼和浩特市地下水多目標管理模型,採用多階段目標規劃法對模型進行求解;王來生等[49]建立了哈爾濱市地下水資源多目標規劃管理模型,將求解多目標最優化問題的約束法和線性加權法相結合,給出了一種綜合解法;王紅旗等[32]根據大慶市西部地區地下水系統的特點,構建了地下水資源多目標動態規劃管理模型,採用多目標規劃的改進線性加權法和微分動態規劃方法相結合的方法進行求解,通過管理模型的運算得出三種規劃方案下的地下水最優開采量,並根據管理模型的運算結果對研究區的地下水資源開發利用規劃提出合理化建議;賀北方等[50]建立了區域水資源多目標優化配置模型,目標有3個:區域供水凈效益最大、區域重要污染物排放量最小、供水系統缺水量最小,應用遺傳演算法求解了此管理模型。
與單目標管理模型相比,地下水多目標管理模型有如下特點[51]:
(1)各目標間的度量單位多是不可公度的,有些目標甚至很難給出定量指標,如供水的社會效益、環境效應等。用單目標優化方法很難處理不可公度的多目標問題。
(2)各目標間的權益通常是相互矛盾的,這是構成多目標問題存在的基本特徵。多目標問題總是以犧牲一部分目標的利益來換取另一些目標的改善。單一目標的最優並不代表系統整體最優。
(3)多目標問題的優化解不是唯一的。多目標規劃的任務是考慮經濟、社會、環境、技術等因素,權衡各目標的利弊,從多個「有效解」中尋求各目標都能接受的「滿意解」。
(4)多目標規劃可以充分發揮分析者和決策者各自的作用。在現代管理中,分析者的任務是根據決策者的要求建立管理模型,提供多個各有利弊的方案,作為決策者決策的依據。決策者的任務是站在更高的層次上,兼顧各方面利益,從眾多可選方案中確定決策方案。
㈡ 進化演算法的特點
進化計算是一種具有魯棒性的方法,能適應不同的環境不同的問題,而且在大多數情況下都能得到比較滿意的有效解。他對問題的整個參數空間給出一種編碼方案,而不是直接對問題的具體參數進行處理,不是從某個單一的初始點開始搜索,而是從一組初始點搜索。搜索中用到的是目標函數值的信息,可以不必用到目標函數的導數信息或與具體問題有關的特殊知識。因而進化演算法具有廣泛的應用性,高度的非線性,易修改性和可並行性。
此外,演算法本身也可以採用動態自適應技術,在進化過程中自動調整演算法控制參數和編碼精度,比如使用模糊自適應法 。 進化策略(ES)是在1965年由Rechenberg和Schwefel獨立提出的。
進化策略的一般演算法
(1) 問題為尋找實值n維矢量x,使得函數F(x): R→R取極值。不失一般性,設此程序為極小化過程。
(2) 從各維的可行范圍內隨機選取親本xi,i = 1, … , p的始值。初始試驗的分布一般是均勻分布。
(3) 通過對於x的每個分量增加零均值和預先選定的標准差的高斯隨機變數,從每個親本xi產生子代xi』。
(4) 通過將適應度F(xi)和F(xi』),i=1,…,P進行排序,選擇並決定那些矢量保留。具有最小適應度的P個矢量變成下一代的新親本。
進行新試驗,選擇具有最小方差的新子代,一直到獲得充分解,或者直到滿足某個終止條件。
在這個模型中,把試驗解的分量看做個體的行為特性,而不是沿染色體排列的基因。假設不管發生什麼遺傳變換,所造成各個個體行為的變化均遵循零均值和某個標准差的高斯分布。
由於基因多效性和多基因性,特定基因的改變可以影響許多表現型特徵。所以在創造新子系時,較為合適的是同時改變親本所有分量。
(1+1)—ES:
早期的進化策略的種群中只包含一個個體,並且只使用變異操作。在每一代中,變異後的個體與其父代進行比較,並選擇較好的一個,這種選擇策略被稱為(1+1)策略。
(1+1)—ES的缺點:
(1) 各維取定常的標推差使得程序收斂到最優解的速度很慢;
(2) 點到點搜索的脆弱本質使得程序在局部極值附近容易受停滯的影響(雖然此演算法表明可以漸近地收斂到全局最優點)。
(μ+λ)—ES:μ個親本製造λ個子代,所有解均參加生存競爭,選出最好的μ個作為下一代的親本。
(μ,λ)—ES:只有λ個子代參加生存競爭,在每代中μ個親本被完全取代。
1.個體的表示法:
每個解矢量不僅包括了n維試驗矢量x,而且還包括了擾動矢量σ,後者給出如何變異x以及它本身如何變異的指令。
2.變異:
設x為當前矢量。σ為對應於x每個維的方差矢量,於是新的解矢量x』,σ』可以這樣產生:
3.交叉:
4.選擇
在進化策略中,選擇是按完全確定的方式進行。(μ,λ)—ES是從λ個子代個體集中選擇μ(1<μ<λA=個最好的個體;(μ+λ)—ES是從父代和子代個體的並集中選擇μ個最好的個體。雖然(μ+λ)—ES保留最優的個體能保證性能單調提高,但這種策略不能處理變化的環境,因此,目前選用最多的還是(μ,λ)—ES。 進化規劃(EP)由Fogel在20世紀60年代提出。
1.表示法和適應值度量
進化規劃假設—個有界子空間 ,其中ui<vi。搜索區域被擴展到I=R,即個體為目標變數向量,a=x∈I,進化規劃把目標函數值通過比例變換到正值,同時加入某個隨機改變θ來得到適應值 ,其中δ是比例函數。
2.變異
可簡化為:
3.選擇
在P個父代個體每個經過一次變異產生P個子代後,進化規劃利用一種隨機q競爭選擇方法從父代和子代的集合中選擇P個個體,其中q>1是選擇演算法的參數。
㈢ 實驗進化演算法
摘要 在人工智慧中,進化演算法(EA)是進化計算的子集,[1]是一種基於一般群體的元啟發式優化演算法。進化演算法使用受生物進化啟發的機制,例如生殖,突變,復合和選擇。優化問題的候選解在種群中發揮個體的作用,適應度函數決定了解的質量。種群的演化會在重復應用上述運算元之後發生。
㈣ 博弈均衡的進化穩定策略的演算法
計算進化穩定策略的方法主要有兩大類:一是從動態過程出發,求出系統的平衡點,然後,再根據進化穩定策略的定義進行驗證就可以了;另一種方法就是直接用進化穩定策略定義來求。第一種方法涉及到具體的動態過程,並且只要知道動態過程就很容易求出進化穩定策略,本文略(可以參考張良橋2001)。第二種方法就是通過定義來求,下面給出一種簡單的處理方法。
根據納什均衡的定義可以知道,如果策略 是博弈的納什均衡,那麼,所有以正概率進入最優混合策略的純策略都是最優的,參與人在所有這些純策略所得的支付都是無差異的(見《博弈論與信息經濟學》102-103頁,張維迎),即有:
表示混合策略中非零概率的純策略。假定存在 且下標為 的純策略滿足 ,令B是矩陣A中對應於非零純策略的 階子矩陣。且令C為 矩陣,其中代表元素為: 。那麼當且僅當C是負定的, 就是進化穩定策略(見John Haigh 1974)。
證明:假定 ,並且存在 ,有 ,那麼很明顯有 ,其中 是第 個純策略,即在與穩定策略者群體博弈時,突變策略者得到的支付比穩定策略者還要大,所以策略 不是進化穩定策略,所以式(6)是進化穩定策略的必要條件。因此,對應於非零概率的純策略滿足: ,對滿足條件的策略 有(注意 ):
對任意 ,當且僅當
有: 。綜上所述,利用該方法來求進化穩定策略的步驟如下:
首先,令 個非零混合策略,然後解 個方程: ,定義B,C再考察矩陣C的所有特徵根是否都為負,若都是負則所得的策略就是進化穩定策略。
如求對稱博弈 ,它有兩個進化穩定策略: 。
如果某策略組合是嚴格納什均衡策略,那麼就可以直接得出它就是進化穩定策略,但如果是弱納什均衡策略,那麼就可運用上述的方法來進行判定。由此,可得到求博弈的進化穩定策略步驟:一是求出博弈所有的納什均衡;二是由支付判斷出其中的嚴格納什均衡;三對非嚴格納什均衡而言就代入上述方程,並判斷是否為負定即可以求出博弈中所有進化穩定策略。
㈤ 進化演算法的基本步驟
進化計算是基於自然選擇和自然遺傳等生物進化機制的一種搜索演算法。與普通的搜索方法一樣,進化計算也是一種迭代演算法,不同的是進化計算在最優解的搜索過程中,一般是從原問題的一組解出發改進到另一組較好的解,再從這組改進的解出發進一步改進。而且在進化問題中,要求當原問題的優化模型建立後,還必須對原問題的解進行編碼。進化計算在搜索過程中利用結構化和隨機性的信息,使最滿足目標的決策獲得最大的生存可能,是一種概率型的演算法。
一般來說,進化計算的求解包括以下幾個步驟:給定一組初始解;評價當前這組解的性能;從當前這組解中選擇一定數量的解作為迭代後的解的基礎;再對其進行操作,得到迭代後的解;若這些解滿足要求則停止,否則將這些迭代得到的解作為當前解重新操作。
以遺傳演算法為例,其工作步驟可概括為:
(1) 對工作對象——字元串用二進制的0/1或其它進制字元編碼 。
(2) 根據字元串的長度L,隨即產生L個字元組成初始個體。
(3) 計算適應度。適應度是衡量個體優劣的標志,通常是所研究問題的目標函數。
(4) 通過復制,將優良個體插入下一代新群體中,體現「優勝劣汰」的原則。
(5) 交換字元,產生新個體。交換點的位置是隨機決定的
(6) 對某個字元進行補運算,將字元1變為0,或將0變為1,這是產生新個體的另一種方法,突變字元的位置也是隨機決定的。
(7) 遺傳演算法是一個反復迭代的過程,每次迭代期間,要執行適應度計算、復制、交換、突變等操作,直至滿足終止條件。
將其用形式化語言表達,則為:假設α∈I記為個體,I記為個體空間。適應度函數記為Φ:I→R。在第t代,群體P(t)={a1(t),a2(t),…,an(t)}經過復制r(reproction)、交換c(crossover)及突變m(mutation)轉換成下一代群體。這里r、c、m均指宏運算元,把舊群體變換為新群體。L:I→{True, Flase}記為終止准則。利用上述符號,遺傳演算法可描述為:
t=0
initialize P(0):={ a1(0),a2(0),…,an(0)};
while(l(P(t))≠True) do
evaluate P(t):{ Φ(a1(t)), Φ(a2(t)),…,Φ(an(t))};
reproction: P′(t):=r(P(t));
crossover: P″(t):=c(P′(t));
mutation: P(t+1):= m(P″(t));
t=t+1;
end
㈥ 進化演算法的簡介
進化演算法包括遺傳演算法、遺傳規劃、進化規劃和進化策略等等。進化演算法的基本框架還是簡單遺傳演算法所描述的框架,但在進化的方式上有較大的差異,選擇、交叉、變異、種群控制等有很多變化,進化演算法的大致框圖可描述如右圖所示:
同遺傳演算法一樣,進化演算法的收斂性也有一些結果,文獻證明了在保存最優個體時通用的進化計算是收斂的,但進化演算法的很多結果是從遺傳演算法推過去的。
遺傳演算法對交叉操作要看重一些,認為變異操作是演算法的輔助操作;而進化規劃和進化策略認為在一般意義上說交叉並不優於變異,甚至可以不要交叉操作。
㈦ 穩態演算法的缺點
1、測量時間較長。穩態演算法測量一次可能達幾小時,測量成本較大。
2、實驗條件苛刻。穩態演算法對於實驗條件要求大,許多條件必須達到一個定量才可以勉強進行實驗,實驗條件苛刻。
㈧ 進化演算法的起源發展
進化計算包括遺傳演算法(Genetic Algorithms)、遺傳規劃(Genetic Programming)、進化策略(Evolution Strategies)和進化規劃(Evolution Programming)4種典型方法。第一類方法比較成熟,現已廣泛應用,進化策略和進化規劃在科研和實際問題中的應用也越來越廣泛。
遺傳演算法的主要基因操作是選種、交配和突變,而在進化規則、進化策略中,進化機制源於選種和突變。就適應度的角度來說遺傳演算法用於選擇優秀的父代(優秀的父代產生優秀的子代),而進化規則和進化策略則用於選擇子代(優秀的子代才能存在)。
遺傳演算法與遺傳規劃強調的是父代對子代的遺傳鏈,而進化規則和進化策略則著重於子代本身的行為特性,即行為鏈。
進化規則和進化策略一般都不採用編碼,省去了運作過程中的編碼—解碼手續更適用於連續優化問題,但因此也不能進行非數值優化。進化策略可以確定機制產生出用於繁殖的父代,而遺傳演算法和進化規則強調對個體適應度和概率的依賴。
此外,進化規則把編碼結構抽象為種群之間的相似,而進化策略抽象為個體之間的相似。進化策略和進化規則已應用於連續函數優化、模式識別、機器學習、神經網路訓練、系統辨識和智能控制的眾多領域