\documentclass[journal,twoside,web]{ieeecolor}
\usepackage{generic}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage[ruled,linesnumbered]{algorithm2e}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{makecell}
\usepackage{rotating}
\usepackage{bbding}
\usepackage{wasysym}
\usepackage{amssymb}
\usepackage[normalem]{ulem}
\usepackage{multirow}
\usepackage{pifont}
\usepackage{color}
\usepackage{ulem}
\usepackage{tabularray}
\usepackage{threeparttable}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[thicklines]{cancel}\usepackage[thicklines]{cancel}
\usepackage{lineno}

\aboverulesep=0pt
\belowrulesep=0pt

% Fix ieeecolor's \caption
\usepackage{etoolbox}
\makeatletter
\@ifundefined{color@begingroup}%
{\let\color@begingroup\relax
	\let\color@endgroup\relax}{}%
\def\fix@ieeecolor@hbox#1{%
	\hbox{\color@begingroup#1\color@endgroup}}
\patchcmd\@makecaption{\hbox}{\fix@ieeecolor@hbox}{}{\FAILED}
\patchcmd\@makecaption{\hbox}{\fix@ieeecolor@hbox}{}{\FAILED}

\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\markboth{\journalname, VOL. XX, NO. XX, XXXX}
{Author \MakeLowercase{\textit{et al.}}: Title}


\begin{document}

\title{A Two-Phase PCBA Optimization with ILP Model and Heuristic for a Beam Head Placement Machine}
\author{Guangyu Lu, \emph{Graduate Student Member, IEEE}, Zhengkai Li, \emph{Member, IEEE}, Hao Sun,  \emph{Member, IEEE}, Xinghu Yu, \emph{Member, IEEE}, Jiahu Qin, Jianbin Qiu, \emph{Fellow, IEEE}, and Huijun Gao, \emph{Fellow, IEEE}
\vspace{-3em}
\thanks{Manuscript received X X, X; revised X X, X; accepted X X, X. Date of publication X X, X; date of current version X X, X. This work was supported in part by the National Natural Science Foundation of China under Grant U20A20188 and Grant 62203141, in part by the Major Scientific and Technological Research Project of Ningbo under Grant 2021Z040, and in part by the New Cornerstone Science Foundation through the XPLORER PRIZE. (Corresponding author: Huijun Gao.)}
\thanks{Guangyu Lu, Jianbin Qiu, and Huijun Gao are with the Research Institute of Intelligent Control and Systems, Harbin Institute of Technology, Harbin 150001, China (e-mail: 20b904007@stu.hit.edu.cn; jbqiu@hit.edu.cn; hjgao@hit.edu.cn).}
\thanks{Zhengkai Li is with the Department of Mathematics and Theories, Peng Cheng Laboratory, Shenzhen 518000, China (e-mail: lizhk@pcl.ac.cn).}
\thanks{Hao Sun is with the Bio-Computing Research Center, Harbin Institute of Technology, Shenzhen 518000, China, and also with the Shenzhen Key Laboratory of Visual Object Detection and Recognition, Shenzhen 518000, China (e-mail: sunhao2021@hit.edu.cn).}
\thanks{Xinghu Yu is with the College of Physics and Optoelectronic Engineering, Shenzhen University, Shenzhen 518060, China, and also with the Ningbo Institute of Intelligent Equipment Technology Co., Ltd., Ningbo 315201, China (e-mail: 17b304003@stu.hit.edu.cn).}
\thanks{Jiahu Qin is with the Department of Automation, University of Science and Technology of China, Hefei 230027, China, and also with the Institute of Artificial Intelligence, Hefei Comprehensive National Science Center, Hefei 230088, China (e-mail: jhqin@ustc.edu.cn).
Color versions of one or more of the figures in this article are available online at http://ieeexplore.ieee.org.}
}


\maketitle
\begin{abstract}
The optimization of printed circuit board assembly (PCBA) for a beam head placement machine is a multivariable and multiconstraint combinatorial problem. Current techniques falter in solving a variety of PCBA problems since heuristic algorithms lack theoretical guarantees of optimality, and mathematical modeling methods have high computational complexity for the whole problem.
This article proposes a novel two-phase optimization for PCBA, integrating the advantages of mathematical modeling with heuristic algorithms.
We divide the problem into the head task assignment and the placement route schedule. For the former, an effective integer linear programming (ILP) model with component partition is proposed, encompassing key efficiency-influencing factors.
A recursive heuristic-based initial solution speeds up the solving convergence, while the reduction strategies enhance model solvability.
For the placement route schedule, a tailored greedy algorithm yields high-quality solutions, leveraging the results of the model, and an aggregated route relink heuristic (ARRH) does further optimization. Additionally, we propose selection criteria for the solution pool of the model to pre-evaluate the placement movement, which builds the connection between the two phases.
Finally, we validate the performance of the two-phase optimization, which provides an average efficiency improvement of 8.06\%$\sim$24.32\% compared to other mainstream research.
\end{abstract}

% \def\abstractname{Note to Practitioners}
% \begin{abstract}
% This article aims to optimize the PCB assembly process for beam-head placement machines. Existing optimization algorithms generally fall short of high computational complexity for exact mathematical models, and it is hard to find satisfactory results for heuristic algorithms. We combine the advantages of the above two methods to maximize assembly efficiency and propose a two-phase optimization framework, which can be applied to the assembly equipment with a mechanical design resembling multiple simultaneously operating heads. The two-phase optimization performs better in search efficiency and solution quality than the industrial optimizer and previously proposed methods. 
% \end{abstract}

\begin{IEEEkeywords}
Beam head placement machine, PCB assembly optimization, head task model, placement route schedule.
\end{IEEEkeywords}

\section{Introduction}
\IEEEPARstart{S}{urface} mount technology is essential to the electronic manufacturing industry. The need for higher efficiency in production lines has become more acute in electronic industries with the expansion of the manufacturing sector. The placement machines utilized to execute automated component surface assembly operations are the most crucial equipment in integrated printed circuit board assembly (PCBA) lines~\cite{ayob_survey_2008}. 
Developing surface assembly equipment is a systematic project involving multiple subjects, including visual recognition and positioning, advanced motion control, scheduling techniques, etc.
In this article, we study the scheduling optimization techniques of the PCBA process using mathematical programming and heuristic algorithms.

% placement machine type
The mechanical design of the beam head placement machines comprises placement heads, feeders, nozzles, and other connected accessories.
They collaborate in three steps of the assembly process: component pickup, inspection, and placement. 
The heads are equipped with appropriate nozzle types for various types of components and are designed for pickup and placement operations.
The components are picked up from feeder slots by linear aligned heads simultaneously and placed in the predetermined PCB pads, which consist of a pick-and-place (PAP) cycle. 
When the nozzle on the head is incompatible with the component type picked up from the feeders, a nozzle change operation is done at the auto nozzle changer. 

Early PCBA optimization research focuses on modeling simple machine types, such as single-head sequential pick-and-place machines~\cite{ho_integrated_2009} and multi-heads for single component type placement machines~\cite{luo_milp_2014}.
The integrated model for PCBA optimization has characteristics that combine the models for several sub-problems. Studies in~\cite{hsu_solving_2022} formulate a model in which the multi-heads case solves component sequencing, feeder assignment, and nozzle assignment simultaneously. In contrast, studies in~\cite{ho_integrated_2009} solve the sub-problems of component sequencing and feeder arrangement as a hierarchical multi-objective optimization problem. 

The high complexity of the problem makes decomposition modeling necessary. As an extension of~\cite{luo_milp_2014} for the multi-heads and multi-component types of case, a two-stage mixed integer programming model is proposed in~\cite{luo_milp_2017} to optimize the nozzle component assignment and assembly route schedule, respectively. 
In~\cite{lu_scan_based_2023}, the problem is decomposed into hierarchical mixed integer pickup and placement models. 
Studies in~\cite{ashayeri_planning_2007} present a problem decomposition approach for component machine allocation and PCB sequence problems, which are modeled separately.
Moreover, a few of the studies model the sub-problems therein, such as the nozzle assignment model in~\cite{raduly-baka_selecting_2008, guo_pcb_2011} and the feeder module change model in~\cite{raduly-baka_tool-feeder_2017}. The edge-based and route-based models have been developed in~\cite{sun_branch-and-price_2007} for placement route schedules, and the branch-and-price method with effective branch rules solves the latter.

A series of techniques are applied in the modeling process to enhance its solvability. Studies in~\cite{geng_mcvrp-based_2019} present a mathematical model based on pickup groups to reduce the scale of the model, whereas studies in~\cite{ashayeri_aggregated_2011} propose an aggregated integer programming based on batches of components. In~\cite{zhu_multi-objective_2018}, an augmented $\varepsilon$ method is proposed to optimize multiple sub-objectives by the curve matching method.

The large space of the solutions leads to the design of improved heuristics~\cite{ayob_optimization_2009}, and mathematical models typically are combined with them for higher computing efficiency.
Hybrid genetic~\cite{sun_component_2005,geng_mcvrp-based_2019,li_cell_2022}, tabu search~\cite{luo_milp_2014,li_pcb_2017}, particle swarm~\cite{hsu_solving_2017}, frog leaping~\cite{hsu_optimization_2020,zhu_improved_2014} and other intelligent optimization algorithms are integrated to the PCBA optimization.
Additionally, multiobjective optimization is also integrated with intelligent optimization; for instance, studies in~\cite{zhu_multi-objective_2018} present a multiobjective particle swarm optimization, and studies in~\cite{torabi_new_2013} integrate intelligent optimization with curve matching techniques.
A cluster-based heuristic is applied to group components based on their properties with single gantry~\cite{li_clustering-based_2019} and dual gantry~\cite{he_adaptive_2018} placement machines to optimize the pick-and-place sequence.

In this article, the proposed two-phase optimization method combines integer linear programming (ILP) models and heuristic algorithms, and its framework is shown in Fig.~\ref{algorithm_flowchart}. In the first phase, we extract the primary objectives of the ILP model for the head task assignment, which is related to the pickup route. A series of techniques are proposed to improve the efficiency of model solving.
To improve the quality of the overall solution, we further select the solutions of the model from the pool of the first phase. As there is insufficient information regarding the points and sequence of heads place, a pre-evaluation heuristic provides a selection criterion based on the estimated assembly path.
In the second phase, we solve the placement route schedule problem of the assembly process using heuristic methods. The combination of mathematical modeling and heuristics ensures the high-quality of the major sub-objectives while taking into account the overall solving efficiency of the algorithms.


\begin{figure}[htbp]
	\centering
	\includegraphics[scale=0.75]{figure/algorithm_flowchart.eps}
	\caption{The framework of two-phase optimization with ILP model and heuristic algorithms.}
	\label{algorithm_flowchart}
\end{figure} 

The main contributions of this article are summarized as follows:
\begin{enumerate}
	\item An effective integer linear model for the PCB assembly process is proposed to optimize the primary sub-objectives of the assembly process. The model pre-processing techniques are studied to improve the search efficiency.
	\item A placement greedy route schedule the linearly aligned heads is proposed for with the constraint of the head task assignment, and the solution is further optimized by a route relink heuristic, which outperforms mainstream methods.
	\item A pre-evaluation selection criterion is present for the one from the solution pool, which overcomes the drawbacks that modeling without movement terms may degrade the quality of the solution.
\end{enumerate}


The rest of this article is organized as follows. 
In Sections~\ref{section_model} and~\ref{section_route_schedule}, respectively, each phase of the proposed framework is discussed.
An ILP model based on the analysis results of the assembly process and its solving techniques is proposed in Section~\ref{section_model}.
The placement route schedule heuristics with determined greedy and random relink heuristic algorithms are present in Section~\ref{section_route_schedule}.
In Section~\ref{section_experiment}, we give the experimental comparative results with a commercial optimizer Gurobi~\cite{gurobi}.
Section~\ref{section_conclusion} concludes this article.

\section{Head task Model Formulation}\label{section_model}

\subsection{PCB Assembly Problem}

The PCBA process comprises several aspects. The pick-and-place operations, nozzle change operations, and movements are the most critical aspects that affect its efficiency.
The mechanism of beam heads is specially designed for simultaneous pickup operations to improve efficiency, whereas the placement operation time is determined by the PCB data.
The heads can assemble different components by changing a compatible nozzle type, but it is time consuming and often discouraged. 
Beam head movements consist of pickup, placement, and round-trip movements between the feeder base and PCB. The number of PAP cycles affects the round-trip movements, and the slots where pickup operations take place affect the pickup movements. 

The nozzle types, component types, and pickup slots are the three basic compositions of the head task assignment. 
We call the consecutive PAP cycles with the same head task assignment as the cycle group.
The objective of the model entails the primary sub-objectives, except for the movements of the gantry, which is optimized by the route schedule method. 
The PCBA process can be regarded as a capacitated vehicle route schedule problem~\cite{geng_mcvrp-based_2019}, with restriction of a head-accessible point set, which proves it is nevertheless a NP-hard problem, and the extra constraints rather increase the difficulty of solving the problem.


The assumptions for the PCBA process are listed below.

\begin{itemize}
	\item The compatibility between the nozzle and component types is predetermined. 
	\item The assembly time of the different types of components is the same, and the capacity of the feeder base is much larger than the requirement.
	\item The interval between adjacent heads is an integer time of the interval between adjacent slots for simultaneous pickup.
	\item The time spent moving to the ANC for nozzle change is included in the nozzle change time, and the number of nozzle types is less than the number of heads.
\end{itemize}

\subsection{Integer Linear Programming Model}
An integer model for the head task assignment is derived based on~\cite{lu_scan_based_2023}, where the components are partitioned into different cycle groups. The notations of the integer model are summarized in Table~\ref{notation_summary_table}.
The objective~\eqref{objective_equation} of the model is the sum of the number of PAP cycles, nozzle changes, and pickup operations with different weights.
\begin{table}
	\caption{Notations Summary of the Mathematical Model}
	\begin{threeparttable}
	\begin{tabular}{p{1.2cm}<{\centering}p{6.7cm}}
		\toprule
		\multicolumn{2}{l}{\textbf{Indices \& Sets}} \\
		 \hline
		 $i \in I $ & index of component type, $I = \left\{1, 2, \cdots \right\}$\\ 
		 $j \in J$ & index of nozzle type, $J = \left\{1, 2, \cdots \right\}$\\
		 $h \in H $ & index of head, $H = \left\{1, 2, \cdots \right\}$\\
		 $p \in P $ & index of placement point, $P = \left\{1, 2, \cdots \right\}$\\
		 $l \in L$ & index of cycle group, $L = \left\{1, 2, \cdots \right\} $  \\
		 $s \in S, S_{e} \tnote{1} $ & index of feeder slot, $S = \left\{1, 2, \cdots \right\}$, and $S_{e} = \left\{ -r \cdot \left( \left| H \right| - 1\right) + 1, \dots, 0, 1, 2, \dots, \left| S \right|\right\}$ \\
		 \hline
		 \multicolumn{2}{l}{\textbf{Parameters}} \\
		 \hline       
		 {$T_1$} & the average moving time of round trip between PCB and feeder base \\
		 {$T_2$} & the average time of nozzle change operation \\
		 {$T_3$} & the average time of pickup operation \\
		 $\zeta_{ip}$ & = 1 if component type $i$ is compatible with placement point $p$, otherwise, $\zeta_{ip}$ = 0 \\
		 $\phi_{i}$ & the number of placement points of component type $i$ \\
		%  $\varphi_{i}$ & the feeder number available of component type $i$\\
		%  $\psi_{j}$ & the number of nozzle type $j$ available\\
		 $r$ & the ratio between the interval of adjacent heads and slots \\
		 $\tau$ & the interval distance between adjacent heads \\
		 $M$ & a sufficiently large positive number. \\
		 \hline
		 \multicolumn{2}{l}{\textbf{Decision Variables}} \\
		 \hline
		 $u_{ihl}$ & $ = 1$ if and only if head $h$ picks up the component type $i$ in cycle group $l$ \\
		 $z_{jhl}$ & $ = 1$ if and only if head $h$ is equipped with nozzle type $j$ in cycle group $l$\\
		 $v_{shl}$ & $ = 1$ if and only if head $h$ picks up component from slot $s$ in cycle group $l$ \\
		%  $c_{ihl}$ & the number of placement points of head $h$ picking up component type $i$ in cycle group $l$ \\
		 $f_{si}$ & $ = 1$ if and only if component type $i$ is arranged on slot $s$ \\
		 $p_{sl}$ & $ = 1$ if and only there are at least one head $h$ picking up components from slot $s + \left(h - 1\right) \cdot r$ whose equivalent slot is $s$.  \\
		 $n_{lh}$ & $ = 1$ if and only if head $h$ changes its equipped nozzle between cycle group $l$ and $l + 1$ \\
		 $w_{l}$ & the number of PAP cycle in cycle group $l$ \\
	\bottomrule		
	\end{tabular}
	
	\begin{tablenotes}
	\footnotesize
	\item[1] The subset $S_e$ refers to the equivalent slots set of aligned slots of the leftmost head when one head pickups component.
	\end{tablenotes}
	\end{threeparttable} 
	
	\label{notation_summary_table}
\end{table}
\begin{equation}
	\begin{aligned}
		{\min T_{1} \cdot \sum_{l \in L}{w}_{l} + T_{2} \cdot \sum_{h \in H} \sum_{l \in L}  n_{lh} + T_{3} \cdot \sum_{s \in S_{e}} \sum_{l \in L} w_{l} \cdot p_{sl}}
	\end{aligned}
	\label{objective_equation}
\end{equation}

The nonlinear term $w_{l} \cdot p_{sl}$ in the objective can be substituted by an intermediate variable $\lambda_{sl}$, {which represents the number of pickups from slot $s$ in cycle group $l$ and} can be linearized with big M method as
\begin{equation}
	\left\{
		\begin{array}{lr}
			\lambda_{sl} \leq M \cdot p_{sl}, &  \\
			\lambda_{sl} \leq w_{l}, & \forall s \in S_{e}, l \in L.\\
			\lambda_{sl} \geq w_{l} - M \cdot \left( 1 - p_{sl} \right), &  
		\end{array}
		\label{linear_objterm_equation}
	\right.
\end{equation}

Constraint~\eqref{placement_point_equation} ensures that the sum of placement points of component type $i$ on all cycle groups equals the number of points on the PCB. 
\begin{equation} % work completion constraint
	\sum_{h \in H} \sum_{l \in L} w_{l} \cdot u_{ihl} = \phi_{i} \quad \forall i \in I
	\label{placement_point_equation}
\end{equation}
The nonlinear term of constraint~\eqref{placement_point_equation} can also be linearized, similar to the linearization of the nonlinear term in the objective function.

Constraints~\eqref{pickup_equation1}--\eqref{pickup_equation2} convert the pickup slot to the leftmost head-aligned one, so that the number of pickup operations in a cycle group can be computed directly. 
\begin{equation}% pickup constraint
	p_{sl} \geq v_{\left[s + \left(h - 1\right) \cdot r\right]hl} \quad \forall{h \in H,s \in S_{e}, l \in L}
	\label{pickup_equation1}
\end{equation}
\begin{equation}% pickup constraint
	\sum_{h \in H} v_{\left[s + \left(h - 1\right) \cdot r\right]hl} \geq p_{sl} \quad \forall{s \in S_{e}, l \in L}
	\label{pickup_equation2}
\end{equation}
% \indent Constraint~\eqref{nozzle_comp_compatible_equation} guarantees the nozzle type and component type are compatible.
% \begin{equation}
	% compatibility constraint
	% u_{ihl} \leq \sum_{j \in J} \xi_{ij} \cdot z_{jhl} \quad \forall i \in I, h \in H, l \in L
	% \label{nozzle_comp_compatible_equation}
% \end{equation}
\indent The number of nozzle changes between cycle group $l$ and $l + 1$ is determined by constraint~\eqref{nozzle_level_equation}. Since the boards take over during the assembly process, we can regard the $\left( \left| L \right| +1\right)$st cycle as the first cycle of the next board.
% nozzle change constraint
\begin{equation}
	n_{lh} = \frac{1}{2} \cdot \sum_{j \in J} \left| z_{jhl} - z_{jh \left( l + 1 \right)} \right| \quad \forall h \in H, l \in L
	\label{nozzle_level_equation}
\end{equation}
\indent The nonlinear term of absolute value can be further linearized as present in~\cite{ashayeri_aggregated_2011}, which is replaced by the sum of two positive terms $n^{+}_{jhl}$ and $n^{-}_{jhl}$ as
\begin{equation}
	\left\{
		\begin{array}{lr}
			n_{lh} = \frac{1}{2} \sum_{j \in J} \left( n^{+}_{jhl} + n^{-}_{jhl} \right), & \\   
			z_{jhl} - z_{jh\left( l + 1\right)} = n^{+}_{jhl} - n^{-}_{jhl}, & \forall j \in J, h \in H, l \in L.\\
			n^{+}_{jhl} \geq 0,  n^{-}_{jhl} \geq 0 &  
		\end{array}
		\label{linear_nzchange_equation}
	\right.
\end{equation}
\indent There is a coupling between the two decision variables $u_{ihl}$ and $v_{shl}$, and the product of the two $\gamma_{ishl}$ determines the feeder assignment as
\begin{equation}
	f_{si} \geq \gamma_{ishl} \quad \forall i \in I, s \in S, h \in H, l \in L
   \label{feeder_assign_equ1}
\end{equation}
\begin{equation}
	\sum_{h \in H} \sum_{l \in L} \gamma_{ishl} \geq f_{si} \quad \forall s \in S, i \in I 
	\label{feeder_assign_equ2}
\end{equation}
with the nonlinear term $\gamma_{ishl} = u_{ihl} \cdot v_{shl}${, which represents whether the head $h$ picks up components $i$ from slot $s$ in cycle group $l$,} is rewritten as
\begin{equation}
	\left\{
		\begin{array}{lr}
			\gamma_{ishl} \leq u_{ihl}, &  \\
			\gamma_{ishl} \leq v_{shl}, & \forall i \in I, s \in S, h \in H,\\
			\gamma_{ishl} \geq u_{ihl} + v_{shl} - 1, &  l \in L.
		\end{array}
		\label{linear_feederassign_equation}
	\right.
\end{equation}
% \indent Constraints~\eqref{comp_feeder_equation} and~\eqref{nozzle_limit_equation} indicate the component feeders assigned to the slot and nozzles equipped on the heads do not exceed the number available, respectively. 
% available number of feeder
% \begin{equation}
	% \sum_{s \in S} f_{si} \leq \varphi_{i} \quad \forall i \in I
	% \label{comp_feeder_equation}
% \end{equation}
% available number of nozzle
% \begin{equation}
	% \sum_{h \in H} z_{jhl} \leq \psi_{j} \quad \forall j \in J, l \in L
	% \label{nozzle_limit_equation}
% \end{equation}

Component assignment determines the pickup slots, and Constraint~\eqref{relation_equation} specifies the relationship between the result of the pickup operation and component assignment. 
\begin{equation}
	\sum_{s \in S} v_{shl} \geq \sum_{i \in I} u_{ihl} \quad \forall h \in H, l \in L
	\label{relation_equation}
\end{equation}
\indent In addition to the above improved constraints, the constraints on tool consistency and compatibility are given in~\cite{lu_scan_based_2023}.

\subsection{Initial Solution with Heuristic Algorithm}

The proposed model solving is a complex computing process in the branch-and-cut framework, and a high-quality initial solution could eliminate the blindness search and speed up convergence to the optimal solution. In the modeling process, the number of cycle groups $\left| L \right|$ is still an uncertain hyperparameter, which has a significant impact on the model complexity and solution quality. An initialized heuristic is proposed to determine both the hyperparameter and initial solutions of the model.

\begin{algorithm}
	\small
 	\caption{Initialized Heuristic for the ILP Model}
	\label{initialize_algorithm}  
 	\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
 	\SetKwProg{Fn}{function}{}{end}
 
	% \Input{component points $\phi$, component nozzle compatibility $\xi$}
	% \Output{component assignment $\mathcal{C}$, workload of cycle group $\mathcal{W}$ and cycle indexes set $L$}
	\Fn{model\_initialize\_solution($\phi, \xi $)}{
	Initialize $L \leftarrow \left\{ 1 \right\}$ and $\mathcal{H}_{j} \leftarrow 1$ for $ {j \in J}$ \;
	\While{$\sum_{j \in J} \mathcal{H}_{j} \neq \left| H \right|$}
	{
    	
		$j^{\prime} \leftarrow {\rm argmax}_{j \in J} \left\{ \sum_{i \in I} \xi_{ij} \cdot \phi_{i} / \mathcal{H}_{j} \right\}$\;
		$\mathcal{H}_{j^{\prime}} \leftarrow \mathcal{H}_{j^{\prime}} + 1$\;
    }
	
	\While{\textbf{true}}
	{
		Let $\mathcal{C}$ be a $\left| L \right| \! \times \! \left| H \right|$ matrix, $\mathcal{W}$ be a $\left| L \right| \! \times \! 1$ matrix\;
		$res \leftarrow recursive \left( \max_{i \in I} \phi_{i}, \phi, 1, L, \mathcal{H}, \mathcal{C}, \mathcal{W} \right)$\;
		\If{res = success}
		{
    		\textbf{break}\;
    	}
		$L \leftarrow L \cup \left\{\left| L \right| + 1 \right\}$\;
    }
	\Return{$\mathcal{C}, \mathcal{W}, L$}
	}
\end{algorithm}

The pseudo-code of the initialized heuristic presented in Algorithm~\ref{initialize_algorithm} consists of two parts. The head nozzle assignment result is determined in the first part (\emph{line} 2$\sim$6), i.e., the number of available heads $\mathcal{H}_{j}$ of nozzle type $j$ under the condition that minimizing the number of cycles without nozzle change.
After that, the algorithm recursively searches for a feasible solution by adding the placement points of the cycle group set $L$ (\emph{line} 7$\sim$14). The heuristic findings workload results $\mathcal{W}_{l}$ and component assignment result $\mathcal{C}_{lh}$ offer the initial solution of the model, i.e., Equation~\eqref{algorithm_1_eq}.
\begin{equation}
	\label{algorithm_1_eq}
	w_{l} = \mathcal{W}_{l}, \quad u_{\mathcal{C}_{lh}hl} = 1 \quad l \in L, h \in H.
\end{equation}

The \emph{recursive} function is implemented as shown in Algorithm~\ref{recursive_algorithm}, which is to iteratively distribute components in a non-decreasing order of points, following the cycle group index. There are three possible cases for the return of the recursive process. Except for \emph{success}, which indicates an initial solution has been found, \emph{fail} indicates that the model is infeasible for the given cycle group $L$, while \emph{backtrack} indicates that the current workload $d$ for cycle group $l$ is unsolvable and another try is executed to distribute a new workload $d-1$.


\begin{algorithm}
	\small
	\caption{Implementation of Function \emph{recursive}}  
	\label{recursive_algorithm}
	\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
	\SetKwProg{Fn}{function}{}{end}

	% \Input{workload $wl$, component points $\phi$, cycle group index $l$, cycle group $L$, nozzle head assignment $\mathcal{H}$, component assignment $\mathcal{C}$ and workload of cycle group $\mathcal{W}$}
	% \Output{component assignment $\mathcal{C}$ and workload of cycle group $\mathcal{W}$}

	\Fn{recursive($d$, $\phi$, l, L, $\mathcal{H}, \mathcal{C}, \mathcal{W}$)}
	{
		\uIf {$l > \left| L \right|$ and $\sum_{i \in I} \phi_{i} = 0$}
		{
			\textbf{return} \emph{success}\;
		}
		\uElseIf{$d \leq 0$ and $l = 1$}
		{
			\textbf{return} \emph{fail}\;
		}
		\ElseIf{$d \leq 0$ or $l > \left| L \right|$}
		{
			\textbf{return} \emph{backtrack}\;
		}

		$\phi^{\prime} \leftarrow \phi$, $\mathcal{H}^{\prime} \leftarrow \mathcal{H}$, $\mathcal{W}_{l} \leftarrow d$, $h \leftarrow 0$\;
		\For {$j \in J$}
		{
			\While{$h \leftarrow h + 1;  \mathcal{H}_{j}^{\prime} > 0$}
			{
				$i^{\prime} \leftarrow {\rm argmin}_{i \in I} \left\{ \phi_{i} \mid \xi_{ij} \cdot \phi_{i} \geq d \right\} $\;

				$\mathcal{C}_{lh} \leftarrow i^{\prime}$, 
				$\phi_{i^{\prime}} \leftarrow \phi_{i^{\prime}} - d$, 
				$\mathcal{H}_{j}^{\prime} \leftarrow \mathcal{H}_{j}^{\prime} - 1$\;
			}
		}
		\emph{res} $\leftarrow$ \emph{recursive}($\max_{i \in I} \phi_{i}, \phi, l + 1, L, \mathcal{H}, \mathcal{C}, \mathcal{W} $)\;
	   
		\uIf {res = success}
		{
			\textbf{return} \emph{success}\;
		}
		\ElseIf{res = backtrack}
		{
			\textbf{return} \emph{recursive}($ d - 1, \phi^{\prime}, l, L, \mathcal{H}, \mathcal{C}, \mathcal{W} $)\;
		}
   }
\end{algorithm}

\subsection{Complexity Reduction Strategies for the Model}

When dealing with actual production data, the high complexity of the model makes it difficult to obtain a high-quality solution in a reasonable time. It's necessary to appropriately reduce the complexity of the model in accordance with the features of PCBA, which focus on two aspects.

\subsubsection{Limit the values of decision variables}
As the feeders are densely arranged in an area of the feeder base, slots farther away from the PCB are always ignored. Only consecutive slots with an equal number of feeders are valid, and we define the leftmost valid slot as the reference slot, which is decided by the component assignment and consists of the following steps.

\textbf{\emph{Step I}} average a weighted sum of the assembly heads for different types of components $i$ with its workload.
\begin{equation}
	\overline{h}_{i} \leftarrow \sum_{l \in L} \sum_{h \in H} \frac{  u_{ihl} \cdot h \cdot w_{l} }{ w_l}.
\end{equation}   

\textbf{\emph{Step II}} convert the $x$ coordinate of all the placement points to the position of the leftmost head and average the value.
\begin{equation}
	\overline{x} \leftarrow  \sum_{p \in P} \frac{ x_{p} - \sum_{i \in I} \zeta_{ip} \cdot \overline{h}_{i} \cdot \tau }{ \left| P \right|}.
\end{equation}  
where $x_p$ and $y_p$ are the \emph{x} coordinate and the \emph{y} coordinate of placement point $p$, respectively.

\textbf{\emph{Step III}} calculate the average number of slots that the heads crossed by for the pickup process in one cycle on the feeder base.
\begin{equation}
	\begin{aligned}
		\Delta s \leftarrow \sum_{l \in L} \frac{\mathcal{R} \left\{ v_{shl} \cdot  \left( s - h \cdot r + r \right) \mid v_{shl} \neq 0, s \in S, h \in H \right\}}{w_l}
	\end{aligned}
\end{equation} 
where $\mathcal{R} \left\{ \cdot \right\}$ denotes the range of the set.

\textbf{\emph{Step IV}} determine the reference slot $s^{\rm REF}$ based on the head pickup range (slots crossed by) and the average placement position of the head.
\begin{equation}
	s^{\rm REF} \leftarrow \lfloor \frac{\overline{x} - s^{\rm F1}}{ \tau } \cdot r + \frac{\Delta s + 1}{2} \rfloor + 1
\end{equation}  
where $s^{\rm F1}$ is the $x$ coordinate of the leftmost slot on the feeder base.
The feeder slot for component type $i$ is computed from the solution of the model and the reference slot position, i.e., $s^{\rm REF} + r \cdot \sum_{s \in S} s \cdot f_{si} $.

\subsubsection{Reduce the range of feasible domains}
The solution space of the model is cut by adding constraints to further improve the solving efficiency. Constraints~\eqref{workload_priority_equation}--\eqref{nozzle_equipped_equation} are {not the necessary condition for model solving and are} utilized to reduce the range of feasible domains further and round out inappropriate solutions ahead of time.

Constraint~\eqref{workload_priority_equation} ensures that the lower cycle group has a higher priority in picking up components with more PAP cycles. 
\begin{equation}
	w_{l} \geq w_{l + 1} \quad \forall l \in L \backslash \left\{ \left | L \right | \right\}
	\label{workload_priority_equation}
\end{equation}

Constraint~\eqref{workload_range_equation} gives the lower bound and upper bound of the number of PAP cycles, where the upper one is given based on the heuristic initialize algorithm.
The heuristic solution $\mathcal{W}_l$ gives the worst case for the number of total PAP cycles without nozzle change, and an optimal case is that all heads divide components equally; two of these cases give the upper bound and lower bound of cycle groups in Constraint~\eqref{workload_range_equation}.
\begin{equation}
	\lceil \sum_{i \in I} \phi_{i} / \left | H \right | \rceil \leq \sum_{l \in L} w_{l} \leq \sum_{l \in L}\mathcal{W}_{l}
	\label{workload_range_equation}
\end{equation}

Constraint~\eqref{nozzle_equipped_equation} presumes that all placement heads have nozzles, even if they do not pick up and position components, which helps to eliminate the unsatisfactory result.
A general case in Constraint~\eqref{nozzle_equipped_equation} is that all heads are not empty, even if they do not pick up any components.
\begin{equation}
	\sum_{h \in H} \sum_{j \in J} z_{jhl} = \left| H \right| \quad \forall{l \in L}
	\label{nozzle_equipped_equation}
\end{equation}

\subsection{Selection Criteria of Solution Pool}

In general, the solution of the model is not unique, and
standard solvers can systematically search for a solution pool- a collection of multiple optimal solutions. 
{ The model determines both the component assignment and feeder arrangement.
However, its objective function does not incorporate the pickup movement, which leads to different pickup paths that have the same objective values. It also does not take into account the layout of the placement points, but its solution limits the set of points that each head can access.}

{As there is insufficient information regarding the points and sequence of heads placed,} we propose a fast pre-evaluation heuristic algorithm for selecting one result from the solution pool. 
The assignment of the head task determines the path of the pickup process as
\begin{equation}
	\begin{aligned}
		E_{1} = \frac{\tau}{r} \sum_{l \in L} w_{l} \cdot \mathcal{R} \left\{ v_{shl} \cdot  \left( s -  h \cdot r + r \right) \mid v_{shl} \neq 0, \right. \\
		\left. s \in S, h \in H \right\}
	\end{aligned}
\end{equation} 

The placement points set for each head is constrained by the component assignment of the model. For the placement process, the first $w_{l}$ points of the component type $\sum_{i \in I}{i \cdot u_{ihl}}$ are assigned to the head $h$, followed by the subsequent $w_l$ points, and so forth. For each head in the cycle group, we implement a route schedule for the centroids of the assigned points, and the length of placement route movement is denoted by $E_2$. Out of all the solutions in the pool, the one with the minimal $E_1 + E_2$ is selected for the next phase of optimization.

\section{Route Schedule Heuristic}\label{section_route_schedule}
The placement route scheduling problem has a wide solution space, and heuristic algorithms based on expertise or rules are appropriate and generally yield satisfactory results. On the basis of the mechanical structure of beam-heads, we propose greedy-based and random route relink heuristics for the placement route schedule.

\subsection{Greedy-Based Route Schedule Heuristic}
The greedy-based route schedule heuristic consists of the following steps.

\textbf{\emph{Step I}} compute the \emph{x} coordinate of left boundary $\alpha$ and right boundary $\beta$ of the PCB and repeat through the \emph{Step II} to \emph{Step VII} with the search step $ \delta = \left( \beta - \alpha \right) / \left( 2 \cdot \left| H \right| \right)$ and three distinct search directions: from left to right (L$\rightarrow$R), from right to left (R$\rightarrow$L), from center to edge (C$\rightarrow$E). 

\textbf{\emph{Step II}} generate the starting point list $ \hat{\mathcal{S}}$ and head list $ \hat{\mathcal{H}} $ - linear sequences based on the search direction. 

{L$\rightarrow$R: $ \hat{\mathcal{S}} = \left\{ \alpha + \left( h - 1 \right) \cdot \delta \mid h \in H \right\} $, $ \hat{\mathcal{H}} = H$.}

{R$\rightarrow$L: $ \hat{\mathcal{S}} = \left\{ \beta - \left( h - 1 \right) \cdot \delta \mid h \in H \right\} $,} {$ \hat{\mathcal{H}} = \left\{ \left| H \right| + 1 - h \right. $ 
$\left. \mid h \in H \right\}$.}

{C$\rightarrow$E: $ \hat{\mathcal{S}} = \left\{ \left(3 \cdot \alpha + \beta \right) / 4 + \left( h - 1\right) \cdot 2 / \delta \mid h \in H \right\} $, $ \hat{\mathcal{H}} = \left\{ \lceil \left| H \right| + 1 / 2 \rceil  - (-1)^h \cdot \left( \lceil h / 2 \rceil - 1 / 2 \right)  - 7/2  \mid h \in H  \right\} $.}

The head list $\hat{\mathcal{H}}$ represents the order in which the different heads are assigned to the search direction.

\textbf{\emph{Step III}} repeat through the cycle index $k \in K$, where $ K = \left\{ 1, 2, \cdots, \sum_{l \in L} w_l \right\}$ and initialize $\mathcal{P}_{k}$ as a $1 \times \left| H \right|$ array with elements of -1, which represents the placement result.

\textbf{\emph{Step IV}} repeat through search direction L$\rightarrow$R, R$\rightarrow$L, C$\rightarrow$E with starting point $\Theta \in \hat{\mathcal{S}} $ and head list $\hat{\mathcal{H}}$.

\textbf{\emph{Step V}} iterate through all the heads $h \in \hat{\mathcal{H}}$. If $h$ is the first one, find the point nearest to the starting point in the horizontal direction,
\begin{equation}
	p \! \leftarrow \! {\rm argmin}_{p^{\prime} \in \left\{ p^{\prime\prime} \mid \iota \left( p^{\prime\prime} \right) = \mathcal{C}_{kh},  p^{\prime\prime} \in P \right\}} \left| x_{p^{\prime\prime}} \! - \! \Delta \tau_{h} \! - \! \Theta \right|
\end{equation}
otherwise, sort the assigned placement points and calculate the moving distance, where $\Delta \tau_{h} = \left( h - 1 \right) \cdot \tau$ and  $\iota \left( p \right)$ is the component type of placement point $p$.
\begin{equation}
	\mathcal{X}_{p} \leftarrow \left\{ x_{\mathcal{P}_{kh^{\prime}}} - \Delta \tau_{h} \mid \mathcal{P}_{kh^{\prime}} \neq 1, h^{\prime} \in H \right\} \cup \left\{ x_{p} \right\}
\end{equation}
\begin{equation}
	\mathcal{Y}_{p} \leftarrow \left\{ y_{\mathcal{P}_{kh^{\prime}}} \mid \mathcal{P}_{kh^{\prime}} \neq 1, h^{\prime} \in H \right\}  \cup \left\{ y_{p} \right\}
\end{equation}
Note $q$ is the index of $\mathcal{X}$ with the $q$th smallest coordinate of $x$ axis, and 
\begin{equation}
	\begin{aligned}
		p \leftarrow {\rm argmin}_{ p^\prime \in \left\{p^{\prime\prime} \mid \iota \left( p^{\prime\prime} \right) = \mathcal{C}_{kh}, p^{\prime\prime} \in P  \right\}}\sum_{q=1}^{\mathcal{X}_{p^{\prime}} - 1} \\ \max \left( \left| \mathcal{X}_{p^{\prime}q} - \mathcal{X}_{p^{\prime}\left( q + 1 \right)} \right|, \left| \mathcal{Y}_{p^{\prime}q} - \mathcal{Y}_{p^{\prime}\left( q + 1 \right)}    \right| \right)
	\end{aligned}
\end{equation}

\textbf{\emph{Step VI}} update the placement assignment result $\mathcal{P}_{kh} \leftarrow p$, $P \leftarrow P \backslash \left\{ p \right\}$, go to \emph{Step V} until  $\mathcal{P}_{kh} \neq - 1, \forall h \in H$. 

\textbf{\emph{Step VII}} dynamic programming for route schedule in each cycle and storing the Chebyshev moving distance. The $x$ coordinate of the center point $\Phi$ equals $\sum_{h \in H} x_{\mathcal{P}_{kh}} / \left| H \right|$ and its $y$ coordinate equals the pickup position of the feeder slot. The transfer equation is written as
\begin{equation}
	\mathcal{F} \left( \Phi, \left\{ \Phi \right\} \right) \leftarrow 0
\end{equation}	 
\begin{equation}
	\begin{aligned}
		\mathcal{F} \left( h, \hat{\mathcal{H}}^{\prime} + \left\{ h \right\} \right) \leftarrow \min_{h^{\prime} \in \hat{\mathcal{H}}^{\prime}} \left\{ \mathcal{F} \left( h^{\prime},  \hat{\mathcal{H}}^{\prime} \right) + g \left(h, h^{\prime} \right) \right\}, \\
		\hat{\mathcal{H}}^{\prime} \subseteq \hat{\mathcal{H}} = H \cup \left\{ \Phi \right\} , h \in H
	\end{aligned}
\end{equation}
if $h \neq \Phi$ and $h^{\prime} \neq \Phi$,
\begin{equation}
	g\left(h, h^{\prime} \right) \! = \! \max \left( \left| x_{\mathcal{P}_{kh}} \! - \! x_{\mathcal{P}_{kh^{\prime}}} \! - \! \Delta \tau_{h\! -\! h^{\prime}} \right|, \left| y_{\mathcal{P}_{kh}} \! - \! y_{\mathcal{P}_{kh^{\prime}}} \right|\right)
\end{equation}
otherwise,
\begin{equation}
	g\left(h, \Phi \right) = \max \left( \left| x_{\mathcal{P}_{kh}} - \Phi_x  - \Delta \tau_h \right|,  \left| y_{\mathcal{P}_{kh}} - \Phi_y \right|\right)
\end{equation}
with final result equals $ \min_{h \in \hat{\mathcal{H}}} \left\{ \mathcal{F} \left( h, \hat{\mathcal{H}} \right) + g \left( h, \Phi \right) \right\}$ . 

{Each head is associated with one placement position, and the sequence in which the heads are placed is solved. The placement sequence pair $\mathcal{Q}$ is formed by arranging the two heads consecutively.}


\textbf{\emph{Step VIII}} compare the total moving distance and get the placement assignment result with the minimal one. 

\begin{algorithm}
	\small
	\caption{The Flow of ARRH Algorithm}  
	\label{route_schedule_algorithm}
	\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
	\SetKwProg{Fn}{function}{}{end}

	\Input{component assignment $\mathcal{C}$, placement assignment $\mathcal{P}$, placement sequence $\mathcal{Q}$}
	\Output{reschedule placement assignment $\widetilde{\mathcal{P}}$ and placement sequence $\widetilde{\mathcal{Q}}$}

	calculate average position $\overline{x}_{k}$, $\overline{y}_{k}$  and moving distance $D_{k}$, $\overline{x}_{k} \leftarrow \sum_{h \in H} x_{\mathcal{P}_{kh}} / \left| H \right|$, $\overline{y}_{k} \leftarrow \sum_{h \in H} y_{\mathcal{P}_{kh}} / \left| H \right|$, $D_{k} \leftarrow \sum_{\left(q_1, q_2\right) \in \mathcal{Q}_{k}} \max \left( \left| x_{\mathcal{P}_{kq_1}} - x_{\mathcal{P}_{kq_2}} \right|, \left| y_{\mathcal{P}_{kq_1}} - y_{\mathcal{P}_{kq_2}} \right| \right)$ in each cycle $k$, $k \in K = \left\{ 1,2,\cdots, \sum_{l \in L} w_l \right\}$\;

	$\widetilde{\mathcal{P}} \leftarrow \mathcal{P}$, $\widetilde{\mathcal{Q}} \leftarrow \mathcal{Q}$ \;
	\While {the terminated time has not been reached}
	{
		$ p_r \leftarrow \mathcal{P}_{k_r h_r}$ where $k_r \leftarrow $ \emph{random}$_{k \in K} \left( D_{k} \right)$, 		
		$ h_r {\leftarrow} $ \emph{random}$_{h \in H}\left( \! \max \left(  \left| x_{ \mathcal{P}_{k_r h} } \!  - \!  \overline{x}_{k_r}  \right|, \left| y_{ \mathcal{P}_{k_r h} } \! - \! \overline{y}_{k_r}  \right| \right) \! \right) $ \;
		
		$k_{c} \! \leftarrow \! {\rm argmin}_{k^{\prime} \in K, k^{\prime} \neq k_r} \max \left( \left| x_{p_r} \! - \! \overline{x}_{k^{\prime}} \right|, \left| y_{p_r} \! - \! \overline{y}_{k^{\prime}} \right| \right)$ \;
		\For {$h \in H$}
		{
			$\overline{x} \leftarrow \frac{ x_{p_{r}} -  x_{\mathcal{P}_{k_{r} h}} }{ \left| H \right|} + \overline{x}_{k}, \overline{y} \leftarrow \frac{y_{p_{r}} - y_{\mathcal{P}_{k_r h}}}{\left| H \right|} + \overline{y}_{k} $\;

			$u_{h} \leftarrow \max \left( \left| x_{p_r} - \overline{x} \right|, \left| y_{p_r} - \overline{y} \right| \right)$ \;

			\lForEach{$h^{\prime} \in H \backslash \left\{ h \right\} $}{$u_h \leftarrow u_h + \max \left( \left| x_{\mathcal{P}_{k_r h^{\prime}}} - \overline{x} \right|, \left| y_{\mathcal{P}_{k_r h^{\prime}}} - \overline{y} \right| \right)  $}
		}
		$h_{c} \leftarrow {\rm argmin}_{h \in \left\{ h^{\prime} \mid \iota \left( p_{r} \right) = \iota \left( \mathcal{P}_{k_{c}h^{\prime}} \right), h^{\prime} \in H  \right\} } u_{h}$, $ p_{c} \leftarrow \mathcal{P}_{k_{c}h_{c}}$ \;

		$\mathcal{P}_{k_c h_c} \leftarrow p_r$,  $\mathcal{P}_{k_r h_r} \leftarrow p_c$ \; 
		
		$D^{\prime}_{k_{c}}, \mathcal{Q}_{k_c} \leftarrow$ \emph{cycle\_schedule} $\left( \mathcal{P}_{k_{c}}\right)$ ,
		$D^{\prime}_{k_{r}}, \mathcal{Q}_{k_r} \leftarrow$ \emph{cycle\_schedule} $\left( \mathcal{P}_{k_{r}}\right)$ \;

		\uIf {$D_{k_{r}} + D_{k_{c}} > D^{\prime}_{k_{r}} + D^{\prime}_{k_{c}} $}
		{
			$\widetilde{\mathcal{P}} \leftarrow \mathcal{P}$, $\widetilde{\mathcal{Q}} \leftarrow \mathcal{Q}$, $D_{k_{r}} \leftarrow D^{\prime}_{k_{r}}$, $D_{k_{c}} \leftarrow D^{\prime}_{k_{c}} $\;

			$\overline{x}_{k_c} \! \leftarrow \! \frac{x_{p_c} - x_{\mathcal{P}_{k_c h_c}}}{\left| H \right|} + \overline{x}_{k_c}, \overline{y}_{k_c} \! \leftarrow \! \frac{y_{p_c} - y_{\mathcal{P}_{k_c h_c}}}{\left| H \right|} + \overline{y}_{k_c}$,

			$\overline{x}_{k_r} \! \leftarrow \! \frac{x_{p_{r}} - x_{\mathcal{P}_{k_r h_r}}}{\left| H \right|} + \overline{x}_{k_r}, \overline{y}_{k_r} \! \leftarrow \! \frac{y_{p_r} - y_{\mathcal{P}_{k_r h_r}}}{\left| H \right|} + \overline{y}_{k_r}$
		}
		\Else
		{
			$\mathcal{P} \leftarrow \widetilde{\mathcal{P}}$, $\mathcal{Q} \leftarrow \widetilde{\mathcal{Q}}$ \;
		}
	}
\end{algorithm}

\subsection{Aggregated Route Relink Heuristic}
An aggregated route relink heuristic (ARRH) is proposed for the placement route improvement, and its flow is shown in Algorithm~\ref{route_schedule_algorithm}. 
The primary principle of the algorithm is to reallocate the off-center points in each cycle. 
The design of the algorithm is based on the average position and moving distance in each cycle (\emph{line} 1). 
The cycle and its corresponding off-center point are determined based on the moving distance and offset, respectively (\emph{line} 4). The swapping cycle, which is nearest to the former off-center point, and the swapping point are further determined (\emph{line} 5$\sim$11). After performing the relink operation (\emph{line} 12), the distribution of the cycle can be more concentrated. The proposed \emph{cycle\_schedule} relinks the placement routes with a plain idea for search faster: sorting the placement points non-decreasingly w.r.t. coordinate of $x$ axis and allocating them on the head from left to right.

\begin{figure}[htbp]
	\centering
	\includegraphics[scale=0.4]{figure/platform.eps}
	\caption{The experimental platform of a placement machine.}
	\label{experimental_platform}
\end{figure} 


\section{Experiment Result}\label{section_experiment}

\subsection{Experiment Setup}

This article solves the model using Gurobi 10.0 and Python 3.10 on the Intel(R) Core(TM) i5-11400 @2.60GHz with 16G RAM. Five times of runs are implemented with each PCB, and the average values are recorded as the comparative metrics.
The proposed two-phase PCBA optimization~(TPPO) is compared with four representative decomposition-based algorithms, including 
a component placer optimizer~(CPO) employed in industrial software, hybrid genetic algorithm~(HGA)~\cite{geng_mcvrp-based_2019}, aggregated model (AGM)~\cite{ashayeri_aggregated_2011} and cell division genetic algorithm~(CDGA)~\cite{li_cell_2022}. The experimental platform of a self-developed placement machine is shown in Fig.~\ref{experimental_platform}.



\begin{table}
	\caption{Basic parameters of the PCB data}
	\label{pcb_parameter_label}
	\begin{tabular}{p{0.8cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}p{0.3cm}<{\centering}}
		\toprule 
		PCB  & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
		\hline
		 $\left| N \right|$ & 1 & 1 & 1 & 2 & 2 & 3 & 2 & 3 & 3 & 4 \\
		 $\left| C \right|$ & 1 & 2 & 3 & 4 & 5 & 5 & 6 & 7 & 8 & 10 \\
		 $\left| P \right|$ & 400 & 216 & 288 & 352 & 432 & 384 & 336 & 198 & 170 & 196  \\
		\bottomrule		
	\end{tabular}
\end{table}

In Table~\ref{pcb_parameter_label}, which lists the basic parameters of the PCB data, we select ten different PCB data; among them, the first one is an international standard speed test data IPC9850; the second to the fifth data with relatively fewer component types and randomly generated placement points are applied to test the generalization of the algorithm; the last five are selected from the actual industrial sites, to validate the application of the algorithm in practice.

\begin{table}
	\centering
	\caption{The parameter setting of the two-phase algorithm}
	\label{algorithm_parameter}
	\begin{tabular}{p{0.6cm}<{\centering}|p{3.2cm}<{\centering}|p{3.2cm}<{\centering}}
		\toprule 
		Phase & Parameter & Setting \\
		\hline
		\multirow{5}*{\shortstack{I}}& Coefficient {$T_1 \ | \ T_2 \ | \ T_3 $}  & $2 \ | \ 3 \ |\ 2$ \\
		& {Big-M value} & {$\left| P \right|$}\\
		& Pool search mode & Find multiple solutions\\
		& Pool solution & 30 \\
		& Pool gap & $10^{-4}$ \\
		& Terminated condition & Unchanged in 30 seconds \\
		\hline
		\multirow{3}*{\shortstack{II}}& Search step & $\mathcal{R} \left( \left\{ x_{p} | p \in P \right\} \right) / \left| H \right|$ \\
		& Selection method & Roulette wheel \\
		& Terminated time (sec) & 10 \\
		\bottomrule		
	\end{tabular}
\end{table}

The parameter settings of the proposed algorithm are list{ed} in Table~\ref{algorithm_parameter}. 
{In the first phase, we set the pool parameters and search mode, as well as the coefficients of the model based on the metrics' impact on assembly efficiency. We specify the following as the termination condition of the model-solving process because it takes a long time to solve the model completely: the currently optimal solution has not changed for more than 30 seconds. The big M value for linearization equals the number of placement points. The search mode is set to prioritize the 30 best solutions within the gap of $10^{-4}$. In the second phase, the search step is dependent on the PCB layout, and the route roulette wheel is chosen for the random search of route relink with the upper 10 seconds.}

\begin{figure}[htbp]
	\centering
	\includegraphics[scale=0.35]{figure/cycle_pick_nozzle_figure.eps}
	\caption{The histogram of the sub-objectives comparison between the proposed model and other mainstream algorithms.}
	\label{cycle_pick_nozzle_figure_fig}
\end{figure} 

\subsection{Comparative Experiments}
The sub-objectives of the PCBA process, which include the number of cycles, nozzle changes, and pickup operations, with the comparative histogram is shown in Fig.~\ref{cycle_pick_nozzle_figure_fig}. It can be seen the TPPO is more comprehensive than conventional approaches. The cycle scheduling difficulties are better handled by TPPO, AGM, and CPO, whereas evolutionary-based CDGA and HGA typically have more PAP cycles. AGM and HGA forbid changing the nozzle, which prevents some of the simultaneous pickup operations from being carried out and lowers the overall efficiency. Both TPPO and AGM are model based algorithms; however, the former takes into account the mechanical characteristics and has a greater pickup efficiency. 
{Table~\ref{objective_comparison_table} shows more general and comparable results of Z-values for weighted sub-objectives that are directly related to assembly efficiency. It can be seen that when dealing with a single type of component data (PCB1), TPPO, CPO, and AGM perform equally well. As the PCB becomes more complicated with more component types, the TPPO outperforms other mainstream algorithms, and there is also a tendency to increase gaps between the proposed algorithm and other research.}


Three test cases  (TCs) are constructed to compare the solving efficiency for different model settings in Table~\ref{test_case_table}. 
We call the model with component partition, complexity reduction strategies as the improved model and the model without the proposed techniques as the original model. 
We utilize the known optimal solution as a benchmark since it is hard to find the optimal one to a NP hard problem for all PCBs.
The benchmark value $\mathcal{O}_{b}$ of PCB1$\sim$PCB3 are the optimal result for solving the original model. 
As the size of the data increases, the original model cannot find an optimal solution in an acceptable time. The solutions of PCB4$\sim$PCB10 are obtained after solving the proposed model with a sufficient amount of time (at least 6 hours) and without the terminated conditions, which are also the best results from the proposed and comparative methods.

The test cases follow the settings: TC-1 represents the solution of the improved model; TC-2 represents the solution of the improved model without the initial solution; and TC-3 represents the solution of the improved model without the complexity reduction strategies. The formula for the test case $t$'s gap is  $\mathcal{G}_{t} = \left(\mathcal{O}_{t} / \mathcal{O}_{b} - 1\right) \cdot 100 \%$, $t=1,2,3 $. As can be shown, the improved model's highest gap from the benchmark is 11.22\%. The model-solving process can be quickly iterated with the aid of the initial solution, and under the terminated condition, the feasible solutions for PCB9 and PCB10 are not even attainable. Even though, theoretically, TC-3 could achieve better solutions, the model iterates more slowly in practice and has a larger gap than the improved model under the terminated condition.

\begin{table}
	\caption{Comparison of the objectives' Z value of the proposed model with mainstream algorithms}
	\label{objective_comparison_table}
	\begin{tabular}{p{0.8cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}p{1cm}<{\centering}}
		\toprule 
		PCB & TPPO & CPO & HGA & AGM & CDGA   \\ 
		\hline 
		1 & \textbf{-0.448} & \textbf{-0.448} & 1.789 &\textbf{-0.448} & -0.446   \\  
		2 & \textbf{-0.845} & -0.679 & 1.650 & 0.153 & -0.279   \\  
		3 & \textbf{-1.089} & \textbf{-1.089} & 0.677 & 0.603 & 0.898   \\  
		4 & \textbf{-0.864} & -0.318 & \textbf{-0.864} & 1.420 & 0.625   \\  
		5 & \textbf{-0.942} & 0.211 & \textbf{-0.942} & 1.461 & 0.211   \\  
		6 & \textbf{-0.996} & 1.208 & -0.840 & 0.883 & -0.254 \\ 
		7 & \textbf{-0.527} & -0.370 & \textbf{-0.527} & 1.783 & -0.360 \\  
		8 & \textbf{-1.470} & -0.104 & 0.238 & 1.331 & 0.005 \\  
		9 & \textbf{-1.100} & -0.936 & 0.763 & 1.147 & 0.127 \\  
		10 & \textbf{-0.715} & -0.431 & -0.293 & 1.764 & -0.325 \\  	 
		 \hline
		AVG & \textbf{-0.900} & -0.295 & 0.165 & 1.010 & 0.020   \\   
	\bottomrule		
	\end{tabular}
\end{table}

\begin{table}
	\renewcommand\arraystretch{1.3}
	\caption{Comparison of the model objective value FOR different test cases}
	\label{test_case_table}
	\begin{tabular}{p{0.6cm}<{\centering}|p{0.25cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}
		p{0.3cm}<{\centering}}
	\toprule 
	 & PCB & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
	\hline
	BASE & $\mathcal{O}_{b}$ & 934 & 312 & 336 & 396 & 432 & 390 & 288 & 158 & 164 & 196 \\
	\hline
	\multirow{2}*{TC-1} & $\mathcal{O}_{1}$ & 934 & 312 & 336 & 396 & 432 & 390 & 288 & 158 & 168 & 218 \\
	& $\mathcal{G}_{1}$ & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 2.44 & 11.22 \\
	\hline
	\multirow{2}*{TC-2} & $\mathcal{O}_{2}$ & 934 & 312 & 336 & 396 & 432 & 390 & 288 & 162 & - & - \\
	& $\mathcal{G}_{2}$ & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 2.53 & - & - \\
	\hline
	\multirow{2}*{TC-3} & $\mathcal{O}_{3}$ & 934 & 312 & 336 & 396 & 432 & 390 & 288 & 172 & 192 & 220 \\
	& $\mathcal{G}_{3}$ & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 0.00 & 8.86 & 17.07 & 12.24 \\
	\bottomrule		
	\end{tabular}
\end{table}

\begin{table*}
	\renewcommand\arraystretch{1.3}
	\caption{Comparison of the route schedule and assembly time of the proposed heuristic with mainstream algorithms}
	\label{placement_route_table}
	\begin{tabular}{
	p{0.4cm}<{\centering}
	p{0.8cm}<{\centering}p{0.75cm}<{\centering}p{0.75cm}<{\centering}
	p{0.8cm}<{\centering}p{0.75cm}<{\centering}p{0.6cm}<{\centering}
	p{0.8cm}<{\centering}p{0.75cm}<{\centering}p{0.6cm}<{\centering}
	p{0.8cm}<{\centering}p{0.75cm}<{\centering}p{0.6cm}<{\centering}
	p{0.85cm}<{\centering}p{0.75cm}<{\centering}p{0.6cm}<{\centering}}
	\toprule 
	\multirow{2}*{PCB}  & \multicolumn{3}{c}{TPPO} &  \multicolumn{3}{c}{CPO} & \multicolumn{3}{c}{HGA} & \multicolumn{3}{c}{AGM} & \multicolumn{3}{c}{CDGA} \\ 
	\cmidrule(lr){2-4} \cmidrule(lr){5-7} \cmidrule(lr){8-10} \cmidrule(lr){11-13} \cmidrule(lr){14-16}
	& $\mathcal{D}_1^T$ & $\mathcal{D}_2^T$ & $\mathcal{T}^T$ & $\mathcal{D}^P$ & $\mathcal{T}^P$ &  $\Delta \mathcal{T}^P$ & $\mathcal{D}^H$  & $\mathcal{T}^H$ & $\Delta \mathcal{T}^H$  & $\mathcal{D}^A$ & $\mathcal{T}^A$ & $\Delta \mathcal{T}^A$ & $\mathcal{D}^C$ & $\mathcal{T}^C$  & $\Delta \mathcal{T}^C$ \\
	\hline
	1 & 34793.6 & \textbf{34676.1} & 114.63 
	  & 35063.0 & \textbf{114.25} & -0.33
	  & 131457.9 & 205.57 & 79.34
	  & 45110.9 & 134.82 & 17.62 
	  & 35865.9 & 122.73 & 7.07        \\
	2 & 20304.0 & \textbf{20059.8} & \textbf{52.99} 
	  & 20207.5 & 53.31 & -0.60
	  & 44652.9 & 75.33 & 41.29
	  & 25808.2 & 61.40 & 15.16
	  & 25711.8 & 59.09 & 10.84        \\
	3 & 28652.0 & 28390.1 & 66.69 
	  & \textbf{27127.4} & \textbf{65.57} & -1.68
	  & 40722.4 & 80.88 & 21.29
	  & 35627.2 & 76.89 & 15.29
	  & 39437.7 & 77.29 & 15.90        \\
	4 & 36825.0 & 36690.1 & \textbf{82.02} 
	  & \textbf{35870.2} & 86.51 & 5.47  
	  & 48292.8 & 93.30  & 13.76
	  & 52397.8 & 101.16 & 23.34
	  & 43012.9 & 96.62 & 17.81         \\
	5 & 40952.0 & \textbf{40707.8} & \textbf{95.83} 
	  & 44026.4 & 100.20 & 4.56
	  & 56680.0 & 109.98 & 14.77 
	  & 55825.1 & 114.75 & 19.74 
	  & 58445.3 & 109.31 & 14.07      \\
	6 & 39096.8 & \textbf{38905.2} & \textbf{90.68}
	  & 41211.0 & 118.00 & 30.12
	  & 46366.5 & 98.36  & 8.47 
	  & 55493.9 & 117.73 & 29.84 
	  & 54717.3 & 107.02 & 18.03       \\
	7 & 33676.7 & 33277.2 & \textbf{72.97} 
	  & \textbf{32253.8} & 76.56 & 4.92
	  & 35640.9 & 77.98  & 6.87 
	  & 52810.7 & 124.17 & 56.46 
	  & 42133.4 & 80.46 & 10.27       \\
	8 & 19799.6 & \textbf{19662.2} & \textbf{45.97} 
	  & 25177.6 & 51.31 & 11.62
	  & 25745.5 & 49.78 & 8.30
	  & 27170.6 & 49.85  & 8.45 
	  & 24533.2 & 52.35 & 13.88    \\
	9 & 19938.4 & \textbf{19535.4} & \textbf{41.31} 
	  & 21142.5 & 53.81 & 30.26
	  & 23629.5 & 46.00 & 11.35 
	  & 23376.5 & 48.49  & 17.38
	  & 23444.1 & 49.29 & 19.31    \\
	10 & 26024.8 & 25814.3 & 52.82
	  & 25959.3 & 54.03 & 2.29
	  & \textbf{25563.6} & \textbf{52.74} & -0.15 
	  & 30795.8 & 60.76  & 15.03
	  & 26433.5 & 55.28 & -0.15    \\
	\hline
	AVG  & 30006.3 & \textbf{29771.8} & \textbf{71.59}
	& 30803.9 & 77.36 & 8.06 
	& 47875.2 & 88.99 & 24.31
	& 40441.7 & 89.00 & 24.32
	& 37373.5 & 80.94 & 13.06\\
	\bottomrule		
	\end{tabular}
\end{table*}

\begin{table}
	\caption{Comparison of the solving time of the proposed model with mainstream algorithms}
	\label{time_comparison_table}
	\begin{tabular}{
		p{0.25cm}<{\centering}
		p{0.5cm}<{\centering}p{0.5cm}<{\centering}p{0.5cm}<{\centering}p{0.6cm}<{\centering}|
		p{0.25cm}<{\centering}
		p{0.5cm}<{\centering}p{0.5cm}<{\centering}p{0.5cm}<{\centering}p{0.6cm}<{\centering}}
		\toprule 
		PCB & TPPO & HGA & AGM  & CDGA & PCB & TPPO & HGA  & AGM &  CDGA \\ 
		\hline 
		1 & 0.4 & 138.2 & 0.3 & - & 
		6 & 34.7 & 264.2 & 0.5 & 30.1 \\  
		2 & 4.2 & 218.2 & 0.2 & 41.0 & 
		7 & 32.0 & 94.2 & 1.1 & 30.1 \\  
		3 & 15.9 & 373.0 & 0.2 & 35.7 & 
		8 & 67.6 & 88.0 & 0.9 & 20.1 \\  
		4 & 31.5 & 134.6 & 0.3 & 36.8 & 
		9 & 46.4 & 158.9 & 0.4 & 23.0  \\  
		5 & 31.5 & 172.8 & 0.4 & 33.5 & 
		10 & 95.3 & 153.9 & 1.2 & 27.0 \\  
	\bottomrule		
	\end{tabular}
\end{table}

% === Placement route comparison ===
The movement distance and assembly time are compared next, as shown in Table~\ref{placement_route_table}. The notation $\mathcal{D}$ and $\mathcal{T}$ represent the moving distance and assembly time, while the superscripts $T$, $P$, $H$, $A$, and $C$ represent the TPPO, CPO, HGA, AGM, and CDGA, respectively. $\Delta \mathcal{D}$ and $\Delta \mathcal{T}$ correspond to the improvement rates of $\mathcal{D}$ and $\mathcal{T}$, respectively, relative to TPPO comparing with other research. $\mathcal{D}^{T}_{1}$ and $\mathcal{D}^{T}_{2}$ represent the moving distance without and with route relink heuristic. 
Since the route relink heuristic mainly adjusts the placement movement that makes up a small portion of the whole, it does not result in a high improvement in the overall movement. 
For the TPPO method, the assembly process can be more effective with fewer pickups and nozzle changes, even without the shortest movement distance for PCB3, PCB4, and PCB7.
Compared to CPO, CDGA, AGM, and HGA, the proposed method improves by 8.06\%, 13.06\%, 24.32\%, and 24.31\% in assembly efficiency, respectively. 

Lastly, we compare the solving time. CPO is not included in the comparison since the specific algorithm has not been disclosed. As shown in Table~\ref{time_comparison_table}, compared with the TPPO, we can conclude that the component partition is an effective way to improve the search efficiency. 
The model without component partition can only be applied in solving small-scale data; for PCB1$\sim$PCB3, the solving time is 21.41, 70.18, and 193.23 seconds, respectively, which is much larger than the proposed model. As a modeling method, TPPO is solved longer because of the inclusion of pickup constraints compared to AGM, but it is significantly faster than HGA excepted PCB10. 
Even though it requires more time for TPPO, its assembly efficiency is higher, and the time is within an acceptable amount. 

\section{Conclusion}\label{section_conclusion}

This article presented a two-phase optimization approach for handling the head task assignment and placement route schedule {after breaking the PCBA process down into two parts.}
{By optimizing the primary sub-objectives at the modeling phase and developing heuristic algorithms at the route schedule phase, the two-phase framework combined the advantages of both mathematical model and heuristic algorithms. 
We compared the weighted sub-objective, which was related to the overall assembly efficiency, with both heuristic-based and model-based algorithms. 
The results showed that the proposed algorithms are more thorough than previous research.
A series of specialized test cases validated the necessity of the pre-processing technique, including the component partition approach, initial heuristic, and reduction strategies, to solve the model.}
Furthermore, we compared the moving distance and assembly time with other research. Although the placement path of our proposed algorithms was not the shortest for some PCB data, it improved the assembly efficiency because of the optimization in the first phase.
{The solving time of the two-phase algorithm was within acceptable bounds, even though it was not faster than all the compared algorithms because we took more factors into account and searched a greater domain. Overall, the experimental results showed that the proposed two-phase optimization effectively solves PCBA problems, balancing the quality of the solution and computational cost.}

% Future research can focus on the mathematical model; while the model has been enhanced in terms of completeness, there is still opportunity for improvement in terms of solving efficiency. How to generate the initial solutions by utilizing the structural characteristics of the route schedule problem and designing a better local search strategy can be further developed by other practitioners. Finally, different problem decoupling methodologies are expected to be thoroughly researched. 

\bibliographystyle{IEEEtran}
\bibliography{Bibliography/BIB_xx-TII-xxxx}



\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Guangyu_Lu.jpg}}]{Guangyu Lu} (Graduate Student Member) was born in Taiyuan, China, in 1996. He received the B.E. degree in automation from Dalian Maritime University, Dalian, China, in 2015. He is currently working toward the Ph.D. degree in control science and engineering with the Harbin Institute of Technology, Harbin, China. 
	
His current research interests include production scheduling and combinatorial optimization.
\end{IEEEbiography}

\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Zhengkai_Li.eps}}]{Zhengkai Li} (Member, IEEE) was born in Jinan, China, in 1991. He received the B.E. degree in detection, guidance, and control technology and the M.E. degree in control engineering from Northwestern Polytechnical University, Xi’an, China, in 2013 and 2016, respectively. He also received the Ph.D. degree in control science and engineering from the Harbin Institute of Technology, Harbin, China, in 2022. 
	
He is currently carrying out his postdoctoral research with the Department of Mathematics and Theories, Peng Cheng Laboratory, Shenzhen, China. His current research interests include scheduling and systems optimization. 
\end{IEEEbiography}

\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Hao_Sun.eps}}]{Hao Sun} (Member, IEEE) received the B.E. degree in automation from the Shandong University of Science and Technology, Qingdao, China, in 2011, and the M.S. degree in control theory and engineering and the Ph.D. degree in control theory and engineering from the Harbin Institute of Technology, Harbin, China, in 2013 and 2020, respectively. 
	
His research interests include image processing, computer vision, pattern recognition, machine learning, and visual servo. Dr. Sun is currently carrying out his postdoctoral research with the School of Computer Science and Technology, Harbin Institute of Technology, Shenzhen, China.
\end{IEEEbiography}


\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Xinghu_Yu.eps}}]{Xinghu Yu} (Member, IEEE) was born in Yantai, China, in 1988. He received the M.M. degree in osteopathic medicine from Jinzhou Medical University, Jinzhou, China, in 2016, and the Ph.D. degree in control science and engineering from the Harbin Institute of Technology, Harbin, China, in 2020. 
	
He is currently the Chief Executive Officer with the Ningbo Institute of Intelligent Equipment Technology Co., Ltd., Ningbo, China. He has authored more than 30 technical papers for refereed international journals and conference proceedings, including IEEE transactions journals, and holds more than 20 invention patents. His research interests include advanced control, intelligent systems, and biomedical image processing.
\end{IEEEbiography}


\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Jiahu_Qin.eps}}]{Jiahu Qin} received the first Ph.D. degree in control science and engineering from Harbin Institute of Technology, Harbin, China, in 2012 and the second Ph.D. degree in systems and control from The Australian National University, Canberra, ACT, Australia, in 2014. 
	
He is currently a Professor with the Department of Automation, University of Science and Technology of China, Hefei, China. His current research interests include networked control systems, autonomous intelligent systems, and human-robot interaction.
\end{IEEEbiography}


\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Jianbin_Qiu.eps}}]{Jianbin Qiu} (Fellow, IEEE) received the B.Eng. and Ph.D. degrees in Mechanical and Electrical Engineering from the University of Science and Technology of China, Hefei, China, in 2004 and 2009, respectively. He also received the Ph.D. degree in Mechatronics Engineering from the City University of Hong Kong, Kowloon, Hong Kong, in 2009.

He is currently a Full Professor at the School of Astronautics, Harbin Institute of Technology, Harbin, China. He was an Alexander von Humboldt Research Fellow at the Institute for Automatic Control and Complex Systems, University of Duisburg-Essen, Duisburg, Germany. His current research interests include intelligent and hybrid control systems, signal processing, and robotics.

Prof. Qiu is a Fellow of IEEE and serves as the chair of the IEEE Industrial Electronics Society Harbin Chapter, China. He is an Associate Editor of IEEE Transactions on Fuzzy Systems, IEEE Transactions on Cybernetics, and IEEE Transactions on Industrial Informatics.
\end{IEEEbiography}


\begin{IEEEbiography}[{\includegraphics[width=1in,height=1.25in,keepaspectratio]{author/Huijun_Gao.eps}}]{Huijun Gao} (Fellow, IEEE) received the Ph.D. degree in control science and engineering from the Harbin Institute of Technology, Harbin, China, in 2005. 
	
From 2005 to 2007, he was Postdoctoral Researcher with the Department of Electrical and Computer Engineering, University of Alberta, Edmonton, AB, Canada. Since 2004, he has been with the Harbin Institute of Technology, where he is currently a Chair Professor and the Director of the Research Institute of Intelligent Control and Systems. His research interests include intelligent and robust control, robotics, mechatronics, and their engineering applications. 

Dr. Gao is currently a Member of Academia Europaea and a Distinguished Lecturer of the IEEE Systems, Man and Cybernetics Society. He is also the Vice President of the IEEE Industrial Electronics Society and a Council Member of the International Federation of Automatic Control (IFAC). He is or was the Editor-in-Chief of the IEEE/ASME TRANSACTIONS ON MECHATRONICS, the Co-Editor-in-Chief of the IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, and an Associate Editor for the Automatica, IEEE TRANSACTIONS ON CYBERNETICS, and IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS.
\end{IEEEbiography}

\end{document}



