導航:首頁 > 源碼編譯 > 遺傳演算法搜索參數

遺傳演算法搜索參數

發布時間:2022-11-04 14:20:49

㈠ 給定函數式怎樣利用遺傳演算法計算參數示例

遺傳演算法(Genetic Algorithm)是一類借鑒
生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。它是由美國的J.Holland教授1975年首先提出,其主要特點是直接對結構對象進行操作,不存在求導和函數連續性的限定;具有內在的隱並行性和更好的全局尋優能力;採用概率化的尋優方法,能自動獲取和指導優化的搜索空間,自適應地調整搜索方向,不需要確定的規則。
​遺傳演算法的這些性質,已被人們廣泛地應用於組合優化、機器學習、信號處理、自適應控制和人工生命等領域。它是現代有關智能計算中的關鍵技術。
對於一個求函數最大值的優化問題(求函數最小值也類同),一般可以描述為下列數學規劃模型:式中x為決策變數,式2-1為目標函數式,式2-2、2-3為約束條件,U是基本空間,R是U的子集。滿足約束條件的解X稱為可行解,集合R表示所有滿足約束條件的解所組成的集合,稱為可行解集合。

㈡ 求遺傳演算法的參數

/* 種群大小 */
#define POPSIZE 50

double pc; /* 交叉概率 */
double pm; /* 交換變異概率 */
double pw; /* 反轉變異概率 */
double pn; /* 新增概率 */

pc=0.7;
pm=0.8;
pw = 0.3;
pn = 0.3;

迭代數,忘記了。我從5,到500都跑了一遍。對比了結果。
你可以選擇一個覺得合適就行了

=========================================
遺傳演算法的文獻很多。
你可以去google上面搜。或者去wikipedia上面找找最經典的文獻。其實很簡單。參數的調整,可以用程序來自動尋找。比如迭代次數,我是把迭代次數從5,10,50,100,200,500這些都跑了一遍,最後選擇已經接近收斂的那個就行了。其實遺傳演算法因為是一個通用演算法,所以肯定是比較慢的。如果有heuristic演算法,一般都會比遺傳演算法收斂快很多。

㈢ 遺傳演算法的特點

遺傳演算法具有十分頑強的魯棒性[56,53],這是因為比起普通的優化搜索方法,它採用了許多獨特的方法和技術,歸納起來,主要有以下幾個方面。

遺傳演算法的處理對象不是參數本身,而是對參數集進行了編碼的個體。此編碼操作,使得遺傳演算法可直接對結構對象進行操作。所謂結構對象泛指集合、序列、矩陣、樹、圖、鏈和表等各種一維或二維甚至三維結構形式的對象。這一特點,使得遺傳演算法具有廣泛的應用領域。比如:

①通過對連接矩陣的操作,遺傳演算法可用來對神經網路或自動機的結構或參數加以優化;②通過對集合的操作,遺傳演算法可實現對規則集合或知識庫的精煉而達到高質量的機器學習目的;③通過對樹結構的操作用遺傳演算法可得到用於分類的最佳決策樹;④通過對任務序列的操作,遺傳演算法可用於任務規劃,而通過對操作序列的處理遺傳演算法可自動構造順序控制系統。

如前所述許多傳統搜索方法都是單點搜索演算法,即通過一些變動規則,問題的解從搜索空間中的當前解(點)移到另一解(點)。這種點對點的搜索方法,對於多峰分布的搜索空間常常會陷於局部的某個單峰的優解。相反,遺傳演算法是採用同時處理群體中多個個體的方法,即同時對搜索空間中的多個解進行評估,更形象地說,遺傳演算法是並行地爬多個峰。這一特點使遺傳演算法具有較好的全局搜索性能,減少了陷於局部優解的風險,同時這使遺傳演算法本身也十分易於並行化。

在標準的遺傳演算法中,基本上不用搜索空間的知識或其他輔助信息,無需導數或其他輔助信息,而僅用適應度函數值來評估個體,並在此基礎上進行遺傳操作。需要著重提出的是,遺傳演算法的適應度函數不僅不受連續可微的約束,而且其定義域可以任意設定。對適應度函數的惟一要求是,對於輸入可計算出加以比較的正的輸出。遺傳演算法的這一特點使它的應用范圍大大擴展。

圖7-1 基本遺傳演算法的框圖

遺傳演算法不是採用確定性規則,而是採用概率的變遷規則來指導它的搜索方向。在以後的章節中我們將會看到,遺傳演算法採用概率僅僅是作為一種工具來引導其搜索過程朝著搜索空間的更優化的解區域移動。因此雖然看起來它是一種盲目搜索方法,但實際上有明確的搜索方向。

遺傳演算法利用簡單的編碼技術和繁殖機制來表現復雜的現象,從而解決非常困難的問題。特別是由於它不受搜索空間的限制性假設的約束,不必要求諸如連續性、導數存在和單峰等假設,它能從離散的、多極值的、含有噪音的高維問題中以很大的概率找到全局最優解;其次,由於它固有的並行性,遺傳演算法非常適用於大規模並行計算。遺傳演算法目前已經在優化、機器學習和並行處理等領域得到了越來越廣泛的應用。

㈣ 用改進遺傳演算法求取水文地質參數

任廣軍1 張勇2

(1.山東省魯南地質工程勘察院,兗州272000;2.山東省地礦工程集團有限公司,濟南250013)

作者簡介:任廣軍(1972—),男,工程師,主要從事水文地質、環境地質等。

摘要:本文利用非穩定流抽水試驗資料,採用改進的十進制遺傳演算法在計算機上自動優選含水層水文地質參數。該方法同傳統上使用的配線法相比較,具有節省時間,減少人工配線誤差,所求參數逼真,且能對一些線性、非線性問題求解,具有很高的推廣和應用價值。

關鍵詞:遺傳演算法;隨機模擬;含水層;水文地質參數;優選

0 引言

利用改進的十進制遺傳演算法,根據抽水試驗資料來認識水文地質條件、反求水文地質參數是水文地質計算中的基本問題。具體地講,在探明含水層范圍、類型的基礎上,建立描述該含水層水流運動模型,利用抽水試驗過程中的地下水位變化過程資料來確定水文地質參數。

雖然非穩定抽水試驗公式適用條件非常苛刻,但能反映出含水層非穩定流的一些基本特點,還可運用疊加原理解決某些比較復雜的非穩定流問題。此外,作為檢驗數值方法精確性的重要依據,具有廣泛應用和發展前景。

目前,由於非穩定流抽水試驗確定水文地質參數的具體實現方法主要有人工配線法或以計算輔助的配線法,但這種方法的效果好壞完全取決於肉眼觀察,帶有很大的主觀性。本文作者選取了一些典型實例,採用遺傳演算法建立了一種計算機全自動求參的全局優選法,通過與人工配線分析比較,確定本方法計算機求參的高精度與高可靠性。

求取參數是通過實測結果與模型計算結果的最佳擬合(模擬)程度來實現的,參數的精確程度在很大程度上取決於實測資料的精度。

1 遺傳演算法介紹

生物的進化是一個奇妙的優化過程,它通過選擇淘汰,突然變異,基因遺傳等規律產生適應環境變化的優良物種。遺傳演算法是根據生物進化思想而啟發得出的一種全局優化演算法。

遺傳演算法的概念最早是由Bagley J.D在1967年提出的;而開始遺傳演算法的理論和方法的系統性研究的是1975年,這一開創性工作是由Michigan大學的J.H.Holland所實行。當時,其主要目的是說明自然和人工系統的自適應過程。

遺傳演算法簡稱GA(Genetic Algorithm),在本質上是一種不依賴具體問題的直接搜索方法。遺傳演算法在模式識別、神經網路、圖像處理、機器學習、工業優化控制、自適應控制、生物科學、社會科學等方面都得到應用。在人工智慧研究中,現在人們認為「遺傳演算法、自適應系統、細胞自動機、混沌理論與人工智慧一樣,都是對今後十年的計算技術有重大影響的關鍵技術」。

2 目標函數的確定

通過綜合考慮計算程序的運算時間、速度以及含水層的類型,確立利用抽水實測資料和計算資料的擬合程度為目標函數。其計算公式為:

山東省環境地質文集

式中:s實測為實測抽水試驗觀測孔的降深;s計算為計算抽水試驗觀測孔的降深;NT為計算時段。

3 計算實例及結果分析

3.1 承壓含水層地下水降深公式

承壓含水層地下水降深公式為:

山東省環境地質文集

式中:S為以固定流量Q抽水時與抽水井距離為r處任一時間的水位降深(m);T為導水系數;Q為涌水量;W(u)為井函數,是一個指數積分函數:

山東省環境地質文集

式中:u為井函數的自變數,

其中s為承壓含水層的儲存系數;T為含水層的導水系數;t為時間。

例1:某地區進行非穩定流抽水試驗。區域地層剖面是:地表下18~25 m是由含礫粗砂層組成的含水層,其底板由粘土質沉積物組成,18 m以上是粘土、泥炭層。抽水井的過濾器安裝在含水層的整個厚度上。觀測孔距抽水井30m,觀測資料如表1所示。主井作定流量抽水,Q=788m3/d,抽水接近14小時。試根據觀測資料求取水文地質參數。

(1)lgS-lgt配線法所求參數:T配線=439m2/d,s配線=1.694×10-4

(2)S-lgt直線圖解法所求參數:T配線=450.7m2/d,s配線=1.392×10-4

(3)計算機所求參數:T=383.0088m2/d,s= 1.78×10-4

為更直觀地說明上述所求參數的可靠性,由上述參數所求計算降深與實測降深進行比較(圖1)。通過比較,進一步確定了計算機求參的高精度與穩定性。承壓含水層配線參數與優選參數比較分析:T配線=439m2/d,s配線=0.0001694;T計算=383.0088m2/d,s計算=0.0001780。

表1 遺傳演算法計算水位降深與實測水位降深結果表

圖1 計算降深與實測降深比較圖

3.2 在有越流補給的承壓含水層地下水降深公式

在有越流補給的承壓含水層地下水降深公式為:

山東省環境地質文集

式中:u同(3)式;

為越流井函數,本文中

採用數值積分:

山東省環境地質文集

例2:有一無限分布的承壓含水層,厚度20m,其底部為絕對隔水的粘土層;上部為弱透水的亞砂土層,厚2m;弱透水層之上為潛水含水層。在承壓含水層中有一完整抽水井,抽水時的穩定流量Q=5530m3/d。距抽水井r=17.34m處有一觀測孔據觀測知,在抽水過程中上部潛水的水位不變。抽水層的水位降深值載於表2,試計算含水層水文地質參數。

(1)lgS-lgt配線法所求參數:T配線=853.50m2/d,s配線=4.20×10-4;B配線=568.50m;

(2)lgS-lgt配線法所求參數:T計算=817.19m2/d,s計算=4.31×10-4;B計算=482.80m。

為更直觀地說明上述所求參數的可靠性,由上述參數所求計算降深與實測降深進行比較(圖2)。通過比較,進一步確定了計算機求參的高精度與穩定性。有越流時承壓含水層優選參數誤差分析:T配線=853.50m2/d,s配線=0.00042,B配線=568.50m;T計算=817.1950m2/d,s計算=0.00043103,B計算=482.798m。

表2 遺傳演算法計算水位降深與實測水位降深結果表

續表

圖2 計算降深與實測降深比較圖

3.3 考慮有滯後補給的潛水含水層地下水降深公式

根據博爾頓理論,潛水含水層地下水降深公式計算公式可分為抽水前期、抽水中期和抽水後期。參數優選主要根據抽水前期和抽水後期的資料擬合而得:

山東省環境地質文集

其中D為疏干因子。

抽水前期計算公式:

抽水後期計算公式:同(2)式。

4 結論及不足之處

4.1 結論

通過上述實例計算結果表明:計算結果同人工加以計算機輔助配線法相比較,其計算水文地質參數精度較高,且其參數初值依賴程度較低,對於復雜的線性、非線性及多態性、多峰值問題在全局優化方面有著其他方法所無法比擬的優勢,具有很高的推廣和應用價值。

4.2 不足之處

遺傳演算法雖然可以在多種領域都有實際應用,並且也展示了它潛力和寬廣前景;但是,遺傳演算法還有大量的問題需要研究,目前也還存在著各種不足。首先,在變數多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優解附近,但無法精確確定最優解位置;最後,遺傳演算法的參數選擇尚未有定量方法。對於遺傳演算法,一是還需要進一步研究其數學基礎理論;二是還需要在理論上證明它與其他優化技術的優劣及原因;三是還需研究硬體化的遺傳演算法;以及遺傳演算法的通用編程和形式等。此外,對於地下水滲流問題的數值解反求多類各種水文地質參數雖有成功實例,對於運算速度問題,還存在著相當大的難度。

參考文獻

陳崇希,唐仲華.1990.地下水流動問題數值方法.武漢:中國地質大學出版社

陳喜.1998.含水層水文地質參數自動優選方法.工程勘察,(2)

郭東屏.1994.地下水動力學.西安:陝西科學技術出版社

GB 50027—2001 供水水文地質勘察規范

李俊亭,王愈吉.1987.地下水動力學.北京:地質出版社

劉寶碇,趙瑞清,王綱.2003.不確定規劃及應用.北京:清華大學出版社

朱國祥,王峰.1999.利用配線法水文地質參數計算機程序簡介.工程勘察,(3)

鄒正盛,趙智榮.2001.淺析抽水水文地質參數確定中的問題.水文地質工程地質,(3)

㈤ 遺傳演算法的中心思想

遺傳演算法是通過大量備選解的變換、迭代和變異,在解空間中並行動態地進行全局搜索的最優化方法,由於遺傳演算法具有比較完備的數學模型和理論,在解決很多NP—Hard問題上具有良好的性能。

遺傳演算法以一種群體中的所有個體為對象,並利用隨機化技術指導對一個被編碼的參數空間進行高效搜索。其中選擇、交叉和變異構成了遺傳演算法的遺傳操作,參數編碼、初始群體的設定、適應度函數的設計、遺傳操作設計、控制參數設定五個要素組成了遺傳演算法的核心內容。

(5)遺傳演算法搜索參數擴展閱讀:

遺傳演算法注意事項:

用戶需要注意遺傳演算法的優化過程中種群基因的多樣性是保障避免陷入局部最優解的重要因素,如果目標函數優化結果過早收斂很可能就是因為種群的多樣性不足。

為了保證種群的多樣性,其中編碼、適應度函數設計尤為重要。

適應度的含義就是字面意思,這個個體是否可以適應環境也即是否滿足優化目標指標。因為後續需要根據適應度函數進行自然選擇,因此適應度函數和你的目標函數並不需要完全一樣。

㈥ 遺傳演算法有哪些基本運行參數,其值一般設為多少

遺傳演算法在matlab里有兩個函數,分別是ga和gaoptimset,前者用來調用遺傳演算法,後者用來設定遺傳演算法的參數,具體內容可以docga查看,遺傳演算法有哪些參數可以直接在命令窗口輸入gaoptimset查看,祝好。

㈦ 請問怎樣確定遺傳演算法的參數

遺傳演算法的參數設計對於不同的實際問題都不同
目前還沒有完整的理論來參考

種群大小越大 收斂效果越好 但計算量也會增大
在空間復雜度(內存大小)和計算速度允許的情況下 盡量大一些 不過如果問題的解空間不大或者是變化的話 則要另加考慮(解空間不大就沒必要把種群定得很大了)

交叉率。。。一般都是全部參與交叉(染色體都會交叉嘛) 只是交叉方式的設計問題,有單點,多點,隨機等等 另外還要考慮交叉後解的可行性 對於具體問題,可以各種方法都試一下(這方面的理論實在是很弱)

變異率不要設高,一般在%5以下,變異是為了避免把個體局限在較優的局部解空間內(模擬退火演算法就有這個問題,所以經常會結合遺傳演算法)

總結一下,這個演算法的理論支持目前還較弱,但是很實用,反正算得快,多算幾遍,參數多改改,一般和近似解都很接近

㈧ 遺傳演算法的優缺點

優點:

1、遺傳演算法是以決策變數的編碼作為運算對象,可以直接對集合、序列、矩陣、樹、圖等結構對象進行操作。這樣的方式一方面有助於模擬生物的基因、染色體和遺傳進化的過程,方便遺傳操作運算元的運用。

另一方面也使得遺傳演算法具有廣泛的應用領域,如函數優化、生產調度、自動控制、圖像處理、機器學習、數據挖掘等領域。

2、遺傳演算法直接以目標函數值作為搜索信息。它僅僅使用適應度函數值來度量個體的優良程度,不涉及目標函數值求導求微分的過程。因為在現實中很多目標函數是很難求導的,甚至是不存在導數的,所以這一點也使得遺傳演算法顯示出高度的優越性。

3、遺傳演算法具有群體搜索的特性。它的搜索過程是從一個具有多個個體的初始群體P(0)開始的,一方面可以有效地避免搜索一些不必搜索的點。

另一方面由於傳統的單點搜索方法在對多峰分布的搜索空間進行搜索時很容易陷入局部某個單峰的極值點,而遺傳演算法的群體搜索特性卻可以避免這樣的問題,因而可以體現出遺傳演算法的並行化和較好的全局搜索性。

4、遺傳演算法基於概率規則,而不是確定性規則。這使得搜索更為靈活,參數對其搜索效果的影響也盡可能的小。

5、遺傳演算法具有可擴展性,易於與其他技術混合使用。以上幾點便是遺傳演算法作為優化演算法所具備的優點。

缺點:

1、遺傳演算法在進行編碼時容易出現不規范不準確的問題。

2、由於單一的遺傳演算法編碼不能全面將優化問題的約束表示出來,因此需要考慮對不可行解採用閾值,進而增加了工作量和求解時間。

3、遺傳演算法效率通常低於其他傳統的優化方法。

4、遺傳演算法容易出現過早收斂的問題。

(8)遺傳演算法搜索參數擴展閱讀

遺傳演算法的機理相對復雜,在Matlab中已經由封裝好的工具箱命令,通過調用就能夠十分方便的使用遺傳演算法。

函數ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最優解,fval是最優值,@fitnessness是目標函數,nvars是自變數個數,options是其他屬性設置。系統默認求最小值,所以在求最大值時應在寫函數文檔時加負號。

為了設置options,需要用到下面這個函數:options=gaoptimset('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通過這個函數就能夠實現對部分遺傳演算法的參數的設置。

㈨ 遺傳演算法的基本原理

遺傳演算法本質上是對染色體模式所進行的一系列運算,即通過選擇運算元將當前種群中的優良模式遺傳到下一代種群中,利用交叉運算元進行模式重組,利用變異運算元進行模式突變。

閱讀全文

與遺傳演算法搜索參數相關的資料

熱點內容
erp是什麼伺服器 瀏覽:184
python中tmp 瀏覽:21
說明wpf加密過程 瀏覽:142
java讀取list 瀏覽:702
iis7gzip壓縮 瀏覽:39
有什麼安卓機打吃雞好 瀏覽:597
三星u盤加密狗 瀏覽:473
php函數的返回值嗎 瀏覽:586
國企穩定程序員 瀏覽:328
編程貓如何使用教程視頻 瀏覽:218
安卓遠端網頁如何打日誌 瀏覽:218
壓縮flash大小 瀏覽:993
解壓的玩具教程可愛版 瀏覽:366
哪個求職app比較靠譜 瀏覽:888
java的讀法 瀏覽:61
nod32區域網伺服器地址 瀏覽:1003
數碼科技解壓 瀏覽:236
新網的雲伺服器管理界面復雜嗎 瀏覽:367
無人聲解壓強迫症視頻 瀏覽:573
計算機編譯運行 瀏覽:640