張 亮,韓 毅2,鄧麗麗
(1.浙江工業(yè)大學(xué) 管理學(xué)院,杭州 310023; 2.浙江樹人大學(xué) 基礎(chǔ)學(xué)院,浙江 紹興 312028)
北極熊是生活在北極冰封區(qū)域的哺乳動物,在該區(qū)域內(nèi)它們體型最大,靠捕獵其他動物為生。這種優(yōu)勢源自它們能夠適應(yīng)周圍環(huán)境并且具有特殊的捕獵行為。它們對于外部環(huán)境的適應(yīng)性起到了關(guān)鍵作用,厚厚的一層脂肪防止它們的自身器官被凍壞,并且它們白色的皮毛在冰和雪的背景下掩蓋了它們的行跡。其他因素也使得它們能夠進行捕獵并生存下來,比如北極熊可以在海面上很遠的距離以外,以迅速的移動方式和極快的捕獵速度抓住獵物。對于北極熊來說,它們的繁衍環(huán)境非常嚴酷,但是它們成功地存活下來成為北極的統(tǒng)治者。
在嚴寒的氣候條件下,北極熊這種食肉哺乳動物也整年都很活躍。這種環(huán)境雖然不利于其他動物,但北極熊卻早已適應(yīng),無論在冰面或是在水中它們都能毫不費力地在大范圍內(nèi)進行搜索和捕捉獵物,如圖1所示。
圖1 北極熊游走和覓食行為整體活動示意圖[1]
北極熊可以跳上浮冰并隨冰漂浮到更好的捕獵地點,它們的這種位置變換模式如圖2所示。在到達它們的目的地之后,北極熊通過在獵物周圍繞圈的方式逐漸靠近,從而尋找最佳位置來完成攻擊。這種捕獵行為在算法中采用三葉草葉片形態(tài)的函數(shù)來模擬,圖3展示了北極熊在攻擊之前的移動路徑。
圖2 北極熊跳上浮冰向獵物靠近行為示意圖[1]
基于北極熊尋找食物和狩獵方式的新穎運算模型,可以作為各種理論和實踐問題的有效優(yōu)化方法。優(yōu)化問題與自然界非常相似,自然界中動物尋找最佳的繁衍環(huán)境的過程類似于優(yōu)化問題中的尋找數(shù)學(xué)模型最優(yōu)解的過程。
文獻[1]將北極熊在嚴寒的北極冰地上和海洋中尋找食物時的行為建模為優(yōu)化策略,北極熊的特性為北極熊算法運算機制模型的研究提供了靈感。
在模型中,北極的極端條件可以想象為解空間,空間中的最優(yōu)解的位置無從得知,如同北極熊不知道在哪里可以找到海豹或其他食物一樣。在算法尋優(yōu)過程中,算法會陷入局部最優(yōu)狀態(tài),這會阻止算法進行全局搜索。由此,優(yōu)化目標和函數(shù)的本質(zhì)就難以獲知,因此需要一些特定的策略來避免錯誤。北極熊尋找食物,但北極的環(huán)境會使它們被困甚至死亡,因此它們進化出了非常有效的機制幫助他們成功生存下來。北極熊的捕獵策略有兩個階段,在北極熊算法中,執(zhí)行機制將北極熊在北極冰地和海洋中行進的過程作為全局搜索策略,將北極熊的具體捕獵行為作為局部搜索策略。此外,北極熊算法采用了控制種群出生和死亡的機制來模擬自然條件下北極熊的繁衍生存行為。
在北極熊算法中,假設(shè)種群由k個北極熊組成,每個北極熊代表解空間中的一個具有n個維度的點x=(x0,x1, …,xn-1),在第t次迭代時第i個點的第j維度的坐標用(xji)t表示。
如果一只饑餓的北極熊在它最近鄰范圍內(nèi)找不到任何東西吃,那么它就站上一個大而穩(wěn)定的浮冰,浮冰在很長一段時間內(nèi)不會因為北極熊體重太大而破裂。北極熊利用浮冰朝遠處可能有海豹的聚集地漂移。漂移可能需要幾天時間,在這段時間內(nèi)北極熊也在周圍的冰面和水域中尋找食物。北極熊的浮冰漂移現(xiàn)象在算法中用公式(1)來表示。
(1)
α是區(qū)間(0,1]之間的隨機數(shù),γ是[0,w]區(qū)間內(nèi)的隨機數(shù),sign(w)函數(shù)是分段函數(shù),根據(jù)w的取值({負,0,正})sign(w)函數(shù)的結(jié)果為{-1,0,1},w是兩個北極熊之間的歐式距離(公式(2))。
(2)
在北極熊算法的迭代過程中的每個個體都根據(jù)公式(1)進行全局搜索探索,但是只有在某只熊探索到比當前位置更好的位置時,才更新該只熊的位置。因為只有在熊距離海豹聚集地更近的時候,它才有很大希望捕成功(如圖2所示)。
r=4acos(φ0)sin(φ0)
(3)
r作用于每只熊自身移動過程中每一維度上的坐標的更新過程中,如公式(4)所示。
(4)
每個φ的取值為[0,2π),公式中的“+”號表示北極熊向前探尋,如果位置不理想,北極熊就向“-”號方向探尋,兩個方向都不理想,北極熊就原地不動。如果北極熊是在二維平面上進行捕獵,則它的行進路徑與三葉草某片葉子的形狀極其相似(圖3)。
在算法執(zhí)行初期,熊群規(guī)模只是最大容量的75%,剩余的25%為后期的熊群增長、最好個體繁殖后代和最差解的消亡作準備。在算法的每一次迭代中,個體會因饑餓而死亡或者在成功捕獵后繁殖后代。這個機制代表了北極的嚴酷條件,算法引入k作為[0,1]區(qū)間上的隨機數(shù),采用公式(5)確定熊的死亡或生存決策。
(5)
死亡策略是針對最虛弱的一只熊,熊死亡的條件是:種群數(shù)量要保證多于種群容量的50%。繁衍是針對第t次迭代中,除了最好解之外前10%個最好個體中的1個解,繁衍行為按公式(6)進行。
(6)
1)定義參數(shù):適應(yīng)值f、解維度、迭代次數(shù)T、種群最大容量n和視野最大距離等;
2)隨機生成初始種群75%n并記錄最好解;
3)對種群中的每個北極熊,隨機設(shè)置每個維度的斜角度值φ;
4)利用公式(3)計算搜索半徑r;
5)在“+”號作用下采用公式(4)計算北極熊新位置,如果新位置更好,更新當前位置;
6)在“-”號作用下采用公式(4)計算北極熊新位置,如果新位置更好,更新當前位置;
7)根據(jù)公式(1)和w,決策北極熊的位置;
8)對種群進行排序,選出排序第一位的北極熊判斷是否更新全局最好解;
9)隨機從當前種群10%個最好解中,選擇1個與全局最好解不同的解;
10)隨機產(chǎn)生k值,如果k<0.25且熊數(shù)量大于50%n,則移除種群中排序在最后一名的解;
11)如果熊的數(shù)量小于n-1,則根據(jù)公式(6)繁衍1只新熊加入種群;
12)判斷是否達到最大迭代次數(shù),是則轉(zhuǎn)13),否則跳轉(zhuǎn)到3);
13)輸出全局最好解和適應(yīng)值,退出算法。
PBO算法是2017年才提出的最新智能優(yōu)化算法,縱觀所有與PBO相關(guān)的國內(nèi)外文獻,目前只有2篇國外文獻描述了PBO算法在工程優(yōu)化領(lǐng)域的應(yīng)用情況。
文獻[1]將北極熊算法應(yīng)用于高壓容器設(shè)計問題、齒輪組設(shè)計問題、焊接梁設(shè)計問題和壓縮彈簧設(shè)計問題中。
2.1.1 高壓容器設(shè)計問題
高壓容器設(shè)計問題考慮設(shè)計能夠承受1 000帕氣壓和最小容量為750立升的罐體,罐體由一個圓柱體和兩端的兩個半球型鋼組成(圖4)。問題考慮4個因素,圓柱體皮層厚度x1,半球缸體的皮層厚度x2,圓柱體不含皮層的半徑大小x3以及圓柱體長度x4。x1,x2∈[0,99],x3,x4∈[10,200]。問題是如何最小化生產(chǎn)成本,也就是最小化罐子的重量,目標函數(shù)用公式(7)表示,約束條件如公式(8)所示。計算結(jié)果顯示,北極熊算法的效果優(yōu)于飛蛾撲火算法和粒子群算法。
圖4 高壓罐體示意圖[1]
(7)
(8)
2.1.2 齒輪組設(shè)計問題
齒輪組設(shè)計問題考慮4個次輪間的輪齒大小問題,從而使得次輪的齒數(shù)比最小,目標函數(shù)用公式(9)表示,x1,x2,x3,x4∈[12,60]代表了圖5所示的齒輪組的輪齒大小。計算結(jié)果表明,北極熊算法的計算效果優(yōu)于飛蛾撲火算法。
圖5 齒輪組示意圖[1]
(9)
2.1.3 焊接梁設(shè)計問題
焊接梁設(shè)計問題考慮梁和焊接點兩方面因素,目的是在保證梁不會彎曲的要求下,最小化焊接成本和梁的材料成本。問題的目標函數(shù)如公式(10)所示,問題的約束條件如公式(11)和公式(12)所示。x1,x4∈[0.1,2],x2,x3∈[0.1,10],P=6 000,L=14,τmax=13 600,E=30*106,γmax=0.25,G=12*106,σmax=30 000(圖6)。
圖6 焊接梁模型示意圖[1]
(10)
根據(jù)計算結(jié)果來看,北極熊算法稍遜于粒子群和飛蛾撲火算法,但仍優(yōu)于蝙蝠算法、螢火蟲算法、蜻蜓算法、布谷鳥算法、花朵授粉算法和水波優(yōu)化算法等[2-12]。
(11)
(12)
2.1.4 壓縮彈簧設(shè)計問題
壓縮彈簧設(shè)計問題考慮彈簧對它上面放置的負載進行張力壓縮反應(yīng)時,彈簧的體積盡量達到最小(圖7)。公式(13)給出了問題的目標函數(shù),公式(14)給出了問題的約束條件。x1∈[2,15],x2∈[0.25,1.3],x3∈[0h05,2]。
圖7 壓縮彈簧模型示意圖[1]
(13)
(14)
計算結(jié)果顯示,北極熊算法和粒子群算法的效果稍稍優(yōu)于其他優(yōu)化算法。
工業(yè)系統(tǒng)的能源效率對于優(yōu)化利用資源和降低用戶能源成本起到關(guān)鍵的作用。文獻[13]考慮區(qū)域供熱系統(tǒng)的最大供熱效率問題,針對各種天氣條件下的區(qū)域熱源廠運作情況,提出了廠區(qū)運作的目標函數(shù),建立了相關(guān)的數(shù)學(xué)模型,設(shè)計了北極熊算法校正熱源廠系統(tǒng)的工作參數(shù)。模型描述了一個典型的區(qū)域熱源廠,廠內(nèi)的兩個換熱器由受控泵供水。熱源廠及其在不同條件下的效率受到多種因素的影響。通過生產(chǎn)設(shè)備內(nèi)部結(jié)構(gòu)調(diào)整、有效的子系統(tǒng)運用和運行參數(shù)的完全控制,熱源廠的效率就能夠得到優(yōu)化(圖8~10)。
圖8 區(qū)域熱源廠內(nèi)部運行系統(tǒng)示意圖[13]
圖9 區(qū)域熱源廠供熱網(wǎng)絡(luò)示意圖[13]
圖10 區(qū)域熱源廠業(yè)務(wù)處理流程示意圖[13]
熱源廠通常將熱和電一起進行生產(chǎn),這種模式被稱為熱電聯(lián)產(chǎn)。從熱力學(xué)的角度來看,這種模式是非常有效的。在同一生產(chǎn)過程中產(chǎn)生電能和熱,比分別單獨生產(chǎn)兩類產(chǎn)品所消耗的燃料要少得多。大多數(shù)熱電廠使用蒸汽冷凝法加熱冷水,冷水變成熱水后就供給小區(qū)每戶居民。在燃煤或燃氣鍋爐中產(chǎn)生的蒸汽帶動汽輪機,進而帶動發(fā)電機。在不同的壓力水平下,蒸汽的一部分從渦輪中抽取出來。抽取的蒸汽或用于熱再生系統(tǒng)(提高循環(huán)效率),或用于專用水加熱器(產(chǎn)生熱量)。熱是一種比電的市場價格低得多的產(chǎn)品,抽取蒸汽去生產(chǎn)熱能意味著降低了電能的出產(chǎn)量,由此所帶來的負經(jīng)濟效益稱為蒸汽成本。此外,熱電廠的部分電力消耗在了驅(qū)動壓力泵的過程中。在圖10中可以看到,一個泵系統(tǒng)由3個獨立的并行水泵組成,加壓水通過2個熱交換器進行加熱處理。
水加熱器在生產(chǎn)熱能的過程中,在兩種壓力水平下消耗蒸汽?;亓鞯睦渌魅胂到y(tǒng)(0),然后流過三個相同的泵1a、1b和1c(取決于系統(tǒng)設(shè)置)和泵控制閥門2a、2b和2c。三個泵里出來的水進入第一個熱交換器3。部分零冷水(10%到100%不等)使用蒸汽2.0(蒸汽溫度達到120度)進行加熱(3a),其余的冷水流過第一個旁路(3b)。然后,加熱后的水(4a)和旁路中的水(4b)混合后(5),再次分流:一部分水(從10%到100%不等)流經(jīng)第二熱交換器(5a),并通過蒸汽6.2加熱(蒸汽溫度高達160度)。剩余部分的水通過第二旁通控制閥(5b)。二次加熱后的水(6a)和旁路水(6b)混合后輸送送至供熱網(wǎng)絡(luò)。在整個水加熱過程中,北極熊算法是幫助找出泵、控制閥和換熱器運行參數(shù)的最優(yōu)可行配置,這樣的話熱水就足以保障大型居民區(qū)的供暖。
2.2.1 水泵工作原理
水泵是用來輸送水和提高回水壓力的,由于區(qū)域供熱回路上的水壓損失,必須提高回水壓力。某一個水泵的泵壓差與它的體積有關(guān),兩者構(gòu)成了一種近似于二次非線性函數(shù)的關(guān)系。
Δp=AV2+BV+C
(15)
A,B和C是水泵的經(jīng)驗常數(shù),體積V等于質(zhì)量m除以密度ρ。
(16)
(17)
通過一組已知的參考狀態(tài)參數(shù),可以預(yù)測流經(jīng)液壓系統(tǒng)(例如管道和換熱器)的水阻力壓降。
(18)
δp為質(zhì)量為m的水阻力壓降,δp0是參考狀態(tài)的水助力壓降值(常數(shù)),m0是參考狀態(tài)下的質(zhì)量(常數(shù))。
在一個穩(wěn)定狀態(tài)下,泵壓差等于來自于各個設(shè)備(例如管道、閥門、噴嘴、熱交換器和孔口等)的水阻力壓降值。
(19)
該條件對應(yīng)于泵壓差曲線與系統(tǒng)內(nèi)水阻力壓降曲線的交點,如圖11所示。泵的驅(qū)動器耗電量可以由公式(20)得出。
(20)
圖11 泵壓差和水阻力壓降交叉曲線圖[2]
Nel是電力,V是體積,Δp是壓力差,ηip是水泵絕熱效率,ηem是泵驅(qū)動器電機效率。水泵絕熱效率倚賴水泵工況,它是水泵效力和水泵旋轉(zhuǎn)速度的函數(shù)。如果水泵轉(zhuǎn)速為常數(shù),則絕熱效率可以用二次函數(shù)表示(公式21)。D、E和F是經(jīng)驗常數(shù),絕熱效率函數(shù)可以在合理參數(shù)配置下達到最大值。
(21)
2.2.2 換熱器(熱交換器)
換熱器是用來將熱量從一種介質(zhì)轉(zhuǎn)移到另一種介質(zhì)的設(shè)備一個蒸汽-水換熱器通常是殼管式冷凝器,如圖12所示。水通過密封殼內(nèi)的一束管子流動,蒸汽凝結(jié)成水滴附在管道的外表面并向下滴落,而水在管束內(nèi)被加熱。蒸汽能夠持續(xù)獲得恒定溫度靠的是壓力。假定水的熱容是恒定的,則熱水器中水流所獲得的熱量可以用能量平衡公式(22)來表示。
圖12 換熱器示意圖[2]
(22)
此處Q是熱負荷,cp是等壓比熱,Tout和Tin是水的流出和流入溫度。另一方面,換熱器的熱負荷受蒸汽溫度、加熱能力和復(fù)雜熱傳導(dǎo)現(xiàn)象的限制。對于這種特殊類型的換熱器(冷凝器),熱負荷可以根據(jù)水和蒸汽之間的溫差來計算。蒸汽的飽和溫度可以通過公式(23)計算得出。
(23)
U為總傳熱系數(shù),H為熱傳導(dǎo)區(qū)域。與水阻力壓降一樣,冷凝器的傳熱系數(shù)U取決于被加熱過的水的質(zhì)量m。
(24)
U0為總傳熱系數(shù)參考狀態(tài),k根據(jù)經(jīng)驗取0.8。在所考慮的系統(tǒng)中,一部分水流通過熱交換器,剩下的部分是被閥門擋住后只能流過旁流管,然后與熱交換器出來的熱水混合。在熱交換器內(nèi),熱水量與總流量之比作為分裂因子R。
(25)
集中供熱系統(tǒng)的熱量需求取決于室外條件,如:空氣溫度和風速。因此,隨著時間的推移,生產(chǎn)熱量的過程在熱負荷和系統(tǒng)出水溫度方面會有很大變化,必須為每個操作節(jié)點找到最經(jīng)濟的參數(shù)配置。使用所提出的模型,一些非設(shè)計操作狀態(tài)是分析了每一種情況下熱生產(chǎn)成本的全局最小值。
表1 基本參數(shù)信息表[2]
在研究問題時,文獻[13]設(shè)計了如下假設(shè)條件:在運行中,水泵之間的水流是均勻分布的;水密度ρ假定為常數(shù)(與溫度和壓力無關(guān));水的比熱cp是恒定的指數(shù)(與溫度和壓力有關(guān));換熱器的水阻力壓降不影響傳熱效果;對環(huán)境的熱損失忽略不計;回水的參數(shù)是常數(shù)。
表2 不同情況下的熱生產(chǎn)需求表[13]
2.2.3 目標函數(shù)
目標函數(shù)用來評價解的質(zhì)量,供熱系統(tǒng)的最佳工作狀態(tài)倚賴高運作效率、滿足邊界條件(溫度、泵運行范圍、熱負荷和泵控制閥壓降)和盡可能最低的運行成本。啟發(fā)式算法必須在上述因素之間找到折衷方案,并選擇最合適的運行參數(shù)。問題目標函數(shù)φ是由經(jīng)營成本Ctotal和四個邊界控制懲罰函數(shù)組成。
(26)
Ctotal是總運作成本,CEL為用電成本,EEL為電消耗量,s2.0和s6,2為蒸汽成本,Qstream2.0和Qstream6.2是蒸汽消耗量。
Qstream2.0=Q1·0.0036
(27)
Qstream6.2=Q2·0.0036
(28)
Q1是第一個熱交換器的熱負荷,Q2是第二個熱交換器的熱負荷。
除了公式(26),其他四個因素(正確的熱負荷、系統(tǒng)出水溫度、泵控制閥水阻力壓降和泵工作條件)也考慮進總目標函數(shù)中。
φ=Ctotal+p1+p2+p3+p4
(29)
(30)
(31)
(32)
(33)
|Q-Qset|是所需要的熱負荷與算法給出的熱負荷值的差值絕對值,Qset=Q1+Q2。|T-Tset|是實際需要溫度與算法給出的溫度之間的差值絕對值,δpvalves是泵控制閥水助力壓降(不能為負值),每個水泵的工作條件取決于通過的水量V,V的取值范圍在120和300之間,否則水泵無法工作。
根據(jù)最終的計算結(jié)果,北極熊算法比粒子群優(yōu)化算法體現(xiàn)出了微弱的優(yōu)勢,驗證了北極熊算的有效性和適用性。
本文介紹了近年來國外學(xué)者最新提出的一種模仿自然界
生物的智能優(yōu)化算法——北極熊算法,基本按照原文獻的描述還原了算法的背景、生物特性、局部搜索算子、全局搜索算法和種群控制算子。通過詳細介紹算法的執(zhí)行步驟,為領(lǐng)域內(nèi)的相關(guān)學(xué)者提供了有價值的參考和借鑒。文章后半部分描述了算法的應(yīng)用領(lǐng)域,呈現(xiàn)了算法在實際生產(chǎn)生活中的重要作用。目前算法尚處于研究初期,可以圍繞北極熊算法在其他工程領(lǐng)域、混合算法領(lǐng)域(北極熊算法混合帝國競爭算法和獅群算法等[14-15])和多目標問題研究領(lǐng)域進行進一步的深入探討和挖掘。