一种用于印刷电路板热设计的粒子群优化方法
摘要
印刷电路板(PCB)主导了电子市场,几乎成为所有商用电子设备的组成部分。然而,对更小、更高效电子设备的需求给其热设计带来了具有挑战性的问题。本文提出了一种基于综合学习粒子群优化(CLPSO)的新方法,用于优化印刷电路板在热性能方面的设计。首先,引入一种编码方案,将电子元件在电路板上的潜在布局表示为粒子。然后应用专门定制的CLPSO算法,针对PCB上产生的温度来优化组件的位置;这些温度通过详细的三维热模型计算得出。该算法包含防止元器件重叠或放置在板外的机制。所提出的方法在多个案例研究中进行了评估,涉及具有不同尺寸、热耗散水平和最佳工作温度组件的印刷电路板优化;结果表明,所得布局有助于降低电路板上的温度分布,这对PCB性能与可靠性至关重要。与替代性PCB热优化技术的比较突显了该提出方法的优越性。
关键词 :粒子群优化,印刷电路板,群体智能,热设计
引言
印刷电路板(PCB)是自包含的模块,由相互连接的集成电路和/或其他电子元件组成,这些元件布置在称为基板的电路板表面上。印刷电路板已取代了早期的电路构建方法,例如点对点布线,因为它们具有显著的优势,包括全自动化装配工艺,从而实现更便宜、更快的生产,并消除布线错误。如今,印刷电路板已主导电子市场,几乎出现在除最简单的电子设备外的所有设备中,从普通的计算器或电视遥控器,到超级计算机、医疗仪器[16,64,71]复杂传感器[20,72]和机器人系统[35,36,62]。
对更小且更高效的电子设备日益增长的需求,给印刷电路板的设计带来了极具挑战性的问题。在各类设计任务中,热设计或许最受这两个明显冲突需求的影响,因为缩小元件之间的距离不可避免地阻碍了热量散发;电子元件[33]工作温度的升高不仅会损害电路性能,还可能显著缩短其使用寿命,从而提高故障率[7]。在电路板上增加散热器有助于散热,但另一方面,这些部件通常体积庞大,与市场要求所规定的缩小电子产品尺寸的趋势相悖。
不难理解,热设计是一项复杂的任务,必须基于严格优化[1–3];然而,电子元件具有多种不同的形状和尺寸,并表现出广泛的功率耗散特性,功耗水平和工作温度,使得开发一种标准的PCB设计技术成为一项艰巨的任务。因此,PCB热设计通常采用的方法是使用仿真工具来估算元件温度,然后通过试错过程重新布局组件并通过反复试验调整元件位置,和-error procedure[13]。这也是商业PCB设计软件包(如Altium和Zuken)提供的方法。后者提供了显著的优势,包括庞大的电子元件数据库和强大的用户界面,但只能作为热设计的辅助工具;这是因为,尽管它们包含了估算元件温度的方法,但它们并不能自动优化热设计;为元件布局提供自动优化功能—此功能由Flotherm提供,其使用基于梯度的求解器来优化热设计[69];然而,相应的目标函数通常存在多个局部最小值,这一事实使得通用的基于梯度的优化方法的使用受到限制。因此,alternative 专用方法已在文献中提出,包括模糊逻辑[21], 和改进—印刷电路板设计的先进方法的规格说明称为力导向布局算法[18,28]。
一种不同的组件优化方法用于复杂系统包括采用元启发式—方法;后者包含多种搜索方法,通常带有随机性元素,有助于摆脱不理想的局部最小值。进化计算包含一组元启发式搜索方法,这些方法通常在种群的候选解上进行操作,基于生物进化的原理,例如自然选择、基因变异、遗传等。遗传算法(GAs)[27,40]是其中最彻底利用的基于进化的方法,技术应用于生产等各个领域生产计划[26,34],数据挖掘[42–44], transport工程[51],成本优化[32,58], 神经网络训练[4,44,53], 和生物医学系统—tems[65]。遗传算法也被发现具有良好的性能与其他计算智能方法结合技术[9]。差分进化[12]是一种算法—另一种已被发现的进化方法高效地处理复杂的优化问题问题[45,66,67]。
另一类重要的元启发式搜索技术被称为群体智能方法;后者同样基于个体种群,这些个体进行局部操作,但也彼此交互其他以交换信息,从而实现集体问题解决能力。粒子群优化优化(粒子群优化)[6]是群体智能的一个典型例子。基于对鸟群社会行为模拟的群体智能,粒子群优化(PSO)因其简单性和高效性而变得非常流行,并已在设计方法和实际应用中得到广泛应用[10,54,70]。另一种流行的群体智能方法是蚁群技术[15,47,49],,其目标是发现通过模拟蚂蚁搜索行为寻找最优路径用于食物寻找。其他元启发式搜索方法,不依赖生物类比的方法包括和声搜索,受即兴创作过程的启发音乐家[55–57]遵循的过程以及化学再受化学反应自然过程的启发,进行动作优化,模拟退火算法[60]属于同一类别,并经常用于解决复杂的工程问题[30,38,48];在这种情况下,搜索在退火过程中出现的最低能量状态在应用退火过程中发生的最低能量状态的搜索该过程应用于冶金学,被并行化用于寻找最小值的搜索一个数学函数的最小值。
毫不奇怪,元启发式搜索方法已经被应用于优化印刷电路板的设计。在[8], 作者使用遗传算法来优化多个参数—印刷电路板布局中的自组织遗传算法算法(SOGA)被应用于最优布局印刷电路板上电子元件的布局优化在[24]中。一种基于进化计算的新型方法面向组织学习的分类系统是应用于[61]中的印刷电路板重新设计问题。类似技术也已成功应用于优化优化元件布局的顺序和在印刷电路板组装过程中将元件类型分配给供料器的问题[11,17,41]。一些特别关注PCB热设计的方法也已出现;在热约束条件下针对多芯片模块(MCM)和印刷电路板的元件布局问题已有研究。使用遗传算法执行。一种用于多学科布局优化方法,利用遗传算法对在封闭腔体内受强制对流作用的印刷电路板上的发热电子元件进行布局,该方法在[59]中被提出。在[23],中,作者提出了一种用于多热源产生热优化建模策略的遗传算法。印刷电路板上的集成电路。
可以看出,文献中提出的大多数用于印制电路板热设计的方法仅依赖于遗传算法,而其他元启发式搜索方法仍未得到充分利用。在本研究中,我们提出了一种优化热设计的新方法基于一种称为综合学习粒子群算法(CLPSO)的粒子群优化变体,对印刷电路板的热设计[39]。具体而言,提出了一种新的编码方案,用于表示元件在电路板上的特定布局;所提出方案是连续的,能够在无离散化限制的情况下评估元件在电路板上的每一种潜在可行布局。下一步是应用一种新颖的CLPSO优化器,该优化器专为印制电路板热设计问题定制,能够处理元件旋转并防止元件布局错误(例如元件重叠或元件超出边界)。所提出方法还结合了一个详细的三维(3D)热模型,能够考虑不同高度的元件,并以令人满意的精度计算电路板上的温度分布;这与文献中大多数用于印制电路板热设计的方法形成对比,后者通常采用简化的二维模型。
尝试解决印刷电路板的动机基于PSO技术的热设计问题,从而替代迄今为止常用的遗传算法优化器在文献中,三方面:(a)PSO方法是通常更适合处理连续的na—元件布局在印制电路板热设计中的结构与本质上更复杂的遗传算法相比,适用于离散优化问题[31], (b) 粒子群优化在遍历性方面优于遗传算法,这种特性对于印制电路板热设计非常重要,候选解应能够快速到达搜索空间中的任何潜在点,以发现更优的元件布局;尽管遗传算法理论上通过变异具有遍历性,但其遍历性较弱,可以论证PSO在实践中的遍历性在物理意义上[14], 且(c) 粒子群优化可以带来发现平均而言,能更快地找到最优解与遗传算法[14]相比。这对于特定应用至关重要应用,因为每次目标函数评估都是—as—与由高计算成本施加的用于计算的解析三维热模型温度分布。在不同的方法中基于PSO的方法,CLPSO被选为优于标准方法标准粒子群优化,因为它在复杂情况下效率更高多模态问题,由于其能够更好地扩展探索搜索空间。另一个重要优势是CLPSO的优点是它不会引入额外的计算复杂度计算复杂度,与其他粒子群优化变体相比协同方法[37,63],,该方法将多维问题到多个组件总数组件,通过使用多个协同群体。该模拟—由于目标函数的评估具有较高的计算成本,如前所述,CLPSO相较于那些需要增加目标函数评估次数的方法而言,在复杂性上的优势对于该特定应用至关重要。
本文的其余部分组织如下:在下一节中,我们简要概述了标准PSO和CLSPO。第3节介绍了所提出的方法,首先描述热模型,然后详细说明粒子编码,最后阐述用于印制电路板热设计的CLPSO优化器的开发。第4节说明了评估所提出方案的实验流程,并提供了与其他方法对比的应用结果。最后,本文总结了所提出方案的优势,并指明了未来工作方向。
2. 粒子群优化
PSO是一种简单而有效的优化算法,基于对鸟群社会行为的模拟。该方法利用编码为粒子的可能解种群,在超维搜索空间中进行导航,以寻找最优解。每个粒子以随机方式改变其位置,试图重复自身成功的先前位置,同时模仿其邻近粒子的成功经验。接下来将简要描述具有全连接拓扑的基本PSO模型。
考虑一个维度为 N的搜索空间,在PSO中,可能解被编码为粒子的位置,这些粒子构成一个包含 P个个体的群体。粒子 i在第 t次迭代时所处的位置表示为xi(t),其中 i= 1,2,…, P。在每次迭代 t时,通过添加速度向量vi(t)来更新位置,使用以下方程:
$$
xi(t+ 1)= xi(t)+ vi(t+ 1) \quad (1)
$$
速度向量vi(t)的计算方法如下:
$$
v_{ij}(t+ 1)= wv_{ij}(t)+ c_1 r_{1j}(t)[y_{ij}(t) - x_{ij}(t)]+ c_2 r_{2j}(t)[\hat{y}
j(t)- x
{ij}(t)] \quad (2)
$$
其中:$v_{ij}(t)$是粒子$i= 1,…, P$在维度$j= 1,…, N$、迭代$t$时的速度,$x_{ij}(t)$是粒子$i= 1,…, P$在维度$j= 1,…, N$、迭代$t$时的位置,$y_{ij}(t)$是粒子$i= 1,…, P$在维度$j= 1,…, N$,在第 t次迭代时,$\hat{y} j(t)$是群体在整个维度$j= 1,…, N$中的最优位置,在第 t次迭代时,w是惯性常数,c1和c2是作为增益的加速度常数,$r {1j}(t)$和$r_{2j}(t)$是在每次迭代 t时从均匀分布中抽取的范围为[0, 1]的随机值。
每个粒子i在每次迭代t时的个体最优位置$y_i(t)$计算如下:
$$
y_i(t+ 1)=
\begin{cases}
y_i(t), & \text{if } f(x_i(t+ 1)) \geq f(y_i(t)) \
x_i(t+ 1), & \text{otherwise}
\end{cases}
\quad (3)
$$
其中 f是适应度函数。在每次迭代 t中,全局最优位置$\hat{y}(t)$被计算为所有个体最优位置中的最小:
$$
f(\hat{y}(t))= \min(f(y_1(t)),…, f(y_P(t))) \quad (4)
$$
公式(2)的第一项,即memory项,表示粒子的先前速度对其当前速度的影响。惯性常数作为该项的增益,用于加权先前速度。
第二项称为认知项,表示每个粒子的个体经验。该认知项与粒子当前位置与其先前达到的最优位置之间的距离成正比。相应的常数 c1作为该项的增益系数,也被称为怀旧系数,因为它反映了每个个体希望重新获得以往迭代中曾达到的最优位置的愿望。
第三项被称为社会项,表示群体的群体经验。社会项与粒子到群体已达到的最优位置的距离成正比。常数 c2作为该项的增益,也被称为嫉妒系数,因为它表达了粒子希望与其邻居表现一样好的愿望。
探索与开发之间的权衡在成功解决优化问题中起着重要作用;对于粒子群优化,引入了“速度钳制”机制,以控制群体的探索与开发能力。速度钳制用于将速度向量元素限制在预定义的范围内:
$$
v_{ij}(t+ 1)=
\begin{cases}
v_{ij}(t+ 1), & \text{if } |v_{ij}(t+ 1)|< V_{\text{max}} \
\pm V_{\text{max}}, & \text{otherwise}
\end{cases}
\quad (5)
$$
其中$V_{\text{max}}$是钳制常数。不同的判据可用作粒子群优化算法的停止条件,例如:
- 已达到最大迭代次数T。
- 已找到可接受的解。
- 目标函数的斜率变得非常小。
- 归一化的群体半径已接近零。
2.1. CLPSO变体
与粒子群优化(PSO)相关的一个重要缺陷是早熟收敛;当粒子跟随全局最优解时,若该最优解位于远离全局最优值的区域,则很可能将其其他粒子吸引至其附近,并使其陷入局部最优。学习型粒子群优化(CLSPO)通过使速度更新方程独立于群体的全局最优位置来解决这一问题:
$$
v_{ij}(t+ 1)= wv_{ij}(t)+cr_j(t)[y_{f_i(j),j}(t)- x_{ij}(t)] \quad (6)
$$
其中 c是作为增益的加速常数,$r_j(t)$是在每次迭代 t时从均匀分布中抽取的[0, 1]范围内的随机值,$f_i=[f_i(1) f_i(2)… f_i(N)]$定义了第 i个粒子将跟随哪一个粒子的个体最优位置。在这种情况 下,$y_{f_i(j),j}$是一个可能属于任何粒子个体最优位置的元件,包括第 i个粒子的个体最优位置。每一维度的选择基于概率 pc,用于判断是否采用第 i个粒子的个体最优,或是另一个不同粒子的个体最优。在后一种情况下,会在群体中随机选择两个粒子(不包括粒子 i),并选用其中适应度更高的那个来更新该维度。当某个粒子在连续 m次迭代(称为刷新间隔)内不再改善时,则会为该特定粒子重新分配 $f_i$。有关CLPSO的更多细节可参见[39]。
3. 提出的方法
本节详细介绍了将CLPSO方法融入印制电路板热设计框架的过程,包括详细的印制电路板热模型、相应的粒子编码方案,以及最终具备处理组件重叠和越界问题能力的CLPSO优化器。
3.1. 印制电路板热模型
使用三维稳态传热模型对印刷电路板进行热分析。电路板被模拟为尺寸为 LxWxH的矩形实体,而组件也被建模为不同高度的矩形实体,放置在电路板上方,如图1所示;然而,该方法可以很容易地调整以适应不同的形状。
电路板与周围空气之间的传热可以用以下传热偏微分方程描述:
$$
\rho C_p \frac{\partial T}{\partial t} + \rho C_p \mathbf{u} \cdot \nabla T= \nabla \cdot (k\nabla T)+ Q \quad (7)
$$
其中$\rho$是密度,$C_p$是热容,k是导热系数,u是空气速度场,Q是热源,而T是温度。稳态热方程[22]由公式(1)消除瞬态项后得到:
$$
\rho C_p \mathbf{u} \cdot \nabla T= \nabla \cdot (k\nabla T)+ Q \quad (8)
$$
使用有限元法(FEM)求解方程(8),以获得印刷电路板沿程的稳态温度分布。
3.2. 粒子编码
开发用于印制电路板热设计的基于粒子群优化的优化器的第一步是设计一种编码方法,用以将元件在电路板上的位置表示为粒子。在本研究中,我们为描述每个特定元件的位置分配3个粒子元素,从而得到总粒子长度为3C,如公式(9)所示。
$$
x_i =
\begin{bmatrix}
x_{i1} & x_{i2} & x_{i3} \
& \text{第1个组件} & \
x_{i4} & x_{i5} & x_{i6} \
& \text{第2个组件} & \
\vdots & \vdots & \vdots \
x_{i(3C-2)} & x_{i(3C-1)} & x_{i(3C)} \
& \text{第C个组件} &
\end{bmatrix}
\quad (9)
$$
每个元件的前两个粒子元素表示该元件底部的坐标在 x和 y轴上的角点;这两个元素可以在[0 L− li]和[0 W − wi]范围内取连续值,其中 li和 wi分别表示第 i个组件的长度和宽度。这意味着每个组件理论上可以放置在电路板内的任意位置。第三个粒子元素是一个二进制位,即旋转位,用于允许算法对组件进行旋转。具体来说,值为 0表示相应组件保持其原始方向,而值为1表示该组件将被旋转,即 li和wi的值将互换。图2通过一个包含3个元件的电路板示例展示了该编码方案。
3.3. CLPSO优化器
将CLPSO应用于印制电路板热设计的第一步是生成由 P个粒子组成的初始种群,即在电路板上元件的 P种不同的潜在布局。在本研究中,群体通过随机方式初始化,对每个元件的前两个元素从[0 L− li]和[0 W − wi]范围内的均匀分布中选择连续值,第三个元素则选择二进制值。
群体初始化后,对每个粒子的适应度函数进行评估;适应度值在第一次迭代中被存储为个体最优,然后使用公式(4)计算群体全局最优位置。下一步是计算粒子速度;由于粒子元素中某些元素的性质不同,因此根据元素的类型采用不同的规则,具体取决于粒子内的元素位置。更具体地说,每个元件的前两个元素使用公式(10)进行更新,而每个元件的第三个元素则使用公式(11)。
$$
v_{ij}(t+ 1)= wv_{ij}(t)+cr_j(t) [y_{f_i(j),j}(t)-x_{ij}(t)] \quad (10)
$$
$$
v_{ij}(t+1)=\text{round}(wv_{ij}(t)+ c^*r_j(t)[y_{f_i(j),j}(t)- x_{ij}(t)]) \quad (11)
$$
其中 $c^ $表示仅应用于旋转位的增益。下一步是使用公式(5)进行速度钳制;同样,对旋转位使用不同的钳制常数$V^ _{\text{max}}$。一旦速度向量确定,便使用公式(1)更新粒子位置。为了避免将组件放置得过近甚至相邻,定义了一个最小接近阈值 ε;在解码完成后,如有必要,会对粒子位置进行轻微修正,以确保没有任何组件违反该最小接近阈值。还需注意,新更新的粒子可能导致不可行的组件位置,例如导致两个或多个组件之间发生重叠,或使组件超出板边界限。这一问题将由下一小节中描述的特殊处理程序来解决。完成此处理后,下一次迭代开始于计算新的粒子的适应度,算法继续执行直到满足停止条件。在算法1中给出了所提出算法的概述。
算法 1 – CLPSO-PCB
- 随机初始化粒子坐标,确保无不可行的元件布局
- 从第一次迭代开始:$t \leftarrow 1$
- 当未满足停止条件时执行:
- 对于 $i= 1: P$ 执行:
- 计算适应度函数$f(x_i(t))$
- 如有必要,使用公式(3)更新个体最优位置$y_i(t)$
- 结束循环
- 如有必要,使用公式(4)更新全局最优位置$\hat{y}(t)$
- 重复执行
- 生成随机数$r_j , j= 1, 2,…, N$
- 对于 $i= 1: P$ 执行:
- 对于 $j= 1: N$ 执行:
- 使用公式(10)和(11)更新速度向量$v_{ij}(t+ 1)$的元素
- 使用公式(5)进行速度钳制
- Endfor
- 使用公式(1)更新粒子位置$x_i(t+ 1)$
- 修正重叠和越界组件
- EndFor
- Until不再存在不可行的元件布局
- 进入下一次迭代:$t \leftarrow t+ 1$
- End While
3.4. 处理重叠和越界组件
CLPSO所采用的粒子更新过程在解码后可能导致电路板上的粒子位置不可行。其中一种情况是,某些组件部分或全部被放置在电路板物理边界之外。此时,这些组件将被移回电路板内,并放置在最近的边界上,如图3所示。
关于重叠元件,目标是将它们移动到一个可行的位置,同时不显著偏离算法最初生成的布局。这通过检查重叠元件周围的空闲空间来实现,如图4所示。允许重叠元件相对于其当前位置进行水平或垂直方向的移动;在所有可能的移动中,选择一种既能避免重叠,又不违反最小接近阈值且所有组件仍保持在电路板边界内的移动方式,并应用所需最小位移的那一种。如果不存在这样的可行移动,则算法返回到速度更新阶段,在该阶段重新生成一个新的随机数 $r_j$,其中 $j= 1, 2,…, N,$,并重新计算速度。
一个不可行布局的示例,其中速度重新计算是必要的,如图5所示。
4. 实验部分
本节介绍了用于评估方法性能的实验设置,随后展示结果并进行相关讨论。
4.1. 实验设置
为了评估所提出方法的性能,我们将其应用于两个涉及案例研究的案例,在印刷电路板热设计中进行不同的优化任务[23,25,59]。第一个案例研究的目标是最小化电路板上各个组件对应的最高温度的总和。为了构建待最小化的目标函数,通过第3.1节中提出的热模型计算电路板上的温度分布。然后获得每个单个组件的最高温度$T_{\text{max},i}$,并按如下方式计算目标函数:
$$
T_{\text{tot},1}= \sum_{i=1}^{C} T_{\text{max},i} \quad (12)
$$
其中 $C$是电路板上组件的总数。
第二个案例研究还考虑了每个元件的最佳工作温度。具体而言,本案例中的目标函数仅包含那些温度高于其最佳工作温度的组件;为计算该值,我们为每个组件定义辅助变量:
$$
\Delta T_{\text{max},i} =
\begin{cases}
T_{\text{max},i} - T_{\text{op},i}, & \text{if } T_{\text{max},i} > T_{\text{op},i} \
0, & \text{otherwise}
\end{cases}
\quad (13)
$$
其中$T_{\text{op},i}$是第 $i$个元件的最佳工作温度,基于制造商规格。目标函数则定义为:
$$
T_{\text{tot},2} = \sum_{i=1}^{C} \Delta T_{\text{max},i} \quad (14)
$$
表1给出了两个案例研究中所用元件的物理尺寸和功耗水平,以及应用于第二个案例研究的组件工作温度。
| 组件编号 | 尺寸(长×宽×高)(cm) | 功率(W) | 最佳工作温度$T_{\text{op}}$(°C) |
|---|---|---|---|
| 1 | 2 × 1 × 2.5 | 5 | 50 |
| 2 | 2 × 1 × 4 | 3 | 40 |
| 3 | 1 × 1 × 1 | 4 | 50 |
| 4 | 1 × 1 × 2 | 4 | 50 |
| 5 | 1 × 2 × 3 | 3 | 40 |
| 6 | 1 × 1 × 1 | 4 | 50 |
| 7 | 1 × 1 × 2 | 4 | 50 |
| 8 | 1 × 1 × 2 | 4 | 50 |
| 9 | 1 × 1 × 3 | 4 | 50 |
| 10 | 1 × 1 × 1 | 5 | 55 |
| 11 | 1 × 1 × 2.5 | 5 | 55 |
| 12 | 1 × 1 × 4 | 3 | 45 |
| 13 | 1 × 1 × 1 | 3 | 45 |
| 14 | 1 × 1 × 2 | 4 | 50 |
| 15 | 1 × 1 × 3 | 4 | 50 |
| 16 | 2 × 2 × 1 | 5 | 45 |
| 17 | 2 × 2 × 2 | 6 | 45 |
| 18 | 2 × 3 × 2 | 5 | 40 |
| 19 | 3 × 2 × 3 | 6 | 40 |
| 20 | 4 × 4 × 1 | 6 | 40 |
表2 两种PSO方法和GA方法在两个案例研究中的参数选择
| 参数 | 符号 | 值 |
|---|---|---|
| CLPSO | ||
| 加速常数 | c | 2 |
| 加速常数—旋转位 | $c^*$ | 0.1 |
| 刷新间隔 | m | 7 |
| 标准PSO | ||
| 怀旧系数 | $c_1$ | 1.5 |
| 嫉妒系数 | $c_2$ | 1.5 |
| 怀旧—旋转位 | $c^*_1$ | 0.1 |
| 嫉妒—旋转位 | $c^*_2$ | 0.1 |
| 所有PSO方法的公共参数 | ||
| 惯性 | w | 0.8 |
| 钳制常数—x方向 | $V_{\text{max}} - x$ | 3 |
| 钳制常数—y方向 | $V_{\text{max}} - y$ | 5 |
| 夹紧常数—旋转位 | $V^*_{\text{max}}$ | 0.3 |
| GA | ||
| 交叉概率 | $p_c$ | 0.8 |
| 变异概率 | $p_m$ | 0.05 |
| 变异概率—旋转位 | $p^*_m$ | 0.1 |
| 所有方法的公共参数 | ||
| 种群大小 | P | 10 |
| 最大迭代次数/代数 | T | 1000 |
为了便于比较,我们也应用了一种基于标准PSO的优化器和基于另一种进化计算技术(即遗传算法)的优化器。该基于遗传算法的优化器采用与PSO方法类似的编码方案,用于将电路板上元件的潜在布局表示为染色体;该编码方案在图2中进行了可视化,并在公式(9)中进行了描述。染色体适应度由相应目标函数的值定义,并结合轮盘赌选择机制,用于确定哪些染色体将保留至下一代。遗传算法采用了两种遗传算子,即交叉和变异。为了在染色体之间交换信息,采用单点交叉,其中切割点的位置是随机选择的。关于变异,我们使用非均匀方案,对旋转位应用翻转位变异,由于旋转位具有二进制特性,因此其处理方式与位置基因不同。
所有应用方法的参数选择均基于大量测试。表2给出了在两个案例研究中应用的两种PSO方法和GA方法的选定参数。种群大小和迭代次数被选择为在不显著增加计算成本的情况下产生满意性能;应注意的是,使用更大种群或更多迭代仅能略微改善结果。所有实现均采用相同的种群大小和迭代次数,以确保公平比较。CLPSO和标准PSO的加速常数是经验性地选定的;这些值在较小范围内的变化仅产生很小影响,但明显更低或更高的值分别会导致探索与开发能力下降。针对旋转位的相应加速常数采用了较小的值,因为发现使用较大值会导致过度旋转。所选的惯性权重值通过实验发现能够提供良好的探索与开发之间的平衡。刷新间隔设置为7;该值在文献中被证明是有效的[39],这一结果也得到了我们测试的证实。
关于个体最优选择概率 $p_c$,当为每个粒子采用不同的 $p_c$ 时,我们得到了更为一致的结果。以下经验公式源自[39],并根据本研究采用的种群规模进行了修改:
$$
p_{ci}= 0.05+ 0.45 \frac{\exp\left( \frac{7(i - 1)}{P - 1}\right) - 1}{\exp(7)- 1} \quad (15)
$$
最后,GA的概率通过实验确定,选择能够产生最佳性能的值。所有算法均在Matlab环境中实现,并在配备16GB内存的Intel Core i7-5820K处理器上运行。
4.2. 结果
由于所有竞争技术都是随机的,每次运行可能会产生不同的结果,因此我们对每种方法均进行20次运行。表3展示了所有算法的结果,列出了目标函数值在20次运行中的平均值和标准差,以及收敛所需的迭代次数。该表还基于统计假设检验进行了比较,报告了在目标函数值方面,CLPSO与其各个竞争对手之间的 t检验的 p-值。零假设是两种竞争方法所产生的结果来自均值相同的总体。
表3 两种PSO方法和GA方法在两个案例中的结果研究
| 参数 | 1st案例研究 | 2nd案例研究 | ||||
|---|---|---|---|---|---|---|
| CLPSO | PSO | GA | CLPSO | PSO | GA | |
| 目标平均值 | 919 | 921 | 935 | 0.9 | 1.2 | 7.4 |
| 目标标准差 | 4.1 | 3.4 | 11.5 | 0.3 | 0.3 | 1.3 |
| 目标 p-值 | – | 0.05 | 0.00 | – | 0.06 | 0.00 |
| 迭代次数平均值 | 778 | 702 | 912 | 541 | 499 | 582 |
| 迭代次数标准偏差 | 74 | 78 | 211 | 52 | 48 | 156 |
每种算法在两次案例研究中20次运行的平均值对应的最大单个组件温度如表4所示;第二个案例研究还给出了最佳工作温度。图6(a)和(b)分别给出了在第一个和第二个案例研究中,所提出的CLPSO方法找到的最优解对应的印刷电路板上的温度分布。
表4 每个单个组件的最高温度,对应于每种算法20次运行的平均值
| 元件# | 各元件的温度(°C) | Top | |||||
|---|---|---|---|---|---|---|---|
| 1st案例研究 | 2nd案例研究 | ||||||
| CLPSO | PSO | GA | CLPSO | PSO | GA | ||
| 1 | 45.3 | 46.1 | 45.9 | 45.2 | 45.6 | 44.4 | 50 |
| 2 | 37.4 | 37.5 | 37.4 | 38.1 | 37.9 | 37.3 | 40 |
| 3 | 50.6 | 50.4 | 51.5 | 50.3 | 50.2 | 51.4 | 50 |
| 4 | 47.6 | 47.8 | 48.2 | 50.0 | 50.1 | 50.9 | 50 |
| 5 | 39.8 | 40.0 | 39.8 | 39.9 | 39.7 | 40.5 | 40 |
| 6 | 52.0 | 51.8 | 52.7 | 50.2 | 50.3 | 50.2 | 50 |
| 7 | 51.7 | 52.1 | 53.1 | 50.3 | 50.2 | 50 | 50 |
| 8 | 51.6 | 51.4 | 53.4 | 49.9 | 49.8 | 50.9 | 50 |
| 9 | 50.0 | 50.7 | 51.8 | 49.6 | 49.3 | 51.3 | 50 |
| 10 | 52.4 | 52.2 | 53.8 | 54.1 | 53.7 | 53.2 | 55 |
| 11 | 51.2 | 51.5 | 51.1 | 53.5 | 53.9 | 52.9 | 55 |
| 12 | 41.4 | 41.3 | 42.6 | 42.9 | 42.5 | 42.1 | 45 |
| 13 | 45.7 | 45.8 | 46.6 | 45.1 | 45.2 | 46 | 45 |
| 14 | 51.1 | 51.4 | 52.9 | 49.9 | 50.1 | 50.7 | 50 |
| 15 | 48.8 | 49.0 | 49.3 | 49.7 | 49.9 | 50 | 50 |
| 16 | 40.7 | 40.5 | 41.1 | 43.1 | 42.3 | 41.9 | 45 |
| 17 | 42.8 | 42.7 | 43.5 | 43.9 | 44.4 | 44.7 | 45 |
| 18 | 39.7 | 39.7 | 39.8 | 39.9 | 40 | 39.1 | 40 |
| 19 | 40.0 | 40.1 | 41.4 | 40.0 | 40.1 | 40.5 | 40 |
| 20 | 39.1 | 39.1 | 39 | 39.5 | 39.5 | 39.9 | 40 |
4.3. 讨论
在第一个案例研究中,目标是优化元器件位置,使得所有组件的最高温度被最小化的情况下,CLPSO方法在20次运行的平均结果上,相比其两个竞争对手能够产生更优的布局。与GA相比,差异更为显著,CLPSO的优越性在统计上具有高于99%的置信水平。从表4中也可以得出有趣的结论,其中显示CLPSO提出的方案使电路板的整体温度明显低于GA方案。事实上,与GA布局相比,CLPSO生成的布局不仅对应更低的整体目标函数值,而且几乎所有单个组件的平均温度也更低。CLPSO与标准PSO在单个组件温度上的比较表明,前者仍具有较低但依然明显的优越性。本案例中CLPSO的成功可通过分析图6(a)来解释,特别是该方法选择在电路板上分散组件的方式。一个典型的例子是组件#10,由于其功率耗散和物理尺寸, tends to be the hottest component on the PCB;在此情况下,CLPSO通过布局为组件#10周围留出足够的空间,同时将其他组件适当分散,并确保容易发热的组件不会过于靠近彼此。
另一方面,允许较冷的大型组件(如元件#19、20和17)彼此靠近,以释放电路板上的空间,从而确保较热组件之间有足够的距离。
两种基于PSO的方法与GA方法在收敛所需的迭代次数上的比较结果有利于前者,前者能更快地达到最优解。在PSO方法中,标准PSO平均收敛速度更快;这是预料之中的,因为标准PSO可能快速收敛到次优解,而CLPSO所采用的更新策略产生了更大的潜在搜索空间,从而得到更优的解。需要注意的是,尽管这三种算法在每次迭代中产生新种群时可能执行不同的计算,但针对该问题的目标函数评估要慢得多;事实上,与目标函数计算阶段相比,更新解所需的计算可以忽略不计。因此,每种算法的收敛时间几乎与收敛前的迭代次数成正比。
还需要注意的是,PSO方法在目标函数值以及收敛所需迭代次数方面产生的标准差值更小。这表明与遗传算法相比,PSO优化器更具鲁棒性,能够产生更一致的结果。
第二个案例研究在稍有不同的目标上测试了三种方法,该目标考虑了每个元件由其制造商指定的最佳工作温度。从表4可以看出,CLPSO平均能够生成一种布局,使得所有元件的温度几乎相等或低于各自的最佳工作温度;这反映在相应的目标函数平均值接近零。图6(b)显示,在这种情况下,CLPSO选择了一种不同的策略,即使那些容易变热的元件也会被放置得较近,只要它们不超过各自的最佳工作温度;例如,组件#10现在被放置在相对较热的组件#16和12附近。尽管这一举措提高了这三个元件的温度,但由于它们仍在最佳工作温度以下正常运行,因此对目标函数没有影响。另一方面,某些元件(如组件#8)表现出较低的温度,但仍被放置在周围留有足够空间的位置,以避免超过其最佳工作温度。
与CLPSO相比,在目标函数值方面,标准PSO提供的解排名第二,而GA计算出的布局排名第三。就各个元件的温度而言,这意味着GA方法完全未能达到本案例研究的目标,因为一些元件明显超过了其最佳工作温度;这一点也由表4证实。
考虑到收敛速度,这三种算法在此案例研究中较为接近。然而,标准PSO方法由于与第一个案例研究相同的原因,仍然比CLPSO收敛得更快。这两种基于PSO的方法在鲁棒性方面仍具有优势,与GA相比,在目标函数值和迭代次数上的标准差值更小。
5. 结论
本研究提出了一种用于印刷电路板热设计的新方法,其中通过群体智能优化组件在电路板上的布局。更具体地说,提出了一种基于CLPSO的方法,该方法引入了一种合适的粒子编码方案以及一个考虑了问题具体细节的优化器。温度分布对应特定布局的文件被使用详细的三维热模型计算。提出的方法应用于两个案例研究,并与标准PSO和一种基于遗传算法的不同元启发式优化方法进行比较。
第一个案例研究涉及优化电路板上所有组件的最大温度,通过最小化其总和;结果表明,CLPSO不仅在目标函数值更低方面产生了更优的布局,而且还有助于降低每个单个组件的温度,从而使电路板保持明显更低的温度。这是通过在电路板上分散组件,从而发热量较大的元件不应放置得过于靠近彼此。CLPSO的优越性在统计上在置信水平高于99%的情况下显著与遗传算法相比,以及与标准PSO相比的95%。
在第二个案例研究中,目标是最小化特定元件的温度与基于制造商规格的相应最佳工作温度之间的偏差;CLPSO在此任务中表现出色,生成的布局使得所有元件的温度几乎相等,或低于相应的最佳工作温度。这是通过使组件彼此靠近实现的,容易发热的部件,只要它们不会超过其最佳工作温度,从而产生为具有较低最佳工作温度的组件提供更多空间。在本案例研究中,其优越性CLPSO在统计上具有显著性,其值为置信水平高于GA的99%与标准PSO相比提高了94%。
在收敛时间方面,与遗传算法相比,两种基于PSO的方法通常都能实现更快的收敛。此外,PSO方法在鲁棒性方面也表现出优越性,产生的结果更加一致,这体现在目标函数值以及达到收敛所需的迭代次数的标准差更小。
CLPSO相较于遗传算法的优越性能可归因于元件在印制电路板热设计中的布局问题的连续性,相较于更适合离散优化问题的遗传算法,粒子群方法能够更好地处理。另一方面,CLPSO相较于标准PSO算法的优势,可通过考虑特定目标函数的复杂性和多模态特性来解释,由于CLPSO在搜索空间探索方面具有更强的能力,因此在这些问题中表现更为高效。
基于上述情况,所提出方案可用于弥补商业软件包在热设计实践中的现有不足,这些软件包未提供元件布局优化的自动化程序。未来的研究计划包括扩展所提出方法,以考虑不同印刷电路板设计方面的优化,如布线,并将其应用于更复杂的设计问题,例如多层印制电路板的设计。

被折叠的 条评论
为什么被折叠?



