劉洪彬,崔國(guó)民,周志強(qiáng),肖媛,張冠華,楊其國(guó)
(1 上海理工大學(xué)能源與動(dòng)力工程學(xué)院,上海 200093;2 上海市動(dòng)力工程多相流動(dòng)與傳熱重點(diǎn)實(shí)驗(yàn)室,上海 200093)
換熱網(wǎng)絡(luò)優(yōu)化是過(guò)程工業(yè)節(jié)能的重要途徑,可為企業(yè)提供顯著的節(jié)能效果和經(jīng)濟(jì)效益。換熱網(wǎng)絡(luò)優(yōu)化屬于混合整數(shù)非線性規(guī)劃模型(mixedinteger nonlinear programming,MINLP),具有嚴(yán)重的非凸性、非線性和不連續(xù)性,求解極為困難。目前,換熱網(wǎng)絡(luò)問(wèn)題的求解方法主要分為夾點(diǎn)技術(shù)法和數(shù)學(xué)規(guī)劃法。夾點(diǎn)技術(shù)法是基于熱力學(xué)原則提出的優(yōu)化方法,具有簡(jiǎn)單實(shí)用的特點(diǎn),但受限于變量維數(shù),難以應(yīng)對(duì)大型換熱網(wǎng)絡(luò)問(wèn)題的優(yōu)化需求。隨著計(jì)算機(jī)技術(shù)和優(yōu)化方法的發(fā)展,數(shù)學(xué)規(guī)劃法在求解復(fù)雜的換熱網(wǎng)絡(luò)問(wèn)題中備受關(guān)注。
啟發(fā)式算法因具有強(qiáng)魯棒性和易操作性的優(yōu)點(diǎn),已逐步成為換熱網(wǎng)絡(luò)的主要優(yōu)化方法。過(guò)去,如遺傳算法(GA)、粒子群算法(PSO)、模擬退火算法(SA)等經(jīng)典啟發(fā)式算法應(yīng)用于換熱網(wǎng)絡(luò)綜合并表現(xiàn)出巨大的潛力。近年來(lái),為應(yīng)對(duì)換熱網(wǎng)絡(luò)優(yōu)化需求,提升優(yōu)化質(zhì)量和效率,許多學(xué)者開發(fā)了混合算法、雙層算法及并行算法。Pav?o等提出了SA-RFO 混合算法,采用SA 算法和火箭尾焰優(yōu)化算法(rocket fireworks optimization,RFO)同步優(yōu)化整型變量和連續(xù)變量,提高了大型網(wǎng)絡(luò)的優(yōu)化效率。劉凱等提出一種雙層優(yōu)化算法,采用Alopex 進(jìn) 化 算 法(Alopex evaluation algorithm,AEA)優(yōu)化結(jié)構(gòu)的分流比,PSO 算法優(yōu)化換熱量,通過(guò)分離變量提高結(jié)構(gòu)組合變異能力,同時(shí)結(jié)合不可行解修復(fù)策略提高算法局部搜索能力。Aguitoni等提出的雙層算法,其中SA 算法提供網(wǎng)絡(luò)拓補(bǔ),差分進(jìn)化算法(DE)則在固定結(jié)構(gòu)上優(yōu)化連續(xù)型變量,取得良好效果。Santos 等則提出一種雙層算法,其中外層使用SA 算法優(yōu)化整型變量而內(nèi)層使用PSO算法優(yōu)化連續(xù)變量,并基于一種減少?zèng)Q策變量的新模型,有效降低了優(yōu)化難度。為提高求解效率,康麗霞等提出了CPU+GPU 異構(gòu)系統(tǒng)下的并行GA算法,大幅降低了求解時(shí)間,但未應(yīng)用于大型換熱網(wǎng)絡(luò)。姜楠等提出了并行BB/SQP 混合算法,其中利用分支定界算法(BB)篩選可行結(jié)構(gòu),采用序貫二次規(guī)劃算法(SQP)對(duì)初始結(jié)構(gòu)進(jìn)行非線性規(guī)劃,并結(jié)合GPU 并行計(jì)算獲得了顯著加速效果。Pav?o等將一種GA/PSO混合算法并行化處理,極大提高了個(gè)體單次迭代速度。周志強(qiáng)等則提出了RWCE-GA 混合算法,其中強(qiáng)制進(jìn)化隨機(jī)游走算法(RWCE)進(jìn)行同步優(yōu)化,GA 算法則周期性雜交個(gè)體增強(qiáng)整型變量搜索能力,結(jié)合多核并行計(jì)算,提高了算法優(yōu)化質(zhì)量和效率。
強(qiáng)制進(jìn)化隨機(jī)游走算法(RWCE)是肖媛等提出的一種新型啟發(fā)式算法,種群間無(wú)信息交流,獨(dú)特的接受差解機(jī)制可跳出局部陷阱,具有極強(qiáng)的全局搜索能力,避免了算法過(guò)早收斂問(wèn)題。但RWCE算法在保證全局搜索能力時(shí),難以兼顧局部搜索。算法因接受差解而難以搜索到局部最小極值點(diǎn),存在差解代替優(yōu)解情況。為彌補(bǔ)這一缺陷,肖媛提出了一種精細(xì)搜索的后處理方法,將獲得的固定結(jié)構(gòu)再次精細(xì)搜索。該策略提高了算法局部領(lǐng)域的搜索精度,但未能解決優(yōu)化過(guò)程優(yōu)解被替代問(wèn)題。因此鮑中凱等提出一種結(jié)構(gòu)保護(hù)策略,通過(guò)建立對(duì)應(yīng)的平行種群接收過(guò)程結(jié)構(gòu)并實(shí)時(shí)精細(xì)搜索,保護(hù)了過(guò)程優(yōu)解,但因平行種群消耗了計(jì)算機(jī)算力而嚴(yán)重限制源種群規(guī)模,削弱了算法全局搜索能力。
基于此,為平衡算法的全局與局部?jī)?yōu)化能力并降低大型換熱網(wǎng)絡(luò)優(yōu)化時(shí)間,本文提出并行雙層RWCE 算法。算法基于OpenMP 并行技術(shù),通過(guò)分配線程構(gòu)建層級(jí)關(guān)系,其中基礎(chǔ)層保持強(qiáng)悍的全局優(yōu)化能力,精細(xì)層則采用精細(xì)搜索策略提高算法的局部搜索能力。最后,優(yōu)化2個(gè)大型換熱網(wǎng)絡(luò)算例進(jìn)行驗(yàn)證,結(jié)果表明并行雙層RWCE 算法提高了局部搜索精度,保護(hù)了過(guò)程潛在優(yōu)解,同時(shí)在并行計(jì)算加持下,全局搜索能力也大幅提高。
本文基于節(jié)點(diǎn)非結(jié)構(gòu)(node-wise nonstructural superstructure,NW-NSS)模型優(yōu)化換熱網(wǎng)絡(luò),模型初始化時(shí)為空節(jié)點(diǎn)網(wǎng)絡(luò),冷熱流股呈逆流布置,各流股節(jié)點(diǎn)數(shù)量、分流分支數(shù)及分支上節(jié)點(diǎn)數(shù)均可自主預(yù)設(shè)。模型結(jié)構(gòu)如圖1 所示,具有2熱流股和2條冷流股,分別以和表示;冷熱流股上設(shè)有3 主節(jié)點(diǎn),分別用和表示;冷流股上3 支分流和熱流股2 支分流,分別以和表示。換熱器由冷熱流股上的空節(jié)點(diǎn)隨機(jī)匹配連接形成,圖中有4個(gè)換熱器,如連接的實(shí)心點(diǎn)所示;冷公用工程和熱公用工程處于流股末端,以調(diào)節(jié)未到達(dá)目標(biāo)溫度的流股。換熱器節(jié)點(diǎn)匹配關(guān)系和換熱量的隨機(jī)游走實(shí)現(xiàn)換熱網(wǎng)絡(luò)的全局優(yōu)化。
圖1 模型
該模型以年綜合費(fèi)用(total annual cost,TAC)最小為優(yōu)化目標(biāo),目標(biāo)函數(shù)如式(1)。其中前3項(xiàng)為換熱器和公用工程設(shè)備的固定投資費(fèi)用、面積費(fèi)用;后兩項(xiàng)為冷熱公用工程能源消耗費(fèi)用。
式中,、分別為熱、冷流體股數(shù);為流股總節(jié)點(diǎn)數(shù);為0-1 變量,值為1 時(shí)表示該節(jié)點(diǎn)上存在換熱器或冷熱公用工程,值為0時(shí)表示為空節(jié)點(diǎn);為固定投資費(fèi)用;為面積費(fèi)用系數(shù);為面積費(fèi)用指數(shù);、為冷、熱公用工程的運(yùn)行費(fèi)用系數(shù);、、為換熱器和冷熱公用工程的面積;、為冷熱公用工程熱量消耗量。
換熱面積計(jì)算如式(2)。
式中,為換熱器總傳熱系數(shù);LMTD 為對(duì)數(shù)平均溫差。
流股熱平衡如式(3)、式(4)所示。
式中,和分別為熱流股和冷流股溫度;in和out代表流股上節(jié)點(diǎn)的進(jìn)口和出口溫度;和分別代表冷熱流股的主節(jié)點(diǎn)數(shù);和分別代表冷熱流股分流數(shù)。
換熱器及公用工程熱平衡如式(5)~式(8)所示。
式中,為流股末端目標(biāo)溫度。
分流匯合溫度約束如式(9)、式(10)所示。
式中,Δ為最小傳熱溫差。在追求最小年綜合費(fèi)用時(shí),目標(biāo)函數(shù)的換熱面積費(fèi)用作為隱含約束,杜絕了換熱面積無(wú)限大等不合理情況,同時(shí)為更好與其他文獻(xiàn)優(yōu)化結(jié)果對(duì)比。因此文中最小傳熱溫差設(shè)定為0℃,旨在于拓寬算法的搜索路徑,實(shí)際上優(yōu)解均不會(huì)出現(xiàn)過(guò)小溫差,優(yōu)化時(shí)出現(xiàn)違反溫差約束則采用懲罰函數(shù)進(jìn)行糾偏。
RWCE 算法是肖媛等提出的新型啟發(fā)式算法,割裂種群間個(gè)體信息交流以保持種群多樣性,獨(dú)特的接受差解機(jī)制可有效跳出局部極值陷阱,對(duì)于高度非凸非線性的換熱網(wǎng)絡(luò)優(yōu)化難題具有極強(qiáng)的全局搜索能力。應(yīng)用于換熱網(wǎng)絡(luò)時(shí),算法詳細(xì)步驟見下文2.3節(jié),基礎(chǔ)RWCE算法流程如圖2所示。
圖2 基礎(chǔ)RWCE算法流程
圖2 中以隨機(jī)數(shù)決定是否接受新結(jié)構(gòu)這一步驟,是基礎(chǔ)RWCE 算法的接受差解機(jī)制,是跳脫局部陷阱的關(guān)鍵,可有效提高算法的全局搜索能力。也正因如此,該機(jī)制在局部領(lǐng)域搜索時(shí),難以搜尋到最小極值點(diǎn)。在具有眾多極值的解空間內(nèi),基礎(chǔ)算法搜尋到的解均與其領(lǐng)域內(nèi)的極值點(diǎn)存在一定差距。因此,算法最后得到的解不一定為該解空間的最小極值,存在最小極值被替代的現(xiàn)象。換熱網(wǎng)絡(luò)規(guī)模越大,極值點(diǎn)越多,則越容易出現(xiàn)差解代替優(yōu)解的現(xiàn)象。
基礎(chǔ)算法因局部搜索精度低造成了該不良現(xiàn)象,增強(qiáng)局部搜索能力則可有效避免。若為了提高局部搜索精度,簡(jiǎn)單地降低接受差解概率或減小游走步長(zhǎng),則破壞了全局搜索能力,易致使算法早熟收斂。因此,最佳方案是建立另一層算法,持續(xù)對(duì)基礎(chǔ)算法的當(dāng)前解進(jìn)行精細(xì)搜索,既保持了基礎(chǔ)算法的強(qiáng)全局搜索能力,又能提高搜索精度,避免優(yōu)解被替代。但另一方面,換熱網(wǎng)絡(luò)優(yōu)化時(shí)間隨問(wèn)題規(guī)模增大而急速增加,一些大型換熱網(wǎng)絡(luò)算例因優(yōu)化時(shí)間長(zhǎng)而嚴(yán)重限制了算法的種群數(shù)量,致使算法的全局搜索能力大幅削弱。若簡(jiǎn)單地建立雙層算法,會(huì)額外消耗算力再度降低算法全局搜索能力,導(dǎo)致全局與局部搜索能力失衡加劇。
基于上述分析,本文提出一種并行雙層RWCE算法。一方面基于多核并行技術(shù),極大增加初始種群基數(shù),降低優(yōu)化時(shí)間。另一方面,根據(jù)該技術(shù)特點(diǎn),通過(guò)線程分配構(gòu)建雙層算法,不干擾基礎(chǔ)算法強(qiáng)大的全局搜索能力的情況下提升局部搜索能力,同時(shí)可根據(jù)需求調(diào)整線程分配,平衡算法全局與局部搜索能力。
采用Fortran+OpenMP并行編程模型實(shí)現(xiàn)算法并行化。OpenMP 是基于線程共享內(nèi)存體系的并行編程模型(圖3)。對(duì)于多核計(jì)算機(jī)而言,單個(gè)CPU核心可包含一或多個(gè)線程,并行時(shí)可將計(jì)算機(jī)內(nèi)存劃分為所有線程可訪問(wèn)和僅特定線程可訪問(wèn)的共享存儲(chǔ)空間和私有存儲(chǔ)空間,以此進(jìn)行線程間的信息互通與保護(hù)?;贠penMP模型的程序運(yùn)行時(shí)采用的是Fork-Join并行執(zhí)行方式,如圖4所示。當(dāng)程序開始時(shí)只有主線程進(jìn)行串行計(jì)算,進(jìn)入并行域后則開辟其他線程共同執(zhí)行域內(nèi)任務(wù),離開并行域后則只保留主線程串行運(yùn)行。
圖3 內(nèi)存共享模型
圖4 OpenMP程序并行執(zhí)行方式
2.3.1 層級(jí)關(guān)系
并行雙層RWCE 算法分為基礎(chǔ)層和精細(xì)層,基礎(chǔ)層與精細(xì)層分屬不同線程,均開辟各自私有變量存儲(chǔ)空間,避免線程變量沖突。精細(xì)層從屬于基礎(chǔ)層,兩層間通過(guò)共享變量建立信息單向傳遞通道,當(dāng)基礎(chǔ)層更新最優(yōu)解時(shí)向精細(xì)層傳遞結(jié)構(gòu)信息,精細(xì)層對(duì)該結(jié)構(gòu)精細(xì)搜索并記錄當(dāng)前最優(yōu)解和歷史最優(yōu)解。
大型換熱網(wǎng)絡(luò)解空間內(nèi)遍布二元變量和連續(xù)型變量的局部陷阱,若算法缺乏全局搜索能力則易導(dǎo)致早熟收斂。肖媛和鮑中凱等均證實(shí)換熱網(wǎng)絡(luò)解的優(yōu)良程度主要取決于全局尋優(yōu)能力。算法可根據(jù)全局與局部搜索需求自主分配線程,本文中精細(xì)層分配一個(gè)線程,剩余線程全部分配給基礎(chǔ)層以增大種群規(guī)模?;A(chǔ)層以全局搜索能力為主,在全局范圍內(nèi)搜尋費(fèi)用最低的解空間,當(dāng)基礎(chǔ)層搜尋到費(fèi)用更低的解則傳遞給精細(xì)層。精細(xì)層則對(duì)該解的局部領(lǐng)域進(jìn)行高精度的精細(xì)搜索,以局部解空間的最小極值點(diǎn)為目標(biāo)?;A(chǔ)層與精細(xì)層能力互補(bǔ),相互配合平衡全局與局部搜索,并行雙層RWCE 算法流程如圖5所示。
圖5 并行雙層RWCE算法流程
2.3.2 基礎(chǔ)層
基礎(chǔ)層為基礎(chǔ)RWCE 算法,并設(shè)置較大的游走步長(zhǎng)和接受差解概率,保持強(qiáng)勁的全局搜索能力。算法主要流程不變,增設(shè)一信息單向傳遞環(huán)節(jié)。當(dāng)基礎(chǔ)層更新其最優(yōu)解時(shí),將其傳遞給精細(xì)層進(jìn)行精細(xì)搜索。主要步驟如下。
Step1:種群初始化。隨機(jī)產(chǎn)生個(gè)初始種群,各種群內(nèi)有個(gè)體,個(gè)體起始狀態(tài)為空網(wǎng)絡(luò)結(jié)構(gòu)。
Step2:隨機(jī)游走階段。個(gè)體以一定概率對(duì)現(xiàn)有換熱單元熱負(fù)荷或分流比SPH、SPC任一變量進(jìn)行游走。當(dāng)任一變量小于閾值時(shí)消除該換熱器。如式(13)。
式中,、為在(0,1)均勻分布的隨機(jī)數(shù);為判斷是否執(zhí)行的0-1變量;Δ為最大游走步長(zhǎng)。
Step3:新單元生成階段。個(gè)體以一定概率在冷熱流股空節(jié)點(diǎn)上形成新單元,并賦予新單元初始換熱量、冷熱流股上的分流比。如式(14)~式(16)。
冷熱流股的初始分流比由隨機(jī)數(shù)給定,因此各分支分流比之和可能不為1,在計(jì)算時(shí)需歸一化處理。以熱流股為例,如式(17)。
式中,、、為(0,1)均勻分布的隨機(jī)數(shù);為最大初始熱量。
Step4:選擇與變異階段。個(gè)體游走后成為新的狀態(tài)點(diǎn),此時(shí)以TAC 作為評(píng)判指標(biāo),費(fèi)用降低則選擇此狀態(tài)作為下一次迭代的起點(diǎn);若費(fèi)用反而升高,則返回游走前原狀態(tài)點(diǎn),或者以一定概率接受該狀態(tài)點(diǎn)繼續(xù)迭代。如式(18)。
式中,和′分別為游走前后的狀態(tài)點(diǎn);為游走變量;為接受差解概率;it為迭代次數(shù)。
Step5:結(jié)束條件。當(dāng)滿足迭代步數(shù)時(shí)結(jié)束程序,否則返回Step2繼續(xù)迭代。
2.3.3 精細(xì)層
精細(xì)層沿用RWCE 算法,但不產(chǎn)生初始結(jié)構(gòu),當(dāng)基礎(chǔ)層最優(yōu)解更新時(shí)則接收結(jié)構(gòu)信息并進(jìn)行精細(xì)搜索,主要步驟如下。
Step1:種群初始化。由于僅單線程工作,因此只有單種群個(gè)體。采用發(fā)散搜索策略,將接收的結(jié)構(gòu)或精細(xì)層自身結(jié)構(gòu)賦值給所有個(gè)體,利用RWCE算法個(gè)體獨(dú)立進(jìn)化特點(diǎn),使各個(gè)體初始點(diǎn)發(fā)散分布在局部領(lǐng)域范圍內(nèi),更快搜索到最小極值點(diǎn)。
Step2:隨機(jī)游走階段。相對(duì)于基礎(chǔ)層,精細(xì)層采用降維搜索策略。游走步長(zhǎng)較基礎(chǔ)層縮小1~2個(gè)量級(jí),并以換熱單元數(shù)量為指標(biāo)降低決策變量游走頻率,游走時(shí)選擇部分換熱單元中、SPH和SPC 任一變量,減少變量間同步優(yōu)化引起的干擾,提高局部搜索精度,如式(19)、式(20)。
式中,為當(dāng)前結(jié)構(gòu)換熱器數(shù)量;為精細(xì)層優(yōu)化變量;Δ為精細(xì)層游走步長(zhǎng);為0-1 為變量。
Step3:換熱單元生成階段。操作同基礎(chǔ)層,但新單元的生成概率和數(shù)量需大幅降低,避免對(duì)結(jié)構(gòu)造成頻繁干擾,阻礙優(yōu)化進(jìn)程。
Step4:選擇與接受差解階段。操作同基礎(chǔ)層,但接受差解概率較基礎(chǔ)層大幅降低。
Step5:終止條件判斷。當(dāng)種群最優(yōu)個(gè)體費(fèi)用在一定迭代步內(nèi)降幅小于設(shè)定值時(shí)終止精細(xì)搜索程序;否則,返回Step2 繼續(xù)迭代,或定周期篩選精細(xì)層最優(yōu)解返回Step1再循環(huán)。
算法采用Fortran 編程,計(jì)算機(jī)操作系統(tǒng)為Windws10,CPU 為Intel(R) Xeon(R) Gold 6226R@2.90GHz(2處理器),最大核心數(shù)為32核,CPU可處理超線程運(yùn)算。
現(xiàn)優(yōu)化H6C10算例驗(yàn)證并行雙層RWCE算法的優(yōu)化性能,該算例包含6熱流股和10冷流股。節(jié)點(diǎn)非結(jié)構(gòu)模型參數(shù)設(shè)置如下:冷熱流股上10 個(gè)主節(jié)點(diǎn),冷熱流股分別設(shè)3 和8 分流,分流上均設(shè)1個(gè)節(jié)點(diǎn)。并行雙層RWCE算法僅啟用最低2線程測(cè)試基本性能,分別為基礎(chǔ)層和精細(xì)層?;A(chǔ)層參數(shù):基礎(chǔ)層共5 個(gè)體,換熱量游走步長(zhǎng)1500kW,初始生成熱量2000kW,換熱單元生成概率0.2,接受差解概率0.01;精細(xì)層參數(shù):精細(xì)層共20個(gè)體,換熱量游走步長(zhǎng)5kW,初始生成熱量25kW,換熱單元生成概率0.01,接受差解概率0.0001,千萬(wàn)步內(nèi)TAC 降幅小于0.02%時(shí)終止。其優(yōu)化結(jié)果如圖6所示。
圖6 精細(xì)層最優(yōu)費(fèi)用和實(shí)時(shí)費(fèi)用下降曲線
優(yōu)化時(shí)基礎(chǔ)層將所有過(guò)程最優(yōu)解傳遞給精細(xì)層精細(xì)搜索,因此精細(xì)層的解中包含當(dāng)前優(yōu)化的實(shí)時(shí)精細(xì)解及記錄的歷史最優(yōu)解。觀察圖6發(fā)現(xiàn),精細(xì)層實(shí)時(shí)解多次出現(xiàn)費(fèi)用上升的情況。即基礎(chǔ)層看似找到了費(fèi)用更低的新解,但實(shí)際交由精細(xì)層精細(xì)搜索后發(fā)現(xiàn)較前一解費(fèi)用更高,反映為優(yōu)解被差解替代現(xiàn)象。如5.62×10步更新后的實(shí)時(shí)精細(xì)解6686047USD/a 高于6655243USD/a 的最優(yōu)精細(xì)解,雖然兩個(gè)結(jié)果均優(yōu)于絕大部分文獻(xiàn),但這種現(xiàn)象卻是基礎(chǔ)層的異?,F(xiàn)象,若無(wú)精細(xì)層則會(huì)導(dǎo)致上述差解替代優(yōu)解的情況。正如圖6所示,精細(xì)層起到了保護(hù)優(yōu)解的作用。
加速比是考究并行計(jì)算的重要指標(biāo),加速比為相同計(jì)算量下并行運(yùn)算時(shí)間與串行運(yùn)算時(shí)間的比值,加速比越接近啟用線程數(shù)則算法加速效率越高,加速比越大則程序加速性能越好?,F(xiàn)優(yōu)化H6C10 算例,保持相同參數(shù)設(shè)置,對(duì)并行雙層RWCE算法加速性能進(jìn)行探究。并行雙層RWCE算法分別開辟5、10、15、20、25、30個(gè)線程,每個(gè)線程優(yōu)化1個(gè)個(gè)體。串行計(jì)算的基礎(chǔ)RWCE算法則相應(yīng)優(yōu)化同等總個(gè)體數(shù),分別是5、10、15、20、25、30 個(gè)個(gè)體。經(jīng)過(guò)測(cè)試得,不同總個(gè)體數(shù)下每十萬(wàn)次迭代的運(yùn)行時(shí)間及加速比如圖7所示。
圖7 串并行運(yùn)行時(shí)間和加速比
由圖7可看出,在相同的個(gè)體總數(shù)下,相較于串行計(jì)算,并行運(yùn)行時(shí)間極短,計(jì)算時(shí)間都下降了1個(gè)量級(jí),極大降低優(yōu)化時(shí)間成本。加速比隨著并行計(jì)算開辟的線程數(shù)呈先增后減趨勢(shì),當(dāng)啟用的線程數(shù)較少時(shí),加速比接近于線程數(shù),效率高;但隨著啟用線程數(shù)增加,加速比增長(zhǎng)減緩甚至倒退。呈現(xiàn)該現(xiàn)象主要原因是線程開辟越多越逼近計(jì)算機(jī)性能極限,導(dǎo)致并行運(yùn)算時(shí)間增加,使加速比增幅減緩。因此,在計(jì)算機(jī)有算力盈余情況下,并行計(jì)算加速比隨線程數(shù)增加而增加,但加速效率隨線程數(shù)增加而降低。運(yùn)算時(shí)間較串行計(jì)算大幅降低,可增大算法的種群數(shù)量從而提升全局搜索能力。
綜上所述,并行雙層RWCE 算法因種群規(guī)模擴(kuò)大而具有更強(qiáng)的全局搜索能力,且獲得了高精度的局部搜索能力,解決了原算法差解代替優(yōu)解的問(wèn)題。
20SP含有10股熱流體和10股冷流體,是大型換熱網(wǎng)絡(luò)的通用算例之一,具體參數(shù)詳見源文獻(xiàn)。換熱器和冷熱公用工程費(fèi)用計(jì)算公式為8000+800(USD/a),冷熱公用工程能耗費(fèi)用分別為10USD·(kW/a)和70USD·(kW/a)。
采用并行雙層RWCE 算法優(yōu)化該算例,模型參數(shù):網(wǎng)絡(luò)設(shè)置10個(gè)主節(jié)點(diǎn),3分流數(shù),分流上1節(jié)點(diǎn)。算法參數(shù)如下,基礎(chǔ)層分配60 線程而精細(xì)層1 線程,共啟用61 線程。基礎(chǔ)層參數(shù):共1200優(yōu)化個(gè)體,換熱量游走步長(zhǎng)100kW,初始生成熱量150kW,換熱單元生成概率0.2,接受差解概率0.01;精細(xì)層參數(shù):共10優(yōu)化個(gè)體,換熱量游走步長(zhǎng)5kW,初始生成熱量25kW,換熱單元生成概率0.01,接受差解概率0.0001。
并行雙層RWCE 算法優(yōu)化程序運(yùn)行時(shí)間共17812s,加速比為26.0,精細(xì)層得到最優(yōu)解為1717405USD/a。表1 中文獻(xiàn)[22]采用遺傳模擬退火算法,獲得有分流的結(jié)果為1827772USD/a,運(yùn)行時(shí)間為2786s, 本文在相同時(shí)間的結(jié)果為1726858USD/a;文獻(xiàn)[23]采用一種混合遺傳算法獲得最優(yōu)結(jié)果為1753271USD/a,優(yōu)化時(shí)間為2460s,本文在相同時(shí)間的結(jié)果為1727940USD/a;文獻(xiàn)[24]建立了一種隨機(jī)攝動(dòng)機(jī)制,對(duì)換熱單元的隨機(jī)增減促進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)變異,獲得結(jié)果1739079USD/a;文獻(xiàn)[25]采用落后個(gè)體更新策略,引導(dǎo)落后個(gè)體進(jìn)化, 加強(qiáng)了個(gè)體間的競(jìng)爭(zhēng), 獲得結(jié)果為1730674USD/a;文獻(xiàn)[26]為解決換熱單元固定投資費(fèi)用阻礙網(wǎng)絡(luò)結(jié)構(gòu)變異問(wèn)題,提出一種固定投資松弛策略,其結(jié)果為1726399USD/a。
表1 算例1優(yōu)化結(jié)果與文獻(xiàn)結(jié)果對(duì)比
圖8 為算例1 網(wǎng)絡(luò)結(jié)構(gòu),其中傳熱溫差最小的換熱器是H10 熱流股上第1 個(gè)單元,為14.47℃,符合實(shí)際情況。本文結(jié)構(gòu)與文獻(xiàn)[26]的結(jié)構(gòu)相比,換熱器數(shù)量多1 個(gè)共13 個(gè)、加熱器減少2 個(gè)共4個(gè),冷卻器數(shù)量相同,但熱源和冷源的消耗量均減少了659.9kW。雖然換熱器的投資費(fèi)用高出51726USD/a,但形成的結(jié)構(gòu)更好回收了更多熱能,減少了公用工程投資和能耗費(fèi)用共60720USD/a,使總費(fèi)用降低了8994USD/a。本文結(jié)構(gòu)換熱器更多,耦合關(guān)系更復(fù)雜,但年綜合費(fèi)用更低,證明并行雙層算法的搜索能力更強(qiáng)。
圖8 算例1對(duì)應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)
39SP包含22 股熱流體和17 股冷流體,是目前網(wǎng)絡(luò)規(guī)模最大的通用算例,流股參數(shù)可參考源文獻(xiàn)。換熱器和冷熱公用工程費(fèi)用計(jì)算公式為8000+800(USD/a),冷熱公用工程能耗費(fèi)用分別為10USD·(kW/a)和70USD·(kW/a)。該算例在優(yōu)化時(shí),因網(wǎng)絡(luò)規(guī)模和結(jié)構(gòu)復(fù)雜性導(dǎo)致計(jì)算量指數(shù)性增長(zhǎng),優(yōu)化時(shí)間十分長(zhǎng),即便是基于節(jié)點(diǎn)非結(jié)構(gòu)模型,串行計(jì)算時(shí)其優(yōu)化個(gè)體數(shù)往往少于5個(gè)。對(duì)于十分依賴種群規(guī)模的RWCE 算法,時(shí)間成本極大限制了優(yōu)化個(gè)體數(shù),嚴(yán)重抑制了全局搜索能力。同時(shí)也因?yàn)樵撍憷嬖诒姸嘟Y(jié)構(gòu),極值點(diǎn)更是星羅棋布,差解代替優(yōu)解現(xiàn)象更為頻繁,對(duì)于高精度的局部搜索能力需要更加緊迫。
優(yōu)化該算例時(shí),模型參數(shù):網(wǎng)絡(luò)設(shè)置5個(gè)主節(jié)點(diǎn),冷熱流股分別為2 和3 分流,分流上1 節(jié)點(diǎn)。并行雙層RWCE 算法參數(shù)如下,基礎(chǔ)層分配60 線程而精細(xì)層1線程,共啟用61線程?;A(chǔ)層參數(shù):共600個(gè)體,換熱量游走步長(zhǎng)120kW,初始生成熱量150kW,換熱單元生成概率0.2,接受差解概率0.01;精細(xì)層參數(shù):共5 個(gè)體,換熱量游走步長(zhǎng)5kW,初始生成熱量25kW,換熱單元生成概率0.01,接受差解概率0.0001。優(yōu)化時(shí)算法基礎(chǔ)層個(gè)體總數(shù)高達(dá)600個(gè),遠(yuǎn)超串行計(jì)算種群規(guī)模,全局搜索能力得到大幅提升?,F(xiàn)對(duì)比串行RWCE 算法與并行雙層RWCE 算法的TAC 下降曲線,探究其優(yōu)化性能。
如圖9,在相同迭代步數(shù)內(nèi),并行雙層RWCE算法的基礎(chǔ)層最優(yōu)解為1895715USD/a 遠(yuǎn)優(yōu)于串行計(jì)算的原RWCE 算法獲得的1925005USD/a,而且優(yōu)化全程都處于大幅領(lǐng)先地位,再次佐證并行雙層算法基礎(chǔ)層具備更強(qiáng)的全局搜索能力。如前文所述,RWCE算法個(gè)體獨(dú)立進(jìn)化,種群規(guī)模是影響全局搜索能力的重要因素,通過(guò)并行技術(shù)在優(yōu)化大型換熱網(wǎng)絡(luò)時(shí)可大幅增加種群規(guī)模,在相同優(yōu)化時(shí)間內(nèi)可獲得更優(yōu)的解。
圖9 并行雙層算法基礎(chǔ)層與原算法串行的性能比較
圖10 中為精細(xì)層實(shí)時(shí)解與最優(yōu)解的對(duì)比,可反映基礎(chǔ)層差解代替優(yōu)解的現(xiàn)象,由精細(xì)層記錄。圖中精細(xì)層一直存在實(shí)時(shí)解高于最優(yōu)解費(fèi)用的現(xiàn)象,如5×10步時(shí)TAC為1894191USD/a覆蓋了TAC為1886613USD/a。這種現(xiàn)象由于基礎(chǔ)層誤判最小極值點(diǎn)而將差解替代了優(yōu)解,表明基礎(chǔ)層的搜索精度不足。但增加精細(xì)層可準(zhǔn)確搜索到最小極值點(diǎn)并加以保護(hù),避免被差解覆蓋。對(duì)比圖6和圖10可發(fā)現(xiàn),H22C17 較H6C10 算例基礎(chǔ)層差解代替現(xiàn)象更為嚴(yán)重。由此可知,網(wǎng)絡(luò)規(guī)模越大,基礎(chǔ)層差解代替優(yōu)解的異常現(xiàn)象越頻繁,精細(xì)層則越顯重要。
圖10 精細(xì)層實(shí)時(shí)費(fèi)用于最優(yōu)費(fèi)用曲線
精細(xì)層最優(yōu)結(jié)果為1886613USD/a,耗時(shí)34071s,加速比為26.6,文獻(xiàn)結(jié)果對(duì)比見表2,網(wǎng)絡(luò)結(jié)構(gòu)如圖11 所示。39SP 算例目前的最優(yōu)結(jié)果由文獻(xiàn)[32]保持,采用子網(wǎng)絡(luò)重組策略和公用工程重置策略,在已知網(wǎng)絡(luò)結(jié)構(gòu)上優(yōu)化得1852913USD/a,優(yōu)化時(shí)間為23832s,由于依賴已知結(jié)構(gòu),普適性略顯不足。文獻(xiàn)[6]采用SA-RFO 混合算法優(yōu)化所得,結(jié)果為1900614USD/a,優(yōu)化時(shí)間為24492s。文獻(xiàn)[31]則通過(guò)動(dòng)態(tài)節(jié)點(diǎn)策略減少模型計(jì)算量,獲得優(yōu)化結(jié)果1910630USD/a。通過(guò)與文獻(xiàn)結(jié)構(gòu)對(duì)比發(fā)現(xiàn),除本文和文獻(xiàn)[32]外,均存在C4流股公用工程未消去或C5 上公用工程過(guò)大的情況。而本文結(jié)構(gòu)則是形成巧妙的耦合關(guān)系消去C4 的公用工程和減少了C5 公用工程能耗,且最小傳熱溫差只出現(xiàn)在H6 和H22 流股上的換熱器,為15.0℃,符合實(shí)際情況。其他文獻(xiàn)由于全局搜索能力不足或局部搜索精度不足,導(dǎo)致結(jié)構(gòu)耦合程度差,或熱量分配不合理未能消去或減少C4、C5 上公用工程。相比文獻(xiàn)[31],雖然設(shè)備投資費(fèi)用增加了13163USD/a,但是公用工程能源消耗費(fèi)用下降了37180USD/a,總費(fèi)用減少了24017USD/a。
圖11 算例2對(duì)應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)
表2 算例2優(yōu)化結(jié)果與文獻(xiàn)結(jié)果對(duì)比
并行雙層RWCE 算法加速比理論上限為32(計(jì)算機(jī)核心為32),實(shí)際試驗(yàn)中最高加速比是27.2,為啟用45超線程運(yùn)算時(shí)獲得。算例1加速比是26.0,算例2 加速比是26.6,均為61 超線程運(yùn)算,說(shuō)明相同線程時(shí)問(wèn)題規(guī)模越大,加速比也越大。但由于十分接近計(jì)算機(jī)性能極限,因此問(wèn)題規(guī)模對(duì)加速比的增幅有限。線程數(shù)和問(wèn)題求解規(guī)模均能影響加速比,原因在于問(wèn)題規(guī)模越大,產(chǎn)生不同類型的運(yùn)算指令越豐富越及時(shí),在超線程處理下,可大幅減少CPU 不同計(jì)算部分的閑置時(shí)間,從而提高加速比。因此,在合理的并行線程數(shù)下,問(wèn)題規(guī)模越大,加速比越大。
針對(duì)基礎(chǔ)RWCE 算法求解大規(guī)模換熱網(wǎng)絡(luò)時(shí)局部搜索精度不足的問(wèn)題,本文提出了基于OpenMP 并行計(jì)算的并行雙層RWCE 算法。該算法結(jié)合了并行技術(shù)和原算法特點(diǎn),通過(guò)線程分配構(gòu)建基礎(chǔ)層和精細(xì)層,在優(yōu)化全程兼顧全局與局部搜索能力。此外,本文檢驗(yàn)了并行雙層算法優(yōu)化質(zhì)量與效率,相比于基礎(chǔ)算法,消除了差解代替優(yōu)解的不良現(xiàn)象,大幅提升了大型網(wǎng)絡(luò)的優(yōu)化效率。最后優(yōu)化20SP和39SP算例進(jìn)行驗(yàn)證,計(jì)算結(jié)果表明,算法全局搜索能力和局部搜索能力都得到強(qiáng)化,同時(shí)發(fā)現(xiàn)加速比隨線程數(shù)和問(wèn)題規(guī)模增大而增大。這些特征對(duì)于大型換熱網(wǎng)絡(luò)優(yōu)化問(wèn)題的高效準(zhǔn)確求解具有重要指導(dǎo)意義。
然而,本文未與并行計(jì)算特點(diǎn)結(jié)合,研究相關(guān)優(yōu)化策略。作者將在此基礎(chǔ)上,充分發(fā)揮并行計(jì)算與RWCE 算法特性,進(jìn)一步開發(fā)出提高換熱網(wǎng)絡(luò)質(zhì)量的策略。
,,——換熱器、冷、熱公用工程的換熱面積,m
——換熱面積費(fèi)用系數(shù)
,——冷、熱公用工程的運(yùn)行費(fèi)用系數(shù)
——設(shè)備固定投資費(fèi)用,USD/a
FCP——流股的熱容流率,kW/℃
Δ——最大游走步長(zhǎng),KW
LMTD——對(duì)數(shù)平均溫差,℃
——流股總節(jié)點(diǎn)數(shù)
,——冷、熱流體股數(shù)
,——冷、熱流股的主節(jié)點(diǎn)數(shù)
,——冷、熱流股分流數(shù)
——當(dāng)前結(jié)構(gòu)換熱器數(shù)量
,′——迭代前后的個(gè)體
,——冷、熱公用工程熱量消耗量,kW
——最大初始熱量,kW
,,——(0,1)均勻分布的隨機(jī)數(shù)
SPC、SPH——冷、熱流股分流比
——流股末端目標(biāo)溫度,℃
Δ——最小傳熱溫差,℃
——換熱器總傳熱系數(shù),kW/(m·℃)
——優(yōu)化變量
——表示0-1變量
——操作執(zhí)行概率,∈(0,1)
——面積費(fèi)用指數(shù)
in,out——進(jìn)出口
c,h——冷、熱流股編號(hào)
cn,hn——冷、熱流股主節(jié)點(diǎn)編號(hào)
cn,hf——冷、熱流股分流編號(hào)
it—— 迭代步數(shù)