導航:首頁 > 源碼編譯 > 實數編碼遺傳演算法實例

實數編碼遺傳演算法實例

發布時間:2022-09-26 22:53:40

Ⅰ 在matlab中如何用遺傳演算法求解函數和的最小值

該程序採用實數編碼的遺傳演算法編寫,附件1(real code ga.m)為matlab代碼。

附件2(實數編碼遺傳演算法參考資料):

http://www.math.zju.e.cn/cagd/resources/thesis/PhDthesis_ZhouMingHUa.pdf

優化結果需要修改mutate_P以及變異量的大小。因為只有一個優化變數因此編程較為簡單。

提供一個參考鏈接:http://..com/question/583959020.html?oldq=1

Ⅱ 我想請教一下遺傳演算法裡面的實數編碼是怎麼一回事,我在做一個多目標優化的問題,希望您能指點

說的是用函數crtrp產生初始種群吧,格式為chrom=crtrp(個體數,約束);
個體數即希望產生的初始種群數,
約束為矩陣,表示變數的取值范圍。如:[-10,-5,-3,-2;10,5,3,2]表示有四個變數,范圍分別是
[-10,10],[-5,5],[-3,3],[-2,2]。這樣就會產生一個初始種群有四列,是隨機取值。
希望有用,當然別忘了支持一下啊!互相學習。。。

Ⅲ 遺傳演算法的編碼方法有幾種

常用的編碼介紹
1、二進制編碼:
(1)定義:二進制編碼方法是使用二值符號集{0,1},它所構成的個體基因型是一個二進制編碼符號串。二進制編碼符號串的長度與問題所要求的求解精度有關。
(2)舉例:0≤x≤1023,精度為1,m表示二進制編碼的長度。則有建議性說法:使
2m-1≤1000(跟精度有關)≤2m-1。取m=10
則X:0010101111就可以表示一個個體,它所對應的問題空間的值是x=175。
(3)優缺點
優點:符合最小字元集原則,便於用模式定理分析;
缺點:連續函數離散化時的映射誤差。
2、格雷碼編碼
(1)定義:格雷碼編碼是其連續的兩個整數所對應的編碼之間只有一個碼位是不同的,其餘碼位完全相同。它是二進制編碼方法的一種變形。
十進制數0—15之間的二進制碼和相應的格雷碼分別編碼如下。
二進制編碼為:0000,0001,0010,001
1,0100。0101,0110,0111,
1000,1001,1010,1011,1100,1101,1110,1111;
格雷碼編碼為:0000,0001,0011,0010,0110,0111,0101,0100,
1100,1101,1111,1110,1010,1011,1001,1000。
(2)舉例:對於區間[0。1023]中兩個鄰近的整數X1=175和X2=176,若用長度為10位的二進制編碼,可表示為X11:0010101111和X12
0010110000,而使用同樣長度的格雷碼,它們可分別表示為X21:0010101111和X22:0010101000。
(3)優點:增強了遺傳演算法的局部搜索能力,便於連續函數的局部控制項搜索。
3、浮點數(實數)編碼
(1)定義:浮點數編碼是指個體的每個基因值用某一范圍內的一個浮點數來表示,而個體的編碼長度等於其決策變數的個數。因為這種編碼方法使用的決策變數的真實值,也稱之為真值編碼方法。
(2)舉例:
(3)優點:實數編碼是遺傳演算法中在解決連續參數優化問題時普遍使用的一種編碼方式,具有較高的精度,在表示連續漸變問題方面具有優勢。
4、排列編碼
排列編碼也叫序列編碼,是針對一些特殊問題的特定編碼方式。排序編碼使問題簡潔,易於理解。該編碼方式將有限集合內的元素進行排列。若集合內包含m個元素,則存在m!種排列方法,當m不大時,m!也不會太大,窮舉法就可以解決問題。當m比較大時,m!就會變得非常大,窮舉法失效,遺傳演算法在解決這類問題上具有優勢。如解決TSP問題時,用排列編碼自然、合理。
5、其它編碼方式
多參數級聯編碼等

Ⅳ 實數編碼遺傳演算法是怎麼實現實數編碼的

又叫真實值編碼,個體的每個基因位用某一范圍內的一個浮點來表示,個體的編碼長度取決於決策量的個數

Ⅳ 遺傳演算法實數編碼的問題

和二進制一樣,不同的是交叉後得到的染色體如果有重復的刪掉後,補充第二條染色體前面的幾位。

Ⅵ 求一個遺傳演算法實數編碼的C程序,最好有注釋

Ⅶ 遺傳演算法<sup>[1,]</sup>

遺傳演算法,又稱基因演算法(Genetic Algorithm,簡稱GA),也是一種啟發式蒙特卡洛優化演算法。遺傳演算法最早是由Holland(1975)提出,它模擬了生物適者生存、優勝劣汰的進化過程,具有不依賴於初始模型的選擇、不容易陷入局部極小、在反演過程中不用計算偏導數矩陣等優點。遺傳演算法最早由Stoffa和Sen(1991)用於地震波的一維反演,之後在地球物理資料的非線性反演中得到廣泛的應用。GA演算法對模型群體進行追蹤、搜索,即模型狀態通過模型群體傳送,具有比模擬退火法更大、更復雜的「記憶」,潛力更大。

遺傳演算法在反演中的基本思路和過程是:

(1)將生物體看成模型,模型參數看成染色體,有多少個模型的參數就有多少個染色體。對每個模型的參數(染色體)用二進制進行編碼,這個編碼就是基因。

(2)隨機生成一個模型群體(相當於生物的種群),然後在模型群體中進行繁殖,通過母本的選擇、交換和變異等遺傳操作產生下一代,然後保留較好基因,淘汰較差基因。

(3)通過一代一代的繁殖優勝劣汰的進化過程,最後所剩下的種群基本上都是最優的基因,種群趨於一致。所謂群體「一致」,即群體目標函數的方差或標准差很小,或者群體目標函數的均值接近於極值(可能是極大值或極小值),從而獲得非線性反演問題所對應的最優解或近似最優解。

下面以一個實例來簡述遺傳演算法的基本過程。

[例1]設m是正整數,且0≤m≤127,求方程φ(m)=m2的極大值。

這個例子極為簡單,只有一個模型參數,因此只有一條染色體,目標函數的極值是極大值(此例子來自阮百堯課件)。遺傳演算法通過以下7個步驟來實現:

(1)模型參數二進制編碼。

每個模型參數就是一條染色體,把十進制的模型參數表示為二進制,這就是基因。首先確定二進制碼的長度(基因的長度):

2N=[mmax(i)-mmin(i)]/Δm(i) (8.20)

其中:N為第i條染色體基因的長度(也就是第i個模型參數的二進制碼位數);[mmin(i),mmax(i)]為第i個模型參數的取值范圍;Δm(i)為第i個模型參數的解析度。這樣就把模型參數離散化了,它只能按Δm(i)的整數倍變化。基因的長度按下式計算:

地球物理反演教程

其中:c為實數;N為基因長度,是整數;int[ ]為取整函數。上式表示如果c不是整數,那麼基因長度N就是對c取整後加1,這樣保證最小解析度。

基因的編碼按下式進行:

地球物理反演教程

其中:式(8.22)是編碼公式;k為基因編碼的十進制數,是整數;int[ ]為取整函數。把k轉化為二進制就是基因的編碼。解碼是按照式(8.23)進行的。首先把一個基因的二進制編碼轉化為十進制數k,然後按式(8.23)可以計算出第i個模型參數m(i)的十進制值。

例如:電阻率參數ρ(1),它的變化范圍為10~5000Ω·m,解析度為2Ω·m,設當前參數ρ(1)=133Ω·m,按式(8.21)計算得

c=11.28482,N=12

所以二進制基因長度為13位。

利用式(8.22)計算基因編碼k的十進制數:

k=int[(133-10)/2]=61

把它轉化為二進制數為:000000111101。所以ρ(1)=133 的二進制基因編碼為:000000111101。

解碼過程就是把二進制基因編碼變為十進制數k後用式(8.23)計算:

ρ(1)=10+61×2=132(Ω·m)

注意:基因編碼並不是直接把電阻率值變為二進制。此外,133這個值在基因里不會出現,因為解析度是2,所以表示為最接近的132。

對於[例1]問題來說,選解析度為1,0~127用二進制編碼需7位。

(2)產生初始模型種群。

生物繁殖進化需要一定數量的生物體種群,因此遺傳演算法開始時需要一定數量的初始模型。為保證基因的多樣性,隨機產生大量的初始模型作為初始種群,按照上面的編碼方式進行編碼。個體在模型空間中應分布均勻,最好是模型空間各代表區域均有成員。初始模型群體大,有利於搜索,但太大會增加計算量。

為保證演算法收斂,在初始模型群體中,有時候應增加各位都為0和都為1的成員。遺傳演算法就是在這個初始模型種群的基礎上進行繁殖,進化求解的。

對於[例1]問題來說,模型空間是0~127個數字,這樣初始種群最多具有128個個體。為了簡單,隨機選擇4個個體作為初始種群。初始種群的編碼、目標函數值見表8.1。

表8.1 初始種群編碼表

(3)模型選擇。

為了生成新一代模型,需要選擇較優的個體進行配對。生物進化按照自然選擇、優勝劣汰的准則進行。對應地,遺傳演算法按照一定的准則來選擇母本(兩個),然後進行配對繁殖下一代模型,這個選擇稱為模型選擇。模型配對最基本的方法是隨機采樣,用各模型的目標函數值對所有模型目標函數的平均值的比值定義繁殖概率,即

地球物理反演教程

其中:p(mi)為繁殖概率;φ(mi)為第i個模型的目標函數;φAVG為目標函數的平均值。對於極小化問題來說,規定目標函數值高於平均值的不傳代;對於極大化問題來說,反之即可。

就[例1]來說,要求目標函數取極大值,所以規定目標函數小於平均值的模型不傳代,大於它的可以傳代。對第一代,為了防止基因丟失,可先不捨去繁殖概率小的模型,讓它與概率大的模型配對。如:本例中70與56配對,101與15配對產生子代,見表8.2。

表8.2 基因交換表

(4)基因交換。

將配對的兩個親本模型的部分染色體相互交換,其中交換點可隨機選擇,形成兩個新的子代(見表8.2)。兩個染色體遺傳基因的交換過程是遺傳演算法的「繁殖」過程,是母本的重組過程。

為了使染色體的基因交換比較徹底,Stoffa等人提出了一個交換概率px來控制選擇操作的效果。如果px的值較小,那麼交換點的位置就比較靠低位,這時的交換操作基本是低位交換,交換前後模型的染色體變化不是太大。如果px的值較大,那麼交換點的位置就比較靠高位,此時的交換操作可以在較大的染色體空間進行,交換前後模型數值變化可以很大。

在[例1]中:15、101和56、70作為母本通過交換繁殖出子代5、6、111、120。所選擇的基因交換位置見表8.2。有下劃線的,是要交換的基因位置。

(5)更新。

母本模型和子本模型如何選擇保留一定數量作為新的母本,就是模型更新。不同的策略會導致不同的結果。一般而言,若產生的新一代模型較好,則選擇新一代模型而淘汰上一代模型。否則,則必須根據一定的更新概率pu來選擇上一代模型來取代新一代中某些較劣的模型。

經過更新以後,繁殖時對子代再進行優勝劣汰的選擇。對於極大值問題,大於目標函數平均值的子代可以繁殖,小於目標函數平均值的子代不能繁殖。由於新的種群能繁殖的個體數量減小了,所以要多繁殖幾次,維持種群個體的數量保持平衡。

在[例1]中,子代較好,所以完全淘汰上一代模型,完全用子代作為新的母本。選擇子代目標函數最大的兩個模型進行繁殖,分別是111、120。

(6)基因變異。

在新的配對好的母本中,按一定比例隨機選擇模型進行變異,變異操作就是模擬自然界中的環境因素,就是按比較小的變異概率pm將染色體某位或某幾位的基因發生突變(即將0變為1或將1變為0)。

變異操作的作用是使原來的模型發生某些變化,從而成為新的個體。這樣可使群體增加多樣性。變異操作在遺傳演算法中也起著至關重要的作用。實際上,由於搜索空間的性質和初始模型群體的優劣,遺傳演算法搜索過程中往往會出現所謂的「早熟收斂」現象,即在進化過程中早期陷入局部解而中止進化。採用合適的變異策略可提高群體中個體的多樣性,從而防止這種現象的出現,有助於模型跳出局部極值。表8.3為[例1]的基因變異繁殖表。

表8.3 基因變異繁殖表

在[例1]中,用111、120分別繁殖兩次,形成4個子代,維持種群數量平衡。隨機選擇120進行變異,變異的位數也是隨機的。這里把它的第2位進行變異,即從1變為0,繁殖後形成子代為:70、110、121、127。可以看出新的子代比初始種群要好得多,其中甚至已經出現了最優解。如果對於地球物理的極小值問題,我們可以預先設置一個擬合精度,只要在種群中出現一個達到擬合精度的模型就可以終止反演了。

(7)收斂。

重復(3)~(6)的步驟,模型群體經多次選擇、交換、更新、變異後,種群個體數量大小不變,模型目標函數平均值趨於穩定,最後聚集在模型空間中一個小范圍內,則找到了全局極值對應的解,使目標函數最大或最小的模型就是全局最優模型。

對於具有多解性的地球物理反演問題來說,通過這一步有可能找到滿足擬合精度的多個模型,對於實際反演解釋、推斷具有較高的指導意義。

遺傳演算法中的各種概率包括交換概率px、變異概率pm以及更新概率pu,這些參數的選擇與設定目前尚無統一的理論指導,多數都視具體問題而定。Stoffa等(1991)的研究表明,適中的交換概率(px≈0.6)、較小的變異概率(pm≈0.01)和較大的更新概率(pu≈0.9),遺傳演算法的性能較優。

與模擬退火反演演算法相同,遺傳演算法與傳統的線性反演方法相比,該方法具有:不依賴初始模型的選擇、能尋找全局最小點而不陷入局部極小、在反演過程中不用計算雅克比偏導數矩陣等優點。另外,遺傳演算法具有並行性,隨著並行計算和集群式計算機技術的發展,該演算法將會得到越來越廣泛的研究與應用。

但是遺傳演算法作為類蒙特卡洛演算法同樣需要進行大量的正演計算,種群個體數量越大,繁衍代數越多,則計算量越大。所以和前面的最小二乘法相比,速度不是它的優勢。

Ⅷ 用遺傳演算法變成,想用實數編碼,這個實數編碼長度怎麼計算

實數編碼沒有編碼長度的說法,實數編碼時染色體(控制變數)就是一個實數,大小介於該染色體(控制變數)的上下限區間內。

閱讀全文

與實數編碼遺傳演算法實例相關的資料

熱點內容
xcode新版編譯運行 瀏覽:180
原版純英文字幕電影 瀏覽:231
阿里雲如何做到雲伺服器獨立ip 瀏覽:708
單片機進制教案 瀏覽:476
有什麼好的演算法書 瀏覽:157
到達市電影院英語 瀏覽:135
韓國電影男的進健房找女教練 瀏覽:10
國內十個免費網站 瀏覽:703
雙女主的小說 瀏覽:545
邱淑貞拍過的3級 瀏覽:661
午夜電影在線觀看網頁 瀏覽:221
美國男同電影 瀏覽:558
主角穿越電影強化性能力 瀏覽:837
主角林楓穿越到異界 瀏覽:469
小說下載書包網txt在線下載 瀏覽:969
肉很多很欲的高質量現言 瀏覽:428
電影愛情來得不準時塞爾維亞 瀏覽:748
有關監獄的恐怖片 瀏覽:242
穿越僵屍世界收女系統 瀏覽:899
java關鍵字保留字 瀏覽:244