胡彬和,劉興民,孫 征,柯國土
(中國原子能科學(xué)研究院,北京 102413)
中國原子能科學(xué)研究院于2016年開始400 MW“燕龍”泳池式低溫供熱堆的研發(fā)工作,該方案將堆芯放在足夠深的水池底部,利用水層的靜壓力提高堆芯出口水溫(~100 ℃),從而使向熱網(wǎng)供水的溫度(~90 ℃)達(dá)到熱網(wǎng)需求[1]。2017年在49-2游泳池式反應(yīng)堆(簡稱49-2堆)上進(jìn)行了供熱演示,驗(yàn)證了49-2堆用于城市低溫供熱的固有安全性[2]。但49-2堆作為研究堆其熱工參數(shù)較低,對(duì)熱工設(shè)計(jì)要求不高?!把帻垺庇境厥降蜏毓岫褳槿〉幂^好的經(jīng)濟(jì)性,其熱工參數(shù)相對(duì)較高,對(duì)熱點(diǎn)因子和焓升因子限值要求較為嚴(yán)格[3]。
“燕龍”泳池式低溫供熱堆為無硼控堆芯,堆芯的主要反應(yīng)性控制手段僅能依靠可燃毒物和控制棒束。為提高堆芯組件平均卸料燃耗,盡管采用了多批換料制,但仍有較大的剩余反應(yīng)性需由多組控制棒束調(diào)節(jié),因此循環(huán)初(BOC)控制棒束插入堆芯較深,引起堆芯功率畸變,對(duì)穩(wěn)態(tài)熱工極為不利,故而進(jìn)行最優(yōu)臨界棒位搜索以降低熱點(diǎn)因子和焓升因子十分重要。本文探討使用多目標(biāo)優(yōu)化遺傳算法NSGA-Ⅲ實(shí)現(xiàn)無硼控堆芯最優(yōu)臨界棒位搜索的一般方法。
以“燕龍”泳池式低溫供熱堆為例,堆芯裝載69盒CF3S燃料組件,布置57束控制棒束,其中首爐循環(huán)以C4、C7、C8為燃耗補(bǔ)償棒束,控制棒行程210 cm,控制棒步長1 cm。
考慮反應(yīng)堆堆芯有n個(gè)控制棒組作為燃耗補(bǔ)償棒,第i個(gè)棒組的控制棒位置為xi,則各棒組的控制棒位置可用向量x=(x1,x2,…,xn)表示。針對(duì)每個(gè)x=(x1,x2,…,xn)進(jìn)行堆芯三維計(jì)算,可得到臨界偏離度(y1,定義為|keff(x)-1|)、核焓升因子(y2)、核熱點(diǎn)因子(y3)。已知有效增殖因數(shù)數(shù)值上不會(huì)超過平均裂變中子數(shù)[4](熱中子堆一般為2.45),核焓升因子和核熱點(diǎn)因子均大于1.0。取臨界偏離度|keff(x)-1|為目標(biāo)函數(shù)之一是因?yàn)橹挥性谂R界狀態(tài)附近計(jì)算所得的核焓升因子和核熱點(diǎn)因子才具有實(shí)際意義,同時(shí)該目標(biāo)函數(shù)可自然地歸結(jié)到極小值問題。
需保證在臨界狀態(tài)附近,在核焓升因子和核熱點(diǎn)因子滿足熱工限值的條件下,使核焓升因子和核熱點(diǎn)因子盡量取得極小值。因此,可將其歸納為如下數(shù)學(xué)問題:
已知x=(x1,x2,…,xn),且
上述3個(gè)目標(biāo)函數(shù)表達(dá)式未知,但由相應(yīng)輸入可算得其具體函數(shù)值。目標(biāo)函數(shù)值域如下:
求:搜索x=(x1,x2,…,xn)使y1、y2和y3取得極小值。
這是一個(gè)無約束多目標(biāo)優(yōu)化問題,一般的遺傳算法只能解決單目標(biāo)優(yōu)化問題[5]。在多目標(biāo)優(yōu)化問題中,各目標(biāo)之間相互制約,可能使得一個(gè)目標(biāo)性能的改善往往是以損失其他目標(biāo)性能為代價(jià),很可能不存在一個(gè)使所有目標(biāo)性能都達(dá)到最優(yōu)的解。在眾多的多目標(biāo)優(yōu)化遺傳算法中,NSGA-Ⅲ算法因其優(yōu)越性是應(yīng)用最廣泛的一種算法,目前已成為多目標(biāo)優(yōu)化問題中的基本算法之一[6-7]。
NSGA-Ⅲ算法的具體實(shí)現(xiàn)過程如下。
1) 生成初始種群:隨機(jī)生成個(gè)體x=(x1,x2,…,xn)(即每個(gè)堆芯三維計(jì)算case的棒組棒位,xi取值范圍為[0,210]),種群大小為N。
2) 計(jì)算目標(biāo)函數(shù)值:對(duì)種群的每個(gè)個(gè)體進(jìn)行堆芯三維計(jì)算,獲得|keff-1|、Fdh、FQ3個(gè)目標(biāo)函數(shù)值。
3) 目標(biāo)函數(shù)值懲罰:偏離臨界狀態(tài)過遠(yuǎn),即使焓升因子和熱點(diǎn)因子均能取得極小值,也應(yīng)在下一代種群中以較大的概率將其舍棄。為此提出附加懲罰函數(shù):當(dāng)個(gè)體的臨界偏離度超過10-2時(shí),該個(gè)體的核焓升因子和核熱點(diǎn)因子均分別額外加上當(dāng)代種群所有個(gè)體的核焓升因子和核熱點(diǎn)因子的標(biāo)準(zhǔn)差,以使這些個(gè)體以更大的概率在下一代種群中被舍棄。
4) 交叉和變異:交叉算符選擇模擬二值交叉(SBX),模擬二值交叉綜合了二進(jìn)制編碼和實(shí)數(shù)編碼的優(yōu)勢(shì),可在實(shí)數(shù)編碼上模擬二進(jìn)制編碼的搜索特點(diǎn)。變異算符選擇多項(xiàng)式變異。
5) 快速非支配排序:經(jīng)過交叉和變異產(chǎn)生子代種群后,合并父代和子代種群,采用快速非支配排序算法[8]對(duì)合并種群進(jìn)行分層,選出前Fl層最優(yōu)個(gè)體。
6) 自適應(yīng)歸一化:由于需將每個(gè)解和參考點(diǎn)相互聯(lián)系從而維持多樣性,參考點(diǎn)又是均勻分布在目標(biāo)空間中的[9],而每個(gè)解的各目標(biāo)函數(shù)值尺度不同,導(dǎo)致解的偏向性不同,那么在聯(lián)系解和參考點(diǎn)時(shí),各目標(biāo)函數(shù)的作用就會(huì)不“公平”,因此需對(duì)目標(biāo)函數(shù)值進(jìn)行自適應(yīng)歸一化[6]。
7) 聯(lián)系個(gè)體和參考點(diǎn):建立個(gè)體到參考點(diǎn)聯(lián)系,根據(jù)最小生境數(shù)選擇剩余個(gè)體,并與之前選擇的前Fl層個(gè)體共同組成新一代種群(種群大小為N),重復(fù)上述過程直至達(dá)到收斂代數(shù)。最后得到1個(gè)優(yōu)化搜索解集。
算法流程如圖1所示。另外,針對(duì)算法中最為耗時(shí)的堆芯三維計(jì)算,設(shè)計(jì)了并行計(jì)算程序[10]。
圖1 NSGA-Ⅲ算法流程圖Fig.1 Algorithm flow chart for NSGA-Ⅲ
“燕龍”泳池式低溫供熱堆遼源示范工程69盒CF3S組件400 MW堆芯方案已完成了從首爐循環(huán)到平衡循環(huán)的堆芯初步核設(shè)計(jì)。相關(guān)計(jì)算表明該方案能滿足熱工和安全設(shè)計(jì)準(zhǔn)則,且具有較大的設(shè)計(jì)余量。為驗(yàn)證NSGA-Ⅲ算法在最優(yōu)臨界棒位搜索中的有效性,針對(duì)該方案的首爐堆芯進(jìn)行算法驗(yàn)證。
為展平功率并提高平均卸料燃耗,首爐堆芯按組件富集度分3區(qū)裝載,采用外內(nèi)式的裝載方案和3批換料制[11],裝載方案如圖2所示。全堆布置控制棒57束,其中8束緊急停堆棒束(C5、C6)組成第2停堆系統(tǒng);調(diào)節(jié)棒束和補(bǔ)償棒束組成第1停堆系統(tǒng),其中1束調(diào)節(jié)棒束(C0)作為調(diào)節(jié)棒組;其余48束控制棒作為燃耗和功率補(bǔ)償棒束,如圖3所示。其中C4、C7、C8作為首循環(huán)的燃耗補(bǔ)償棒。
圖2 供熱堆首爐堆芯裝載Fig.2 Load pattern of the first cycle for heating reactor
圖3 遼源泳池式低溫供熱堆堆芯控制棒組布置Fig.3 Layout of control rod cluster for Liaoyuan pool-type low temperature heating reactor core
在采用最優(yōu)臨界棒位搜索算法之前,堆芯循環(huán)初的臨界棒位是依靠人工手動(dòng)嘗試搜索的。經(jīng)過大量人工手動(dòng)嘗試和修正,得到首爐堆芯450個(gè)等效滿功率天(EFPD)各燃耗步的臨界棒位如圖4所示。
由圖4可見,循環(huán)初手動(dòng)搜索到的符合設(shè)計(jì)要求的臨界棒位為[0,100,32],依次對(duì)應(yīng)的控制棒組為C4、C7、C8。相應(yīng)的有關(guān)熱工參數(shù)列于表1。
由表1可見,在循環(huán)初熱態(tài)滿功率零燃耗臨界棒位狀態(tài)下,堆芯的焓升因子為1.567,熱點(diǎn)因子為3.477,均能滿足熱工和安全設(shè)計(jì)要求。
圖4 遼源泳池式低溫供熱堆首循環(huán)提棒順序Fig.4 Rod withdraw sequence of the first cycle for Liaoyuan pool-type low temperature heating reactor
表1 69盒400 MW堆芯方案首爐循環(huán)初熱工因子Table 1 Thermal factor at BOC in first cycle for 400 MW-69 assemblies core scheme
采用NSGA-Ⅲ算法對(duì)循環(huán)初熱態(tài)滿功率零燃耗狀態(tài)下進(jìn)行最優(yōu)臨界棒位搜索,設(shè)置種群數(shù)為200,遺傳代數(shù)為100代,變異概率為10%,交叉和變異參數(shù)均設(shè)為20,并采用目標(biāo)函數(shù)值懲罰策略,最終得到第1代和第100代的優(yōu)化結(jié)果列于表2、3。
表2 初始種群Table 2 Initial population
由上述第1代和第100代的優(yōu)秀種群個(gè)體列表可看出,第1代隨機(jī)產(chǎn)生的控制棒組棒位沒有1個(gè)解可滿足熱工和安全設(shè)計(jì)要求,而采用NSGA-Ⅲ算法經(jīng)過100代種群迭代以后,產(chǎn)生了4個(gè)能滿足設(shè)計(jì)要求的解,并且這4個(gè)解中有兩對(duì)均趨向于同一種解,顯示了NSGA-Ⅲ算法較強(qiáng)的搜索能力。同時(shí)可看到,優(yōu)化解之一[0,99,34]非常接近手動(dòng)搜索的解[0,100,32],自然給出的核焓升因子和核熱點(diǎn)因子[1.562,3.500]也與手動(dòng)搜索解[1.567,3.477]非常接近。
表3 經(jīng)過100代后的優(yōu)化解集Table 3 Optional solution set after 100 generations
在計(jì)算效率上,人工手動(dòng)嘗試和修正所耗費(fèi)時(shí)間無法準(zhǔn)確估計(jì),但基本以天計(jì)。而上述算例(200個(gè)體×100代)在16核32線程計(jì)算機(jī)上使用NSGA-Ⅲ算法搜索僅需3 h即能得到優(yōu)化解集(多個(gè)解),并且隨著問題規(guī)模的增大,優(yōu)化搜索算法的優(yōu)勢(shì)會(huì)更加明顯。
圖5 一致性參考點(diǎn)分布Fig.5 Distribution of reference point
圖5為歸一化目標(biāo)函數(shù)參考點(diǎn)(又稱一致性參考點(diǎn))分布,其分布非常均勻,保證了搜索空間的廣泛性和均勻性。圖6為第100代優(yōu)化解集的種群個(gè)體分布。
圖6 第100代后的優(yōu)化解集Fig.6 Optional solution set after 100 generations
為檢驗(yàn)上述搜索結(jié)果是否具有隨機(jī)性,增加了一次優(yōu)化搜索,其第1代和第100代的搜索結(jié)果分別列于表4、5。
表4 第1代隨機(jī)產(chǎn)生的初始種群及其目標(biāo)函數(shù)值Table 4 Initial population and its target function value randomly generated by the first generation
表5 第100代生成的種群中占優(yōu)的個(gè)體及其目標(biāo)值Table 5 The 100th generation population pareto point and its target value
由表4、5可見,在第1代中隨機(jī)生成了1個(gè)較好的滿足熱工要求的解。經(jīng)過100代種群迭代后,仍搜索到與第1次搜索十分接近的結(jié)果,表明NSGA-Ⅲ算法具有較強(qiáng)的收斂性,證明了其優(yōu)化解的搜索能力不是隨機(jī)的。同時(shí),也證明了該算法對(duì)于保留和改善初始較優(yōu)解的能力。
采用NSGA-Ⅲ算法解決了“燕龍”泳池式低溫供熱堆最優(yōu)臨界棒位搜索問題,并通過“燕龍”泳池式低溫供熱堆首循環(huán)算例驗(yàn)證了算法的有效性,為泳池式低溫供熱堆提供了完全基于數(shù)學(xué)過程的搜索方法,該方法可推廣到無硼控堆芯最優(yōu)臨界棒位搜索。