版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
哈爾濱工業(yè)大學(xué)工學(xué)碩士學(xué)位論文哈爾濱工業(yè)大學(xué)遠(yuǎn)程教育本科畢業(yè)設(shè)計(jì)(論文)-PAGEII--PAGEIII-哈爾濱工業(yè)大學(xué)遠(yuǎn)程教育本科畢業(yè)設(shè)計(jì)(論文)PAGE\*Arabic11摘要遺傳算法是密歇根大學(xué)Holland教授借鑒生物進(jìn)化中的“生存競爭”和“優(yōu)勝劣汰”現(xiàn)象提出的有效的全局優(yōu)化算法。它將遺傳操作應(yīng)用于一群對搜索空間編碼的染色體中,在每一代,遺傳算法同時(shí)作用于整個搜索空間的不同區(qū)域,通過優(yōu)勝劣汰,去掉解空間中期望值較低的部分,保留高期望值部分,從而能以較大的概率找到最優(yōu)解。遺傳算法(GA)是模仿自然選擇、物種進(jìn)化和群體遺傳學(xué)而建立的一種隨機(jī)搜索技術(shù),其主要特點(diǎn)是群體搜索策略和群體中個體之間的信息交換,搜索不依賴于梯度信息。由于遺傳算法不受搜索空間的限制性假設(shè)的約束,不要求解空間有連續(xù)性、可導(dǎo)等性質(zhì),以及其固有的并行性。迄今為止,己經(jīng)在工程和研究的諸多領(lǐng)域得到了廣泛的應(yīng)用。本文首先介紹了遺傳算法的發(fā)展、特點(diǎn)、應(yīng)用、實(shí)現(xiàn)過程及其應(yīng)用。介紹了PID控制技術(shù)的原理和應(yīng)用,最后本文應(yīng)用MATLAB軟件實(shí)現(xiàn)了遺傳算法的基本操作(包括復(fù)制,交叉,變異),并且實(shí)現(xiàn)了遺傳算法對函數(shù)的優(yōu)化和對二自由度PID控制器參數(shù)的整定,并和傳統(tǒng)方法整定PID的效果進(jìn)行了比較。結(jié)果表明,遺傳算法比傳統(tǒng)方法優(yōu)化PID參數(shù)的效果更好。關(guān)鍵詞遺傳算法;二自由度PID控制器;MATLAB;參數(shù)整定AbstractGeneticalgorithms(GA)isarandomsearchtechnologywhichimitatesnaturalselection,speciesevolutionandpopulationgenetics.Theysearchfromandmaintainapopulation,usePayoffinformationamongthemselves,allofwhicharethemainadvantageofthealgorithms.GAdon’trequirethesolutionspacetobecontinuousandderivable.It’sfewlimitationonthepresumptionofthesolutionspaceandbuilt-inparallelismmakeitausefulmethodinmanyarea.Sofar,ithasbeenwidelyusedinengineeringandresearchinmanyfields.Geneticalgorithms(GA)isasortofglobal,efficientoptimizationalgorithmswhichwasputforwardbyprofessorHollandinMichiganUniversityinspiredbythephenomenaofsurvivalcompetitionandnaturalselection.IntheapplicationofGAs,geneticoperatorsoperateonagroupofchromosomewhichiscodedinsearchspace,Ineachgeneration,Gasoperatesontheentiresearchspacesimultaneouslyandpreservesthefitterindividualsimitatingnaturalselection,resultinginthefactthattheoptimacanbefoundbyhighprobability.Thispaperintroducesthedevelopment,features,applicationsandtheimplementationsofgeneticalgorithm,anditsapplications.ThispaperalsopresentsthetheoryandapplicationsofPIDcontroltechnology.Finally,thispaperusesMATLABsoftwaretorealizethebasicoperationsofgeneticalgorithm,includingreproduction,crossoverandmutation,andemploysgeneticalgorithmtooptimizefunctionandtheparametersofTwo-Degree-of-FreedomPIDController.itmakesaresultscompressionbytraditionalandGAoptimization.TheresultsshowthatusinggeneticalgorithmoptimizePIDparametersisbetterthanusingSimulinkoptimization.Keywordsgeneticalgorithm,two-degree-of-freedomPIDcontroller,MATLAB,optimizetheparameters哈爾濱工業(yè)大學(xué)遠(yuǎn)程教育本科畢業(yè)設(shè)計(jì)(論文)PAGEII-V目錄摘要 IAbstract II第1章緒論 11.1遺傳算法的生物學(xué)基礎(chǔ) 11.2遺傳算法的基本步驟 21.2.1基本概念 31.2.2遺傳步驟 51.3遺傳算法的特點(diǎn) 61.4遺傳算法的發(fā)展 81.5遺傳算法的應(yīng)用 101.6目前研究現(xiàn)狀 131.7本課題主要研究內(nèi)容 14第2章遺傳算法的基本實(shí)現(xiàn)技術(shù) 152.1編碼方法 152.1.1二進(jìn)制編碼方法 162.1.2格雷碼編碼方法 172.1.3浮點(diǎn)數(shù)編碼方法 192.1.4符號編碼方法 202.2適應(yīng)度函數(shù) 212.2.1目標(biāo)函數(shù)與適應(yīng)度函數(shù) 222.2.2適應(yīng)度尺度變換 232.3遺傳算子 252.3.1選擇算子 252.3.2交叉算子 282.3.3變異算子 312.4遺傳算法的運(yùn)行參數(shù) 342.5本章小結(jié) 36第3章PID控制的基本原理 373.1PID控制概述 373.2PID控制原理 373.3PID控制器的參數(shù)整定 433.3.1工程整定法1-現(xiàn)場湊試法 433.3.2工程整定法2-臨界比例度法 433.3.3工程整定法3-響應(yīng)曲線法 443.4PID控制的性能指標(biāo) 443.5二自由度PID控制 463.6本章小結(jié) 51第4章應(yīng)用Matlab實(shí)現(xiàn)GA優(yōu)化函數(shù) 524.1Matlab簡介 524.1.1Matlab語言的發(fā)展 524.1.2Matlab在各領(lǐng)域的應(yīng)用 524.1.3Matlab語言的功能 534.2應(yīng)用Matlab實(shí)現(xiàn)GA求函數(shù)極值 554.2.1二進(jìn)制編碼遺傳算法求函數(shù)極值 554.2.2實(shí)數(shù)編碼遺傳算法求函數(shù)極大值 644.3本章小結(jié) 70第5章應(yīng)用Matlab實(shí)現(xiàn)遺傳算法優(yōu)化二自由度PID控制器參數(shù) 715.1Simulink簡介 715.2利用遺傳算法優(yōu)化PID控制器的參數(shù) 735.2.1利用遺傳算法整定PID三個系數(shù)的優(yōu)點(diǎn) 735.2.2基于遺傳算法的PID整定原理 745.2.3利用遺傳算法優(yōu)化PID控制器參數(shù)的具體步驟及程序流程 765.3用Simulink優(yōu)化設(shè)定值前饋型二自由度PID控制器參數(shù) 785.3.1應(yīng)用Simulink仿真 785.3.2應(yīng)用Matlab實(shí)現(xiàn)GA優(yōu)化二自由度PID控制器的參數(shù) 795.3.3應(yīng)用Simulink與Matlab優(yōu)化的結(jié)果分析 865.4用Simulink來優(yōu)化反饋補(bǔ)償型二自由度PID控制器參數(shù) 875.4.1應(yīng)用Simulink實(shí)現(xiàn) 875.4.2應(yīng)用Matlab實(shí)現(xiàn)GA優(yōu)化二自由度PID控制器的參數(shù) 885.4.3應(yīng)用Simulink與MATLAB優(yōu)化的結(jié)果分析 925.5本章小結(jié) 93結(jié)論 94致謝 96參考文獻(xiàn) 97哈爾濱工業(yè)大學(xué)遠(yuǎn)程教育本科畢業(yè)設(shè)計(jì)(論文)緒論遺傳算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程而形成的一種自適應(yīng)全局優(yōu)化概率搜索算法。它最早由美國密執(zhí)安大學(xué)的Holland教授提出,起源于20世紀(jì)60年代對自然和人工自適應(yīng)系統(tǒng)的研究。20世紀(jì)70年代DeJong基于遺傳算法的思想在計(jì)算機(jī)上進(jìn)行了大量的純數(shù)值函數(shù)優(yōu)化計(jì)算實(shí)驗(yàn)。在一系列研究工作的基礎(chǔ)上,20世紀(jì)80年代由Goldberg進(jìn)行歸納總結(jié),形成了遺傳算法的基本框架。遺傳算法的概念最早是由BagleyJ.D在1967年提出的,而開始遺傳算法的理論和方法的系統(tǒng)性研究的是1975年,這一開創(chuàng)性工作是由Michigan大學(xué)的J.H.Holland所實(shí)行。當(dāng)時(shí),其主要目的是說明自然和人工系統(tǒng)的自適應(yīng)過程。遺傳算法簡稱GA(GeneticAlgorithm),在本質(zhì)上是一種不依賴具體問題的直接搜索方法。遺傳算法在模式識別、神經(jīng)網(wǎng)絡(luò)、圖像處理、機(jī)器學(xué)習(xí)、工業(yè)優(yōu)化控制、自適應(yīng)控制、生物科學(xué)、社會科學(xué)等方面都得到應(yīng)用。在人工智能研究中,現(xiàn)在人們認(rèn)為“遺傳算法、自適應(yīng)系統(tǒng)、細(xì)胞自動機(jī)、混沌理論與人工智能一樣,都是對今后十年的計(jì)算技術(shù)有重大影響的關(guān)鍵技術(shù)”。遺傳算法的生物學(xué)基礎(chǔ)由于遺傳算法是自然遺傳學(xué)和計(jì)算機(jī)科學(xué)相互結(jié)合滲透而成的新的計(jì)算方法,所以遺傳算法中經(jīng)常使用有關(guān)自然進(jìn)化中的一些基礎(chǔ)用語。了解這些用語對于學(xué)習(xí)和應(yīng)用遺傳算法是十分重要的。在生物細(xì)胞中,控制并決定生物遺傳特性的物質(zhì)是脫氧核糖核酸,簡稱DNA,染色體是其載體。DNA是由四種堿基按一定規(guī)則排列組成的長鏈,四種堿基不同的排列模式?jīng)Q定了生物不同的表現(xiàn)性狀。例如,改變DNA長鏈中的特定一段,稱為基因(Gene),即可改變?nèi)梭w的身高。基因的位置稱為基因座(Locus),基因的所有可能取值稱為等位基因(Alleles)?;蚝突蜃鶝Q定了染色體的性狀,即基因型(Genetype),同一種基因型的生物個體在不同的環(huán)境條件下,可以有不同的表現(xiàn)型(Phenotype)。因此,表現(xiàn)型是基因型與環(huán)境條件相互作用的結(jié)果。細(xì)胞在分裂時(shí),DNA通過復(fù)制(Reproduction)而轉(zhuǎn)移到新產(chǎn)生的細(xì)胞中,新的細(xì)胞就繼承了舊細(xì)胞的基因。有性生殖生物在繁殖下一代時(shí),兩條染色體之間通過交叉(Crossover)而重組,亦即在兩個染色體的某一相同位置處DNA被切斷,其前后兩串分別交叉形成兩個新的染色體。在細(xì)胞進(jìn)行復(fù)制時(shí)可能以很小的概率產(chǎn)生某些復(fù)制差錯,從而使DNA發(fā)生某種變異(Mutatoin),產(chǎn)生新的染色體。這些新的染色體將決定新個體(后代)的新性狀。許多個體組成了群體(Population)。在一個群體中,并不是所有的個體都能得到相同的繁殖機(jī)會,對生存環(huán)境適應(yīng)度(Fitness)高的個體將獲得更多的繁殖機(jī)會;反之亦然,此即所謂自然選擇現(xiàn)象。而生存下來的個體組成的群體,其品質(zhì)不斷得以改良,稱為進(jìn)化(Evolution)。遺傳算法就是要模擬上述生物遺傳進(jìn)化過程,用帶求解的問題構(gòu)成進(jìn)化的環(huán)境,目的就是要找到最適合此環(huán)境的個體。其中,基因?qū)?yīng)待優(yōu)化的參數(shù),染色體或稱(基因型)個體(Individual)對應(yīng)全部待優(yōu)化的參數(shù),基因座對應(yīng)某參數(shù)在染色體中的位置,等位基因?qū)?yīng)該參數(shù)的所有可能取值。個體以編碼串的形式給出,編碼串上各個位置所有等位基因的組合就構(gòu)成了待優(yōu)化問題的全部可行解,即構(gòu)成了優(yōu)化問題的搜索空間。搜索點(diǎn)在搜索空間的隨機(jī)移動依賴于交叉和變異操作,搜索的方向用適應(yīng)度函數(shù)指引。搜索的形式是以群體的形式進(jìn)行的,即多個個體并行搜索。對群體的一次搜索成為一代(Generation),適應(yīng)度高的個體有更多的機(jī)會進(jìn)化到下一代。經(jīng)過一代一代的反復(fù),最終得到最適合或較適合問題的解。遺傳算法的基本步驟遺傳算法的基本思想是基于Darwin進(jìn)化論和Mendel的遺傳學(xué)說的。Darwin進(jìn)化論最重要的是適者生存原理。它認(rèn)為每一物種在發(fā)展中越來越適應(yīng)環(huán)境。物種每個個體的基本特征由后代所繼承,但后代又會產(chǎn)生一些異于父代的新變化。在環(huán)境變化時(shí),只有那些熊適應(yīng)環(huán)境的個體特征方能保留下來。Mendel遺傳學(xué)說最重要的是基因遺傳原理。它認(rèn)為遺傳以密碼方式存在細(xì)胞中,并以基因形式包含在染色體內(nèi)。每個基因有特殊的位置并控制某種特殊性質(zhì);所以,每個基因產(chǎn)生的個體對環(huán)境具有某種適應(yīng)性。基因突變和基因雜交可產(chǎn)生更適應(yīng)于環(huán)境的后代。經(jīng)過存優(yōu)去劣的自然淘汰,適應(yīng)性高的基因結(jié)構(gòu)得以保存下來。與自然界相似,遺傳算法對求解問題的本身一無所知,它所需要的僅是對算法所產(chǎn)生的每個染色體進(jìn)行評價(jià),把問題的解表示成染色體,并基于適應(yīng)值來選擇染色體,使適應(yīng)性好的染色體有更多的繁殖機(jī)會。在算法中也即是以二進(jìn)制編碼的串。并且,在執(zhí)行遺傳算法之前,給出一群染色體,也即是假設(shè)解。然后,把這些假設(shè)解置于問題的“環(huán)境”中,也即一個適應(yīng)度函數(shù)中來評價(jià)。并按適者生存的原則,從中選擇出較適應(yīng)環(huán)境的染色體進(jìn)行復(fù)制,淘汰低適應(yīng)度的個體,再通過交叉,變異過程產(chǎn)生更適應(yīng)環(huán)境的新一代染色體群。對這個新種群進(jìn)行下一輪進(jìn)化,至到最適合環(huán)境的值[1]?;靖拍钣捎谶z傳算法是由進(jìn)化論和遺傳學(xué)機(jī)理而產(chǎn)生的直接搜索優(yōu)化方法;故而在這個算法中要用到各種進(jìn)化和遺傳學(xué)的概念。這些概念如下:(1)串(String)它是個體(Individual)的形式,在算法中為二進(jìn)制串,并且對應(yīng)于遺傳學(xué)中的染色體(Chromosome)。(2)群體(Population)個體的集合稱為群體,串是群體的元素。(3)群體大小(PopulationSize)在群體中個體的數(shù)量稱為群體的大小。(4)基因(Gene)基因是串中的元素,基因用于表示個體的特征。例如有一個串S=1011,則其中的1,0,1,1這4個元素分別稱為基因。它們的值稱為等位基因(Alletes)。(5)基因位置(GenePosition)一個基因在串中的位置稱為基因位置,有時(shí)也簡稱基因位?;蛭恢糜纱淖笙蛴矣?jì)算,例如在串S=1101中,0的基因位置是3。基因位置對應(yīng)于遺傳學(xué)中的地點(diǎn)(Locus)。(6)基因特征值(GeneFeature)在用串表示整數(shù)時(shí),基因的特征值與二進(jìn)制數(shù)的權(quán)一致。例如在串S=1011中,基因位置3中的1,它的基因特征值為2,基因位置1中的1,它的基因特征值為8。(7)串結(jié)構(gòu)空間SS在串中,基因任意組合所構(gòu)成的串的集合?;虿僮魇窃诮Y(jié)構(gòu)空間中進(jìn)行的,串結(jié)構(gòu)空間對應(yīng)于遺傳學(xué)中的基因型(Genotype)的集合。(8)參數(shù)空間SP這是串空間在物理系統(tǒng)中的映射,它對應(yīng)于遺傳學(xué)中的表現(xiàn)型(Phenotype)的集合。(9)非線性它對應(yīng)遺傳學(xué)中的異位顯性(Epistasis)。(10)適應(yīng)度(Fitness)表示某一個體對于環(huán)境的適應(yīng)程度。遺傳算法還有一些其它的概念,這些概念在介紹遺傳算法的原理和執(zhí)行過程時(shí),再進(jìn)行說明。遺傳步驟了解了上面的基本參數(shù),下面我們來看看遺傳算法的基本步驟,基本過程為:(1)對待解決問題進(jìn)行編碼,我們將問題結(jié)構(gòu)變換為位串形式編碼表示的過程叫編碼,而相反將位串形式編碼表示變換為原問題結(jié)構(gòu)的過程叫譯碼;(2)隨機(jī)初始化群體P(0):=(p1,p2,…pn);計(jì)算群體上每個個體的適應(yīng)度值(Fitness);(3)評估適應(yīng)度,對當(dāng)前群體P(t)中每個個體Pi計(jì)算其適應(yīng)度F(Pi),適應(yīng)度表示了該個體的性能好壞;(4)按由個體適應(yīng)度值所決定的某個規(guī)則應(yīng)用選擇算子產(chǎn)生中間代Pr(t);(5)依照Pc選擇個體進(jìn)行交叉操作;(6)仿照Pm對繁殖個體進(jìn)行變異操作;(7)沒有滿足某種停止條件,則轉(zhuǎn)第(3)步,否則進(jìn)入(9);(8)輸出種群中適應(yīng)度值最優(yōu)的個體;(9)程序的停止條件最簡單的有如下二種,完成了預(yù)先給定的進(jìn)化代數(shù)則停止;種群中的最優(yōu)個體在連續(xù)若干代沒有改進(jìn)或平均適應(yīng)度在連續(xù)若干代基本沒有改進(jìn)時(shí)停止。根據(jù)遺傳算法思想可以畫出如圖1-1所示的簡單遺傳算法框圖。圖1-1遺傳算法的步驟生物的進(jìn)化是一個奇妙的優(yōu)化過程,它通過選擇淘汰,突然變異,基因遺傳等規(guī)律產(chǎn)生適應(yīng)環(huán)境變化的優(yōu)良物種。遺傳算法是根據(jù)生物進(jìn)化思想而啟發(fā)得出的一種全局優(yōu)化算法。遺傳算法的特點(diǎn)為解決各種優(yōu)化計(jì)算問題,人們提出了各種各樣的優(yōu)化算法,如單純形法、梯度法、動態(tài)規(guī)劃法。分枝定界法等。這些優(yōu)化算法各有各的長處,各有各的適用范圍,也各有各的限制。遺傳算法是一類可用于復(fù)雜系統(tǒng)優(yōu)化計(jì)算的魯棒搜索算法,與其他一些優(yōu)化算法相比,它主要有下述幾個特點(diǎn):(1)遺傳算法以決策變量的編碼作為運(yùn)算對象。傳統(tǒng)的優(yōu)化算法往往直接利用決策變量的實(shí)際值本身來進(jìn)行優(yōu)化計(jì)算,但遺傳算法不是直接以決策變量的值,而是以決策變量的某種形式的編碼為運(yùn)算對象。這種對決策變量的編碼處理方式,使得我們在優(yōu)化計(jì)算過程中可以借鑒生物學(xué)中染色體和基因等概念,可以模仿自然界中生物的遺傳和進(jìn)化等機(jī)理,也使得我們可以方便地應(yīng)用遺傳操作算子。特別是對一些無數(shù)值概念或很難有數(shù)值概念,而只有代碼概念的優(yōu)化問題,編碼處理方式更顯示出了其獨(dú)特的優(yōu)越性。(2)遺傳算法直接以目標(biāo)函數(shù)值作為搜索信息。傳統(tǒng)的優(yōu)化算法不僅需要利用目標(biāo)函數(shù)值,而且往往需要目標(biāo)函數(shù)的導(dǎo)數(shù)值等其他一些輔助信息才能確定搜索方向。而遺傳算法僅使用由目標(biāo)函數(shù)值變換來的適應(yīng)度函數(shù)值,就可確定進(jìn)一步的搜索方向和搜索范圍,無需目標(biāo)函數(shù)的導(dǎo)數(shù)值等其他一些輔助信息。這個特性對很多目標(biāo)函數(shù)是無法或很難求導(dǎo)數(shù)的函數(shù),或?qū)?shù)不存在的函數(shù)的優(yōu)化問題,以及組合優(yōu)化問題等,應(yīng)用遺傳算法時(shí)就顯得比較方便,因?yàn)樗荛_了函數(shù)求導(dǎo)這個障礙。再者,直接利用目標(biāo)函數(shù)值或個體適應(yīng)度,也可使得我們可以把搜索范圍集中到適應(yīng)度較高的部分搜索空間中,從而提高了搜索效率。(3)遺傳算法同時(shí)使用多個搜索點(diǎn)的搜索信息。傳統(tǒng)的優(yōu)化算法往往是從解空間中的一個初始點(diǎn)開始最優(yōu)解的迭代搜索過程。單個搜索點(diǎn)所提供的搜索信息畢竟不多,所以搜索效率不高,有時(shí)甚至使搜索過程陷于局部最優(yōu)解而停滯不前。遺傳算法從由很多個體所組成的一個初始群體開始最優(yōu)解的搜索過程,而不是從一個單一的個體開始搜索。對這個群體所進(jìn)行的選擇、交叉、變異等運(yùn)算,產(chǎn)生出的乃是新一代的群體,在這之中包括了很多群體信息。這些信息可以避免搜索一些不必搜索的點(diǎn),所以實(shí)際上相當(dāng)于搜索了更多的點(diǎn),這是遺傳算法所特有的一種隱含并行性。(4)遺傳算法使用概率搜索技術(shù)。很多傳統(tǒng)的優(yōu)化算法往往使用的是確定性的搜索方法,一個搜索點(diǎn)到另一個搜索點(diǎn)的轉(zhuǎn)移有確定的轉(zhuǎn)移方法和轉(zhuǎn)移關(guān)系,這種確定性往往也有可能使得搜索永遠(yuǎn)達(dá)不到最優(yōu)點(diǎn),因而也限制了算法的應(yīng)用范圍。而遺傳算法屬于一種自適應(yīng)概率搜索技術(shù),其選擇、交叉、變異等運(yùn)算都是以一種概率的方式來進(jìn)行的,從而增加了其搜索過程的靈活性。雖然這種概率特性也會使群體中產(chǎn)生一些適應(yīng)度不高的個體,但隨著進(jìn)化過程的進(jìn)行,新的群體中總會更多地產(chǎn)生許多優(yōu)良的個體,實(shí)踐和理論都已證明了在一定條件下遺傳算法總是以概率1收斂于問題的最優(yōu)解。當(dāng)然,交叉概率和變異概率等參數(shù)也會影響算法的搜索效果和搜索效率,所以如何選擇遺傳算法的參數(shù)在其應(yīng)用中是一個比較重要的問題。而另一方面,與其他一些算法相比,遺傳算法的魯棒性又會使得參數(shù)對其搜索效果的影響會盡可能地低。遺傳算法的發(fā)展遺傳算法起源于對生物系統(tǒng)所進(jìn)行的計(jì)算機(jī)模擬研究。早在本世紀(jì)40年代,就有學(xué)者開始研究如何利用計(jì)算機(jī)進(jìn)行生物模擬的技術(shù),他們從生物學(xué)的角度進(jìn)行了生物的進(jìn)化過程模擬、遺傳過程模擬等研究工作。進(jìn)入60年代后,美國密執(zhí)安大學(xué)的Holland教授及其學(xué)生們受到這種生物模擬技術(shù)的啟發(fā),創(chuàng)造出了一種基于生物遺傳和進(jìn)化機(jī)制的適合于復(fù)雜系統(tǒng)優(yōu)計(jì)算的自適應(yīng)概率優(yōu)化技術(shù)-遺傳算法。下面是在遺傳算法的發(fā)展進(jìn)程中一些關(guān)鍵人物所作出的一些主要貢獻(xiàn)。(1).J.H.Holland20世紀(jì)60年代,Holland認(rèn)識到了生物的遺傳和自然進(jìn)化現(xiàn)象與人工自適應(yīng)系統(tǒng)的相似關(guān)系,運(yùn)用生物遺傳和進(jìn)化的思想來研究自然和人工自適應(yīng)系統(tǒng)的生成以及它們與環(huán)境的關(guān)系,提出在研究和設(shè)計(jì)人工自適應(yīng)系統(tǒng)時(shí),可以借鑒生物遺傳的機(jī)制,以群體的方法進(jìn)行自適應(yīng)搜索,并且充分認(rèn)識到了交叉、變異等運(yùn)算策略在自適應(yīng)系統(tǒng)中的重要性。20世紀(jì)70年代,Holland教授提出了遺傳算法的基本定理—模式定理(SchemaTheorem),從而奠定了遺傳算法的理論基礎(chǔ)。模式定理揭示出了群體中的優(yōu)良個體(較好的模式)的樣本數(shù)將以指數(shù)級規(guī)律增長,因而從理論上保證了遺傳算法是一個可以用來尋求最優(yōu)可行解的優(yōu)化過程。1975年,Holland出版了第一本系統(tǒng)論述遺傳算法和人工自適應(yīng)系統(tǒng)的專著《自然系統(tǒng)和人工系統(tǒng)的自適應(yīng)性(AdaptationinNaturalandArtificialSystems)》。20世紀(jì)80年代,Holland教授實(shí)現(xiàn)了第一個基于遺傳算法的機(jī)器學(xué)習(xí)系統(tǒng)—分類器系統(tǒng)(ClassifierSystems,簡稱CS),開創(chuàng)了基于遺傳算法的機(jī)器學(xué)習(xí)的新概念,為分類器系統(tǒng)構(gòu)造出了一個完整的框架。(2)J.D.Bagley1967年,Holland的學(xué)生Bagley在其博士論文中首次提出了“遺傳算法”一詞,并發(fā)表了遺傳算法應(yīng)用方面的第一篇論文。他發(fā)展了復(fù)制、交叉、變異、顯性、倒位等遺傳算子,在個體編碼上使用了雙倍體的編碼方法。這些都與目前遺傳算法中所使用的算子和方法相類似。他還敏銳地意識到了在遺傳算法執(zhí)行的不同階段可以使用不同的選擇率,這將有利于防止遺傳算法的早熟現(xiàn)象,從而創(chuàng)立了自適應(yīng)遺傳算法的概念。(3)K.A.DeJong1975年,DeJong在其博士論文中結(jié)合模式定理進(jìn)行了大量的純數(shù)值函數(shù)優(yōu)化計(jì)算實(shí)驗(yàn),樹立了遺傳算法的工作框架,得到了一些重要且具有指導(dǎo)意義的結(jié)論。例如,對于規(guī)模在50~100的群體,經(jīng)過10~20代的進(jìn)化,遺傳算法都能以很高的概率找到最優(yōu)或近似最優(yōu)解,他推薦了在大多數(shù)優(yōu)化問題中都適用的遺傳算法的參數(shù),還建立了著名的DeJong五函數(shù)測試平臺,定義了評價(jià)遺傳算法性能的在線指標(biāo)和離線指標(biāo)。(4)D.J.Goldberg1989年,Goldberg出版了專著《搜索、優(yōu)化和機(jī)器學(xué)習(xí)中的遺傳算法(GeneticAlgorithmsinSearch,OptimizationandMachineLearning)》。該書總結(jié)了遺傳算法的主要研究成果。全面而完整地論述了遺傳算法的基本原理及其應(yīng)用。可以說這本書奠定了現(xiàn)代遺傳算法的科學(xué)基礎(chǔ),為眾多研究和發(fā)展遺傳算法的學(xué)者所矚目。(5)L.Davis1991年,Davis編輯出版了《遺傳算法手冊(HndbookofGeneticAlgorithms)》量應(yīng)用實(shí)例,這本書為推廣和普及遺傳算法的應(yīng)用起到了重要的指導(dǎo)作用。(6)J.R.Koza1992年,Koza將遺傳算法應(yīng)用于計(jì)算機(jī)程序的優(yōu)化設(shè)計(jì)及自動生成,提出了遺傳編程(GeneticProgramming,簡稱GP)的概念。他將一段LISP語言程序作為個體的基因型,把問題的解編碼為一棵樹,基于遺傳和進(jìn)化的概念,對由樹組成的群體進(jìn)行遺傳運(yùn)算,最終自動生成性能較好的計(jì)算機(jī)程序。Koza成功地把他提出的遺傳編碼的方法應(yīng)用于人工智能、機(jī)器學(xué)習(xí)、符號處理等方面。遺傳算法的應(yīng)用遺傳算法提供了一種求解復(fù)雜系統(tǒng)問題的通用框架,它不依賴于問題的具體領(lǐng)域,對問題的種類有很強(qiáng)的魯棒性,所以廣泛應(yīng)用于很多學(xué)科。下面是遺傳算法的一些主要應(yīng)用領(lǐng)域。(1)函數(shù)優(yōu)化函數(shù)優(yōu)化是遺傳算法的經(jīng)典應(yīng)用領(lǐng)域,也是對遺傳算法進(jìn)行性能評價(jià)的常用算例。很多人構(gòu)造了各種各樣的復(fù)雜形式的測試函數(shù),有連續(xù)函數(shù)也有離散函數(shù),有凸函數(shù)也有凹函數(shù),有低維函數(shù)也有高維函數(shù),有確定函數(shù)也有隨機(jī)函數(shù),有單峰值函數(shù)也有多峰值函數(shù)等,用這些幾何特性各具特色的函數(shù)來評價(jià)遺傳算法的性能,更能反映算法的本質(zhì)效果。而對于一些非線性、多模型、多目標(biāo)的函數(shù)優(yōu)化問題,用其他優(yōu)化方法較難求解,而遺傳算法卻可以方便地得到較好的結(jié)果。(2)組合優(yōu)化隨著問題規(guī)模的增大,組合優(yōu)化問題的搜索空間也急劇擴(kuò)大,有時(shí)在目前的計(jì)算機(jī)上用枚舉法很難或甚至不可能求出其精確最優(yōu)解。對這類復(fù)雜問題,人們已意識到應(yīng)把主要精力放在尋求其滿意解上,而遺傳算法是尋求這種滿意解的最佳工具之一。實(shí)踐證明,遺傳算法對于組合優(yōu)化中的NP完全問題非常有效。例如,遺傳算法已經(jīng)在求解旅行商問題、背包問題、裝箱問題、圖形劃分問題等方面得到成功的應(yīng)用。(3)生產(chǎn)調(diào)度問題生產(chǎn)調(diào)度問題在很多情況下所建立起來的數(shù)學(xué)模型難以精確求解,即使經(jīng)過一些簡化之后可以進(jìn)行來解,也會因簡化的太多而使得求解結(jié)果與實(shí)際相差甚遠(yuǎn)。而目前在現(xiàn)實(shí)生產(chǎn)中也主要是靠一些經(jīng)驗(yàn)來進(jìn)行調(diào)度。現(xiàn)在遺傳算法已經(jīng)為解決復(fù)雜調(diào)度問題的有效工具,在單件生產(chǎn)車間調(diào)度、流水線生產(chǎn)車間調(diào)度、生產(chǎn)規(guī)劃、任務(wù)分配等方面遺傳算法都得到了有效的應(yīng)用。(4)自動控制在自動控制領(lǐng)域中有很多與優(yōu)化相關(guān)的問題需要求解,遺傳算法已在其中得到了初步的應(yīng)用,并顯示了良好的效果。例如用遺傳算法進(jìn)行航空控制系統(tǒng)的優(yōu)化、使用遺傳算法設(shè)計(jì)空間交會控制器、基于遺傳算法的模糊控制器的優(yōu)化設(shè)計(jì)、基于遺傳算法的參數(shù)辨識、基于遺傳算法的模糊控制規(guī)則的學(xué)習(xí)、利用遺傳算法進(jìn)行人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)優(yōu)化設(shè)計(jì)和權(quán)值學(xué)習(xí)等,都顯示除了遺傳算法在這些領(lǐng)域中應(yīng)用的可能性。(5)機(jī)器人學(xué)習(xí)機(jī)器人是一類復(fù)雜的難以精確建模的人工系統(tǒng),而遺傳算法的起源就來自于對人工自適應(yīng)系統(tǒng)的研究,所以機(jī)器人學(xué)理所當(dāng)然地成為遺傳算法的一個重要應(yīng)用領(lǐng)域。例如,遺傳算法已經(jīng)在移動機(jī)器人路徑規(guī)劃、關(guān)節(jié)機(jī)器人運(yùn)動軌跡規(guī)劃、機(jī)器人逆運(yùn)動學(xué)求解、細(xì)胞機(jī)器人的結(jié)構(gòu)優(yōu)化和行為協(xié)調(diào)等方面得到研究和應(yīng)用。(6)圖像處理圖像處理是計(jì)算機(jī)視覺中的一個重要研究領(lǐng)域。在圖像處理過程中,如掃描、特征提取、圖像分割等不可避免地會存在一些誤差,這些誤差會影響圖像處理的效果。如何使這些誤差最小是使計(jì)算機(jī)視覺達(dá)到實(shí)用化的重要要求。遺傳算法在這些圖像處理中的優(yōu)化計(jì)算方面找到了用武之地,目前已在模式識別、圖像恢復(fù)、圖像邊緣特征提取等方面得到了應(yīng)用。(7)人工生命人工生命是用計(jì)算機(jī)、機(jī)械等人工媒體模擬或構(gòu)造出的具有自然生物系統(tǒng)特有行為的人造系統(tǒng)。自組織能力和自學(xué)習(xí)能力是人工生命的兩大主要特征。人工生命與遺傳算法有著密切的關(guān)系,基于遺傳算法的進(jìn)化模型是研究人工生命現(xiàn)象的重要基礎(chǔ)理論。雖然人工生命的研究尚處于啟蒙階段,但遺傳算法已在其進(jìn)化模型、學(xué)習(xí)模型、行為模型、自組織模型等方面顯示出了初步的應(yīng)用能力,并且必將得到更為深入的應(yīng)用和發(fā)展。人工生命和遺傳算法相輔相成,遺傳算法為人工生命的研究提供了一個有效的工具,人工生命的研究也必將促進(jìn)遺傳算法的進(jìn)一步發(fā)展。(8)遺傳編程Koza發(fā)展了遺傳編程的概念,他使用了以LISP語言所表示的編碼方法,基于對一種樹型結(jié)構(gòu)所進(jìn)行的遺傳操作來自動生成計(jì)算機(jī)程序。雖然遺傳編程的理論尚未成熟,應(yīng)用也有一些限制,但它已成功地應(yīng)用于人工智能、機(jī)器學(xué)習(xí)等領(lǐng)域。(9)機(jī)器學(xué)習(xí)學(xué)習(xí)能力是高級自適應(yīng)系統(tǒng)所應(yīng)具備的能力之一?;谶z傳算法的機(jī)器學(xué)習(xí),特別是分類器系統(tǒng),在很多領(lǐng)域中都得到了應(yīng)用。例如,遺傳算法被用于學(xué)習(xí)模糊控制規(guī)則,利用遺傳算法來學(xué)習(xí)隸屬度函數(shù),從而更好地改進(jìn)了模糊系統(tǒng)的性能?;谶z傳算法的機(jī)器學(xué)習(xí)可用來調(diào)整人工神經(jīng)網(wǎng)絡(luò)的連接權(quán),也可用于人工神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化設(shè)計(jì),分類器系統(tǒng)也在學(xué)習(xí)式多機(jī)器人路徑規(guī)劃系統(tǒng)中得到了成功的應(yīng)用。目前研究現(xiàn)狀遺傳算法(GeneticAlgorithm,GA)是由美國密執(zhí)安大學(xué)的Holland教授(1969年)根據(jù)生物進(jìn)化的模型提出的一類模擬進(jìn)化算法。遺傳算法是一種基于自然群體遺傳演化機(jī)制的高效探索算法,它摒棄了傳統(tǒng)的搜索方式,模擬自然界生物進(jìn)化過程,采用人工進(jìn)化的方式對目標(biāo)空間進(jìn)行隨機(jī)化搜索。它將問題域中的可能解看作是群體的一個個體或染色體,并將每一個個體編碼成符號串形式,模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過程,對群體反復(fù)進(jìn)行基于遺傳學(xué)的操作(遺傳,交叉和變異),根據(jù)預(yù)定的目標(biāo)適應(yīng)度函數(shù)對每個個體進(jìn)行評價(jià),依據(jù)適者生存,優(yōu)勝劣汰的進(jìn)化規(guī)則,不斷得到更優(yōu)的群體,同時(shí)以全局并行搜索方式來搜索優(yōu)化群體中的最優(yōu)個體,求得滿足要求的最優(yōu)解。在當(dāng)前的工業(yè)控制器中,有半數(shù)以上的控制采用PID或變形PID控制。它直接影響控制效果的好壞,并和系統(tǒng)的安全、經(jīng)濟(jì)運(yùn)行有著密不可分得關(guān)系。I.M.Horowitz在“反饋系統(tǒng)的綜合”一書中提出了8種二自由度PID控制的構(gòu)成方法。在各種實(shí)現(xiàn)二自由度的方法中,在傳統(tǒng)的測定值微分先行型PID上附加目標(biāo)值濾波器,構(gòu)成的目標(biāo)值濾波器型二自由度PID,具有以下幾個特點(diǎn):能繼承、活用傳統(tǒng)的技術(shù)成果;可以很容易地適用于現(xiàn)存系統(tǒng);推導(dǎo)公式的展開簡明,容易;結(jié)構(gòu)簡單,功能及作用容易理解。PID控制的效果取決于3個參數(shù)Kp,Ki,Kd是否合理。如何優(yōu)化這3個參數(shù),對控制效果的影響是極其關(guān)鍵的。獲取PID參數(shù)主要方法有ZN法,人工調(diào)整以及人工智能優(yōu)化等。本課題主要研究內(nèi)容本設(shè)計(jì)應(yīng)用遺傳算法優(yōu)化二自由度的PID控制器參數(shù),結(jié)合使用MATLAB7.0中的仿真工具SIMULINK,并學(xué)習(xí)使用編制仿真程序進(jìn)行仿真,以滿足以下幾方面內(nèi)容:1)掌握PID控制的基本知識;2)掌握二自由度PID控制的基本結(jié)構(gòu)和特點(diǎn);3)掌握遺傳算法的基本過程;4)掌握Matlab的設(shè)計(jì)與仿真,及遺傳算法工具箱或編程;5)編程實(shí)現(xiàn)基于遺傳算法的PID控制器參數(shù)優(yōu)化;6)仿真實(shí)例研究、結(jié)果分析;7)遺傳算法的不足與展望。遺傳算法的基本實(shí)現(xiàn)技術(shù)編碼方法在遺傳算法的運(yùn)行過程中,它不對所求解問題的實(shí)際決策變量直接進(jìn)行操作,而是對表示可行解的個體編碼施加選擇、交叉、變異等遺傳運(yùn)算,通過這種遺傳操作來達(dá)到優(yōu)化的目的,這是遺傳算法的特點(diǎn)之一。遺傳算法通過這種對個體編碼的操作,不斷搜索出適應(yīng)度較高的個體,并在群體中逐漸增加其數(shù)量,最終尋求出問題的最優(yōu)解或近似最優(yōu)解。在遺傳算法中如何描述問題的可行解,即把一個問題的可行解從其解空間轉(zhuǎn)換到遺傳算法所能處理的搜索空間的轉(zhuǎn)換方法就稱為編碼。編碼是應(yīng)用遺傳算法時(shí)要解決的首要問題,也是設(shè)計(jì)遺傳算法時(shí)的一個關(guān)鍵步驟。編碼方法除了決定了個體的染色體排列形式之外,它還決定了個體從搜索空間的基因型變換到解空間的表現(xiàn)型時(shí)的解碼方法,編碼方法也影響到交叉算子、變異算子等遺傳算子的運(yùn)算方法。由此可見,編碼方法在很大程度上決定了如何進(jìn)行群體的遺傳進(jìn)化運(yùn)算以及遺傳進(jìn)化運(yùn)算的效率。一個好的編碼方法,有可能會使得交叉運(yùn)算、變異運(yùn)算等遺傳操作可以簡單地實(shí)現(xiàn)和執(zhí)行。而一個差的編碼方法、卻有可能會使得交叉運(yùn)算、變異運(yùn)算等遺傳操作難以實(shí)現(xiàn),也有可能會產(chǎn)生很多在可行解集合內(nèi)無對應(yīng)可行解的個體,這些個體經(jīng)解碼處理后所表示的解稱為無效解。雖然有時(shí)產(chǎn)生一些無效解并不完全都是有害的,但大部分情況下它卻是影響遺傳算法運(yùn)行效率的主要因素之一。針對一個具體應(yīng)用問題,如何設(shè)計(jì)一種完美的編碼方案一直是遺傳算法的應(yīng)用難點(diǎn)之一,也是遺傳算法的一個重要研究方向??梢哉f目前還沒有一套既嚴(yán)密又完整的指導(dǎo)理論及評價(jià)準(zhǔn)則能夠幫助我們設(shè)計(jì)編碼方案。作為參考,DeJong曾提出了兩條操作性較強(qiáng)的實(shí)用編碼原則(又稱為編碼規(guī)則):編碼原則一(有意義積木塊編碼原則):應(yīng)使用能易于產(chǎn)生與所求問題相關(guān)的且具有低階、短定義長度棋式的編碼方案。編碼原則二(最小字符集編碼原則):應(yīng)使用能使問題得到自然表示或描述的具有最小編碼字符集的編碼方案。第一個編碼原則中,模式是指具有某些基因相似性的個體的集合,而具有短定義長度、低階且適應(yīng)度較高的模式稱為構(gòu)造優(yōu)良個體的積木塊或基因塊,這點(diǎn)后面再詳細(xì)敘述。這里可以把該編碼原則理解成應(yīng)使用易于生成適應(yīng)度較高的個體的編碼方案。第二個編碼原則說明了我們?yōu)楹纹珢塾谑褂枚M(jìn)制編碼方法的原因,因?yàn)樗鼭M足這條編碼原則的思想要求。事實(shí)上,理論分析表明,與其他編碼字符集相比,二進(jìn)制編碼方案能包含最大的模式數(shù),從而使得遺傳算法在確定規(guī)模的群體中能夠處理最多的模式。需要說明的是,上述DeJong編碼原則僅僅是給出了設(shè)計(jì)編碼方案時(shí)的一個指導(dǎo)性大綱,它并不適合于所有的問題。所以對于實(shí)際應(yīng)用問題,仍必須對編碼方法、交叉運(yùn)算方法、變異運(yùn)算方法、解碼方法等統(tǒng)一考慮,以尋求到一種對問題的描述最為方便、遺傳運(yùn)算效率最高的編碼方案。由于遺傳算法應(yīng)用的廣泛性,迄今為止人們已經(jīng)提出了許多種不同的編碼方法??偟膩碚f,這些編碼方法可以分為三大類:二進(jìn)制編碼方法、浮點(diǎn)數(shù)編碼方法、符號編碼方法。下面我們從具體實(shí)現(xiàn)的角度出發(fā)介紹其中的幾種主要編碼方法。二進(jìn)制編碼方法二進(jìn)制編碼方法是遺傳算法中最常用的一種編碼方法,它使用的編碼符號集是由二進(jìn)制符號0和1所組成的二值符號集{0,1},它所構(gòu)成的個體基因型是一個二進(jìn)制編碼符號串。二進(jìn)制編碼符號串的長度與問題所要求的求解精度有關(guān)。假設(shè)某一參數(shù)的取值范圍是[Umax,Umin],我們用長度為l的二進(jìn)制編碼符號串來表示該參數(shù),則它總共能夠產(chǎn)生2l種不同的編碼,若使參數(shù)編碼時(shí)的對應(yīng)關(guān)系如下:00000000…00000000=0→00000000…00000001=1→+…………………11111111…11111111=-1→則二進(jìn)制編碼的編碼精度為:(2-1)假設(shè)某一個體的編碼是:X:則對應(yīng)的解碼公式為:(2-2)例如,對于,若用10位長的二進(jìn)制編碼來表示該參數(shù)的話,則下述符號串:X:0010101111就可表示一個個體,它所對應(yīng)的參數(shù)值是x=175。此時(shí)的編碼精度為=1。二進(jìn)制編碼方法有下述一些優(yōu)點(diǎn):(1)編碼、解碼操作簡單易行;(2)交叉、變異等遺傳操作便于實(shí)現(xiàn);(3)符合最小字符集編碼原則;(4)便于利用模式定理對算法進(jìn)行理論分析。格雷碼編碼方法二進(jìn)制編碼不便于反映所求問題的結(jié)構(gòu)特征,對于一些連續(xù)函數(shù)的優(yōu)化問題等,也由于遺傳運(yùn)算的隨機(jī)特性而使得其局部搜索能力較差。為改進(jìn)這個特性,人們提出用格雷碼(Graycode)來對個體進(jìn)行編碼。格雷碼是這樣的一種編碼方法,其連續(xù)的兩個整數(shù)所對應(yīng)的編碼值之間僅僅只有一個碼位是不相同的,其余碼位都完全相同。假設(shè)有一個二進(jìn)制編碼為,其對應(yīng)的格雷碼為由二進(jìn)制編碼到格雷碼的轉(zhuǎn)換公式為:(2-3)由格雷碼到二進(jìn)制碼的轉(zhuǎn)換公式為:(2-4)上面兩種轉(zhuǎn)換公式中,表示異或運(yùn)算符。格雷碼有這樣一個特點(diǎn):任意兩個整數(shù)的差是這兩個整數(shù)所對應(yīng)的格雷碼之間的海明距離(Hammingdistance)。這個特點(diǎn)是遺傳算法中使用格雷碼來進(jìn)行個體編碼的主要原因。遺傳算法的局部搜索能力不強(qiáng),引起這個問題的主要原因是,新一代群體的產(chǎn)生主要是依靠下一代群體之間的隨機(jī)交叉重組來完成的,所以即使已經(jīng)搜索到最優(yōu)解附近,而想要達(dá)到這個最優(yōu)解,卻要費(fèi)一番功夫,甚至需要花費(fèi)較大的代價(jià)。對于用二進(jìn)制編碼方法表示的個體,變異操作有時(shí)雖然只是一個基因座的差異(個體基因型X的微小差異),而對應(yīng)的參數(shù)值卻相差較大(個體表現(xiàn)型X相差較大)。但是,若使用格雷碼來對個體進(jìn)行編碼,則編碼串之間的一位差異,對應(yīng)的參數(shù)值也只是微小的差別。這樣就相當(dāng)于增強(qiáng)了遺傳算法的局部搜索能力,便于對連續(xù)函數(shù)進(jìn)行局部空間搜索。例如,對于區(qū)間[0,1023]中兩個鄰近的整數(shù)x1=175和x2=176,若使用長度為10位的二進(jìn)制編碼,它們可分別表示為::0010101111:0010110000而使用同樣長度的格雷碼,它們可分別表不為::0011111000:0011101000顯見,使用格雷碼時(shí),兩個編碼中之間只有一位編碼值不同,而使用二進(jìn)制編碼時(shí),兩個編碼串之間卻相差較大。格雷碼編碼方法是二進(jìn)制編碼方法的一種變形,其編碼精度與相同長度的二進(jìn)制編碼的精度相同。格雷碼編碼方法的主要優(yōu)點(diǎn)是:(1)便于提高遺傳算法的局部搜索能力;(2)交叉、變異等遺傳操作便干實(shí)現(xiàn);(3)符合最小字符集編碼原則;(4)便于利用模式定理對算法進(jìn)行理論分析。浮點(diǎn)數(shù)編碼方法對于一些多維、高精度要求的連續(xù)函數(shù)優(yōu)化問題,使用二進(jìn)制編碼來表示個體時(shí)將會有一些不利之處。首先是二進(jìn)制編碼存在著連續(xù)函數(shù)離散化時(shí)的映射誤差。個體編碼串的長度較短時(shí),可能達(dá)不到精度要求。而個體編碼串的長度較長時(shí),雖然能提高編碼精度,但卻會使遺傳算法的搜索空間急劇擴(kuò)大。例如,若使用二進(jìn)制編碼方法來處理一個含有100個決策變量的優(yōu)化問題,其中每個決策變量的取值范圍是[-250,250],要求精度取小數(shù)點(diǎn)后5位小數(shù),為達(dá)到這個精度要求,每個變量必須用26位長的二進(jìn)制編碼符號串來表示,這是因?yàn)椋海?-5)這樣每個個體必須用100×26位長的二進(jìn)制編碼符號串表示。亦即此時(shí)遺傳算法的搜索空間大約是22600。在如此之大的搜索空間尋優(yōu)肯定會使得遺傳算法的運(yùn)行性能相當(dāng)差,甚至可能無法進(jìn)行下去。其次是二進(jìn)制編碼不便于反映所求問題的特定知識,這樣也就不便于開發(fā)針對問題專門知識的遺傳運(yùn)算算子。人們在一些經(jīng)典優(yōu)化算法的研究中所總結(jié)出的一些寶貴經(jīng)驗(yàn)也就無法在這里加以利用,也不便于處理非平凡約束條件。為改進(jìn)二進(jìn)制編碼方法的這些缺點(diǎn),人們提出了個體的浮點(diǎn)數(shù)編碼方法。所謂浮點(diǎn)數(shù)編碼方法,是指個體的每個基因值用某一范圍內(nèi)的一個浮點(diǎn)數(shù)來表示,個體的編碼長度等于其決策變量的個數(shù)。因?yàn)檫@種編碼方法使用的是決策變量的真實(shí)值,所以浮點(diǎn)數(shù)編碼方法也叫做真值編碼方法。在浮點(diǎn)數(shù)編碼方法中,必須保證基因值在給定的區(qū)間限制范圍內(nèi),遺傳算法中所使用的交叉、變異等遺傳算子也必須保證其運(yùn)算結(jié)果所產(chǎn)生的新個體的基因值也在這個區(qū)間限制范圍內(nèi)。再者,當(dāng)用多個字節(jié)來表小一個基因值時(shí),交叉運(yùn)算必須在兩個基因的分界字節(jié)處進(jìn)行,而不能在某個基因的中間字節(jié)分隔處進(jìn)行。浮點(diǎn)數(shù)編碼方法有下面幾個優(yōu)點(diǎn):(1)適合于在遺傳算法中表示范圍較大的數(shù);(2)適合于精度要求較高的遺傳算法;(3)便于較大空間的遺傳搜索;(4)改善了遺傳算法的計(jì)算復(fù)雜性,提高了運(yùn)算效率;(5)便于遺傳算法與經(jīng)典優(yōu)化方法的混合使用;(6)便于設(shè)計(jì)針對問題的專門知識的知識型遺傳算子;(7)便于處理復(fù)雜的決策變量約束條件。符號編碼方法符號編碼方法是指個體染色體編碼串中的基因值取自一個無數(shù)值含義,而只有代碼含義的符號集。這個符號集可以是一個字母表,如{A,B,C,D,…};也可以是一個數(shù)字序號表,如{1,2,3,4,5,}。還可以是一個代碼表,如{Al,A2,A3,A4,A5,…}等等。例如,對于旅行商問題,假設(shè)有n個城市分別記為C1、C2…Cn,將各個城市的代號按其被訪問的順序連接在一起,就可構(gòu)成一個表示旅行路線的個體。如X:[]就表示順序訪問城市C1、C2…Cn。若將各個城市按其代號的下標(biāo)進(jìn)行編號,則這個個體也可表示為X:[1,2,…,n]符號編碼的主要優(yōu)點(diǎn)是:(1)符合有意義積木塊編碼原則;(2)便于在遺傳算法中利用所求解問題的專門知識;(3)便于遺傳算法與相關(guān)近似算法之間的混合使用。但對于使用符號編碼方法的遺傳算法,一般需要認(rèn)真設(shè)計(jì)交叉、變異等遺傳運(yùn)算的操作方法,以滿足問題的各種約束要求,這樣才能提高算法的搜索性能。適應(yīng)度函數(shù)在研究自然界中生物的遺傳和進(jìn)化現(xiàn)象時(shí),生物學(xué)家使用適應(yīng)度這個術(shù)語來度量某個物種對于其生存環(huán)境的適應(yīng)程度。對生存環(huán)境適應(yīng)程度較高的物種將有更多的繁殖機(jī)會;而對生存環(huán)境適應(yīng)程度較低的物種,其繁殖機(jī)會就相對較少,甚至?xí)饾u滅絕。與此相類似,遺傳算法中也使用適應(yīng)度這個概念來度量群體中各個個體在優(yōu)化計(jì)算中有可能達(dá)到或接近于或有助子找到最優(yōu)解的優(yōu)良程度。適應(yīng)度較高的個體遺傳到下一代的概率就較大;而適應(yīng)度較低的個體遺傳到下一代的概率就相對小一些。度量個體適應(yīng)度的函數(shù)稱為適應(yīng)度函數(shù)(FitnessFunction)。目標(biāo)函數(shù)與適應(yīng)度函數(shù)遺傳算法的一個特點(diǎn)是它僅使用所求問題的自標(biāo)函數(shù)值就可得到下一步的有關(guān)搜索信息。而對目標(biāo)函數(shù)值的使用是通過評價(jià)個體的適應(yīng)度來體現(xiàn)的。評價(jià)個體適應(yīng)度的一般過程是:(1)對個體編碼串進(jìn)行解碼處理后,可得到個體的表現(xiàn)型;(2)由個體的表現(xiàn)型可計(jì)算出對應(yīng)個體的目標(biāo)函數(shù)值;(3)根據(jù)最優(yōu)化問題的類型,由目標(biāo)函數(shù)值按一定的轉(zhuǎn)換規(guī)則求出個體的適應(yīng)度。最優(yōu)化問題可分為兩大類,一類為求目標(biāo)函數(shù)的全局最大值,另一類為求目標(biāo)函數(shù)的全局最小值。對于這兩類優(yōu)化問題,第二章中已經(jīng)介紹過由解空間中某一點(diǎn)的目標(biāo)函數(shù)值f(x)到搜索空間中對應(yīng)個體的適應(yīng)度函數(shù)值F(X)的轉(zhuǎn)換方法:對于求最大值的問題,作下述轉(zhuǎn)換:(2-6)式中,為一個適當(dāng)?shù)叵鄬^小的數(shù)。對于求最小值的問題,作下述轉(zhuǎn)換:(2-7)式中,為一個適當(dāng)?shù)叵鄬^大的數(shù)。遺傳算法中,群體的進(jìn)化過程就是以群體中各個個體的適應(yīng)度為依據(jù),通過一個反復(fù)迭代過程,不斷地尋求出適應(yīng)度較大的個體,最終就可得到問題的最優(yōu)解或近似最優(yōu)解。適應(yīng)度尺度變換在遺傳算法中,各個個體被遺傳到下一代群體中的概率是由該個體的適應(yīng)度來確定的。應(yīng)用實(shí)踐表明,僅使用式(2-6)或式(2-7)來計(jì)算個體適應(yīng)度時(shí),有些遺傳算法會收斂得很快,也有些遺傳算法會收斂得很慢,由此可見,如何確定適應(yīng)度對遺傳算法的性能有較大的影響。例如,在遺傳算法運(yùn)行的初期階段,群體中可能會有少數(shù)幾個個體的適應(yīng)度相對其他個體來說非常高。若按照常用的比例選擇算子來確定個體的遺傳數(shù)量時(shí),則這幾個相對較好的個體將在下一代群體中占有很高的比例,在極端情況下或當(dāng)群體規(guī)模較小時(shí),新的群體甚至完全由這樣的少數(shù)幾個個體所組成。這時(shí)產(chǎn)生新個體作用較大的交叉算子就起不了什么作用,因?yàn)橄嗤膬蓚€個體不論在何處進(jìn)行交叉操作都永遠(yuǎn)不會產(chǎn)生出新的個體,這樣就會使群體的多樣性降低,容易導(dǎo)致遺傳算法發(fā)生早熟現(xiàn)象(或稱旱期收斂),使遺傳算法所求到的解停留在某一局部最優(yōu)點(diǎn)上。為了克服這種現(xiàn)象,我們希望在遺傳算法運(yùn)行的初期階段,算法能夠?qū)σ恍┻m應(yīng)度較高的個體進(jìn)行控制,降低其適應(yīng)度與其他個體適應(yīng)度之間的差異程度,從而限制其復(fù)制數(shù)量,以維護(hù)群體的多樣性.又例如,在遺傳算法運(yùn)行的后期階段,群體中所有個體的平均適應(yīng)度可能會接近于群體中最佳個體的適應(yīng)度。也就是說,大部分個體的適應(yīng)度和最佳個體的適應(yīng)度差異不大,它們之間無競爭力,都會有以相接近的概率被遺傳到下一代的可能性,從而使得進(jìn)化過程無競爭性可言,只是一種隨機(jī)的選擇過程。這將導(dǎo)致無法對某些重點(diǎn)區(qū)域進(jìn)行重點(diǎn)搜索,從而影響遺傳算法的運(yùn)行效率。為了克服這種現(xiàn)象,我們希望在遺傳算法運(yùn)行的后期階段,算法能夠?qū)€體的適應(yīng)度進(jìn)行適當(dāng)?shù)姆糯?,擴(kuò)大最佳個體適應(yīng)度與其他個體適應(yīng)度之間的差異程度,以提高個體之間的競爭性。由此看來,不能僅僅依靠式(2-6)或式(2-7)就完全確定出個休的適應(yīng)度,有時(shí)在遺傳算法運(yùn)行的不同階段,還需要對個體的適應(yīng)度進(jìn)行適當(dāng)?shù)臄U(kuò)大或縮小。這種對個體適應(yīng)度所做的擴(kuò)大或縮小變換就稱為適應(yīng)度尺度變換(FitnessScaling)。目前常用的個體適應(yīng)度尺度變換方法主要有三種:線性尺度變換、乘冪尺度變換和指數(shù)尺度變換。(1)線性尺度變換。線性尺度變換的公式如下:(2-8)式中F——原適應(yīng)度;——尺度變換后的新適應(yīng)度;a和b——系數(shù)。系數(shù)a、b會直接影響到這個尺度變換的大小,所以對其選取有一定的要求,一般希望它們滿足下面兩個條件:條件一:尺度變換后全部個體的新適應(yīng)度的平均值,要等于其原適應(yīng)度平均值,即:(2-9)這條要求是為了保證群體中適應(yīng)度接近于平均適應(yīng)度的個體能夠有期待的數(shù)量被遺傳到下一代群體中。條件二:尺度變換后群體中新的最大適應(yīng)度要等于其原平均適應(yīng)度的指定倍數(shù),即:。(2-10)式中,C為最佳個體的期望復(fù)制數(shù)量,對于群體規(guī)模大小為50~100個個體的情況,一般取C=1.2~2。這條要求是為了保證群體中最好的個體能夠期望復(fù)制C倍到新一代群體中。(2)乘冪尺度變換。乘冪尺度變換的公式為(2-11)即新的適應(yīng)度是原有適應(yīng)度的某個指定乘冪。冪指數(shù)k與所求解的問題有關(guān),并且在算法的執(zhí)行過程中需要不斷對其進(jìn)行修正,才能使尺度變換滿足一定的伸縮要求。(3)指數(shù)尺度變換。指數(shù)尺度變換的公式為(2-12)即新的適應(yīng)度是原有適應(yīng)度的某個指數(shù)。式中系數(shù)決定了選擇的強(qiáng)制性,越小,原有適應(yīng)度較高的個體的新適應(yīng)度就越與其他個體的新適應(yīng)度相差較大,亦即越增加了選擇該個體的強(qiáng)制性。遺傳算子選擇算子操作的主要目的是為了避免基因缺失、提高全局收斂速度和計(jì)算效率。最常用的選擇算子是基本遺傳算法中的比例選擇算子。但對于各種不同的問題,比例選擇算子并不是最合適的一種選擇算子,所以人們提出了其他一些選擇算子。下面介紹幾種常用選擇如子的操作方法。1)比例選擇比例選擇方法(ProportionalModel)是一種回放式隨機(jī)采樣的方法。其基本思想:各個個體被選中的慨率與其適應(yīng)度大小成正比。由于是隨機(jī)操作的原因,這種選擇方法的選擇誤差比較大,有時(shí)甚至連適應(yīng)度較高的個體也選擇不上。設(shè)群體大小為M,個體i的適應(yīng)度為F,則個體i被選中的概率pis為(2-13)由上式可見,適應(yīng)度越高的個體被選中的概率也越大;反之,適應(yīng)度越低的個體被選中的概率也越小。2)最優(yōu)保存策略在遺傳算法的運(yùn)行過程中,通過對個體進(jìn)行交叉、變異等遺傳操作而不斷地產(chǎn)生出新的個體。雖然隨著群體的進(jìn)化過程會生出越來越多的優(yōu)良個體,但由于選擇、交叉、變異等遺傳操作的隨機(jī)性,它們也有可能破壞掉當(dāng)前群體中適應(yīng)度最好的個體而這卻不是我們所希望發(fā)生的,因?yàn)樗鼤档腿后w的平均適應(yīng)度,并且對遺傳算法的運(yùn)行效率、收斂性都有不利的影響。所以,我們希望適應(yīng)度最好的個體要盡可能地保留到下一代群體中。為達(dá)到這個目的,可以使用最優(yōu)保存策略進(jìn)化模型(ElitistModel)來進(jìn)行優(yōu)勝劣汰操作,即當(dāng)前群體中適應(yīng)度最高的個體不參與交叉運(yùn)算和變異運(yùn)算。而是用它來替換掉本代群體中經(jīng)過交叉、變異等遺傳操作后所產(chǎn)生的適應(yīng)度最低的個體。最優(yōu)保存策略進(jìn)化模型的具體操作過程是:(1)找出當(dāng)前群體中適應(yīng)度最高的個體和適應(yīng)度最低的個體。(2)若當(dāng)前群體中最佳個體的適應(yīng)度比總的迄今為止的最好個體的適應(yīng)度還要高,則以當(dāng)前群體中的最佳個體作為新的迄今為止的最好個體。(3)用迄今為止的最好個體替換掉當(dāng)前群體中的最差個體。最優(yōu)保存策略可視為選擇操作的一部分。該策略的實(shí)施可保證迄今為止所得到的最優(yōu)個體不會被交叉、變異等遺傳運(yùn)算所破壞,它是遺傳算法收斂性的一個重要保證條件。但另一方面,它也容易使得某個局部最優(yōu)個體不易被淘汰掉反而快速擴(kuò)散,從而使得算法的全局搜索能力不強(qiáng)。所以該方法一般要與其他一些選擇操作方法配合起來使用,方可有良好的效果。另外,最優(yōu)保存策略還可加以推廣,即在每一代的進(jìn)化過程中保留多個最優(yōu)個體不參加交叉、變異等遺傳運(yùn)算,而直接將它們復(fù)制到下一代群體中,這種選擇方法也稱為穩(wěn)態(tài)復(fù)制。3)確定式采樣選擇確定式采樣選擇方法(DeterministicSampling)的基本思想是按照一種確定的方式來進(jìn)行選擇操作。其具體操作過程是:(1)計(jì)算群體中各個個體在下一代群體中的期望生存數(shù)目:(2)用的整數(shù)部分確定各個對應(yīng)個體在下一代群體中的生存數(shù)目。其中表示取不大于x的最大的整數(shù),由該步共可確定出下一代群體中的個個體。(3)按照的小數(shù)部分對個體進(jìn)行降序排序,順序取前M-個個體加人到下一代群體中,至此可完全確定出下代群體中的M個個體。這種選擇操作方法可保證適應(yīng)度較大的一些個體一定能夠被保留在下一代群體中,并且操作也比較簡單。4)無回放隨機(jī)選擇這種選擇操作方法也叫做期望值選擇方法(ExpectedValueModel),它的基本思想是根據(jù)每個個體在下一代群體中的生存期望值來進(jìn)行隨機(jī)選擇運(yùn)算。其具體操作過程是:(1)計(jì)算群體中每個個體在下一代群體中的生存期望數(shù)目:(2-14)(2)若某一個體被選中參與交叉運(yùn)算,則它在下一代中的生存期望數(shù)目減去0.5,若某個體未被選中參與交叉運(yùn)算,則它在下一代中的生存期望數(shù)目減去1.0。(3)隨著選擇過程的進(jìn)行,若某一個體的生存期望數(shù)目小于0時(shí),則該個體就不再有機(jī)會被選中。這種選擇操作方法能夠降低一些選擇誤差,但操作不太方便。5)無回放余數(shù)隨機(jī)選擇無回放余數(shù)隨機(jī)選擇(RemainderStochasticSamplingwithReplacement)的具體操作過程是:(1)計(jì)算群體中每個個體在下一代群體中的生存期望數(shù)目:(2-15)(2)取的整數(shù)部分為對應(yīng)個體在下一代群體中的生存數(shù)目。這樣共可確定出下一代M個群體中的個個體。(3)以為各個個體的新的適應(yīng)度,用比例選擇方法(賭盤選擇方法)來隨機(jī)確定下一代群體中還未確定的個個體。這種選擇操作方法可確保適應(yīng)度比平均適應(yīng)度大的一些個體一定能夠被遺傳到下一代群體中,所以它的選擇誤差比較小。交叉算子在生物的自然進(jìn)化過程中,兩個同源染色體通過交配而重組,形成新的染色體,從而產(chǎn)生出新的個體或物種交配重組是生物遺傳和進(jìn)化過程中的一個主要環(huán)節(jié)。模仿這個環(huán)節(jié),在遺傳算法中也使用交叉算子來產(chǎn)生新的個體。遺傳算法中的所謂交叉運(yùn)算.是指對兩個相互配對的染色體按某種方式相互交換其部分基因,從而形成兩個新的個體交叉運(yùn)算是遺傳算法區(qū)別于其他進(jìn)化算法的重要特征,它在遺傳算法中起著關(guān)鍵作用,是產(chǎn)生新個體的主要方法。遺傳算法中,在交叉運(yùn)算之前還必須先對群體中的個體進(jìn)行配對。目前常用的配對策略是隨機(jī)配對,即將群體中的M個個體以隨機(jī)的方式組成[M/2]對配對個體組,交叉操作是在這些配對個體組中的兩個個體之間進(jìn)行的。交叉算子的設(shè)計(jì)和實(shí)現(xiàn)與所研究的問題密切相關(guān),一般要求它既不要太多地破壞個體編碼串中表示優(yōu)良性狀的優(yōu)良模式。又要能夠有效地產(chǎn)生出一些較好的新個體模式。另外,文叉算子的設(shè)計(jì)要和個體編碼設(shè)計(jì)統(tǒng)一考慮。交叉算子的設(shè)計(jì)包括以下兩方面的內(nèi)容:(1)確定交叉點(diǎn)的位置。(2)進(jìn)行部分基因交換。最常用的交叉算子是單點(diǎn)交叉算子但單點(diǎn)交叉操作有一定的適用范圍,故人們發(fā)展了其他一些交叉算子。下面介紹幾種適合于二進(jìn)制編碼個體或浮點(diǎn)數(shù)編碼個體的交叉算子。1)單點(diǎn)交叉單點(diǎn)交叉(one-Pointcrossover)又稱為簡單交叉,它是指在個體編碼串中只隨機(jī)設(shè)置一個交叉點(diǎn)然后在該點(diǎn)相互交換兩個配對個體的部分染色體。單點(diǎn)交叉的重要特點(diǎn)是:若鄰接基國座之間的關(guān)系能提供較好的個體性狀和較高的個體適應(yīng)度的話則這種單點(diǎn)交叉操作破壞這種個體性狀和降低個體適應(yīng)度的可能性最小。2)雙點(diǎn)交叉與多點(diǎn)交叉雙點(diǎn)交叉(Two-pointCrossover)是指在個體編碼串中隨機(jī)設(shè)置了二個交叉點(diǎn),然后再進(jìn)行部分基因交換。雙點(diǎn)交叉的具體操作過程是:a)在相互配對的兩個個體編碼串中隨機(jī)設(shè)置兩個交叉點(diǎn);b)交換兩個個體在所設(shè)定的兩個交叉點(diǎn)之間的部分染色體。需要說明的是,一般不太使用多點(diǎn)交叉算子,因?yàn)樗锌赡芷茐囊恍┖玫哪J健J聦?shí)上,隨著交叉點(diǎn)數(shù)的增多,個體的結(jié)構(gòu)被破壞的可能性也逐漸增大.這樣就很難有效地保存較好的模式,從而影響遺傳算法的性能。3)均勻交叉均勻交叉(UniformCrossover)是指兩個配對個體的每一個基因座上的基因都以相同的交叉概率進(jìn)行交換,從而形成兩個新的個體均勻交叉實(shí)際上可歸屬于多點(diǎn)交叉的范圍,其具體運(yùn)算可通過設(shè)置一屏蔽字來確定新個體的各個基因如何由哪一個父代個體來提供。均勻交叉的主要操作過程如下:(1)隨機(jī)產(chǎn)生一個與個體編碼串長度等長的屏蔽字,其中為個體編碼串長度。(2)由下述規(guī)則從A、B兩個父代個體中產(chǎn)生出兩個新的子代個體、:若wi=0,則在第i個基因座上的基因值繼承A的對應(yīng)基因值,在第i個基因座上的基因值繼承B的對應(yīng)基因值。若wi=1,則在第i個基因座上的基因值繼承的對應(yīng)基因值,在第i個基因座上的基因值繼承A的對應(yīng)基因值。4)算術(shù)交叉算術(shù)交叉(ArithmeticCrossover)是指由兩個個體的線性組合而產(chǎn)生出兩個新的個體為了能夠進(jìn)行線性組合運(yùn)算算術(shù)交叉的操作對象一般是由浮點(diǎn)數(shù)編碼所表示的個體。假設(shè)在兩個個體之間進(jìn)行算術(shù)交叉,則交叉運(yùn)算后所產(chǎn)生出的兩個新個體是(2-16)式中,為一參數(shù),它可以是一個常數(shù),此時(shí)所進(jìn)行的交叉運(yùn)算稱為均勻算術(shù)交叉;它也可以是一個由進(jìn)化代數(shù)所決定的變量。此時(shí)所進(jìn)行的交叉運(yùn)算稱為非均勻算術(shù)交叉。算術(shù)交叉的主要操作過程是:(1)確定兩個個體進(jìn)行線性組合時(shí)的系數(shù)。(2)依據(jù)式的生成兩個新的個體。變異算子在生物的遺傳和自然進(jìn)化過程中,其細(xì)胞分裂復(fù)制環(huán)節(jié)有可能會因?yàn)槟承┡既灰蛩氐挠绊懚a(chǎn)生一些復(fù)制差錯,這樣就會導(dǎo)致生物的某些基因發(fā)生某種變異,從而產(chǎn)生出新的染色體,表現(xiàn)出新的生物性狀雖然發(fā)生這種變異的可能性比較小,但它也是產(chǎn)生新物種的一個不可忽視的原因。模仿生物遺傳和進(jìn)化過程中的這個變異環(huán)節(jié),在遺傳算法中也引入了變異算子來產(chǎn)生出新的個體。遺傳算法中的所謂變異運(yùn)算,是指將個體染色體編碼串中的某些基因座上的基因值用該基因座的其他等位基因來替換,從而形成一個新的個體。例如,對于二進(jìn)制編碼的個體,其編碼字符集為{0,1},變異操作就是將個體在變異點(diǎn)上的基因值取反,即用0替換1,或用1替換0;對于浮點(diǎn)數(shù)編碼的個體。若某一變異點(diǎn)處的基因值的取值范圍為,變異操作就是用該范圍內(nèi)的一個隨機(jī)數(shù)去替換原基因值;對于符號編碼的個體,若其編碼字符集為{A,B,C,…},變異操作就是用這個字符集中的一個隨機(jī)指定的且與原基因值不相同的符號去替換變異點(diǎn)上的原有符號。從遺傳運(yùn)算過程中產(chǎn)生新個體的能力方面來說,交叉運(yùn)算是產(chǎn)生新個體的主要方法,它決定了遺傳算法的全局搜索能力;而變異運(yùn)算只是產(chǎn)生新個體的輔助方法,但它也是必不可少的一個運(yùn)算步驟,因?yàn)樗鼪Q定了遺傳算法的局部搜索能力,交叉算子與變異算子的相互配合,共同完成對搜索空間的全局搜索和局部搜索,從而使得遺傳算法能夠以良好的搜索性能完成最優(yōu)化問題的尋優(yōu)過程。在遺傳算法中使用變異算子主要有以下兩個目的。(1)改善遺傳算法的局部搜索能力。遺傳算法使用交叉算子已經(jīng)從全局的角度出發(fā)找到了一些較好的個體編碼結(jié)構(gòu),它們已接近或有助于接近問題的最優(yōu)解但僅使用交叉算子無法對搜索空間的細(xì)節(jié)進(jìn)行局部搜索。這時(shí)若再使用變異算子來調(diào)整個體編碼串中的部分基因值,就可以從局部的角度出發(fā)使個體更加逼近最優(yōu)解,從而提高了遺傳算法的局部搜索能力。(2)維持群體的多樣性,防止出現(xiàn)早熟現(xiàn)象。變異算子用新的基因值替換原有基因值,從而可以改變個體編碼串的結(jié)構(gòu),維持群體的多樣性,這樣就有利于防止出現(xiàn)早熟現(xiàn)象。變異算子的設(shè)計(jì)包括如下兩方面的內(nèi)容。(1)確定變異點(diǎn)的位置;(2)進(jìn)行基因值替換。最簡單的變異算子是基本位變異算子。為適應(yīng)各種不同應(yīng)用問題的求解需要,人們也開發(fā)出了其他一些變異算子下面介紹其中較常用的幾種變異操作方法,它們適合于二進(jìn)制編碼的個體和浮點(diǎn)數(shù)編碼的個體。1)基本位變異基本位變異(SimpleMutation)操作是指對個體編碼串中以變異概率隨機(jī)指定的某一位或某幾位基因座上的基因值作變異運(yùn)算?;疚蛔儺惒僮鞲淖兊闹皇莻€體編碼串中的個別幾個基因座上的基因值,并且變異發(fā)生的概率也比較小,所以其發(fā)揮的作用比較慢,作用的效果也不明顯。2)均勻變異均勻變異(UniformMutation)操作是指分別用符合某一范圍內(nèi)均勻分布的隨機(jī)數(shù),以某一較小的概率來替換個體編碼串中各個基因座上的原有基因值。均勻變異的具體操作過程是:依次指定個體編碼串中的每個基因座為變異點(diǎn)。對每一個變異點(diǎn),以變異概率,從對應(yīng)基因的取值范圍內(nèi)取一隨機(jī)數(shù)來替代原有基因值。假設(shè)有一個體為,若為變異點(diǎn),其取值范圍為,在該點(diǎn)對個體進(jìn)行均勻變異操作后,可得到個新的個體,其中變異點(diǎn)的新基因值是:(2-17)式中,為[0,1]范圍內(nèi)符合均勻概率分布的一個隨機(jī)數(shù)。均勻變異操作特別適合應(yīng)用于遺傳算法的初期運(yùn)行階段,它使得搜索點(diǎn)可以在整個搜索空間內(nèi)自由地移動,從而可以增加群體的多樣性,使算法處理更多的模式。3)邊界變異邊界變異(BoundaryMutation)操作是上述均勻變異操作的一個變形遺傳算法。在進(jìn)行邊界變異操作時(shí),隨機(jī)地取基因座的二個對應(yīng)邊界基因值之一去替代原有基因值。在進(jìn)行由向的邊界變異操作時(shí),若變異點(diǎn)處的基因值取值范圍為,則新的基因值由下式確定:(2-18)式中,random(0,1)表示以均等的概率從0、1中任取其一。當(dāng)變量的取值范圍特別寬,并且無其他約束條件時(shí),邊界變異會帶來不好的作用。但它特別適用于最優(yōu)點(diǎn)位于或接近干可行解的邊界時(shí)的一類問題。4)高斯變異高斯變異(GaussianMutation)是改進(jìn)遺傳算法對重點(diǎn)搜索區(qū)域的局部搜索性能的另一種變異操作方法,所謂高斯變異操作是指進(jìn)行變異操作時(shí),用符合均值為、方差為的正態(tài)分布的一個隨機(jī)數(shù)來替換原有基因值。由正態(tài)分布的特性可知,高斯變異也是重點(diǎn)搜索原個體附近的某個局部區(qū)域高斯變異的其體操作過程與均勻變異相類似。具體實(shí)現(xiàn)高斯變異時(shí),符合正態(tài)分布的隨機(jī)數(shù)Q可由一些符合均勻分布的隨機(jī)數(shù)利用公式來近似產(chǎn)生假定有12個在[0,1]范圍內(nèi)均勻分布的隨機(jī)數(shù)(=1,2,...,12),則符合N(,)正態(tài)分布的一個隨機(jī)數(shù)Q可由下式求得:(2-19)在進(jìn)行由向的高斯變異操作時(shí),若變異點(diǎn)處的基因值取值范圍為,并假設(shè):,則新的基因值,可由下式確定:(2-20)遺傳算法的運(yùn)行參數(shù)遺傳算法中需要選擇的運(yùn)行參數(shù)主要有個體編碼串長度、群體大小、交叉概率、變異概率、終止代數(shù),代溝等這些參數(shù)對遺傳算法的運(yùn)行性能影響較大,需認(rèn)真選取。(1)編碼串長度。使用二進(jìn)制編碼來表示個體時(shí),編碼串長度的選取與問題所求的求解精度有關(guān);使用浮點(diǎn)數(shù)編碼來表示個體時(shí),編碼串長度與決策變量的個數(shù)n相等;使用符號編碼來表示個體時(shí),編碼串長度由問題的編碼方式來確定;另外,也可使用變長度的編碼來表示個體。(2)群體大小。群體大小表示群體中所含個體的數(shù)量。當(dāng)取值較小時(shí),可提高遺傳算法的運(yùn)算速度,但卻降低了群體的多樣性,有可能會引起遺傳算法的早熟現(xiàn)象;而當(dāng)取值較大時(shí),又會使得遺傳算法的運(yùn)行效率降低。一般建議的取值范圍是20~100。(3)交叉概率。交叉操作是遺傳算法中產(chǎn)生新個體的主要方法,所以交叉概率一般應(yīng)取較大值。但若取值過大的話,它又會破壞群體中的優(yōu)良模式對進(jìn)化運(yùn)算反而產(chǎn)生不利影響若取值過小的話,產(chǎn)生新個體的速度又較慢。一般建議的取值范圍是。0.4~0.99.另外,也可使用自適應(yīng)的思想來確定交叉概率,如Davis提出,隨著遺傳算法在線性能的提高,可以增大交叉概率的取值。(4)變異概率.若變異概率取值較大的話,雖然能夠產(chǎn)生出較多的新個體,但也有可能破壞掉很多較好的模式使得遺傳算法的性能近似于隨機(jī)搜素算法的性能;若變異概率取值太小的話,則變異操作產(chǎn)生新個體的能力和抑制早熟現(xiàn)象的能力就會較差一般建議的取值范圍是0.0001~0.1。另外,也可使用自適應(yīng)的思想來確定變異概率,如Davis提出,隨著遺傳算法在線性能的下降,可以減小變異概率的取值,而在Whitley提出的一種自適應(yīng)變異策略中,與其上一代群體間的海明距離成反比,其結(jié)果顯示出這種方法能夠有效地維持群體的多樣性。(5)終止代數(shù)。終止代數(shù)是表示遺傳算法運(yùn)行結(jié)束條件的一個參數(shù),它表示遺傳算法運(yùn)行到指定的進(jìn)化代數(shù)之后就停止運(yùn)行,并將當(dāng)前群體中的最佳個體作為所求問題的最優(yōu)解輸出,一般建議的取值范圍是100~1000。至于遺傳算法的終止條件,還可以利用某種判定準(zhǔn)則,當(dāng)判定出群體已經(jīng)進(jìn)化成熟且不再有進(jìn)化趨勢時(shí)就可終止算法的運(yùn)行過程常用的判定準(zhǔn)則有下面兩種:連續(xù)幾代個體平均適應(yīng)度的差異小于某一個極小的閾值;群體中所有個體適應(yīng)度的方差小于某一個極小的闊值。(6)代溝。代溝是表示各代群體之間個體重疊程度的一個參數(shù),它表示每一代群體中被替換掉的個體在全部個體中所占的百分率,即每一代群體中有個個體被替換掉例如,=1.0表示群體中的全部個體都是新產(chǎn)生的,這也是最常見的一種情況=0.7則表示70%的個體是新產(chǎn)生的,而隨機(jī)保留了上一代群體中30%的個體。本章小結(jié)****************************************************************************************************************************************************************************************************************************************。PID控制的基本原理PID控制概述PID(Propotional-Intigrate-Differential)控制是比例積分微分控制的簡稱。在生產(chǎn)過程自動控制的發(fā)展歷程中,PID控制是歷史最久、生命力最強(qiáng)的基本控制方式。在上世紀(jì)40年代以前,除在最簡單的情況下可采用開關(guān)控制外,它是唯一的控制方式。此后,隨著科學(xué)技術(shù)的發(fā)展,特別是電子計(jì)算機(jī)的誕生和發(fā)展,涌現(xiàn)出許多先進(jìn)的控制方法,然而直到現(xiàn)在,PID控制由于它自身的優(yōu)點(diǎn)仍然是得到最廣泛應(yīng)用的基本控制方式。PID控制具有以下優(yōu)點(diǎn):(1)原理簡單,使用方便。PID控制是由P、I、D三個環(huán)節(jié)的不同組合而成。其基本組成原理比較簡單,參數(shù)的物理意義也比較明確。(2)適應(yīng)性強(qiáng)??梢詮V泛應(yīng)用于化工、熱工、冶金、煉油以及造紙、建材等各種生產(chǎn)部門。按PID控制進(jìn)行工作的自動調(diào)節(jié)器早已商品化。在具體實(shí)現(xiàn)上它們經(jīng)歷了機(jī)械式、液動式氣動式、電子式等發(fā)展街段,但始終沒有脫離PID控制的范疇。即使目前最新式的過程控制計(jì)算機(jī),其基本控制功能也仍然是PID控制。(3)魯棒性強(qiáng)。即其控制品質(zhì)對被控對象特性的變化不大敏感。PID控制原理(1)比例調(diào)節(jié)[5]在比例調(diào)節(jié)中,調(diào)節(jié)器的輸出信號u與偏差信號e成比例。即(3-1)其中為比例增益。在控制系統(tǒng)中習(xí)慣用增益的的倒數(shù)表示調(diào)節(jié)器的的輸入與輸出之間的比例關(guān)系:(3-2)比例調(diào)節(jié)的顯著特點(diǎn)是有差調(diào)節(jié)。在靜態(tài)干擾的作用下,比例增益越大,系統(tǒng)輸出量的靜態(tài)誤差就越小;反之,比例增益越小,靜態(tài)誤差就越大。如果僅從靜態(tài)來考慮,比例增益越大越好。然而,加大調(diào)節(jié)系統(tǒng)的開環(huán)增益,其后果是導(dǎo)致系統(tǒng)的激烈震蕩甚至不穩(wěn)定。穩(wěn)定性是任何閉環(huán)控制系統(tǒng)的首要調(diào)節(jié),比例增益的設(shè)置必須保證系統(tǒng)具有一定的穩(wěn)定余量。此時(shí),如果殘差過大,則需要通過其他的途徑解決。綜上所述,可以得出結(jié)論,比例調(diào)節(jié)器的比例增益越大,靜態(tài)誤差就越小過度過程也快,但比例增益太大會引起震蕩和不穩(wěn)定,甚至造成危險(xiǎn)。因此正確選擇比例增益是很重要的。比例調(diào)節(jié)的主要缺點(diǎn)是存在靜態(tài)誤差。對于干擾大,滯后較大的系統(tǒng),單純采用比例調(diào)節(jié),不能得到滿意的控制品質(zhì),需要采用調(diào)節(jié)規(guī)律比較復(fù)雜的調(diào)節(jié)器。(2)積分調(diào)節(jié)積分調(diào)節(jié)是調(diào)節(jié)器的輸出信號的變化速度du/dt與偏差信號e成正比,即(3-3)或(3-4)積分調(diào)節(jié)的特點(diǎn)是無差調(diào)節(jié),只要有偏差的存在,調(diào)節(jié)作用就不斷的增大,直到偏差消除,調(diào)節(jié)器的輸出才不會再變化。因此積分調(diào)節(jié)可以消除誤差。積分調(diào)節(jié)的另一個特點(diǎn)是它的穩(wěn)定作用比比例調(diào)節(jié)差。對于非自衡的被控對象采用比例調(diào)節(jié)時(shí),只要增大比例帶總可以使系統(tǒng)穩(wěn)定(除非被控對象含有一個以上的積分環(huán)節(jié));如果采用積分調(diào)節(jié)則不可能得到穩(wěn)定的系統(tǒng)。當(dāng)Ti選擇的太大時(shí),積分作用較弱,積分作用緩慢增長,漸趨于穩(wěn)定,過渡過程沒有振蕩,消除
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度博物館安防監(jiān)控系統(tǒng)安裝與維護(hù)服務(wù)協(xié)議3篇
- 2024年公務(wù)員考試都蘭縣《行政職業(yè)能力測驗(yàn)》最后沖刺試題含解析
- 2024年建筑工程承包簡易合同(35篇)
- 2024版勞動協(xié)議安全管理操作手冊版
- 《生成可執(zhí)行的ja》課件
- 部編版五年級語文上冊第13課《少年中國說(節(jié)選)》精美課件
- 鋼結(jié)構(gòu)餐廳鋼架焊接施工合同
- 電力設(shè)施升級承攬合同
- 實(shí)習(xí)協(xié)議樣本
- 餐飲業(yè)地面施工合同
- 集合復(fù)習(xí)-章課件
- MOOC 電磁場與電磁波理論-南京郵電大學(xué) 中國大學(xué)慕課答案
- A類《職業(yè)能力傾向測驗(yàn)》上海市青浦區(qū)2024年事業(yè)單位考試統(tǒng)考試題含解析
- 消防控制室值班服務(wù)各項(xiàng)管理制度
- 角的概念推廣(說課課件)
- 2023-2024學(xué)年北京市西城區(qū)高二(上)期末物理試卷(含解析)
- (高清版)DZT 0211-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 重晶石、毒重石、螢石、硼
- 2024年東方航天港海陽產(chǎn)業(yè)園開發(fā)有限公司招聘筆試參考題庫含答案解析
- 福建省泉州市2022-2023學(xué)年高一年級上冊期末教學(xué)質(zhì)量監(jiān)測英語試卷(含答案)
- 繼承傳統(tǒng)文化弘揚(yáng)中國精神
- 高考體育特長生培訓(xùn)
評論
0/150
提交評論