本發(fā)明涉及電磁學(xué)領(lǐng)域,具體地,涉及一種智能的電場分析系統(tǒng)。
背景技術(shù):
電場數(shù)值計(jì)算對(duì)于電器設(shè)備的絕緣計(jì)算分析和結(jié)構(gòu)的優(yōu)化設(shè)計(jì)、高壓輸電線周圍電場分析、建筑遭受雷擊的可能性大小預(yù)測等有著極為重要的意義。對(duì)于電場計(jì)算來說,常用的計(jì)算方法有有限差分法、有限單元法、表面電荷密度法和模擬電荷法。相較于有限差分法和有限元法,模擬電荷法無需封邊,計(jì)算維度低,能直接求出場域內(nèi)任意一點(diǎn)的場強(qiáng);相較于表面電荷密度法,模擬電荷法計(jì)算公式簡單,不存在奇點(diǎn)處理問題,電極表面附近的電場計(jì)算精度較高。因此,實(shí)際應(yīng)用中模擬電荷法的使用頻率很高。但是,模擬電荷的個(gè)數(shù)、性質(zhì)、位置及大小的選擇大多根據(jù)計(jì)算者的經(jīng)驗(yàn)來確定,沒有實(shí)現(xiàn)程序化,調(diào)整工作十分煩冗。
技術(shù)實(shí)現(xiàn)要素:
為了克服目前用模擬電荷法計(jì)算電場時(shí)模擬電荷的確定工作十分煩冗、不佳的模擬電荷影響電場分析精度的不足,本發(fā)明的目的在于提供一種智能的電場分析系統(tǒng)。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種智能的電場分析系統(tǒng),該系統(tǒng)由模型模塊、優(yōu)化模塊與分析模塊三部分組成;模型模塊存儲(chǔ)各種理想的電荷模型周圍的電場分布情況與計(jì)算方式,優(yōu)化模塊對(duì)模擬電荷的電荷量與位置進(jìn)行優(yōu)化,分析模塊根據(jù)最優(yōu)模擬電荷分析場域電場;其中:
優(yōu)化模塊在待分析的場域外部布置n個(gè)模擬電荷,均分布在z軸,z∈[0,zmax],zmax為可布置距離的上限;待優(yōu)化的變量為這n個(gè)模擬電荷的電量qk及其位置zk,k=1,2,...,n;優(yōu)化目的為使模擬電荷在場域內(nèi)產(chǎn)生的電場與電極表面電荷產(chǎn)生的電場相同,以便于后續(xù)的電場自動(dòng)分析;
然后,初始化種群規(guī)模為ns的粒子群,隨機(jī)生成維度為2n的粒子i的初始位置xi=(xi1,xi2,...,xi(2n))和初始速度vi=(vi1,vi2,...,vi(2n)),i=1,2,...,ns;定義維度變量d,d=1,2,...,2n;當(dāng)d=1,2,...,n時(shí),xid代表第d個(gè)模擬電荷的電量,xid∈[0,1],vid∈[-1,1];當(dāng)d=n+1,n+2,...,2n時(shí),xid代表第d-n個(gè)電荷的位置zd-n,xid∈[0,zmax],vid∈[-zmax,zmax];種群規(guī)模ns=300~600;
電極表面有檢驗(yàn)點(diǎn)m個(gè),為了使模擬電荷對(duì)檢驗(yàn)點(diǎn)產(chǎn)生的電勢(shì)與電極表面的已知電勢(shì)相同,問題的目標(biāo)函數(shù)為式(1):
其中,
構(gòu)造適應(yīng)度函數(shù)fitness,見式(2):
其中,f為目標(biāo)函數(shù);
將初始化后粒子的位置信息代入式(2),獲得初始適應(yīng)度函數(shù)值;適應(yīng)度函數(shù)值最大的粒子為全局最優(yōu)粒子,其位置為pbest=(pbest1,pbest2,...,pbest(2n));記fitnesst為第t次迭代時(shí)的適應(yīng)度函數(shù),t為迭代計(jì)數(shù),初始時(shí)fitness0=fitness;然后按以下方法進(jìn)行迭代,初始時(shí)迭代計(jì)數(shù)t=0:
(1)當(dāng)前迭代計(jì)數(shù)為t,當(dāng)t=0或t為τ的整數(shù)倍時(shí),繼續(xù)步驟(2)進(jìn)行分群操作,否則不分群,直接跳到步驟(3);τ=3~6;
(2)對(duì)所有粒子進(jìn)行分群操作,具體包括以下子步驟:
(2.1)將所有粒子按照適應(yīng)度值大小從大到小排序,選取適應(yīng)度值最大的粒子作為一個(gè)子群中心;
(2.2)在剩下的粒子中選取適應(yīng)度值最大的粒子,依次計(jì)算該粒子與各個(gè)子群中心的歐幾里得距離;粒子i與粒子j的歐幾里得距離dist(i,j)定義為:
其中,xi=(xi1,xi2,...,xi(2n))代表粒子i的位置,xj=(xj1,xj2,...,xj(2n))代表粒子j的位置,i,j=1,2,...,ns;若該粒子與某一個(gè)子群中心的歐幾里得距離小于半徑r,則將該粒子歸為該子群中心所在的子群,并不再計(jì)算該粒子與剩下的子群中心的歐幾里得距離;若該粒子與所有子群中心的距離都大于半徑r,則將該粒子置為一個(gè)新的子群中心;半徑r=0.01~0.02;(2.3)重復(fù)步驟(2.2),直到處理完所有粒子,則分群完成,且每個(gè)子群中心為該子群中適應(yīng)度值最大的粒子;
(3)按照式(4)(5)更新每個(gè)粒子的速度與位置:
vid(t)=vid(t-1)+c1·rand·(pid-xid(t-1))+c2·rand·(pigd-xid(t-1))(4)
xid(t)=xid(t-1)+vid(t)(5)
其中,加速因子c1=c2=2,rand為0到1之間的隨機(jī)數(shù),i=1,2,...,ns,d=1,2,...,2n,pi=(pi1,pi2,...,pi(2n))為粒子i的歷史最優(yōu)位置,pig=(pig1,pig2,...,pig(2n))為粒子i所在的子群的最優(yōu)粒子的位置;更新后,當(dāng)d=1,2,...,n時(shí),若xid<0,則令xid=0,若xid>1,則令xid=1;當(dāng)d=n+1,n+2,...,2n時(shí),若xid<0,則令xid=0,若xid>zmax,則令xid=zmax;
(4)更新適應(yīng)度函數(shù);若目前搜索到的整個(gè)種群中的最優(yōu)粒子pbest=(pbest1,pbest2,...,pbest(2n))在連續(xù)a次迭代中保持不變,則將pbest的位置與適應(yīng)度函數(shù)值記錄下來,并對(duì)pbest進(jìn)行懲罰;具體懲罰操作為:當(dāng)粒子i與pbest的距離小于半徑r,則粒子i的適應(yīng)度函數(shù)值就變得很小,見式(6):
其中,fitnesst為這一次迭代的適應(yīng)度函數(shù),fitnesst-1為上一次迭代時(shí)的適應(yīng)度函數(shù),i=1,2,...,ns,α為罰因子,令α=0;若沒有新增的接受懲罰的點(diǎn),則:
fitnesst=fitnesst-1(7)
a的大小見式(8):
其中,t為當(dāng)前迭代次數(shù),tmax為最大迭代次數(shù),
(5)根據(jù)式(6)、(7)計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)值,計(jì)算電勢(shì)
(6)更新全局最優(yōu)粒子的位置pbest=(pbest1,pbest2,...,pbest(2n)),迭代計(jì)數(shù)累加,t=t+1;
(7)重復(fù)步驟(1)~(6),直到達(dá)到最大迭代次數(shù)tmax停止迭代,tmax=100~2000;
種群全局最優(yōu)粒子pbest=(pbest1,pbest2,...,pbest(2n))所在的位置即優(yōu)化后的n個(gè)模擬電荷的電荷量及其位置,模擬電荷最優(yōu)布置完成;
優(yōu)化模塊將模擬電荷的最優(yōu)布置結(jié)果傳送給分析模塊,分析模塊利用模擬電荷法分析場域電場,實(shí)現(xiàn)電場的自動(dòng)最優(yōu)分析工作。
本發(fā)明的有益效果主要表現(xiàn)在:利用模擬電荷分析法來分析場域電場,將復(fù)雜的電場分析問題簡單化;采用智能優(yōu)化來確定模擬電荷的最佳大小與位置,提高了電場分析的精度;改進(jìn)的智能優(yōu)化方法自動(dòng)判斷分群與否,保證了算法的收斂性;改進(jìn)的智能優(yōu)化方法自適應(yīng)地變化適應(yīng)度函數(shù),提高了算法的搜索多樣性。本系統(tǒng)運(yùn)行速度快,搜索能力強(qiáng),分析精度高。
附圖說明
圖1是球棒/地電極模型;
圖2是本發(fā)明的結(jié)構(gòu)圖;
圖3是本發(fā)明的流程圖。
具體實(shí)施方式
下面根據(jù)附圖以一個(gè)實(shí)例具體說明本發(fā)明。
參照?qǐng)D1,球棒/地電極模型,距地面高h(yuǎn),半球半徑為r,金屬棒無限長,金屬球棒表面帶有電荷。參照?qǐng)D2,智能電場分析系統(tǒng)由模型模塊、優(yōu)化模塊與分析模塊三部分組成。模型模塊存儲(chǔ)各種理想的電荷模型周圍的電場分布情況與計(jì)算方式,優(yōu)化模塊對(duì)模擬電荷的電荷量與位置進(jìn)行優(yōu)化,分析模塊根據(jù)最優(yōu)模擬電荷分析場域電場。其中:
優(yōu)化模塊在待分析的場域外部,即金屬球棒內(nèi)部布置n個(gè)模擬電荷,n=3,分別為一個(gè)點(diǎn)電荷q1和兩個(gè)半無限長的線電荷q2、q3。這三個(gè)模擬電荷分布在z軸,坐標(biāo)分別為z1,z2,z3。待優(yōu)化的變量為這3個(gè)模擬電荷的電量qk及其位置zk,k=1,2,3。優(yōu)化目的為使模擬電荷在場域內(nèi)產(chǎn)生的電場與電極表面電荷產(chǎn)生的電場相同。
然后,初始化種群規(guī)模為ns的粒子群,隨機(jī)生成維度為6的粒子的初始位置xi=(xi1,xi2,...,xi6)和初始速度vi=(vi1,vi2,...,vi6),i=1,2,...,ns。定義維度變量d,d=1,2,...,6。當(dāng)d=1,2,3時(shí),xid代表第d個(gè)模擬電荷的電量,由于元電荷的數(shù)量級(jí)為10-19,因此相對(duì)于元電荷,為模擬電荷設(shè)立一個(gè)比較大的電荷量范圍,xid∈[0,1],vid∈[-1,1];當(dāng)d=4,5,6時(shí),xid代表第d-3個(gè)電荷的位置zd-3,xid∈[h,zmax],vid∈[-(zmax-h),zmax-h],zmax為模擬電荷分布的最遠(yuǎn)距離。種群規(guī)模ns=300~600。
電極表面有檢驗(yàn)點(diǎn)m個(gè),為了使模擬電荷對(duì)檢驗(yàn)點(diǎn)產(chǎn)生的電勢(shì)與電極表面的已知電勢(shì)相同,問題的目標(biāo)函數(shù)為式(1):
其中,
其中,ε為介電常量。電勢(shì)的計(jì)算過程在模型模塊中進(jìn)行。f≥0,目標(biāo)函數(shù)的理論值為0。
構(gòu)造適應(yīng)度函數(shù)fitness,見式(3):
其中,f為目標(biāo)函數(shù)。適應(yīng)度函數(shù)值越大,代表目標(biāo)函數(shù)值越小,布置的模擬電荷越優(yōu)。
將初始化后粒子的位置信息代入式(3),獲得適應(yīng)度函數(shù)值。適應(yīng)度函數(shù)值最大的粒子為全局最優(yōu)粒子,其位置為pbest=(pbest1,pbest2,...,pbest6)。由于后續(xù)迭代過程中適應(yīng)度函數(shù)有發(fā)生變化的可能,因此記fitnesst為第t次迭代時(shí)的適應(yīng)度函數(shù),t為迭代計(jì)數(shù),初始時(shí)fitness0=fitness。然后按以下方法進(jìn)行迭代,初始時(shí)迭代計(jì)數(shù)t=0:
(1)過分頻繁的分群操作會(huì)擾亂粒子的正常更新,影響收斂的穩(wěn)定性;而不分群又會(huì)降低算法的搜索能力。因此降低分群的頻率既可保持算法的搜索能力又不至于影響粒子的更新穩(wěn)定性。當(dāng)前迭代次數(shù)為t,當(dāng)t=0或t為τ的整數(shù)倍時(shí),繼續(xù)步驟(2)進(jìn)行分群操作,否則不分群,直接跳到步驟(3)?;趯?shí)踐經(jīng)驗(yàn),令τ=3~6。
(2)對(duì)所有粒子進(jìn)行分群操作,具體包括以下子步驟:
(2.1)將所有粒子按照適應(yīng)度值大小從大到小排序,選取適應(yīng)度值最大的粒子作為一個(gè)子群中心;
(2.2)在剩下的粒子中選取適應(yīng)度值最大的粒子,依次計(jì)算該粒子與各個(gè)子群中心的歐幾里得距離。粒子i與粒子j的歐幾里得距離dist(i,j)定義為::
其中,xi=(xi1,xi2,...,xi6)代表粒子i的位置,xj=(xj1,xj2,...,xj6)代表粒子j的位置,i,j=1,2,...,ns。若該粒子與某一個(gè)子群中心的歐幾里得距離小于半徑r,則將該粒子歸為該子群中心所在的子群,并不再計(jì)算該粒子與剩下的子群中心的歐幾里得距離;若該粒子與所有子群中心的距離都大于半徑r,則將該粒子置為一個(gè)新的子群中心。根據(jù)搜索空間的大小,令半徑r=0.01~0.02。
(2.3)重復(fù)步驟(2.2),直到處理完所有粒子,則分群完成,且每個(gè)子群中心為該子群中適應(yīng)度值最大的粒子。
(3)按照式(5)、(6)更新每個(gè)粒子的速度與位置:
vid(t)=vid(t-1)+c1·rand·(pid-xid(t-1))+c2·rand·(pigd-xid(t-1))(5)
xid(t)=xid(t-1)+vid(t)(6)
其中,加速因子c1=c2=2,rand為0到1之間的隨機(jī)數(shù),i=1,2,...,ns,d=1,2,...,6,pi=(pi1,pi2,...,pi6)為粒子i的歷史最優(yōu)位置,pig=(pig1,pig2,...,pig6)為粒子i所在的子群的最優(yōu)粒子的位置。更新后,當(dāng)d=1,2,3時(shí),若xid<0,則令xid=0,若xid>1,則令xid=1;當(dāng)d=4,5,6時(shí),若xid<h,則令xid=h,若xid>zmax,則令xid=zmax。
(4)更新適應(yīng)度函數(shù)。若目前搜索到的整個(gè)種群中的最優(yōu)粒子pbest=(pbest1,pbest2,...,pbest6)在連續(xù)a次迭代中保持不變,則將pbest的位置與適應(yīng)度函數(shù)值記錄下來,并對(duì)pbest進(jìn)行懲罰。具體懲罰操作為:當(dāng)粒子i與pbest的距離小于半徑r,則粒子i的適應(yīng)度函數(shù)值就變得很小,見式(7):
其中,fitnesst為這一次迭代的適應(yīng)度函數(shù),fitnesst-1為上一次迭代時(shí)的適應(yīng)度函數(shù),i=1,2,...,ns,α為罰因子,一個(gè)很小的數(shù),令α=0。改變適應(yīng)度函數(shù)的目的是防止pbest只是一個(gè)局部最優(yōu),太多的粒子被這個(gè)局部最優(yōu)吸引而不去探索其他區(qū)域從而遺漏真正的全局最優(yōu)。經(jīng)過式(7)的操作以后,當(dāng)粒子接近pbest時(shí),適應(yīng)度函數(shù)值就會(huì)變得很小,不具備再次作為全局最優(yōu)的能力,因此粒子將會(huì)探索其他可行域。變化的適應(yīng)度函數(shù)提高了算法的搜索能力。若沒有新增的接受懲罰的點(diǎn),則
fitnesst=fitnesst-1(8)
同時(shí),a的選擇也很關(guān)鍵,a太小時(shí)子群內(nèi)的粒子未完全收斂,pbest還不是r范圍內(nèi)的最優(yōu)值,因此a的大小見式(9):
其中,t為當(dāng)前迭代次數(shù),tmax為最大迭代次數(shù),
(5)根據(jù)式(7)、(8)計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)值,計(jì)算電勢(shì)
(6)更新全局最優(yōu)粒子的位置pbest=(pbest1,pbest2,...,pbest6),迭代計(jì)數(shù)累加,t=t+1。
(7)重復(fù)步驟(1)~(6),直到達(dá)到最大迭代次數(shù)tmax停止迭代,tmax=100~2000。
種群全局最優(yōu)粒子pbest=(pbest1,pbest2,...,pbest6)所在的位置即優(yōu)化后的3個(gè)模擬電荷的電荷量及其位置,模擬電荷最優(yōu)布置完成。
優(yōu)化模塊將模擬電荷的最優(yōu)布置結(jié)果傳送給分析模塊,分析模塊利用模擬電荷法分析場域電場,實(shí)現(xiàn)電場的自動(dòng)最優(yōu)分析工作。
上述實(shí)施例用來解釋說明本發(fā)明,而不是對(duì)本發(fā)明進(jìn)行限制,在本發(fā)明的精神和權(quán)利要求的保護(hù)范圍內(nèi),對(duì)本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護(hù)范圍。