2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于單純形法的PID參數(shù)優(yōu)化設(shè)計(jì)</p><p><b>  摘要</b></p><p>  PID參數(shù)整定是自動(dòng)控制領(lǐng)域研究的重要內(nèi)容,PID參數(shù)的最優(yōu)性決定了控制的穩(wěn)定性和快速性,也可保證系統(tǒng)的可靠性。傳統(tǒng)的PID參數(shù)多采用試驗(yàn)加試湊的方式由人工進(jìn)行優(yōu)化,往往費(fèi)時(shí)并且難以滿足控制的實(shí)時(shí)要求。為了解決PID參數(shù)的優(yōu)化問(wèn)題,采用單純形法對(duì)PID

2、參數(shù)尋優(yōu),以獲得滿意的控制效果。</p><p>  本文介紹了單純形法的基本原理,并針對(duì)單純形法在PID參數(shù)尋優(yōu)中存在的問(wèn)題進(jìn)行了分析,并對(duì)其進(jìn)行了實(shí)驗(yàn)仿真。結(jié)果表明,用單純形法整定PID參數(shù),可以提高優(yōu)化性能,對(duì)控制系統(tǒng)具有較好的控制精度、動(dòng)態(tài)性能。</p><p>  關(guān)鍵詞:PID控制器 單純形法 PID整定</p><p><b>  一、綜述&

3、lt;/b></p><p><b>  1.1選題背景</b></p><p>  PID調(diào)節(jié)器是最早發(fā)展起來(lái)的控制策略之一,因?yàn)樗婕暗脑O(shè)計(jì)算法和控制結(jié)構(gòu)都是簡(jiǎn)單的,并且十分適用于工程應(yīng)用背景,此外PID控制方案并不要求精確的受控對(duì)象的數(shù)學(xué)模型,且采用PID控制的控制效果一般是比較令人滿意的,所以在工業(yè)實(shí)際應(yīng)用中,PID調(diào)節(jié)器是應(yīng)用最為廣泛的一種控制策略,

4、也是歷史最久、生命力最強(qiáng)的基本控制方式。調(diào)查結(jié)果表明在當(dāng)今使用的控制方式中,PID型占84.5%,優(yōu)化PID型占6.8%,現(xiàn)代控制型占有1.5%,手動(dòng)控制型6.6%,人工智能(AI)型占0. 6%。如果把PID型和優(yōu)化PID型二者加起來(lái)則占90%以上,這說(shuō)明PID控制方式占絕大多數(shù),如果把手動(dòng)控制型再與上述兩種加在一起,則占97. 5%,這說(shuō)明古典控制占絕大多數(shù)。就連科學(xué)技術(shù)高度發(fā)達(dá)的日本,PID控制的使用率也高達(dá)84.%。</p

5、><p>  這是由于理論分析及實(shí)際運(yùn)行經(jīng)驗(yàn)已經(jīng)證明了PID調(diào)節(jié)器對(duì)于相當(dāng)多的工業(yè)過(guò)程能夠起到較為滿足的控制效果。它結(jié)構(gòu)簡(jiǎn)單、適用面廣、魯棒性強(qiáng)、參數(shù)易于調(diào)整、在實(shí)際中容易被理解和實(shí)現(xiàn)、在長(zhǎng)期應(yīng)用中已積累了豐富的經(jīng)驗(yàn)。特別在工業(yè)過(guò)程中,由于控制對(duì)象的精確數(shù)學(xué)模型難以建立,系統(tǒng)的參數(shù)又經(jīng)常發(fā)生變化,運(yùn)用現(xiàn)代控制理論分析綜合要耗費(fèi)很大的代價(jià)進(jìn)行模型辨識(shí),但往往不能達(dá)到預(yù)期的效果,所以不論常規(guī)調(diào)節(jié)儀表還是數(shù)字智能儀表都廣泛

6、采用這種調(diào)節(jié)方式。正是PID控制算法具有以上多種優(yōu)點(diǎn),所以這種算法仍將在現(xiàn)場(chǎng)控制中居于主導(dǎo)地位</p><p>  隨著現(xiàn)代控制理論的建立和不斷發(fā)展完善,對(duì)過(guò)程控制提出了新的方法和思路,同日寸也由于生產(chǎn)工藝不斷地改進(jìn)提高,對(duì)過(guò)程控制也提出了高要求??蒲腥藛T在不斷探索新方法的同時(shí),也對(duì)傳統(tǒng)的PID控制的改進(jìn)做了大量的研究。因?yàn)镻ID控制有其固有的優(yōu)點(diǎn),使得PID控制在今后仍會(huì)大量使用,如何進(jìn)一步提高PID控制算法的

7、能力或者依據(jù)新的現(xiàn)代控制理論來(lái)設(shè)計(jì)PID控制算法是一個(gè)非常吸引人的課題。科研人員在這一領(lǐng)域做的工作主要有以下兩方面。</p><p> ?、?PID參數(shù)自整定。由于受控對(duì)象存在著大量不可知因素,如隨機(jī)擾動(dòng)、系統(tǒng)時(shí)變、敏感誤差等,這些不可知因素的作用常會(huì)導(dǎo)致受控對(duì)象參數(shù)的改變。在一個(gè)PID反饋控制回路中,受控對(duì)象參數(shù)的變化就會(huì)造成原來(lái)的PID參數(shù)控制性能的降低,為了克服這個(gè)問(wèn)題人們提出了PID參數(shù)自整定,也就是隨著

8、受控對(duì)象的變化PID調(diào)節(jié)器自我調(diào)整和重新設(shè)定PID參數(shù),科研人員根據(jù)古典控制理論和現(xiàn)代控制理論提出了許多種PID參數(shù)的在線自整定的方法。至今仍有人在這方面繼續(xù)作研究。PID參數(shù)在線自整定方法比較典型的有改進(jìn)型Ziegler-Nichols臨界比例度法、基于過(guò)程模型辨識(shí)的參數(shù)自整定、基于經(jīng)驗(yàn)的專家法參數(shù)自整定、模糊型PID調(diào)節(jié)器等。</p><p> ?、?PID參數(shù)優(yōu)化。PID參數(shù)優(yōu)化是指依據(jù)一定的控制目標(biāo)和給定

9、的生產(chǎn)過(guò)程的模型通過(guò)理論計(jì)算得到最優(yōu)的PID參數(shù),PID參數(shù)優(yōu)化在PID控制應(yīng)用之初人們就開始作了大量研究工作,已經(jīng)提出了許多種方法,如粒子群優(yōu)化算法,免疫算法,單純形法,差分進(jìn)化算法,神經(jīng)網(wǎng)絡(luò)算法,遺傳算法等。 </p><p>  本文就是應(yīng)用單純性算法對(duì)二階對(duì)象的PID控制器參數(shù)優(yōu)化,使系統(tǒng)進(jìn)行具有更好的性能。</p><p>  1.2 PID參數(shù)優(yōu)化方法綜述</p>

10、<p>  1.2.1 Ziegler-Nichols設(shè)定方法</p><p>  Ziegler與Nichols(1942)提出了調(diào)節(jié)PID控制器的參數(shù)的經(jīng)驗(yàn)公式,這一調(diào)節(jié)器可根據(jù)帶有時(shí)滯環(huán)節(jié)的一階近似模型的階躍響應(yīng)或頻率響應(yīng)數(shù)據(jù)來(lái)設(shè)定。假設(shè)對(duì)象模型為</p><p>  根據(jù)對(duì)象參數(shù)K、T、和可以由經(jīng)驗(yàn)公式求取控制器的參數(shù)。</p><p>  1.

11、2.2臨界比例度法</p><p>  當(dāng)已系統(tǒng)的臨界比例增益和振蕩周期時(shí),也可以用經(jīng)驗(yàn)整定公式來(lái)確定PID控制器的參數(shù),例如:</p><p>  以上兩種傳統(tǒng)方法都是根據(jù)大量的實(shí)驗(yàn)計(jì)算或?qū)嶋H工程經(jīng)驗(yàn)所得到的數(shù)據(jù)整理匯總所得到的公式而得來(lái)的,在實(shí)際的工程應(yīng)用中有很大的弊端。</p><p>  1.2.3 單純形法</p><p>  單純

12、形是美國(guó)數(shù)學(xué)家G.B.丹齊克于1947年首先提出來(lái)的。它的理論根據(jù)是:線性規(guī)劃問(wèn)題的可行域是n維向量空間Rn中的多面凸集,其最優(yōu)值如果存在必在該凸集的某頂點(diǎn)處達(dá)到。單純形法的基本思想是:先找出一個(gè)基本可行解,對(duì)它進(jìn)行鑒別,看是否是最優(yōu)解;若不是,則按照一定法則轉(zhuǎn)換到另一改進(jìn)的基本可行解,再鑒別;若仍不是,則再轉(zhuǎn)換,按此重復(fù)進(jìn)行。因基本可行解的個(gè)數(shù)有限,故經(jīng)有限次轉(zhuǎn)換必能得出問(wèn)題的最優(yōu)解。如果問(wèn)題無(wú)最優(yōu)解也可用此法判別。</p>

13、;<p>  單純形法具有初值敏感性。在初始條件選擇不當(dāng)?shù)那闆r下,單純形法無(wú)法尋找到合適的參數(shù),控制目標(biāo)無(wú)法滿足要求。同時(shí)單純形法難以解決多值函數(shù)最優(yōu)化問(wèn)題。在多參數(shù)尋優(yōu)(如串級(jí)系統(tǒng))問(wèn)題中,容易造成尋優(yōu)失敗或時(shí)間過(guò)長(zhǎng)。</p><p>  1.2.4 粒子群優(yōu)化算法</p><p>  粒子群優(yōu)化(Particle Swarm Optimization - PSO) 算法是

14、近年來(lái)發(fā)展起來(lái)的一種新的進(jìn)化算法( Evolutionary Algorithm - EA) 。PSO 算法屬于進(jìn)化算法的一種,和遺傳算法相似,它也是從隨機(jī)解出發(fā),通過(guò)迭代尋找最優(yōu)解,它也是通過(guò)適應(yīng)度來(lái)評(píng)價(jià)解的品質(zhì)。但是它比遺傳算法規(guī)則更為簡(jiǎn)單,它沒(méi)有遺傳算法的“交叉”(Crossover) 和“變異”(Mutation) 操作。它通過(guò)追隨當(dāng)前搜索到的最優(yōu)值來(lái)尋找全局最優(yōu)。</p><p>  1.2.5 差分進(jìn)

15、化算法</p><p>  差分進(jìn)化(DE)算法是一種采用浮點(diǎn)矢量編碼的在連續(xù)空間中進(jìn)行隨機(jī)搜索的優(yōu)化算法。在差分進(jìn)化算法中,首先由父代個(gè)體間的差分矢量構(gòu)成變異算子;接著按一定的概率,父代個(gè)體與變異個(gè)體之間進(jìn)行交叉操作,生成一個(gè)試驗(yàn)個(gè)體;然后在父代個(gè)體和試驗(yàn)個(gè)體之間根據(jù)適應(yīng)度的大小進(jìn)行選擇操作,適應(yīng)度大的保存到下一代群體中去。</p><p>  1.2.6 神經(jīng)網(wǎng)絡(luò)法</p>

16、<p>  常規(guī)的PID參數(shù)優(yōu)化方法中,直接基于目標(biāo)函數(shù)的單純形法等優(yōu)化方法是最常用的方法,這是因?yàn)樵诠I(yè)控制中很多被控對(duì)象的模型難以用精確的數(shù)學(xué)模型描述,即使在某一工況下,被控對(duì)象可以用數(shù)學(xué)模型描述,但在運(yùn)行過(guò)程中,對(duì)象的特性一旦發(fā)生變化,這一確定的模型便不再適用。而神經(jīng)網(wǎng)絡(luò)的引人則在一定程度上解決和改善了這一問(wèn)題。在基于神經(jīng)網(wǎng)絡(luò)的PID參數(shù)優(yōu)化方法中,神經(jīng)網(wǎng)絡(luò)一般與被控對(duì)象并列,作為一個(gè)神經(jīng)網(wǎng)絡(luò)的辨識(shí)器。</p&

17、gt;<p>  在網(wǎng)絡(luò)經(jīng)過(guò)學(xué)習(xí)后,神經(jīng)網(wǎng)絡(luò)辨識(shí)器的輸出便可以很好地跟蹤被控對(duì)象的輸出。由于神經(jīng)網(wǎng)絡(luò)辨識(shí)器具有確定的結(jié)構(gòu),學(xué)習(xí)之后,其連接權(quán)及各節(jié)點(diǎn)的鬧值都有確定的數(shù)值。這時(shí),該神經(jīng)網(wǎng)絡(luò)辨識(shí)器的結(jié)構(gòu)就可以作為被控對(duì)象結(jié)構(gòu)的一個(gè)近似。用神經(jīng)網(wǎng)絡(luò)辨識(shí)器輸出與輸人的傳遞函數(shù)模型來(lái)近似地代替被控對(duì)象的模型,進(jìn)而用梯度下降法,擬牛頓法優(yōu)化出PID參數(shù)。</p><p>  1.3 本論文主要工作</p&

18、gt;<p>  本論文的主要工作是研究利用單純形法對(duì)二階系統(tǒng)的PID控制器參數(shù)進(jìn)行優(yōu)化,并且使用Matlab對(duì)控制系統(tǒng)進(jìn)行仿真。 </p><p>  首先,對(duì)單純形法進(jìn)行了介紹,包括單純形的概念,單純形算法的基本原理;其次,以二階系統(tǒng)為模型,利用單純形法對(duì)其PID控制器參數(shù)進(jìn)行優(yōu)化,最后利用 Matlab對(duì)優(yōu)化后控制系統(tǒng)進(jìn)行仿真研究。</p><p><b&g

19、t;  二、單純形算法</b></p><p>  2.1 單純形算法簡(jiǎn)介</p><p>  最優(yōu)化方法按照搜索機(jī)制的不同,具體可以分為兩類:一類是解析算法,一類是直接法。解析法是最優(yōu)化問(wèn)題的經(jīng)典算法,但是必須求解目標(biāo)函數(shù)的導(dǎo)數(shù)。這時(shí),就應(yīng)該放棄求梯度的方法,而采用直接法。直接法主要是在迭代過(guò)程中直接比較目標(biāo)函數(shù)值的大小,再根據(jù)一定的收斂終止條件,獲得最優(yōu)解。它的基本思想及迭

20、代過(guò)程,直觀易懂,易于為工程技術(shù)人員接受,但是它并未利用目標(biāo)函數(shù)的性質(zhì)及其解析性質(zhì),故收斂速度較慢。適合用于處理低維問(wèn)題。</p><p>  單純形是美國(guó)數(shù)學(xué)家家G.B.丹齊克于1947年首先提出來(lái)的。它的理論根據(jù)是:線性規(guī)劃問(wèn)題的可行域是n維向量空間Rn中的多面凸集,其最優(yōu)值如果存在必在該凸集的某頂點(diǎn)處達(dá)到。單純形法的基本過(guò)程是:先找出一個(gè)基本可行解,對(duì)它進(jìn)行鑒別,看是否是最優(yōu)解;若不是,則按照一定法則轉(zhuǎn)換到

21、另一改進(jìn)的基本可行解,再鑒別;若仍不是,則再轉(zhuǎn)換,按此重復(fù)進(jìn)行。因基本可行解的個(gè)數(shù)有限,故經(jīng)有限次轉(zhuǎn)換必能得出問(wèn)題的最優(yōu)解。如果問(wèn)題無(wú)最優(yōu)解也可用此法判別。</p><p>  2.2 單純形基本思想</p><p>  單純形尋優(yōu)算法的基本思想是:對(duì)于非線性模型中的n個(gè)待估參數(shù),以n+1個(gè)頂點(diǎn)構(gòu)成最簡(jiǎn)單的圖形,并對(duì)n+1個(gè)頂點(diǎn)的目標(biāo)函數(shù)值進(jìn)行比較,從結(jié)果來(lái)判斷其變化的大致趨勢(shì),并作為下一

22、步實(shí)驗(yàn)的參考,再利用一定的換點(diǎn)原則,使單純形想最優(yōu)點(diǎn)區(qū)域推進(jìn)。</p><p>  從這一點(diǎn)來(lái)說(shuō),單純形算法也是一種實(shí)驗(yàn)最優(yōu)化算法,純粹從實(shí)驗(yàn)的角度來(lái)尋找最優(yōu)目標(biāo)。在每次迭代時(shí),利用已有的單純形去尋找一個(gè)函數(shù)值更小的點(diǎn),如果得到這樣的一個(gè)更好的店,則用這個(gè)新點(diǎn)作為一個(gè)頂點(diǎn)構(gòu)造新的單純形。否則的話,將已有單純形縮小重復(fù)迭代。</p><p>  2.3 單純形算法流程</p>

23、<p>  Step1:選取一組初始單純形頂點(diǎn)以及投影系數(shù)、放大系數(shù)和收縮系數(shù)。</p><p>  Step2:計(jì)算各個(gè)頂點(diǎn)的目標(biāo)函數(shù)值,找出目標(biāo)函數(shù)最大值點(diǎn)和最小值點(diǎn)。</p><p>  Step3:計(jì)算投影中心點(diǎn),根據(jù)投影系數(shù)確定投影點(diǎn)。</p><p>  Step4:如果,利用代替并形成一個(gè)新的單純形,返回step2。</p>&

24、lt;p>  Step5:放大單純形。令,如果,則放大成功,用代替并形成一個(gè)新的單純形,如果,則放大失敗,仍然用代替返回step2,繼續(xù)投影過(guò)程。</p><p>  Step6:收縮單純形。如果對(duì)于除外的所有點(diǎn),都有以及,則用代替并對(duì)單純形縮?。?。如果仍然縮小單純形,但不改變先前的背投影點(diǎn);如果,則用來(lái)代替原來(lái)的被投影點(diǎn),再繼續(xù)進(jìn)行投影過(guò)程;如果,則該收縮過(guò)程失敗,此時(shí)用來(lái)代替所有的,然后繼續(xù)進(jìn)行投影過(guò)程

25、。</p><p>  Step7:如果定點(diǎn)的相對(duì)誤差滿足給定的精度要求,則停止迭代,當(dāng)前單純性的形心即為最優(yōu)點(diǎn)。</p><p>  2.4 單純形算法的優(yōu)缺點(diǎn)</p><p>  單純形算法的優(yōu)點(diǎn)是不用求待求函數(shù)的一次倒數(shù)矩陣和海森矩陣,不用進(jìn)行復(fù)雜的矩陣運(yùn)算,占用內(nèi)存小,計(jì)算工作量小,對(duì)初值的要求不嚴(yán)格,對(duì)于大型復(fù)雜的函數(shù)求機(jī)制,不會(huì)出現(xiàn)收斂性能不穩(wěn)定的現(xiàn)象。

26、但是非線性規(guī)劃單純形算法也有很多的缺點(diǎn),如單純形算法的迭代次數(shù)太多,收斂速度緩慢,在迭代過(guò)程中有時(shí)會(huì)出現(xiàn)單純形退化現(xiàn)象等,這些缺點(diǎn)嚴(yán)重影響了飛仙線性規(guī)劃單純形算法的使用。</p><p>  單純形法并沒(méi)有很好地理論性質(zhì),即使收斂,收斂也是線性的。但它具有簡(jiǎn)單使用的有點(diǎn),計(jì)算表明單純形方法十分可靠,特別低,它能處理函數(shù)值變化劇烈的函數(shù)。</p><p>  本算法上機(jī)占用內(nèi)存很少,對(duì)變量不

27、多且精度要求不高的問(wèn)題此法很方便,但當(dāng)變量個(gè)數(shù)多于十個(gè)以上,此法就顯得不十分有效。</p><p>  三、二階系統(tǒng)PID控制器參數(shù)整定過(guò)程</p><p>  3.1 連續(xù)對(duì)象離散化</p><p>  由于工業(yè)領(lǐng)域中的被控對(duì)象一般為一階或二階環(huán)節(jié),因此,在本文里我們擬定受控對(duì)象的傳遞函數(shù)為如下:</p><p>  其中采樣時(shí)間為1s。&

28、lt;/p><p>  利用零階保持器法將化成如下:</p><p>  由于,控制量與之間的差分方程在程序可以如下實(shí)現(xiàn):</p><p>  3.2 PID控制器離散化</p><p>  理想模擬PID控制器的傳遞函數(shù)為:</p><p>  采用后向差分將上式離散化,得:</p><p>  

29、增量式PID的后向差分方程為:</p><p><b>  3.3 性能指標(biāo)</b></p><p>  采用如下二次型性能指標(biāo)函數(shù):</p><p>  其中為常數(shù),取值范圍為。利用單純形法不斷計(jì)算目標(biāo)函數(shù)值,從而得到最優(yōu)的PID控制器的參數(shù)。</p><p>  3.4 實(shí)驗(yàn)結(jié)果分析</p><p

30、>  對(duì)象原階躍響應(yīng)圖如下:</p><p>  在程序中PID參數(shù)初始值選擇為:kp = 1,ki = 0.8, kd = 0.8;</p><p>  通過(guò)在MATLAB中調(diào)用程序整定PID控制器參數(shù)后,系統(tǒng)的階躍響應(yīng)圖如下;</p><p>  由系統(tǒng)階躍響應(yīng)圖可以看出,通過(guò)整定后系統(tǒng)的靜態(tài)指標(biāo)和動(dòng)態(tài)指標(biāo)都達(dá)到了要求,這說(shuō)明采用單純形法整定PID參數(shù)是正

31、確的、可行的。</p><p>  在單純形法程序中,選擇各個(gè)頂點(diǎn)與單純形的中心點(diǎn)的函數(shù)值的差值的平方和作為誤差,誤差限,整定過(guò)程中誤差收斂曲線如下:</p><p>  從誤差收斂曲線可以看出,單純形雖然最終誤差收斂到接近于0,但是中間卻出現(xiàn)比較大的峰值變化,這說(shuō)明在峰值變化出,單純形法陷入了不利的條件,這是由于單純形法對(duì)初值的敏感性所產(chǎn)生的。</p><p> 

32、 性能指標(biāo)的收斂曲線如下:</p><p>  從二次型性能指標(biāo)的收斂曲線可以看出,在單純形法的迭代過(guò)程中,目標(biāo)函數(shù)值是一直減小的,這說(shuō)明單純形法收斂速度雖然慢,但是目標(biāo)函數(shù)值是在降低的,解是在向最優(yōu)解靠近的。所以用單純形法整定PID參數(shù)是可行的。</p><p><b>  四、總結(jié)</b></p><p>  PID控制器結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn)

33、,且魯棒性好,因此廣泛應(yīng)用于各種控制領(lǐng)域,并取得了良好的控制效果。單純形算法是比較簡(jiǎn)單的算法之一,它過(guò)程簡(jiǎn)單易懂,在不需要考慮目標(biāo)函數(shù)值性質(zhì)的情況下就能找到問(wèn)題的最優(yōu)解。本文將單純形算法和PID控制結(jié)合起來(lái)應(yīng)用于二階系統(tǒng)的整定過(guò)程,利用單純形算法來(lái)整定PID控制中的三個(gè)參數(shù)(Kp,Ki,Kd),取得了滿意的效果。單純形算法算法運(yùn)用于PID的參數(shù)整定,就可以克服常規(guī)PID整定方法的缺點(diǎn),使要整定的參數(shù)精確收斂,從而使控制效果最優(yōu)。<

34、/p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張磊,于單純形法PID控制器的最優(yōu)設(shè)計(jì)[J].信息與控制2004,33(3):55-60.</p><p>  [2] 劉曉謙,王勇,穆順勇.基于單純形法的PID控制器參數(shù)優(yōu)化設(shè)計(jì)[J].2004,21(11):163-168.</p><p>  [3

35、] 李勇,段正澄,胡倫驥.基于粒子群優(yōu)化算法的液壓伺服控制系統(tǒng)PID參數(shù)優(yōu)化[D].華中科技大學(xué).湖北武漢2007.</p><p>  [4] 周劉喜,張興華,李緯. 基于差分進(jìn)化算法的PID優(yōu)化設(shè)計(jì)[D]. 南京工業(yè)大學(xué)自動(dòng)化學(xué)院,江蘇南京2000.</p><p>  [5] 郭鵬,韓濮. 基于神經(jīng)網(wǎng)絡(luò)的PID參數(shù)優(yōu)化方法研究. 華北電力大學(xué)動(dòng)力系保定[D],2003.</p&

36、gt;<p><b>  程序附件:</b></p><p>  clc;clear;close all;%清除變量、窗體、及工作區(qū)間</p><p>  global rin yout timef</p><p>  %*********第一步:?jiǎn)渭冃翁鎿Q法變量準(zhǔn)備及設(shè)定***********</p><p&

37、gt;  x0 = [1 0.8 0.8];%Kp,Ti,Td初始值</p><p>  l = 1e-6;%單純形棱長(zhǎng)</p><p>  r = 1;%反射系數(shù)Gama,通常取1</p><p>  e = 2;%延伸系數(shù),通常取2</p><p>  n = 3;%n = 3表示問(wèn)題為三維空間最優(yōu)點(diǎn)求解</p><p

38、>  c = 0.5;%收縮系數(shù),通常取0.5</p><p>  Maxstep = 1000;%迭代最大次數(shù)</p><p>  MarginErr = 5e-13;%誤差限</p><p>  Bestv = zeros(1, 3);%最優(yōu)解</p><p>  Bestf = 0;%最優(yōu)解對(duì)應(yīng)的函數(shù)值</p>&l

39、t;p>  [v, f] = Initialize(x0, n, l);%調(diào)用初始化函數(shù)</p><p>  %**第二步:?jiǎn)渭冃畏瓷?,延伸,收縮,減小棱長(zhǎng)得到最優(yōu)點(diǎn)****</p><p>  Deltarecord = [];%誤差記錄矩陣</p><p>  frecord = [];%函數(shù)值記錄矩陣</p><p>  for

40、 i = 1 : Maxstep</p><p>  %調(diào)用FYSJ函數(shù)求的下一次迭代所需要的單純形</p><p>  [Nextv, Nextf, Delta, Meanf] = FYSJ(v, f, r, e, c, n);</p><p>  Deltarecord = [Deltarecord Delta];%記錄誤差</p><p&g

41、t;  if (Delta < MarginErr)</p><p>  for i = 1 : 3</p><p>  Bestv(i) = sum(Nextv(:, i)) / (n + 1);</p><p><b>  end</b></p><p>  Bestf = Targetf(Bestv);<

42、;/p><p>  frecord = [frecord Bestf];%記錄函數(shù)值</p><p><b>  break;</b></p><p><b>  else</b></p><p>  v = Nextv;</p><p>  f = Nextf;</p&g

43、t;<p>  frecord = [frecord Meanf];%記錄函數(shù)值</p><p><b>  end</b></p><p><b>  end</b></p><p>  %********第三步:做出誤差收斂曲線,函數(shù)值變化曲線*******</p><p><

44、;b>  figure;</b></p><p><b>  %誤差收斂曲線</b></p><p>  [msize, nsize] = size(Deltarecord);</p><p>  t = 1 : nsize;</p><p>  plot(t, Deltarecord, 'b&

45、#39;);</p><p>  xlabel('時(shí)間');ylabel('誤差');</p><p>  title('誤差收斂曲線');</p><p><b>  figure;</b></p><p><b>  %函數(shù)值變化曲線</b><

46、;/p><p>  [msize, nsize] = size(frecord);</p><p>  t = 1 : nsize;</p><p>  plot(t, frecord, 'b');</p><p>  xlabel('時(shí)間');ylabel('函數(shù)值');</p>&

47、lt;p>  title('二次型性能指標(biāo)收斂曲線');</p><p><b>  %系統(tǒng)響應(yīng)圖</b></p><p><b>  figure;</b></p><p><b>  hold on;</b></p><p>  plot(timef,

48、 yout);</p><p>  xlabel('時(shí)間');ylabel('輸出');</p><p>  title('整定后系統(tǒng)階躍響應(yīng)圖');</p><p><b>  %%</b></p><p>  %此函數(shù)用來(lái)建立系統(tǒng)模型,并求解目標(biāo)函數(shù)</p>

49、<p>  %Kpidi的三個(gè)參數(shù)分別為Kp,Ti,Td的值</p><p>  %J為當(dāng)前目標(biāo)函數(shù)值</p><p><b>  %%</b></p><p>  function J = Targetf(Kpidi)</p><p>  global rin yout timef</p>

50、<p>  ts=1; %采樣時(shí)間為1s</p><p>  num = [0.048 0.048 * 0.967];</p><p>  den = [1 -1.905 0.905];%采用零階保持器離散化傳遞函數(shù)矩陣</p><p>  rin = 1.0;%輸入為階躍輸入</p><p>  u_1

51、= 0.0;u_2 = 0.0;</p><p>  y_1 = 0.0;y_2 = 0.0;</p><p>  x = [0,0,0]';</p><p>  error_1 = 0;</p><p>  P = 500;%采樣點(diǎn)數(shù)</p><p>  for k = 1:1:P</p>&l

52、t;p>  timef(k) = k * ts;</p><p>  r(k) = rin;</p><p>  u(k) = Kpidi(1) * x(1) + Kpidi(2) * x(2) + Kpidi(3) * x(3); </p><p>  yout(k) = -den(2) * y_1 - den(3) * y_2 + num(1) * u_1

53、 + num(2) * u_2;</p><p>  error(k) = r(k) - yout(k);</p><p>  u_2 = u_1;</p><p>  u_1 = u(k);</p><p>  y_2 = y_1;</p><p>  y_1 = yout(k); </p><

54、p>  x(1)=error(k);% 誤差值</p><p>  x(2)=(error(k)-error_1)/ts;%誤差變化量</p><p>  x(3)=x(3)+error(k)*ts;%誤差積分</p><p>  error_1=error(k);</p><p><b>  end</b><

55、;/p><p>  J = 0;%目標(biāo)函數(shù)J公式實(shí)現(xiàn)</p><p>  for i=1:1:P </p><p>  J = J + error(i)^2 + 0.5 * u(i)^2;</p><p><b>  end</b></p><p><b>  %%</b><

56、;/p><p>  %此函數(shù)用來(lái)完成單純形替換法變量準(zhǔn)備及設(shè)定</p><p>  %其中x0為Kp,Ti,Td初始值</p><p><b>  %n為空間維度</b></p><p>  %v為單純形的n+1個(gè)頂點(diǎn)</p><p>  %f為單純形的n+1個(gè)頂點(diǎn)的函數(shù)值</p>&l

57、t;p><b>  %%</b></p><p>  function [v, f] = Initialize(x0, n, l)</p><p>  p = l * (sqrt(n + 1) + n - 1) / (sqrt(2) * n);%z矩陣參數(shù)p</p><p>  q = l * (sqrt(n + 1) - 1) / (

58、sqrt(2) * n);%z矩陣參數(shù)q</p><p>  z = zeros(n + 1, n);</p><p><b>  %初始化z矩陣</b></p><p>  for i = 2 : (n + 1)</p><p>  for j = 1 : n</p><p>  if ((i

59、- 1) == j)</p><p>  z(i, j) = p;</p><p><b>  else</b></p><p>  z(i, j) = q;</p><p><b>  end</b></p><p><b>  end</b><

60、/p><p><b>  end</b></p><p>  %初始化v1...vn,也是單純形的n+1個(gè)頂點(diǎn)</p><p>  v = zeros(n + 1, n);</p><p>  v(1, :) = x0;</p><p>  for i = 2 : (n + 1)</p>

61、<p>  v(i, :) = x0 + z(i, :);</p><p><b>  end</b></p><p>  %初始化頂點(diǎn)函數(shù)值矩陣</p><p>  f = zeros(n + 1, 1);</p><p>  for i = 1 : (n + 1)</p><p>

62、  f(i) = Targetf(v(i, :));</p><p><b>  end</b></p><p><b>  %%%</b></p><p>  %本函數(shù)根據(jù)單純性求解最優(yōu)點(diǎn)的法則求解最優(yōu)點(diǎn)</p><p>  %v,f為得到的初始單純性</p><p>  

63、%Nextv為下一個(gè)單純形</p><p>  %Nextf為下一個(gè)單純形函數(shù)值</p><p>  %Delta為本次單純形的誤差</p><p><b>  %%%</b></p><p>  function [Nextv, Nextf, Delta, Meanf] = FYSJ(v, f, r, e, c, n)

64、</p><p>  [fh, h] = max(f);%找出f中值最大的元素和其位置</p><p>  [fl, l] = min(f);%找出f中值最大的元素和其位置</p><p>  v0 = zeros(1, n);%去掉最壞頂點(diǎn)后的(n-1)空間中單純形的中心點(diǎn)</p><p>  for i = 1 : n</p>

65、<p>  v0(i) = (sum(v(:, i)) - v(h, i)) / n;</p><p><b>  end</b></p><p>  vr = zeros(1, n);</p><p>  vr = v0 + r * (v0 - v(h, :));%通過(guò)v0反射vGama</p><p>

66、  fr = Targetf(vr);</p><p>  %%%開始判斷,oh, my god, it's really terrible%%%</p><p>  if (fr < fl)</p><p>  %%%第一模塊%%%</p><p>  %如果fr<fl,則繼續(xù)延伸</p><p>

67、;  ve = v0 + e * (vr - v0);</p><p>  fe = Targetf(ve);</p><p>  if (fe <= fl)</p><p><b>  %如果fe<fl</b></p><p>  v(h, :) = ve;</p><p>  f(

68、h) = fe;</p><p>  [Delta, Meanf] = Error(v, f);</p><p><b>  else</b></p><p>  v(h, :) = vr;</p><p>  f(h) = fr;</p><p>  [Delta, Meanf] = Error

69、(v, f);</p><p><b>  end</b></p><p>  %%%第一模塊%%%</p><p><b>  else</b></p><p>  %%%第二模塊%%%</p><p>  for i = 1 : n</p><p>

70、;  if (i == h)</p><p><b>  continue;</b></p><p><b>  else</b></p><p>  if (fr < f(i))</p><p>  v(h, :) = vr;</p><p>  f(h) = fr;

71、</p><p>  [Delta, Meanf] = Error(v, f);</p><p><b>  break;</b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>

72、  end</b></p><p>  %%%第二模塊%%%</p><p>  %%%第三模塊%%%</p><p>  if (fr > fh)</p><p>  vc = v0 + c * (v(h, :) - v0);</p><p>  fc = Targetf(vc);</p>

73、;<p><b>  else</b></p><p>  v(h, :) = vr;</p><p>  f(h) = Targetf(vr);</p><p>  vc = v0 + c * (v(h, :) - v0);</p><p>  fc = Targetf(vc);</p>&

74、lt;p><b>  end</b></p><p>  %%%第三模塊%%%</p><p>  %%%第三模塊%%%</p><p>  if (fc <= fh)</p><p>  v(h, :) = vc;</p><p>  f(h) = fc;</p>&l

75、t;p>  [Delta, Meanf] = Error(v, f);</p><p><b>  else</b></p><p>  for i = 1 : (n + 1)</p><p>  v(i, :) = 0.5 * (v(i, :) + v(l, :));</p><p>  f(i) = Targe

76、tf(v(i, :));</p><p>  [Delta, Meanf] = Error(v, f);</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>

77、  Nextv = v;</p><p>  Nextf = f;</p><p><b>  %%%</b></p><p>  %此函數(shù)用來(lái)求解判斷終止的誤差</p><p>  %v,f為得到的初始單純性</p><p>  %Delta為本次單純形的誤差</p><p&

78、gt;<b>  %%%</b></p><p>  function [Delta, Meanf] = Error(v, f)</p><p>  Delta = 0;</p><p><b>  %計(jì)算中心點(diǎn)維數(shù)</b></p><p>  [m, n] = size(v);</p>

79、<p>  if (m < n)</p><p>  Meanv = zeros(n, 1);</p><p><b>  n1 = m;</b></p><p><b>  else</b></p><p>  Meanv = zeros(m, 1);</p>&

80、lt;p><b>  n1 = n;</b></p><p><b>  end</b></p><p>  %計(jì)算中心點(diǎn)向量meanv</p><p>  for i = 1 : n1</p><p>  Meanv(i) = sum(v(:, i)) / (n1 + 1);</p&g

81、t;<p><b>  end</b></p><p>  %計(jì)算中心點(diǎn)和單純形各個(gè)頂點(diǎn)的差值</p><p>  for i = 1 : (n1 + 1)</p><p>  Delta = Delta + (f(i) - Targetf(Meanv)) * (f(i) - Targetf(Meanv));</p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論