基于信念规则库的电路容差设计
徐小斌 Xu,1 刘 Zheng,1 陈宇旺 Chen,2 徐冬玲 Xu,2 和温承林 Wen1
1中国杭州杭州电子科技大学自动化学院系统科学与控制工程研究所,310018 2曼彻斯特大学曼彻斯特商学院,曼彻斯特 M15 6PB,英国 通信作者应联系徐小斌;xuxiaobin1980@163.com
收到日期:2014年10月30日;接受日期:2014年12月31日
学术编辑:李刚
版权所有 © 2015 Xiao‐BinXu 等。本文是一篇开放获取文章,遵循知识共享署名许可协议发布,允许在任何媒介中不受限制地使用、分布和复制,只要正确引用原始作品。
基于信念规则库(BRB)的系统提供了一种通用的非线性建模与推理机制,能够利用定量信息和定性知识对复杂的因果关系进行建模。本文首先开发了一个BRB系统,通过利用电路仿真和电路设计人员提供的知识,对电路元件参数与电路性能之间的高度非线性关系进行建模。通过在BRB系统中使用规则推理和聚类分析,可从元件参数的取值域中分离出其可接受区域。基于BRB系统所建立的非线性关系,进一步提出一种优化方法,在可接受区域内搜索最优可行区域,以最大化元件参数容差区域的体积。所提方法的有效性通过两个典型数值例子以及中国高速铁路轨道电路参数设计的实际应用得到验证,其中数值例子涉及具有非凸且不连通的可接受区域以及高维输入参数的非线性性能函数。
1. 引言
由于对提高产品质量、延长产品寿命和缩短设计周期的需求,容差已成为集成电路和分立电路设计中的关键设计考虑因素。设计人员必须不断寻求电路元件参数空间中具有最大容差的中心点,以最大化参数良率并最小化成本,同时保持符合设计规范[1–3]。另一方面,电路可靠性与其良率密切相关,即只有高良率的产品才具有高可靠性。因此,公差设计和良率优化也是提高电路可靠性的有效途径[4]。
本质上,公差设计和良率估计主要有两种方法,即基于蒙特卡洛的统计方法和确定性方法[5–11]。由于前者需要大量的电路仿真和计算成本较高的分析运行[5, 6],研究人员提出了基于响应面建模的替代性确定性方法,以逼近性能函数及相应的可接受域区域(RA)。因此,可以在近似区域 RA 中找到组件参数的最优中心和容差(即可行域 RF)。确定性方法主要包括单纯形逼近[7]、多面体逼近[8]、二次逼近[9]、椭球法[10]以及神经网络[11]。然而,这类逼近方法和低阶多项式模型可能不适用于某些复杂情况,例如参数变量范围较宽、性能函数高度非线性,且可行域为非凸甚至不连通的情况[1–3]。因此,有必要开发新方法,以用于在如此高度复杂的环境下进行设计建模与优化。
本文提出了一种新的可接受区域近似与容差优化方法,以利用基于信念规则(BRB)模型获得可用可行域。在信念规则库中,每条规则的每个可能结论都关联有一个置信度。该规则库能够捕捉不同因素之间高度非线性和连续的因果关系[12, 13]。在应用信念规则库时,前提的输入被转换为参考值上的置信分布前提的值。该分布随后用于计算规则库中规则的激活权重。接着,通过使用证据推理(ER)方法组合所有被激活的规则,在信念规则库中进行推理[14, 15]。与多项式和神经网络模型相比,BRB中的模型参数不仅可以从客观数据中提取,还可以从专家主观知识中获取[16]。此外,这些参数的物理意义对专家和工程师而言易于理解,因此他们可以直观地参与整个系统建模过程[17]。信念规则库建模技术已广泛应用于非线性系统建模和决策支持系统[16–21]。
本文设计了一种BRB系统,利用电路仿真及其设计人员的有限知识,对电路元件参数(即BRB系统的输入变量)与电路性能指标(即输出)之间的复杂非线性关系进行建模。通过BRB中的规则推理和聚类分析,可从元件参数的取值域中分离出可接受区域。然后提出一种优化方法,在可接受区域中寻找最优可行区域,以最大化电路参数容差区域的体积。本文其余部分组织如下:第2节阐述了研究问题。第3节 描述了使用信念规则库建模技术来逼近可接受区域的方法。容差优化方法在第4节中给出。第5节展示了从两个典型的非线性性能函数数值例子中获得的一些令人鼓舞的结果,这些例子具有非凸且不连通的可接受区域以及高维输入参数,并展示了在中国高速铁路轨道电路参数设计中的实际应用。
2. 问题描述
给定一个产品性能或响应规格 [2–6]
$$
Lb \leqslant g(u) \leqslant Ub, \quad (1)
$$
here $ u=(u_1 , u_2 ,…, u_N) $是一个设计参数向量。$ g $是电路的性能指标或函数。上界Ub和下界Lb是常数,分别表示谐振性能变化的上下允许限。对于分立元件电路,这些参数可能包括但不限于电阻、电容和电感;而对于集成电路,这些参数可能是电阻率、线宽、单位电容等。
通常,$ u_i $ 的u由标称值$ u_{i0} $ 和容差 $ t_i $ 表征, $ i= 1, 2,…, N $。
可接受区域 $ R_A $ 定义为 [3, 22]
$$
R_A = {u \mid Lb \leqslant g(u) \leqslant Ub}. \quad (2)
$$
如果 $ u \in R_A $,则产品可接受;否则不可接受。容差区域 $ R_T $ 定义为 [3, 22]
$$
R_T = {u \mid |u_i - u_{0i}| \leqslant t_i , i= 1, 2,…, N}. \quad (3)
$$
当给定一个标称值 $ u^0=(u^0_1,u^0_2, . . . , u^0_N) $ 和容差 $ t=(t_1, t_2, . . . , t_N) $ 时,相应的参数化良率定义为 [3, 22]
$$
Y_u = \frac{V(R_T \cap R_A)}{V(R_T)} \times 100\% = \frac{M}{N} \times 100\%. \quad (4)
$$
这里, N是产品总数, M是合格产品数量($ u \in R_A $),而 $ V(\cdot) $ 是某个区域的体积。 $ R_F = R_T \cap R_A $被定义为可行域,它是 $ R_T $与 $ R_A $交集处 $ R_T $的一个子集。
当给定设计约束 $ R_A $时,公差设计的实际目标是最大化 $ R_F $(即寻求最大的 $ t $及相应的 $ u^0 $),以实现100%产出率。在这种情况下,最大的 $ R_F $等于最大的 $ R_T $[3, 22]。在公差设计中,关键步骤是计算电路性能 $ g(u) $ 并估计参数良率。大多数情况下,集成电路和模拟电路的结构过于复杂,难以获得电路性能函数的解析表达式。因此,设计人员必须使用某些设计软件工具(例如 HSPICE、Simulink)构建电路仿真器,以评估性能函数 $ g(u) $ 并通过仿真运行来估计良率[22, 23]。然而,这类基于仿真的公差设计(例如蒙特卡洛方法)需要大量的电路仿真和计算成本高昂的分析运行[2–6]。
在下一节中,我们将不使用电路仿真器,而是构建一个 BRB系统,通过尽可能少的仿真运行并结合专家知识来建模性能函数。所提出的BRB系统可用于近似可接受区域并获得相应的可行域。
3. 使用BRB系统近似可接受区域
作为传统IF‐THEN规则的扩展,置信规则是BRB系统的关键部分。在置信规则中,每个前件属性取一个参考值,每个可能的结论都对应一个置信度[13]。为了构建用于电路性能建模和可接受区域近似的BRB系统,我们在表1中映射了BRB系统与电路性能函数之间的关系。
对应于表1,性能函数输入与输出之间的第 k个(k= 1,2,…, K)参考关系,即BRB系统中的信念规则 k,可定义为
规则 k:
$$
\begin{aligned}
&\text{IF}(u_1 \text{ is } u_{k,1}) \land (u_2 \text{ is } u_{k,2}) \land \cdots \land (u_N \text{ is } u_{k,N}) \
&\text{THEN}{(D_1 , \beta_{k,1}) ,(D_2 , \beta_{k,2}) ,…,(D_L , \beta_{k,L})} \
&\text{with rule weight } \theta_k, \quad k= 1, 2,…, K \
&\text{and attribute weight } \delta_i , \quad i= 1, 2,…, N;
\end{aligned}
\quad (5)
$$
这里,“∧”表示“和”。
使用BRB系统来近似可接受区域 $ R_A $ 涉及以下步骤:(1)构建参数输入和性能输出的参考值关于可接受区域 $ R_A $;(2)通过置信规则的ER推理生成新的性能输出;(3)利用靠近 $ R_A $的选定样本训练BRB。
3.1. 构建参数输入和性能输出关于可接受区域的参考值 $ R_A $
初始置信规则可以通过以下四种方式建立 [16]:(1)从专家知识中提取规则;(2)通过分析历史数据提取规则;(3)如果有可用的已有规则库,则使用已有规则库;(4)在没有任何先验知识的情况下使用随机规则。在本文中,我们采用方法(1)和(2)来确定BRB系统中的参数,如表1所示。
在公差设计中,我们首先需要确定每个设计参数$ u_i $ 的上下界。令下界Lbi和上界Ubi分别表示第 i个参数$ u_i $的下界和上界。因此,可以构建向量u取值的空间
$$
S_u = {u=(u_1 , u_2 ,…, u_N) \mid lbi \leqslant u_i \leqslant ubi , i= 1, 2,…, N}. \quad (6)
$$
一般来说,我们必须将$ S_u $设置得足够大,以相对完整地包含可接受区域。参考点从 $ S_u $ 中均匀选取,然后进行电路仿真以计算这些点的性能输出。
作为示例,假设有两个输入$ u=(u_1 , u_2) $,其边界为 $ 1 \leqslant u_1 \leqslant 14, 1 \leqslant u_2 \leqslant 9 $,其性能函数为 $ g(u) $。我们均匀选取126个初始参考点,分别为(1, 1),(1, 2),…,(14, 9),如图1 所示,并通过电路仿真计算它们的性能输出。假设已知可接受区域$ R_A $,该区域为非凸的,如图1所示。然后,我们可以通过式(1)中的约束条件在 $ R_A $ 中找出35个点。这些点分为两部分:一部分称为“内部点”(12个点),另一部分称为“边界内(IB)点”(23个点)。从图1可以看出,126个初始参考点将 $ S_u $ 划分为104个网格单元。 $ R_A $ 的边界穿过26个单元,称为边界网格(BG)单元,每个BG单元的顶点必然包含一个或两个IB点。因此,在每个BG单元中,从其IB点出发,我们可以寻找到三个或两个邻接IB的外边界(EB)点点,如紧邻下方BG单元格中所示 $ R_A $。在此示例中,总共可以找到29个EB点。
因此,我们共选取64个点(包括29个EB、23个IB和12个内部点)作为参数输入的参考值。参考值集合可列为
$$
A_1 = {3, 4,…, 13}, \quad A_2 = {2, 3,…, 8}. \quad (7)
$$
将参数输入的参考值表示为 $ u_k = (u_{k,1}, u_{k,2}) $,则 $ u_k \in A_1 \times A_2 , k= 1, 2, …, K, K= 77 $;其中“×” 表示笛卡尔积。相应地,我们可以构建77条置信规则。
接下来,我们需要计算性能输出的边界
$$
Lb^\prime \leqslant g(u_k) \leqslant Ub^\prime,
$$
$$
Lb^\prime = \min_{u_k \in A_1 \times A_2}(g(u_k)) , \quad Ub^\prime = \max_{u_k \in A_1 \times A_2}(g(u_k)).
\quad (8)
$$
显然,下界$ Lb^\prime \leqslant Lb $,上界$ Ub^\prime \geqslant Ub $。根据设计者的经验,性能输出的参考值可以从区间[$ Lb^\prime $、$ Ub^\prime $]中均匀或非均匀地选取,记为$ { D_1^\prime < D_2 < \cdots < D_L = D_2 D_L D_1 = ^\prime k u_k = u_k 1 u_k 2 , , . . . , } $ 和 下界 Lb 上界 Ub。对于第th条规则,输入($ u_{k,1} $, $ u_{k,2} $, . . . ,) 和其性能输出为 $ g(u_k) $;则结论的置信分布可以表示为
$$
{(D_1, \beta_{k,1}),(D_2, \beta_{k,2}),…,(D_L, \beta_{k,L})}. \quad (9)
$$
Here
$$
\beta_{k,l} = \frac{D_{l+1} - g(u_k)}{D_{l+1} - D_l}, \quad D_l \leqslant g(u_k) \leqslant D_{l+1},
$$
$$
\beta_{k,l+1} = \frac{g(u_k) - D_l}{D_{l+1} - D_l}, \quad D_l \leqslant g(u_k) \leqslant D_{l+1},
$$
$$
\beta_{k,c} = 0, \quad c= 1, 2,…, l -1, l+ 2,…, L.
\quad (10)
$$
显然,$ \sum_{l=1}^{L} \beta_{k,l}= 1 $, $ g(u_k) = \beta_{k,l+1}D_{l+1}+ \beta_{k,l}D_l $。
在表1中,剩余的规则权重$ \theta_k $和属性权重 $ \delta_i $分别反映了第k条规则和第 i个参考值输入的重要性(或不重要性)。它们的值可根据设计者知识确定。当无法获取设计者知识时, $ \theta_k $和 $ \delta_i $将分别设为1,表示同等重要。
需要注意的是,在实际应用中,参数空间中可能存在多个可接受区域 $ S_u $;在这种情况下,可以使用一些可用的聚类分析方法(例如, k‐均值聚类 [24])来识别每个不连通的可接受区域。然后,通过使用如图1所示的流程,可以生成所有不连通区域的置信规则,从而构建用于建模整个可接受区域的规则库。在第5.1节中,将给出一个不连通可接受区域的例子,以展示基于 BRB的建模流程。
3.2. 通过信念规则的ER推理生成新的性能输出
第3.1节给出了用于描述可接受区域的BRB系统 $ R_A $。实际上,BRB使用基于网格的机制来逼近 $ R_A $,且每个网格单元的一个顶点对应于规则库中的一条置信规则。因此,给定一个新的输入 $ u=(u_1 , u_2 ,…, u_N) $,其必然落入某个 N 维网格单元中。该输入 u可激活该单元中的 $ 2^N $条规则。
因此,第 k条规则的激活权重 $ w_k $ 按如下方式计算:[16]
$$
w_k = \frac{\theta_k \prod_{i=1}^{N} (\alpha_k^i)^{\delta_i}}{\sum_{k=1}^{K} [\theta_k \prod_{i=1}^{N} (\alpha_k^i)^{\delta_i}]}; \quad (11)
$$
这里,相对属性权重定义为 [16]
$$
\delta_i = \frac{\delta_i}{\max_{i=1,2,…,N}{\delta_i}}. \quad (12)
$$
$ \alpha_k^i $ 是输入 $ u_i $ 与第 i条规则中前提的参考值 $ u_{k,i} $之间的个体匹配度。其中,$ u_{k,i} \in A_i, A_i = {A_{i,j} \mid j= 1, 2, . . . , J_i } $, $ J_i $为$ u_i $ 的参考值数量,以及 $ A_{i,1} < A_{i,2} < \cdots < A_{i,J_i} $。$ \alpha_k^i $ 的计算方式为
$$
\alpha_k^i =
\begin{cases}
\frac{u_i - A_{i,q}}{A_{i,q+1} - A_{i,q}}, & A_{i,q} \leqslant u_i \leqslant A_{i,q+1}, u_{k,i} = A_{i,q+1} \
\frac{A_{i,q+1} - u_i}{A_{i,q+1} - A_{i,q}}, & A_{i,q} \leqslant u_i \leqslant A_{i,q+1}, u_{k,i} = A_{i,q} \
1, & u_i \leqslant A_{i,1} = u_{k,i} \text{ or } u_i \geqslant A_{i,J_i} = u_{k,i} \
0, & \text{otherwise}.
\end{cases}
\quad (13)
$$
这里, $ q= 1,2,. . . , J_i - 1 $。
确定规则库中每条规则的激活权重后,可直接应用 ER方法来组合规则并生成最终结论[14]。新输入u通过组合得到的输出定义为
$$
O(u) = {(D_1, \beta_1),(D_2, \beta_2),…,(D_L, \beta_L)}. \quad (14)
$$
由于BRB系统中的规则结论具有置信分布的形式,因此 (14)中的回复结果也是一个置信分布,该分布表示当输入为 $ u=(u_1, u_2,…, u_N) $时;结论为 $ D_1 $的置信度为$ \beta_1 $, $ D_2 $的置信度为$ \beta $,⋯⋯,以及 $ D_L $的置信度为$ \beta_L $。可以使用ER算法的解析形式来计算$ \beta_l $在 $ D_l $中的组合置信度[17]
$$
\beta_l = (\mu \times [ \prod_{k=1}^{K} ( w_k \beta_{k,l} + \frac{1 - w_k}{L} \sum_{l=1}^{L} \beta_{k,l}) - \prod_{k=1}^{K} ( 1 - \frac{w_k}{L} \sum_{l=1}^{L} \beta_{k,l}) ]) \cdot (1 - \mu \times [ \prod_{k=1}^{K} (1 - w_k)])^{-1}. \quad (15)
$$
这里,
$$
\mu = [ \sum_{l=1}^{L} \prod_{k=1}^{K} ( w_k \beta_{k,l} + \frac{1 - w_k}{L} \sum_{l=1}^{L} \beta_{k,l}) - (L -1) \prod_{k=1}^{K} ( 1 - \frac{w_k}{L} \sum_{l=1}^{L} \beta_{k,l}) ]^{-1}. \quad (16)
$$
接下来,我们可以使用加权平均算子来估计性能输出
$$
g_{\text{BRB}}(u) = \sum_{l=1}^{L} D_l \beta_l. \quad (17)
$$
3.3. 利用所选训练样本对BRB系统进行参数优化
尽管初始置信规则可以通过有限的仿真和设计人员知识和性能输出可以通过初始置信规则的ER推理进行估计,如果通过从一些选定的训练样本中学习来微调置信规则中的参数,则可以提高估计精度。规则库中的可调参数包括置信度($ \beta_{k,1},\beta_{k,2}, . . . , \beta_{k,L} $)、规则权重($ \theta_1,\theta_2, . . . , \theta_K $)和属性权重($ \delta_1,\delta_2, . . . , \delta_N $)。
当我们从BRB估计的近似可接受区域 $ R_A $中搜索可用可行域 $ R_F $时,最大 $ R_F $的顶点必然达到 $ R_A $的边界点,这些边界点全部包含在关键点集合$ {u \mid g(u) = Lb,g(u) = Ub} $中。在很大程度上,边界点的估计精度决定了最优 $ R_F $的精度。由于 $ R_A $的边界点落入如图1所示的边界网格(BG)单元中,我们选择BG单元的中心点作为训练点,并通过电路仿真获得其性能输出作为训练样本。因此,给定 Q个训练点 $ u_q (q= 1, 2, …, Q) $,可定义仿真输出$ g(u_q) $与估计输出$ g_{\text{BRB}}(u_q) $之间的误差函数为[21]
$$
d(P) = \frac{1}{Q} \sum_{q=1}^{Q} (g(u_q) - g_{\text{BRB}}(u_q))^2. \quad (18)
$$
这里, $ d(P) $ 是参数集 $ P $ 的函数
$$
P = {\beta_{k,l} , \theta_k , \delta_i \mid k= 1, 2,…, K, l= 1, 2,…, L, i= 1, 2,…, N}. \quad (19)
$$
训练的目标是最小化差异$ d(P) $,通过调整参数 $ P $。注意,最优的 $ P $可以通过使用基于梯度的搜索方法或非线性优化软件包(例如 MATLAB 优化工具箱中的 fmincon函数)获得[18]。
例如,在如图1所示的二维输入情况下,共有26个 BG单元。相应地,选择26个训练点,仅需额外26次电路仿真即可获得训练样本。因此,总共需要152次电路仿真(126个初始参考点和26个训练点)来构建具有二维输入的训练后的BRB。
4. 容差优化方法
在本段中,所提出的BRB可用于根据最大化容差区域体积的设计准则,从可接受区域中识别出最优可行区域。
4.1. 选择优化的初始解
首先,我们必须从可接受区域中选择一个可用点及其容差作为优化的初始解,因为任意初始点及其容差可能导致优化过程耗时,甚至陷入局部最优[3]。选择初始解有两种方法。
第一种方法是直接从通过电路仿真获得的内点和边界内(IB)点中寻求初始解。
对于 N维设计参数空间,设 $ S_I = {u_I^z \mid z= 1, 2, . . . , Z} $为包含总共 Z个内点和 IB点的集合,其中 $ u_I^z = (u_{Iz,1},u_{Iz,2}, . . . , u_{Iz,N}) $。将$ u_I^z $设为中心点,并在其两侧沿 N维空间的每个坐标方向搜索其他点。在第 i个坐标方向上,我们可以找到关于 $ u_I^z $的一对对称点;它们在第 i 个坐标上的值分别记为$ x_{z,i} $和 $ y_{z,i} $。由于对称特性,我们有$ |u_{Iz,i} - x_{z,i}| = |u_{Iz,i} - y_{z,i}| $,并定义$ t_{Iz,i} = |u_{Iz,i} - x_{z,i}| $为 $ u_I^z $在第 i个坐标方向上的容差。因此,我们需要搜索所有坐标方向上关于 $ u_I^z $ 的所有对称点对,并找出使得$ (2t_{Iz,1} \times 2t_{Iz,2} \times \cdots \times 2t_{Iz,N}) $为最大体积的容差向量 $ t_I^z = (t_{Iz,1},t_{Iz,2}, . . . , t_{Iz,N}) $。对于$ z= 1, 2, . . . , Z $,可在具有最大容差体积的 $ S_I $ 中找到优化的初始解。
让我们以二维空间为例。图2 显示了图1中的内点和IB点。通过搜索每个点,我们可以确定初始解为 $ u_I = (8, 5) $、 $ t_I =(3, 1) $。与其他点(例如,$ u_I =(5, 6) $)相比,$ u_I =(8,5) $具有最大的容差体积($ 2 \cdot 3 \times 2 \cdot 1= 12 $)。
我们使用所提出的BRB来估计更多的内部点,以增加可接受区域中采样点的密度,而不是进行电路仿真。因此,第二种方法是利用第一种方法中所述的流程,从这些估计点中搜索初始解。显然,通过第二种方法获得的初始解比通过第一种方法获得的更精确,但需要更高的计算负载。
注意,如果在参数空间 $ S_u $ 中存在多个不连通的可接受区域;则上述两种方法可在每个可接受区域中分别实施,以获得相应的初始解。
4.2. 指定目标函数
根据最大化容差区域体积的准则,目标函数可以定义为
$$
\max (V(R_F)) \quad \text{subject to } R_F \subseteq R_A. \quad (20)
$$
从(2)、(3)和(17)可以看出,它可以被转化为
$$
\begin{aligned}
&\max_{u^0,t} \prod_{i} (2t_i), \quad u^0=(u^0_1, u^0_2,…, u^0_N), \quad t=(t_1, t_2,…, t_N) \
&\text{s.t. } Lb \leqslant g_{\text{BRB}}(u^0_1 \pm (t_1 j_1) , u^0_2 \pm (t_2 j_2) ,…, u^0_N \pm (t_N j_N)) \leqslant Ub, \
&\quad Lb \leqslant g_{\text{BRB}}(u^0_1 \pm (t_1 j_1) , u^0_2,…, u^0_N) \leqslant Ub, \
&\quad Lb \leqslant g_{\text{BRB}}(u^0_1, u^0_2 \pm (t_2 j_2) ,…, u^0_N) \leqslant Ub, \ldots, \
&\quad Lb \leqslant g_{\text{BRB}}(u^0_1 , u^0_2 ,…, u^0_N \pm (t_N j_N)) \leqslant Ub, \
&\quad 0 \leqslant t_i \leqslant \frac{ubi - lbi}{2}, \
&\quad \text{for } i= 1, 2,…, N; j_1 = 1, 2,…, T, \
&\quad j_2 = 1, 2,…, T, \ldots, j_N = 1, 2,…, T.
\end{aligned}
\quad (21)
$$
$ R_F $是一个立方体( $ N= 3 $)或超立方体($ N> 3 $)。因此,如果 $ R_A $ 是凸的,则 $ T= 1 $。我们只需确保 $ 2^N $ $ R_F $ 的顶点落入可接受区域 $ R_A $ 即可。如果 $ R_A $ 是非凸的,则 $ T \geqslant 2 $,因为必须保证 $ R_F $ 的 N边上额外的$ (2T)^N + 2TN - 2^N $个点落入 $ R_A $。 $ T $可根据专家经验关于 $ R_A $ 的形状以及计算负担与优化精度之间的权衡来确定。初始的 $ u^0 $ 和 $ t $由第 4.1节中的方法给出。类似于第3.3节中BRB参数的优化,容差优化也可以通过MATLAB中的fmincon函数求解。
5. 数值研究
在本段中,给出了两项数值研究和一个工业案例,以说明使用BRB系统解决公差设计问题的流程。
5.1. 二维Rosenbrock函数示例
Rosenbrock函数是评估非线性数值优化算法的一个著名基准 [22]。在我们的研究背景下,二维Rosenbrock函数被用作性能函数,以构建非凸且不连通的可接受区域。所提出的方法可以利用这些复杂的可接受区域进行测试。
将可接受区域设置为
$$
R_A = {u \mid 5 \leqslant g(u) \leqslant 10}. \quad (22)
$$
这里,性能函数是
$$
g(u) = 100(u_2 - u_1^2)^2 + (1 - u_1)^2. \quad (23)
$$
设计参数为 $ -0.4 \leqslant u_1 \leqslant +0.4, -0.4 \leqslant u_2 \leqslant +0.4, u=(u_1 , u_2) $。从 图3 可以看出,$ R_A $ 包含两个不相连的非凸子区域,分别记为 $ R_{A,1} $ 和 $ R_{A,2} $。
根据第3节中给出的BRB系统构建流程,假设对两个设计参数$ u_1 $ 和$ u_2 $ 分别均匀选取17个参考值;于是得到$ 17^2 $个初始参考点,位于 $ S_u = {u=(u_1 ,u_2) \mid -0.4 \leqslant u_i \leqslant 0.4i , i= 1, 2} $。相应地进行了289次电路仿真以生成初始参考性能输出。在此数值示例中,电路仿真由解析公式(23)的计算代替。基于(22)给出的约束,从289个初始参考点中筛选出68个内点和65个IB点,如 图3所示。此处,采用 k‐means聚类算法将这289个点划分为两部分,以便识别$ R_{A,1} $和 $ R_{A,2} $。因此,
基于信念规则库的电路容差设计
79个外部边界点可以从79个BG单元中找出。因此,我们得到前提参考值的集合作为
$$
A_1 = {-0.4, -0.35, -0.3, -0.25, -0.2, -0.15, -0.1, -0.05, 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4},
$$
$$
A_2 = {-0.3, -0.25, -0.2, -0.15, -0.1, -0.05, 0, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4}.
\quad (24)
$$
参数输入的参考值 $ u_k = (u_{k,1}, u_{k,2}) $, $ u_k \in A_1 \times A_2 $, $ k= 1,2,…, K, K= 128 $。由(8)可得下界$ Lb^\prime = 2 $,上界$ Ub^\prime = 14 $。假设 $ L= 7 $性能输出的参考值在区间[下界$ Lb^\prime $,上界$ Ub^\prime $]内均匀取值;则 $ D_1 = 2 $,$ D_2 = 4 $,…,$ D_7 = 14 $。因此,我们可以通过(9)和(10)构造初始置信规则,并在表2中列出初始规则库的部分参数。
在 表2中,其他参数 $ \theta_k $ 和 $ \delta_i $ 分别设置为1。
接下来,将BG单元的79个中心点设为训练点,然后通过电路仿真获得它们的性能输出作为训练样本,如 Figure3所示。根据(18),我们可以优化初始规则库的参数集,得到训练后的规则库。表3 列出了部分通过训练获得的参数;这里,在训练后,$ \delta_i $ 对于 $ i= 1、 2 $ 仍然等于 1。
我们从$ R_{A,1} $和 $ R_{A,2} $中均匀选取404个样本点,并通过初始BRB和训练后的BRB计算它们的性能输出。 图4 分别显示了训练后的BRB和初始BRB的相对误差。显然,训练过程提高了BRB系统的估计精度。
获得训练后的BRB后,下一步是通过第4节中提出的第4.1节介绍的第二种方法,重用图4 中由训练后的BRB生成的内点来找出优化的初始解$ R_{I,F,\text{BRB}} $。其次,利用$ T= 10 $中的目标函数((21)),可通过图5所示的电路仿真得到最优结果$ R_{o,F,\text{BRB}} $ 以及最优的$ R_{o,F} $。表4和5列出了$ R_{I,F,\text{BRB}} $、$ R_{o,F,\text{BRB}} $、$ R_{o,F} $ 以及相对误差$ re_{o,\text{BRB}} $ 和$ re_{I,\text{BRB}} $
在估计值$ R_{I,F,\text{BRB}} $、$ R_{o,F,\text{BRB}} $和 $ R_{o,F} $ 分别对应$ R_{A,1} $及 $ R_{A,2} $之间。此处,回复$ o,\text{BRB} $定义为
$$
re_{o,\text{BRB}} = 100\% \times \frac{1}{N} \sum_{i=1}^{N} \left( \frac{|(u^o_i - t^o_i) - (u^o_{\text{BRB},i} - t^o_{\text{BRB},i})| + |(u^o_i + t^o_i) - (u^o_{\text{BRB},i} + t^o_{\text{BRB},i})|}{2t^o_i} \right). \quad (25)
$$
回复$ I,\text{BRB} $可以通过相同的方法获得,在本示例中, $ N= 2 $。显然,$ R_{o,F, \text{BRB}} $非常接近最优 $ R_{o,F} $。
5.2. 八维二次性能函数
在集成电路的良率估计中,高阶二次多项式或高阶多项式通常用于对感兴趣的性能进行建模。此处,我们给出一个八维二次函数来测试所提出的方法。在不失一般性的前提下,假设电路性能可表示为对称矩阵为对角线或块对角的八维二次函数[6, 25, 26]。本示例中的函数取为
$$
g(u) = a_0 + Ju + \frac{1}{2} u^T H u, \quad (26)
$$
其中 $ a_0= 6 $ 和矩阵 $ J $ 以及 $ H $ 如下:
$$
J = [-1\ 1\ 0\ 2\ 3\ 1\ 2\ 4],
$$
$$
H =
\begin{bmatrix}
1 & 2 & 0 & 0 & 0 & 0 & 0 & 0 \
2 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 4 & 7 & 0 & 0 & 0 & 0 \
0 & 0 & 3 & -3 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 1 & -5 & 0 & 0 \
0 & 0 & 0 & 0 & 6 & 2 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \
0 & 0 & 0 & 0 & 0 & 0 & -1 & 3 \
\end{bmatrix}.
\quad (27)
$$
将可接受区域设置为
$$
R_A = {u \mid 346 \leqslant g(u) \leqslant 360}. \quad (28)
$$
设计参数向量 $ u=(u_1 , u_2 , . . . , u_8) $, $ S_u = {u \mid 4.5 \leqslant u_i \leqslant 5.5i , i= 1,2,…,8} $。
假设为 $ u_i $ 均匀选取的参考值数量为 $ J_i = 3 $,对应 $ i= 1 $分别为 4、6、8 ,且为 $ J_i = 3 $对应$ i= 2 $分别为 3、5、7。实施相应的 1296 次电路仿真以生成初始参考性能输出。根据(28)给出的约束,从 1296 个初始参考点中筛选出 165 个 IB 点。因此,可找出 458 个外部边界点。最终得到由 623 条置信规则组成的初始规则库,其中性能输出的参考值从区间[$ Lb^\prime $ ,$ Ub^\prime $]内均匀选取;此处,$ Lb^\prime = 302 $,$ Ub^\prime = 406 $,然后取 $ D_1 = 302, D_2 = 306,…, D_{26} = 406 $。规则权重和属性权重均分别设为 1。
通过对 $ R_A $ 中选定的1373个样本点进行测试,初始 BRB的相对误差最大仅为0.25%;其精度足以满足公差设计的要求。因此,不再实施训练过程,以减轻计算负担。根据第4.1节中介绍的第二种方法,我们重用初始BRB生成的1373个样本点 $ R_A $,以找出优化的初始解$ R_{I,F,\text{BRB}} $。其次,通过使用(21)中的目标函数( $ T= 2 $),我们可以通过电路仿真获得最优结果$ R_{o,F,\text{BRB}} $以及最优的 $ R_{o,F} $。表6 列出了估计的$ R_{I,F,\text{BRB}} $、$ R_{o,F,\text{BRB}} $、 $ R_{o,F} $ 和 $ ro,\text{BRB} $以及 $ rI,\text{BRB} $与相应的最优$ R_{I,F,\text{BRB}} $、$ R_{o,F,\text{BRB}} $和 $ R_{o,F} $之间的比较。显然,$ R_{o,F,\text{BRB}} $能够准确逼近最优的 $ R_{o,F} $。
5.3. 轨道电路公差设计中的应用
轨道电路是轨旁与车载之间信息传输系统以及列车自动控制系统[6, 27]的重要组成部分。它使用特定的载波频率向列车发送编码控制信息。本文所考虑的应用涉及在中国高速铁路线路中广泛使用的ZPW 2000A型无绝缘轨道电路的绝缘节参数设计。首先将对该装置进行描述,然后提出所研究的问题。
铁路轨道被划分为不同的段。每一段都具有特定的ZPW 2000A,由主轨道电路和短轨道电路组成[28](见图6)。在主轨道电路中,发送端的发送器发送具有特定调制频率的交流电流;接收端的接收器对接收沿两根钢轨传输的电流信号进行解调,并控制轨道继电器。
短轨道电路是一个电绝缘节,由两个调谐单元(BA1和 BA2)以及一个轨道空气芯电感器(SVA)构成,通过其谐振特性实现相邻轨道电路之间的良好信号绝缘。
图7显示了G2短轨道电路的示意图。我们以调谐单元2(BA2)的共振性能分析为例。 $ L_2 C_2 C_3 $ 在频率2300Hz处,与钢轨电感 $ L_V $发生并联谐振 $ L $。 $ L_V $由 $ L_V = 0.5L+ 0.5L//L_s $.$ L(\mu H) $和 $ L_s(\mu H) $给出,分别为G2 短轨道电路中钢轨和SVA的电感值。“//”表示并联算子。 $ L_2 C_2 C_3 L_V $电路的阻抗值达到最大值,约为 2Ω,相当于“开路”,从而减小G2信号强度的衰减。在本文中,并联谐振频率 $ g(L_2 , C_2 , C_3 ) $被视为性能函数。在实际参数设计中,它
通常要求 $ g $的标称值为2300Hz[28]。最大频率漂移为 ±11Hz。因此我们将可接受区域设置为
$$
R_A = {u \mid 2289\ \text{Hz} \leqslant g(u) \leqslant 2311\ \text{Hz}}. \quad (29)
$$
这里的设计参数为 $ u_1 = L_2 $, $ u_2 = C_2 $, $ u_3 = C_3 $,$ u=(u_1 ,u_2 , u_3) $ 和 $ S_u = {u \mid 96\mu H \leqslant u_1 \leqslant 98\mu H,88\mu F \leqslant u_2 \leqslant 92\mu F, 261\mu F \leqslant u_3 \leqslant 264\mu F} $。ZPW 2000A的完整电路模型已在软件Simulinkin[29]中建立。在这里,我们可以使用基于 Simulink的电路仿真器生成性能输出$ g(u) $的仿真数据。
我们分别为 $ u_1 $、 $ u_2 $ 和 $ u_3 $ 统一选择 $ J_1 = 7 $、 $ J_2 = 9 $ 和 $ J_3 = 8 $参考值。相应的504通过电路仿真生成初始参考性能输出。根据(29)给出的约束,从504个初始参考点中筛选出347个内点和41个 IB点。因此,可以确定41个外部边界点。最终得到包含429条置信规则的初始规则库,其中 $ L= 10 $性能输出的参考值均匀地取自区间[$ Lb^\prime $,$ Ub^\prime $];这里,$ Lb^\prime = 2287 $, $ Ub^\prime = 2314 $,然后是 $ D_1 = 2287, D_2 = 2290,…, D_{10} = 2314 $。规则权重和属性权重均分别设为1。
与示例2类似,给定的初始BRB对于公差设计已足够精确,因此取消了训练过程。图8 显示了近似的 $ R_A $,其为一个复杂多面体。所选的2470个采样点由初始BRB生成,用于寻找初始解$ R_{I,F,\text{BRB}} $。利用(21)中的目标函数($ T= 2 $),我们可以通过Simulink仿真获得最优结果$ R_{o,F,\text{BRB}} $以及最优的 $ R_{o,F} $(见图8)。表7列出了估计的$ R_{I,F,\text{BRB}} $、$ R_{o,F,\text{BRB}} $和 $ R_{o,F} $ 之间对应的$ R_{I,F,\text{BRB}} $、$ R_{o,F,\text{BRB}} $、$ R_{o,F} $ 以及 $ ro \text{BRB} $和 $ rI \text{BRB} $。显然, $ R_{o,F, \text{BRB}} $对最优 $ R_{o,F} $ 进行了准确逼近。
6. 结论
在本论文中,设计了一种BRB系统来建模电路的可接受区域并优化其可行域参数,以使电路的容差区域体积最大化。本文中的几个例子可以证明其优点。
这种方法的主要优势如下。
(i) BRB系统参数和结构的物理意义对专家和工程师而言是透明且直观易懂的,因此他们可以参与系统建模的主要步骤(例如,通过考虑内点和IB点来确定规则数量,从BG单元中选择训练样本,以及确定属性权重和规则权重)。
(ii) 提出的BRB系统适用于复杂情况,例如高度非线性的性能函数以及非凸且不连通的可行域。
(iii) 所提出的优化算法提供了获取优化问题初始解的替代方法,从而以更高概率避免陷入局部最优,并提高算法的效率。
与其他所有确定性方法一样,当设计参数空间的维度增加时,所提出的方法也会面临计算成本呈指数级增长的问题。然而,当设计参数之间存在强相关性时,可以使用相关性分析方法找出较少的独立变量或主成分,从而降低设计参数空间的维度,如[30]中所分析的。
709

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



