Abstract

Optimizing all the objectives of the printed circuit board assembly (PCBA) optimization in a multifunctional placer remains a formidable challenge till now. This article converts the original PCBA optimization problem to a newly defined component allocation problem, which decides the component-type handled by each head per pickup-and-place (PAP) cycle. The component allocation problem is a quadratic 3-D assignment problem (Q3AP) and effectively combines the optimization of all the main objectives. It is possible that one head stays idle, so the assigning 2-D locations are uncertain. We propose the cell division genetic algorithm (CDGA) to solve such a complex Q3AP. The CDGA allocates a component cell as the basic unit. Each of the first-generation component cells contains the mounting points of the same type. A cell chromosome decoding heuristic is designed to determine the next assigning head. By doing so, the problem dimension is reduced, so the conventional GA can be used for searching the optimal component allocation formed by the current-generation cells. When a better allocation can no longer be found by allocating the current cells, the cell division operation is performed to divide each cell into two new cells. The new cells are used in the next round of GA searching, which further optimizes the allocation from two perspectives: better balancing the minimization of nozzle changes and PAP cycles, more flexibly maximizing the simultaneous pickups with the uncertain locations. The CDGA works continuously until the current cells cannot bring any improvement. In simulations and experiments using the industrial samples, the proposed algorithm significantly reduces the PCBA time compared to two recent studies and the built-in optimizer of the widely used multifunctional placer, Hanwha SM482 PLUS, which demonstrates its effectiveness and superiority.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call