時間:2012-09-04 16:36:25來源:李姍姍,何印洲
摘要:本文首先闡述了遺傳算法的起源,隨后對遺傳算法進(jìn)行了簡要概述。本文重點介紹了遺傳算法的基本工作原理,討論了遺傳算法理論存在的問題及改進(jìn)方法,提出了遺傳算法在自動控制中的研究及其應(yīng)用。最后,本文給出了在Matlab中遺傳算法的一般程序。
關(guān)鍵字:遺傳算法,自動控制,Matlab
中圖分類號:TP301.6
The Theory and Application of Genetic Algorithm
Li Shanshan, He Yinzhou
School of Control Science and Engineering
Shandong University 250061
Abstract: This paper introduces the origin of genetic algorithm, and then gives a shot introduction of genetic algorithm. This paper underlines the basic working theory, discusses the problems and improving methods in genetic algorithm and then proposes the research and application of genetic algorithm in automatic control. At last, this paper gives the codes of genetic algorithm in Matlab.
Keywords: Genetic algorithm, Automatic control, Matlab
遺傳算法(GA)是一種借鑒生物界自然選擇和自然遺傳機(jī)制的隨機(jī)化搜索算法[1],是由美國密歇根大學(xué)Holland等人在七十年代首次提出并建立了它的數(shù)學(xué)框架。該方法一經(jīng)提出便受到了關(guān)注,到80年代中期其研究開始進(jìn)入高潮。Goldberg和Michalewicz[2, 3]對算法及其應(yīng)用進(jìn)行了全面、系統(tǒng)的論述,并成功地將它應(yīng)用到各種領(lǐng)域的優(yōu)化問題。盡管遺傳算法在許多領(lǐng)域中已經(jīng)取得了巨大的成功,但遺傳算法存在收斂速度慢和易于陷入局部最優(yōu)等問題。如何改善遺傳算法的搜索能力和提高算法的收斂速度,使其更好地應(yīng)用于實際問題的解決,是各國研究者一直探討的主要課題。本文從遺傳算法的有關(guān)理論來概述目前的研究現(xiàn)狀,并討論了遺傳算法在控制中的應(yīng)用。
自從達(dá)爾文的進(jìn)化論得到人們的接受之后,生物學(xué)家們就對進(jìn)化機(jī)制產(chǎn)生了極大的興趣。化石記錄表明我們所觀察到的復(fù)雜結(jié)構(gòu)的生命是在相對短的時間進(jìn)化而來的,對這一點包括生物學(xué)家在內(nèi)的許多人都感到驚奇。雖然目前關(guān)于推動這個進(jìn)化的機(jī)制還沒有完全弄清楚,但它們的某些特征己為人所知。進(jìn)化是發(fā)生在作為生物結(jié)構(gòu)編碼的染色體上,通過對染色體的譯碼部分地生成生物。下面是關(guān)于進(jìn)化理論中的已廣為人們所接受一般特性:
(1)進(jìn)化過程發(fā)生在染色體上,而不是發(fā)生在它們所編碼的生物個體上。
(2)自然選擇把染色體以及由它們所譯成的結(jié)構(gòu)的表現(xiàn)聯(lián)系在一起,那些適應(yīng)性好的個體的染色體經(jīng)常比差的個體的染色體有更多的繁殖機(jī)會。
(3)繁殖過程是進(jìn)化發(fā)生的那一刻,變異可以使生貨物子代的染色體不同于它們父代的染色體,通過結(jié)合兩個父代染色體中的物質(zhì),重組過程可以在子代中產(chǎn)生有很大差異的染色體。
(4)生物進(jìn)化沒有記憶。有關(guān)產(chǎn)生個體的信息包含在個體所攜帶的染色體的集合以及染色體編碼的結(jié)構(gòu)之中,這些個體會很好的適應(yīng)它們的環(huán)境。
大多數(shù)生物是通過自然選擇和有性生殖這兩種基本過程進(jìn)行演化的。自然選擇的原則是適應(yīng)者生存,不適應(yīng)者淘汰。自然選擇決定了群體中哪些個個體能夠存活并繁殖;有性生殖保證了后代基因中的混合與重組。比起那些僅包含單個親本的基因拷貝和依靠偶然變異來改進(jìn)的后代,這種由基因重組產(chǎn)生的后代進(jìn)化要快得多。60年代美國Michigan大學(xué)的John Holland在從事如何能建立能學(xué)習(xí)的機(jī)器的研究中注意到學(xué)習(xí)不僅可以通過單個生貨物的適應(yīng)而且通過一個群體的許多代的進(jìn)化也能發(fā)生。受達(dá)爾文進(jìn)化論的啟發(fā),他逐漸認(rèn)識到,在機(jī)器學(xué)習(xí)的研究中,為了獲得一個好的學(xué)習(xí)算法,僅靠單個策略的建立是不夠的,還要依賴于一個包含許多候選策略的群體的繁殖。它們的思想起源于遺傳進(jìn)化,Holland就將這個研究領(lǐng)域命名為遺傳算法[4]。
Holland創(chuàng)建的遺傳算法是一種概率搜索算法,它是利用某種編碼技術(shù)作用于稱為染色體的二進(jìn)制數(shù)串,其基本思想是模擬由這些串組成的群體的進(jìn)化過程[5]。遺傳算法通過有組織的而不是隨機(jī)的信息交換來重新組合那些適應(yīng)性好的串,在每一代中,利用上一代串結(jié)構(gòu)中適應(yīng)性好的位和段來生成一個新的串的群體;作為額外增添,偶爾也要在串結(jié)構(gòu)中嘗試用新的位和段來代替原來的部分。遺傳算法是一類隨機(jī)算法,但它不是簡單的隨機(jī)走動,它可以有效地利用已有的信息來搜尋那些有希望改替解的質(zhì)量的串。類似于自然進(jìn)化,遺傳算法通過作用于染色體上的基因,尋找好的染色體來求解問題。與自然界相似,遺傳算法對求解問題的本身一無所知,并基于適應(yīng)值來選擇染色體,使適應(yīng)性好的染色體比適應(yīng)值差的染色體有更多的繁殖機(jī)會。該算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程而形成的一種自適應(yīng)全局優(yōu)化概率搜索算法。采用遺傳算法作為工具,通過權(quán)重系數(shù)變化法處理多目標(biāo)問題,通過罰函數(shù)法處理約束,從而解決復(fù)雜問題。遺傳算法之所以能夠得到人們廣泛的關(guān)注和認(rèn)可主要源于它本身具有的特征。它遺傳算法的基本特征[6]主要有以下幾個方面:
(1)智能性:遺傳算法的智能性包括自組織、自適應(yīng)和自學(xué)習(xí)性等。應(yīng)用遺傳算法求解問題時,在確定了編碼方案、適應(yīng)值函數(shù)及遺傳算子以后,遺傳算法根據(jù)獲得的信息自行組織搜索。由于遺傳算法是基于“優(yōu)勝劣汰,適者生存”的自然選擇策略,適應(yīng)值大的個體具有更適應(yīng)環(huán)境的基因結(jié)構(gòu),具有更高的生存概率,然后在不斷的基因交換和基因變異的過程中尋找更加適應(yīng)環(huán)境的后代。對于非線性、多峰值的復(fù)雜函數(shù)的優(yōu)化,用一般的方法不易得到全局最優(yōu)解,如果給出適當(dāng)?shù)哪繕?biāo)函數(shù),用遺傳算法一般可以搜索到準(zhǔn)最優(yōu)解。這是遺傳算法本身具有的智能性和自適應(yīng)性的優(yōu)點的具體體現(xiàn)。
(2)并行性:遺傳算法的并行性表現(xiàn)在兩個方面:內(nèi)在并行性和內(nèi)含并行性。內(nèi)在并行性是遺傳算法搜索解的隨機(jī)性的具體表現(xiàn),由于遺傳算法的這個特征,使得同一個問題可以在數(shù)臺計算機(jī)同時獨立的進(jìn)行演化計算,然后選擇最優(yōu)個體。遺傳算法的內(nèi)含并行性是由于它采用的種群的搜索方式的緣故。
(3)全局優(yōu)化:遺傳算法是同時搜索解空間的多個區(qū)域,因此可以很大程度降低傳統(tǒng)的優(yōu)化方法容易陷入局部最優(yōu)的可能性。對于非線性、多峰值等復(fù)雜函數(shù)的優(yōu)化,傳統(tǒng)的優(yōu)化方法由于其選擇的搜索策略的局限,容易收斂到局部最優(yōu)解。遺傳算法同時在解空間的多個區(qū)域的搜索方式和搜索區(qū)域變化的隨機(jī)性使得在搜索過程中很容易跳出局部最優(yōu)解。
(4)穩(wěn)健性:算法的穩(wěn)健性是指在不同條件和環(huán)境下算法的適用性和有效性。由于遺傳算法利用個體的適應(yīng)值推動群體的演化,而不管求解問題本身的結(jié)構(gòu)特征。因而,用遺傳算法求解不同問題時,只需要設(shè)計相應(yīng)的適應(yīng)性評價函數(shù),而無須修改算法的其它部分。同時,因為遺傳算法具有自然系統(tǒng)的自適應(yīng)特征,算法在效率和效益之間的權(quán)衡使得它能適用于不同的環(huán)境并取得較好效果。
遺傳算法是從代表待優(yōu)化問題潛在解集的一個種群開始,而種群則由經(jīng)過基因編碼的一定數(shù)目的個體組成?;蚓幋a成染色體,每個個體由染色體構(gòu)成,每個個體實際上是帶有染色體特征的實體。染色體作為遺傳物質(zhì)的主要載體,是多個基因的集合,其內(nèi)部表現(xiàn)(即基因型)是多個基因的某種組合,它決定了個體的形狀的外部表現(xiàn)。因此,在一開始需要實現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。
初代種群產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出適應(yīng)度越來越好的個體。在每一代中,根據(jù)問題域中個體的適應(yīng)度的優(yōu)劣,選擇一些適應(yīng)度高的個體,基于這些選出的適應(yīng)度高的個體,并借助于自然遺傳學(xué)的交叉、變異算子,產(chǎn)生出代表新解集的下一代種群。這個過程將導(dǎo)致種群像自然進(jìn)化一樣,使后生代種群比前代種群具有更高的適應(yīng)度,更加適應(yīng)于環(huán)境。在優(yōu)化過程結(jié)束后,末代種群中的最優(yōu)個體經(jīng)過解碼,即可以作為問題的近似最優(yōu)解[7]。
遺傳算法的研究主要包括三個領(lǐng)域[8]:遺傳算法的理論與技術(shù);用遺傳算法進(jìn)行優(yōu)化;用遺傳算法進(jìn)行分類系統(tǒng)的機(jī)器學(xué)習(xí)。其中,遺傳算法的理論與技術(shù)研究主要包括編碼,交叉運算,變異運算,選擇運算以及適應(yīng)度評價等問題。
在自然界,由于組成生物群體中各個體之間的差異,對所處環(huán)境有不同的適應(yīng)和生存能力,遵照自然界生物進(jìn)化的基本原則,適者生存,優(yōu)勝劣汰,將要淘汰哪些最差個體,通過交配將父本優(yōu)秀的染色體和基因遺傳給子代,通過染色體核基因的重新組合產(chǎn)生生命力更強(qiáng)的新的個體與他們組成的新群體。在特定的條件下,基因會發(fā)生突變,產(chǎn)生新基因和生命力更強(qiáng)的新個體;但突變是非遺傳的,隨著個體不斷更新,群體不斷朝著最優(yōu)方向進(jìn)化,遺傳算法是真實模擬自然界生物進(jìn)化機(jī)制進(jìn)行尋優(yōu)的。
與傳統(tǒng)搜索算法不同,遺傳算法從一組隨機(jī)產(chǎn)生的初始解,稱為群體,開始搜索過程。群體中的每個個體是問題的一個解,稱為染色體。這些染色體在后續(xù)迭代中不斷進(jìn)化,稱為遺傳。遺傳算法主要通過交叉,變異,選擇運算實現(xiàn)。交叉或便宜運算生成下一代染色體,稱為后代。染色體的好壞用適應(yīng)度來衡量。根據(jù)適應(yīng)度的大小從上一代和后代中選擇一定數(shù)量的個體,作為下一代群體,再繼續(xù)進(jìn)化,這樣經(jīng)過若干代之后,算法收斂于最好的染色體,它很可能就是問題的最優(yōu)解或次優(yōu)解。遺傳算法中使用適應(yīng)度這個概念來度量群體中的各個個體的悠忽計算中有可能達(dá)到最優(yōu)解的優(yōu)良程度。度量個體適應(yīng)度的函數(shù)稱為適應(yīng)度函數(shù)。適應(yīng)度函數(shù)的定義一般與具體求解問題有關(guān)[9]。
遺傳算法的一般步驟為:
(1)隨機(jī)產(chǎn)生初始種群,初始化種群;
(2)計算種群上每個個體的適應(yīng)度,是否滿足收斂準(zhǔn)則;
(3)按由個體適應(yīng)度值所決定的某個規(guī)則選擇將進(jìn)入下一代的個體;
(4)按概率Pc進(jìn)行交叉操作;
(5)按概率Pm進(jìn)行變異操作;
(6)若沒有滿足某種停止條件,則轉(zhuǎn)入(3),否則進(jìn)入下一步;
(7)輸出種群中適應(yīng)度最優(yōu)的染色體作為問題的滿意解或最優(yōu)解。
遺傳算法的一般過程[10]如圖1所示。
編碼是遺傳算法要解決的首要問題。常用的編碼方法有二進(jìn)制編碼,格雷碼編碼,實數(shù)編碼,符號編碼等。針對不同的問題要采用不同的編碼方法。
遺傳操作是對眾多個體同時進(jìn)行的,這眾多個體組成了群體。在遺傳算法處理流程中,繼編碼設(shè)計后的任務(wù)是初始群體的設(shè)定,并以次為起點一代代進(jìn)化知道按某種進(jìn)化停止準(zhǔn)則終止進(jìn)化過程,由此得到最后一代。關(guān)鍵問題是,群體規(guī)模,即群體中包括的個體數(shù)目如何確定。其中有兩個需要考慮的因素:a.初始群體的設(shè)定;首先根據(jù)問題固有知識,設(shè)法把握最優(yōu)解所占空間在整個問題空間的分布范圍,然后在此分布范圍內(nèi)設(shè)定初始群體。然后先隨機(jī)生成一定數(shù)目的個體,然后從中挑出最好的個體加到初始群體中。這種過程不斷迭代,直到初始群體中個體數(shù)達(dá)到了預(yù)先確定的規(guī)模。b.進(jìn)化過程周各代的規(guī)模如何維持。群體規(guī)模的確定受遺傳操作中選擇操作的影響很大。一般而言,群體規(guī)模越大,群體中個體的多樣性越高,算法陷入局部解的危險就越小。所以,從考慮群體多樣性出發(fā),群體規(guī)模應(yīng)較大。但是,群體規(guī)模太大會帶來若干弊病。一是計算效率,群體越大,其適應(yīng)值評估次數(shù)增加,所以計算量也增加,從而影響算法效能;二是群體中個體生存下來概率大多采用和適應(yīng)值成比例的方法,當(dāng)群體中個體非常多時,少量適應(yīng)值很高的個體會被選擇而生存下來,但大多數(shù)個體卻被淘汰,這會影響配對庫的形成,從而影響交叉操作。另一方面,群體規(guī)模太小,會使遺傳算法的搜索空間中分布范圍有限,因而搜索有可能停止在未成熟階段,引起未成熟收斂現(xiàn)象。
適應(yīng)度函數(shù):遺傳算法在進(jìn)化搜索中基本上不用外部信息,僅用適應(yīng)度函數(shù)作為依據(jù)。遺傳算法的目標(biāo)函數(shù)不受連續(xù)可微的約束且定義域可以為任意集合。對目標(biāo)函數(shù)的唯一要求是針對輸入值,可計算出能加以比較的非負(fù)結(jié)果。這一特點使得遺傳算法應(yīng)用范圍很廣[11]。
遺傳操作包括3個基本遺傳算子,交叉,變異,選擇[12]。這3個算子有以下特點:a.這3個遺傳算子的操作都是隨機(jī)化操作,因此,個體向最優(yōu)解的遷移也是隨機(jī)的。b.遺傳操作的效果和上述3個遺傳算子所取的操作概率,編碼方法,群體大小,初始群體以及適應(yīng)度函數(shù)的設(shè)定密切相關(guān)。c.3個基本遺傳算子的操作方法或操作策略和個體的編碼方式直接有關(guān)。
所謂交叉運算,是指兩個相互配對的染色體按某種方式相互交換其部分基因,從而形成兩個新的個體。交叉運算是遺傳算法區(qū)別于其他進(jìn)化算法的重要特征,它決定了遺傳算法的全局搜索能力,是產(chǎn)生新個體的主要方法。常用的交叉算子有:a.單點交叉。又稱簡單交叉,它是指在個體編碼串中隨機(jī)設(shè)置一個交叉點,然后在該點相互交換兩個配對個體的部分基因。b.雙點交叉。它的具體操作過程是1在相互配對的兩個個體中編碼串中設(shè)置兩個交叉點;2交換兩個交叉點之間的部分基因。c.均勻交叉。它是指兩個配對個體的每一位基因都以相同的概率進(jìn)行交換,從而形成兩個新個體。具體操作過程是1隨機(jī)產(chǎn)生一個與個體編碼長度相同的二進(jìn)制屏蔽字w=w1w2…..wx。2按下列規(guī)則從A,B兩個父代個體中產(chǎn)生兩個新個體X,Y;若wi=0,則X的第i個基因繼承A的對應(yīng)基因,Y的第i個基因繼承B的對應(yīng)基因;若wi=1,則A,B的第i個基因相互交換,從而生成X,Y的第i個基因[13]。
所謂變異運算,是指將個體編碼串中的某些基因值用其他基因值來替換,從而形成一個新的個體,遺傳算法中的變異運算是產(chǎn)生新個體的輔助方法,但必不可少,因為它決定了遺傳算法的局部搜索能力。常用的方法有:a.基本位變異它是指對個體編碼串以變異概率p隨機(jī)制定某一位或某幾位基因作變異運算。b.均勻變異。它是指分別用符合某一范圍內(nèi)均勻分布的隨機(jī)數(shù),以某一較小的概率來替換個體中的每個基因。c.二元變異。它的操作需要兩條染色體參與,兩條染色體通過二元變異操作后生成兩條新個體,新個體中的各個基因分別取原染色體對應(yīng)基因值的同或/異或。
選擇運算就是對群體中的個體進(jìn)行優(yōu)勝劣汰操作:適應(yīng)度高的個體被遺傳到下一代群體中的概率大;適應(yīng)度低的個體,被遺傳到下一代群體中的概率小。它的任務(wù)就是按某種方法從父代群體中選取一些個體,遺傳到下一代群體。
遺傳算法提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的通用框架,它不依賴于問題的具體領(lǐng)域,對問題的種類有很強(qiáng)的魯棒性,所以廣泛應(yīng)用于很多學(xué)科。目前主要應(yīng)用的領(lǐng)域有函數(shù)優(yōu)化、生產(chǎn)調(diào)度問題、自動控制、機(jī)器學(xué)習(xí)、圖像處理、人工生命、遺傳編程,機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等等[14]。本文主要探討遺傳算法在控制領(lǐng)域中的研究與應(yīng)用。
系統(tǒng)辨識是控制系統(tǒng)設(shè)計的基礎(chǔ),有許多有效的方法,但是這些技術(shù)絕大部分處理的都是參數(shù)的線性模型,并且基于搜索空間是連續(xù)和可微的假設(shè)。目前的在線辨識方法都是離線方法的遞歸實現(xiàn)。這些遞歸方法本質(zhì)上都是使用梯度技術(shù)的局部搜索方法,在搜索空間不可微或參數(shù)非線性時,這些方法都不容易找到全局最優(yōu)解,而遺傳算法的搜索不依賴梯度信息,也不需要求解函數(shù)可微,只需要求解函數(shù)自約束條件下的可行解,并且遺傳算法具有全局搜索的特性。GA為非線性系統(tǒng)的辨識提供了一種簡單而有效的方法[15]。
在控制系統(tǒng)設(shè)計中,由于實際問題往往帶有嚴(yán)格的約束和非線性,同時指標(biāo)函數(shù)可能既不連續(xù)又不可微,不同的參數(shù)組合可能得到相同的控制作用。傳統(tǒng)優(yōu)化方法對初始值的選取都很敏感,很容易陷入初始解附近的局部極值。遺傳算法為非線性控制系統(tǒng)的優(yōu)化提供了一種有效途徑。因為GA不需要指標(biāo)函數(shù)的微分,所以基于遺傳算法和性能分析的設(shè)計自動化方法能夠考慮實際系統(tǒng)的許多性能要求,并可以直接設(shè)計非線性對象的線性控制器,而不需要先將對象進(jìn)行線性化,實踐證明這是控制系統(tǒng)設(shè)計的一種有效方法。徐滇生討論了利用GA進(jìn)行控制器參數(shù)優(yōu)化問題,研究了利用GA確定具有特定結(jié)構(gòu)的非線性系統(tǒng)的參數(shù)值,指出在實現(xiàn)給定的性能指標(biāo)下,可獲得全局最優(yōu)的控制器參數(shù)[16]。
在實際工程應(yīng)用中,由于缺乏關(guān)于對象動態(tài)、非線性和時變特性的詳細(xì)先驗知識,得到被控對象的精確模型是非常困難的或不可能的?;诳刂葡到y(tǒng)無模型估計的模糊推理方法是控制系統(tǒng)設(shè)計的有力工具之一。這種基于規(guī)則的系統(tǒng)將模糊語言變量引入規(guī)則集合中,用以對人的經(jīng)驗方法建模。但是模糊控制器的規(guī)則和隸屬度函數(shù)的選取具有很大程度的主觀性,當(dāng)輸入、輸出數(shù)目和語言變量劃分的等級增大時,模糊規(guī)則的數(shù)目是以級數(shù)的平方關(guān)系迅速增加。這些都給模糊控制器的設(shè)計帶來了困難。為了解決模糊控制器設(shè)計的困難,很多學(xué)者研究利用GA進(jìn)行模糊系統(tǒng)的輔助設(shè)計和自動化設(shè)計。Varsek[17]提出了學(xué)習(xí)動態(tài)系統(tǒng)控制的三階段框架;即先通過GA獲得決策表,再通過機(jī)器學(xué)習(xí)將控制規(guī)則轉(zhuǎn)換成可以理解的形式,最后再用GA優(yōu)化規(guī)則的數(shù)值參數(shù)。ark研究了一種新的基于遺傳的模糊推理系統(tǒng),用于產(chǎn)生優(yōu)化參數(shù)集,獲得了良好的性能[18]。
人工神經(jīng)網(wǎng)絡(luò)是從微觀結(jié)構(gòu)與功能上對人腦神經(jīng)系統(tǒng)的模擬而建立起來的一類模型,具有模擬人的部分形象思維的能力,其特點是具有非線性特性、學(xué)習(xí)能力和自適應(yīng)性,是模擬人的智能的一種重要途徑,它在許多方面取得了廣泛應(yīng)用。但是神經(jīng)網(wǎng)絡(luò)的初始權(quán)值、閾值和高斯函數(shù)中心矢量不能很好的確定,而隱含層單元的傳輸函數(shù)是不連續(xù)和不可微的,因此采用傳統(tǒng)的優(yōu)化方法可能陷入局部極小值[19]。而遺傳算法的搜索不依賴梯度信息,也不需要求解函數(shù)可微,只需要求解函數(shù)自約束條件下的可行解,并且遺傳算法具有全局搜索的特性,用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的連接權(quán)、網(wǎng)絡(luò)結(jié)構(gòu)、初始權(quán)值、閾值和高斯函數(shù)中心矢量不僅容易獲得全局最優(yōu)解,還可以提高神經(jīng)網(wǎng)絡(luò)的泛化性能,大大提高系統(tǒng)的精度、魯棒性和自適應(yīng)。文獻(xiàn)[20]提出了用遺傳算法來代替最小二乘法來訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值和高斯函數(shù)中心矢量,得出了滿意的仿真結(jié)果。
需要如下主函數(shù):
(1)編碼和種群生成
function [pop] = initializega(num,bounds,evalFN,evalOps,options)
% pop - the initial, evaluated, random population
% num - the size of the population, i.e. the number to create
% bounds - the number of permutations in an individual (e.g., number of cities in a tsp
% evalFN - the evaluation fn, usually the name of the .m file for evaluation
% evalOps- any options to be passed to the eval function defaults [ ]
% options- options to the initialize function, ie. [eps, float/binary, prec] where eps is the epsilon value and the second option is 1 for orderOps, prec is the precision of the variables defaults [1e-6 1]
(2)交叉
function [c1,c2] = arithXover(p1,p2,bounds,Ops)
% Arith crossover takes two parents P1,P2 and performs an interpolation along the line formed by the two parents.
% function [c1,c2] = arithXover(p1,p2,bounds,Ops)
% p1 - the first parent ( [solution string function value] )
% p2 - the second parent ( [solution string function value] )
% bounds - the bounds matrix for the solution space
% Ops - Options matrix for arith crossover [gen #ArithXovers]
(3)選擇
normGeomSelect:NormGeomSelect is a ranking selection function based on the normalized geometric distribution.
(基于正態(tài)分布的序列選擇函數(shù))
(4)變異
function[newPop] = normGeomSelect(oldPop,options)
% NormGeomSelect is a ranking selection function based onthe normalized geometric distribution.
% function[newPop] = normGeomSelect(oldPop,options)
% newPop - the new population selected from the oldPop
% oldPop - the current population
% options - options to normGeomSelect [gen probability_of_selecting_best]
(5)一些輔助函數(shù):
f2b :Return the binary representation of the float number fval(將浮點數(shù)轉(zhuǎn)化為二進(jìn)制數(shù))
b2f:Return the float number corresponing to the binary representation of bval. (將二進(jìn)制數(shù)轉(zhuǎn)化為浮點數(shù))
nonUnifMutation: Non uniform mutation changes one of the parameters of the parent based on a non-uniform probability distribution. This Gaussian distribution starts wide, and narrows to a point distribution as the current generation approaches the maximum generation.(基于非均一概率分布進(jìn)行非均一變異)
maxGenTerm:Returns 1, i.e. terminates the GA when the
maximal_generation is reached.(當(dāng)?shù)螖?shù)大于最大迭代次數(shù)時,終止遺傳算法,返回為1,否則返回為0。)
roulette:roulette is the traditional selection function with the probability of surviving equal to the fitness of i / sum of the fitness of all individuals
遺傳算法是一種非常有效的優(yōu)化求解方法,對于控制領(lǐng)域中的某些控制結(jié)構(gòu)和控制作用的求取,可以提供比傳統(tǒng)優(yōu)化方法更快更好的結(jié)果??梢哉f將GA與CAD軟件包智能連接而進(jìn)行高精度系統(tǒng)建模和控制器自動化設(shè)計及參數(shù)優(yōu)化將是一種行之有效的新方法。但它始終未能對自身演化本身的研究發(fā)生作用。而且就其實質(zhì)來講,目前的GA學(xué)習(xí)人類演化過程還只是形式的,尚未能刻畫人類自身的演化過程,更未能刻畫神經(jīng)元思維真實學(xué)習(xí)過程。因此GA就其模型本身來講需要更加深入的探討。
參考文獻(xiàn)
[1] HOLIAND J H. Adaptation in natural and artificial systems[M]. Ann Arbor: University of Michigan Press, 1975.
[2] De JONG K A. The analysis of the behavior of a class of genetic adaptive systems[D]. Ann Arbor: University of Michigan, 1975.
[3] GOLDVERG D E. Genetic algorithms in search, optimization and machine learning[M]. Boston: Addison-Wesley Longman Press, 1989.
[4] 趙鐘榮. 基于改進(jìn)遺傳算法的集裝箱裝載優(yōu)化方法研究[D]. 2010.
[5] Andeas Bortfeldt, Hermann Gehring. A hybrid genetic algorithm for the container loading problem[J]. Eruopean Journal of Operational Research. 2001(131): 143-161.
[6] 劉嵩,李文蕙. 淺談遺傳算法在派克系統(tǒng)中的應(yīng)用[J]. 科技傳播. 2010(22): 226.
[7] 黃小明,劉長安. 改進(jìn)遺傳算法在自動組卷系統(tǒng)中的應(yīng)用[J]. 科學(xué)技術(shù)與工程. 2010(08): 1999-2002.
[8] 周昕,凌興宏. 遺傳算法理論及技術(shù)研究綜述[J]. 計算機(jī)與信息技術(shù). 2010(04): 37-39.
[9] 趙宜鵬,孟磊,彭承靖. 遺傳算法原理與發(fā)展方向綜述[J]. 信息科學(xué). 2010: 79-80.
[10] 夏宇,龍鵬飛. 基于改進(jìn)遺傳算法的神經(jīng)網(wǎng)絡(luò)集成模型[J]. 軟件時空. 2010, 26(11-3): 206-207.
[11] 王春水,肖學(xué)柱,陳漢明. 遺傳算法的應(yīng)用舉例[J]. 計算機(jī)仿真. 2005, 6.
[12] 李華昌,謝淑蘭,易忠勝. 遺傳算法的原理與應(yīng)用[J]. 礦冶. 2005, 3.
[13] Davis L. Adaptive operator probability in genetic algorithms[C]. San Francisco: Morgan Kaufmann Publishers, 1989.
[14] 丁承民,張傳生,劉輝. 遺傳算法縱橫談[J]. 信息與控制. 2007, 26.
[15] 玄光男,程潤傳. 遺傳算法與工程設(shè)計[M]. 北京: 科學(xué)出版社, 2000.
[16] 邢文訓(xùn),謝金星. 現(xiàn)代優(yōu)化計算方法[M]. 北京: 清華大學(xué)出版社, 1999.
[17] Varek A T.Urbacic and B.Filipic. Genetic Algorithms in Controller Design and Tuing[J]. IEEE Trans. 1993, 23(5): 1330-1339.
[18] 葛繼科,邱玉輝. 遺傳算法研究綜述[J]. 計算機(jī)應(yīng)用研究. 2008, 25(10).
[19] 王洪燕,楊敬安. 并行遺傳算法研究進(jìn)展[J]. 計算機(jī)科學(xué). 2009, 26(6).
[20] 劉寶坤. 基于遺傳算法的神經(jīng)網(wǎng)絡(luò)自適應(yīng)控制器的研究[J]. 信息與控制. 2007, 26(4): 311-314.
作者簡介:
李姍姍,1988年3月,女,碩士研究生在讀,山東大學(xué)控制科學(xué)與工程學(xué)院,學(xué)生,研究方向為控制科學(xué)與工程、能效分析與評估。
何印洲,1987年5月,男,碩士研究生在讀,山東大學(xué)控制科學(xué)與工程學(xué)院,學(xué)生,研究方向為DCS控制系統(tǒng)。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20