中文字幕无码日韩视频无码三区

基于變換函數和填充函數的智能控制系統優化算法的制作方法

文檔序號(hao):11132817閱讀:535來源:國(guo)知局
基于變換函數和填充函數的智能控制系統優化算法的制造方法與工藝

本發明提出了一(yi)種基于(yu)變換函(han)數(shu)(shu)和(he)填充函(han)數(shu)(shu)的智(zhi)能控(kong)(kong)制系統優化(hua)算法,其(qi)中智(zhi)能控(kong)(kong)制系統是多回(hui)(hui)路(lu)反(fan)饋(kui)控(kong)(kong)制系統,它(ta)使每一(yi)個(ge)子回(hui)(hui)路(lu)的控(kong)(kong)制對象為被優化(hua)的函(han)數(shu)(shu),通過各(ge)子回(hui)(hui)路(lu)的反(fan)饋(kui)和(he)多子回(hui)(hui)路(lu)的分布,實現控(kong)(kong)制對象優化(hua);變換函(han)數(shu)(shu)簡(jian)化(hua)目標函(han)數(shu)(shu),從而使其(qi)全局(ju)(ju)最(zui)(zui)小(xiao)點(dian)與其(qi)它(ta)局(ju)(ju)部最(zui)(zui)小(xiao)值分離;填充函(han)數(shu)(shu)具有使智(zhi)能控(kong)(kong)制系統從一(yi)個(ge)局(ju)(ju)部最(zui)(zui)優點(dian)跳到另一(yi)個(ge)更小(xiao)的局(ju)(ju)部最(zui)(zui)優點(dian)的功能,如此反(fan)復若干次可以得到更加精確的全局(ju)(ju)最(zui)(zui)優點(dian)。



背景技術:

反(fan)饋控(kong)(kong)(kong)制系(xi)統優(you)化(hua)(hua)算法的基本思路來源于單回(hui)路控(kong)(kong)(kong)制系(xi)統的反(fan)饋思想,具體的框圖模型如下圖5所(suo)示。其(qi)中,輸(shu)入給定值R一般是一個小(xiao)于目標函數(shu)最小(xiao)值的常數(shu);從(cong)圖5不難看出(chu),反(fan)饋控(kong)(kong)(kong)制系(xi)統主(zhu)要通過(guo)輸(shu)出(chu)反(fan)饋產(chan)生(sheng)誤差,經過(guo)控(kong)(kong)(kong)制器控(kong)(kong)(kong)制被控(kong)(kong)(kong)對(dui)象(被優(you)化(hua)(hua)的函數(shu)),從(cong)而(er)實現尋(xun)優(you),即作(zuo)為(wei)控(kong)(kong)(kong)制對(dui)象的被優(you)化(hua)(hua)函數(shu)通過(guo)反(fan)饋和控(kong)(kong)(kong)制器使(shi)其(qi)輸(shu)出(chu)越來越小(xiao)。

在圖5中(zhong),f(k)是第k次迭(die)代時目標函數值;控(kong)制器采(cai)用增(zeng)量式PID控(kong)制策(ce)略,單(dan)回路反(fan)饋控(kong)制系統優(you)化算法的迭(die)代公式定義為:

x(k+1)=x(k)+kpΔE(k)+kiE(k)+kdΔ2E(k) (1)

上式中的kp,ki和kd分別(bie)是(shi)PID三個自適應調整參(can)數。

該(gai)算法(fa)對(dui)一些復雜(za)的(de)多極(ji)值點(dian)的(de)函(han)(han)(han)(han)(han)數(shu)(shu),有時(shi)達到(dao)(dao)一定(ding)的(de)精(jing)度后,就很難再找(zhao)到(dao)(dao)更好的(de)極(ji)值點(dian),或者無(wu)法(fa)達到(dao)(dao)目(mu)(mu)標(biao)(biao)要求,為此,某(mou)個變(bian)換函(han)(han)(han)(han)(han)數(shu)(shu)被(bei)用于簡化目(mu)(mu)標(biao)(biao)函(han)(han)(han)(han)(han)數(shu)(shu)(控(kong)制(zhi)對(dui)象)使之盡(jin)可(ke)能(neng)(neng)地(di)成(cheng)為簡單的(de)凸(tu)函(han)(han)(han)(han)(han)數(shu)(shu)。當目(mu)(mu)標(biao)(biao)函(han)(han)(han)(han)(han)數(shu)(shu)的(de)值遠離(li)零(ling)(ling)(ling)時(shi),將其值映射(she)到(dao)(dao)1或-1,而當目(mu)(mu)標(biao)(biao)函(han)(han)(han)(han)(han)數(shu)(shu)的(de)值接(jie)近(jin)零(ling)(ling)(ling)時(shi),則將其值盡(jin)可(ke)能(neng)(neng)映射(she)到(dao)(dao)零(ling)(ling)(ling)。另外,由(you)于轉(zhuan)換函(han)(han)(han)(han)(han)數(shu)(shu)在零(ling)(ling)(ling)附近(jin)變(bian)化非常大,因此,通過函(han)(han)(han)(han)(han)數(shu)(shu)變(bian)換,可(ke)以使目(mu)(mu)標(biao)(biao)函(han)(han)(han)(han)(han)數(shu)(shu)的(de)全(quan)局(ju)最(zui)(zui)小點(dian)與其它靠(kao)近(jin)零(ling)(ling)(ling)點(dian)的(de)局(ju)部最(zui)(zui)小值分離(li)。結合具有被(bei)簡化的(de)控(kong)制(zhi)對(dui)象的(de)智能(neng)(neng)控(kong)制(zhi)系統(tong),我們可(ke)以得到(dao)(dao)目(mu)(mu)標(biao)(biao)函(han)(han)(han)(han)(han)數(shu)(shu)的(de)更加精(jing)確(que)的(de)全(quan)局(ju)最(zui)(zui)小點(dian)。

如(ru)果函(han)數(shu)T(x)滿足(zu)以下兩個性質,我們就把它叫(jiao)做目標函(han)數(shu)f(x)的一個函(han)數(shu)變換:

1)T(x)(其中(zhong)x>0)是一個連續、可導的(de)一維函數并且(qie)在(zai)(0,1)或(huo)(-1,0)上(shang)是單調(diao)的(de)。

2)|(T(±10)-T(0))|/T(∞)≥98%

注(zhu)1:性質1保證了變換后的(de)函數T(x)和目標函數f(x)有(you)著相(xiang)同的(de)全局最優點。性質2是給出T(x)的(de)有(you)效(xiao)區間。

該(gai)算法面臨兩個(ge)問(wen)題(ti)的考驗。第一個(ge)問(wen)題(ti)是:如何判斷當前(qian)的極小(xiao)(xiao)(xiao)值(zhi)點(dian)(dian)是全局(ju)(ju)最優值(zhi)點(dian)(dian);第二個(ge)問(wen)題(ti)是:怎(zen)樣(yang)從當前(qian)局(ju)(ju)部極小(xiao)(xiao)(xiao)點(dian)(dian)跳(tiao)出(chu),移向目標函(han)數更小(xiao)(xiao)(xiao)的局(ju)(ju)部極小(xiao)(xiao)(xiao)值(zhi)點(dian)(dian)。

填(tian)(tian)充函數法是一種(zhong)能(neng)較好(hao)的(de)解決(jue)陷入局部極(ji)(ji)小點的(de)方法,通過構造(zao)填(tian)(tian)充函數能(neng)有效地跳出局部極(ji)(ji)小點,找到另一個比它更(geng)小的(de)局部極(ji)(ji)小點。為了更(geng)好(hao)地理解填(tian)(tian)充函數,下面給(gei)出三(san)個假設。

假設1:函數f(x)的一個包含最小點的連通域B1,在其內部任意一點x出發,用速降法都收斂于但B1外面的部分任意點都不能收斂于則B1叫(jiao)做f(X)的(de)一個盆域。

假設2:如(ru)果是f(x)的(de)最大點,則f(x)包(bao)含的(de)谷域是-f(x)的(de)盆(pen)域。

假設3:包含局部最小值點的盆域B2是高于包含局部最小值的盆域B1當且僅當

如果一個函數P(x,x*)滿足(zu)以(yi)下(xia)四個條件,則它(ta)被稱為是f(x)在局部最(zui)小值點的(de)填(tian)充函數(shu):

1)是函數P(x,x*)的(de)一(yi)個嚴(yan)格(ge)的(de)局部最(zui)大(da)點。

2)在任意一個高于盆浴B1的f(x)的盆浴,P(x,x*)沒有最小點或者(zhe)鞍點。

3)如果f(x)有一個在局部最小點比盆域B1小的盆域B2,則存在一點x′使得P(x,x*)最(zui)小(xiao),且它在和(he)x″的連(lian)接線上(它是某一(yi)個鄰域)。

4)對于屬(shu)于Ω域的任意(yi)x、y,滿足和(he)當(dang)(dang)且僅(jin)當(dang)(dang)P(x)≤(<)P(y)。



技術實現要素:

本發(fa)明的(de)(de)(de)目的(de)(de)(de)在于(yu)(yu)針對(dui)已有技術存(cun)在的(de)(de)(de)不足(zu),提供一(yi)種基于(yu)(yu)變(bian)換(huan)函(han)數和(he)填(tian)充(chong)函(han)數的(de)(de)(de)智能(neng)控(kong)制(zhi)(zhi)系(xi)統優(you)(you)(you)化算法,其(qi)(qi)智能(neng)控(kong)制(zhi)(zhi)系(xi)統是多回(hui)路反(fan)饋控(kong)制(zhi)(zhi)系(xi)統,它使每一(yi)個子(zi)回(hui)路的(de)(de)(de)控(kong)制(zhi)(zhi)對(dui)象為被優(you)(you)(you)化的(de)(de)(de)函(han)數,通過(guo)各(ge)子(zi)回(hui)路的(de)(de)(de)反(fan)饋和(he)多子(zi)回(hui)路的(de)(de)(de)分布,實(shi)現控(kong)制(zhi)(zhi)對(dui)象優(you)(you)(you)化。因(yin)多極值點(dian)(dian)的(de)(de)(de)優(you)(you)(you)化函(han)數易(yi)陷入(ru)局(ju)(ju)部(bu)極值點(dian)(dian),引(yin)入(ru)變(bian)換(huan)函(han)數簡化控(kong)制(zhi)(zhi)對(dui)象,使被優(you)(you)(you)化的(de)(de)(de)函(han)數的(de)(de)(de)全局(ju)(ju)最(zui)(zui)小(xiao)點(dian)(dian)能(neng)夠與(yu)其(qi)(qi)它靠近零點(dian)(dian)的(de)(de)(de)局(ju)(ju)部(bu)最(zui)(zui)小(xiao)值分離(li)。變(bian)換(huan)函(han)數是單調一(yi)維函(han)數,不影響(xiang)目標函(han)數的(de)(de)(de)極值點(dian)(dian)的(de)(de)(de)個數。基于(yu)(yu)被優(you)(you)(you)化的(de)(de)(de)函(han)數構(gou)造(zao)的(de)(de)(de)填(tian)充(chong)函(han)數使控(kong)制(zhi)(zhi)系(xi)統跳出當前局(ju)(ju)部(bu)最(zui)(zui)小(xiao)點(dian)(dian),并能(neng)夠在新的(de)(de)(de)位置重(zhong)新開始(shi)尋(xun)找比(bi)當前最(zui)(zui)小(xiao)值更小(xiao)的(de)(de)(de)局(ju)(ju)部(bu)最(zui)(zui)小(xiao)點(dian)(dian),從而避(bi)免使系(xi)統陷入(ru)局(ju)(ju)部(bu)最(zui)(zui)小(xiao)點(dian)(dian)。

為(wei)達到上(shang)述目的(de),本發明的(de)構思是:智能(neng)控(kong)(kong)(kong)制(zhi)(zhi)系(xi)統(tong)采用(yong)(yong)多回路(lu)反饋控(kong)(kong)(kong)制(zhi)(zhi)系(xi)統(tong),每一個(ge)子回路(lu)的(de)控(kong)(kong)(kong)制(zhi)(zhi)對象(xiang)為(wei)被(bei)優化的(de)函(han)(han)數(shu),利(li)用(yong)(yong)變換函(han)(han)數(shu)對控(kong)(kong)(kong)制(zhi)(zhi)對象(xiang)進(jin)行(xing)T變換,使被(bei)優化函(han)(han)數(shu)的(de)全局(ju)最(zui)小(xiao)(xiao)(xiao)點(dian)(接(jie)近零點(dian)的(de)最(zui)小(xiao)(xiao)(xiao)值(zhi)(zhi)(zhi)(zhi))能(neng)夠與其它(ta)靠近零點(dian)的(de)局(ju)部最(zui)小(xiao)(xiao)(xiao)值(zhi)(zhi)(zhi)(zhi)分離(li),用(yong)(yong)自適(shi)應PID控(kong)(kong)(kong)制(zhi)(zhi)器尋(xun)找被(bei)優化函(han)(han)數(shu)的(de)最(zui)優值(zhi)(zhi)(zhi)(zhi)。當被(bei)判斷為(wei)陷入局(ju)部最(zui)小(xiao)(xiao)(xiao)值(zhi)(zhi)(zhi)(zhi)時(shi)(即相鄰(lin)兩次迭代(dai)后的(de)被(bei)優化函(han)(han)數(shu)值(zhi)(zhi)(zhi)(zhi)之差很小(xiao)(xiao)(xiao)時(shi)),此時(shi)進(jin)入填充函(han)(han)數(shu)迭代(dai),直到跳出局(ju)部最(zui)小(xiao)(xiao)(xiao)值(zhi)(zhi)(zhi)(zhi)并找到一個(ge)更小(xiao)(xiao)(xiao)的(de)最(zui)小(xiao)(xiao)(xiao)點(dian),在此基礎上(shang)繼續(xu)用(yong)(yong)自適(shi)應PID控(kong)(kong)(kong)制(zhi)(zhi)器尋(xun)找系(xi)統(tong)最(zui)優值(zhi)(zhi)(zhi)(zhi)。

根據上述發明(ming)構思,本(ben)發明(ming)采用(yong)下述技(ji)術方案:

第一步:對各個參數進行初始化:在可行域內利用隨機分布確定初始點Xn×d的初值,其中n為并行控制系統個數,d為實際自變量的維數,給各個參數局部最小點x_best,全局最小點x_allbest,局部最小值f_best,全局最小值f_allbest,慣性因子w,PID算法的參數ki,kp,kd,[0,2]之間的常數c1,c2,隨機數r1,r2區(qu)間的(de)(de)(de)初值(zhi),并確定算法(fa)總循(xun)環次數MN,進(jin)入填充函數子(zi)程(cheng)序的(de)(de)(de)最大(da)次數TT以(yi)及填充函數內迭代(dai)的(de)(de)(de)最大(da)次數ND,令k=1,L=1.m=1;

第二步:判斷是否結束算法流程:k>MN或L>TT,若是,則輸出目標函數的全局最優值f_allbest,程序結束;否則,k=k+1,gi(x)=fi(x),i=1,2,3...n;根據下列的式(3)更新自變量Xn×d和T變換后的目標函數n個子系統的值f(X)=[f1,f2...fn]并判斷向量x是否超出可行域;

第三步:判斷是否進入填充函數:abs(gi(x)-fi(x))<d1且m≤ND且fi(x)≥f_allbest,若是,則x(i,k)=x(i,k)+d2×(rand(1,1)-0.5)×exp(d3(k-1)/ND)

x(i,k)=x(i,k)+d4×rand(1,1)×exp(d5(k-1)/ND)×(x(i,k)-x_allbest)/||x(i,k)-x_allbest||進入填充函數,更新f(x),T變換后的目標函數n個子系統的值f(X)=[f1,f2...fn],gi(x)=fi(x),i=1,2,3...n,然后轉回第三(san)步(bu);否則(ze),跳轉至第四步(bu);

第四步:更新x_best,x_allbest,f_best,f_allbest

第五步:根據式(4)更新相關誤差量E,ΔE,Δ2E。根據式(5)調整慣性因子w,PID算法的參數ki,kp,kd,然后跳(tiao)轉至第二步。

上述第二步中,對目標函數f(x)進行T變換的具體方法:目標函數f(x)的T變換為這里T變換函數為更新自變量Xn×d的迭代方程式為:

其中x(i,k)表示第i個子系統的第k次迭代向量,ki,kp,kd是PID算法的參數向量,w是慣性因子。r1,r2是初值設定區間的隨機數。c1,c2是常數,一般取值范圍是[0,2]。x_best(i)是第i個子系統在迭代過程中的最好位置向量,x_allbest是所有系統在迭代過程的最好位置向量。判斷向量x是否超出可行域:x<s1或x>s2,若是,則超出可行域,x(i,k+1)=x_allbest(k),更新f(X)=[f1,f2...fn];否則,沒有超出可行域,以此次迭代結果x(i,k+1)更新f(X)=[f1,f2...fn],其中k用來累計算法循環次數,g(x)用來保存該次f(x)的值,MN為算法循環次數的最大值;L用來累計進入填充函數子程序的次數,TT允許進入填充函數子程序的最大次數;s1,s2為自(zi)變量x有效區間的邊界(jie)。

上述第三步中,判斷是否進入填充函數,其判斷條件為:abs(gi(x)-fi(x))<d1且m≤ND且fi(x)≥f_allbest,m用來累計在填充函數內迭代的次數,ND為在填充函數內迭代的最大次數,d1為設定進入填(tian)充函數子程序時(shi)的(de)相鄰兩次f(x)之差的(de)絕(jue)對值的(de)最大值。

2.上述第四步中,更新x_best,x_allbest,f_best,f_allbest:若f(i,k+1)<f_best(i),則x_best(i)=x(i,k+1),f_best(i)=f(i,k+1);若f_allbest(k)>f_best(i,k+1),則x_allbest(k)=x_best(i,k+1),f_allbest(k)=f_best(i,k+1)否則跳轉(zhuan)至步驟5)。

上述第五步中,相關誤差量E,ΔE,Δ2E的更新公式和參數ω、kp、ki和kd的自適(shi)應修(xiu)正(zheng)公式如(ru)下:

η是一個非常小的正數,R是系統輸入,f(i,k)表示第i個子系統的第k次系統輸出f(x)的值。ΔE(i,k)表示第i個子系統的第k次系統誤差E(i,k)與第k-1次系統誤差E(i,k-1)的差值,Δ2E(i,k)表(biao)示第(di)i個子(zi)系(xi)統的(de)第(di)k次(ci)系(xi)統誤(wu)(wu)差(cha)E(i,k)和第(di)k-1次(ci)系(xi)統誤(wu)(wu)差(cha)E(i,k-1)的(de)差(cha)值與(yu)第(di)i個子(zi)系(xi)統的(de)第(di)k-1次(ci)系(xi)統誤(wu)(wu)差(cha)E(i,k-1)和第(di)k-2次(ci)系(xi)統誤(wu)(wu)差(cha)E(i,k-2)的(de)差(cha)值的(de)差(cha)值。

本(ben)發明中用(yong)到的(de)變(bian)(bian)換函(han)數:從(cong)圖7中可(ke)清(qing)晰看出(chu)函(han)數T(x)在原(yuan)點(dian)附近的(de)值(zhi)變(bian)(bian)化(hua)很(hen)大(da)而定義域內遠離原(yuan)點(dian)的(de)區域變(bian)(bian)化(hua)很(hen)平緩,這(zhe)(zhe)說明通過變(bian)(bian)換得到的(de)新目標函(han)數在遠離原(yuan)點(dian)的(de)局部(bu)最(zui)小(xiao)值(zhi)被削減(jian),而在原(yuan)點(dian)附近處的(de)全局最(zui)小(xiao)值(zhi)被放大(da)了,這(zhe)(zhe)樣就減(jian)小(xiao)了系統陷入局部(bu)最(zui)小(xiao)點(dian)的(de)可(ke)能性。為了驗證(zheng)這(zhe)(zhe)一點(dian),取一個例子(zi)F1,變(bian)(bian)換函(han)數T(x)處理(li)前后的(de)曲線如圖8~9所示(shi)。

本發明(ming)提出(chu)了一種不帶參數(shu)的填充(chong)函數(shu)并給出(chu)證明(ming):

定理1:如果x1是f(x)的一個已知的局部最小點,則x1是P(x,x1)的一個嚴格的局部最大點。證明:設B1是f(x)在局部最小點x1的一個s型盆域,即對任意x∈B1有f(x)≥f(X1),則

這表明x1是P(x,x1)的(de)一(yi)個嚴格的(de)局(ju)部最大點。

定理2:令x1是f(x)的一個已知的局部最小點,如果x∈S1={x|f(x)≥f(X1),x≠X1},則P(x,x1)在S1域內(nei)無(wu)固定點(dian)或者最小點(dian)。

證明:因為x∈S1,則當f(x)>f(X1)和x≠X1,有如果d(x)=(x-x1)和x≠X1,則因此d(x)是對于任意x∈S1,P(x,x1)的一個速降方向。當f(y)=f(X1),有則對于滿足||x-x1||>||y-x1||和||x2-x1||<||y-x1||的任意x,x2∈S1,有因此,P(x,x1)在S1域內無固定點或者最小點。

定理3:令x1是f(x)的一個已知的局部最小點,對于任意x2∈Ω,x2≠x1,如果f(x2)≥f(x1),則x2是P(x,x1)的一個連續點,或者x2是P(x,x1)的一(yi)個(ge)下半(ban)連續點。

證明:因為x1是f(x)的B1盆域內的一個局部最小點,所以對于任意x∈B1,有f(x)≥f(x1),則因此,P(x,x1)在x1點是連續的。如果f(x2)≠f(x1)且x2≠x1,即f(x2)<f(x1)或f(x2)>f(x1),則或這樣存在一個鄰域N(x2,δ),δ>0使對于任意x∈N(x2,δ),即P(x,x1)在x2點是連續的。如果f(x2)=f(x1)且x2≠x1,則因此x2是P(x,x1)的(de)一個下半連(lian)續點。

定理4:令x1是f(x)的一個已知的局部最小點,x2是滿足f(x2)<f(x1)的另一個與x1鄰近的局部最小點,則存在一點x'∈S2={x,f(x)<f(X1),x∈Ω}使得P(x,x*)最小(xiao),且它在和x″的連接(jie)線上(shang)(它是(shi)某一個鄰域)。

證明:因為x1是f(x)的一個已知的局部最小點,則存在一個s型盆域B1,對于任意x∈B1,使f(x)≥f(x1),由此得到

類似地,關于局部最小點x2,存在s型盆域B2,對于某些x3∈B2,有f(x2)≤f(x3)<f(x1),則對于x3∈B2,有

因此P(x',x1)<P(x3,x1),另外P(x1,x1)=0,則當x遠離x1時,有P(x,x1)<0。因此,當f(x)≥f(x1)時,P(x,x1)減小,否則P(x,x1)增加。由定理4,則存在一點x'∈S2={x,f(x)<f(X1),x∈Ω}使得P(x,x*)最小,且(qie)它(ta)在和x″的連(lian)接線(xian)上(shang)(它(ta)是某一個鄰(lin)域)。

定理5:令x1是f(x)的一個已知的局部最小點,以及d是滿足dT(x-X1)>0的一個方向,如果f(x)>f(X1),則d是P(x,x1)在x1點的一個速降方向。

證明:因為f(x)>f(X1)和dT(x-X1)>0,則

因此d是P(x,x1)在x1點的一個速降方向。

定理6:令x1是f(x)的(de)(de)一個已知的(de)(de)局部最小(xiao)點,對于任意x,y∈Ω滿足

f(x)≥f(X1),f(y)≥f(X1)及||x-x1||≥||y-x1||當且僅當P(x,x1)≤P(y,x1)。

證明:因為對于任意x,y∈Ω滿足f(x)≥f(X1),f(y)≥f(X1),則

因為單調遞增的函數,則對于||x-x1||>(≥)||y-x1||,有P(x,x1)<(≤)P(y,x1)或者對于P(x,x1)<(≤)P(y,x1),有||x-x1||>(≥)||y-x1||。

注釋1:從定理1—6,很容易看出P(x,x1)是一個填充函數,因為它滿足了填充函數所有的定義,當f(x)≥f(x1),P(x,x1)減少;當f(x)<f(x1),P(x,x1)增加,如果d是在點滿足dT(x-X1)>0的P(x,x1)速降方向,那么通過d可以找到滿足f(x)<f(x1)的搜索方向。

令(ling)是當(dang)前(qian)局部極小點,是當(dang)前(qian)迭代點,λ和μ是兩個(ge)給定的常數且0<λ<μ,是在(zai)的搜索方向,使

定理7:令和(he)如果(guo)滿(man)足則

這里,Ω是x的可行域(yu)。

證明:如果則

注釋2:從定理3,很容易看到,如果是一個滿足的搜索方向,那么當迭代次數達到足夠大時,搜索將達到Ω的邊界或者找到滿足f(x)<f(X1)的點。為了實現

和我們選擇也就是

說,因(yin)此這里,η>0。當(dang)邊界(jie)Ω非常大的(de)(de)時候,η可(ke)以(yi)選為(wei)一(yi)個較大的(de)(de)正數,否則(ze)η可(ke)以(yi)選為(wei)一(yi)個較小的(de)(de)正數。另(ling)外,為(wei)了避免(mian)搜索達到邊界(jie),有必要采用分布性的(de)(de)學習步長,因(yin)此η可(ke)以(yi)選為(wei)一(yi)個隨機的(de)(de)正數。

從填充函數的定義出發得到基于填充函數算法的思路,首先使用一種局部優化算法得到目標函數f(X)的一個局部極小點然后在處構造一個填充函數F(x),在處搜索一點x1,以x1為出發點用局部優化算法極小化填充函數F(x),得到一點x2,有填充函數的性質可知,點x2一定在比B1低的盆域內,再從現已取得的極小點x2為初始點用局部最優化(hua)方法極(ji)(ji)小(xiao)(xiao)(xiao)化(hua)目標函數(shu)(shu)f(X),得(de)(de)到f(X)的(de)另一個(ge)更優的(de)局部極(ji)(ji)小(xiao)(xiao)(xiao)點交替進行上述過程就會得(de)(de)到目標函數(shu)(shu)f(X)的(de)局部極(ji)(ji)小(xiao)(xiao)(xiao)點列利···x*,滿(man)足從(cong)而得(de)(de)到目標函數(shu)(shu)的(de)全(quan)局極(ji)(ji)小(xiao)(xiao)(xiao)值點。

本發明的(de)基于(yu)變換函數和填充函數的(de)智能(neng)控制系統(tong)優化算法(fa)與現有技(ji)術相比較具有如下顯(xian)而(er)易見的(de)突出實質性特(te)點和顯(xian)著優點:

1)智能(neng)控制系(xi)統(tong)(tong)是多(duo)回路(lu)(lu)反(fan)饋控制系(xi)統(tong)(tong),它使每一個(ge)子(zi)回路(lu)(lu)的(de)控制對(dui)象為被優化(hua)的(de)函數(shu),通過(guo)各子(zi)回路(lu)(lu)的(de)反(fan)饋和多(duo)子(zi)回路(lu)(lu)的(de)分布(bu),實現控制對(dui)象優化(hua)。

2)通過函數(shu)變換簡化了(le)被優化函數(shu),使(shi)其在遠(yuan)離遠(yuan)點的(de)局部最小(xiao)(xiao)值(zhi)被削(xue)減而在原(yuan)點附近的(de)局部最小(xiao)(xiao)值(zhi)被放(fang)大了(le),從而減小(xiao)(xiao)了(le)陷入局部最小(xiao)(xiao)點的(de)可能(neng)性,很大程(cheng)度(du)(du)上增(zeng)大了(le)找到全局最小(xiao)(xiao)值(zhi)的(de)可能(neng)性,提高了(le)尋優的(de)精度(du)(du)和速度(du)(du)。

3)當(dang)系統陷入了局部最優點時,進入填充(chong)函數迭代,使智能控(kong)制系統從一個局部最優點跳(tiao)到(dao)另一個更(geng)小的(de)局部最優點,如(ru)此反復若干次可以得到(dao)更(geng)加精確(que)的(de)全局最優點。

4)多回(hui)路系(xi)(xi)統(tong)并行(xing)計算的(de)智能(neng)控制系(xi)(xi)統(tong)與函數(shu)變換以(yi)及填充(chong)函數(shu)法(fa)的(de)結合(he),既保(bao)留了(le)智能(neng)控制系(xi)(xi)統(tong)的(de)多系(xi)(xi)統(tong)分布并行(xing)計算的(de)優點,又在一定(ding)程度上克服了(le)智能(neng)控制系(xi)(xi)統(tong)算法(fa)容易(yi)陷入局(ju)部最優點的(de)不足。

附圖說明

圖1算法主流程圖;

圖2算法子流程圖;

圖3算法子流程圖;

圖4算法子流程圖;

圖(tu)5單回路反饋控(kong)制系統(tong)優(you)化算法的模型(xing)

圖(tu)6基于變換(huan)函(han)數和填充函(han)數的多(duo)回(hui)路系統框圖(tu);

圖7是變換函數T(x)的曲線;

圖8是F1(x)的曲線,定義域(-6<x<6);

圖9 T變換后的F1(x)即T(F1(x))的曲線,定義域(-6<x<6);

圖10對F1基準函數5個算法(fa)的仿真曲線;

圖11對F2基(ji)準函數5個算(suan)法的仿真(zhen)曲(qu)線(xian);

圖12對(dui)F3基準函數5個算法的仿真(zhen)曲線;

圖13對F4基準函數5個(ge)算法的仿真(zhen)曲(qu)線;

圖14對F5基準函(han)數5個算法的仿真曲(qu)線(xian);

具體實施方式

本發(fa)明的優(you)選實(shi)施例結(jie)合附圖(tu)詳述(shu)如下:

實施例一:

基準函數:

搜索范圍:-5.12≤xi≤5.12(本文(wen)實驗采用30維(wei))。全局(ju)最優值:min(F1)=F1(0,...,0)=0。參(can)見圖1~圖9,本基于變換函數(shu)和填充函數(shu)的(de)智能控(kong)制系統優化算法(fa),其特征(zheng)在于操作(zuo)步驟如下(xia):

1)對各個參數進行初始化:在可行域內利用隨機分布確定初始點X5×30=10.24×(rand(5,30,1)-0.5),其中5為并行控制系統個數,30為實際自變量的維數,局部最小點x_best=10.24×(rand(5,30,1)-0.5),全局最小點x_allbest=0×rand(1,30,1),局部最小值f_best=2×108×rand(5,1,1),全局最小值f_allbest=2×107,慣性因子w=0.01×rand(5,30,1),PID算法的參數ki=kd=1×10-8×rand(5,30,1),kp=5×10-8×rand(5,30,1),c1=c2=1.5,r1=r2=1.0×(rand(1,1)-0.5),算法總循環次數MN=40,進入填充函數子程序的最大次數TT=80,以及填充函數內迭代的最大次數ND=300,d1=1×10-15,d1=1×10-7,d3=5,d4=1,d5=3,k=1,L=1,m=1;

2)判斷是否結束算法流程:k>40或L>80,若是,則輸出目標函數的全局最優值f_allbest,程序結束;否則,k=k+1,gi(x)=fi(x),i=1,2,3,4,5;更新自變量X5×30和T變換后的目標函數5個子系統的值f(X)=[f1,f2...f5]并判斷向量x是否(fou)超出可行域;

3)判斷是否進入填充函數:abs(gi(x)-fi(x))<1×10-15且m≤300且fi(x)≥f_allbest,若是,則x(i,k)=x(i,k)+1×10-7×(rand(1,1)-0.5)×exp(5×(k-1)/300)

x(i,k)=x(i,k)+1×rand(1,1)×exp(3×(k-1)/300)×(x(i,k)-x_allbest)/||x(i,k)-x_allbest||進入填充函數,更新f(x),T變換后的目標函數5個子系統的值f(X)=[f1,f2...f5],gi(x)=fi(x),i=1,2,3,4,5,然后轉(zhuan)回步驟3);否(fou)則,跳轉(zhuan)至步驟4);

4)更新x_best,x_allbest,f_best,f_allbest

5)更新相關誤差量E,ΔE,Δ2E;調整慣性因子w,PID算法的參數ki,kp,kd,然后跳轉(zhuan)至(zhi)步驟2)。

實施例二:

本實(shi)施例(li)與實(shi)施例(li)一基本相同,特別之處(chu)在于(yu)如下:

所述操作步驟2)中,對目標函數f(x)進行T變換的具體方法:目標函數f(x)的T變換為這里T變換函數為更新自變量Xn×d的迭代方程式為:

其中x(i,k)表示第i個子系統的第k次迭代向量,x_best(i)是第i個子系統在迭代過程中的最好位置向量,x_allbest是所有系統在迭代過程的最好位置向量;判斷x(i,k+1)是否超出可行域:x<-5.12或x>5.12,若是,則超出可行域,x(i,k+1)=x_allbest(k),更新f(X)=[f1,f2...f5];否則,沒有超出可行域,以此次迭代結果x(i,k+1)更新f(X)=[f1,f2...f5]。

所述操作步驟3)判斷是否進入填充函數:判斷條件為abs(gi(x)-fi(x))<1×10-15且m≤300且fi(x)≥f_allbest,若是,則x(i,k)=x(i,k)+1×10-7×(rand(1,1)-0.5)×exp(5×(k-1)/300)

x(i,k)=x(i,k)+1×rand(1,1)×exp(3×(k-1)/300)×(x(i,k)-x_allbest)/||x(i,k)-x_allbest||進入填充函數,判斷是否超出可行域,然后更新f(X)=[f1,f2...f5],對f(x)進行T變換。

所述操作步驟4)更新x_best,x_allbest,f_best,f_allbest:若f(i,k+1)<f_best(i),則x_best(i)=x(i,k+1),f_best(i)=f(i,k+1);若f_allbest(k)>f_best(i,k+1),則x_allbest(k)=x_best(i,k+1),f_allbest(k)=f_best(i,k+1)否則(ze)跳轉至步驟5)。

所述操作步驟5),相關誤差量E,ΔE,Δ2E的更新公式和參數ω、kp、ki和kd的自適(shi)應修正公(gong)式如(ru)下:

這里η=1×10-11,系統輸(shu)入R=-20,初始化f(X)=0×rand(5,1,1)。

實施例三:

圖1為算法主流程圖,首先按圖1對F1進行初始化,然后判斷是否結束算法,若不結束算法按圖2更新自變量X,判斷X是否超出可行域,更新f(x);然后按圖3判斷是否進入填充函數,判斷X是否超出可行域,更新f(x),對f(x)進行T變換;然后按圖4更新x_best,x_allbest,f_best,f_allbest;然后按圖1更新相關誤差量E,ΔE,Δ2E的更新公式和參數ω、kp、ki和kd,循環(huan)多次(ci)上述步驟(zou)。以(yi)圖(tu)(tu)5所示經(jing)典單回(hui)路反饋(kui)控(kong)制(zhi)系(xi)統(tong)為(wei)基(ji)礎,本(ben)發明采(cai)用圖(tu)(tu)6所示基(ji)于填充函數的(de)(de)多回(hui)路反饋(kui)控(kong)制(zhi)系(xi)統(tong)。圖(tu)(tu)7為(wei)算法中用到的(de)(de)變換(huan)函數的(de)(de)圖(tu)(tu)形(xing)(xing)。圖(tu)(tu)8為(wei)的(de)(de)圖(tu)(tu)形(xing)(xing),從圖(tu)(tu)可以(yi)看出,F1有很多局部極(ji)小點,不便于尋(xun)找函數的(de)(de)全(quan)局最小點。圖(tu)(tu)9為(wei)對F1變換(huan)后的(de)(de)圖(tu)(tu)形(xing)(xing),經(jing)變換(huan)后全(quan)局最優解非常突出,而邊緣的(de)(de)局部極(ji)小點被弱(ruo)化(hua),使全(quan)局尋(xun)優變得更(geng)容易,更(geng)精準。

圖10至圖14是以(yi)F1~F5為(wei)基(ji)準函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)做出的(de)仿真(zhen)結(jie)果。圖中曲線(xian)(xian)1為(wei)APID算(suan)(suan)法(fa)(fa)(fa)(參(can)(can)數(shu)(shu)(shu)(shu)(shu)自(zi)適(shi)應(ying)PID反(fan)饋(kui)(kui)控(kong)(kong)制(zhi)系(xi)(xi)統(tong)(tong)(tong)優(you)化(hua)(hua)算(suan)(suan)法(fa)(fa)(fa)),曲線(xian)(xian)2為(wei)MAPID算(suan)(suan)法(fa)(fa)(fa)(參(can)(can)數(shu)(shu)(shu)(shu)(shu)自(zi)適(shi)應(ying)多(duo)回(hui)路PID反(fan)饋(kui)(kui)控(kong)(kong)制(zhi)系(xi)(xi)統(tong)(tong)(tong)優(you)化(hua)(hua)算(suan)(suan)法(fa)(fa)(fa)),曲線(xian)(xian)3為(wei)TAPID算(suan)(suan)法(fa)(fa)(fa)(基(ji)于(yu)變(bian)換函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)的(de)參(can)(can)數(shu)(shu)(shu)(shu)(shu)自(zi)適(shi)應(ying)PID反(fan)饋(kui)(kui)控(kong)(kong)制(zhi)系(xi)(xi)統(tong)(tong)(tong)優(you)化(hua)(hua)算(suan)(suan)法(fa)(fa)(fa)),曲線(xian)(xian)4為(wei)TMAPID算(suan)(suan)法(fa)(fa)(fa)(基(ji)于(yu)變(bian)換函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)的(de)參(can)(can)數(shu)(shu)(shu)(shu)(shu)自(zi)適(shi)應(ying)多(duo)回(hui)路PID反(fan)饋(kui)(kui)控(kong)(kong)制(zhi)系(xi)(xi)統(tong)(tong)(tong)優(you)化(hua)(hua)算(suan)(suan)法(fa)(fa)(fa)),曲線(xian)(xian)5為(wei)FTMAPID算(suan)(suan)法(fa)(fa)(fa)(基(ji)于(yu)變(bian)換函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)和(he)填(tian)充函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)的(de)參(can)(can)數(shu)(shu)(shu)(shu)(shu)自(zi)適(shi)應(ying)多(duo)回(hui)路PID反(fan)饋(kui)(kui)控(kong)(kong)制(zhi)系(xi)(xi)統(tong)(tong)(tong)優(you)化(hua)(hua)算(suan)(suan)法(fa)(fa)(fa),即本(ben)發明(ming)論述的(de)算(suan)(suan)法(fa)(fa)(fa))。橫坐標(biao)(biao)為(wei)算(suan)(suan)法(fa)(fa)(fa)迭代次數(shu)(shu)(shu)(shu)(shu),縱坐標(biao)(biao)為(wei)f(x)的(de)函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)值(zhi)。從圖10至圖14能(neng)看(kan)出其(qi)中基(ji)于(yu)變(bian)換函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)和(he)填(tian)充函(han)(han)(han)數(shu)(shu)(shu)(shu)(shu)的(de)控(kong)(kong)制(zhi)系(xi)(xi)統(tong)(tong)(tong)優(you)化(hua)(hua)算(suan)(suan)法(fa)(fa)(fa)收斂(lian)的(de)精度(du)能(neng)進一步得到提高(gao),收斂(lian)的(de)速度(du)也變(bian)的(de)更好。

這里對每(mei)個(ge)測試函數重(zhong)復實驗30次,統計30次中的最(zui)大(da)值(zhi)(MAX)、最(zui)小值(zhi)(MIN)、成功收斂的平(ping)均值(zhi)(AVG)、置信區間(jian)(Confidence Interval,按照95%置信水平(ping))、收斂次數N以及CPU時間(jian)(CPU-TIME)。最(zui)后為(wei)(wei)了(le)更直觀地說明(ming)問(wen)題(ti),在同一幅(fu)圖(tu)中給出了(le)四個(ge)算法的仿(fang)真(zhen)曲線以方便進行性(xing)能比(bi)較。實驗中允許誤差為(wei)(wei)SA,即在設定迭代(dai)步數內仿(fang)真(zhen)結果(guo)與實際(ji)最(zui)優(you)值(zhi)之(zhi)間(jian)的誤差小于SA則認(ren)為(wei)(wei)是成功收斂,否則不收斂(用“/”表(biao)示(shi))。

表1 F1Generalized Griewanks函數的實驗結(jie)果(guo)

表2 F2Goldstein-Price函數的實驗結果

表(biao)3 F3Shubert函數的實(shi)驗結果(guo)

表(biao)4 F4Shekel’s Family函數的實驗(yan)結果(guo)

表5 F5weierstrassy函數的實(shi)驗結果

從(cong)表1至表5的(de)(de)(de)數據可以看(kan)出,基(ji)于變換函數和填充函數的(de)(de)(de)控制系統(tong)優化算(suan)法(fa)相(xiang)對于前面(mian)四種控制算(suan)法(fa),減少了算(suan)法(fa)陷入(ru)最優值的(de)(de)(de)可能,完成(cheng)了成(cheng)功(gong)收斂且收斂精度都很好。

多系(xi)(xi)(xi)統(tong)(tong)并行計(ji)算的(de)(de)(de)(de)智(zhi)(zhi)能(neng)(neng)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)與填(tian)(tian)充(chong)函數(shu)法(fa)(fa)結合的(de)(de)(de)(de)基于變換函數(shu)和填(tian)(tian)充(chong)函數(shu)的(de)(de)(de)(de)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)優(you)(you)(you)化(hua)算法(fa)(fa),一(yi)方(fang)面,既保留了智(zhi)(zhi)能(neng)(neng)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)的(de)(de)(de)(de)多系(xi)(xi)(xi)統(tong)(tong)并行計(ji)算和群體學習(xi)的(de)(de)(de)(de)優(you)(you)(you)點,又在(zai)一(yi)定程度上(shang)克服了智(zhi)(zhi)能(neng)(neng)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)算法(fa)(fa)容(rong)易陷入(ru)局(ju)部最(zui)優(you)(you)(you)點的(de)(de)(de)(de)不(bu)足。另一(yi)方(fang)面,智(zhi)(zhi)能(neng)(neng)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)算法(fa)(fa)具(ju)有(you)較強(qiang)的(de)(de)(de)(de)局(ju)部搜(sou)索能(neng)(neng)力,而填(tian)(tian)充(chong)函數(shu)法(fa)(fa)則保證(zheng)了智(zhi)(zhi)能(neng)(neng)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)算法(fa)(fa)的(de)(de)(de)(de)全局(ju)搜(sou)索,從(cong)而大大提高了智(zhi)(zhi)能(neng)(neng)控(kong)制(zhi)(zhi)(zhi)系(xi)(xi)(xi)統(tong)(tong)算法(fa)(fa)的(de)(de)(de)(de)尋優(you)(you)(you)精度。

下面給(gei)出對應于圖(tu)10至(zhi)圖(tu)14,作為被優(you)化函(han)數的(de)5個(ge)基準測(ce)試函(han)數:

1.Generalized Rastrigin函數

函數表達式:

搜索范圍:-5.12≤xi≤5.12(本文實(shi)驗(yan)采用(yong)30維)。

全局最優值:min(F1)=F1(0,...,0)=0。

2.Kowalik函數

函數表達式:

搜索范圍:-2≤xi≤2(自變量4維)。

全局最(zui)優(you)值:min(F2)≈F2(-0.1928,0.1908,0.1231,0.1358)≈3.0749e-4

3.Shubert函數(shu)

函數表達式:

搜索范圍:-10≤xi≤10(自(zi)變量2維)。全局最優值:min(F3)=-186.7309。

4.Shekel’s Family

函數表達式:

c=[0.1 0.2 0.2 0.4 0.4 0.6 0.3 0.7 0.5 0.5]

搜索范圍:0≤xi≤10(自變量4維)。全局最優值(zhi):min(F4)=F4(4,4,4,4)=-10.5364。

5.Weierstrass函數

函數表達式:

a=0.5,b=3,kmax=20

搜索范圍:-5.12≤xi≤5.12(本文實驗采用10維)。全(quan)局最優值:min(F5)=F5(0,...0)=0。

當前第1頁1 2 3 
網(wang)友(you)詢問留(liu)言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1