閆隴剛,李 鵬,王建新,鄧德榮,楊興繁,黎 明
(中國工程物理研究院 應(yīng)用電子學(xué)研究所,四川 綿陽 621900)
基于加速器的光源主要包括同步輻射和自由電子激光,這兩類光源均通過波蕩器中的周期性磁場產(chǎn)生強輻射光,因此其輻射性能很大程度上取決于波蕩器的磁場和磁場誤差[1-2]。目前最常用的永磁波蕩器是由Halbach[3]于1980年代發(fā)明的,其包含兩個以上由永磁塊和軟鐵磁極組成的磁陣列。在永磁波蕩器的制造過程中不可避免地會存在各種缺陷,如機械加工公差、磁鐵或磁極的定位偏差、永磁塊之間磁化強度與磁化方向的差異和單個永磁塊磁化不均勻等,這均是波蕩器磁場誤差的來源[4-5]。波蕩器磁場誤差主要包括電子軌跡中心偏差、峰峰值誤差、相位誤差和高階場等,若這些誤差不能限制在一定范圍內(nèi)都會使光源性能下降[6]。波蕩器磁場墊補通過對局部磁場進行小的修正來減小磁場誤差,磁場墊補方法分為兩類:移動磁鐵或磁極方位的機械墊補和在永磁塊或磁極表面貼軟磁片的磁墊補,這兩類方法中局部墊補量的精確推算是關(guān)鍵步驟之一[7]。目前,在特定某一局部位置,機械墊補位移量和磁墊補軟磁片尺寸已能用解析方法計算[8-9],針對特定的誤差指標,全局各點的墊補量也能通過解析方法或優(yōu)化算法進行推算[10-12]。但波蕩器磁場誤差指標一般有多個,且很多情況下相互沖突,由于現(xiàn)有墊補量推算方法的限制,只能分別針對每個誤差指標依次進行墊補,然后再對磁場進行復(fù)測,若有磁場誤差不滿足指標要求,還必須再次對磁場進行調(diào)整,這使得磁場墊補工作效率十分低下[13]。因此,發(fā)展基于多目標優(yōu)化算法的磁場墊補量推算方法十分迫切,將有可能通過1次墊補使得波蕩器磁場誤差滿足所有指標要求。
遺傳算法是一種通過模擬自然進化過程搜索最優(yōu)解的方法,其主要優(yōu)點包括:具有良好的全局尋優(yōu)能力,且搜索過程不易陷入局部最優(yōu)解;不需確定規(guī)則,卻能自動獲取和調(diào)整搜索方向;無求導(dǎo)和函數(shù)連續(xù)性的限定;具有固有的并行性;可擴展性強[14]。遺傳算法最早由Holland[15]于1975年進行了系統(tǒng)論述,目前已發(fā)展出多個變種,廣泛應(yīng)用于各領(lǐng)域,尤其在組合優(yōu)化問題中顯示出更多優(yōu)勢[16]。
中國工程物理研究院太赫茲自由電子激光(CTFEL)裝置是國內(nèi)首臺工作在太赫茲波段且具有高重復(fù)頻率和高占空比的諧振腔型自由電子激光器,該裝置目前已飽和出光,并為國內(nèi)外用戶提供實驗機時[17-18]。為對CTFEL裝置的輻射性能進行擴展,計劃在CTFEL裝置束線直線段后建立1套超輻射源,并借鑒中國科學(xué)院上海應(yīng)用物理研究所波蕩器U38研制1臺波蕩器U38-S。本文將多目標遺傳算法應(yīng)用于波蕩器U38-S磁場墊補量的推算,為減小電子軌跡偏移、相位誤差和峰峰值誤差,對波蕩器U38-S的磁場進行墊補。
U38-S指標要求列于表1。U38-S波蕩器具有典型的Halbach型磁結(jié)構(gòu)[19],磁結(jié)構(gòu)上下兩排磁陣列各有12個標準周期,間隙固定在18 mm。U38-S需要優(yōu)化的誤差指標包括軌跡中心偏差、相位誤差和峰峰值誤差,需分別小于0.2 mm、5°和0.5%。
表1 U38-S指標要求Table 1 Specification requirement of U38-S
遺傳算法中優(yōu)化問題的候選解稱為個體,個體擁有1個或多個染色體,若干個體組成1個種群,種群經(jīng)過類似自然進化的過程最終得到最優(yōu)個體。典型遺傳算法的基本流程如下:
1) 初始化,隨機或以一定方式產(chǎn)生初始種群的個體;
2) 終止判斷,判斷種群是否達到終止要求,若是則停止進化,若不是則進入下一步進化;
3) 個體評價,計算種群中個體的適應(yīng)度,作為后續(xù)選擇的依據(jù);
4) 選擇,依據(jù)種群中個體的適應(yīng)度,選擇適應(yīng)度高的個體直接遺傳到下1代或通過交叉變異產(chǎn)生新的個體再遺傳到下1代;
5) 交叉,群體中個體隨機配對,并按隨機確定的交叉點交換一定數(shù)量的基因;
6) 變異,改變種群中個體的染色體隨機位置的基因;
7) 新種群產(chǎn)生,群體經(jīng)過選擇、交叉、變異后產(chǎn)生下1代種群,新種群進入步驟2進行判斷。
實際工程優(yōu)化一般有多個目標,且大多數(shù)情況下目標之間是相互沖突的,在多目標遺傳算法中有權(quán)重系數(shù)變換法、并列選擇法、排列選擇法、共享函數(shù)法和混合法等來處理這個問題[20]。其中權(quán)重系數(shù)變換法最為簡便常用,其給第j個子目標函數(shù)tj(p1,p2,…,pl)賦予權(quán)重系數(shù)wj,全部k個子目標函數(shù)線性加權(quán)組成新的目標函數(shù)T(式(1)),通過這種方法將多目標優(yōu)化問題轉(zhuǎn)化為單目標優(yōu)化問題。
(1)
U38-S的磁結(jié)構(gòu)和1/2周期單元如圖1所示。1/2周期單元是磁結(jié)構(gòu)的標準組件,其具有兩個半磁塊夾1個磁極的三明治結(jié)構(gòu),這種磁結(jié)構(gòu)既便于加工和安裝,又易于磁場墊補。磁場墊補時可在1/2周期單元與底板之間塞入一定厚度的銅片,通過改變1/2周期單元的位置來改變局域磁場。
圖1 U38-S的磁結(jié)構(gòu)和1/2周期單元Fig.1 Magnetic structure and 1/2-period unit of U38-S
為明確1/2周期單元位移量d與其產(chǎn)生的局域磁場變化之間的關(guān)系,分別在Radia[21]和OPERA中建立了U38-S磁結(jié)構(gòu)的物理模型并進行了計算。圖2為1/2周期單元移動0.001 mm后附近5個1/2周期單元范圍內(nèi)的局域磁場變化,該曲線用S(z′)來表示,其中-5/4λu (2) 圖2 1/2周期單元移動0.001 mm后5個1/2周期單元內(nèi)的局域磁場變化Fig.2 Modification of local magnetic field in range of five 1/2-period units after displacing of 0.001 mm for 1/2-period unit 1) 軌跡中心偏差 B(z)下的電子軌跡x(z)為: (3) 其中,γ、c、m0和e分別為電子相對論因子、光速、電子靜止質(zhì)量和電子電荷。 Δxn_center=(xn+xn+1)/2 (4) 其中,xn和xn+1分別為相鄰最大和最小兩個軌跡峰值。軌跡中心偏差Δxrms定義為2Nu個Δxn_center的均方根差。 2) 相位誤差 B(z)下的相位Φ(z)為: (5) 第i個磁極處的相位誤差ΔΦ(zi)等于磁極處相位減去2iπ: ΔΦ(zi)=Φ(zi)-2iπ (6) 則相位誤差(ΔΦ)rms定義為2Nu個ΔΦ(zi)的均方根值。 3) 峰峰值誤差 峰峰值誤差(ΔB/B)rms也是所有峰值磁場絕對值的均方根差。 U38-S需優(yōu)化的誤差指標包括軌跡中心偏差、相位誤差和峰峰值誤差,因此多目標函數(shù)應(yīng)是它們的線性疊加。希望以上3個指標在優(yōu)化過程中應(yīng)具有相等的地位,但它們的數(shù)值大小不在同一范圍內(nèi),因此通過權(quán)重系數(shù)將它們變換到大致相當?shù)姆秶鷥?nèi),于是多目標函數(shù)T(B(z))為: T(B(z))=10Δxrms+ (ΔΦ)rms+500(ΔB/B)rms (7) U38-S指標要求只有3個目標量,對于其他指標要求更多的波蕩器如橢圓極化波蕩器,以上方法同樣適用,仍是以合適的權(quán)重系數(shù)對所有目標量進行線性疊加得到目標函數(shù)。另外,U38-S指標要求的3個目標量的優(yōu)先級是平級關(guān)系,在其他波蕩器中若出現(xiàn)某個目標量相對擁有一定優(yōu)先級,可通過適當增加該目標量的權(quán)重系數(shù)來實現(xiàn)。 遺傳算法優(yōu)化結(jié)果與效率對參數(shù)和配置較敏感,根據(jù)以往經(jīng)驗確定遺傳算法參數(shù)(表2)。另外,算法配置還有以下特點。 1) 編碼。合理的編碼能大幅提高遺傳算法效率,一般會將實數(shù)轉(zhuǎn)換為二進制。這里將Cn轉(zhuǎn)換為六位二進制碼,共有2Nu個Cn,則每個個體染色體均為6×2Nu的二維矩陣,其組成形式如圖3所示。 2) 初始化。遺傳算法一般采用隨機方法產(chǎn)生初始種群,但波蕩器磁場墊補不同,其每個1/2周期單元的初始位移量均為0,因此將初始種群個體的Cn均置為0,同時這也在一定程度上限制了需墊補的1/2周期單元數(shù)。 3) 精英選擇。為加快進化速度和保證在進化過程中最優(yōu)解不會丟失,在個體選擇時保留一適應(yīng)度最高的個體直接進入下1代,而不經(jīng)過交叉和變異過程。只保留1個的原因是若保留的精英數(shù)過多,易陷入局部最優(yōu)解。 表2 遺傳算法參數(shù)Table 2 Parameter of genetic algorithm 圖3 個體染色體編碼結(jié)構(gòu)Fig.3 Structure of individual’s chromosome 基于上述計算模型,使用Python語言編寫了計算程序,并調(diào)用了Pyevolve遺傳算法庫[23]。Pyevolve定義了1組染色體類型、交叉變異算子和選擇方法等,用戶可按照需要進行調(diào)用,從而將主要精力放在算法本身上。本文染色體表達類型是二維二進制字符串G2DBinaryString,交叉算子是水平單點交叉法G2DBinaryStringXSingleHPoint,變異算子是隨機翻轉(zhuǎn)法G2DBinaryStringMutatorFlip,選擇方法是錦標賽選擇GTournamentSelector。 利用磁場點測臺測量了U38-S中心軸線上的磁場,磁場點測臺的工作模式為go-stop,測量步長為0.5 mm,停頓時間為0.5 s,高斯計測磁精度和分辨率分別為0.05%和0.1 Gs?;诖艌鳇c測臺的測量結(jié)果,利用計算程序計算了所需墊補量,并對U38-S進行了3次墊補,圖4a為每次墊補的1/2周期單元位移量,圖4b為電子軌跡及軌跡中心的進化過程。圖5為相位誤差和峰峰值誤差的進化過程。每次磁場墊補后磁場指標均有所提高,且需墊補的1/2周期個數(shù)也逐漸減少。第3次墊補后,軌跡中心偏差、相位誤差和峰峰值誤差分別減小到0.15 mm、1°和0.49%,滿足了U38-S的指標要求。理想情況下在引入多目標遺傳算法推算磁場墊補量后,只需1次墊補就可達到所有指標要求,但本文進行了3次墊補,主要原因可能是墊補機械結(jié)構(gòu)精度不夠,導(dǎo)致位移量不能精確控制。 圖4 1/2周期單元位移量(a)與電子軌跡及軌跡中心的進化過程(b)Fig.4 Displacement of 1/2-peroid unit (a) and evolution of electron trajectory and trajectory center (b) 圖5 相位誤差(a)和峰峰值誤差(b)的進化過程Fig.5 Evolution of phase error (a) and peak-to-peak error (b) 本文將多目標遺傳算法應(yīng)用于墊補量的推算,對波蕩器U38-S的磁場進行了墊補,經(jīng)過3次磁場墊補U38-S的性能達到指標要求,軌跡中心偏差、相位誤差和峰峰值誤差分別減小到0.15 mm、1°和0.49%。相比其他方法,多目標遺傳算法在墊補量推算上具有一定優(yōu)越性,可同時針對多個指標進行磁場墊補,且由于遺傳算法具有很好的可擴展性,因此對于其他類型的波蕩器磁場墊補也會有很好的適用性。3.2 多目標函數(shù)
3.3 算法配置
4 U38-S磁場墊補
5 結(jié)論