數學實驗遺傳演算法
㈠ 什麼叫遺傳演算法,遺傳演算法有什麼用希望通俗一點兒
首先有個很神奇的現象:人類以及動物的進化都是朝著好的方向發展,雖然有的往壞的方向發展了,但是總體肯定是往好的方向發展。這看似不奇怪,但是我們知道,人類的基因組合是隨機的,沒有上帝約束。這種隨機過程的結果卻是一致的!!!!!我們的遺傳演算法就是從這里得到啟發!比如我要求y=x1+x2的最大值,兩個變數,我不用傳統的數學方法,就用幼兒園的方法,把所有可能取值帶進去算,然後找出最大的就行了!但是,有時候取值是連續的,沒關系!使其離散化,就像把模擬信號化成數字信號一樣!還有個問題,如果取值太多咋辦?這就是遺傳演算法的精髓!
首先,我不用取所有可能取值,我只取幾十個或者幾百個(自己定),然後進行處理,怎樣處理呢?讓我們回到剛開始的人類進化問題,雖然沒有上帝的幫忙,但是我們知道,自然界遵循優勝劣汰的發賊,遵循交叉變異的法則,雖然不能數字化,但是這是個趨勢!我們就是把這種法則數學化!所取的幾十個值我要剩下哪些?要拋棄哪些?要處理哪些?這都要我們自己選擇,肯定是選擇最合適的取值留下,經過一系列的處理,就生成了新的群體,然後再處理,自己約定處理到第幾次就可以了,取出現過的最大值
不用擔心取到的是不是最大值,因為數學上已經有了證明,這種方法是收斂的,概率是1,所以盡管放心的做,具體的做法要參考相關書籍,不難的。
遺傳演算法的最大用處就是解決數學理論不能解決的問題!比如路徑規劃,調度問題……
㈡ 遺傳演算法是一種演算法還是一種模型 關於數學建模的
遺傳演算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。遺傳演算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經過基因(gene)編碼的一定數目的個體(indivial)組成。每個個體實際上是染色體(chromosome)帶有特徵的實體。染色體作為遺傳物質的主要載體,即多個基因的集合,其內部表現(即基因型)是某種基因組合,它決定了個體的形狀的外部表現,如黑頭發的特徵是由染色體中控制這一特徵的某種基因組合決定的。
㈢ 遺傳演算法在數學上的應用
應用遺傳演算法搜索邊坡最小安全系數的研究
陸峰 陳祖煜 李素梅
(中國水利水電科學研究院結構材料所)
提 要
本文簡要介紹了滑坡滑裂面搜索問題和遺傳演算法,並試用遺傳進化演算法從邊坡任意形狀滑裂面組合中搜索最有可能的滑裂面,也就是使安全系數最小的滑裂面。作為實例,分析了遺傳演算法在天生橋二級電站首部樞紐進水口右岸滑坡分析中的應用。
關鍵詞 邊坡;安全系數;遺傳演算法;EMU程序。
1.前言
在應用條分法進行邊坡穩定分析的過程中,從可能的滑裂面集合中確定相應最小安全系數的臨界滑裂面是很關鍵的一步。這是一個確定安全系數這個泛函對滑裂面形狀這個自變函數的極小值問題。由於實際情況的復雜性,求這一極小值的解析方法很難付諸實施。從實用角度出發,基於最優化原理發展起來的求邊坡最小安全系數的方法是比較有效而且便於應用。這些方法有"窮舉法"、"黃金分割法"、"鮑威爾法"等,但它們都只能應用於圓弧形滑裂面或圓弧-直線形(改良圓弧法)滑裂面的情形。對於比較符合岩質邊坡的具有多個自由度的折線形滑裂面情形,孫君實用復形法取得較好的效果;陳祖煜提出了單純形法,使最優化方法搜索邊坡最危險滑裂面更加有效,且不會漏掉可能的最小值。單純形法程序已在國內外多家工程、科研和教育單位得到應用,並不斷隨著應用工程案例數量的增加而不斷完善[1]。單純形法使最優化方法應用於岩質邊坡穩定性分析的研究和應用前進了一大步。同為最優化方法,遺傳演算法是最近發展起來的一種仿生尋優演算法。國內外已有一些學者試圖將遺傳演算法應用於搜索安全系數最小的邊坡滑裂面,以期獲得更優的結果。文獻[2]將此演算法應用於基於圓弧滑裂面假定的任意形狀坡面的非均質土坡情況,搜索的目標是使邊坡安全系數最小的圓弧滑裂面圓心和半徑。本文將在文獻[1]和文獻[2]的基礎上,應用遺傳演算法搜索邊坡安全系數最小的任意形狀滑裂面,根據工程實踐經驗,主要是折線組合的滑裂面。 2.遺傳演算法及其應用於岩土工程的基礎
如前所述,搜索邊坡最危險滑裂面問題是安全系數對滑裂面形狀的泛函極值問題。數值方法求解這一問題的主要手段是迭代運算。一般的迭代方法容易陷入局部極小的陷阱而出現"死循環"現象,使迭代無法進行。遺傳演算法很好地克服了這個缺點,是一種全局優化演算法。
生物在漫長的進化過程中,從低等生物一直發展到高等生物,可以說是一個絕妙的優化過程。這是自然環境選擇的結果。人們研究生物進化現象,總結出進化過程包括復制、雜交、變異、競爭和選擇。一些學者從生物遺傳、進化的過程得到啟發,提出了遺傳演算法(GA)。演算法中稱遺傳的生物體為個體(indivial),個體對環境的適應程度用適應值(fitness)表示。適應值取決於個體的染色體(chromosome),在演算法中染色體常用一串數字表示,數字串中的一位對應一個基因(gene)。一定數量的個體組成一個群體(population)。對所有個體進行選擇、交叉和變異等操作,生成新的群體,稱為新一代(new generation)。
遺傳演算法計算程序的流程可以表示如下[3]:
第一步 准備工作
(1)選擇合適的編碼方案,將變數(特徵)轉換為染色體(數字串,串長為m)。通常用二進制編碼。
(2)選擇合適的參數,包括群體大小(個體數M)、交叉概率PC和變異概率Pm。
(3)確定適應值函數f(x)。f(x)應為正值。
第二步 形成一個初始群體(含M個個體)。在邊坡滑裂面搜索問題中,取已分析的可能滑裂面組作為初始群體。
第三步 對每一染色體(串)計算其適應值fi,同時計算群體的總適應值 。
第四步 選擇
計算每一串的選擇概率Pi=fi/F及累計概率 。選擇一般通過模擬旋轉滾花輪(roulette,其上按Pi大小分成大小不等的扇形區)的演算法進行。旋轉M次即可選出M個串來。在計算機上實現的步驟是:產生[0,1]間隨機數r,若r<q1,則第一串v1入選,否則選v2,使滿足qi-1<r<qi(2≤i≤m)。可見適應值大的入選概率大。
第五步 交叉
(1) 對每串產生[0,1]間隨機數,若r>pc,則該串參加交叉操作,如此選出參加交叉的一組後,隨機配對。
(2) 對每一對,產生[1,m]間的隨機數以確定交叉的位置。
第六步 變異
如變異概率為Pm,則可能變異的位數的期望值為Pm ×m×M,每一位以等概率變異。具體為對每一串中的每一位產生[0,1]間的隨機數r,若r<Pm,則該位發生反轉,如對染色體二進制編碼為數字0變為1,1變為0。
如新個體數達到M個,則已形成一個新群體,轉向第三步;否則轉向第四步繼續遺傳操作。直到找到使適應值最大的個體或達到最大進化代數為止。
由於選擇概率是由適應值決定的,即適應值大的染色體入選概率也較大,使選擇起到"擇優汰劣"的作用。交叉使染色體交換信息,結合選擇規則,使優秀信息得以保存,不良信息被遺棄。變異是基因中得某一位發生突變,以達到產生確實有實質性差異的新品種。遺傳演算法雖是一種隨機演算法,但它是有導向的,它所使用的"按概率隨機選擇"方法是在有方向的搜索方法中的一種工具。正是這種獨特的搜索方法,使遺傳演算法自然地避開了其它最優化演算法常遇到的局部最小陷阱。遺傳演算法搜索最優結果的效果在數學上還沒有嚴格的證明,但它的有效性已在許多專業的應用的得到體現。對於岩質邊坡安全系數對滑裂面形狀這樣不可微的泛函極值問題,就目前的科學認識水平來講,遺傳演算法不失為一種可以信賴的方法。 3.用遺傳演算法搜索安全系數最小的邊坡任意形狀滑裂面
在邊坡(尤其是岩質邊坡)最危險滑裂面搜索問題中,滑裂面的實際形狀是很復雜的,起控製作用的是岩體的主要結構面和邊坡的體型。從以往實際工程經驗看,可以總結出岩質邊坡滑裂面在順滑方向上的剖面形狀為折線,由岩體結構面和局部岩土材料的剪切破壞面連接而成。這樣,搜索最危險滑裂面的問題就可以簡化為從折線滑裂面組合中尋優的問題。本文用遺傳進化演算法解決這個問題。
(1) 定義遺傳演算法的目標函數
目標函數定義為邊坡的安全系數,用安全系數的大小表示解的適應值。在邊坡最危險滑裂面搜索問題中,解的安全系數越小,適應性能越好。
(2) 初始群體的確定
根據邊坡的工程地質調查記錄,根據經驗初步擬定出一批滑裂面形狀。如圖1所示,滑裂面由點序列Ai(xi,yi)(i=1,?,N)表示。將點序列AI的坐標(xi,yi)依次排列成x1y1x2y2?xNyN的形式,經二進制編碼形成一條染色體。對於擬定的滑裂面形狀,其對應的安全系數用EMU程序[4]進行計算。
(3) 確定搜索范圍
根據經驗對每個點Ai,確定其坐標(xi,yi)的可能變化范圍。在此范圍內搜索導致最小安全系數的邊坡滑裂面形狀。
(4) 計算
將初始種群的所有擬定滑裂面形狀(染色體)交給遺傳演算法程序進行計算。具體過程參見前文。
4.算例分析[4]
圖1 天生橋二級電站首部樞紐進水口右岸滑坡示意圖
選用天生橋二級電站首部樞紐進水口右岸滑坡作為算例,圖1為其計算簡圖。滑坡高約30m,總方量為7000餘m3,主要為第四系沖坡積物和施工堆碴。物理力學參數見表1。
表1 各土層物理力學性能指標
土層 密度(g/cm3) 抗剪強度指標
內摩擦角 凝聚力(kPa)
① 施工棄碴 1.85 21.8° 19.6
② 坡積土 1.85 21.8° 0.0
③ 砂土 1.85 21.8° 29.4
④ 砂質淤泥 1.85 20.8° 34.3
⑤ 河卵石、礫石 1.90 24.2° 0.0
滑坡發生前,靠近坡腳處因修建擋土牆被開挖而削弱邊坡的整體穩定性,可以斷定滑坡的滑裂面將從此經過。本例題還將忽略實際工程中坡頂張裂縫的影響。選用5個點的折線來模擬滑裂面形狀,初步確定AiBiCiDiE(i=1~4)為可能的滑裂面。滑裂面上端點Ai的y坐標已受限制,下端點E的x、y坐標均已確定,故滑裂面只有7個自由度。按遺傳演算法的要求將滑裂面表示成如下形式:
xAxByBxCyCxDyD
四個模擬滑裂面的坐標和由EMU程序分析的安全系數列於表2。
表2 模擬滑裂面坐標及安全系數(坐標單位 m)
滑裂面 xA xB yB xC yC xD yD 安全系數
A1B1C1D1E 35.44 27.69 16.82 18.79 9.25 11.39 4.49 0.92
A2B2C2D2E 38.15 30.60 20.69 23.14 14.60 14.12 8.37 0.99
A3B3C3D3E 39.02 34.18 18.47 26.28 10.41 16.07 4.58 1.02
A3B3C4D4E 39.02 34.18 18.47 25.12 11.39 14.70 4.97 1. 03
限制搜索范圍為每個自由度可在2.0m范圍內變化。將4個排列好的數字串作為輸入數據交給遺傳演算法程序進行編碼、計算。經過大量運算,最後在最大種群代數(1000)群體中找到使安全系數最小的坐標數字串,經解碼形成如下坐標:
(36.89,30.07)(33.25,21.52)(21.71,9.34)(13.54,5.07)(0.0,0.0)
即為圖1中的ABCDE滑裂面。由遺傳演算法求出其相應的安全系數為0.90。滑裂面形式和安全系數都比較接近實際情況。
5.結語
遺傳演算法是一種高效的尋優演算法,而且能有效地解決局部最小問題、非線性映射關系的表示、非線性映射關系不可微等普通優化演算法常遇到的問題。算例的成果證明了這一特點。將遺傳演算法應用於滑坡滑裂面搜索問題,主要的工作是將工程問題簡化成遺傳演算法需要的形式,簡化時需詳細參考地質調查資料和工程經驗,務使簡化的形式接近實際情況。對於簡化的搜索樣本,其安全系數的計算必須可靠,為此可應用一些比較成熟的計算程序,如EMU等。充分考慮實際工程地質情況和選取切合實際的搜索樣本後,遺傳演算法程序必將能為滑坡搜索出最有可能的滑裂面。
參考文獻
1 陳祖煜,邵長明,最優化方法在確定邊坡最小安全系數方面的應用,岩土工程學報,Vol.10, No.4, 1998.7。
2 肖專文,張奇志,梁力,林韻梅,遺傳進化演算法在邊坡穩定性分析中的應用,岩土工程學報,Vol.20, No.1, 1998.1。
3 周明,孫樹棟,遺傳演算法原理及應用,國防工業出版社,1999.6。
4 陳祖煜,岩質高邊坡穩定分析程序EMU,1995.5。
Research on Searching Least Factor of Safety of Slopes with Genetic Algorithm
Lu Feng Chen Zuyu Li Sumei
(Department of Structure and Material, IWHR)
Abstract
The problem of searching least factor of safety of slopes and the theory of Genetic Algorithm have been introced in this paper. This theory has been employed to solve this problem to find the most possible slide of slopes. As an example, the application of genetic algorithm on the Tianshengqiao Power Station Right Bank Slide has been presented.
Keywords: Slope, Factor of Safety, Genetic Algorithm, EMU Program.
㈣ 什麼是遺傳演算法實值變數
1.2 遺傳演算法的原理
遺傳演算法GA把問題的解表示成「染色體」,在演算法中也即是以二進制編碼的串。並且,在執行遺傳演算法之前,給出一群「染色體」,也即是假設解。然後,把這些假設解置於問題的「環境」中,並按適者生存的原則,從中選擇出較適應環境的「染色體」進行復制,再通過交叉,變異過程產生更適應環境的新一代「染色體」群。這樣,一代一代地進化,最後就會收斂到最適應環境的一個「染色體」上,它就是問題的最優解。
一、遺傳演算法的目的
典型的遺傳演算法CGA(Canonical Genetic Algorithm)通常用於解決下面這一類的靜態最優化問題:
考慮對於一群長度為L的二進制編碼bi,i=1,2,…,n;有
bi∈{0,1}L (3-84)
給定目標函數f,有f(bi),並且
0<f(bi)<∞
同時
f(bi)≠f(bi+1)
求滿足下式
max{f(bi)|bi∈{0,1}L} (3-85)
的bi。
很明顯,遺傳演算法是一種最優化方法,它通過進化和遺傳機理,從給出的原始解群中,不斷進化產生新的解,最後收斂到一個特定的串bi處,即求出最優解。二、遺傳演算法的基本原理
長度為L的n個二進制串bi(i=1,2,…,n)組成了遺傳演算法的初解群,也稱為初始群體。在每個串中,每個二進制位就是個體染色體的基因。根據進化術語,對群體執行的操作有三種:
1.選擇(Selection)
這是從群體中選擇出較適應環境的個體。這些選中的個體用於繁殖下一代。故有時也稱這一操作為再生(Reproction)。由於在選擇用於繁殖下一代的個體時,是根據個體對環境的適應度而決定其繁殖量的,故而有時也稱為非均勻再生(differential reproction)。
2.交叉(Crossover)
這是在選中用於繁殖下一代的個體中,對兩個不同的個體的相同位置的基因進行交換,從而產生新的個體。
3.變異(Mutation)
這是在選中的個體中,對個體中的某些基因執行異向轉化。在串bi中,如果某位基因為1,產生變異時就是把它變成0;反亦反之。
遺傳演算法的原理可以簡要給出如下:
choose an intial population
determine the fitness of each indivial
perform selection
repeat
perform crossover
perform mutation
determine the fitness of each indivial
perform selection
until some stopping criterion applies
這里所指的某種結束准則一般是指個體的適應度達到給定的閥值;或者個體的適應度的變化率為零。
三、遺傳演算法的步驟和意義
1.初始化
選擇一個群體,即選擇一個串或個體的集合bi,i=1,2,...n。這個初始的群體也就是問題假設解的集合。一般取n=30-160。
通常以隨機方法產生串或個體的集合bi,i=1,2,...n。問題的最優解將通過這些初始假設解進化而求出。
2.選擇
根據適者生存原則選擇下一代的個體。在選擇時,以適應度為選擇原則。適應度准則體現了適者生存,不適應者淘汰的自然法則。
給出目標函數f,則f(bi)稱為個體bi的適應度。以
(3-86)為選中bi為下一代個體的次數。
顯然.從式(3—86)可知:
(1)適應度較高的個體,繁殖下一代的數目較多。
(2)適應度較小的個體,繁殖下一代的數目較少;甚至被淘汰。
這樣,就產生了對環境適應能力較強的後代。對於問題求解角度來講,就是選擇出和最優解較接近的中間解。
3.交叉
對於選中用於繁殖下一代的個體,隨機地選擇兩個個體的相同位置,按交叉概率P。在選中的位置實行交換。這個過程反映了隨機信息交換;目的在於產生新的基因組合,也即產生新的個體。交叉時,可實行單點交叉或多點交叉。
例如有個體
S1=100101
S2=010111
選擇它們的左邊3位進行交叉操作,則有
S1=010101
S2=100111
一般而言,交叉幌宰P。取值為0.25—0.75。
4.變異
根據生物遺傳中基因變異的原理,以變異概率Pm對某些個體的某些位執行變異。在變異時,對執行變異的串的對應位求反,即把1變為0,把0變為1。變異概率Pm與生物變異極小的情況一致,所以,Pm的取值較小,一般取0.01-0.2。
例如有個體S=101011。
對其的第1,4位置的基因進行變異,則有
S'=001111
單靠變異不能在求解中得到好處。但是,它能保證演算法過程不會產生無法進化的單一群體。因為在所有的個體一樣時,交叉是無法產生新的個體的,這時只能靠變異產生新的個體。也就是說,變異增加了全局優化的特質。
5.全局最優收斂(Convergence to the global optimum)
當最優個體的適應度達到給定的閥值,或者最優個體的適應度和群體適應度不再上升時,則演算法的迭代過程收斂、演算法結束。否則,用經過選擇、交叉、變異所得到的新一代群體取代上一代群體,並返回到第2步即選擇操作處繼續循環執行。
圖3—7中表示了遺傳演算法的執行過程。
圖3-7 遺傳演算法原理
1.3 遺傳演算法的應用
遺傳演算法在很多領域都得到應用;從神經網路研究的角度上考慮,最關心的是遺傳演算法在神經網路的應用。在遺傳演算法應用中,應先明確其特點和關鍵問題,才能對這種演算法深入了解,靈活應用,以及進一步研究開發。
一、遺傳演算法的特點
1.遺傳演算法從問題解的中集開始嫂索,而不是從單個解開始。
這是遺傳演算法與傳統優化演算法的極大區別。傳統優化演算法是從單個初始值迭代求最優解的;容易誤入局部最優解。遺傳演算法從串集開始搜索,復蓋面大,利於全局擇優。
2.遺傳演算法求解時使用特定問題的信息極少,容易形成通用演算法程序。
由於遺傳演算法使用適應值這一信息進行搜索,並不需要問題導數等與問題直接相關的信息。遺傳演算法只需適應值和串編碼等通用信息,故幾乎可處理任何問題。
3.遺傳演算法有極強的容錯能力
遺傳演算法的初始串集本身就帶有大量與最優解甚遠的信息;通過選擇、交叉、變異操作能迅速排除與最優解相差極大的串;這是一個強烈的濾波過程;並且是一個並行濾波機制。故而,遺傳演算法有很高的容錯能力。
4.遺傳演算法中的選擇、交叉和變異都是隨機操作,而不是確定的精確規則。
這說明遺傳演算法是採用隨機方法進行最優解搜索,選擇體現了向最優解迫近,交叉體現了最優解的產生,變異體現了全局最優解的復蓋。
5.遺傳演算法具有隱含的並行性
遺傳演算法的基礎理論是圖式定理。它的有關內容如下:
(1)圖式(Schema)概念
一個基因串用符號集{0,1,*}表示,則稱為一個因式;其中*可以是0或1。例如:H=1x x 0 x x是一個圖式。
(2)圖式的階和長度
圖式中0和1的個數稱為圖式的階,並用0(H)表示。圖式中第1位數字和最後位數字間的距離稱為圖式的長度,並用δ(H)表示。對於圖式H=1x x0x x,有0(H)=2,δ(H)=4。
(3)Holland圖式定理
低階,短長度的圖式在群體遺傳過程中將會按指數規律增加。當群體的大小為n時,每代處理的圖式數目為0(n3)。
遺傳演算法這種處理能力稱為隱含並行性(Implicit Parallelism)。它說明遺傳演算法其內在具有並行處理的特質。
二、遺傳演算法的應用關鍵
遺傳演算法在應用中最關鍵的問題有如下3個
1.串的編碼方式
這本質是問題編碼。一般把問題的各種參數用二進制編碼,構成子串;然後把子串拼接構成「染色體」串。串長度及編碼形式對演算法收斂影響極大。
2.適應函數的確定
適應函數(fitness function)也稱對象函數(object function),這是問題求解品質的測量函數;往往也稱為問題的「環境」。一般可以把問題的模型函數作為對象函數;但有時需要另行構造。
3.遺傳演算法自身參數設定
遺傳演算法自身參數有3個,即群體大小n、交叉概率Pc和變異概率Pm。
群體大小n太小時難以求出最優解,太大則增長收斂時間。一般n=30-160。交叉概率Pc太小時難以向前搜索,太大則容易破壞高適應值的結構。一般取Pc=0.25-0.75。變異概率Pm太小時難以產生新的基因結構,太大使遺傳演算法成了單純的隨機搜索。一般取Pm=0.01—0.2。
三、遺傳演算法在神經網路中的應用
遺傳演算法在神經網路中的應用主要反映在3個方面:網路的學習,網路的結構設計,網路的分析。
1.遺傳演算法在網路學習中的應用
在神經網路中,遺傳演算法可用於網路的學習。這時,它在兩個方面起作用
(1)學習規則的優化
用遺傳演算法對神經網路學習規則實現自動優化,從而提高學習速率。
(2)網路權系數的優化
用遺傳演算法的全局優化及隱含並行性的特點提高權系數優化速度。
2.遺傳演算法在網路設計中的應用
用遺傳演算法設計一個優秀的神經網路結構,首先是要解決網路結構的編碼問題;然後才能以選擇、交叉、變異操作得出最優結構。編碼方法主要有下列3種:
(1)直接編碼法
這是把神經網路結構直接用二進制串表示,在遺傳演算法中,「染色體」實質上和神經網路是一種映射關系。通過對「染色體」的優化就實現了對網路的優化。
(2)參數化編碼法
參數化編碼採用的編碼較為抽象,編碼包括網路層數、每層神經元數、各層互連方式等信息。一般對進化後的優化「染色體」進行分析,然後產生網路的結構。
(3)繁衍生長法
這種方法不是在「染色體」中直接編碼神經網路的結構,而是把一些簡單的生長語法規則編碼入「染色體」中;然後,由遺傳演算法對這些生長語法規則不斷進行改變,最後生成適合所解的問題的神經網路。這種方法與自然界生物地生長進化相一致。
3.遺傳演算法在網路分析中的應用
遺傳演算法可用於分析神經網路。神經網路由於有分布存儲等特點,一般難以從其拓撲結構直接理解其功能。遺傳演算法可對神經網路進行功能分析,性質分析,狀態分析。
遺傳演算法雖然可以在多種領域都有實際應用,並且也展示了它潛力和寬廣前景;但是,遺傳演算法還有大量的問題需要研究,目前也還有各種不足。首先,在變數多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優解附近,但無法精確確定最擾解位置;最後,遺傳演算法的參數選擇尚未有定量方法。對遺傳演算法,還需要進一步研究其數學基礎理論;還需要在理論上證明它與其它優化技術的優劣及原因;還需研究硬體化的遺傳演算法;以及遺傳演算法的通用編程和形式等
㈤ 做數學建模用到的遺傳演算法,難不難,要怎麼學要不要用專門的工具箱
要看你用遺傳演算法解決什麼問題,一般情況下,有兩個方向使用遺傳演算法,一是自己編寫遺傳演算法代碼解決問題,二是用Matlab遺傳演算法工具箱。前者可以學習王小平的《遺傳演算法——理論、應用與軟體實現》這本書,後者可以學習 雷英傑的《MATLAB遺傳演算法工具箱及應用》這本書,網上都可以找到電子版。
你要是用遺傳演算法解決旅行商問題這樣的組合優化問題,建議你自己編碼實現吧,網上可以找到很多代碼參考。
㈥ 關於遺傳演算法,模糊數學,神經網路三種數學的區別和聯系
遺傳演算法是一種智能計算方法,針對不同的實際問題可以設計不同的計算程序。它主要有版復權制,交叉,變異三部分完成,是仿照生物進化過程來進行計算方法的設計。
模糊數學是研究現實生活中一類模糊現象的數學。簡單地說就是像好與壞怎樣精確的描述,將好精確化,用數字來表達。
神經網路是一種仿生計算方法,仿照生物體中信息的傳遞過程來進行數學計算。
這三種知識都是近40年興起的新興學科,主要應用在智能模糊控制上面。這三者可以結合起來應用。如用模糊數學些遺傳演算法的程序,優化神經網路,最後用神經網路控制飛行器或其他物體
㈦ 關於遺傳演算法選擇概率的和的計算過程——數學達人請進!
首先y=x*x在[0,31]這個函數的極值是取31的時候,用遺傳演算法來解答這樣的問題是內有點多餘容的。遺傳演算法的主要步驟是4步,初始化種群,選擇,交叉,變異。這里說的淘汰函數,很可能就是在選擇選擇運算元,這個運算元是根據最適合最優先的演算法來實現。舉個簡單的例子,你要用數字進行遺傳演算法,肯定得把他轉化為2進制的染色體,【0-31】就是從00000-11111,每條染色體5個基因。對於選擇運算來說,每次要從種群選擇最優的幾個,第一次完全是隨機的。假如隨機選4個染色體,選的4條染色體是1,2,3,4。很明顯他們的值是1,4,9,16,總和是30,那麼選擇4的概率就是30分之16,這樣就可以盡可能的選擇大的數值。這里的淘汰域3,可能是每次淘汰3條染色體,或者每次只選擇3條最優的染色體,視其選擇的條數而定。我看在程序里沒有用到這個東西。遺傳演算法以及進化演算法不限定於特殊的程序,每個人有不同的理解,不必拘泥於概念。
㈧ 遺傳演算法的數學基礎的介紹
遺傳演算法的數學基礎由張文修、梁怡編著,是一本重點在於闡述遺傳演算法的數學基礎的書籍。