基于遺傳算法控制直線多級倒立擺_第1頁
基于遺傳算法控制直線多級倒立擺_第2頁
基于遺傳算法控制直線多級倒立擺_第3頁
基于遺傳算法控制直線多級倒立擺_第4頁
基于遺傳算法控制直線多級倒立擺_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

GA-LQR算法在線性倒立擺系統(tǒng)實時控制中的實現(xiàn)第一章緒論1.1課題的研究背景和意義對于倒立擺系統(tǒng)最初的研究始于二十世紀五十年代,麻省理工學院(MIT)的控制論專家根據(jù)火箭發(fā)射助推器原理設(shè)計出一級倒立擺實驗設(shè)備。在此基礎(chǔ)上,研究人員經(jīng)過不斷的深入,設(shè)計出兩級倒立擺和線性三、四級倒立擺。目前,按照倒立擺的結(jié)構(gòu)來分,倒立擺系統(tǒng)分為以下幾種類型:直線倒立擺系列、環(huán)形倒立擺系列、平面倒立擺系列和復合倒立擺系列。研究倒立擺系統(tǒng)具有很強的理論意義,首先針對倒立擺系統(tǒng)的機器結(jié)構(gòu),其形象直觀、結(jié)構(gòu)簡單、構(gòu)件組成和形狀易于改變、設(shè)計成本較低,便于應(yīng)用模擬和數(shù)字的方法進行控制;其次,作為一個經(jīng)典被控對象,倒立擺是一個絕對不穩(wěn)定、高階次、多變量、強耦合的非線性系統(tǒng),因而對倒立擺系統(tǒng)的控制會涉及控制理論研究中的諸多關(guān)鍵性問題,如非線性問題、魯棒性問題、鎮(zhèn)定性問題、跟蹤問題以及隨動問題等。需要采用行之有效的控制策略使之穩(wěn)定;倒立擺系統(tǒng)的動態(tài)平衡效果非常明了,可以通過測量小車的位移、擺動角度和穩(wěn)擺時間來直接分析,對系統(tǒng)穩(wěn)定效果的分析可以反映許多抽象的控制理論概念,如穩(wěn)定性、運動模態(tài)[1]、能控能觀性、快速性和魯棒性等。到目前為止,有多種控制理論和方法可以對倒立擺系統(tǒng)進行控制,如經(jīng)典的PID控制[2,3]、線性狀態(tài)反饋[4,5,6]和最優(yōu)控制[7,8]、基于遺傳算法的智能控制[9,10,11,12,13]以及基于遺傳算法的線性最優(yōu)控制[14,15]等。當一種新的控制策略和方法被提出后,可以借助對倒立擺被控對象的控制效果的分析來判斷其有效性和實用性,進而研究該算法是否具有卓越的處理多變量、非線性和絕對不穩(wěn)定性問題的能力,并找出算法存在的不足以提出改進思路和改進方案。研究倒立擺系統(tǒng)具有深遠的工程實踐意義,平面單級倒立擺與火箭飛行控制相關(guān),兩級倒立擺控制與人的步態(tài)和雙足機器人的行走姿態(tài)具有相似性。因而倒立擺研究具有重要的現(xiàn)實意義,由該研究產(chǎn)生的相關(guān)方案和技術(shù)在半導體及精密儀器加工、機器人控制技術(shù)、人工智能、導彈攔截控航空對接控制、火箭發(fā)射過程中的姿態(tài)調(diào)整、衛(wèi)星飛行中的姿態(tài)控制儀及工業(yè)應(yīng)用等方面具有廣闊的開發(fā)前景。由此,倒立擺控制成為控制領(lǐng)域的充滿活力的熱門研究課題。1.2遺傳算法研究的發(fā)展與應(yīng)用領(lǐng)域遺傳算法(GeneticAlgorithm,簡稱GA)起源于對生物系統(tǒng)所進行的計算機模擬研究,以自然選擇和遺傳理論為基礎(chǔ),將生物進化過程中的適者生存規(guī)則與群體內(nèi)部染色體的隨機信息交換機制相結(jié)合的高效全局尋優(yōu)搜索算法。它模擬自然界生物進化過程,采用人工進化的方式對目標空間進行隨機優(yōu)化搜索。GA將問題域中的可能解看作是群體中的一個個體或染色體,并將每一個個體編碼成符號串形式,模擬達爾文的遺傳選擇和自然淘汰的生物進化過程,對群體反復進行基于遺傳學的操作(遺傳、交叉和變異)。根據(jù)預定的目標適應(yīng)度函數(shù)對每個個體進行評估,依據(jù)適者生存、優(yōu)勝劣汰的進化規(guī)則,不斷得到更優(yōu)的群體,同時以全局并行搜索方式來搜索優(yōu)化群體中的最優(yōu)個體,以求得滿足要求的最優(yōu)解[16]。20世紀60年代美國Michigan大學Holland教授及其學生受到生物模擬技術(shù)的啟發(fā),創(chuàng)造出一種基于生物遺傳和進化機制的適合于復雜系統(tǒng)優(yōu)化的自適應(yīng)概率優(yōu)化技術(shù)——遺傳算法。在1967年,Holland教授的學生Bagley在其博士論文中首次提出“遺傳算法”一詞,他進一步發(fā)展了復制、交叉、變異、顯性、倒位等遺傳算子,在個體編碼上使用雙倍體的編碼方法。Holland用GA思想對自然和人工適應(yīng)系統(tǒng)進行研究,提出GA的基本定理——模式定理(SchemaTheorem),并與1975年出版了第一本系統(tǒng)論述遺傳算法和人工自適應(yīng)系統(tǒng)的專著《AdaptationNaturalandArtificialSystem》。20世紀80年代,Holland教授實現(xiàn)了第一個基于遺傳算法的機器學習系統(tǒng),開創(chuàng)了遺傳算法的機器學習的新概念。1975年,DeJong基于遺傳算法的思想在計算機上進行了大量的純數(shù)值函數(shù)優(yōu)化計算實驗,建立了遺傳算法的工作框架,得到了一些重要且具有指導意義的結(jié)論。1989年,Goldberg出版著作《GeneticAlgorithminSearch,OptimizationandMachineLearning》,系統(tǒng)地總結(jié)了遺傳算法的主要研究成果,全面完整地論述了遺傳算法的基本原理及其應(yīng)用。1991年,Davis出版了《HandbookofGeneticAlgorithms》一書,介紹遺傳算法在科學計算、工程技術(shù)和社會經(jīng)濟中的大量實例。1992年,Koza將遺傳算法應(yīng)用于計算機程序的優(yōu)化設(shè)計及自動生成,提出了遺傳編程(GeneticProgramming,簡稱GP)的概念。在控制系統(tǒng)的離線設(shè)計方面遺傳算法被眾多的使用者證明是有效的新策略,Krishnakumar和Goldberg、Bramlette和Cusin已證明使用遺傳優(yōu)化方法在太空應(yīng)用中導出的優(yōu)異的控制器結(jié)構(gòu)比使用傳統(tǒng)的LQR和Powell的增音機設(shè)計所用的時間要少(功能評估)。縱觀整個遺傳算法的發(fā)展過程,20世紀70年代是興起階段,20世紀80年代是發(fā)展階段,20世紀90年代是高潮階段。目前,遺傳算法作為一種實用、高效、魯棒性強的優(yōu)化技術(shù),有著廣闊的發(fā)展前景和良好的發(fā)展勢頭,始終是國內(nèi)外學者的研究熱點[17]。遺傳算法提供了一種求解非線性、多模型、多目標等復雜系統(tǒng)優(yōu)化問題的通用框架,它不依賴于待解決問題的具體領(lǐng)域,已經(jīng)廣泛應(yīng)用于圖像處理、函數(shù)優(yōu)化、組合優(yōu)化、機器人學、人工生命、機器學習和自動控制等科技領(lǐng)域,并在相關(guān)領(lǐng)域具有典型的成功應(yīng)用范例。1.3倒立擺系統(tǒng)控制算法的研究時至今日,國內(nèi)外研究人員對各類倒立擺系統(tǒng)的起擺和穩(wěn)擺控制已經(jīng)進行了很多研究,研究人員試圖通過不同的控制方法實現(xiàn)對倒立擺的控制。對于一級和二級倒立擺控制已有成功的記載。目前對倒立擺的研究可以抽象為以下兩個問題:(1)使倒立擺迅速地從初始位置達到豎直向上平衡位置的起擺控制(2)擺在平衡點附近的穩(wěn)定性控制1.3.1起擺控制算法的研究狀況倒立擺的自起擺控制方法主要集中在基于能量控制、最優(yōu)控制和智能控制等方面。這些控制算法在實現(xiàn)復雜度和控制效果上是各有利弊的,能量控制是對擺桿的能量進行控制代替對小車的位移和速度的控制來達到起擺的控制目的;最優(yōu)控制方法在系統(tǒng)輸出的狀態(tài)變量較少時,可以實現(xiàn)對最優(yōu)控制率的計算,當狀態(tài)變量較多同時系統(tǒng)又具有終點約束條件時,基于最優(yōu)控制的起擺控制器難于實現(xiàn);基于模糊控制的自起擺控制器符合人類的智能思維習慣,不依賴擺系統(tǒng)的數(shù)學模型,容易理解和設(shè)計,但是具體的控制效果要充分考慮控制規(guī)則的要求以及如何確定優(yōu)異的規(guī)則集[18,19]。1.3.2穩(wěn)擺控制的研究在研究倒立擺系統(tǒng)穩(wěn)定控制的過程中,深入地探索控制理論,以尋求新的優(yōu)越的控制算法,進而將其應(yīng)用到現(xiàn)實的更廣泛的被控制對象中。各種控制理論和相應(yīng)領(lǐng)域的控制方法以及各種控制方法的有機結(jié)合產(chǎn)生的新的算法可以在倒擺實時系統(tǒng)中得到充分的應(yīng)用,并不斷被改進。(1)基于經(jīng)典控制理論的算法經(jīng)典線性系統(tǒng)理論分析和解決單輸入——單輸出線性定常系統(tǒng)是比較有效的。而一級倒立擺系統(tǒng)是一個單輸入(控制力)兩輸出(小車位移和擺桿角度)的非最小相位系統(tǒng),通過對系統(tǒng)進行經(jīng)典力學或拉格朗日能量分析,得出系統(tǒng)在豎直向上平衡位置附近的近似線性模型,進而可以借助經(jīng)典控制理論的解決方案:根軌跡法、頻域分析法以及PID控制方法實現(xiàn)對一級倒立擺的穩(wěn)擺控制。然而,由于經(jīng)典控制理論難以有效處理多輸入——多輸出系統(tǒng)的局限性,則對于二級倒立擺和多級倒立擺系統(tǒng),經(jīng)典控制難以獲得理想的控制效果。(2)基于現(xiàn)代控制理論的算法依據(jù)現(xiàn)代控制理論為指導設(shè)計控制器實現(xiàn)對倒立擺的穩(wěn)定控制,主要是借助狀態(tài)反饋來實現(xiàn)的,這其中比較有效的控制方案如線性二次型調(diào)節(jié)控制(LQR)。應(yīng)用線性理論控制算法首先要分析倒立擺系統(tǒng)的物理模型,經(jīng)過一定的線性化方法建立系統(tǒng)的數(shù)學模型——狀態(tài)空間表達,進而設(shè)計狀態(tài)反饋控制器實現(xiàn)對倒立擺的穩(wěn)定控制。但是隨著倒立擺級數(shù)的增加,控制復雜度加大,單一依靠線性控制理論算法實現(xiàn)對多級倒立擺的控制難度增加而且難于達到預期的控制效果。(3)基于智能控制理論的算法相對于傳統(tǒng)控制依據(jù)被控對象的數(shù)學模型的模型論控制方式,智能控制可稱之為“控制論”即智能決策論。智能控制具有鮮明的特點:①智能控制通常是一個混合的控制過程,建立在非數(shù)學模型和數(shù)學模型的基礎(chǔ)上的控制過程;②智能控制的核心是對高水平實際過程的管理、決策、規(guī)劃和控制;③智能控制是利用人工智能、系統(tǒng)理論、專家經(jīng)驗、神經(jīng)網(wǎng)絡(luò)、模式識別、遺傳優(yōu)化和基于遺傳的機器學習、推理、空間技術(shù)、計算機科學技術(shù)相協(xié)調(diào)去解決復雜控制問題;④智能控制是新的研究發(fā)展領(lǐng)域,處于良好的發(fā)展勢頭中,是目前解決復雜控制問題很受青睞的方案[20,21]。針對倒立擺系統(tǒng)現(xiàn)已提出的智能控制方案主要有下述幾種:(1)模糊控制方法模糊控制是智能控制較早的形式,它吸取了人類的思維具有模糊性的特點,是一種應(yīng)用模糊集合理論,統(tǒng)籌考慮系統(tǒng)的一種控制方式。模糊控制不需要被控對象精確的數(shù)學模型,是解決不確定性系統(tǒng)控制的一種有效途徑,因此在對倒立擺系統(tǒng)控制的研究中,模糊控制方法是應(yīng)用最多的一種,它的魯棒性較好。通過倒立擺控制系統(tǒng)進行分析歸納得到模糊控制規(guī)則,進而設(shè)計模糊控制器對倒立擺系統(tǒng)進行控制。在實際中,常規(guī)的模糊控制器具有一定的局限性,隨著倒立擺系統(tǒng)級數(shù)的增加,模糊控制規(guī)則的建立難度隨之加大。目前由文獻記載以及仿真數(shù)據(jù)表明,常規(guī)模糊控制方法可以成功地實現(xiàn)對一級倒立擺系統(tǒng)的控制。改進的模糊控制、模糊控制與其他方法的有機結(jié)合可以實現(xiàn)對多級倒立擺的控制,并達到比較理想的控制效果。文獻表明,早在2002年,北京師范大學的李洪興教授利用變論域模糊控制方法成功的實現(xiàn)對三級、四級倒立擺的仿真控制實驗[22,23]。(2)神經(jīng)網(wǎng)絡(luò)控制方法神經(jīng)網(wǎng)絡(luò)控制研究和利用人腦的結(jié)構(gòu)機理以及人的知識和經(jīng)驗對系統(tǒng)進行控制,采用神經(jīng)網(wǎng)絡(luò)的控制問題,可以看成是模式識別問題,被識別的模式是映射成“行為”信號的變化信號。理論研究表明,神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)的智能性、魯棒性均很好,更為重要的是神經(jīng)網(wǎng)絡(luò)具有學習能力,不斷修正神經(jīng)元之間的連接權(quán)值,并離散存儲在連接網(wǎng)絡(luò)中,因而神經(jīng)網(wǎng)絡(luò)能處理高維、非線性、強耦合和不確定性的難以建模的復雜控制問題[24,25]。應(yīng)用神經(jīng)網(wǎng)絡(luò)方法能夠?qū)Φ沽[模型進行無模型學習控制,神經(jīng)網(wǎng)絡(luò)控制和模糊控制在對倒立擺系統(tǒng)的控制方面各有特點,理論上,如果將神經(jīng)網(wǎng)絡(luò)控制與模糊控制結(jié)合起來,可以獲得更佳的控制效果。(3)遺傳算法遺傳算法這種模擬自然進化過程而得到的隨機性全局優(yōu)化方法,現(xiàn)在被廣泛地研究和應(yīng)用。遺傳算法在自動控制科學中,已經(jīng)成功地用來研究離散時間的最優(yōu)控制問題、Riccati方程的求解問題和控制系統(tǒng)的魯棒穩(wěn)定問題等。在實際應(yīng)用中,通常將遺傳算法與其他控制算法相結(jié)合,以克服單一控制算法存在的弊端,發(fā)揮兩者各自的鮮明優(yōu)點,達到理想的控制效果。目前,遺傳算法在BP神經(jīng)網(wǎng)絡(luò)的訓練中、模糊規(guī)則的優(yōu)化中、LQR控制權(quán)值矩陣參數(shù)的尋求中應(yīng)用很廣泛。由于BP網(wǎng)絡(luò)本身的訓練機理,在權(quán)值優(yōu)化過程中容易陷入局部最優(yōu)解,理論和實踐表明利用遺傳算法的全局尋優(yōu)功能,可以很好的克服BP網(wǎng)絡(luò)這一缺點;在模糊控制中,模糊規(guī)則的建立非常大程度地依賴專家和操作者的調(diào)試經(jīng)驗,規(guī)則的建立過程是一個不斷歸納分析和實驗測試的過程,將遺傳算法應(yīng)用到模糊規(guī)則的建立中,優(yōu)化有效的控制規(guī)則,剔除冗余的語言規(guī)則,可以加速模糊控制器的設(shè)計過程,提高模糊控制器的控制精度;而遺傳算法在LQR權(quán)值矩陣參數(shù)尋優(yōu)的應(yīng)用將在本文中詳細論述。1.4課題的研究思路和內(nèi)容1.4.1課題的研究思路以固高科技GLIP2003型倒立擺系統(tǒng)硬件平臺[26]為基礎(chǔ),建立一、二級倒立擺系統(tǒng)的數(shù)學模型,應(yīng)用MATLABR2007b(Matlab7.5.0)開發(fā)環(huán)境的m語言編寫GA-LQR算法,借助動態(tài)仿真集成環(huán)境Simulink設(shè)計基于GA-LQR控制器以實現(xiàn)對一級和二級直線倒立擺的穩(wěn)擺控制;編寫基于C-MEX的S-Function形式的能量反饋控制器以完成對直線一級倒立擺的自起擺控制。設(shè)計完成直線一級自起擺控制器和一、二級倒立擺的穩(wěn)擺控制器后,借助Matlab/GUI圖形界面開發(fā)環(huán)境進行穩(wěn)擺控制器控制效果的仿真調(diào)試,得到滿意的仿真控制效果后,應(yīng)用Matlab實時工作間——Real-TimeWorkshop(RTW)在VisualC++6.0語言編譯環(huán)境下將Simulink下的仿真模型轉(zhuǎn)化為c代碼,在外部模式下,進行硬件在回路的半實物實時控制。1.4.2課題的研究內(nèi)容⑴深入探討遺傳算法的基本概、基本原理及其在控制領(lǐng)域中的應(yīng)用。⑵借助牛頓力學和拉格朗日能量分析法建立一、二級倒立擺系統(tǒng)的在豎直向上平衡位置的近似線性化數(shù)學模型,在得到的數(shù)學模型基礎(chǔ)上借助Matalb矩陣分析法分析系統(tǒng)的穩(wěn)定性、能控性和能觀性。⑶針對LQR控制器的權(quán)重矩陣Q和R在工程實踐中難于確定的問題,利用遺傳算法的全局搜索能力來尋優(yōu)并確定參數(shù)矩陣Q和R,并對簡單遺傳算法提出改進方案,借助Matlab的m語言實現(xiàn)GA算法編程,同時調(diào)試和改進算法性能。=4\*GB2⑷借助動態(tài)仿真集成環(huán)境Simulink設(shè)計基于GA-LQR控制器以實現(xiàn)對一級和二級直線倒立擺的穩(wěn)擺控制。=5\*GB2⑸編寫基于C-MEX的S-Function形式的能量控制器用于控制直線一級擺的自起擺,其穩(wěn)擺控制由GA-LQR控制器來實現(xiàn)。=6\*GB2⑹應(yīng)用Matlab的圖形用戶界面GUI開發(fā)直線兩級倒立擺仿真模型的仿真調(diào)試界面,完成對建好的倒立擺系統(tǒng)的Simulink模型的仿真測試。=7\*GB2⑺借助Matalb/RTW將直線兩級倒立擺穩(wěn)擺控制的Simulink模型以及直線一級倒立擺的自起擺的Simulink模型轉(zhuǎn)化為C代碼,進而進行硬件在回路的半實物實時控制,確保GA-LQR穩(wěn)擺控制方案的切實可行性。=8\*GB2⑻對本論文的工作進行概括性總結(jié)及其展望。第二章遺傳算法的理論和應(yīng)用2.1遺傳算法的基本概念遺傳算法是模仿自然界生物進化機制發(fā)展起來的隨機全局搜索和優(yōu)化方法,它借鑒孟德爾的遺傳學說和達爾文的進化論。其本質(zhì)是一種高效、并行、全局搜索方法,它在搜索過程中自動獲取和積累有關(guān)搜索空間的知識,并自適應(yīng)地控制搜索過程以求得最優(yōu)解。遺傳算法操作依據(jù)適者生存的原則,在潛在的解決方案種群中逐次產(chǎn)生一個近似最優(yōu)的方案。在遺傳算法的每一代中,根據(jù)個體在問題域中的適應(yīng)度值和從遺傳學中借鑒的再造方法進行個體選擇,產(chǎn)生一個新的近似解。在這個過程中種群中的個體得到進化,產(chǎn)生的新的個體比原來的個體具有更優(yōu)的適應(yīng)性。生物的進化過程主要是通過染色體之間的交叉和變異來完成的?;趯ψ匀唤缰猩镞z傳與進化機理的模仿,針對不同的問題,遺傳算法研究者設(shè)計了許多不同的編碼方法來表示問題的可行解,應(yīng)用不同的遺傳算子來模仿不同環(huán)境下的生物遺傳特性。進而由不同的編碼方法和不同的遺傳算子就構(gòu)成了各種不同的遺傳算法。2.2遺傳算法的理論基礎(chǔ)遺傳算法的有效性理論依據(jù)是模式定理和積木假設(shè)[27,28,29,]。模式定理保證了較優(yōu)模式(遺傳算法的較優(yōu)解)的樣本程指數(shù)級增長,從而滿足了尋找最優(yōu)解的必要條件,即遺傳算法存在尋找到最優(yōu)解的可能性;而積木假設(shè)指出,遺傳算法具備尋找到全局最優(yōu)解的能力,即有低階、短距、高平均適應(yīng)度的模式,在遺傳算子作用下,相互結(jié)合,能生成高階、長距、高適應(yīng)度的模式,最終找到全局最優(yōu)解。2.2.1模式定理模式定理最初由Holland提出,是遺傳算法重要的里程碑,通過不斷的完善,模式定理已成為遺傳算法最為成熟和重要的理論。模式定理從一定程度上解釋了染色體編碼結(jié)構(gòu)在進化過程中的一些規(guī)律性的表現(xiàn)。為了不失一般性,論文中以二進制串作為編碼方式來說明模式定理。定義1基于三值字符串所產(chǎn)生的一類能描述具有某些結(jié)構(gòu)相似性的0,1字符串集的編碼稱作模式。以長度為5的字符串為例,模式*0001描述了在位置2、3、4、5具有形式“0001”的所有字符串,即(00001,10001)。進而可知模式的概念提供一種簡潔的用于描述在某些位置上具有結(jié)構(gòu)相似性的0、1字符串集合的方法。引入模式的概念后。可以看到一個串實際上隱含著多個模式(長度為n的二進制串隱含著2n個模式,一個模式可以隱含在多個串中,不同的串之間通過模式而相互聯(lián)系。在遺傳算法中串的運算實際上是模式的運算。定義2設(shè)有模式H,H中確定位置的個數(shù)稱為該模式的階數(shù),記作。定義3模式H中第一個確定位置和最后一個確定位置之間的距離稱作該模式的定義距,記作。模式的階數(shù)和定義距描述了模式的基本性質(zhì)。接著通過分析遺傳算法的三種基本遺傳操作來討論模式定理。設(shè)代表第t代基因串的群體,以表示第t代中第j個個體串。1.選擇對模式的影響設(shè)代表第t代基因串的群體;表示群體中第j個個體串;表示該群體中與模式H相匹配的個體集合;表示中個體的數(shù)目,即群體中與模式H相匹配的個體數(shù)目;表示中個體的平均適應(yīng)度,即中與模式H相匹配的個體平均適應(yīng)度,有 (2.1)在選擇過程中中任何一個基因串是以概率被選中進行復制的,其中為個體適應(yīng)度。因此可以預期在復制完成后模式在t+1代中的樣本數(shù)變?yōu)? (2.2)設(shè)為群體平均適應(yīng)度,則,則方程(2.2)可以轉(zhuǎn)化為 (2.3)式(2.3)表明,經(jīng)過選擇操作后,下一代模式H樣本數(shù)的增加或減少與該模式的平均適應(yīng)度成正比,與群體平均適應(yīng)度成反比,即平均適應(yīng)度高于群體平均適應(yīng)度的模式在下一代的數(shù)量將增加,反之,則會減少,假設(shè)模式H的平均適應(yīng)度高于群體的平均適應(yīng)度,并且設(shè)高出的部分為,c為一個大于0常數(shù),則有 (2.4)假設(shè)從開始,c保持為正常數(shù),則上式轉(zhuǎn)化為 (2.5)可見在選擇算子的作用下,與某一模式所匹配的樣本數(shù)的增減依賴于模式的平均適應(yīng)度與群體平均適應(yīng)度之比,平均適應(yīng)度高于群體平均適應(yīng)度的將按指數(shù)級增長。同時從整個選擇過程中可以看出,雖然選擇操作能使模式的數(shù)量以指數(shù)形式增減,但由于選擇操作只能將某些高適應(yīng)度的個體復制,低適應(yīng)度的個體淘汰,它并不產(chǎn)生新的模式結(jié)構(gòu),因而選擇操作對遺傳性能的改進是有限度的。2.交叉對模式的影響交叉操作是基因串之間的有組織而又是隨機的信息交換,它在創(chuàng)造新結(jié)構(gòu)的同時,應(yīng)盡可能少地破壞復制過程中所選擇的高適應(yīng)度的模式。為了討論交叉對模式的影響,下面給出一長度L=6的基因串及此基因所包含的兩個代表模式,同時只考慮單點交叉的情況,A=010110H1=*1***0H2=***11*對于單點交叉過程即隨機選取一個交叉點,然后互換對應(yīng)的片段,假設(shè)隨機選取的交叉點為3,它含有兩個模式H1和H2,用分隔符表示交叉位置?,F(xiàn)在假定上面給定的字符串A=010110選匹配伙伴A’=101001再隨機選取交叉點為3,同樣用分隔符表示交叉位置。則經(jīng)過單點交叉后所產(chǎn)生的子代為A1=010001A2=101110與前面給出的基因串A所包含的兩個代表模式H1、H2,對比可知,經(jīng)交叉后的所產(chǎn)生的子代A1、A2都不是模式H1的樣本,即經(jīng)過交叉后模式H1丟失了。而模式H2卻依然存在,因為不論A的匹配伙伴取何種基因串形式,H2中的確定位4的“1”和確定位5的“1”,都將原封不動地一起傳入子代個體,使模式H2存活。因為在本例中交叉點是隨機選取的,即交叉點是按等概率產(chǎn)生的,模式H1被破壞的概率(在2、3、4、5交叉點都遭破壞)遠遠超過模式H1(只在位置4的交叉遭破壞),即模式H1的存活概率要高于模式H1。接著通過定義距來分析模式H的存活率。模式H1的定義距,如果交叉點始終是隨機地從L-1=6-1=5個可能的位置選取,顯然模式H1被破壞的概率為:,存活概率為,類似的模式H2的定義距為,它被破壞的概率為,其存活概率為。以上的討論中均假設(shè)交叉概率為1,通常情況下取交叉概率為Pc,此時存活概率的算式應(yīng)描述為 (2.6)式(2.6)是在忽略了交叉點發(fā)生在定義距內(nèi)模式不被破壞的可能性情況下推導的。在前面給出的例子中,若A的匹配伙伴在位置2,6上有一位與A相同,則H1將被保留。考慮到這一點,式(2.6)給出存活概率的一個下屆,即 (2.7)式(2.7)即為模式H在交叉算子下的存活概率??紤]模式H在選擇和交叉算子的共同作用下的變化情況。參考式(2.3)和式(2.7),便有 (2.8)式(2.8)表明,在選擇和交叉的共同作用下,模式H的數(shù)量增長或減少,取決于其模式的平均適應(yīng)度的高低即和定義距的長短。越大,越小,則H的數(shù)量就越多。3.變異對模式的影響變異是對基因串中的某一單個位置以概率Pm進行隨機改變,這種隨機改變可能使模式H遭到破壞。一個模式H要存活,意味著它所有的確定位置(為“0”或為“1”的位置)都存活,因此由于單個位置的基因位發(fā)生改變的概率都為Pm,存活的概率為1-Pm,而且由于每個變異的發(fā)生是統(tǒng)計獨立的,所以模式僅H當它的個確定位置都存活時才存活,即自乘次,即可得到經(jīng)變異后模式H的存活率 (2.9)由于,H的存活概率可以表示為 (2.10)綜合考慮選擇、交叉和變異操作的共同作用,模式H在經(jīng)歷了選擇、交叉和變異后,其子代的樣本數(shù)可以表示為 (2.11)式(2.11)可以近似為 (2.12)式(2.12)忽略了極小項 (2.13)為進一步簡化式(2.12),令 (2.14)即 (2.15)當和都很小時,如果并保持為常數(shù),則式(2.12)可以改寫成: (2.16)綜合式(2.12)和式(2.16)即給出模式定理:在遺傳算子選擇、交叉和變異的作用下,具有低階、短定義距以及平均適應(yīng)度高于群體平均適應(yīng)度的模式,將會在子代中呈指數(shù)級地增長。2.2.2積木假設(shè)模式定理使遺傳算法在染色體位串基因?qū)哟紊蠈ζ湫阅芊治鲇辛嘶镜亩棵枋鍪侄?,但是模式定理只是說明了遺傳算法存在尋找全局最優(yōu)解的可能性,不能保證遺傳算法的收斂性,針對該問題,Holland教授在復雜系統(tǒng)建模和生物的進化研究中,提出積木塊假說。由模式定理知,具有低階、短距和高平均適應(yīng)度的模式,在子代中將呈指數(shù)級增長,這類模式在遺傳算法中稱之為積木塊(BuildingBlock)。同時給出假設(shè):低階、短距、高適應(yīng)度的模式(積木塊)在遺傳算子的作用下,相互結(jié)合,能生成高階、長距、高適應(yīng)度的模式,可最終生成全局最優(yōu)解。同搭建積木一樣,這些好的模式在遺傳操作下互相拼接、結(jié)合、產(chǎn)生適應(yīng)度更高的個體基因串,從而找到更優(yōu)的可行解,這正是積木假設(shè)所揭示的內(nèi)容。然而到目前為止,積木假設(shè)的結(jié)論并沒有得到證明,因此稱之為假設(shè),而非定理?,F(xiàn)在已有大量的實踐證據(jù)支持這一假設(shè),因此可以肯定,對很多經(jīng)常碰到的問題,遺傳算法都是適用的。2.3遺傳算法的設(shè)計與實現(xiàn)遺傳算法模擬了自然選擇和遺傳學中的復制、交叉和變異現(xiàn)象,從任一隨機初始種群(Population)出發(fā),通過選擇、交叉和變異操作,產(chǎn)生一群更適應(yīng)環(huán)境的個體,使群體一代一代繁衍進化到搜索空間中趨向最優(yōu)解的區(qū)域,最后收斂到一群最適應(yīng)環(huán)境的個體(Individual),從而求得問題的最優(yōu)解。2.3.1遺傳算法的設(shè)計流程完整的遺傳算法的運作流程如圖2.1所示:改善或解決實際問題改善或解決實際問題實際問題參數(shù)集編碼成位串計算適應(yīng)度值統(tǒng)計結(jié)果遺傳操作種群2種群1三種遺傳算子:選擇算子交叉算子變異算子經(jīng)過優(yōu)化的一個或多個參數(shù)集(解碼后)隨機算子種群1種群2圖2.1遺傳算法的運作流程Figure2.1FlowChartofGeneticAlgorithm即在遺傳算法中,根據(jù)待解決的實際問題,首先通過隨機方式產(chǎn)生若干個所求問題的數(shù)字編碼(染色體)來形成初始群體(種群),以此為進化起點的第一代群體,并計算每串編碼的個體適應(yīng)度值,進而對每個個體進行評估。接下來類似于自然選擇,從群體中隨機挑選若干個個體作為繁殖過程的樣本集合進行遺傳操作。選擇機制應(yīng)保證適應(yīng)度值較高的個體能保留較多的樣本,而適應(yīng)度值低的個體則保留較少的樣本或被淘汰。在進化過程中,利用交叉和變異兩種算子,以一定的交叉概率和變異概率對對挑選后的的樣本進行變換,從而生成新的個體。接著通過新老個體的替換產(chǎn)生下一代群體。遺傳算法不斷重復前述的的評估、選擇、繁衍和替換過程,直到整個過程滿足一定的結(jié)束條件為止。通常情況下,進化過程的最后一代群體中的適應(yīng)度值最高的個體,就是利用遺傳算法求解的優(yōu)化問題的最終結(jié)果。2.3.2遺傳算法的實現(xiàn)步驟基本遺傳算法(SimpleGeneticAlgorithm)可定義為一個8元組: (2.17)式中,C——個體編碼方法,SGA采用二進制編碼方法;E——個體適應(yīng)度評價函數(shù);P0——初始群體;M——群體的大小,通常取20~100;——選擇算子,SGA使用比例選擇算子;——交叉算子,SGA采用單點交叉算子;——變異算子,SGA采用基本位變異算子;——算法終止條件,一般終止進化代數(shù)為100~500。1.參數(shù)編碼與解碼遺傳算法主要是通過遺傳算子對群體中具有某種結(jié)構(gòu)形式的個體施加重組處理,從而不斷地搜索出群體中個體間的結(jié)構(gòu)相似性,逐代優(yōu)化參數(shù)以趨近最優(yōu)解。遺傳算法不能直接處理問題空間的參數(shù),必須在目標問題的實際描述與遺傳算法的染色體位串結(jié)構(gòu)之間建立聯(lián)系。由問題空間向遺傳編碼空間的映射稱作編碼(Encoding),而由編碼空間向問題空間的映射稱作解碼(Decoding)。編碼將問題域知識轉(zhuǎn)化為遺傳算法空間的碼串描述。理論上,編碼應(yīng)該適合要解決的問題,并非是簡單的描述問題。因而在具體的應(yīng)用中,編碼設(shè)計應(yīng)遵循如下原則:完全性原則上,分布在所有問題域的解都有可能被構(gòu)造出來。分閉性每個基因碼,對應(yīng)一個可接受的個體,封閉性保證系統(tǒng)不會產(chǎn)生無效的個體。緊致性若兩種基因碼g1和g2都被解碼成相同的個體,若g1比g2占的空間少,就認為g1比g2緊致??蓴U展性對于具體的問題,編碼的大小確定了解碼的時間,兩者存在一定的函數(shù)關(guān)系,若增加一種表現(xiàn)型,作為基因型的編碼大小也做出相應(yīng)的增加。多重性多個基因型解碼成一個表現(xiàn)型,即從基因型到相應(yīng)的表現(xiàn)型空間是多對一的關(guān)系,這是基因的多重性。若相同的基因型被解碼成不同的表現(xiàn)型,這是表現(xiàn)型的多重性。個體可塑性決定表現(xiàn)型與相應(yīng)給定基因型是受環(huán)境影響的。模塊性若表現(xiàn)型的構(gòu)成中有多個重復的結(jié)構(gòu),在基因型編碼中這種重復是應(yīng)該避免的。冗余性冗余性能夠提高可靠性和魯棒性。復雜性包括基因型的結(jié)構(gòu)復雜性,解碼復雜性,計算時空復雜性(基因解碼、適應(yīng)值、再生等)[30]。編碼方式常用的有二進制編碼和浮點數(shù)編碼。(1)二進制編碼二進制編碼是遺傳算法中常用的一種編碼方法,即將原問題的解映射為0,1組成的位串,然后在位串空間上進行遺傳操作。得到的結(jié)果再通過解碼過程還原為原問題解的解空間,接著進行適應(yīng)度值的計算。設(shè)種群中的個體數(shù)目為n,表示第t代的i個個體,。每個個體用l位二進制表示。這樣每個個體,這樣每個個體基因位數(shù)目L=ml。個體可以表示為ml維的行向量,即。第t代種群可以表示為一個的矩陣。個體的第k個長度為l的二進制碼串轉(zhuǎn)化為實數(shù)的解碼函數(shù)為 (2.18)式(2.18)中和分別為第k個實數(shù)范圍的上限和下限。很多數(shù)值計算與非數(shù)值優(yōu)化問題都可以用二進制編碼來實現(xiàn),該方法具有如下優(yōu)點:編碼方式簡單且操作方便;符合最小字符集編碼原則,便于用模式定理進行分析。但當二進制編碼在求解連續(xù)優(yōu)化問題存在以下缺點:相鄰整數(shù)的二進制可能有較大的Hamming距離,例如15和16的二進制表示為01111和10000。因此算法要從15改進到16則必須改變所有的位。這種缺陷將降低遺傳算子的搜索效率[17,31]。(2)浮點數(shù)編碼為了克服二進制編碼對于一些多維、高精度要求的連續(xù)函數(shù)優(yōu)化問題弊端可以采用十進制或浮點數(shù)進行編碼。所謂浮點數(shù)編碼方法,是指個體的每個基因值用某一范圍內(nèi)的浮點數(shù)來表示,個體編碼的長度等于其決策變量的個體。浮點數(shù)編碼必須保證基因值在給定的區(qū)間限制范圍內(nèi)。同時,遺傳操作中所使用的交叉、變異等也引入了專門的遺傳算子,保證其運算結(jié)果所產(chǎn)生的新個體的基因值也在這個區(qū)間限制范圍內(nèi)[32]。浮點數(shù)編碼適用于搜索空間較大、精度要求較高的遺傳方案中,其運算簡單,提高了遺傳算法的運算效率,有利于遺傳算法與經(jīng)典優(yōu)化方法的混合應(yīng)用,便于處理具有約束條件的復雜決策變量。2.適應(yīng)度函數(shù)值計算在生物的遺傳和進化過程中,對環(huán)境適應(yīng)度較高的物種將有更多的繁殖機會,遺傳算法中也使用類似的概念來度量群體中各個個體在優(yōu)化計算中有可能、或有助于找到最佳解的尋優(yōu)過程。適應(yīng)度值較高的個體遺傳到下一代的概率就較大,而適應(yīng)度值較低的個體遺傳到下一代的概率就相對小些。度量個體適應(yīng)度值的函數(shù)稱為適應(yīng)度函數(shù)(FitnessFunction)。適應(yīng)度函數(shù)的選取至關(guān)重要,它直接影響遺傳算法的收斂速度以及能否找到最優(yōu)解。設(shè)計適應(yīng)度函數(shù)要保證其:①單值、連續(xù)、非負、最大化;②滿足合理性和一致性③計算量小、通用性強。在遺傳算法的實際應(yīng)用中,適應(yīng)度函數(shù)的確定方法通常有以下三種:(1)直接以待求解的目標函數(shù)轉(zhuǎn)化為適應(yīng)度函數(shù),即若目標函數(shù)為最大化問題則取 (2.19)若目標函數(shù)為最小問題則取 (2.20)這種適應(yīng)度函數(shù)簡單直觀,但是存在兩個問題,其一是可能不滿足常用的輪盤賭選擇中概率非負的要求;其二是某些待求解的函數(shù)在函數(shù)值分布上相差很大,由此得到的平均適應(yīng)度可能不利于體現(xiàn)種群的平均性能,影響整個遺傳算法的性能。(2)界限構(gòu)造法若目標函數(shù)為最大化問題則 (2.21)式(2.21)中,為的最小估計。若目標函數(shù)為最小問題 (2.22)這種方法是對第一種方法的改進,在具體的應(yīng)用中優(yōu)勢會存在預先估計困難、不精確的問題。(3)若目標函數(shù)為最大問題取 (2.23)若目標函數(shù)為最小問題取 (2.24)該方法與第二種方法類似,c為目標函數(shù)界限的保守估計值[17,33,34]。3遺傳操作遺傳算法的操作算子包括選擇、交叉(又稱重組)和變異三種基本形式。三種遺傳算子是遺傳算法具備強大搜索能力的核心,是模擬自然選擇以及遺傳過程中的繁殖惡化突變現(xiàn)象的主要載體。遺傳算法利用交叉和變異算子產(chǎn)生新的群體進而實現(xiàn)種群進化,遺傳算子的設(shè)計是遺傳策略的主要組成部分,也是調(diào)整和控制進化過程的基本工具。(1)選擇算子選擇是從群體中挑選優(yōu)良的個體同時淘汰劣質(zhì)個體的遺傳操作過程。它建立在適應(yīng)度評估的基礎(chǔ)上,個體適應(yīng)度越大,其被選中的可能性就越大,它的子代保留到匹配池(matingpool)中的個數(shù)就越多。常用的遺傳方法有[17,35]:①輪盤賭方法(roulettewheelmodel)輪盤賭方法是遺傳算法中最基本也最常用的選擇方法。設(shè)群體為P,個體的適應(yīng)度為Fitness,則個體i被選擇的概率為 (2.24)其累計概率為 (2.25)式(2.25)中,表示該種群在這一代中的總適應(yīng)度值。選擇按旋轉(zhuǎn)輪盤(輪盤上按Pi的大小劃分為不等的扇區(qū)),顯然適應(yīng)度大的個體其選擇概率越大,在輪盤中所占的位置越大,被選中的概率也就越大。②排序選擇法(rank-basedmodel)排序選擇法以標準化幾何分布規(guī)律隨機對種群中染色體進行選擇,以最佳染色體的選擇概率Ps作為基本參數(shù),按染色體的排列序號確定其選擇概率。排序法的最大優(yōu)點在于排序法忽略實際染色體的適應(yīng)度值,用染色體的順序來換算出相應(yīng)的生存概率,換算原則為大適應(yīng)度值對高選擇概率,小適應(yīng)度值對低選擇概率。這樣既能保證大適應(yīng)度值染色體獲得高選擇概率,同時又阻止某些超級染色體過快地控制遺傳過程。排序選擇法首先需根據(jù)最佳染色體選擇概率計算標準分布值,表達式如下 (2.26)接著根據(jù)上式計算染色體選擇概率: (2.27)式(2.27)中為第k個染色體的適應(yīng)值在種群中由大到小排列的序號。Ps為最佳染色體選擇概率,P為樣本數(shù)。最后計算染色體的累計選擇概率值qk (2.28)③最佳個體保存法最佳個體保存法把群體中適應(yīng)度值最高的個體不進行配對交叉而直接復制到下一代。該方法的好處在于保證了進化過程中的某一代的最優(yōu)解不被交叉和變異操作所破壞。然而該方法使一些局部優(yōu)化個體的遺傳基因會急速增加而達到局部優(yōu)化解,其全局搜索能力差,不利于多峰值的搜索問題,因而該方法一般與其他選擇方法相結(jié)合而使用。(2)交叉算子在遺傳操作中,交叉操作因其全局搜索能力而成為主要算子。交叉操作的作用在于它不僅使原來種群中的優(yōu)良個體的特性能夠在一定程度上保持,而且其探索新的空間的能力使得種群中的個體具有多樣性。它是GA獲取新的優(yōu)良個體的最重要手段。交叉是指把兩個父串個體的部分結(jié)構(gòu)加以替換重組而成新個體的操作,交叉算子分為兩類,一類為二進制交叉,一類為浮點數(shù)交叉。①二進制交叉運算該操作按一定的概率Pc在匹配池中隨機地選取兩個個體進行,交叉的位置也是隨機確定的。其二進制編碼操作又可分為單點交叉、兩點交叉和多點交叉。單點交叉:是在個體中隨機地選定一個交叉點,兩個個體在該點前后進行部分互換以產(chǎn)生新的個體,如:父輩個體1AAAAAA|AAAAAA→BBBBBB|AAAAAA父輩個體2BBBBBB|BBBBBB→AAAAAA|BBBBBB兩點交叉:與單點交叉類似,只是隨機設(shè)置兩個交叉點進行部分乎換,以產(chǎn)生新的個體,如:父輩個體1AAAA|AAAA|AAAA→AAAA|BBBB|AAAA父輩個體2BBBB|BBBB|BBBB→BBBB|AAAA|BBBB多點交叉:該交叉操作即前述兩種交叉操作的推廣,多點交叉有時又被叫作廣義交叉。當用c表示交叉參數(shù)時,則c=1或c=2時即為單點交叉和兩點交叉。②浮點數(shù)編碼的交叉運算常用的浮點數(shù)編碼的交叉運算為線性交叉又稱算術(shù)交叉。即兩個父代以線性組合的方式產(chǎn)生子代。對于凸搜索空間,算術(shù)交叉保證其子代的閉合性。也就是問題空間內(nèi)的任何兩個染色體的線性組合仍屬于問題空間。該方法在種群中均勻隨機選取兩條染色體作為交叉雙親;然后在[0,1]區(qū)間內(nèi)產(chǎn)生隨機數(shù);對染色體按交叉次數(shù)進行如式(2.29)操作 (2.29)式中為產(chǎn)生的新染色體。(3)變異運算變異運算使得遺傳算法具有局部隨機搜索能力,配合交叉操作以維持種群的多樣性,防止出現(xiàn)過早收斂。變異算子也具有兩類,一類為基本的二進制變異操作,另一類為針對浮點數(shù)而言的浮點數(shù)變異。①二進制變異運算變異是以很小的概率Pm隨機地改變個體串中染色體的某些基因值。在二進制編碼方式中,變異操作基本過程是變異算子隨機地將某個基因值取反,即“0”變?yōu)椤?”,“1”變?yōu)椤?”。如:[01000101000101011010]→[01010101000101001010]②浮點數(shù)變異運算對于浮點數(shù)則常用的變異手段有均勻變異、邊界變異和非均勻變異等。浮點數(shù)變異目的在于擴大染色體基因的取值范圍。均勻變異:設(shè)種群中有染色體,均勻變異則先在染色體中選擇分量,接著在一個定義區(qū)間[bl,br]中均勻地選取一個數(shù)代替,至此得到新的染色體為。非均勻變異:是指在各代中參與變異操作的染色體的變異量是非均勻變化的,變異量的函數(shù)公式表達為 (2.30)代數(shù)b=4代數(shù)b=4b=3b=2變異量圖2.2變異形狀系數(shù)圖Figure2.2TheChartofGeneMutationCoefficient式(2.30)中代表當前進化代數(shù),表示最大進化代數(shù),表[0,1]間的隨機數(shù),則是如圖2.2所示的變異系數(shù),是參與變異操作的染色體到取值區(qū)域邊界的距離,可以通過下面的計算公式得出 (2.31)在式(2.13)中——隨機數(shù)0或1,——取值區(qū)域的左右邊界。4遺傳算法運行參數(shù)選擇從圖2.1——遺傳算法的運作流程中可以知道,在進行遺傳算法的設(shè)計時涉及的主要參數(shù)有:種群規(guī)模、選擇操作方法、交叉率、變異率、進化代數(shù)等。在選擇具體遺傳算子時,要涉及選擇與算子相關(guān)的參數(shù)。遺傳算法的參數(shù)選擇合理與否直接影響到算法的收斂速度和優(yōu)化精度。然而,影響參數(shù)選擇的因素很多,有的與待優(yōu)化問題本身內(nèi)涵的客觀規(guī)律有關(guān),有的與算子的選擇有關(guān),目前,還不存在一個普遍適用的規(guī)則作為遺傳算法設(shè)計的參考。但是以下的實踐經(jīng)驗可以作為遺傳算法設(shè)計的重要依據(jù)。(1)種群規(guī)模種群規(guī)模是設(shè)計遺傳算法時要首先確定的參數(shù)。當所選種群規(guī)模過小,容易使算法陷入局部最優(yōu)解,當種群規(guī)模選的過大,增加了算法的計算量從而減緩了算法的進化速度。種群的大小是針對具體的問題而言的,在實際設(shè)計時,種群的選擇考慮以下因素:①問題的內(nèi)在規(guī)律。如果在問題空間內(nèi)目標函數(shù)的極值點越多,所需要的種群規(guī)模越大;如果問題域內(nèi)目標函數(shù)的變化比較平滑,所需要的種群規(guī)模比較小。②問題域的范圍。問題空間的取值范圍越大,要求的種群規(guī)模也越大。③交叉率和變異率的選擇。交叉率和變異率較大時,要求的種群規(guī)模較小;反之,較大。(2)交叉率在設(shè)計遺傳算法時,交叉率的選擇很重要,遺傳算法的性能在很大程度上取決于所采用的交叉算子的性能和交叉率的大小。交叉率是指各代中交叉產(chǎn)生的后代數(shù)與種群規(guī)模之比,交叉運算產(chǎn)生的新個體,不斷拓展搜索空間,較高的交叉率可以搜索更大的解空間,從而降低算法產(chǎn)生局部最優(yōu)解的風險;當然如果所選交叉率過高,會因搜索不必要的解空間而耗費大量的計算時間。常用的交叉率的取值范圍為0.4~0.8.(3)變異率變異率是指種群中發(fā)生變異的基因數(shù)占總基因數(shù)的百分比。變異率也是遺傳操作中的重要參數(shù),它直接影響到算法的收斂性和最終解的性能。變異率控制著新基因的引入比例。如果選擇的變異率太大,進化過程中,種群的隨機變化也太大,那么后代可能失去從雙親繼承下來的好的特性,影響算法的收斂性;若變異率太小,進化時優(yōu)良的新個體產(chǎn)生的機會過小。因而在實際操作過程中,遺傳算法變異率的取值范圍通常是0.001~0.1之間,或者在進化中采用變變異率的方法,即在變異初期選擇一個較大的變異率,提高算法的收斂性,變異后期采用較小的變異率,保證算法的穩(wěn)定性。(4)進化終止條件遺傳算法進化的終止可以從兩方面進行控制:預先設(shè)定進化代數(shù)或是根據(jù)種群的進化程度進行控制。其中種群的進化程度則是指種群當前代最大適應(yīng)值與種群的平均適應(yīng)值間的比例關(guān)系。在實際設(shè)計中,遺傳算法參數(shù)的選擇和各遺傳算子的確定密切相關(guān)。遺傳算法的角色是一種計算工具,遺傳算法可以對所要解決的問題一無所知,要通過遺傳計算得到滿足要求的解,首先要對待解決的問題進行深入地、細致地分析,找出問題的內(nèi)在規(guī)律,將問題合理地模型化,也即將實際問題轉(zhuǎn)化為遺傳算法可以解決的問題。2.4遺傳算法的改進2.4.1基本遺傳算法的局限性本文遺傳算法的改進指針對2.3.2的簡單遺傳算法(SGA)的設(shè)計而言。基本遺傳算法簡單易實現(xiàn),但是它存在很多缺陷。(1)SGA采用二進制編碼,簡單、易于實現(xiàn),符合最小字符集編碼原則,有較強的通用性,但它不反映所求問題的結(jié)構(gòu)特征,無法利用具體領(lǐng)域的特定知識,遺傳算子可選擇的操作方式有限,精度不高。(2)SGA在選擇操作過程中采用輪盤賭方法,當群體適應(yīng)度差異非常大時,最佳個體的生存機會顯著增高,較差個體的生存機會被剝奪,使最佳個體很快充滿整個群體,遺傳算法也較早地喪失了進化能力即發(fā)生早熟問題。另外,針對不同問題,僅采用單點交叉和基本位變異的方法很難達到預期效果[36]。(3)SGA采用固定的控制參數(shù),在處理復雜問題時,很難同時兼顧搜索范圍廣和搜索速率快的矛盾,容易陷入局部極值或使搜索時間增長,因而采用SGA有許多地方需要改進。2.4.2遺傳算法的改進針對SGA所存在的問題以及后續(xù)對本設(shè)計的深入分析,結(jié)合很多學者的多年研究經(jīng)驗,考慮從參數(shù)編碼、初始群體的設(shè)定、適應(yīng)度函數(shù)的標定、遺傳操作算子和控制參數(shù)的選擇幾方面對SGA進行改進。本設(shè)計提出的改進方案如下:(1)改進編碼方式采用實數(shù)編碼方式即浮點數(shù)編碼,個體的每個基因值用某一范圍內(nèi)的一個浮點數(shù)來表示,個體的編碼長度等于其決策變量的個數(shù)。該編碼方法使用的是決策變量的真實值,適合于在遺傳算法中表示范圍較大的數(shù);適合于精度要求較高的遺傳算法;便于較大空間的遺傳搜索,改善了遺傳算法的計算復雜性,提高了運算效率;便于遺傳算法與經(jīng)典優(yōu)化方法的混合使用;便于設(shè)計針對問題的專門知識的知識型遺傳算子;便于處理復雜的決策變量約束條件。浮點數(shù)編碼非常直觀且不會出現(xiàn)精度不夠的情況,只是針對具體問題卻需要運用專門的遺傳操作算子。(2)改進選擇算子放棄SGA中的“輪盤賭”選擇方案,采用有條件的最佳保留策略——有條件的將最佳個體直接傳遞到下一代,有效地防止SGA的“早熟收斂”。(3)改進交叉和變異算子在設(shè)計過程中,根據(jù)群體的具體情況,自適應(yīng)地改變Pc和Pm的大小,將進化過程中分為漸進和突變兩個不同的階段:在漸進階段強交叉,弱變異,強化優(yōu)勢型選擇算子;突變階段弱交叉,強變異,弱化優(yōu)勢型選擇算子以提高算法的計算速度和效率。(4)進化過程動態(tài)調(diào)整子代個體遺傳算法要求在進化過程中保持群體規(guī)模不變。但是為了防止早熟收斂,在進化過程中可對群體中的個體進行調(diào)整,包括引入移民算子、過濾相似個體、動態(tài)補充子代新個體等。移民機制就是在每一代進化過程中以一定的淘汰率(一般取15%~20%)將最差個體淘汰,接著用產(chǎn)生的新個體代替。移民算子是避免早熟收斂的一種好方法。在移民過程中可以加速淘汰差的個體,增加解的多樣性。為了加快收斂速度,可采用濾除相似個體的操作,減少基因的單一性。刪除相似個體的過濾操作為:對子代個體按適應(yīng)度排序,依次計算適應(yīng)度差值小于門限delta的相似個體間的廣義Hamming距離。如果同時滿足適應(yīng)度差值小于門限delta,廣義hamming距離小于門限d,就濾除其中適應(yīng)度較小的個體,其中delta和d要選取合適,以提高群體的多樣性。過濾操作要引入新個體,這時可采用從優(yōu)秀父代個體中變異產(chǎn)生新個體的方式。該方法將父代中適應(yīng)度較高的m個個體隨機進行若干次變異,產(chǎn)生出新個體,加入子代個體。這些新個體繼承了父代較優(yōu)秀個體的模式片段,并產(chǎn)生新的模式,易于與其他個體結(jié)合生成新的優(yōu)秀子代個體,增加的新個體數(shù)與過濾操作刪除的個體數(shù)量有關(guān)。如果群體基因單一性增加,則被濾除的相似合體數(shù)目增加,補充的新個體數(shù)目隨之增加;反之,則只少量濾除相似個體,甚至不濾除,補充的新個體數(shù)目隨之減少。這樣,就能動態(tài)解決群體由于缺乏多樣性而陷入局部解的問題。2.5本章小結(jié)本章目的在于闡述遺傳算法的基本概念,給出遺傳算法的理論基礎(chǔ)——模式定理和積木假設(shè)。結(jié)合標準遺傳算法的運作流程,詳細給出遺傳算法的實現(xiàn)步驟,針對標準遺傳算法的局限性,結(jié)合后續(xù)本設(shè)計遺傳算法的應(yīng)用,在標準遺傳算法基礎(chǔ)上,提出幾點重要改進。第三章線性倒立擺系統(tǒng)建模與分析在倒立擺控制系統(tǒng)的分析和設(shè)計中,為了確定一級倒立擺和兩級倒立擺系統(tǒng)的能控性、能觀測性,以及對設(shè)計完成的控制器的控制效果的仿真調(diào)試,需要建立倒立擺系統(tǒng)的數(shù)學模型。建立控制系統(tǒng)數(shù)學模型的方法有實驗建模法和機理建模法兩種。實驗建模是通過在研究對象上施加一系列的實驗者事先確定的輸入信號,激勵研究對象并通過傳感器檢測其可觀測的輸出,應(yīng)用數(shù)學手段建立起系統(tǒng)的輸入——輸出關(guān)系。實驗建模需要設(shè)計和選取輸入信號,精確地檢測輸出信號,進而運用數(shù)學算法建立系統(tǒng)的模型;機理建模則是在了解研究對象的運動規(guī)律基礎(chǔ)上,通過物理和數(shù)學手段建立起所研究系統(tǒng)對應(yīng)的數(shù)學模型。對于倒立擺系統(tǒng),由于其復雜性,實驗建模存在很大的困難,因此本設(shè)計通過機理建模法建立一級、二級倒立擺系統(tǒng)的數(shù)學模型。3.1線性倒立擺系統(tǒng)的數(shù)學模型3.1.1線性一級倒立擺系統(tǒng)的數(shù)學模型對于物理機制比較簡單的一級倒立擺系統(tǒng)采用牛頓力學的方法更為方便和快捷。忽略一級倒立擺系統(tǒng)機構(gòu)間的摩擦和運動過程中的空氣阻力后,可將直線一級倒立擺系統(tǒng)抽象成由小車和均質(zhì)桿組成的剛體系統(tǒng),其抽象的物理模型如圖3.1所示。CartCartOyxΦΦLF圖3.1直線一級倒立擺抽象模型Figure3.1TheAbstractModelofLinearOneStageInvertedPendulum圖3.1中F代表施加在小車上的力,L表示擺桿的長度,Φ表示擺桿與豎直向上方向的夾角。根據(jù)一級倒立擺系統(tǒng)模型給出小車和擺桿的受力分析圖如圖3.2所示。MMPNFbmgNPIab圖3.2小車和擺桿受力分析圖Figure3.2NewtonAnalysisofTheCartAndPendulum圖中M和m分別表示小車和擺桿的質(zhì)量,N和P是小車和擺桿相互作用力的水平和垂直方向的分量,b為小車的摩擦系數(shù),x為小車水平方向的位移,為擺桿與豎直向下方向的夾角。而且在實際的倒立擺系統(tǒng)中檢測和執(zhí)行裝置的正負方向已經(jīng)完全確定,圖中箭頭表示矢量的正方向。設(shè)l為擺桿轉(zhuǎn)動軸心到桿質(zhì)心的長度,I為擺桿轉(zhuǎn)動慣量。根據(jù)小車水平方向所受合力,建立力學方程 (3.1)接著對擺桿水平方向受力進行分析得到 (3.2)展開求導公式有: (3.3)將式(3.3)代入式(3.1)中,整理得到系統(tǒng)的第一個運動方程: (3.4)為了得到系統(tǒng)的第二個運動方程,對擺桿垂直方向上所受合力進行分析有 (3.5)展開求導公式有 (3.6)轉(zhuǎn)動擺桿的力矩平衡方程為 (3.7)這里有,,。解方程(3.6)與(3.7),約掉P和N,得到系統(tǒng)的第二個方程: (3.8)當擺桿接近豎直向上的平衡位置附近可以有如下的近似關(guān)系成立:。設(shè)u表示被控對象的輸入力F,對運動方程(3.4)和(3.8)做線性處理并假設(shè)初始條件為0得到: (3.9)對式(3.9)進行拉普拉斯變換,有: (3.10)設(shè),由式(3.10)得到以小車的加速度為輸入的擺桿角度與小車加速度之間的傳遞函數(shù)為: (3.11)為了更加直觀的判斷系統(tǒng)的相應(yīng)特性,設(shè)系統(tǒng)的狀態(tài)空間表達為 (3.12)取狀態(tài)變量為,解方程(3.9)建立狀態(tài)方程: (3.13) (3.14)狀態(tài)方程中的參數(shù)由表3.1給出:表3.1一級倒立擺系統(tǒng)參數(shù)Table3.1SystemParametersofOneStageInvertedPendulum參數(shù)物理意義參數(shù)值小車相對初始位置的位移m擺桿與豎直向下位置的夾角radф擺桿與豎直向上位置的夾角radM小車質(zhì)量1.096kgm一級擺桿的質(zhì)量0.109kgL一級擺桿的長度0.50ml一級擺桿軸心到質(zhì)心的長度0.25mI一級擺桿慣量0.0034kgm2b小車動摩擦系數(shù)0.1N/m/sec將表格3.1的數(shù)據(jù)帶入式(3.13)得到以小車所受控制力為輸入的系統(tǒng)的輸入矩陣和控制矩陣:3.1.2線性兩級倒立擺系統(tǒng)數(shù)學模型同線性一級倒立擺系統(tǒng)一樣,為了簡化系統(tǒng)分析,在建模時忽略空氣阻力和倒擺系統(tǒng)中機構(gòu)間摩擦,并認為車擺系統(tǒng)為剛體,簡化的兩級倒立擺系統(tǒng)的物理模型如圖3.3所示CartCart伺服電機從動輪皮帶導軌二級擺桿一級擺桿質(zhì)量塊圖3.3直線兩級倒立擺物理模型Figure3TheMechanicalModelofLinearDoubleStageInvertedPendulum由圖3.3可以看到兩級倒立擺的物理結(jié)構(gòu)較一級倒立擺的要復雜,它是由沿導軌運動的小車和通過連軸器固定在小車上的擺桿組成。伺服電機內(nèi)帶有檢測小車位移的光電編碼器,小車與一級擺桿之間、一級擺桿與二級擺桿之間由連軸器連接,在連接處分別有兩個光電編碼器用來檢測一級和二級擺桿的角度。擺桿1和擺桿2可以繞各自的旋轉(zhuǎn)軸在水平導軌所在的鉛垂面內(nèi)自由轉(zhuǎn)動,小車在伺服電機的驅(qū)動下,在皮帶傳動的水平方向沿導軌左右運動,以確保在穩(wěn)擺控制階段使倒立擺穩(wěn)定在豎直向上的平衡位置,保持整個系統(tǒng)的動態(tài)平衡狀態(tài)。由于狀態(tài)變量的增加和約束條件的限制,兩級倒立擺的建模如果應(yīng)用牛頓力學法要比一級倒立擺的復雜的多,因而針對兩級倒立擺系統(tǒng)利用基于能量分析的Lagrange方法[37]建立其數(shù)學模型。建模時所涉及的系統(tǒng)參數(shù)如表3.2中所給出:表3.2兩級倒立擺系統(tǒng)參數(shù)Table3.2SystemParametersofDoubleInvertedPendulum參數(shù)意義參數(shù)值M小車質(zhì)量1.096kgm1擺桿1質(zhì)量0.05kgm2擺桿2質(zhì)量0.13kgm3質(zhì)量塊質(zhì)量0.295kgl1擺桿1中心到轉(zhuǎn)動中心的距離0.07575ml2擺桿2中心到轉(zhuǎn)動中心的距離0.25mθ1擺桿1與豎直方向的夾角Radθ2擺桿2與豎直分方向的夾角Radu倒立擺系統(tǒng)控制量Ng當?shù)刂亓铀俣?.8Nm/sec2Lagrange方程可表述為: (3.15)式(3.15)中,L為Lagrange算子,q為系統(tǒng)廣義坐標,T為系統(tǒng)的動能,V為系統(tǒng)的勢能。Lagrange方程由L和廣義坐標qi表示為 (3.16)式中,fi為系統(tǒng)在第i個廣義坐標上的外力,在二級倒立擺系統(tǒng)中,廣義坐標有3個,分別為。倒立擺系統(tǒng)動能為 (3.17)式中分別為小車的動能,擺桿1的動能,擺桿2的動能和質(zhì)量塊的動能。又小車的動能為 (3.18)而,分別為擺桿1的平動動能和轉(zhuǎn)動動能。,分別為擺桿2的平動動能和轉(zhuǎn)動動能。為了簡化書寫設(shè)以下變量:xpend1擺桿1質(zhì)心橫坐標;ypend1擺桿1質(zhì)心縱坐標xpend2擺桿2質(zhì)心橫坐標;ypend2擺桿2質(zhì)心縱坐標xmass質(zhì)量塊質(zhì)心橫坐標;ymass質(zhì)量塊質(zhì)心縱坐標在直角坐標系分析中有:,,則一級擺桿的平動動能和轉(zhuǎn)動動能是: (3.19)同理對于二級擺桿和質(zhì)量塊有 (3.20) (3.21)系統(tǒng)的總動能為: (3.22)而系統(tǒng)的勢能為: (3.23)結(jié)合公式(3.22)和(3.23)得到Lagrange算子:L=T-V。由于系統(tǒng)在廣義坐標下沒有外力的作用,因而有 (3.24)對于兩級倒立擺系統(tǒng),選取狀態(tài)變量,為求解系統(tǒng)的狀態(tài)空間表達 (3.25)進而要求解,根據(jù)式(3.24)為了簡化表達設(shè): (3.26)當系統(tǒng)處于豎直向上平衡位置附近時,可將式(3.26)進行泰勒級數(shù)展開,做近似線性化處理,并取。 (3.27)在式(3.27)中接著可以借助Matlab或Mathematics數(shù)學分析軟件,結(jié)合表3.2給出的系統(tǒng)參數(shù)解得:,,,,,,其余幾項均為0。最終得到系統(tǒng)的狀態(tài)方程表達為: (3.28) (3.29)3.2線性倒立擺系統(tǒng)定性分析在3.1節(jié)已經(jīng)得到一、二級倒立擺系統(tǒng)的數(shù)學模型,為了進一步明了系統(tǒng)的性質(zhì)、設(shè)計控制器,需要對系統(tǒng)的穩(wěn)定性、能控能觀測性進行分析。根據(jù)李亞普諾夫穩(wěn)定性理論,非線性系統(tǒng)在平衡點鄰域附近的穩(wěn)定性可以通過線性化后的模型來判定;一級、二級倒立擺在豎直向上平衡點為不穩(wěn)定平衡點,本設(shè)計要在倒立擺系統(tǒng)的近似線性化模型基礎(chǔ)上進行GA-LQR控制器的仿真調(diào)試,因此對系統(tǒng)的可控性分析尤為重要。3.2.1線性一級倒立擺系統(tǒng)定性分析1.穩(wěn)定性分析結(jié)合3.1.1節(jié)利用一級倒立擺特征方程,計算得到系統(tǒng)的開環(huán)特征根為。系統(tǒng)有一個極點在原點,一個極點在S平面的右半部,顯然系統(tǒng)是不穩(wěn)定的,需要設(shè)計控制器改善系統(tǒng)的穩(wěn)定性。2.能控性、能觀性分析借助線性控制理論的能控性和能觀性判據(jù)和Matlab矩陣分析工具有: (3.30)由式(3.30)知系統(tǒng)的狀態(tài)完全可控性矩陣的秩等于系統(tǒng)的狀態(tài)變量的維數(shù)、系統(tǒng)能觀測性矩陣滿秩,因此一級倒立擺系統(tǒng)是能控能觀測的。根據(jù)線控中的相對能控性判據(jù):線性定常連續(xù)系統(tǒng),矩陣A中的最小奇異值與最大奇異值之間的比值為系統(tǒng)的相對能控度,這里記作,越小表明能控難度系數(shù)越大。借助Matlab奇異矩陣分析:,解得,則一級倒立擺的相對能控度為。3.2.2線性二級倒立擺系統(tǒng)定性分析1.穩(wěn)定性分析結(jié)合式(3.28)計算,得到二級倒立擺的開環(huán)特征根為,系統(tǒng)有兩個極點在S平面原點,兩個極點在S平面右半平面,顯然系統(tǒng)不穩(wěn)定。2.能控性、能觀性分析對于兩級倒立擺有 (3.31)同樣兩級倒立擺是能控能觀測的。由解得A的一個普通奇異值分解為,則兩級倒立擺的相對能控度為,對比一級倒立擺的能控度,二級倒立擺的控制復雜度增加,進而設(shè)計使其穩(wěn)定的控制器難度也隨之增加。3.3本章小結(jié)本章分別借助牛頓力學分析法和Lagrange建模法建立了一級和二級倒立擺系統(tǒng)在平衡點附近的線性狀態(tài)方程。進而由得到的系統(tǒng)線性模型在線性控制理論的指導下,通過Matlab工具對系統(tǒng)的穩(wěn)定性、能控性和能觀測性進行分析,為后續(xù)的控制器設(shè)計給出理論可行性,并計算和對比一級和二級倒立擺系統(tǒng)的能控性難度。第四章基于GA-LQR算法的二級倒立擺系統(tǒng)穩(wěn)擺控制器設(shè)計線性二次型最優(yōu)調(diào)節(jié)器(LQR)的性能指標為狀態(tài)變量和控制變量的二次型函數(shù)。線性二次型的最優(yōu)解具有統(tǒng)一的解析表達式,可推導出一個簡單的線性狀態(tài)反饋控制規(guī)律,易于構(gòu)成閉環(huán)最優(yōu)反饋控制,便于實際工程控制地實現(xiàn)。對于LQR控制方案,其二次型性能指標中的權(quán)重矩陣的選取合適與否對控制效果有很大的影響。目前在進行LQR控制器設(shè)計時,性能指標中的權(quán)重矩陣Q和R的選取大部分依賴工程人員的操作經(jīng)驗及其對控制系統(tǒng)的熟悉情況通過試探法來確定。針對兩級倒立擺系統(tǒng),其線性數(shù)學模型是在豎直向上的平衡位置附近近似得到的,存在物理條件的限制,因而系統(tǒng)線性模型中的多個狀態(tài)變量是有約束條件的。對于多變量多約束條件的系統(tǒng),應(yīng)用試探法選擇合適的Q和R使二次型性能指標達到最小是非常困難的。針對LQR控制中權(quán)重參數(shù)難于確定的問題,本設(shè)計將遺傳算法應(yīng)用到LQR控制器設(shè)計中,借助遺傳算法的全局搜索優(yōu)化能力,確定權(quán)重矩陣Q和R。4.1GA-LQR控制算法4.1.1LQR控制原理線性二次型最優(yōu)控制(LQR)要求系統(tǒng)的狀態(tài)方程是線性的,指標函數(shù)是狀態(tài)變量和控制變量的二次型。線性二次型控制理論是反饋控制系統(tǒng)設(shè)計的指導工具,具有很鮮明的特點:(1)為變量反饋系統(tǒng)的設(shè)計提供了一種有效的分析方法;(2)適用于時變系統(tǒng);(3)可以處理擾動信號和測量噪聲問題;(4)可以處理有限和無限的時間區(qū)間問題。針對兩級倒立擺的狀態(tài)方程表達式(3.28)和(3.29),存在一個最優(yōu)狀態(tài)反饋控制規(guī)律:,使得性能指標[38]: (4.1)最小。在兩級倒立擺近似線性數(shù)學模型中X為6維狀態(tài)向量,u為1維的輸入向量,Y為3維的輸出向量。矩陣F調(diào)節(jié)控制過程的末態(tài)偏差;加權(quán)矩陣Q和R用來平衡狀態(tài)向量和輸入向量的權(quán)重,對系統(tǒng)的動態(tài)響應(yīng)性能影響很大。其中、,為半正定矩陣,為正定陣。同時考慮到系統(tǒng)運行時的實際情況,應(yīng)該用無限時間狀態(tài)調(diào)節(jié)器調(diào)節(jié)兩級倒立擺系統(tǒng),即在時間趨于無窮大時,系統(tǒng)的末態(tài)偏差為零,因而在式(4.1)中省去這一項,則系統(tǒng)性能評價指標簡化為: (4.2)如果系統(tǒng)受到外界干擾,應(yīng)該施加怎樣的控制量,可以使系統(tǒng)回到平衡狀態(tài)附近,并使指標J最小,此時的就為最優(yōu)控制。根據(jù)最優(yōu)控制理論,使式(4.2)最小時的控制規(guī)律為: (4.3)式(4.3)中矩陣P為下式Riccati方程的解,K是最終求得的最優(yōu)狀態(tài)反饋控制矩陣。Riccati方程為: (4.4)求解Riccati方程中的P后可以得到: (4.5)4.1.2GA-LQR穩(wěn)擺控制器設(shè)計在傳統(tǒng)的LQR控制中,根據(jù)公式(4.5)在求解最優(yōu)反饋陣K的過程中,指標公式(4.2)中的權(quán)重矩陣Q和R是工程人員通過反復試探確定的,要求工程人員對實際系統(tǒng)有充分的了解和豐富的操作經(jīng)驗,得到滿意的權(quán)重矩陣是一件費時費力的工作;同時在第三章中得到的倒立擺系統(tǒng)的數(shù)學模型是系統(tǒng)在平衡點鄰域附近內(nèi)的一種近似,系統(tǒng)機械設(shè)備存在一些物理條件的限制如擺體的長度等,即倒立擺系統(tǒng)狀態(tài)空間表達中的狀態(tài)變量具有很多的約束條件。針對多變量多約束條件的被控對象,獲得理想的權(quán)重矩陣Q和R以達到滿意的控制效果,因此通過傳統(tǒng)的試探方法設(shè)計的控制器其效率和可行性及實用性需要改進。針對這個問題,本設(shè)計利用第二章論述的改進的自適應(yīng)遺傳算法搜索LQR控制的權(quán)重參數(shù),首先建立二級倒立擺的GA-LQR穩(wěn)擺控制器,而一級倒立擺系統(tǒng)的GA-LQR穩(wěn)擺控制器則完全應(yīng)用類似的思路。GA-LQR控制原理框圖如圖4.1所示:u(t)u(t)遺傳算法尋優(yōu)解Riccati矩陣方程解碼-K倒立擺近似線性系統(tǒng)輸出YN迭代結(jié)束?X(t)圖4.1GA-LQR控制器原理圖Figure4.1GA-LQRControllerSchematic其中GA尋優(yōu)LQR參數(shù)的算法流程圖則在4.2中給出:待優(yōu)化參數(shù)待優(yōu)化參數(shù)Q和R編碼產(chǎn)生初始種群計算適應(yīng)度函數(shù)值gen=0選擇重組變異計算子代適應(yīng)度函數(shù)值子代重插入達到最大迭代次數(shù)?優(yōu)化后的Q和Rgen=gen+1YN圖4.2GA-LQR算法流程圖Figure4.2TheFlowChartofGA-LQRAlgorithm針對線性兩級倒立擺系統(tǒng)GA-LQR算法流程圖,GA-LQR算法的具體實現(xiàn)步驟為:(1)參數(shù)編碼。根據(jù)LQR原理,選取矩陣Q和R為實對角陣對狀態(tài)變量和輸入變量進行加權(quán)。由于兩級倒立擺系統(tǒng)的輸入向量和輸出向量分別是一維的一個實數(shù)和六維的實數(shù),進而需要優(yōu)化的Q和R是6×6的對角陣和一個只有一個實向量的實數(shù)陣。理論上待優(yōu)化參數(shù)可以取到零到正無窮大之間的任意實數(shù),然而兩級倒立擺系統(tǒng)對控制精度的要求很高,實際控制系統(tǒng)的狀態(tài)變量存在約束條件,當Q和R的取值過小時能量不足不能保證系統(tǒng)可以達到平衡,取值太大系統(tǒng)會運行時抖動嚴重,導致系統(tǒng)震蕩而發(fā)散。而浮點數(shù)編碼對于處理高精度問題和具有復雜決策變量約束條件的問題具有顯著優(yōu)勢,其輸出結(jié)果即為待優(yōu)化參數(shù)的實際值,不需要經(jīng)過解碼運算,計算效率對比二進制編碼有明顯的改進。因而本文選擇浮點數(shù)編碼即實數(shù)編碼,采用實數(shù)編碼時個體的每個基因值用某一范圍內(nèi)的實數(shù)表示,個體碼串的長度等于待優(yōu)化的決策變量的個數(shù),針對本文則碼串長度取為7。(2)初始化種群。理論上對于非線性越高的系統(tǒng),初始種群的規(guī)模應(yīng)選擇的越大些,兼顧考慮計算量和優(yōu)化效率問題選取初始種群規(guī)模為60。(3)適應(yīng)度函數(shù)設(shè)計。在遺傳算法設(shè)計環(huán)節(jié),適應(yīng)度函數(shù)的設(shè)計非常關(guān)鍵,算法選擇操作環(huán)節(jié),適應(yīng)度大的個體被選中作為父代的概率大,因此本設(shè)計選取LQR原理的性能指標式(4.2)作為目標函數(shù),取式(4.2)的倒數(shù)為適應(yīng)度函數(shù): (4.6)根據(jù)式(4.6)如果求的最大值,即求的最小值,只要使式(4.2)中的積分項內(nèi)部的每一項最小即可,那么可以進一步簡化適應(yīng)度函數(shù)為積分項內(nèi)部表達式的倒數(shù)即可,事實上式(4.2)積分項內(nèi)部的值是非負的增函數(shù),因此做這樣的簡化是完全合理的。至此得到適應(yīng)度函數(shù)的完整表達為: (4.7)式中,。根據(jù)工程實踐,當權(quán)重矩陣Q中的各項參數(shù)在允許范圍內(nèi)適當取的大一點,而矩陣R的參數(shù)取值適當小一些會增強系統(tǒng)的魯棒性,減小系統(tǒng)的調(diào)節(jié)時間,針對二級倒立擺系各變量的取值范圍為:,,,。(4)遺傳操作。本設(shè)計采用隨機遍歷抽樣選擇方法,多點交叉和均勻變異的遺傳算子,為了防止遺傳算法的早熟和無法收斂的問題出現(xiàn),采用自適應(yīng)的交叉概率和變異概率,將進化過程分為漸進和突變兩個不同的階段:漸進階段強交叉,弱變異,強化優(yōu)勢選擇型算子;突變階段弱交叉,強變異,弱化優(yōu)勢選擇算子。在經(jīng)過遺傳操作后,要進行子代重插入,由于算法中引入精英策略的概念,新舊種群之間存在代溝,每一代產(chǎn)生的新個體數(shù)少于原始種群,需要重插入來保持原始種群規(guī)模。應(yīng)用這種策略突出優(yōu)點在于提高算法的效率和優(yōu)化精度。(5)終止條件。選取終止條件為最大迭代次數(shù)100,滿足終止條件后,算法結(jié)束,輸出最優(yōu)解Q和R的值。遺傳算法初始種群和優(yōu)化過程中的波形輸出分別如圖4.3和圖4.4所示:圖4.3遺傳算法初始種群分布Figure4.3TheInitialPopulationDistributionofGA a經(jīng)過20代迭代的優(yōu)化解b經(jīng)過60代迭代的優(yōu)化解 c經(jīng)過80代迭代的優(yōu)化解d經(jīng)過100代迭代的優(yōu)化解圖4.4遺傳算法優(yōu)化過程的輸出解Figure4.4TheOutputSolutionsofGAOptimizationProcess迭代終止后,4.4(d)尋優(yōu)結(jié)果對應(yīng)的權(quán)重矩陣Q和R分別是:,,接著求解Riccati方程進而得到系統(tǒng)的最優(yōu)反饋矩陣:。至此可以根據(jù)圖4.1原理設(shè)計GA-LQR控制器對兩級倒立擺系統(tǒng)進行控制?;贕A-LQR控制器的二級倒立擺系統(tǒng)仿真控制框圖如4.5所示:

aGA-LQR控制器內(nèi)部結(jié)構(gòu)bGA-LQR控制器參數(shù)圖4.5基于GA-LQR的兩級倒立擺系統(tǒng)仿真框圖Figure4.5TheDoubleStageIPSimulationDiagramBasedonGA-LQR4.2Matlab/GUI環(huán)境下二級倒立擺控制系統(tǒng)仿真4.2.1基于Matlab/GUI二級倒立擺系統(tǒng)仿真圖形界面開發(fā)為了得到控制效果卓越的控制器,則在控制器用于實時控制之前需要大量的仿真實驗和相關(guān)參數(shù)的反復調(diào)試。尤其是在應(yīng)用Matlab7.0以上的版本時,在512M內(nèi)存的處理器上反復地運行Matlab程序進行二級倒立擺系統(tǒng)控制效果仿真是耗計算機系統(tǒng)資源和費時的工作,進而可以應(yīng)用可發(fā)布的Matab/GUI圖形界面,后臺調(diào)用系統(tǒng)仿真模型進行各項參數(shù)調(diào)試,觀看仿真結(jié)果,獲得仿真效果優(yōu)越的控制器,為后續(xù)系統(tǒng)的實時控制做好充分的準備。而Matlab為用戶開發(fā)圖形界面提供了一個方便高效的集成環(huán)境:Matlab圖形界面開發(fā)環(huán)境GUIDE(Matlab’sGraphicalUserInterfaceDevelopmentEnviroment)[39]。借助GUIDE可以方便地實現(xiàn)對二級倒立擺系統(tǒng)仿真模型的調(diào)試。GUIDE主要是一個界面設(shè)計工具集,Matlab將所有GUI支持的用戶控件都集成在這個環(huán)境中并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法。GUIDE將用戶保存設(shè)計好的GUI界面保存在一個fig資源中,同時能夠生成包含GUI初始化和組件界面布局控制代碼的M文件。該M文件為實現(xiàn)回調(diào)函數(shù)(當用戶激活GUI某一組件時執(zhí)行的函數(shù))提供了一個框架。當然用戶也可以使用M文件腳本真正實現(xiàn)動態(tài)的GUI,但是使用GUIDE的創(chuàng)建效率會更高。使用GUIDE可以交互式地進行組件界面布局,同時能夠生成兩個用來保存和發(fā)布GUI的文件:(1)fig文件。該文件包含GUI圖形窗口及其所有后裔的完全描述及其所有對象的屬性值,fig文件是一個二進制文件,fig文件最最突出的用處之一是對對象句柄的保存和引用。(2)M文件。該文件包含GUI設(shè)計、控制函數(shù)以及定義為子函數(shù)的用戶控件回調(diào)函數(shù),用于控制GUI調(diào)用時的各種特征。該M文件分為GUI初始化和回調(diào)函數(shù)兩部分,用戶控件的回調(diào)函數(shù)根據(jù)用戶與GUI的交互分別調(diào)用。GUIDE可以根據(jù)用戶GUI界面的設(shè)計過程直接自動生成上述M文件框架,簡化了GUI應(yīng)用程序的創(chuàng)建工作,直接應(yīng)用這個框架來編寫自己的函數(shù)代碼具有諸多優(yōu)點:(1)應(yīng)用程序M文件已經(jīng)包含實現(xiàn)一些有用的函數(shù)編寫代碼,不需要用戶自己編寫。(2)可以使用該M文件生成的有效方法來管理圖形對象句柄并執(zhí)行回調(diào)函數(shù)子程序。(3)提供管理全局數(shù)據(jù)的途徑(4)M文件支持自動插入回調(diào)函數(shù)的原型,確保當前GUI與未來發(fā)布版本的兼容性。要實現(xiàn)一個完整的GUI主要完成兩項工作:GUI界面設(shè)計和GUI組件編程。實現(xiàn)GUI的具體過程則是:(1)通過設(shè)置GUIDE應(yīng)用程序選項來進行GUIDE組態(tài)。(2)使用界面設(shè)計編程器進行GUI界面設(shè)計。(3)理解引用程序M文件中所使用的編程技術(shù)。(4)編寫用戶GUI組件行為響應(yīng)控制(回調(diào)函數(shù))代碼。針對兩級倒立擺系統(tǒng)仿真所設(shè)計的GUI組態(tài)界面如圖4.6所示:圖4.6兩級倒立擺仿真組態(tài)畫面Figure4.6TheConfigurationInterfaceofDoublestageIPSimulationSystem針對該組態(tài)界面所生成的可執(zhí)行GUI界面如圖4.7所示:圖4.7兩級倒立擺系統(tǒng)仿真圖形界面Figure4.7TheGUIofDoubleStageIPSimulationSystem4.2.2基于GA-LQR穩(wěn)擺控制的二級倒立擺系統(tǒng)仿真接著借助GUI分析GA-LQR控制算法的仿真可行性,給出的仿真參數(shù)是4.1節(jié)通過GA尋優(yōu)得到的Q和R參數(shù):,,在該組Q和R參數(shù)下所得到的系統(tǒng)最優(yōu)反饋陣:。同時為了同單純的LQR控制作對比,給出通過經(jīng)驗反復試探法確定的一組Q和R參數(shù)。聯(lián)系實際的倒立擺系統(tǒng),水平擺體長度約為720cm,是厘米的數(shù)量級,而在兩級倒立擺系統(tǒng)的閉環(huán)控制中,采樣后的狀態(tài)數(shù)據(jù):,是標準化的國際單位,所以在應(yīng)用試探法確定權(quán)重矩陣Q和R時,對角陣Q對角線位置的前三個權(quán)重系數(shù)與后三個系數(shù)之間存在約數(shù)量級的差距;考慮半正定矩陣和正定矩陣中各個元素需均為正整數(shù),理論上是,不妨首先設(shè),,在人為確定參數(shù)的過程中設(shè)計者自己擬定調(diào)節(jié)步長比如10(指每次給對角位置上的元素增加或減少10),經(jīng)過不斷的仿真調(diào)試而確定一組比較滿意的Q和R。本設(shè)計中經(jīng)過試探得到仿真效果較好的一組權(quán)重參數(shù)是,,對應(yīng)該組權(quán)重參數(shù)下所得到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論