optimizacion pcb assembly

Upload: jesus-el-chino

Post on 08-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 optimizacion PCB Assembly

    1/5

    Ratnesh Kumar Haomin LiDepartment of Electrical Engineering

    University of KentuckyLexington, KY 40506-0046Abstract

    A printed circuit board ( PCB) assembly task requires tha ta set of components be picked from their respective pickuplocations and then be placed at their respective placementlocations on the card being assembled. An automated as-sembly machine consists of a robotic arm which performssuch an assembly task. The overall assembly time dependson two different decision var iables (i ) the pickup locations ofthe components, and (ii) the sequence in which the pickupand placement of components is performed. In this paper wedevelop a technique based on integer programming to deter-mine opt imal values of bot h the decision variables. Since sucha technique is computationally intractable, we also obtainnear opt ima l solutions-th at are comput ationally tractable-using the techniques of (i) minimum weight matching for de-termining an optimal assignment of pickup locations, a.nd(ii) traveling salesman problem for determining an opt imumsequence of pickups and placements. Finally, we use simu-lations to compare the saving in overall assembly time usingthe techniques developed here 'an d some of the techniquesthat are currently in use in industrial settings.

    1 IntroductionA maj or challenge fo r any manufacturing industry is to in-crease its rate of productivity and safety without significantly

    increasing the per unit cost of production . In recent years,automated and flexible manufacturing [ 3 ,81 systems have re-ceived considerable attent ion from design engineers and otherresearchers, as they provide an alternative to a higher pro-ductivity rate an d increased safety of production. Robotshave become an integral part of many of the manufactur-ing systems, replacing humans from work places, thereby notonly increasing the safety of production but also the rate ofproductivity.

    In a typical manufacturing setting robots are employed toperform a sequence of assembly operations, each of which re-quires a fixed amoun t of time. In order to maintain a highrate of productivity, a robot must complete a given sequenceof assembly operations in a minimal possible t ime. For ex-ample, in an Electronic Assembly Machine (EAM), whichis used for automated assembly of components in SurfaceMount Technology or Through-Hole Technology, a pick-and-place robot is employed to pickup components form a set ofpickup slot locations and to place them on the desired loca-tions of the printed circuit board being assembled.

    In a typical EAM, the robot has a gripper (also called achuck) mounted on it. The robot moves in the X , Y , and2-directions for performing pickups and placements; it canalso rotate around the vertical axis for performing the properalignment of components. Thus such a robot essentially hasthree translational joints and one rotational join t. Compo-nents to be assembled are kept in various conlponent feedersaround the PCB. Components of relatively smaller sizes andregular shapes are supplied by tape and/or vibrat ion feeders.In such a setting, components are picked from a single fixedpickup slot location of the feeder, while the slot location iscontinually supplied with new components as they are pickedand assembled. Components of relatively large sizes and ir-regular shapes are supplied simply on component trays. Thuseach such component has its own pickup slot location. '

    The sequence of operations performed by such a pick-and-place robot can be described as follows: the robot starts fromits designated home location, moves to a pickup slot location,gets a component, then moves to the desired placement lo-cation on the PCB being assembled, and places it there. Af-ter placement, the robot moves to possibly another pickupslot location, gets another Component, and repeats the priorsequence of operations. In ca.se components are not of thesame size, robot also changes its gripper by moving to thegripper location during the assembly operation. Also, fine-pitch components are tested for proper pin alignment againstan upward-looking camera during their assembly. After com-pleting the assembly operation, the robot returns to its homelocation, and waits for the next raw PCB to arrive.

    It is clear that the overall assembly time of a given PCBdepends on two decision variables: (i) the assignment of thepickup slot locations (in general several alternative pickupslot, locations are available), and (ii) the sequence in whichthe componentss are assembled. It is also clear that thesetwo decisions are interdependent-the opt ima l sequence ofassembly of components depends on the assignment of theslot locations. The design tas k, which we address here, isto obtain an assignment of pickup slot locations as well as asequence of pick and place operations for the robot so thatthe overall assembly time for a given PCB is minimized.

    It must be mentioned that in some electronic assembly ina-chines, a platformcarrying the PC B t o be assenibled performsthe horizontal X - Y movements, whereas the robotic head, bymoving in the vertical 2-direction, performs the placementof the components between the platform moves. The compo-nents being assembled are supplied continually via a nozzleattached to the robotic head [2]. Thus in this setting the op-timization problem reduces t o determining only an opti mal- -

    *Thisresearch was supported in part by the Center for Robotics and assembly sequerlce of components [a , 41 7 and can be viewedManufacturing Sy ste ms , University of Kentucky. a special case of the problem addressed i n this paper. Also,

    306

    thorized licensed use limited to: INST VENEZOLANO DE INVESTIGACIONES CIENTIFICAS. Downloaded on November 19, 2009 at 10:19 from IEEE Xplore. Restrictions apply.

  • 8/7/2019 optimizacion PCB Assembly

    2/5

    _=lthoughthe formulation developed here essentially addresseshe assembly time optimization issue in PC B assembly, it is

    Aosely related to other applications such as minimum-timehit-picking robot task planning [SI, robot task sequencingI1 11, time-optimal robotic manipulator motions for point-to-uoint tasks [5], etc.

    The problem of determining an optimal sequence of as-:embly in P CB assembly has been addressed by many re-searchers. In [2] it is formulated as an instance of the trav-=ling salesman problem; [l ] studies it as an instance of thedirected postman problem; in [4] heuristics such as "type-writer" method and "S-shape" method-which are commonlyused in practice for determining sequence of assembly-arecompared to a proposed heuristic called "block algorithm"method. The problem of optimal slot assignment has re-cently been addressed in [15], in which several heuristics areproposed for assignment and reassignment of slots so as tominimize the set-up time. However, as noted above, the twoproblems are interdependent. In this paper, we present anunified approach to address both these optimization issues.

    Rest of the paper is organized as follows. In Section 2 wedevelop the relevant notation aswell as describe the problem.In Section 3 we present two different forinulation of the prob-lem, both based on integer programming approach [13, 121.Since integer programming is an NP-complete problem [7],we obta in polynomially computable near optimal feasible so-lutions using the first formulation of the problem. The secondformulation establishes that the optimization problem is aninstance of linear integer programming [13], and a linear pro-gramming relaxation of it is used to obtain a polynomiallycomputable lower bound for the overall assembly time. InSection 4 we provide the simulation results of our work, andfinally, Section 5 concludes the work presented here.

    2 Notation and Problem StatementIn this section we introduce the necessary notations and

    describe the optimization problem. As described above, ingeneral different grippers are needed to complete the assem-bly of a given PCB. The overall assembly time equals thesum of the assembly times spent under each of the grippersplus the time spent in interchanging the grippers. However,since a significant amount of time is spent in interchange ofgrippers, which is independent of the sequence that grippersare selected, a gripper, once selected, is not released till allthe components that it can assemble have been assembled.Moreover, the set of possible pickup slot location for eachof the grippers is mutually exclusive, i.e., each slot locationsc&n contain components which must be assembled by oneparticular gripper. Therefore, in order to realize minimumassembly time, it suffices to obta in an optimal pickup slot as-signment and an optimal assembly sequence of componentsfor each of the grippers individually. Hence, it may be as-sumed, without loss of generality, that exactly one gripper isused for assembly. In the subsequent analysis we shall makethis assumption.

    Let N denote the set of all natural numbers, and R+ de-note the set of positive reals. Let n E n/ be the numberof components to be assembled on a given PCB. Usually, a

    PCB contains multiple components of the same make, andthat are supposed to be picked from the same pickup slotlocation. Let 'it E N be the number of different pickup slotlocations needed for assembling the PCB. Thus A 5 n. Letthe type funct ion T : {1,. ..,n} --+ { 1, . . . ,A } identify compo-nents with identical pickup slot locations, i.e., for i , j < n,r( i )= ~ ( j )if and only if components i and j must be pickedfrom the same pickup slot location. It must be emphasizedtha t the type function identifies those components (t o be ofthe same type) which must be picked from the same pickupslot location, and not necessarily those components which areof the same make.

    Given a component type 1 E {1 , . . . , A } ,T-'(/) := {i 5n I r( i )= I } identifies all components of type 1. Let m EN be the total number of available pickup slot locations.Since each coniponent of the same type is assigned the samepickup slot location, we must have A 5 m. Let [ti j lnxm ER:xm be a matrix such that, for each i 5 n and j 5 m,t i j E R+ denotes the travel time from the component locationi to the pickup slot location j . The travel times may ormay not include any set-up times such as component pickuptimes, component placement times, and in case of fine-pitchcomponents, camera visit times. These set-up times resultin an extra overhead for the entire assembly time, and theiractual values do not affect the nature of the solution to theoptimization problem sought in this paper.

    Given n ,A ,m E N , T : (1 , . . . ,n) --+ (1, . . . , 'it}, and[ t i j l n xm ER?"" as described above, the optimization prob-lem is to determine (i) an assignment of the pickup slot lo-cations , i.e., which pickup slot location should contain whichtype ofcomponents and (ii) a sequence of assembly of compo-nents, i.e., which component should be assembled next, aftersome number of components have already been assembled ina particular sequence, so that the overall assembly time isminimized.

    In order t o simplify future notation, given a set S, we useJSIto denote its cardinality; given an optimization problemP, we use Vd(P) to denote its optimal value.

    3 Optimization Using Integer Pro-gramming

    In this section we provide two alternative integer program-ming formulations of the optimizat ion problem introduced inthe previous section.

    3.1 First Formulation of OptimizationProblemHere we present a quadrat ic integer programming based

    formulation of the optimization problem, which is furtherconstrained to obtain two different well known subproblems(i) an instance of minimum weight matching problem for de-termining an assignment of pickup slot locations, and (ii) aninstance of traveling salesman problem for determining se-quence of assembly.

    Let [Ujk]nxn E (0,l},'" be an n x n-dimensional bi-nary valued decision variable with the interpretation thatfor each i , k 5 n , ujk = 1 if and only if component k is

    307

    thorized licensed use limited to: INST VENEZOLANO DE INVESTIGACIONES CIENTIFICAS. Downloaded on November 19, 2009 at 10:19 from IEEE Xplore. Restrictions apply.

  • 8/7/2019 optimizacion PCB Assembly

    3/5

    assembled immediately after the assembly of component i.Also, [ ~ j i ] ~ ~ ~E { O , l } m x K be an m x ?%-dimensional bi-nary valued decision variable with the interpretation that foreach j 5 m,l 5 E , vj~jr= 1 if and only if pickup slot loca-tion j contains the components of type l . Clearly, for eachi 5 n,j 5 m,k 5 n there is a motion from ith componentlocation to kth component location visiting j t h pickup slotlocation if and only if uik = vjj7(k) = 1 , in which case a traveltime of [tij + t k j ] is spent. Thus the optimization problemcan be formulated as:

    r 1

    subject toA l .

    k I n

    i s n

    i S k S

    Note that Uik represents the number of motions-either zeroor one-from component location i to component location I C ,i.e., Uik = 1 if and only if component location k is visitedimmediately after visiting component location i. Since a se-quence in which component locations must be visited consti-tutes a Hamiltonian cycle [lo], the decision variables [uikItzxnmust satisfy the corresponding constraints A l - A 3 [lo]. Con-straint A1 requires that there must be exactly one motionexiting each component location; constraint A2 requires thatthere must be exactly one motion entering each componentlocation; constraint A 3 requires that for each proper subsetS c (1,. . . ,n} of component locations, the sequence of mo-tions restricted to S must not form a cycle. Constraint A 4requires that each type of components must be assigned toexactly one pickup slot location, which implies that all com-ponents of the same type are picked from the same pickupslot location. Constraint A5 requires that each pickup slotlocation must contain at most one type of components.

    In order t o obtain near opt imal feasible solutions, we fur-ther constrain P 1 so that it reduces to two subproblems eachof which depends only on a single set of decision variables-either [U&xn or [vjrjlImxfi. Thus the complexity of theproblem is significantly reduced. The two subproblems arethe traveling salesman problem and the minimuin weightmatching problem, for which the solution techniques are wellknown. Let f j ~:= CkEs- l ( l )tk j denote the total travel timefrom slot location 3 to all components of type 1; then theminimum weight matching problem is defined as:

    r 1

    Note that the constraints A4-A5 correspond to the minimumweight matching problem [14]. Let v;l be the optimal solutionof MWMP, and trk := Cjjm.tijv;, (k) be the travel time ofmoving from component location i to the pickup slot locationthat contains the component of the same type as located inlocation k under the slot assignment of MWMP; then thetraveling salesman problem is defined as:

    Note that constraints A l - A 3 correspond to the travelingsalesman problem constraints [ lo] . Then we have the fol-lowing result:

    val(P1) 5 [val(TSP) + ual(MWMP)].Thus [ual(TSP)+ val(MWMP)] provides an upper bound

    for the optimal assembly time. However, it does not di-rectly provide a polynomially computable upper bound, asalthough an instance of minimum weight matching problemis of polynomial complexity [14, 91, an instance of travelingsalesman problem is NP-complete [7]. However, there existseveral polynomial time algorithms, such as nearest neigh-bor, nearest insertion, 2-optimality, 3-optimality1 etc. , [lo].which yield near optimal feasible solutions and provide anupper bound for the TSP. Thus using these algorithms it ispossible to obtain a polynomially computable upper boundfor the optimization problem considered here.

    3.2 Second Formulation of OptimizationProblemNext we establish that the optimization problem is an in-stance of linear integer programming [13]. Thus techniques

    and software tools for solving linear integer programmingproblems can be directly applied. I n particular polynomiallycomputable lower bounds for the overall assembly time canbe easily obtained by using any of the relaxation techniquessuch as linear programming relaxation, lagrangian relaxat ion,etc., [13].

    Let [~ i jk]nxmxrz E { O , l } n x m x n be an n x m x n-dimensional binary valued decision variable with the inter-pretation that for each i < n , j < m,k 5 n,Rijk = 1 if andonly if after placing the ith component, the pick-and-placerobot picks a component from the j t h pickup slot locationand places it at the kth component location. Clearly, a traveltime of [ t i j + t k j ] is spent if and only if Tijk = 1 . Thus theoptimization problem can be formulated as:

    r 1

    B2.k s nZ X i k = 1; V k 5 n

    308 i < n

    thorized licensed use limited to: INST VENEZOLANO DE INVESTIGACIONES CIENTIFICAS. Downloaded on November 19, 2009 at 10:19 from IEEE Xplore. Restrictions apply.

  • 8/7/2019 optimizacion PCB Assembly

    4/5

    B3 .B4.B5.

    Since r i j k represents the number of motions-either zero orone-from it h component location to kth component locationtha t also visits the j t h pickup slot location, xik representsthe total number of motions from ith component location tokth component location that visit any pickup slot location.Hence xik = 1 if and only if component location k is visitedimmediately after visiting component location i. As notedin the previous subsection, a sequence in which componentlocations must be visited constitutes a Hamiltonian cycle.Hence xak must satisfy t he corresponding cons traints B l - B 3[lo]. (These constraints are exactly the same as constraintsA l - A 3 of the formulation given in the previous subsection.)

    Constraints B4-B5 are needed to ensure that componentsof the same type are picked from the same slot location, andeach slot location contains at most one type of component.yjk represents th e tot al number of motions from j t h pickupslot location to kt h component location. Note for each k 5 n

    Y j k = r i j k = r i j k = c x i k = 1 ,j < m j l m i l n i < n j < m i < n

    which implies that yjk 5 1 for all j 5 m and k 5 n. Con-straint B4 requires that a component location k is visitedfrom a pickup slot location j if and only if all componentlocations with components of the same type as component kare visited from j t h pickup slot location (which implies thatcomponents of the same type are picked from the same pickupslot location). Constraint B5 requires that for each j 5 m,number of motions from pickup slot location j to componentlocations with components of dif ferent types must not ex-ceed one (which implies that each pickup slot location mustcontain at most one type of components).

    It is clear that P 2 is an instance of a linear integer pro-gramming problem [13, 121 for which techniques of polyno-mial complexity for computing near opt imal feasible solutionsare well known. Such solutions provide upper bounds for theoverall assembly time. Since opt imal solution is computa-tionally intractable, it is impractical to obtain a direct mea-sure of closeness of near optimal solutions to an optimal one,Hence it is desirable to obtain polynomially computable lowerbounds for the overall assembly time: the gap between lowerand upper bounds, provides an indirect measure of closenessof near optimal solutions to an optima l one.

    An additional advantage of linear integer programming for-mulation of the optimization problem is that polynomiallycomputable lower bounds for the overall assembly time canbe easily obtained from it. Several algorithms of polyno-mial complexity are available in literature for obtaining alower bound for a given linear integer programming problem1131. In particular, a linear programming relaxation of P 2,called LP, is obtained by letting the the decision variables[ ~ i j k ] n x m x ntake value in the n x m x n-dimensional unitinterval [0 , , I n x m x n 3 (0 , l }nxmxn.Clearly,

    The technique of lagrangian relaxation [13] can also be con-sidered to obtain a lower bound.

    We formally show that Optimization problems P1 and P 2as defined above are equivalent. Thus we have the followingresult:

    val(LP) 5 v a l ( P 2 ) = val(P1) 5 [val(TSP) + val(MWMP)].4 Simulation Results

    Above we have proposed two different methods fo r opti-mizing assembly time of a given P C B . In this section we de-scribe the way to implement the first formulation to obtainthe near optimal feasible solutions, present some simulationresults, and compare the effectiveness of our approach withother approaches that are currently in use in industries.

    In industrial settings, two different approaches, namely,type-writer (T W) method and S-shape (SS) method are com-monly used for determining sequence of assembly; and agreedy assignment algorithm is commonly used fo r deter-mining assignment of pickup slots [4]. Both type-writer andS-shape methods use z-y coordinate locat,ion of each of thecomponents to determine the sequence of assembly, and noinformation about the inter-component distances is directlyused; which is a major drawback of bot,h of these meth-ods. In type-writer method, components are assembled inan increasing dictionary order determined by their x-y coor-dinates. Given two components i 5 n and k 5 n with x-ycoordinates (xi,yi) and (xk, yb) respectively, i is assembledbefore k if and only if (i) either yi < Y k , or (ii) yi = yk andxi < 25. S-shape method determines the sequence of assem-bly in a way quite similar to type-writer method . However,components of same y-coordinate are not always assembledin an increasing order of their x-coordinates, in fact they areassembled in an increasing order of their x-coordinates, anda decreasing order of their x-coordinates, alternately.

    The greedy assignment algorithm (GA) for determining anassignment of pickup slot locations works simply as follows:Firstly, the component types are prioritized according to theirnumbers. Thus given two types 11 5 A and 12 5 %, 11 is givenpriority in assignment of slots over 12 if and only if number ofcomponents of type 11 are more than number of componentsof type 1 2 , i.e., if 1 ~ - ~ ( 1 1 ) 1> I ~ - ( l 2 ) 1 . Next, the types withhigher priority are assigned the nearest available slot location.In other words, if type 15 % has the highest priority, then itis assigned to that pickup slot location j 5 m for which thevalue Tj , is minimum.

    Next we describe the technique used for the implemen-tation of our proposed approach. We use a commerciallyavailable software package called SAS/OR for obtaining anoptimal solution of the minimum weight matching problem(MWMP) of the previous section in a polynomial time. Wehave also developed our own software package called UK-T S P for obtaining a near opt imal solution of the travelingsalesman problem (TSP) of the previous section, which deter-mines the sequence of assembly. We use well known heuristicssuch as nearest neighbor, nearest insertion, furthest inser-tion, and random generation to generate an initial assemblysequence; and use.other set of heuristics such as 2-optimalitv,_ .vel(LP) 5 val(P2). 09 3-optimality, and or-optimality to improve upon t he initially

    thorized licensed use limited to: INST VENEZOLANO DE INVESTIGACIONES CIENTIFICAS. Downloaded on November 19, 2009 at 10:19 from IEEE Xplore. Restrictions apply.

  • 8/7/2019 optimizacion PCB Assembly

    5/5

    generated assembly sequence. (Refer to [ lo] for a detaileddescription of these heuristics.)

    A random number generation program is used ,for gener-ating uniformly distributed component location as well aspickup slot location coordinates. We require tha t the x-y co-ordinates of component locations satisfy the constraint that10 5 x,y 5 26, which represents a PCB of size 16 x 16.Similarly, we require that x - y coordinates of the pickup slotlocations satisfy the constraint that 0 _< x , y 5 32 and10 2 z ,y 2 26, which represents a 32 x 32 work place area,the central 16 x 16 area of which corresponds to the place-ment area, and the remaining represents the pickup area . Weassume for simplicity that (i) no two components are of thesame type, i.e., for each 1 5 A, IT-'(l)l = 1, which impliesthat 5i = n; (ii) number of possible pickup slot locations issame as the number of types of components, i.e., m = A = n;and (iii) the travel time ti j from component location i 5 nand pickup slot location j 5 m = n equals the Euclideandistance between them. These assumptions are made onlyfor ease in simulation, and do not reflect any restriction onthe scope of our algorithms or software tools. Table 1 whichsummarizes simulation results for 10 different test cases forn = 100 is presented below.

    1No. 11 Seed I TW+ I SS+ I TSP+ I % Reduction wrt IGA GA MWMP TW+GA I SS+GA

    1045 3394 3479 2570 24.28% I 26.13%23456

    I42 3136 3177 2413 23.05% 24.05%523 3260 3200 2375 27.15% 25.78%205 3339 3368 2563 22.83% 23.90%100 3280 3366 2665 18.75% 20.83%

    2414 3324 3391 2469 25.72% 27.19%7 11 51 I 3061 I 3139 I 3183 I 28.68% I 30.46%8 11 7125 I 3453 1 3524 1 2621 I 24.09% I 25.62%

    10I, I I I I9 II 8 I 3193 1 3237 I 2455 I 23.11% 1 24.16% I99 3238 3320 2479 23.44% I 25.33%

    Average: 24.11% I 25.35%Table 1: Table illustrating assembly time savings resultingfrom TSP+ MWMP formulation

    5 ConclusionIn th is paper we have presented two different formula-

    tions of the assembly time optimization problem in printedcircuit board assembly. The overall assembly time for a givenPCB depends upon the assignment of pickup slots as well assequence of assembly. We have demonstrated t ha t the theoverall optimization problem is an instance of the linear inte-ger programming problem, and that the techniques for solv-ing well known combinatorial optimization problems such asminimum weight matching problem and traveling salesmanproblem can be successfully applied to determine near opti-mal solutions for the optimization problem. Simulation re-sults show a consistent assembly time saving of 25% oversome of the techniques currently in use in industrial settings.

    AcknowledgmentWe would like to thank our colleagues Prof. C. Lee of

    Department of Mathematics, Prof. L. E. Holloway of De-partment of Electrical Engineering, and Mr. Rod Heard ofCenter for Robotics and Manufacturing for useful discussionsduring the course of this work.

    References[I] M. 0. Ball and M. J . Magazine. Sequencing of insertion

    i n printed circuit board assembly. Operations Research,[2] D. Chan and D. Mercier. IC insertion: an application of

    the traveling salesman problem. International Journalof Productions Research, 27( 10):1837-1841, 1989.

    [3] A . A . Desrochers, editor. Modeling and Control ofAuto-mated Manufacturing System.s. IEEE Computer SocietyPress, Washington, DC, 1990.

    [4] K. A . Downs, R. J . Linn, and N. L. Martinson. Sequenc-ing methods for single in-line packages in pcb assembly.Manufacturing Review, 5(3):175-183, September 1992.Planning time-

    optimal robotic manipulator motions and work placesfor point-to-point tasks. IE EE Transactions on Roboticsand Automation, 5(3):377-381, 1989.

    [6] Y. Edan, T. Flash, U . M. Peiper, I . Shmulevich, andY . Sarig. Near-minimum-time task planning for fruit-picking robots. IEEE Transactions on Robotics and Au-tomat ion, 7(1):48-55, 1991.

    Computers and In-tractability: A Guide t o the Theory of NP-completeness.W. H. Freeman and Company, 1979.[8] R. K. Jurgen, editor. Computers and ManufacturingProductivity. IEEE Press, New York-, NY, 1987.

    [9] E. Lawler. Combinatorial Optimization: Networks andMatroids. Saunders College Publishing, 1976.[ l o ] E. L. Lawler, J . K. Lenstra, A . H. G . Rinnooy Kan, and

    D. B. Shmoys, editors. The Traveling Salesman Problem.John Wiley and Sons, 1985.

    [ll] 0. Maimon. The robot task-sequencing planning prob-lem. IEEE Transactions on Robotics and Automation,

    [12] M. Minoux. Mathema tical Programming: Theo ry andAlgorithms. John Wiley and Sons, 1986.[13] G . L. Nemhauser and L. A . Wolsey. Integer and Conzbi-natorial O ptimization. John Wiley and Sons, 1988.[14] C . H. Papadimitriou and K. Steiglitz. Combinatorial Op-timizaiion.: Algorithms and Complexity. Prentice Hall,

    Inc., 1982.[15] M. Sadiq, T . L. Landers, and G. D. Taylor. A heuris-

    tic algorithm for minimizing total production time fora sequence of jobs on a surface mount placement ma-chine. International Journal of Productions Research,

    36:192-201, 1988.

    [5] S. Dubowsky and T. D. Blubaugh.

    171 M. R . Garey and D. S. Johnson.

    6(6):760-765, 1990.

    31(6):1327-1341, 1993.310