693 lines
62 KiB
TeX
693 lines
62 KiB
TeX
% !Mode:: "TeX:UTF-8"
|
||
|
||
\chapter{表面组装过程中贴装过程的路径规划算法}[Path planning algorithm for the placement process in the surface assembly process]
|
||
|
||
\section{引言}[Introduction]
|
||
|
||
贴装过程的路径规划是研究悬臂贴装元件过程中移动路径最小化的算法,其结果同样是影响组装过程效率的因素之一,可被视为一类带约束的有容量限制的车辆路径规划问题(Capacitated Vehicle Routing Problem,CVRP)的变体。
|
||
贴装过程的路径规划是在贴片头任务分配基础上的进一步决策规划,二者共同决定了完整的贴片机组装过程。路径规划的复杂性体现在既有贴片头元件分配结果的限制,又有多轴线性排列的贴片头偏移对移动位置的影响。
|
||
较大的可行域使找到问题高质量解的难度增大,以贪心为代表的启发式优化算法搜索方式单一,但其获得的可行解基本能满足生产要求,因而相关研究较少且不够深入。
|
||
对于大批量的表面组装任务,即使悬臂的贴装移动用时在整体组装过程中占比不高,但其累积产生的经济效益仍不可被忽视。
|
||
|
||
% 多源点启发式
|
||
启发式的路径规划算法通常以最近邻贪心搜索方法为基础,适用于解决大规模的路径规划问题。贪心算法从随机选取的贴装点开始进行搜索,对于贴装路径规划任务,不同拾贴周期首个贴装点的选取会对当前及整体解的质量产生较大影响。为此,本章提出一种基于多源点启发式的贴片头路径规划算法,通过不同的起始搜索点和贴片头分配迭代顺序,增加搜索解的多样性。
|
||
% 对于单个拾贴周期内分配的有限贴装点而言,动态规划的优化方法可以被直接应用于其路径的最优化规划。
|
||
集束搜索作为贪心的扩展算法,其在搜索过程中采用广度优先的方式建立搜索树,并在搜索树的各层时按启发代价对结点进行排序,剪去代价值较低的结点,以被保留的多个相对较优的结点为基础在下一层次继续扩展,有助于算法跳出搜索过程的局部最优解,进而提升构造的路径规划解的质量。
|
||
|
||
|
||
% 路径重连
|
||
贪心的搜索方式有一定的短视性,而邻域搜索可根据各拾贴周期内贴装点的分布特性,对已有解进行再规划。现有研究中,相关的元启发式算法已被广泛应用于解决此类路径规划问题中,且取得了较好的成效\cite{cai_variable_2022,accorsi_fast_2021}。
|
||
作为CVRP的变体问题,聚类算法通过将访问点分组,并与邻域搜索算法相结合,将复杂的路径规划问题分解为易于处理的子问题,可以降低问题的复杂度、提高求解效率。
|
||
% 贪心搜索不可避免出现各拾贴周期路径规划长度不一致的问题,而拾贴周期内的路径规划可根据贴装点的分布特性对已有解进行再规划。此外,贴装点的再分配过程同样受到贴片头任务分配结果的约束。
|
||
为此,本章研究了自适应大邻域搜索在拾贴周期路径再规划中的应用,通过重新分配各拾贴周期的贴装点,平衡拾贴周期之间的移动路径长度,降低了贴装过程悬臂移动路径的总长度。
|
||
|
||
|
||
\section{问题分析}[Problem analysis]
|
||
|
||
|
||
贴装过程作为多轴协同运动的过程,其特殊性在于连续两点贴装作业的用时不仅取决于贴装点之间的距离,同时与X/Y/R轴协同工作有关。
|
||
在贴装过程中,各贴装位置之间的Chebyshev距离决定了移动过程的用时;而贴装过程的用时不仅取决于选取的贴装点位置,也与同轴贴片头连续作业所完成的R轴旋转动作用时有关。
|
||
如图\ref{ch4:figure:head-struct}所示,在贴片头机械设计中,其紧凑的结构使每两个相邻的贴片头共用一个R轴电机,并通过传动齿轮带动贴片头转动。在表面贴装过程中,相机识别拾取元件的角度偏差后,贴片头可预先旋转至待贴装角度,因而部分贴片头R轴旋转用时并不影响整体组装用时。然而,同轴旋转动作的存在也使得部分贴片头需等待上一个点贴装完成后,才可以旋转到预定的贴装角度。多轴电机独立工作的最长用时决定了组装过程的移动用时。
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\includegraphics[scale=0.65]{chapter4/head-layout.eps}
|
||
\bicaption[ch4:figure:head-struct]{}{贴片头的结构示意图}{Fig. $\!$}{Schematic diagram of the structure of heads}
|
||
\end{figure}
|
||
|
||
贴装过程的路径规划较CVRP有更多的限制条件。
|
||
贴片头任务分配的结果优化了影响组装效率的主要指标,同时限制了拾贴周期可访问路径可行解的范围。对于给定的拾贴周期,各贴片头的拾取元件类型已确定,限制了其可访问的贴装点集。
|
||
路径规划的容量受限体现在各拾贴周期分配有元件的贴片头数是确定的。
|
||
贴装点的选择与其所对应的贴片头对路径规划也有影响,
|
||
受线性排列结构的影响,不同贴片头吸取同类型元件时,其贴装同一贴装点会存在位置偏差。
|
||
贴装过程路径规划可被视为是贴装点分配与贴装顺序规划相结合的组合问题。拾贴周期是路径规划的最小单位,算法通过确定单个拾贴周期内各贴片头访问的点及访问顺序,实现最小化悬臂移动路径长度的优化目标。
|
||
贴装过程路径规划涉及三层决策问题,分别是:拾贴周期贴装点分配,贴装点的贴片头分配和贴片头作业的先后顺序规划,分层决策降低了问题的求解难度。
|
||
|
||
|
||
贴装过程路径规划的三层决策问题存在一定的耦合关系,在算法设计中,本章以贴装点分配到的拾贴周期和贴片头为第一阶段优化问题,以各拾贴周期的路径规划为第二阶段优化问题。
|
||
为使移动路径长度最小化,贪心的搜索过程仅用于确定各拾贴周期贴片头访问的贴装点,单一周期内相对密集的贴装点分布有助于降低整体移动路径的长度;动态规划法可最优地解决各拾贴周期的路径规划问题。
|
||
基于聚类的自适应邻域搜索规划法用于进一步改进解的质量,在贴片头任务分配的约束下,从全局角度对拾贴周期路径规划较差的解进行再规划,能有效地克服贪心算法的局限性。
|
||
|
||
|
||
\section{贴装过程的路径规划方法}[Path planning algorithms for placement process]
|
||
|
||
\subsection{算法概述}[Overview of the algorithm]
|
||
本节分别介绍了基于启发式和邻域搜索的贴装过程路径规划算法,启发式算法用于构造路径规划的高质量可行解,邻域搜索则用于在线改进解的质量,算法的构成如图\ref{ch4:figure:framework}所示。在启发式算法设计阶段,本节提出了周期间的多源贪心动态导向集束搜索的贴装点分配算法,以及周期内的动态规划路径规划算法;在邻域搜索算法设计阶段,则进一步提出了基于自适应大邻域搜索的聚合路径重构算法。在周期间完成贴装点再分配后,动态规划用于规划拾贴周期内的最优路径。
|
||
|
||
\begin{figure}
|
||
\centering
|
||
\includegraphics[scale=0.83]{chapter4/route-schedule-framework.eps}
|
||
\bicaption[ch4:figure:framework]{}{贴装过程的路径规划算法结构图}{Fig. $\!$}{Framework of path planning algorithm for placement process}
|
||
\end{figure}
|
||
|
||
|
||
\subsection{基于动态规划的拾贴周期路径规划算法}[Dynamic programming-based path planning algorithm of pick-and-place cycles]\label{subsection:dynamic-program-route}
|
||
|
||
拾贴周期内规划路径点数等于作业的贴片头数,对于数量有限的访问点,动态规划法可用于求解贴片头移动位置已知的路径规划最优解。
|
||
记贴片机$m$的拾贴周期$k$贴装过程的起点位置坐标为$\left( X_{\Theta}, Y_{\Theta} \right) $,即元件拾取的终止位置,其满足:
|
||
\begin{equation}
|
||
X_\Theta = X^{\rm F1} + F^{\rm FW}_{km} \cdot \frac{\rho}{\tau}, \quad Y_\Theta = Y^{\rm{F1}}, \quad \mathcal{H} = \left\{ h^\prime \mid \mathcal{P}_{kh^\prime} > 0, h^\prime \in H \right\}
|
||
\end{equation}
|
||
式中,$\mathcal{H}$为当前拾贴周期工作的贴片头索引集。
|
||
|
||
如前所述,多轴独立工作共同决定了贴装过程的移动用时,为计算悬臂在连续贴装点作业的用时,记当前访问贴装点$p$的坐标为$\left(X_p, Y_p\right)$,旋转角度为$R_p$,贴片头为$h$;下一访问贴装点$\hat{p}$的坐标为$\left(X_{\hat{p}}, Y_{\hat{p}}\right)$,旋转角度为$R_{\hat{p}}$,贴片头为$\hat{h}$。
|
||
记$\delta \left(p, \hat{p}, h, \hat{h} \right)$表示贴片头$h$完成元件$p$的贴装后,用贴片头$\hat{h}$贴装点$\hat{p}$的移动用时。
|
||
如果$p$或$\hat{p}$为拾取点,即$p = \Theta$ 或$\hat{p} = \Theta$,则当前移动路径为拾取位置到贴装位置之间的往返路径之一,有
|
||
\begin{equation}
|
||
\delta \left(\Theta, p, \bullet, h \right) = \delta \left(p, \Theta, h, \bullet\right) = \max \left( \frac{\left| X_p - X_\Theta - \left( h - 1 \right) \cdot \rho \right|}{V^{\rm{X}}}, \frac{\left| Y_p - Y_\Theta \right|}{V^{\rm{Y}}} \right)
|
||
\end{equation}
|
||
否则,对于非同轴运动贴装过程的移动路径,即$\lceil h / 2 \rceil \neq \lceil \hat{h} / 2 \rceil$,有
|
||
\begin{equation}
|
||
\delta \left(p, \hat{p}, h, \hat{h} \right) = \max \left( \frac{\left| X_p - X_{\hat{p}} - \left( h - \hat{h} \right) \cdot \rho \right|}{V^{\rm{X}}}, \frac{\left| Y_p - Y_{\hat{p}} \right|}{V^{\rm{Y}}}\right)
|
||
\end{equation}
|
||
否则,对于同轴运动贴装过程的移动路径,将进一步考虑R轴转动的用时,有
|
||
\begin{equation}
|
||
\delta \left(p, \hat{p}, h, \hat{h} \right) = \max \left( \frac{\left| X_p - X_{\hat{p}} - \left( h - \hat{h} \right) \cdot \rho \right|}{V^{\rm{X}}}, \frac{\left| Y_p - Y_{\hat{p}} \right|}{V^{\rm{Y}}}, \frac{\left| R_p - R_{\hat{p}} \right|}{V^{\rm{R}}}\right)
|
||
\end{equation}
|
||
其中$V^{\rm{X}}$,$V^{\rm{Y}}$和$V^{\rm{R}}$分别对应X、Y、R三轴运动的平均速度。记$\mathcal{P}_{kh}$为拾贴周期$k$的贴片头$h$拾贴元件的贴装点索引,令贴片头0对应拾取位置,即$\mathcal{P}_{k0}=\Theta$。
|
||
拾贴周期动态规划的访问点集合由贴片头及拾取起始位置构成,贴片头与贴装点存在对应关系,由此构成了作业贴片头集合$\mathcal{H} \cup \left\{ 0 \right\} $。
|
||
% \begin{equation}
|
||
% \hat{\mathcal{P}} = \left\{ \mathcal{P}_{kh} \mid \mathcal{P}_{kh} > 0, h \in H \right\} \cup \left\{ \Theta \right\}
|
||
% \label{dynamic_set_equation}
|
||
% \end{equation}
|
||
|
||
基于给定的访问点集合和移动过程用时函数,可构造动态规划的状态转移方程,如式\eqref{dynamic_init_equation}--\eqref{dynamic_trans_equation}所示。
|
||
$\mathcal{F} \left( p, \mathcal{H} \right)$表示从点$p$出发,访问集合$\mathcal{H}$中贴片头对应的贴装点有且仅有一次,最后返回点$p$的最短路径长度。
|
||
\begin{equation}
|
||
\mathcal{F} \left( \Theta, \left\{ 0 \right\} \right) = 0
|
||
\label{dynamic_init_equation}
|
||
\end{equation}
|
||
\begin{equation}
|
||
\begin{aligned}
|
||
\mathcal{F} \left( \mathcal{P}_{kh}, \mathcal{H}^{\rm{SUB}} + \left\{ h \right\} \right) = \min_{\hat{h} \in \mathcal{H}^{\rm{SUB}}} \left\{ \mathcal{F} \left( \mathcal{P}_{k\hat{h}}, \mathcal{H}^{\rm{SUB}} \right) + \delta \left(\mathcal{P}_{kh}, \mathcal{P}_{k\hat{h}}, h, \hat{h} \right) \right\} \\
|
||
\mathcal{H}^{\rm{SUB}} \subseteq \mathcal{H} \cup \left\{ 0 \right\}, h \in \mathcal{H} \cup \left\{ 0 \right\}, h \notin \mathcal{H}^{\rm{SUB}}
|
||
\end{aligned}
|
||
\label{dynamic_trans_equation}
|
||
\end{equation}
|
||
式中,$\mathcal{H}^{\rm SUB}$为$\mathcal{H}$的子集。对于小规模的类旅行商问题,状态压缩法常用于基于动态规划的路径规划问题求解中,通过求解状态转移方程可得,拾贴周期内的最小移动用时为
|
||
\begin{equation}
|
||
\min_{\mathcal{P}_{kh} \in \mathcal{H}} \left\{ \mathcal{F} \left( h, \mathcal{H} \backslash \left\{ h \right\} \right) + \delta \left( \Theta, \mathcal{P}_{kh}, h, \bullet \right) \right\}
|
||
\end{equation}
|
||
在求解过程中记录不同状态对应的访问贴装点的先后顺序,即可确定拾贴周期路径规划的最优访问顺序。
|
||
|
||
\subsection{基于多源贪心的动态导向集束搜索路径规划算法}[Path planning algorithm based on the multi-point greedy beam search with dynamic orientation]
|
||
|
||
\subsubsection{多源贪心启发式}
|
||
动态规划用于解决拾贴周期内的路径规划,本节将介绍拾贴周期分配贴装点的相关算法。在为贴片头分配贴装点时,朴素的贪心算法是选取一个贴片头分配任一贴装点,按照最近邻的分配原则对其它贴片头进行贴装点分配。
|
||
% 基于动态集束的多区域的启发式路径规划方法在此基础上,遍历所有起始位置和迭代方向增加搜索的多样性,并在其中引入动态集束搜索,扩大解的多样性。其具体实现方式包含以下步骤:
|
||
多源贪心搜索通过选择不同的搜索方向调整起始搜索点和贴片头的分配顺序,以满足电路板不同贴装点分布特性的实际要求。
|
||
根据待贴装电路板确定有效贴装区域, 可确定其左边界和右边界的X坐标为$X^{\rm{LB}}$和$X^{\rm{RB}}$,搜索步长为 $\left( X^{\rm{RB}} - X^{\rm{LB}} \right) / \left( 2 \cdot \left| H \right| \right)$。算法选取了3个不同的搜索方向完成优化,分别是自左向右搜索,自右向左搜索和自中心向两侧搜索。根据不同的搜索方向,可生成起始搜索点顺序列表 $ \hat{\mathcal{S}}$ 和贴片头访问顺序列表 $ \hat{\mathcal{H}} $,
|
||
其中$\hat{\mathcal{H}}$ 表示贴片头分配贴装点的先后顺序。搜索方向和起始点、贴片头的分配先后顺序的对应关系如表~\ref{ch4:table:search-direction}所示。
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:search-direction]{}{不同搜索方向的起始搜索点和贴片头分配顺序}{Table $\!$}{Starting point and head assignment sequence of different search directions}
|
||
\begin{tabular}{p{2cm}<{\centering}p{10cm}<{\centering}}
|
||
\toprule
|
||
方向 & 起始点和贴片头分配顺序 \\
|
||
\midrule
|
||
\multirow{2}{*}{自左向右} & $ \hat{\mathcal{S}} = \left\{ X^{\rm{LB}} + \left( h - 1 \right) \cdot \rho \mid h \in H \right\} $ \\
|
||
& $ \hat{\mathcal{H}} = H $ \\
|
||
\cmidrule{1-2}
|
||
\multirow{2}{*}{自右向左} & $ \hat{\mathcal{S}} = \left\{ X^{\rm{RB}} - \left( h - 1 \right) \cdot \rho \mid h \in H \right\} $ \\
|
||
& $ \hat{\mathcal{H}} = \left\{ \left| H \right| + 1 - h \mid h \in H \right\} $ \\
|
||
\cmidrule{1-2}
|
||
\multirow{2}{*}{中心向两侧} & $ \hat{\mathcal{S}} = \left\{ \left(3 \cdot X^{\rm{LB}} + X^{\rm{RB}} \right) / 4 + \left( h - 1\right) \cdot \rho / 2 \mid h \in H \right\} $ \\
|
||
& $ \hat{\mathcal{H}} = \left\{ \frac{\left| H \right|}{2} + (-1)^{h+1} \cdot \left( \lceil \frac{h}{2} \rceil - \frac{1}{2} \right) + \frac{\lceil \left( \left| H \right| + 1 \right) \ \rm{mod} \ 2 \rceil}{2} \mid h \in H \right\}$ \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
在进行贴装点分配时,首先置空贴片头上的贴装点,即令$\mathcal{P}_{kh} = 0$,$\forall k \in K$,$h \in H$,表示各拾贴周期所有贴片头均未分配贴装点;
|
||
然后遍历不同的搜索方向,记对应搜索起点为 $\Psi \in \hat{\mathcal{S}} $,贴片头分配顺序列表为 $\hat{\mathcal{H}}$。对于拾贴周期$k$,当遍历到 $\hat{\mathcal{H}}$ 中的贴片头$h$时,其可访问的贴装点集合记为$P^\prime$。若 $h$ 为列表 $\hat{\mathcal{H}}$首个贴片头,则找出水平方向上距离搜索起始点最近的点,
|
||
\begin{equation}
|
||
P^\prime \leftarrow \left\{ p \mid \eta_{ip} = 1, i = \mathcal{C}_{kh}, p \in P \right\}
|
||
\label{ch4:equation:first-point1}
|
||
\end{equation}
|
||
\begin{equation}
|
||
p \leftarrow {\rm argmin}_{p^\prime \in P^\prime} \left| X_{p^\prime} - \left( h - 1 \right) \cdot \rho - \Psi \right|
|
||
\label{ch4:equation:first-point2}
|
||
\end{equation}
|
||
否则,按移动过程单向访问的顺序,计算分配贴装点$p$后拾贴周期的移动路径长度,记集合$\mathcal{X}_{p}$和$\mathcal{Y}_{p}$为当前拾贴周期已分配的贴装点和在进行点$p$贴装作业时,悬臂所在位置的$X$坐标和$Y$坐标构成的有序集合,具体为
|
||
\begin{equation}
|
||
\mathcal{X}_{p} \leftarrow \left\{ X_{p^\prime} - \left( h^\prime - 1 \right) \cdot \rho \mid p^\prime = \mathcal{P}_{kh^{\prime}}, p^\prime \neq 0, h^{\prime} \in H \right\} \cup \left\{ X_{p} - \left( h - 1 \right) \right\}
|
||
\label{ch4:equation:quick-sort1}
|
||
\end{equation}
|
||
\begin{equation}
|
||
\mathcal{Y}_{p} = \left\{ Y_{p^\prime} \mid p^\prime = \mathcal{P}_{kh^\prime}, p^\prime \neq 0, h^{\prime} \in H \right\} \cup \left\{ Y_{p} \right\}
|
||
\label{ch4:equation:quick-sort2}
|
||
\end{equation}
|
||
记 $t$ 为 $\mathcal{X}$ 中 $X$坐标第 $t$ 小的索引,有
|
||
\begin{equation}
|
||
p \leftarrow {\rm argmin}_{ p^\prime \in P^\prime}\sum_{t=1}^{t < \left| \mathcal{X}_{p^\prime} \right| - 1} \max \left( \left| \mathcal{X}_{p^{\prime}t} - \mathcal{X}_{p^{\prime}\left( t + 1 \right)} \right|, \left| \mathcal{Y}_{p^{\prime}t} - \mathcal{Y}_{p^{\prime}\left( t + 1 \right)} \right| \right)
|
||
\label{ch4:equation:quick-sort3}
|
||
\end{equation}
|
||
|
||
根据最近邻或快排规划确定的贴装点$p$为贴片头分配吸嘴,即令$\mathcal{P}_{kh} = p$。
|
||
|
||
\subsubsection{动态导向的集束搜索}
|
||
|
||
% 概述
|
||
集束搜索是一类启发式的图搜索算法,在邻域中具有较强的搜索能力。集束搜索通过保留预定数量的最佳局部解最为候选,在每一步深度扩展时进行进一步的更新和筛选,通常能找到问题得近似最优解。
|
||
搜索过程中保留的结点个数被称为集束宽度,影响着搜索的效率和最终解的质量。当集束宽度为无穷大时,集束搜索等同于广度优先搜索;而当集束搜索宽度为1时,则其退化为贪心算法。
|
||
贴装过程作为贴片头任务分配约束下的路径规划问题,其对贴片头的贴装点分配可视为搜索树的结点。
|
||
本节将集束搜索运用于此过程中,进一步完善多源贪心的路径规划算法,通过引入动态导向的搜索策略,在扩展集束搜索宽度的同时,以最佳解引导集束搜索的方向,提升解的质量。
|
||
|
||
% 多源贪心
|
||
算法\ref{ch4:algorithm:greedy-beam}将多源贪心启发式与动态导向集束搜索算法相结合,用于路径规划可行解的生成。其中多源贪心算法构成了算法的基本框架,集束搜索则体现在单个贴片头同时分配多个较优的贴装点,扩大搜索范围。
|
||
贴片头数量的有限性为集束搜索创造了条件,一方面,集束搜索的剪枝过程可在拾贴周期元件分配完成后进行,避免了单一贴片头分配完成后过早剪枝造成的搜索的短视性,较低的复杂度可以进一步扩充集束宽度;另一方面,采用动态规划确定各周期的拾贴顺序,在贴装点数量有限的情况下效率很高,拾贴周期分配结束后,动态规划法会比快排规划策略更为准确地计算贴装过程时间,有利于保留高质量的解。去重过程则用于分配中消除集束搜索到的相同解,提升搜索效率。
|
||
|
||
\vspace{1em}
|
||
\begin{algorithm}[H]
|
||
\small
|
||
\AlgoBiCaption{多源贪心动态导向集束启发式路径规划算法}{Multi-point greedy beam search algorithm with dynamic orientation}
|
||
\label{ch4:algorithm:greedy-beam}
|
||
|
||
\Input{贴片头元件分配解 $\mathcal{C}$,周期组索引集 $\mathcal{K}$,贴装点坐标$\left( X_{p}, Y_{p} \right)$,$p \in P$}
|
||
\Output{贴片头分配贴装点 $\mathcal{P}$ 和贴装先后顺序 $\mathcal{Q}$}
|
||
|
||
令集束索引集 $B \leftarrow \left\{ 1, 2, \cdots, \right\}$ , $\left| B \right|$ 为集束宽度,
|
||
令 导向贴片头分配点 $\mathcal{P}^{\rm{REF}}$ 为空 \;
|
||
|
||
\For {遍历不同的集束搜索宽度$\beta \in B$}
|
||
{
|
||
令 $\mathcal{P}\left( b \right)$ 为大小 $\left| \mathcal{K} \right| \times \left| H \right| $ 值均为0的矩阵,表示贴片头分配的贴装点,对应地,$\mathcal{Q} \left( b \right)$ 为贴片头贴装顺序,$\mathcal{T} \left( b \right)$为贴装过程用时,$b \in \left\{ 1, 2, \cdots, \beta + 1\right\}$ \;
|
||
令 $P \left( b \right) \leftarrow P$表示不同集束未分配的点集,$b \in \left\{ 1, 2, \cdots, \beta + 1\right\}$ \;
|
||
\For {遍历各拾贴周期$k \in \mathcal{K}$}
|
||
{
|
||
\For{遍历不同的搜索方向}
|
||
{
|
||
\tcc{根据搜索方向,遍历不同的搜索起始点和贴片头分配顺序}
|
||
\For{$\Psi \in \hat{\mathcal{S}} $,$h \in \hat{\mathcal{H}}$}
|
||
{
|
||
\uIf{$\sum_{h^\prime \in H} \mathcal{P} \left(1\right)_{kh^\prime} = 0$}
|
||
{
|
||
按最近邻规则,以式\eqref{ch4:equation:first-point1}--\eqref{ch4:equation:first-point2}确定贴片头$h$分配的$p$,令$\mathcal{P} \left( b \right) _{kh} \leftarrow p$,$ b \in \left\{1, 2, \cdots, \beta \right\}$ \;
|
||
}
|
||
\Else
|
||
{
|
||
按快排规划算法,以式\eqref{ch4:equation:quick-sort1}--\eqref{ch4:equation:quick-sort3}分配移动路径最小的前$\beta$个贴装点至贴片头$h$,令$\mathcal{P} \left( b \right) _{kh} \leftarrow p_b$,$ b \in \left\{1, 2, \cdots, \beta \right\}$ \;
|
||
}
|
||
从$P\left( b \right)$中移除已分配的贴装点,$ b \in \left\{ 1, 2, \cdots, \beta \right\}$ \;
|
||
\If{$\mathcal{P}^{\rm{REF}}$非空}
|
||
{
|
||
根据参考点分配贴片头贴装点,令$\mathcal{P} \left( \beta + 1 \right) _{kh} \leftarrow \mathcal{P}^{\rm{REF}} _{kh}$ 作为候选解 \;
|
||
}
|
||
}
|
||
|
||
}
|
||
运用动态规划从候选解中筛选出前$\beta$个总移动用时最小的贴装点分配解$\mathcal{P}\left( b \right)$,对应的贴片头贴装顺序为$\mathcal{Q}\left( b \right)$,对应的贴装过程用时为$\mathcal{T} \left( b \right)$ \;
|
||
更新集束未分配点集 $P \left( b \right) $,$b \in \left\{ 1, 2, \cdots, \beta\right\}$ \;
|
||
}
|
||
以当前最优解作为新的参考点 $\mathcal{P}^{\rm{REF}} \leftarrow \mathcal{P} \left( {\rm argmin}_{b \in \left\{1,\cdots,\beta + 1 \right\}} \mathcal{T} \left( b \right) \right)$ \;
|
||
}
|
||
\end{algorithm}
|
||
\vspace{0.6em}
|
||
% 动态导向
|
||
集束搜索通过扩充集束宽度增加了搜索解的多样性,动态导向则以集束宽度增加前的已知最优解作为参考,在此基础上进行扩展搜索。图\ref{ch4:figure:beam-process}演示了动态导向的集束搜索过程。在为贴片头分配贴装点时,搜索树在迭代过程中对已知最优解进行了扩展,同时在剪枝过程中保留了当前最佳节点。
|
||
集束搜索宽度的增加会对搜索树的搜索方向产生影响,贪心式地截断搜索树的结点可能会降低解的质量,本节在集束搜索中引入了最佳解作为导向点,引导搜索过程扩展结点,同时不会改变宽度增加可能引入的效率降低。
|
||
可以说,动态导向的搜索过程避免了集束搜索的盲目性,有助于保留高质量的拾贴周期规划解,进而提升整体解的质量。
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[scale=0.6]{chapter4/beam-search-process.eps}
|
||
\bicaption[ch4:figure:beam-process]{}{具有导向点的贴装过程集束搜索过程示意图}{Fig. $\!$}{Schematic diagram of beam search process with guide points of placement process}
|
||
\end{figure}
|
||
|
||
|
||
\subsection{基于自适应大邻域搜索的聚合路径重构算法}[Aggregated route relink algorithm based on adaptive large neighborhood search]
|
||
|
||
以贪心为基础的动态导向集束搜索确定了高质量的路径规划可行解,基于此,本节将进一步讨论路径的改进方案。为克服贪心式搜索的局限性,路径重构技术用于破坏和修复不同拾贴周期的已分配贴装点。重构过程是基于固定的供料器和ANC配置的优化,其同样受到贴片头任务分配结果的约束。本节提出的自适应大邻域聚合路径重构算法可作为贴装过程的在线优化方案,用于持续提升组装效率。
|
||
|
||
在邻域搜索过程中,路径重构本质上也是不断破坏和修复周期内拾贴路径的过程,与之对应的破坏和修复算子通常成对出现。
|
||
传统的邻域搜索算法中,单一的邻域搜索策略仅能满足小部分解空间搜索的要求,容易陷入局部最优解。即使引入局部跳出策略,由于搜索空间的约束性和广泛性,算法找到全局最优解的概率仍然较小。变邻域搜索法通过引入多种邻域算子,大幅提升了搜索范围,自适应大邻域搜索则在此基础上,根据邻域解的质量调整不同邻域搜索算子的执行概率,运用启发式的信息指导搜索过程,算子间的相互竞争自适应生成当前解的邻域结构。
|
||
|
||
|
||
算法\ref{ch4:algorithm:alns}给出了自适应大邻域聚合路径重构算法的整体框架。算法以大邻域搜索为基础,通过使用试探法交替地破坏和修复解来探索复杂邻域,改进初始解的质量。聚合过程以拾贴周期的移动路径和贴片头中心偏移量为基础,破坏算法从拾贴周期中移除已分配的贴装点,修复算法则在满足贴片头任务分配约束下,对移除的贴装点执行再分配的操作。自适应算法在搜索过程中,融合了Metropolis抽样稳定接受准则,通过调整破坏和修复算子的权重,实现搜索初期的大范围搜索,并最终迭代收敛至稳定解。
|
||
|
||
% \vspace{1em}
|
||
\begin{algorithm}[!ht]
|
||
\small
|
||
\AlgoBiCaption{自适应大邻域搜索的聚合路径重构算法}{Adaptive large neighborhood search and aggregated route relink algorithm}
|
||
\label{ch4:algorithm:alns}
|
||
|
||
\Input{贴片头元件分配解 $\mathcal{C}$, 贴片头贴装点分配解 $\mathcal{P}$}
|
||
\Output{贴片头贴装点分配解 $\mathcal{P}^{*}$和贴装顺序解 $\mathcal{Q}^{*}$}
|
||
以式\eqref{ch4:equation:cycle-center}--\eqref{ch4:equation:head-derivate}和$\mathcal{P}$计算拾贴周期中心$\left(\overline{X}, \overline{Y} \right)$,移动距离$\mathcal{D}$和中心偏移$\varrho$ \;
|
||
|
||
令$\mathcal{P}^{*} \leftarrow \mathcal{P}$, $\mathcal{D}^{*} \leftarrow \mathcal{D}$,$\overline{X}^{*} \leftarrow \overline{X}$,$\overline{Y}^{*} \leftarrow \overline{Y}$,$\mathcal{P}^{\prime}\leftarrow \mathcal{P}$, $\widetilde{\mathcal{D}}^{\prime} \leftarrow \mathcal{D}$,$\overline{X}^{\prime} \leftarrow \overline{X}$,$\overline{Y}^{\prime} \leftarrow \overline{Y}$\;
|
||
|
||
|
||
\For{遍历最多迭代次数}
|
||
{
|
||
\While {未达到迭代终止条件}
|
||
{
|
||
令被移除贴装点集$P^{\rm{RM}} \leftarrow \varnothing$, 令$\mathcal{P} \leftarrow \mathcal{P}^{\prime}$,$\mathcal{D} \leftarrow \mathcal{D}$,$\overline{X} \leftarrow \overline{X}^{\prime}$,$\overline{Y} \leftarrow \overline{Y}^{\prime}$ \;
|
||
|
||
依概率 $\kappa^{-}$ 从集合$\Omega^{-}$选择破坏算子$l$,
|
||
并根据$\mathcal{D}$和$\varrho$,选择若干拾贴周期-贴片头对$\left( k,h\right)$,构成集合$\Xi$\;
|
||
|
||
令$P^{\rm{RM}} \leftarrow P^{\rm{RM}} \cup \left\{ \mathcal{P}_{kh} \right\}$,$\mathcal{P}_{kh} \leftarrow 0$,$\forall \left(k, h\right) \in \Xi$,
|
||
以式\eqref{ch4:equation:destroy-center1}--\eqref{ch4:equation:destroy-center2}更新$\left(\overline{X}, \overline{Y} \right)$ \;
|
||
|
||
|
||
依概率 $\kappa^{+}$ 从$\Omega^{+}$选择修复算子$l$ \;
|
||
|
||
\For {遍历被移除贴装点$p \in P^{\rm{RM}}$}
|
||
{
|
||
以式\eqref{ch4:equation:quick-sort1}--\eqref{ch4:equation:quick-sort2}确定$\left(k, h\right) \in \Xi $时$p$ 对应的$\mathcal{X}_p$和$\mathcal{Y}_p$,记$t$为$\mathcal{X}_p$中值第$t$大的索引 \;
|
||
|
||
根据算子$l$和
|
||
$\sum_{t=1}^{t=\left|\mathcal{X}_p\right|-1} \max \left( \left| \mathcal{X}_{pt} - \mathcal{X}_{p\left( t + 1 \right)} \right|, \left| \mathcal{Y}_{pt} - \mathcal{Y}_{p\left( t + 1 \right)} \right| \right) $的值,
|
||
选择$k$和$h$,满足$\eta_{ip} = 1$, 其中$i = \mathcal{C}_{kh}$,
|
||
令$\mathcal{P}_{kh} \leftarrow p$,$ \Xi \leftarrow \Xi \backslash \left\{ \left(k, h\right) \right\}$ \;
|
||
}
|
||
|
||
|
||
以式\eqref{ch4:equation:head-derivate}更新$\varrho$,以式\eqref{ch4:equation:repair-center1}--\eqref{ch4:equation:repair-center2}更新$\left(\overline{X}, \overline{Y} \right)$ \;
|
||
|
||
\If {满足式\eqref{ch4:equation:metropolis-equation}的{\rm Metropolis}接受准则}
|
||
{
|
||
令$\mathcal{P}^{\prime} \leftarrow \mathcal{P}$,$\mathcal{D}^{\prime} \leftarrow \mathcal{D}$,$\overline{X}^{\prime} \leftarrow \overline{X}$,$\overline{Y}^{\prime} \leftarrow \overline{Y}$ \;
|
||
}
|
||
\If {$\sum_{k \in K}\mathcal{D}_k < \sum_{k \in K}\mathcal{D}^{*}_k$}
|
||
{
|
||
令$\mathcal{P}^{*} \leftarrow \mathcal{P}$,$\mathcal{D}^{*} \leftarrow \mathcal{D}$,$\overline{X}^{*} \leftarrow \overline{X}$,$\overline{Y}^{*} \leftarrow \overline{Y}$,以动态规划确定$\mathcal{Q}^{*}$ \;
|
||
}
|
||
根据$\mathcal{D}$以及$\mathcal{P}$是否被接受,以式\eqref{ch4:equation:destroy-weight-update}--\eqref{ch4:equation:repair-weight-update}更新$\kappa^{-}$和$\kappa^{+}$,
|
||
以式\eqref{ch4:equation:anls-prob-update}更新$\vartheta$ \;
|
||
|
||
|
||
}
|
||
}
|
||
|
||
\end{algorithm}
|
||
% \vspace{0.6em}
|
||
|
||
|
||
|
||
路径重构过程以拾贴周期为基本单位,路径的破坏以拾贴周期$k$的移动路径$\mathcal{D}_k$为依据,修复则以贴装点到拾贴周期$k$的中心位置$\left( \overline{X}_{k}, \overline{Y}_{k} \right)$为准,具体为
|
||
\begin{equation}
|
||
\overline{X}_{k} \leftarrow \sum_{h \in H} \frac{X_{\mathcal{P}_{kh}} - \left(h - 1 \right) \cdot \rho}{\left| H \right|}, \quad \overline{Y}_{k} \leftarrow \sum_{h \in H} \frac{Y_{\mathcal{P}_{kh}}}{\left| H \right|} \quad \forall k \in K
|
||
\label{ch4:equation:cycle-center}
|
||
\end{equation}
|
||
\begin{equation}
|
||
\mathcal{D}_{k} \leftarrow \sum_{q=\left(h_1, h_2\right) \in \mathcal{Q}_{k}} \max \left( \left| X_{\mathcal{P}_{kh_1}} - X_{\mathcal{P}_{kh_2}} - \left( h_1 - h_2 \right) \cdot \rho \right|, \left| Y_{\mathcal{P}_{kh_1}} - Y_{\mathcal{P}_{kh_2}} \right| \right) \quad \forall k \in K
|
||
\label{ch4:equation:cycle-distance}
|
||
\end{equation}
|
||
选择破坏的拾贴周期时,共有三种不同的方案:随机选取,加权选取和贪心选取。加权和贪心的选取方式根据拾贴周期移动路径$\mathcal{D}$的长度进行选择破坏。贴装点的选取与拾贴的贴片头及其位置相关,根据中心位置偏移量$\varrho$确定,即
|
||
\begin{equation}
|
||
\varrho_{kh} \leftarrow
|
||
\begin{cases}
|
||
\infty & \mathcal{P}_{kh} = -1 \\
|
||
\max \left\{ \overline{X}_k - X_p + \left( h - 1 \right) \cdot \rho, \overline{Y}_k - Y_p \right\} & p = \mathcal{P}_{kh} \neq 1
|
||
\end{cases}
|
||
\quad \forall k \in K, h \in H
|
||
\label{ch4:equation:head-derivate}
|
||
\end{equation}
|
||
被选取的贴装点同对应的贴片头$h$相关,即$p = \mathcal{P}_{kh}$,未分配元件的贴片头不在选取之列。同理,选择被破坏路径的拾贴周期和对应的贴装点也有三种不同的方案——依据$\varrho$随机选取、加权选取和最远选取,不同的拾贴周期和贴片头的选取方案构成了9种不同的破坏-修复算子对。破坏过程选取一定比例的贴装点,增加邻域搜索的多样性。拾贴周期移除贴装点$p$后,其对应的拾贴周期$k$平均坐标点也随之调整,即
|
||
\begin{equation}
|
||
\overline{X}_k \leftarrow \left( 1 + \frac{1}{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) - 1}} \right) \cdot \overline{X}_k - \frac{ X_p - \left( h - 1 \right) \cdot \rho}{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) - 1}}
|
||
\label{ch4:equation:destroy-center1}
|
||
\end{equation}
|
||
\begin{equation}
|
||
\overline{Y}_k \leftarrow \left( 1 + \frac{1}{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) - 1}} \right) \cdot \overline{Y}_k - \frac{ Y_p }{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) - 1}}
|
||
\label{ch4:equation:destroy-center2}
|
||
\end{equation}
|
||
|
||
对应地,移除拾贴周期$k$的贴片头$h$上的贴装点$p$,令$\mathcal{P}_{kh} \leftarrow 0$,将贴装点加入未分配点集。修复算子与破坏算子执行相反的操作,修复算子将未分配点集中的贴装点分配至空的贴片头上。修复算子本质上是发生在同类型元件贴装点之间的交换操作,其中交换的范围根据随机移除元件类型和贴装点数确定。
|
||
贴片头分配新的贴装点$p$后,更新对应的拾贴周期$k$平均坐标。
|
||
\begin{equation}
|
||
\overline{X}_k \leftarrow \left( 1 - \frac{1}{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) + 1}} \right) \cdot \overline{X}_k + \frac{ X_p - \left( h - 1 \right) \cdot \rho}{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) + 1}}
|
||
\label{ch4:equation:repair-center1}
|
||
\end{equation}
|
||
\begin{equation}
|
||
\overline{Y}_k \leftarrow \left( 1 - \frac{1}{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) + 1}} \right) \cdot \overline{Y}_k + \frac{ Y_p }{\sum_{h^\prime \in H}{\left( \mathcal{P}_{kh^\prime} \neq 0 \right) + 1}}
|
||
\label{ch4:equation:repair-center2}
|
||
\end{equation}
|
||
修复算子操作完成后,拾贴周期$k$对应的移动路径长度$\mathcal{D}_k$和贴片头拾贴先后顺序$\mathcal{Q}_k$由\ref{subsection:dynamic-program-route}节提出的动态规划法重新计算获得。
|
||
|
||
Metropolis抽样稳定准则在用于决定系统是否接受新状态,从而影响随机搜索的方向和收敛速度,其以一定概率$\chi$接受使整体优化目标变差的解,随着搜索过程的深入,接受差解的概率逐步降低,重复搜索过程,直到满足终止准则,得到改进的路径规划问题的较优解。记当前迭代解的拾贴周期$k$的移动路径为$\mathcal{D}_k$,完成修复-破坏后新解的拾贴周期$k$的移动路径长度为$\widetilde{\mathcal{D}}_k$,有
|
||
\begin{equation}
|
||
\chi =
|
||
\begin{cases}
|
||
1& \sum_{k \in K} \widetilde{\mathcal{D}}_k < \sum_{k \in K} \mathcal{D}_k \\
|
||
e^{\left(- \sum_{k \in K} \frac{ \widetilde{\mathcal{D}}_k - \mathcal{D}_k }{T} \right)}& \sum_{k \in K} \widetilde{\mathcal{D}}_k \geq \sum_{k \in K} \mathcal{D}_k
|
||
\end{cases}
|
||
\label{ch4:equation:metropolis-equation}
|
||
\end{equation}
|
||
|
||
记破坏算子和修复算子集合分别为$\Omega^{-}$和$\Omega^{+}$,搜索过程中,破坏算子和修复算子根据其对解产生的实际效果自适应地调整其动态权重$\kappa^{-}$和$\kappa^{+}$,破坏算子和修复算子的更新过程如式\eqref{ch4:equation:destroy-weight-update}和式\eqref{ch4:equation:repair-weight-update}所示。
|
||
\begin{equation}
|
||
\kappa^{-}_l \leftarrow \alpha \kappa^{-}_l + \left( 1 - \alpha \right) \cdot \Gamma \quad \forall l \in \Omega^{-}
|
||
\label{ch4:equation:destroy-weight-update}
|
||
\end{equation}
|
||
\begin{equation}
|
||
\kappa^{+}_l \leftarrow \alpha \kappa^{+}_l + \left( 1 - \alpha \right) \cdot \Gamma \quad \forall l \in \Omega^{+}
|
||
\label{ch4:equation:repair-weight-update}
|
||
\end{equation}
|
||
其中$\alpha$表示算子权重的更新系数,$\Gamma$的取值与算子的执行效果相关,$\Gamma = \Gamma_1$时表示改善最优解,$\Gamma = \Gamma_2$时表示改善当前解,$\Gamma = \Gamma_3$时表示接受当前解,$\Gamma = \Gamma_4$时表示拒绝当前解,不同情况的取值互斥且满足$\Gamma_1 > \Gamma_2 > \Gamma_3 > \Gamma_4$。
|
||
第$l$个破坏算子被调用的概率$\vartheta_l$根据权重决定,即
|
||
\begin{equation}
|
||
\vartheta_l =
|
||
\begin{cases}
|
||
\kappa^{-}_l / \sum_{l^\prime=1}^{\left|\Omega^{-}\right|} \kappa_{l^\prime}^{-} & l \in \Omega^{-} \\
|
||
\kappa^{+}_l / \sum_{l^\prime=1}^{\left|\Omega^{+}\right|} \kappa_{l^\prime}^{+} & l \in \Omega^{+}
|
||
\end{cases}
|
||
\label{ch4:equation:anls-prob-update}
|
||
\end{equation}
|
||
|
||
自适应聚合路径重构的过程作为一种启发式搜索算法,融合了贴装点布局的结构特征,动态调整路径破坏和重连的算子权重,根据算子的历史表现和搜索次数选择下次迭代的算子,通过算子间的相互竞争生成复杂的邻域结构,从而加速了更优解决方案的搜索过程。
|
||
|
||
\section{实验设计}[Experimental design]
|
||
|
||
本章提出的多源贪心的动态导向集束搜索(Multi-Point Greedy Beam Search with Dynamic Orientation,MPGBS-DO)算法和自适应大邻域聚合路径重构(Adaptive Large Neighborhood Aggregated Route Relink,ALNARR)算法分别用于生成和改进路径规划的解。
|
||
为说明提出算法的实际效果,本章选取了四组不同的贴装过程路径优化算法,分别为同类型贴片机生产制造商发布的工业软件内置的元件贴装顺序优化器(Component Place Sequence Optimizer,CPSO),Ashayeri等\cite{ashayeri_aggregated_2011}提出的贪心分级贴装启发式(Greedy Level Placing Heuristic,GLPH)算法,Guo等\cite{geng_mcvrp-based_2019}提出的贴装聚类排序贪心启发式(Placement Cluster and Sequence Greedy Heuristic,PCSGH)算法和Gao等\cite{gao_hierarchical_2021}提出的贴装分配排序启发式(Place Allocation and Sequence Heuristic,PASH)算法。
|
||
|
||
实验程序运行和参数配置同第2章相同。
|
||
本章所研究的以及用于对比的算法均是在贴片头任务分配约束下进行的路径规划算法,如无特殊说明,实验所用的贴片头任务分配结果均选用第3章提出的算法获得。
|
||
对比实验所用的10组PCB数据组5参数如表\ref{ch4:table:pcb-data}所示,各类型元件的可用供料器数均为1。其中,第一组数据为IPC-9850,该数据是由表面贴装设备标准集成设备附属委员会提出的,用以描述组装机器性能的标准化测试数据。
|
||
在实际验证中,各组电路板数据的组装用时取最近三次运行的稳定结果,以其平均值作为比较所用的指标。
|
||
% 为说明算法的实际运行结果的组装效率,
|
||
% 本节在自主研发的表面贴装设备实验平台上开展了对比实验,实验平台如图\ref{ch4:figure:platform}所示。
|
||
|
||
|
||
\begin{table}[!hb]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:pcb-data]{}{PCB数据的基本参数}{Table $\!$}{Basic parameters of PCB data}
|
||
\begin{tabular}{p{2.5cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}}
|
||
\toprule
|
||
PCB & 5-1 & 5-2 & 5-3 & 5-4 & 5-5 & 5-6 & 5-7 & 5-8 & 5-9 & 5-10 \\
|
||
\midrule
|
||
吸嘴类型数 & 1 & 1 & 1 & 2 & 3 & 3 & 3 & 3 & 4 & 3 \\
|
||
元件类型数 & 1 & 7 & 18 & 4 & 5 & 6 & 16 & 20 & 10 & 24 \\
|
||
贴装点数 & 400 & 564 & 176 & 352 & 384 & 336 & 114 & 150 & 196 & 236 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\subsection{基于启发式的贴装过程路径规划的对比实验}[Comparative experiments on heuristic-based path planning for placement process]
|
||
|
||
MPGBS-DO算法是一类基于规则的启发式路径规划,用于比较的集束宽度设定为4。
|
||
贴片头的任务分配结果作为贴装过程的约束条件之一,限制了贴装过程解优化目标的边界值,确定了贴片头的拾取过程的路径,而并未对其贴装路径及基座-电路板间的往返路径进行优化。本章提出的路径规划算法同时对贴装过程和往返过程进行了优化,表\ref{ch4:table:route-same-head}比较了相同贴片头任务分配下不同启发式路径规划算法结果,CPSO因未开源实现方式不在比较之列。实验结果表明,本章提出的MPGBS-DO路径规划的贴装用时$ \mathcal{T}^{\rm{BASE}} $相较于GLPH和PCSGH的贴装过程用时$ \mathcal{T}^{\rm{GLPH}} $和$ \mathcal{T}^{\rm{PCSGH}} $分别缩短了14.41\%和14.97\%,和同为考虑了贴片头线性排列的PASH的结果$ \mathcal{T}^{\rm{PASH}} $在贴装过程用时上缩短了2.77\%。
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:route-same-head]{}{相同贴片头任务下MPGBS-DO算法和其他算法的贴装过程用时比较}{Table $\!$}{\centering Comparison of placement process time between MPGBS-DO algorithm and other algorithm in the same PAP head task}
|
||
\begin{tabular}{p{0.7cm}<{\centering}p{2.3cm}<{\centering}p{1.5cm}<{\centering}p{1cm}<{\centering}p{1.6cm}<{\centering}p{1cm}<{\centering}p{1.5cm}<{\centering}p{1cm}<{\centering}}
|
||
\toprule
|
||
\multirow{2}{*}{PCB} & MPGBS-DO & \multicolumn{2}{c}{GLPH} & \multicolumn{2}{c}{PCSGH} & \multicolumn{2}{c}{PASH} \\
|
||
\cmidrule(lr){2-2} \cmidrule(lr){3-4} \cmidrule(lr){5-6} \cmidrule(lr){7-8}
|
||
& $ \mathcal{T}^{\rm{BASE}} $ (s) & $\mathcal{T}^{\rm{GLPH}}$ (s) & $ \mathcal{G} $ (\%) & $\mathcal{T}^{\rm{PCSGH}}$ (s) & $ \mathcal{G} $ (\%) & $ \mathcal{T}^{\rm{PASH}} $ (s) & $ \mathcal{G} $ (\%) \\
|
||
\midrule
|
||
5-1 & 40.01 & 61.42 & 34.86 & 59.35 & 32.59 & 42.32 & 5.46 \\
|
||
5-2 & 69.93 & 86.05 & 18.73 & 92.71 & 24.47 & 73.16 & 4.41 \\
|
||
5-3 & 28.29 & 33.30 & 15.07 & 30.92 & 8.52 & 28.99 & 4.41 \\
|
||
5-4 & 50.31 & 59.26 & 15.10 & 61.72 & 18.48 & 50.56 & 0.50 \\
|
||
5-5 & 58.26 & 66.17 & 11.95 & 70.04 & 16.81 & 60.74 & 4.07 \\
|
||
5-6 & 51.04 & 57.35 & 11.00 & 60.07 & 15.03 & 51.59 & 1.06 \\
|
||
5-7 & 17.59 & 18.98 & 7.32 & 19.53 & 9.93 & 17.88 & 1.64 \\
|
||
5-8 & 24.38 & 29.33 & 16.89 & 27.08 & 9.99 & 24.79 & 1.64 \\
|
||
5-9 & 33.93 & 36.31 & 6.60 & 37.94 & 10.62 & 35.05 & 3.25 \\
|
||
5-10 & 33.38 & 35.74 & 6.60 & 34.49 & 3.21 & 34.48 & 3.19 \\
|
||
\cmidrule(lr){1-8}
|
||
AVG & & & 14.41 & & 14.97 & & 2.77 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
% 贴装过程的路径规划结果受到贴片头任务分配的影响,二者之间存在较强的耦合关系。
|
||
由于贴片头任务分配与贴装路径规划之间存在关联,本节将进一步讨论在不同贴片头任务分配约束条件下,路径规划算法的组装效率对比。此前已分析了影响组装效率的关键性能指标,验证了不同贴片头任务分配算法在子目标之间存在显著差异,故直接对比贴装过程中的移动路径用时缺乏公平性。在评估组装效率的主要指标体系中,拾贴周期数是评价基座-供料器往返移动路径及贴装路径之和对组装效率影响的指标之一。因此,在比较不同贴片头约束下的路径规划算法时,本节选取拾贴周期的平均移动用时作为评价标准,此参数同时也对应贴片头任务分配模型中拾贴周期数的权重系数,且值更为准确。
|
||
|
||
表\ref{ch4:table:diff-head}以拾贴周期平均贴装过程用时为指标比较了不同的路径规划方法,其中的差距值$\mathcal{G}$是相较于MPGBS-DO得到的结果。由表可知,本章提出的MPGBS-DO得到的平均贴装过程用时优于工业软件内置的CPO-CPSO的结果$\mathcal{T}^{\rm{CC}}$,与CDGA-PASH的结果$\mathcal{T}^{\rm{CP}}$有相近的表现。在具有相近子目标的贴片头优化算法中,AMIP-GLPH在拾贴周期和吸嘴更换上与MPGBS-DO对应的贴片头任务分配结果接近,然而,AMIP-GLPH平均贴装过程移动用时$\mathcal{T}^{\rm{AG}}$更长,且更多的拾取次数和贴装过程移动用时使AMIP-GLPH组装效率较低。HGA-PCSGH得到的结果$\mathcal{T}^{\rm{HP}}$则是在基于禁止吸嘴更换和构造同步拾取组的方案下进行的路径规划,较多的拾贴周期数导致其平均拾贴周期的移动用时指标值较优,而悬臂频繁的基座-供料器往返移动会降低整体组装效率。
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:diff-head]{}{不同贴片头任务下路径规划算法的拾贴周期平均贴装过程用时的比较}{Table $\!$}{\centering
|
||
Comparison of average placement time of PAP cycle of different path planning algorithms with different PAP head task}
|
||
\small
|
||
\begin{tabular}{p{1cm}<{\centering}p{1cm}<{\centering}p{1.5cm}<{\centering}p{1cm}<{\centering}p{1.5cm}<{\centering}p{1cm}<{\centering}p{1.5cm}<{\centering}p{1cm}<{\centering}p{1.5cm}<{\centering}}
|
||
\toprule
|
||
\multirow{2}{*}{PCB} & \multicolumn{2}{c}{CPO-CPSO} & \multicolumn{2}{c}{AMIP-GLPH} & \multicolumn{2}{c}{HGA-PCSGH} & \multicolumn{2}{c}{CDGA-PASH} \\
|
||
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(lr){8-9}
|
||
& \makecell[c]{ $ \mathcal{T}^{\rm{CC}} $ \\ (ms)} & $ \mathcal{G} $ (\%) &\makecell[c]{ $\mathcal{T}^{\rm{AG}}$ \\ (ms)} & $ \mathcal{G} $ (\%) & \makecell[c]{$\mathcal{T}^{\rm{HP}}$ \\ (ms)} & $ \mathcal{G} $ (\%) &\makecell[c]{ $ \mathcal{T}^{\rm{CP}} $ \\ (ms)} & $ \mathcal{G} $ (\%) \\
|
||
\midrule
|
||
5-1 & 596.3 & -0.14 & 916.3 & 34.83 & 424.1 & -40.80 & 834.1 & 28.41 \\
|
||
5-2 & 765.9 & 2.86 & 996.8 & 25.37 & 508.9 & -46.20 & 783.4 & 5.03 \\
|
||
5-3 & 916.7 & -2.85 & 1230.7 & 23.39 & 920.2 & -2.47 & 870.1 & -8.36 \\
|
||
5-4 & 788.9 & -2.86 & 901.7 & 10.01 & 803.7 & -0.97 & 721.3 & -12.50 \\
|
||
5-5 & 715.2 & -13.14 & 915.5 & 11.61 & 975.9 & 17.08 & 869.5 & 6.94 \\
|
||
5-6 & 827.7 & 3.64 & 968.4 & 17.64 & 915.2 & 12.85 & 838.3 & 4.86 \\
|
||
5-7 & 893.5 & 17.99 & 836.2 & 12.37 & 809.1 & 9.43 & 770.8 & 4.93 \\
|
||
5-8 & 905.6 & 15.88 & 1092.0 & 30.24 & 518.1 & -47.03 & 820.9 & 7.20 \\
|
||
5-9 & 902.5 & 16.49 & 811.5 & 7.13 & 814.1 & 7.43 & 519.2 & -45.16 \\
|
||
5-10 & 760.4 & 2.44 & 901.9 & 17.75 & 732.9 & -1.21 & 757.6 & 2.07 \\
|
||
\cmidrule(lr){1-9}
|
||
AVG & & 4.03 & ~ & 19.03 & ~ & -9.19 & ~ & -0.66 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
|
||
表\ref{ch4:table:diff-beam}进一步分别比较了集束宽度为1、4、7和10情形下的拾贴周期贴装过程平均用时$\mathcal{T}$以及不同搜索策略对整体组装效率的影响,当集束搜索过程无动态导向时,算法可视为多源贪心集束搜索(Multi-Point Greedy Beam Search,MPGBS),而当集束宽度为1时,算法则进一步退化为多源贪心搜索(Multi-Point Greedy Search,MPGS)。由表可知,集束宽度的增加将缩短拾贴周期的平均贴装过程的移动用时,无动态导向的集束搜索会盲目搜索低质量的解,导致集束宽度增加对解的质量改进有限。动态导向的引入通过调整搜索方向进一步提升了解的质量。表\ref{ch4:table:diff-beam}中MPGS和MPGBS对应的$\mathcal{G}$分别表示由贪心搜索调整为集束搜索和在集束搜索中引入动态导向的效率改进值。当集束宽度由1增加至4,电路板的贴装过程用时平均缩短1.30\%,动态导向的引入则将贴装过程用时进一步缩短了1.85\%,二者结合共同构成了有确定性解的多源贪心动态导向集束路径规划算法。
|
||
|
||
\begin{table}[htb]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:diff-beam]{}{不同集束宽度和搜索策略对路径规划解的质量影响比较}{Table $\!$}{\centering Comparison of effectiveness of different beam width and search strategies on the quality of path planning solutions}
|
||
\small
|
||
\begin{tabular}{p{0.7cm}<{\centering}p{1.7cm}<{\centering}p{1.7cm}<{\centering}p{1.7cm}<{\centering}p{1.7cm}<{\centering}p{2cm}<{\centering}p{2cm}<{\centering}}
|
||
\toprule
|
||
\multirow{2}{*}{PCB} & \multicolumn{4}{c}{MPGBS} & MPGS & MPGBS-DO \\
|
||
\cmidrule(lr){2-5} \cmidrule(lr){6-6} \cmidrule(lr){7-7}
|
||
& \makecell[c]{ $\mathcal{T} : \beta = 1 $ \\ (ms)} & \makecell[c]{ $\mathcal{T} : \beta = 4 $ \\ (ms)} & \makecell[c]{ $\mathcal{T} : \beta = 7 $ \\ (ms)} & \makecell[c]{ $\mathcal{T} : \beta = 10 $ \\ (ms)} & $ \mathcal{G} $ (\%) & $ \mathcal{G} $ (\%) \\
|
||
\midrule
|
||
5-1 & 625.3 & 620.7 & 617.3 & 617.3 & 0.74 & 3.96 \\
|
||
5-2 & 796.3 & 787.7 & 787.7 & 787.7 & 1.09 & 5.88 \\
|
||
5-3 & 1000.0 & 990.1 & 978.7 & 978.6 & 1.00 & 5.01 \\
|
||
5-4 & 819.9 & 811.3 & 803.2 & 803.2 & 1.06 & -0.02 \\
|
||
5-5 & 821.0 & 804.3 & 797.9 & 797.9 & 2.07 & -0.60 \\
|
||
5-6 & 815.1 & 807.7 & 806.7 & 803.3 & 0.92 & 1.27 \\
|
||
5-7 & 768.0 & 746.1 & 746.1 & 746.1 & 2.93 & 1.82 \\
|
||
5-8 & 768.0 & 763.2 & 763.2 & 762.3 & 0.63 & 0.18 \\
|
||
5-9 & 760.4 & 746.5 & 746.5 & 746.4 & 1.86 & -0.94 \\
|
||
5-10 & 762.3 & 756.6 & 754.6 & 750.7 & 0.75 & 1.99 \\
|
||
\cmidrule(lr){1-7}
|
||
AVG & ~ & ~ & ~ & ~ & 1.30 & 1.85 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
|
||
|
||
|
||
\subsection{基于邻域搜索的贴装过程路径规划的对比实验}[Comparative experiments on the neighborhood search-based path planning for placement process]
|
||
|
||
自适应大邻域搜索用于在线持续更新路径迭代过程的解,表\ref{ch4:table:alns-parm}列出了自适应大邻域搜索相关的参数,其中各轮搜索的最大迭代次数为2000。根据路径规划解的数值,Metropolis稳定性准则的初始温度设定为1,迭代终止温度为0.2,降温系数为0.8。在每轮搜索中,30\%的拾贴周期中单个贴片头的路径被破坏和修复。在自适应搜索过程中,改善已知最优解和当前最优解的奖励分数分别为3和2,采用概率接受的奖励分数为0.8,拒绝当前解奖励分数为0.2,修复和破坏算子的权重更新系数为0.5。所有算子的调用概率均根据其权重系数确定。
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:alns-parm]{}{自适应大邻域聚合路径重构搜索参数}{Table $\!$}{Parameters of adaptive large neighborhood aggregation route relink search}
|
||
\begin{tabular}{p{3.2cm}<{\centering}p{2cm}<{\centering}p{3.2cm}<{\centering}p{2cm}<{\centering}}
|
||
\toprule
|
||
参数 & 设定值 & 参数 & 设定值\\
|
||
\midrule
|
||
最大迭代次数 & 2000 & 改善最优解分数 & 3 \\
|
||
迭代最终温度 & 1 & 改善当前解分数 & 2\\
|
||
迭代终止温度 & 0.2 & 接受当前解分数 & 0.8 \\
|
||
降温系数 & 0.8 & 拒绝当前解分数 & 0.2 \\
|
||
拾贴周期破坏比率 & 0.3 & 算子权重更新系数 & 0.5 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
为说明自适应大邻域搜索的实际效果,本节比较了随机生成(Random Generation,RG)与启发式规则构造(Heuristic Rule Construction,HRC)分别作为初始解在自适应搜索过程中的迭代效果,其中,后者采用本章提出的MPGBS-DO路径规划算法,对应的拾贴周期平均贴装过程用时分别被记为$\mathcal{T}^{\rm{RG}}$和$\mathcal{T}^{\rm{HRC}}$。迭代搜索过程共重复5次取平均值,结果如表\ref{ch4:table:alns-compare}所示。由表可知,本章所提出的大邻域搜索算法相较于规则构造的初始解平均可缩短贴装过程时间1.85\%,即使是随机构造生成的初始解,邻域搜索算法仍可将其迭代收敛至与已知最优解平均误差4.50\%,最大误差11.04\%以内。自适应大邻域搜索给构造启发式的解带来的提升相对较少,主要是由于其已产生质量较高的解,可供邻域搜索解提升范围有限。即使是较小的提升在较多拾贴周期中也有一定的累积。此外,邻域搜索虽然也能提升随机生成解的质量,但由于初始解的不确定性,导致算法在早期阶段无法有效地缩小搜索范围,从而影响收敛速度、进而降低解的质量,构造解则有效地规避了这一问题。
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:alns-compare]{}{随机生成和启发式规则构造初始解在迭代过程中的优化结果}{Table $\!$}{\centering Optimization result of initial solutions of random generation and heuristic rule construction in the iterative process}
|
||
\small
|
||
\begin{tabular}{p{0.7cm}<{\centering}p{2cm}<{\centering}p{1.5cm}<{\centering}p{2cm}<{\centering}p{1.5cm}<{\centering}p{2cm}<{\centering}}
|
||
\toprule
|
||
\multirow{2}{*}{PCB} & \multicolumn{2}{c}{HRC + ALNARR} & \multicolumn{2}{c}{RG + ALNARR} & MPGBS-DO \\
|
||
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-6}
|
||
& $\mathcal{T}^{\rm{HRC}}$ (ms) & $\mathcal{G}$ (\%) & $\mathcal{T}^{\rm{RG}}$ (ms) & $\mathcal{G}$ (\%) & $\mathcal{T}$ (ms) \\
|
||
\midrule
|
||
|
||
5-1 & 590.8 & 1.06 & 656.1 & 11.04 & 597.1 \\
|
||
5-2 & 742.8 & 0.16 & 801.7 & 7.93 & 744.0 \\
|
||
5-3 & 916.3 & 2.90 & 941.6 & 2.76 & 942.8 \\
|
||
5-4 & 803.3 & 1.01 & 847.2 & 5.46 & 811.5 \\
|
||
5-5 & 785.8 & 2.98 & 821.3 & 4.51 & 809.2 \\
|
||
5-6 & 783.3 & 1.82 & 808.4 & 3.20 & 797.6 \\
|
||
5-7 & 721.1 & 1.62 & 758.4 & 5.18 & 732.8 \\
|
||
5-8 & 748.2 & 1.82 & 763.6 & 2.06 & 761.8 \\
|
||
5-9 & 724.8 & 3.98 & 735.4 & 1.46 & 753.6 \\
|
||
5-10 & 733.5 & 1.13 & 743.7 & 1.39 & 741.9 \\
|
||
\midrule
|
||
AVG & ~ & 1.85 & ~ & 4.50 & ~ \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
|
||
图\ref{ch4:figure:curve}进一步比较了10组数据的ALNARR搜索过程的收敛曲线。贴片头的任务分配限制了初始解的生成,对于单类元件有较多贴装点的情形,其随机初始解效果远差于构造初始解,进而降低最终解的质量。本章提出的ANLARR具有快速收敛的能力,在有限次迭代内,随机初始解能快速接近构造初始解的值。构造启发式已经获得了质量较高的初始解,自适应搜索过程仍能在此基础上持续优化,获得更优解,且解的质量始终优于随机生成解的迭代结果。
|
||
|
||
\begin{figure}[!htb]
|
||
\centering
|
||
\begin{minipage}{0.32\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-1 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-1}
|
||
\end{minipage}
|
||
\begin{minipage}{0.32\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-2 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-2}
|
||
\end{minipage}
|
||
\begin{minipage}{0.32\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-3 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-3}
|
||
\end{minipage}
|
||
\vspace{2pt}
|
||
\begin{minipage}{0.32\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-4 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-4}
|
||
\end{minipage}
|
||
\begin{minipage}{0.32\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-5 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-5}
|
||
\end{minipage}
|
||
\begin{minipage}{0.32\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-6 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-6}
|
||
\end{minipage}
|
||
\vspace{2pt}
|
||
\begin{minipage}{0.33\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-7 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-7}
|
||
\end{minipage}
|
||
\begin{minipage}{0.33\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-8 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-8}
|
||
\end{minipage}
|
||
\vspace{2pt}
|
||
\begin{minipage}{0.33\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-9 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-9}
|
||
\end{minipage}
|
||
\begin{minipage}{0.33\linewidth}
|
||
\centerline{\includegraphics[width=\textwidth]{chapter4/PCB5-10 Iteration.eps}}
|
||
\vspace{-0.5em}
|
||
\centerline{PCB 5-10}
|
||
\end{minipage}
|
||
\vspace{0.5em}
|
||
\bicaption[ch4:figure:curve]{}{自适应大邻域聚合路径重构随机初始值和构造初始值收敛曲线图}{Fig. $\!$}{\centering Convergence curves of adaptive large neighborhood aggregated route relink with random and constructive initial values}
|
||
\end{figure}
|
||
|
||
基于表\ref{ch4:table:diff-head},表\ref{ch4:table:real-platform}进一步比较了各类贴片头任务-贴装过程路径规划相结合优化得到的解在贴片机平台上的实际组装效率,其中组装时间被转换为了标准的单位芯片/每小时(Chip Per Hour,CPH)。本文提出的贴片头任务分配结果与ALNARR算法相结合,在标准速度测试数据IPC-9850上组装效率指标优于工业优化求解器的组装效率$\mathcal{E}^{\rm{CC}}$,在整体组装效率上相较其平均提升7.72\%。随着问题规划的扩大,电路板贴装元件类型更加复杂,其在组装效率上提升的优势也更加显著。AMIP-GLPH和HGA-PCSGH分别作为数学规划法和(元)启发式算法的代表,二者的组装效率分别记为$\mathcal{E}^{\rm{AG}}$和$\mathcal{E}^{\rm{HP}}$。然而,前者未考虑贴片头的同步拾取,后者则未平衡好贴片头的吸嘴更换与同步拾取,使得其整体组装效率不高,本文提出的方法相较其分别提升39.25\%和23.00\%。CDGA-PASH相对全面的考虑了组装过程,其组装效率记为$\mathcal{E}^{\rm{CP}}$,该算法的输出结果存在不确定性,在处理复杂元件数据时的优化结果并不理想,本文提出的方法相较于其平均提升23.16\%。
|
||
图\ref{ch4:figure:time-comparison}比较了不同优化方法的平均组装效率分布,由图可知,本文提出的算法和工业求解器的结果输出比较稳定,且平均组装效率更高。基于进化算法的优化方法结果输出相对不稳定,而基于数学规划的优化方法对其中影响组装效率的主要因素拾取数考虑不足,在所有的优化方法中组装效率最低。
|
||
从整体上来说,贴片头任务分配优化的目标在组装效率中仍为主要因素,贴装过程路径在其中的影响占比相对较小,本文提出的方法整体效率上优于工业软件和主流研究的优化算法。
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:real-platform]{}{不同贴片头元件分配和贴装过程路径规划算法组合的实际组装效率比较}{Table $\!$}{\centering Comparison of the actual assembly efficiency of different combinations of head task assignment and placement path planning algorithms}
|
||
\small
|
||
\begin{tabular}{p{0.7cm}<{\centering}p{1.5cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}}
|
||
\toprule
|
||
\multirow{2}{*}{PCB} & ALNARR & \multicolumn{2}{c}{CPO-CPSO} & \multicolumn{2}{c}{AMIP-GLPH} & \multicolumn{2}{c}{HGA-PCSGH} & \multicolumn{2}{c}{CDGA-PASH} \\
|
||
\cmidrule(lr){2-2} \cmidrule(lr){3-4} \cmidrule(lr){5-6} \cmidrule(lr){7-8} \cmidrule(lr){9-10}
|
||
& \makecell[c]{$\mathcal{E}^{\rm{ALNARR}}$ \\ (CPH)} & \makecell[c]{ $\mathcal{E}^{\rm{CC}}$ \\ (CPH) } & $\mathcal{G} (\%) $ & \makecell[c]{$\mathcal{E}^{\rm{AG}}$ \\ (CPH)} & $\mathcal{G} (\%) $ & \makecell[c]{$\mathcal{E}^{\rm{HP}}$ \\ (CPH)} & $\mathcal{G} (\%) $ & \makecell[c]{$\mathcal{E}^{\rm{CP}}$ \\ (CPH)} & $\mathcal{G} (\%) $ \\
|
||
\midrule
|
||
5-1 & 12627 & 12604 & 0.19 & 10681 & 18.22 & 7005 & 80.26 & 11733 & 7.62 \\
|
||
5-2 & 11306 & 11255 & 0.45 & 6991 & 61.72 & 7035 & 60.71 & 10673 & 5.93 \\
|
||
5-3 & 16023 & 16003 & 0.12 & 11460 & 39.81 & 14958 & 7.12 & 12462 & 28.57 \\
|
||
5-4 & 14527 & 14648 & -0.82 & 12527 & 15.97 & 13582 & 6.96 & 13115 & 10.77 \\
|
||
5-5 & 15023 & 11716 & 28.23 & 11742 & 27.94 & 14054 & 6.90 & 12917 & 16.30 \\
|
||
5-6 & 15631 & 15799 & -1.06 & 9741 & 60.46 & 15512 & 0.77 & 15034 & 3.97 \\
|
||
5-7 & 15263 & 13022 & 17.21 & 9932 & 53.67 & 12346 & 23.62 & 11372 & 34.21 \\
|
||
5-8 & 13839 & 11627 & 19.02 & 8843 & 56.50 & 10457 & 32.34 & 7556 & 83.15 \\
|
||
5-9 & 13811 & 13059 & 5.76 & 11613 & 18.22 & 13379 & 3.23 & 12764 & 8.20 \\
|
||
5-10 & 13065 & 12087 & 8.09 & -- & -- & 12087 & 8.09 & 9830 & 32.90 \\
|
||
\midrule
|
||
AVG & & & 7.72 & & 39.25 & & 23.00 & & 23.16 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
|
||
|
||
\begin{figure}[!ht]
|
||
\centering
|
||
\includegraphics[scale=0.5]{figures/chapter4/cph-trend-comparison.eps}
|
||
\bicaption[ch4:figure:time-comparison]{}{不同优化方法的平均表面组装效率分布比较}{Fig. $\!$}{\centering Comparison of average surface assembly efficiency distribution of different optimization methods}
|
||
\end{figure}
|
||
|
||
|
||
\subsection{运行效率分析}[Analysis of solving efficiency]
|
||
|
||
最后,本节比较了基于启发式规则和基于邻域搜索的贴装过程路径规划搜索用时,如表\ref{ch4:table:time-compare}所示。相较于已有的路径规划方法,本章提出的MPGBS-DO搜索范围更广、用时更长且获得的解的质量更高,其与ALNARR算法的运算时间仍在可接受范围内。主流研究中的贴装过程路径规划方法虽然搜索速度快,但是解的质量偏低,对贴装过程的考虑不全面。集束搜索过程用时和集束宽度之间存在着正相关关系,其增幅主要取决于不同元件对应的贴装点数。对于前2个数据PCB5-1和5-2,其各类元件对应的贴装点数较多,贴片头可分配贴装点的候选解较多,因而随着集束宽度的增加,其搜索用时也随之迅速增加,限制了集束搜索宽度的进一步扩大。在实际应用中,根据不同类型元件的贴装点数,调整单一贴片头的贴装点分配策略或将同类元件进行分组,将有助于缩短搜索用时。自适应大邻域搜索整体用时较长,可作为在线运行算法在表面组装过程中实时改进优化,进一步提高组装效率。
|
||
|
||
|
||
\begin{table}[H]
|
||
\small
|
||
\centering
|
||
\bicaption[ch4:table:time-compare]{}{基于启发式规则和基于邻域搜索的贴装过程路径规划求解时间}{Table $\!$}{\centering Solving time of path planning for placement process based on heuristic rules and neighborhood search}
|
||
\begin{tabular}{p{1cm}<{\centering}p{1.5cm}<{\centering}p{1.5cm}<{\centering}p{1.5cm}<{\centering}p{1.5cm}<{\centering}p{1.8cm}<{\centering}}
|
||
\toprule
|
||
& \multicolumn{4}{c}{MPGBS-DO} & \multirow{2}{*}{ALNARR} \\
|
||
\cmidrule(lr){2-5}
|
||
PCB & $\beta = 1$ (s)& $\beta = 2$ (s) & $\beta = 3$ (s)& $\beta = 4$ (s) & (s) \\
|
||
\midrule
|
||
5-1 & 5.88 & 23.28 & 46.52 & 75.40 & 57.46 \\
|
||
5-2 & 7.66 & 30.52 & 60.85 & 98.90 & 77.00 \\
|
||
5-3 & 0.50 & 1.96 & 4.02 & 6.47 & 28.96 \\
|
||
5-4 & 2.06 & 8.20 & 16.25 & 26.22 & 51.17 \\
|
||
5-5 & 2.26 & 8.99 & 17.82 & 28.79 & 58.85 \\
|
||
5-6 & 1.44 & 5.89 & 11.71 & 18.89 & 52.18 \\
|
||
5-7 & 0.25 & 0.82 & 1.65 & 2.62 & 40.97 \\
|
||
5-8 & 0.41 & 1.55 & 3.05 & 4.96 & 26.98 \\
|
||
5-9 & 0.51 & 2.12 & 4.16 & 6.70 & 37.23 \\
|
||
5-10 & 0.61 & 2.38 & 4.76 & 7.65 & 26.17 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\section{本章小结}[Summary of this chapter]
|
||
本章研究了适用于表面组装的贴装过程路径规划的启发式算法,结合多轴运动的相关性和移动位置的可变性,提出了基于动态规划的周期内路径规划算法,保证了单个周期路径规划解的最优性。为确定各贴片头分配的贴装点,本章提出了基于多源贪心的动态导向集束路径规划算法,算法以贪心搜索为基础,通过不同的起始点搜索多种解,融合了集束策略并在搜索过程中动态调整搜索方向。为克服贪心式搜索的局限性,本章进一步提出了基于自适应大邻域搜索的聚合路径重构算法,以Metropolis接受准则跳出局部最优解,自适应地调整路径的破坏和修复算子权重,通过重新分配贴片头的贴装点改进解的质量。实验结果表明,多源贪心和动态导向的集束搜索有助于增加搜索解的多样性,进而获得了高质量的路径规划解;
|
||
自适应大邻域路径重构则有效改进了拾贴周期贴装点分配不均的问题,实现了从全局角度对解的持续优化改进。
|