舒 紅
(陜西工業職業技術學院,陜西 咸陽 712000)
PCB板(Printed Circuit Board)是電子元件的重要組成部分,在現代電子工業中起著至關重要的作用[1]。隨著電子產品的不斷發展及復雜化,PCB板上的電子元件數量和布局越來越復雜,需滿足熱管理需求。引入智能優化算法,通過蟻群算法實現PCB板上電子元件的條件熱布局優化,提高電子產品的穩定性及工作效率,為PCB板設計提供一種新的優化方法和思路。
PCB板承載著各種電子元件并提供電氣連接,電子元件的熱布局對于整個電路板的熱性能及穩定性起著至關重要的作用[2]。合理的電子元件熱布局可有效降低電子元件之間的熱交互,提高散熱效果,保證電路板的穩定性及可靠性。在PCB板的電子元件熱布局中需考慮很多因素,包括元件的功耗、散熱條件、布線結構等。近年來,智能優化算法在這一領域展現出了強大的優勢,遺傳算法、粒子群算法、蟻群算法等智能優化算法被廣泛應用于此問題中,可以有效提高PCB板的散熱效果,降低元件之間的熱交互,保證整個電路板的穩定性和可靠性。
蟻群算法的整個計算過程可概括為兩個方面,即適應階段和寫作階段[3-4]。其流程是給定一個有n個城市的集合體{1,2,3,…,n},每個螞蟻從原點出發走遍集合體中的每一座城市,且每座城市只走一次,最終回到原點,其最終目的是找到每一只螞蟻走過的所有路徑之和為最小的情況。相關參數定義如下:螞蟻的總數量記為m;i、j兩個城市之間的路徑距離記為dij,(i,j=1,2,3,…,n);在時刻t時,螞蟻在i、j兩個城市之間的信息素軌跡量記為πij(t),螞蟻在原點時,設定每條路徑上的信息素為一個常數值,記為πij(t)=c,即此時每條路徑上的信息素軌跡量是相等的。等螞蟻k(k=1,2,3,…,m)選擇城市i出發到城市j時,影響其選擇的有兩個因素:兩個城市之間的可見度ηij,從城市i出發到城市j的可行性,其由迄今為止城市之間路徑上的信息素濃度πij決定。采用蟻群算法能夠實現最優解,主要遵循以下幾個準則:

式中:allowedk=[0,1,2,…,n-1]-tabuk,tabuk表示螞蟻k下一步能夠選擇的城市。α為螞蟻殘留下來的信息素的相對重要程度,即α值越大,螞蟻越重視這條路徑,選擇這條路徑的概率也越大,但α值如果出現過大情況會導致螞蟻提前搜索而收斂。β為期望值的相對重要程度,主要是指啟發信息量的受重視程度。ηij表示螞蟻從城市i出發到城市j的期望值,由啟發式函數確定,如ηij=1/dij。在算法計算過程中設定的螞蟻數量越多,相應的算法全局搜索能力越強。但如果螞蟻的數量過多,算法在計算過程中會導致收斂速度變慢。因此,通常選用的螞蟻數與城市數目相同。
2)局部調整優化準則。螞蟻個體在尋求最優解的過程中需要逐步對信息素進行調整,從而更快地找到最優解。當螞蟻經過多次循環經歷時間為h時,被選擇的兩個元素之間的信息素調整規則為:
πij(t+h)=(1-ζ)·τij(t)+ζτ0,τ0=1/(nlmin) 式中:τ0為局部更新常數,ζ?[0,1]表現信息素的氣味蒸發因子,lmin表示集合中最近兩個元素之間的間距。
3)全局調整優化準則。每只螞蟻在進行一次完整的尋優過程后,需對其進行一次完整的全局調整,調整規則為:
τij(t+1)=(1-ρ)·τij(t)+ρΔτij

為了避免蟻群算法應用過程中出現早熟停滯現象,引入最大最小螞蟻系統進行算法改進,改進流程如下:
更新信息素。在最大最小螞蟻系統進行迭代后,當系統找到最短路徑的那只螞蟻才選擇更新其信息素,更新原則為:
τij(t+1)=(1-ρ)τij(t)+Δtbestij
式中:Δtbestij=1/f(Tbest),f(sbest)表示迭代或全局迭代得到的最優解(Tgb)。一般來說,蟻群系統主流采用全局最優解sgb,最大最小螞蟻系統主要采用的是迭代最優解sib,用以擴大算法搜索范圍,避免過早發生早熟停滯。
限制信息素。在蟻群算法分析過程中,任意兩個城市之間的信息素遠遠大于其他路徑選擇時,根據概率選擇原則,螞蟻更傾向于選擇信息素多的路徑,算法具有正反饋機制又會進一步增強該條路上的信息素濃度,會進一步引導所有螞蟻趨向于選擇這條路徑,停滯搜索。為避免這種現象,最大最小螞蟻系統對于信息素的值限制在[τmin,τmax]中,使所有信息素滿足τmin≤τij(t)≤τmax,避免不同路徑之間的信息素濃度差距過大。
為了使算法在初始迭代中增大其搜索范圍,能夠進一步尋優,通常將各路徑的信息素軌跡量初始化為τmax,增強蟻群算法的隨機搜索能力。
圖1為蟻群算法尋優最優解Tgb算法的流程和代碼過程。

圖1 蟻群算法尋優流程Fig.1 Ant colony algorithm optimization process from ant_colony import AntColony import numpy as np
# 構建距離矩陣
distance=np.array{[(0,29,20,21),(29,0,15,24),(20,15,0,26),(21,24,26,0)]}
# 創建螞蟻群實例
colony=AntColony(distance,4,10,100,0.95,alpha=1,beta=2)
# 運行蟻群算法
shortest_path=colony.run()
print(″最優路徑:″,shortest_path)
對優化結果進行計算對比計算。設定蟻群算法中螞蟻的數量為10,公式中的相關參數初始化值為α=0.5、β=5,設定迭代次數為1000[5]。在matlab環境下運行算法流程,結果如圖2所示,優化的PCB板電子元件條件熱布局的溫度值結果如圖3所示。

圖2 優化的PCB板電子元件布局Fig.2 Optimized PCB board electronic component layout

圖3 優化的PCB板電子元件條件熱布局的溫度值Fig.3 Optimized temperature values for the conditional thermal layout of PCB electronic components(℃)
圖2中數值的大小代表序列中功耗s1,s2,s3,…,sn的排序,通過蟻群算法優化后可得到系統最優分布狀況。
圖3表示采用蟻群算法優化后PCB板電子元件條件熱布局的溫度值最高穩態溫度值穩定在82.613 ℃,最低穩態溫度值為65.942 ℃,平均穩態溫度值為70.981 ℃。
由圖2可以看出,通過蟻群算法對PCB板電子元件條件熱布局進行優化,結果的最優值說明在PCB板電子元件的最優布置情況從左到右的排序序號為:s14,s3,s1,s4,s9,s15,s16,s2,s12,s10,s13,s11,s6,s8,s7,s5,即應該將電子元件s14安裝在C1位置處、電子元件s3安裝在C2位置處、……、電子元件s5安裝在C16處,此時通過優化可得到PCB板上電子元件形成的溫度場中的最低溫度值。采用最大最小螞蟻系統仿真,按照此布局對PCB板電子元件重新建模,保持其他條件不變,模擬結果如圖4所示。由圖4可知,最高溫度值為87.41 ℃,顯示在C16位置處,最低溫度值為72.75 ℃,顯示在C8位置處,其平均值為81.21 ℃。經過多次迭代后可以看出,優化后溫度場分布位于邊緣位置處的溫度值相對低一些。

圖4 最大最小螞蟻系統仿真優化結果Fig.4 Simulation and optimization results of max-min Ant system
采用傳統的數學模型和ANSYS對PCB板電子元件條件熱布局的溫度結果進行計算,得到PCB板電子元件條件熱布局優化前后的溫度值,如表1、表2所示。

表1 數學模型的熱布局節點溫度值對比

表2 ANSYS算法的熱布局節點溫度值對比
由表1、表2、可以看出,經過智能優化算法處理后的溫度值得到了一定程度的降低,在工程應用中可采用蟻群算對電路板上的電子元件布局方式進行優化,為PCB板電子元件條件熱布局提供借鑒參考。
智能優化算法在熱布局優化中具有良好的適用性和有效性,能夠有效解決復雜的優化問題。仿真分析在驗證優化算法有效性和評估不同布局方案優劣方面起到了關鍵作用,為實際應用提供了理論支持和技術指導。