李建超,蘇俊宏
(西安工業(yè)大學光電工程學院,陜西 西安 710021)
在高功率激光使用環(huán)境下光學元件的損傷特性對于光學系統(tǒng)的可靠性至關重要。準確測試光學元件的激光損傷閾值是提高抗損傷的必要條件。在損傷測試系統(tǒng)中,激光能量衰減器對作用于被測光學元件表面的激光能量起著調(diào)控作用。
20世紀80年代,各國對光衰減器的研究投入了相當?shù)娜肆臀锪?。到目前為?已形成了固定式、步進可調(diào)式、連續(xù)可調(diào)式及智能型光衰減器四種系列。目前國內(nèi)設計方法主要有機械式調(diào)光闌法、光電技術調(diào)光法、晶體吸收法、偏振衰減法和吸收式衰減片;國外設計方法主要有:利用內(nèi)反射原理,改變間隙和透射厚度的雙直角棱鏡對實現(xiàn);利用菲涅爾原理的旋轉(zhuǎn)光楔對實現(xiàn)衰減[1-3]。這些方法各有利弊。本系統(tǒng)采用的是輪盤式中性密度濾光片以三組級聯(lián)方式實現(xiàn)的激光能量衰減,能量衰減率間隔最大值為測試激光能量的12 %,最小為5 %。
精度高是光衰減器的重要指標,在本系統(tǒng)中,對激光能量的測試是離散的并不連續(xù),這就要求各一個測試點間隔盡量一致且細分程度越高越好,直接影響著系統(tǒng)的測試精度。因此,針對這一問題,本文利用解決多目標、多模型的優(yōu)化算法——遺傳算法[4-8]并進行了改進,實現(xiàn)了衰減片參數(shù)的優(yōu)化,提高了系統(tǒng)測試精度。
本激光損傷測試系統(tǒng)如圖1所示,1064 nm高能脈沖Nd∶YAG激光器發(fā)出測試激光,經(jīng)輪盤式級聯(lián)式中性密度濾光片的衰減,經(jīng)匯聚透鏡,分束鏡,輻照樣片,測試樣片損傷閾值。
圖1 薄膜激光損傷判別系統(tǒng)
圖2為衰減器結(jié)構(gòu),圖2(a)為衰減盤的級聯(lián)情況,系統(tǒng)由3個衰減盤組成;圖2(b)為衰減片在衰減盤上的分布,其中為使整個系統(tǒng)的能量調(diào)節(jié)能達到測試激光器的最大值,在每個衰減盤的5個衰減工位中,設計一個衰減率為0的工位。其余4個工位為0 %~99 %范圍內(nèi)不同衰減率的衰減片,3個衰減盤級聯(lián),通過不同衰減片的組合,形成不同衰減率組合。
圖2 衰減器結(jié)構(gòu)
對三個衰減盤不同的衰減值種類及分布,達到衰減后的激光能量值間隔和線性度達到所需求的最佳的目標值,這是一個典型的多約束目標求解的問題,而遺傳算法在對于參數(shù)組合的多樣性和復雜性提供了較好的解決方案,考慮到該衰減片參數(shù)設置的特點,本文采用遺傳算法作為解決衰減片參數(shù)優(yōu)化的算法。
遺傳算法(Genetic Algorithms,GAs)是基于自然選擇和自然遺傳機制的搜索算法,它是一種有效的解決最優(yōu)化問題的方法。遺傳算法最早是由美國Michigan大學的John Holland和他的同事及學生提出的。類似于自然界演化的基本法則,“適者生存”是遺傳算法的核心機制,同樣,復制(reproduce)、雜交(crossover)、變異(mutation)等自然界的生物演化規(guī)則在遺傳算法中都得到類似的體現(xiàn)。圖3為基本遺傳算法流程圖。
圖3 基本遺傳算法流程圖
在遺傳算法中,首先應初始化,即確定參數(shù)的個數(shù)并隨機賦值。在本測試系統(tǒng)中,采用3組5片衰減片級聯(lián)形式,且含有一個衰減率為0的衰減片。除去每個衰減盤上的0衰減片工位,剩余12片衰減工位,衰減片的種類未知數(shù),也就是說,遺傳算法中的參數(shù)個數(shù)不確定,因此存在種類數(shù)和不同種類數(shù)情況下每一衰減片的具體衰減率值及分布兩重優(yōu)化問題。為使優(yōu)化簡便,預設衰減片的種類分別為6、7、8、9、10種,然后分別用遺傳算法編寫程序進行優(yōu)化。
考慮到搜索范圍和精度要求,同時實數(shù)編碼可避免頻繁的編碼和解碼,提高算法運行效率,因此本文采用實數(shù)編碼方式。根據(jù)不同衰減種類數(shù),每一個體設置不同位數(shù)。以8種不同衰減率為例,一個個體代表一條染色體,一個參數(shù)代表染色體上的一個基因點,每一個個體設置11位數(shù),即每條染色體上有11個等位基因,其中編碼前三位分別代表三種盤符,其中1,2,3,4,5,6,7分別表示7種不同衰減率的衰減片,0代表衰減率為0 %,包括0共8種不同衰減率,其中,7個不同衰減值分別在4~10位表示,每一位數(shù)字代表的衰減值是優(yōu)化的對象,0必須有,無需優(yōu)化,不占基因點位,第11位為個體的適應度值,很明顯,適應度越大,染色體越接近目標值,所以3個衰減盤8種衰減度值及自身的適應度值共11位數(shù)組成。同理,9種不同衰減率就由12位數(shù)組成。
一般情況下二進制編碼與十進制編碼相比優(yōu)點在于編碼、解碼操作簡單,交叉、變異等遺傳操作便于實現(xiàn)。因此,本文采用二進制編碼的遺傳算法。
遺傳算法在優(yōu)化搜索中以適應度函數(shù)為尋優(yōu)依據(jù),在本算法中,對于一個個體,每個盤上有5個不同的衰減率數(shù)值,理論上根據(jù)共有125種組合,由于只有8種衰減值,所以125種必有組合結(jié)果相同的衰減率,須去除相同結(jié)果的組合,將剩余衰減率從小到大排序。設置變量N,初始化為3 %,同時設置變量x,初始化為0;將排好序的衰減率相鄰兩數(shù)兩兩做差,其中,差值如果在[0,3 %]范圍內(nèi),則X加1,負責,X=1。故每一個體都有一個X值,而這個X的大小就是這個個體的適應度值,X越大,則均勻性越好,選出X值最大的那個個體,即為最優(yōu)解。
4.3.1 選擇算子
本算法在進行選擇時把適應度值排序和隨機選取相結(jié)合,對父代中的個體根據(jù)適應度進行了排序,然后對前50 %個體進行隨機選擇,這樣不僅能將父代中優(yōu)秀的個體復制給下一代,而且還能有效的避免陷入局部最優(yōu)。
4.3.2 雜交算子
雜交往往是根據(jù)交叉概率通過對父代兩個個體的部分結(jié)構(gòu)進行替換重組而得到新的個體,但交叉概率太大或太小都會影響算法尋找全局最優(yōu),在本算法中,我們沒有采用交叉概率這個限制條件,我們采用的是在對父代選擇的兩個個體必然會產(chǎn)生交叉的基礎上,通過隨機交叉兩個個體的部分基因的方案,這樣不僅提高了算法的效率,而且產(chǎn)生的新個體使組合的新種群多樣性更大,這樣更利于達到全局最優(yōu)。
4.3.3 變異算子
本算法是對雜交后的個體繼續(xù)進行變異,對表述個體的實數(shù)值進行二進制化,然后根據(jù)交叉概率的大小而對個體進行位操作,即就是1~3上的值(<35)分別和2,4,8,16,32進行了與操作,對于4~10上的值(<1024)進行了同樣的操作。這樣做能夠保持變異的范圍在給定的條件內(nèi)。
根據(jù)參數(shù)的種類而決定種群規(guī)模的大小,設定算法的終止條件是達到進化代數(shù),記錄每一代的個體對應的適應度值,選出適應度值最大的那個個體。算法流程圖如圖4所示。
圖4 改進遺傳算法流程圖
(1)初始化,并預先隨機產(chǎn)生500個個體。
(2)計算、記錄每一個個體的適應度值。
(3)根據(jù)適應度進行排序,在前50 %的個體中隨機選擇父本進行交叉,變異,生成200個新個體。
(4)對新一代200個個體進行適應度計算且記錄,并根據(jù)適應度選出700個個體中最佳的500個個體準備進行下一次重復操作。
(5)判斷:如果滿足終止條件則輸出結(jié)果并結(jié)束程序,否則繼續(xù)。
(6)根據(jù)記錄的所有的適應度值選出其最大的值所對應的個體,而此個體即為優(yōu)化結(jié)果。
圖5是分別對于6,7,8,9,10種衰減度值在相同的約束條件下(精度要求小于3 %,循環(huán)代數(shù)10000次)所得到的適應度值分布圖,從圖中可以看出當三個盤上的衰減度分別由6和7個不同值組合時,其適應度都值為0,也就是沒有滿足要求的組合,而當其組合變?yōu)?個數(shù)字時,其適應度值是86,當衰減度個數(shù)再增加時,適應度值也逐漸隨之增加,而根據(jù)我們的要求,在滿足精度要求的情況下,衰減度的個數(shù)當然越少越好,所以當衰減度個數(shù)為8時,所組合的結(jié)果是最佳的。
圖5 適應度與衰減度個數(shù)關系圖
圖6是8種衰減度值所產(chǎn)生的適應度值隨著循環(huán)代數(shù)的增加而變化的曲線圖,從圖中可以看出,隨著循環(huán)代數(shù)的增加,適應度值在逐漸的增大,等到循環(huán)代數(shù)達到8000次時,適應度值基本不再增加。
圖6 適應度與循環(huán)代數(shù)關系曲線圖
圖7是8種衰減度值級聯(lián)組合而成的衰減率分布情況,在0和1之間分布著85個衰減率值,每兩個衰減率差值小于3 %,線性度為12.4 %。三個盤上的衰減度值分布如下(T(1),T(2),T(3))。
圖7 8種衰減度值級聯(lián)衰減率分布圖
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(每個數(shù)代表的衰減度)
T(11)=86(適應度值)
實驗結(jié)果表明:改進后的遺傳算法具有以下優(yōu)點:①相同約束條件,衰減盤參數(shù)的線性度和參數(shù)的個數(shù)存在近似的線性關系;②在參數(shù)個數(shù)確定的情況下,衰減盤參數(shù)的線性度隨著進化次數(shù)的增加而增加;③當參數(shù)個數(shù)達到8種時,進化代數(shù)達到8000次時,可穩(wěn)定求解出最優(yōu)解。
本文利用遺傳算法并進行了改進,優(yōu)化了激光損傷測試系統(tǒng)衰減片參數(shù)。其中,實數(shù)編碼的改進,使每個個體能夠記憶其屬性值和適應度值,提高了算法的效率;選擇算子中,結(jié)合適應度值排序和隨機的選擇方法,不僅使父代優(yōu)秀個體向子代轉(zhuǎn)移,而且還能有效的避免陷入局部最優(yōu);交叉算子中,采用父代必然發(fā)生交叉的策略,所產(chǎn)生新個體的種群、多樣性更大,加快全局最優(yōu)的逼近速度。實驗結(jié)果證明這一改進遺傳算法的可行性,同時得出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的組合能達到最優(yōu)的組合效果,組合后兩衰減率差值小于3 %,線性度為12.4 %。