李建超,蘇俊宏
(西安工業大學光電工程學院,陜西 西安 710021)
在高功率激光使用環境下光學元件的損傷特性對于光學系統的可靠性至關重要。準確測試光學元件的激光損傷閾值是提高抗損傷的必要條件。在損傷測試系統中,激光能量衰減器對作用于被測光學元件表面的激光能量起著調控作用。
20世紀80年代,各國對光衰減器的研究投入了相當的人力和物力。到目前為止,已形成了固定式、步進可調式、連續可調式及智能型光衰減器四種系列。目前國內設計方法主要有機械式調光闌法、光電技術調光法、晶體吸收法、偏振衰減法和吸收式衰減片;國外設計方法主要有:利用內反射原理,改變間隙和透射厚度的雙直角棱鏡對實現;利用菲涅爾原理的旋轉光楔對實現衰減[1-3]。這些方法各有利弊。本系統采用的是輪盤式中性密度濾光片以三組級聯方式實現的激光能量衰減,能量衰減率間隔最大值為測試激光能量的12 %,最小為5 %。
精度高是光衰減器的重要指標,在本系統中,對激光能量的測試是離散的并不連續,這就要求各一個測試點間隔盡量一致且細分程度越高越好,直接影響著系統的測試精度。因此,針對這一問題,本文利用解決多目標、多模型的優化算法——遺傳算法[4-8]并進行了改進,實現了衰減片參數的優化,提高了系統測試精度。
本激光損傷測試系統如圖1所示,1064 nm高能脈沖Nd∶YAG激光器發出測試激光,經輪盤式級聯式中性密度濾光片的衰減,經匯聚透鏡,分束鏡,輻照樣片,測試樣片損傷閾值。

圖1 薄膜激光損傷判別系統
圖2為衰減器結構,圖2(a)為衰減盤的級聯情況,系統由3個衰減盤組成;圖2(b)為衰減片在衰減盤上的分布,其中為使整個系統的能量調節能達到測試激光器的最大值,在每個衰減盤的5個衰減工位中,設計一個衰減率為0的工位。其余4個工位為0 %~99 %范圍內不同衰減率的衰減片,3個衰減盤級聯,通過不同衰減片的組合,形成不同衰減率組合。

圖2 衰減器結構
對三個衰減盤不同的衰減值種類及分布,達到衰減后的激光能量值間隔和線性度達到所需求的最佳的目標值,這是一個典型的多約束目標求解的問題,而遺傳算法在對于參數組合的多樣性和復雜性提供了較好的解決方案,考慮到該衰減片參數設置的特點,本文采用遺傳算法作為解決衰減片參數優化的算法。
遺傳算法(Genetic Algorithms,GAs)是基于自然選擇和自然遺傳機制的搜索算法,它是一種有效的解決最優化問題的方法。遺傳算法最早是由美國Michigan大學的John Holland和他的同事及學生提出的。類似于自然界演化的基本法則,“適者生存”是遺傳算法的核心機制,同樣,復制(reproduce)、雜交(crossover)、變異(mutation)等自然界的生物演化規則在遺傳算法中都得到類似的體現。圖3為基本遺傳算法流程圖。

圖3 基本遺傳算法流程圖
在遺傳算法中,首先應初始化,即確定參數的個數并隨機賦值。在本測試系統中,采用3組5片衰減片級聯形式,且含有一個衰減率為0的衰減片。除去每個衰減盤上的0衰減片工位,剩余12片衰減工位,衰減片的種類未知數,也就是說,遺傳算法中的參數個數不確定,因此存在種類數和不同種類數情況下每一衰減片的具體衰減率值及分布兩重優化問題。為使優化簡便,預設衰減片的種類分別為6、7、8、9、10種,然后分別用遺傳算法編寫程序進行優化。
考慮到搜索范圍和精度要求,同時實數編碼可避免頻繁的編碼和解碼,提高算法運行效率,因此本文采用實數編碼方式。根據不同衰減種類數,每一個體設置不同位數。以8種不同衰減率為例,一個個體代表一條染色體,一個參數代表染色體上的一個基因點,每一個個體設置11位數,即每條染色體上有11個等位基因,其中編碼前三位分別代表三種盤符,其中1,2,3,4,5,6,7分別表示7種不同衰減率的衰減片,0代表衰減率為0 %,包括0共8種不同衰減率,其中,7個不同衰減值分別在4~10位表示,每一位數字代表的衰減值是優化的對象,0必須有,無需優化,不占基因點位,第11位為個體的適應度值,很明顯,適應度越大,染色體越接近目標值,所以3個衰減盤8種衰減度值及自身的適應度值共11位數組成。同理,9種不同衰減率就由12位數組成。
一般情況下二進制編碼與十進制編碼相比優點在于編碼、解碼操作簡單,交叉、變異等遺傳操作便于實現。因此,本文采用二進制編碼的遺傳算法。
遺傳算法在優化搜索中以適應度函數為尋優依據,在本算法中,對于一個個體,每個盤上有5個不同的衰減率數值,理論上根據共有125種組合,由于只有8種衰減值,所以125種必有組合結果相同的衰減率,須去除相同結果的組合,將剩余衰減率從小到大排序。設置變量N,初始化為3 %,同時設置變量x,初始化為0;將排好序的衰減率相鄰兩數兩兩做差,其中,差值如果在[0,3 %]范圍內,則X加1,負責,X=1。故每一個體都有一個X值,而這個X的大小就是這個個體的適應度值,X越大,則均勻性越好,選出X值最大的那個個體,即為最優解。
4.3.1 選擇算子
本算法在進行選擇時把適應度值排序和隨機選取相結合,對父代中的個體根據適應度進行了排序,然后對前50 %個體進行隨機選擇,這樣不僅能將父代中優秀的個體復制給下一代,而且還能有效的避免陷入局部最優。
4.3.2 雜交算子
雜交往往是根據交叉概率通過對父代兩個個體的部分結構進行替換重組而得到新的個體,但交叉概率太大或太小都會影響算法尋找全局最優,在本算法中,我們沒有采用交叉概率這個限制條件,我們采用的是在對父代選擇的兩個個體必然會產生交叉的基礎上,通過隨機交叉兩個個體的部分基因的方案,這樣不僅提高了算法的效率,而且產生的新個體使組合的新種群多樣性更大,這樣更利于達到全局最優。
4.3.3 變異算子
本算法是對雜交后的個體繼續進行變異,對表述個體的實數值進行二進制化,然后根據交叉概率的大小而對個體進行位操作,即就是1~3上的值(<35)分別和2,4,8,16,32進行了與操作,對于4~10上的值(<1024)進行了同樣的操作。這樣做能夠保持變異的范圍在給定的條件內。
根據參數的種類而決定種群規模的大小,設定算法的終止條件是達到進化代數,記錄每一代的個體對應的適應度值,選出適應度值最大的那個個體。算法流程圖如圖4所示。

圖4 改進遺傳算法流程圖
(1)初始化,并預先隨機產生500個個體。
(2)計算、記錄每一個個體的適應度值。
(3)根據適應度進行排序,在前50 %的個體中隨機選擇父本進行交叉,變異,生成200個新個體。
(4)對新一代200個個體進行適應度計算且記錄,并根據適應度選出700個個體中最佳的500個個體準備進行下一次重復操作。
(5)判斷:如果滿足終止條件則輸出結果并結束程序,否則繼續。
(6)根據記錄的所有的適應度值選出其最大的值所對應的個體,而此個體即為優化結果。
圖5是分別對于6,7,8,9,10種衰減度值在相同的約束條件下(精度要求小于3 %,循環代數10000次)所得到的適應度值分布圖,從圖中可以看出當三個盤上的衰減度分別由6和7個不同值組合時,其適應度都值為0,也就是沒有滿足要求的組合,而當其組合變為8個數字時,其適應度值是86,當衰減度個數再增加時,適應度值也逐漸隨之增加,而根據我們的要求,在滿足精度要求的情況下,衰減度的個數當然越少越好,所以當衰減度個數為8時,所組合的結果是最佳的。

圖5 適應度與衰減度個數關系圖
圖6是8種衰減度值所產生的適應度值隨著循環代數的增加而變化的曲線圖,從圖中可以看出,隨著循環代數的增加,適應度值在逐漸的增大,等到循環代數達到8000次時,適應度值基本不再增加。

圖6 適應度與循環代數關系曲線圖
圖7是8種衰減度值級聯組合而成的衰減率分布情況,在0和1之間分布著85個衰減率值,每兩個衰減率差值小于3 %,線性度為12.4 %。三個盤上的衰減度值分布如下(T(1),T(2),T(3))。

圖7 8種衰減度值級聯衰減率分布圖
T(1)=0,1,2,6,7(0,0.938,0.851,0.433,0.971)
T(2)=0,1,3,4,5(0,0.938,0.782,0.108,0.548)(不同衰減盤上的衰減度分布)
T(3)=0,3,5,6,7(0,0.782,0.548,0.433,0.971)
T(4)=1=960 960/1024=0.938T(5)=2=871 871/1024=0.851T(6)=3=801 801/1024=0.782T(7)=4=111 111/1024=0.108T(8)=5=561 561/1024=0.548T(9)=6=443 443/1024=0.433T(10)=7=994 994/1024=0.971(每個數代表的衰減度)
T(11)=86(適應度值)
實驗結果表明:改進后的遺傳算法具有以下優點:①相同約束條件,衰減盤參數的線性度和參數的個數存在近似的線性關系;②在參數個數確定的情況下,衰減盤參數的線性度隨著進化次數的增加而增加;③當參數個數達到8種時,進化代數達到8000次時,可穩定求解出最優解。
本文利用遺傳算法并進行了改進,優化了激光損傷測試系統衰減片參數。其中,實數編碼的改進,使每個個體能夠記憶其屬性值和適應度值,提高了算法的效率;選擇算子中,結合適應度值排序和隨機的選擇方法,不僅使父代優秀個體向子代轉移,而且還能有效的避免陷入局部最優;交叉算子中,采用父代必然發生交叉的策略,所產生新個體的種群、多樣性更大,加快全局最優的逼近速度。實驗結果證明這一改進遺傳算法的可行性,同時得出3組15片中,采用衰減率分別0,0.938,0.851,0.433,0.971;0,0.938,0.782,0.108,0.548;0,0.782,0.548,0.433,0.971的組合能達到最優的組合效果,組合后兩衰減率差值小于3 %,線性度為12.4 %。