Abstract
This paper presents the development of a novel vehicle-routing-based algorithm for optimizing component pick-up and placement on a collect-and-place type machine in printed circuit board manufacturing. We present a two-phase heuristic that produces solutions of remarkable quality with respect to other known approaches in a reasonable amount of computational time. In the first phase, a construction procedure is used combining greedy aspects and solutions to subproblems modeled as a generalized traveling salesman problem and quadratic assignment problem. In the second phase, this initial solution is refined through an iterative framework requiring an integer programming step. A detailed description of the heuristic is provided and extensive computational results are presented.






















Similar content being viewed by others
References
Ahmadi, J., Ahmadi, R., Matuso, H., Tirupati, D.: Component fixture positioning/sequencing for printed circuit board assembly with concurrent operations. Oper. Res. 43(3), 444–457 (1995)
Altinkemer, K., Kazaz, B., Köksalan, M., Moskowitz, H.: Optimization of printed circuit board manufacturing: integrated modeling and algorithms. Eur. J. Oper. Res. 124(2), 409–421 (2000)
Applegate, D., Bixby, R., Chvatal, V., Cook, W.: CONCORDE TSP solver. Website http://www.tsp.gatech.edu/concorde.html (2009)
Ayob, M., Kendall, G.: A triple objective function with a Chebychev dynamic pick-and-place point specification approach to optimise the surface mount placement machine. Eur. J. Oper. Res. 164(3), 609–626 (2005)
Ayob, M., Kendall, G.: A survey of surface mount device placement machine optimisation: machine classification. Eur. J. Oper. Res. 186(3), 893–914 (2008)
Ball, M.O., Magazine, M.J.: Sequencing of insertions in printed circuit board assembly. Oper. Res. 36(2), 192–201 (1988)
Barnhart, C., Johnson, E., Nemhauser, G., Savelsbergh, M., Vance, P.: Branch-and-price: column generation for solving huge integer programs. Oper. Res. 46(3), 316–329 (1998)
Burke, E.K., Cowling, P.I., Keuthen, R.: Effective heuristic and metaheuristic approaches to optimize component placement in printed circuit board assembly. In: Proceedings of the 2000 Congress on Evolutionary Computation, vol. 1 (2000)
Clarke, G., Wright, J.: Scheduling of vehicles from a central depot to a number of delivery points. Oper. Res. 12(4), 568–581 (1964)
Crama, Y., van de Klundert, J., Spieksma, F.C.R.: Production planning problems in printed circuit board assembly. Discrete Appl. Math. 123(1–3), 339–361 (2002)
Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1(1), 269–271 (1959)
Ellis, K.P., Kobza, J.E., Vittes, F.J.: Development of a placement time estimator function for a turret style surface mount placement machine. Robot. Comput. Integr. Manuf. 18(3–4), 241–254 (2002)
Ellis, K.P., Vittes, F.J., Kobza, J.E.: Optimizing the performance of a surface mount placement machine. IEEE Trans. Electron. Packag. Manuf. [see also IEEE Transactions on Components, Packaging and Manufacturing Technology, Part C: Manufacturing] 24(3), 160–170 (2001)
Feremans, C., Grigoriev, A.: Approximation schemes for the generalized geometric problems with geographic clustering. METEOR, Maastricht research school of Economics of TEchnology and ORganizations; University Library, Universiteit Maastricht (2004)
Fischetti, M., Salazar Gonzalez, J.J., Toth, P.: The symmetric generalized traveling salesman polytope. Networks 26(2), 113–123 (1995)
Fischetti, M., Toth, P.: The generalized traveling salesman and orienteering problems. Comb. Optim. 12, 609–662 (2002)
Franceschi, R.D., Fischetti, M., Toth, P.: A new ILP-based refinement heuristic for vehicle routing problems. Math. Program. 105(2), 471–499 (2006)
Golden, B.L., Raghavan, S., Wasil, E.A.: The vehicle routing problem: latest advances and new challenges, vol. 43 of Operations Research/Computer Science Interfaces Series. Springer (2008)
Grunow, M., Günther, H.O., Schleusener, M., Yilmaz, I.O.: Operations planning for collect-and-place machines in PCB assembly. Comput. Ind. Eng. 47(4), 409–429 (2004)
Gyorfi, J.S., Wu, C.H.: An efficient algorithm for placement sequence and feeder assignment problems with multiple placement-nozzles and independent link evaluation. IEEE Trans. Syst. Man Cybern.: Part A: Syst. Hum. 38(2), 437 (2008)
Haberle, K.R., Graves, R.J.: Cycle time estimation for printed circuit board assemblies. IEEE Trans. Electron. Packag. Manuf. [see also IEEE Transactions on Components, Packaging and Manufacturing Technology, Part C: Manufacturing], 24(3), 188–194 (2001)
Haimovich, M., Kan, A.H.G.R., Stougie, L.: Vehicle Routing: Methods and Studies. North-Holland, 1988, ch. Analysis of heuristics for vehicle routing problems, pp. 47–61
Hirvikorpi, M., Knuutila, T., Johnsson, M., Nevalainen, O.: A general approach to grouping of PCB assembly jobs. Int. J. Comput. Integr. Manuf. 18(8), 710–720 (2005)
Ho, W., Ji, P.: Component scheduling for chip shooter machines: a hybrid genetic algorithm approach. Comput. Oper. Res. 30(14), 2175–2189 (2003)
Ho, W., Ji, P., Dey, P.K.: Optimization of PCB component placements for the collect-and-place machines. Int. J. Adv. Manuf. Technol. 37(7), 828–836 (2008)
ILOG Inc.: CPLEX linear optimizer and mixed integer optimizer v. 11.0. Website http://www.ilog.com (2009)
Ji, P., Wan, Y.F.: Planning for printed circuit board assembly: the state-of-the-art review. Int. J. Comput. Appl. Technol. 14(4), 136–144 (2001)
Kazaz, B., Altınkemer, K.: Optimization of multi-feeder (depot) printed circuit board manufacturing with error guarantees. Eur. J. Oper. Res. 150(2), 370–394 (2003)
Knuutila, T., Pyottiala, S., Nevalainen, O.S.: Minimizing the number of pickups on a multi-head placement machine. J. Oper. Res. Soc. 58(1), 115 (2007)
Kulak, O., Yilmaz, I.O., Günther, H.O.: PCB assembly scheduling for collect-and-place machines using genetic algorithms. Int. J. Prod. Res. 45(17), 3949–3969 (2007)
Kumar, R., Luo, Z.: Optimizing the operation sequence of a chip placement machine using TSP model. IEEE Trans. Electron. Packag. Manuf. 26(1), 14–21 (2003)
Lapierre, S.D., Debargis, L., Soumis, F.: Balancing printed circuit board assembly line systems. Int. J. Prod. Res. 38(16), 3899–3911 (2000)
Leu, M.C., Wong, H., Ji, Z.: Planning of component placement/insertion sequence and feeder setup in PCB assembly using genetic algorithm. J. Electron. Packag. 115(4), 424 (1993)
Li, S., Hu, C., Tian, F.: Enhancing optimal feeder assignment of the multi-head surface mounting machine using genetic algorithms. Appl. Soft Comput. J. 8(1), 522–529 (2008)
Parkhi, K.: Printed circuit board: world outlook. Tech. Rep. 844-F2, Visant Strategies, Inc. (2007)
Salonen, K., Smed, J., Johnsson, M., Nevalainen, O.: Grouping and sequencing PCB assembly jobs with minimum feeder setups. Robot. Comput. Integr. Manuf. 22(4), 297–305 (2006)
Sarvanov, V.I., Doroshoko, N.N.: The approximate solution of the travelling salesman problem by a local search algorithm with scanning neighborhoods of factorial cardinality in cubic time. Softw.: Algorithms Programs 31, 11–13 (1981)
Seth, A., Klabjan, D., Ferreira, P.M.: Analyses of advanced iterated tour partitioning heuristics for generalized vehicle routing problems. Tech. rep., Northwestern University. http://www.klabjan.dynresmanagement.com (2009)
SIPLACE-Americas. Siemens automation electronic assembly systems. Siemens’ official website http://ea.automation.siemens.com (2009)
Smed, J., Johnsson, M., Johtela, T., Nevalainen, O.: Techniques and applications of production planning in electronics manufacturing systems. Tech. Rep. 320, Turku Centre for Computer Science (1999)
Su, C., Ho, L., Fu, H.: A novel tabu search approach to find the best placement sequence and magazine assignment in dynamic robotics assembly. Integr. Manuf. Syst. 9(6), 366–376 (1998)
Tirpak, T.M., Nelson, P.C., Asmani, A.J.: Optimization of revolver head SMT machines using adaptive simulated annealing (ASA). In: Proceedings of the Twenty-Sixth IEEE/CPMT International Electronics Manufacturing Technology Symposium, pp. 214–220 (2000)
Toth, P., Vigo, D.: The Vehicle Routing Problem. Monographs on discrete mathematics and applications. Society for Industrial and Applied Mathematics (2002)
Wilhelm, W.E., Arambula, I., Choudhry, N.N.D.: Optimizing picking operations on dual-head placement machines. IEEE Trans. Autom. Sci. Eng. [see also IEEE Transactions on Robotics and Automation] 3(1), 1–15 (2006)
Wilhelm, W.E., Choudhry, N.D., Damodaran, P.: A model to optimize placement operations on dual-head placement machines. Discrete Optim. 4(2), 232–256 (2007)
Wilhelm, W.E., Tarmy, P.K.: Circuit card assembly on tandem turret-type placement machines. IIE Trans. 35(7), 627–645 (2003)
Yilmaz, I., Günther, H.-O.: A group setup strategy for PCB assembly on a single automated placement machine. In: Haasis, H.-D., Kopfer, H., Schönberger, J. (eds.) Operations Research. Springer, Berlin, Heidelberg pp. 143–148 (2005)
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: Detailed integer linear program (ILP) model formulation for improvement phase
We formulate herein the integer linear program allowing feeder magazine motions and spindle jumping by using a bi-complete and total asynchronous extraction strategy.
1.1 Parameters
- \({\mathcal {F}}^B\) :
-
\(=\) set of extracted board nodes
- \({\mathcal {F}}^F\) :
-
\(=\) set of extracted feeder nodes
- \({\mathcal {S}}^B\) :
-
\(=\) sequence pool for board node sequences (potentially all board node sequences)
- \({\mathcal {S}}^F\) :
-
\(=\) sequence pool for feeder node sequences (potentially all feeder node sequences)
- \({\mathcal {I}}^B\) :
-
\(=\) set of candidate insertion points for board node sequences
- \({\mathcal {I}}^F\) :
-
\(=\) set of candidate insertion points for feeder node sequences
- \({\mathcal {S}}_P\) :
-
\(=\) set of spindles
- C :
-
\(=\) capacity of the head (vehicle) \(=\) \(|{\mathcal {S}}_P|\)
- r :
-
\(=\) route
- \(r^F\) :
-
\(=\) sequence of nodes corresponding to part of route r covering the feeder nodes
- \(r^B\) :
-
\(=\) sequence of nodes corresponding to part of route r covering the board nodes
- \({\mathcal {R}}\) :
-
\(=\) ordered list of all routes
- \({\mathcal {I}}(r)\) :
-
\(=\) set of insertion points (i.e. arcs) associated with route r
- \(\tilde{q}(s)\) :
-
\(=\) contribution to capacity usage of sequence s, i.e. number of nodes in node sequence s
- \(\tilde{c}(s)\) :
-
\(=\) cost of sequence s
- \(\gamma _{fi}\) :
-
\(=\) additional cost due to insertion of sequence \(f \in {\mathcal {S}}^F\) at insertion point i
- \(\gamma _{bi}\) :
-
\(=\) additional cost due to insertion of sequence \(b \in {\mathcal {S}}^B\) at insertion point i
- \(l_2(r)\) :
-
\(=\) insertion point corresponding to the \(G^B-G^F\) arc in the route r
- \(l_1(r)\) :
-
\(=\) insertion point corresponding to the \(G^F-G^B\) arc in the route r
- \({\mathcal {B}}(s)\) :
-
\(=\) beginning node of sequence s
- \({\mathcal {L}}(s)\) :
-
\(=\) last node of sequence s
- \({\mathcal {T}}(s,s_p)\) :
-
\(=\) \({\left\{ \begin{array}{ll} 1 \text { if spindle } s_p \text { is used in sequence } s\\ 0 \text { otherwise} \end{array}\right. }\)
- \(\tilde{t}(s,s_p)\) :
-
\(=\) component type number carried by spindle \(s_p\) in the sequence s, returns 0 if none
- \(F_p(n)\) :
-
\(=\) feeder position at node \(n \in G^F\)
- \(\gamma _{fi}\) :
-
\(=\) insertion cost of reinserting a sequence of feeder nodes \(f \in {\mathcal {S}}^F\) into a \(G^F-G^F\) type insertion point \(i \in {\mathcal {I}}^F\)
- \(\gamma ^{L^F_1}_{fl_1(r)}\) :
-
\(=\) insertion cost only on the feeder side of reinserting a sequence \(f \in {\mathcal {S}}^F\) of \(G^F\) nodes into a \(G^F-G^B\) type insertion point \(\in {\mathcal {I}}(r)\)
- \(\gamma ^{L^F_2}_{fl_2(r-1)}\) :
-
\(=\) insertion cost only on the feeder side of reinserting a sequence \(f \in {\mathcal {S}}^F\) of \(G^F\) nodes into a \(G^B-G^F\) type insertion point \(\in {\mathcal {I}}(r-1)\); note that the cost of the neighboring route of the route containing i is influenced
- \(\gamma _{bi}\) :
-
\(=\) insertion cost of reinserting a sequence \(b \in {\mathcal {S}}^B\) of \(G^F\) nodes into a \(G^B-G^B\) type insertion point \(i \in {\mathcal {I}}^B\)
- \(\gamma _{bl_2(r)}\) :
-
\(=\) insertion cost of reinserting a sequence \(b \in {\mathcal {S}}^B\) of \(G^B\) nodes into a \(G^B-G^F\) type insertion point \(i \in {\mathcal {I}}(r)\)
- \(\gamma ^{L^B_2}_{fl_2(r)}\) :
-
\(=\) insertion cost only on the board side of reinserting a sequence \(f \in {\mathcal {S}}^F\) of \(G^F\) nodes into a \(G^B-G^F\) type insertion point \(i \in {\mathcal {I}}(r)\)
- \(\gamma _{bl_1(r)}\) :
-
\(=\) insertion cost of reinserting a sequence \(b \in {\mathcal {S}}^B\) of \(G^B\) nodes into a \(G^F-G^B\) type insertion point \(i \in {\mathcal {I}}(r)\)
- \(\gamma ^{L^B_1}_{fl_1(r)}\) :
-
\(=\) insertion cost only on the board side of reinserting a sequence \(f \in {\mathcal {S}}^F\) of \(G^F\) nodes into a \(G^F-G^B\) type insertion point \(i \in {\mathcal {I}}(r)\)
1.2 Decision variables
1.3 Objective function and constraints
The objective function reads
The constraints are as follows.
Constraint (3) models \(t_r\), the time to complete a route. The first term represents the cost on the feeder side of the short-cutted solution. The cost of inserting a \(G^F\) node sequence into a \(G^F-G^F\) type insertion point is given by the second term, into a \(G^F-G^B\) type insertion point by the third term, and into a \(G^B-G^F\) type insertion point by the fourth term. The maximum function captures the waiting cost due to the moving feeder and the two terms in it represent the cost of moving the feeder and the cost of the vehicle’s trip to the customers before returning to the feeder. The cost incurred by the vehicle’s trip is computed as the sum of the cost of the short-cutted solution, the cost of inserting a \(G^B\) node sequence into a \(G^B-G^B\) type insertion point, and the cost of inserting \(G^F\) and \(G^B\) node sequences into \(G^F-G^B\) and \(G^B-G^F\) type insertion points. Constraint (4) models the cost of the feeder movement. The terms capture the two possibilities each for determining the last feeder node to be visited in a given route and the first feeder node to be visited in its subsequent route. Constraints (5) and (7) specify that no more than one sequence can be inserted at an insertion point. Constraint (6) states that every board node can belong to exactly one re-inserted string. Constraints (8) and (9) state that only one of a feeder or board node can be reinserted at route junction points in order to reconstruct a solution. Constraint (10) balances the component types between the board and feeder route segments, whereas constraints (11) and (12) ensure no spindle reusage within the board and feeder route segments. Constraints (13) and (14) enforce capacity limitations on the head on the feeder and board segments, respectively.
1.4 Linearization of constraints
We note that (1) and (2) are non linear constraints. Rewriting the constraints in a linearized form and using,
we obtain
We split constraints (3) and (4) into their linearized forms, thereby getting rid of the troublesome maximum and absolute value functions.
Appendix 2: Pricing problem formulation for improvement phase
The dual of the above linear program has the objective
subject to constraints
where \(w^A, w^B, \ldots , w^M\) are dual variables corresponding to the 13 constraint sets labelled (19)–(21) and (5)–(14). The column generation subproblem (i.e. finding the column with the minimum reduced cost) reduces to one with the following form for a given insertion point i:
for \(x_{fi}\) variables, and, similarly, for \(y_{bi}\) variables we have
In both cases, we have to solve \(|{\mathcal {R}}|\) maximum weight circuit problems.
Rights and permissions
About this article
Cite this article
Seth, A., Klabjan, D. & Ferreira, P.M. A new novel local search integer-programming-based heuristic for PCB assembly on collect-and-place machines. Math. Prog. Comp. 8, 1–45 (2016). https://doi.org/10.1007/s12532-015-0095-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-015-0095-1