Integer Programming Approach to Printed Circuit Board Assembly Time Optimization

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Integer Programming Approach to Printed Circuit Board Assembly Time Optimization"

Transcription

1 Integer Programming Approach to Printed Circuit Board Assembly Time Optimization Ratnesh Kumar Haomin Li Department of Electrical Engineering University of Kentucky Lexington, KY Abstract A printed circuit board (PCB) assembly task requires that a set of components be picked from their respective pickup locations and then be placed at their respective placement locations on the card being assembled. A pick-and-place robot is used for automated assembly of PCB s. The overall assembly time depends on two different decision variables (i) the pickup locations of the components (in general there are several alternative pickup locations available, whereas the placement location of components is fixed and is determined by the card being assembled), and (ii) the sequence in which the pickup and placement of components is performed. In this paper we develop a technique based on integer programming to determine both an optimal assignment of pickup locations as well as an optimal sequence of pickup and placements of the components. We demonstrate that the overall optimization problem is an instance of linear integer programming problem, and hence it is computationally intractable. We obtain near optimal solutions that are computationally tractable using the techniques of (i) minimum weight matching for determining an optimal assignment of pickup locations, and (ii) traveling salesman problem for determining an optimum sequence of pickups and placements. Near optimal solutions provide an upper bound for the optimal assembly time; we consider a linear programming relaxation of the problem to obtain a lower bound for the optimal assembly time. The gap between the upper bound and the lower bound provides a measure of closeness of near optimal solutions to an optimal one. Finally, we use simulations to compare the saving in overall assembly time using the techniques developed here and some of the techniques that are currently in use in industrial settings. Key words: Surface mount technology, Printed circuit board Assembly, Integer Programming, Traveling salesman problem, Minimum weight matching Problem This research was supported in part by the Center for Robotics and Manufacturing Systems, University of Kentucky and in part by the National Science Foundation under Grant NSF-ECS

2 1 Introduction A major challenge for any manufacturing industry is to increase its productivity, safety and quality without significantly increasing the per unit cost of production. In recent years, automated and flexible manufacturing [1, 2] systems have received considerable attention from design engineers and other researchers, as they provide an alternative to a higher productivity, increased safety and quality of production. Robots have become an integral part of many of the manufacturing systems, replacing humans from work places, thereby not only increasing the the safety of production but also the productivity and quality of production. In many manufacturing settings, robots are employed to perform a sequence of assembly operations, each of which requires a fixed amount of time. In order to maintain a high rate of productivity, a robot must complete a given sequence of assembly operations in a minimal possible time. For example, in an Electronic Assembly Machine (EAM), which is used for automated assembly of components in Surface Mount Technology or Insertion Pin Technology, a pick-and-place robot is employed to pickup components from a set of pickup slot locations and to place them on the desired locations of the printed circuit board being assembled. Some of the reasons automated assembly machines are becoming increasingly popular in industrial settings are: Dense boards and tiny surface mount components make manual assembly very difficult if not impossible. Greater product mix and smaller volume of production require automated assembly, as there is not enough time for acquiring skills for manual assembly. Automated assembly provides consistent quality. Automated assembly results in increased rate of production. A typical EAM that is manufactured by Quad Systems Incorporated, Horsham, PA, and its work place arrangement is shown in Figure 1 [3]. This machine is installed in the Surface Mount Technology Laboratory of the Center for Robotics and Manufacturing at the University of Kentucky. The machine has a carriage with a pick-and-place head on it. The carriage moves horizontally on tracks in, say, X-direction, and the head moves along the carriage in a perpendicular horizontal direction, say, Y -direction. These X and Y -direction movements can occur concurrently. The gripper (also called the chuck) on the head can move in the vertical Z-direction for performing pickups and placements; it can also rotate around the vertical axis for performing the proper alignment of components. Thus such a robot essentially has three translational joints and one rotational joint. Components to be assembled are kept in various component feeders around the PCB. Components of relatively smaller sizes and regular shapes are supplied by reel and/or vibration feeders. In these cases, components are picked from a single fixed pickup slot location of the feeder, while the slot location is continually supplied with new components as they are picked and assembled. 2

3 Y carriage pickup slot locations tracks head gripper placement area camera grippers platform home X Figure 1: Diagram illustrating an EAM and its work place arrangement Components of relatively large sizes and irregular shapes are supplied simply on component trays. Thus each 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 [3]: the robot starts from its designated home location, moves to a pickup slot location, gets a component, then moves to the desired placement location on the PCB being assembled, and places it there. After placement, the robot moves to possibly another pickup slot location, gets another component, and repeats the prior sequence of operations. In case components are not of the same size, the robot also changes its gripper by moving to the gripper location during the assembly operation. Also, certain critical components are tested for proper alignment against an upward-looking camera, in which case after picking such critical components and prior to their placements, the robot moves to the camera location. After completing the assembly operation, the robot returns to its home location, and waits for the next PCB to be assembled to arrive. Figure 1 depicts a typical work place arrangement of such an EAM. It is clear that the overall assembly time of a given PCB depends on two decision variables: (i) the assignment of the pickup slot locations (in general several alternative pickup slot locations are available), and (ii) the sequence in which the components are assembled. The problem of determining an optimal sequence of assembly in PCB assembly has been addressed by many researchers in general. In [4] it is formulated as an instance of the traveling salesman problem; [5] studies it as an instance of the directed postman problem; in [6] heuristics such as type-writer method and S-shape method which are commonly used in practice for determining sequence of assembly are compared to a proposed heuristic called block algorithm method. The problem of optimal slot assignment has recently been addressed in [7], in which several heuristics are proposed for assignment and reassignment of slots so as to minimize the set-up time. However, as noted above, the two problems are interdependent. We have developed a unified approach to address both these optimization issues. Moreover, we study the optimization problem for the EAM of the type shown in 3

4 Figure 1. The earlier works cited above do not study this specific problem, and to the best of our knowledge this paper presents the first formal approach to the problem. The rest of the paper is organized as follows. In section 2 we develop the relevant notation as well as describe the problem. In section 3 we present two different formulations of the problem, both based on integer programming approach [8, 9]. Since integer programming is an NP-complete problem [10], we obtain polynomially-computable near-optimal feasible solutions using the first formulation of the problem. This requires techniques for solving minimum weight matching problem [11] and those for solving traveling salesman problem [12]. These near optimal solutions provide upper bounds for the overall assembly time. The second formulation establishes that the optimization problem is an instance of linear integer programming [8]. So a linear programming relaxation of it can be used to obtain a polynomially computable lower bound for the overall assembly time. In section 4 we provide the simulation results of our work, and finally, section 5 concludes the work presented here. An abbreviated version of the paper appeared in [13]. 2 Notation and Problem Statement In this section we introduce the necessary notations and describe the optimization problem for an EAM of the type shown in Figure 1. As described above, due to difference in sizes of components, in general different grippers are needed to complete the assembly of a given PCB. However, since a significant amount of time is spent in interchange of grippers, a gripper, once selected, is not released till all the components that it can assemble have been assembled. Since (i) the time spent during the interchange of grippers is independent of the sequence in which grippers are selected, and (ii) each gripper assembles components of different sizes so that the set of possible pickup slot locations for each of the grippers is mutually exclusive, the optimization problem is that of determining an assignment of pickup slots and a sequence of assembly of components for each of the grippers individually. In other words, the overall assembly problem can be solved by solving identical sub-assembly problems, each with exactly one gripper. Next we formulate one such sub-assembly optimization problem. Let n be the number of components to be assembled on a given PCB. We say that components i and j are of the same type if they are picked from the same pickup slot location. Letting n denote the different component types, we use a type function τ : {1,..., n} {1,..., n} to identify components with identical pickup slot locations, i.e., τ(i) = τ(j) if and only if components i and j are picked from the same pickup slot location. The notation τ 1 (l) := {i τ(i) = l} is used to identify all components of type l. Let m be the total number of available pickup slot locations. Since each component of the same type is assigned the same pickup slot location, we must have n m. Let [t ij ] n m be a matrix such that for each i and j, t ij denotes the travel time from the component location i to the pickup slot location j. The travel times may also include any set-up times such as component pickup times, component placement times, and in case of critical components, camera visit times. Thus an instance of assembly time optimization problem when a single Quad type machine is available consists of numbers n, n, m, the type function τ, and the travel time matrix 4

5 [t ij ] n m as described above. In order to simplify future notation, given a set S, we use S to denote its cardinality, and given an optimization problem P, we use val(p ) to denote its optimal value. 3 Optimization Using Integer Programming In this section we provide two alternative integer programming formulations of the optimization problem introduced in the previous section. Polynomially-computable solution is obtained by further constraining the first formulation thereby providing an upper bound for the overall assembly time, whereas known relaxation techniques can be applied to the second formulation for obtaining lower bounds. 3.1 First Formulation of Optimization Problem A quadratic integer programming based formulation of the optimization problem, is presented here. This is further constrained to obtain two different well known subproblems (i) an instance of minimum weight matching problem for determining an assignment of pickup slot locations, and (ii) an instance of traveling salesman problem for determining sequence of assembly. Let [u ik ] n n {0, 1} n n be an n n dimensional binary valued decision variable with the interpretation that u ik = 1 if and only if component i is assembled immediately before the assembly of component k. Also, [v jl ] m n {0, 1} m n be an m n dimensional binary valued decision variable with the interpretation that v jl = 1 if and only if pickup slot location j contains the components of type l. Clearly, there is a motion from ith component location to kth component location visiting jth pickup slot location if and only if u ik = v jτ(k) = 1, in which case a travel time of [t ij + t kj ] is spent. Thus the optimization problem can be formulated as: (P1) min [u ik ] {0,1} n n [v jl ] {0,1} m n subject to (t ij + t kj )u ik v jτ(k) i n j m k n A1. A2. A3. A4. u ik = 1; i n k n u ik = 1; k n i n u ik S 1; S {1,..., n} i S k S v jl = 1; l n j m 5

6 A5. v jl 1; l n j m Note that u ik represents the number of motions either zero or one from component location i to component location k. Since a sequence in which component locations must be visited constitutes a Hamiltonian cycle [12], the decision variables [u ik ] n n must satisfy the corresponding constraints A1-A3 [12]. Constraint A1 requires that there must be exactly one motion exiting each component location; constraint A2 requires that there must be exactly one motion entering each component location; constraint A3 requires that for each proper subset S {1,..., n} of component locations, the sequence of motions restricted to S must not form a cycle. Constraint A4 requires that each type of component must be assigned to exactly one pickup slot location, which implies that all components of the same type are picked from the same pickup slot location. Constraint A5 requires that each pickup slot location must contain at most one type of component. We next provide a method for obtaining near optimal feasible solutions for P1 using the known solution techniques of minimum weight matching problem and traveling salesman problem. The basic idea is to further constrain P1 so that it reduces to two such subproblems each of which depends only on a single set of decision variables either [u ik ] n n or [v jl ] m n. Thus the complexity of the problem is significantly reduced. Consider the objective function of P1: (t ij + t kj )u ik v jτ(k) = t ij u ik v jτ(k) + t kj u ik v jτ(k). (1) i n j m i n j m i n j m k n k n The first summand represents the total up-loading time, i.e., it is the time spent in moving from a component location to a pickup slot location, whereas the second summand represents the total down-loading time, i.e., it is the time spent in moving from a pickup slot location to a component location. The second summand in the objective function can be simplified as follows: t kj u ik v jτ(k) = t kj u ik v jτ(k) i n j m k n j m k n i n = t kj v jτ(k) u ik (2) j m k n i n = t kj v jτ(k) (3) j m k n = t kj v jτ(k) j m k τ 1 (l) l n = t kj v jτ(k) j m l n k τ 1 (l) = t kj v jl (4) j m l n k τ 1 (l) k n 6

7 = v jl t kj j m l n k τ 1 (l) = t jl v jl, (5) j m l n where equality of (2) follows from the fact that t kj v jτ(k) is a constant with respect to the summation variable i; equality of (3) follows from A2, equality of (4) follows from the fact that if k τ 1 (l), then τ(k) = l, and t jl := k τ 1 (l) t kj ; j m, l n. (6) Thus t jl is the total time spent in moving from pickup slot location j to all component locations of type l. Let [vjl] m n {0, 1} m n denote an assignment that minimizes the total down-loading time j m l n t jl v jl, i.e., [vjl] m n := arg min [v jl ] {0,1} m n subject to A4-A5 Then for the optimization problem P1 we have: min [u ik ] {0,1} n n,[v jl ] {0,1} m n subject to A1-A5 = min [u ik ] {0,1} n n,[y jl ] {0,1} m n subject to A1-A5 min [u ik ] {0,1} n n subject to A1-A5 = min [u ik ] {0,1} n n subject to A1-A3 = min [u ik ] {0,1} n n subject to A1-A3 = min [u ik ] {0,1} n n subject to A1-A3 t jl v jl j m l n. (7) (t ij + t kj )u ik v jτ(k) ) i n j m k n t ij u ik v jτ(k) + t jl v jl (8) i n j m k n j m l n t ij u ik vjτ(k) + t jl v jl (9) i n j m k n j m l n t ij u ik vjτ(k) + t jl v jl (10) i n j m k n j m l n u ik t ij v jτ(k) + t jl vjl (11) i n k n j m j m l n t iku ik + t jl vjl, i n k n j m l n where equality of (8) follows from (1) and (5); inequality of (9) follows from the fact that minimization is performed on a smaller domain; equality of (10) follows from the fact that 7

8 constraints A4-A5 apply to decision variables [v jl ] m n which are no more present in the objective function; equality of (11) follows from the fact that the second summand is a constant; and t ik := t ij vjτ(k); i, k n, (12) j m where [v jl] m n is defined in (7). Thus t ik is the total time spent in moving from component location i to the pickup slot location that contains components of the same type as component k, under the pickup slot assignment of (7). It follows from the above analysis that the optimization problem P1 can be constrained to obtain two different subproblems an instance of the traveling salesman problem and an instance of the minimum weight matching problem, which we mention below: (TSP) min [u ik ] {0,1} n n subject to A1-A3 t iku ik ; t ik defined in (12) i n k n (MWMP) min [v jl ] {0,1} m n subject to A4-A5 t jl v jl ; t jl defined in (6). j m l n Note that constraints A1-A3 correspond to the traveling salesman problem constraints [12], and constraints A4-A5 correspond to the minimum weight matching problem constraints [11]. We have proved the following result. Theorem 1 Consider the optimization problems P1, TSP, and MWMP defined above. Then val(p1) [val(tsp) + val(mwmp)]. Thus [val(tsp) + val(mwmp)] provides an upper bound for the optimal assembly time. However, it does not directly provide a polynomially computable upper bound, as although an instance of minimum weight matching problem is of polynomial complexity [11, 14], an instance of traveling salesman problem is NP-complete [10]. Fortunately, there exist several polynomial time algorithms, such as nearest neighbor, nearest insertion, 2-optimality, 3- optimality, etc. [12], which yield near optimal feasible solutions and provide an upper bound for the TSP. Thus using these algorithms it is possible to obtain a polynomially computable upper bound for the optimization problem considered here. 3.2 Second Formulation of Optimization Problem In this subsection we establish that the optimization problem is an instance of linear integer programming [8]. Thus techniques and software tools such as LINDO [15] for solving linear integer programming problems can be directly applied. In particular polynomially 8

9 computable lower bounds for the overall assembly time can be easily obtained by using any of the relaxation techniques such as linear programming relaxation, lagrangian relaxation etc. [8]. Let [π ijk ] n m n {0, 1} n m n be an n m n dimensional binary valued decision variable with the interpretation that for each i n, j m, k n, π ijk = 1 if and only if after placing the ith component, the pick-and-place robot picks a component from the jth pickup slot location and places it at the kth component location. Clearly, a travel time of [t ij + t kj ] is spent if and only if π ijk = 1. Thus the optimization problem can be formulated as: (P2) min (t ij + t kj )π ijk [π ijk ] {0,1} n m n i n j m subject to k n x ik := π ijk ; y jk := π ijk j m i n B1. x ik = 1; i n k n B2. x ik = 1; k n i n B3. x ik S 1; S {1,..., n} i S k S B4. y jk = y jk ; k τ 1 (τ(k)), k n, j m B5. 1 y l n τ 1 jk 1; j m (l) k τ 1 (l) Since π ijk represents the number of motions either zero or one from ith component location to kth component location that also visits the jth pickup slot location, x ik represents the total number of motions from ith component location to kth component location that visit any pickup slot location. Hence x ik = 1 if and only if component location k is visited immediately after visiting component location i. As noted in the previous subsection, a sequence in which component locations must be visited constitutes a Hamiltonian cycle. Hence x ik must satisfy the corresponding constraints B1-B3 [12]. (These constraints are exactly the same as constraints A1-A3 of the formulation given in the previous subsection.) Constraints B4-B5 are needed to ensure that components of the same type are picked from the same slot location, and each slot location contains at most one type of component. y jk represents the total number of motions from jth pickup slot location to kth component location. Note that for each k n y jk = π ijk = π ijk = x ik = 1, (13) j m i n i n j m i n j m which implies that y jk 1 for all j m and k n. Constraint B4 requires that a component location k is visited from a pickup slot location j if and only if all component locations with 9

10 components of the same type as component k are visited from jth pickup slot location (which implies that components of the same type are picked from the same pickup slot location). Constraint B5 requires that for each j m, number of motions from pickup slot location j to component locations with components of different types must not exceed one (which implies that each pickup slot location must contain at most one type of components). Remark 1 It is clear that P2 is an instance of a linear integer programming problem [8, 9] for which techniques of polynomial complexity for computing near optimal feasible solutions are well known. Such solutions provide upper bounds for the overall assembly time. Since it is computationally intractable to obtain an optimal solution of the optimization problem, it is impractical to obtain a direct measure of closeness of near optimal solutions to an optimal one. Hence it is desirable to obtain polynomially computable lower bounds for the overall assembly time: the gap between lower and upper bounds provides an indirect measure of closeness of near optimal solutions to an optimal one. Several algorithms of polynomial complexity are available in literature for obtaining a lower bound for a given linear integer programming problem [8]. In particular, a linear programming relaxation of P2, called LP, is obtained by letting the the decision variables [π ijk ] n m n take value in the n m n dimensional unit interval [0, 1] n m n {0, 1} n m n. Clearly, val(lp) val(p2). The technique of lagrangian relaxation [8] can also be considered to obtain a lower bound. Next we prove that P2 is equivalent to P1. Theorem 2 The optimization problems P1 and P2 as defined above are equivalent. Proof: We need to show that the given an instance of P1, it can be reduced to an instance of P2, and vice-versa. We begin by showing that given an instance of P1, it can be reduced to an instance of P2. Using the variables u ik and v jl of P1, we need to define the variables π ijk of P2, and using the constraints A1-A5 we need to establish the constraints B1-B5. For each i, j, k, define π ijk := u ik v jτ(k). With this definition, the objective function of P1 reduces to that of P2. Also, x ik := π ijk = u ik v jτ(k) = u ik v jτ(k) = u ik, j m j m where the last equality follows from constraint A4. Since u ik satisfies constraints A1-A3, it follows that x ik satisfies constraints B1-B3 as desired. Next consider y jk := π ijk = i n i n j m u ik v jτ(k) = v jτ(k) u ik = v jτ(k), (14) i n 10

11 where the last equality follows from constraint A2. Since y jk = v jτ(k), it follows that if k is such that k τ 1 (τ(k)), i.e., τ(k ) = τ(k), then y jk = v jτ(k ) = v jτ(k) = y jk, which shows that constraint B4 also holds. It remains to show that constraint B5 also holds. In view of constraint A5, it suffices to show for each j and l, 1 y τ 1 jk = v jl. (15) (l) k τ 1 (l) Since k τ 1 (l), we have τ(k) = l. Hence y jk = v jτ(k) = v jl, where the first equality follows from (14). Thus 1 τ 1 (l) k τ 1 (l) y jk = = 1 τ 1 (l) 1 τ 1 (l) v jl v jl k τ 1 (l) k τ 1 (l) 1 = 1 τ 1 (l) v ( jl τ 1 (l) ) = v jl, (16) as desired. Next we show that given an instance of P2, it can be reduced to an instance of P1. Using the variables π ijk of P2, we need to define the variables u ik and v jl of P1, and using the constraints B1-B5 we need to establish the constraints A1-A5. For each i, k, l, define u ik := x ik = j m π ijk and v jl := y jkl = i n π ijkl, where k l is such that τ(k l ) = l. Note that it follows from B4 that if k, k are such that τ(k ) = τ(k ), then y jk = y jk ; this implies that v jl is unambiguously defined. We need to show that with the above definition of u ik and v jl the objective function of P2 reduces to that of P1, i.e., we need to prove that π ijk = u ik v jτ(k) = x ik y jk, where the last equality follows from definitions of u ik and v jl. We have x ik y jk = = π ij kπ i jk = π ijk, π ij k j m π i jk i n j m i n where the last equality follows from constraint B2, which states that for each k n, there exists exactly one particular i n and one particular j m such that π ijk = 1. It remains to show that constraints A1-A5 also hold. Since u ik = x ik and constraints B1-B3 hold, it is immediate that constraints A1-A3 hold. In order to see that constraint A4 holds, consider v jl = y jkl = π ijkl = π ijkl = x ikl = 1, j m j m j m i n i n j m i n 11

12 where k l is such that τ(k l ) = l, and the last equality follows from B2. This proves that constraint A4 holds. Finally, since constraint B5 holds, in order to show that constraint A5 holds, it suffices to show that for each j and l equality of (15) holds. It follows from the definition of v jl that y jk = v jτ(k), and since k τ 1 (l), we have τ(k) = l. Hence y jk = v jl if k τ 1 (l). So the equality of (15) can be derived using a derivation similar to that of (16). The following corollary is an immediate consequence of Theorems 1 and 2: Corollary 1 Consider optimization problems P1, TSP, MWMP, P2, LP as defined above. Then val(lp) val(p2) = val(p1) [val(tsp) + val(mwmp)]. 4 Simulation Results Above we have proposed two different methods for optimizing assembly time of a given PCB: first one based on traveling salesman problem (for determining sequence of assembly) and minimum weight matching (for determining assignment of pickup slots); and second one based on linear integer programming (for determining sequence of assembly as well as assignment of pickup slots). In this section we describe the way in which we have implemented the two proposed methods, present some simulation results, and compare the effectiveness of our approach with other approaches that are currently in use in industries. In industrial settings, two different approaches, namely, type-writer method and S-shape method, are commonly used for determining sequence of assembly; and a greedy assignment algorithm is commonly used for determining assignment of pickup slots [6]. Figure 2 depicts the two methods for determining sequence of assembly. Both type-writer and S-shape Y Y X X Type-writer method S-shape method Figure 2: Diagram illustrating two commonly used sequencing methods methods use relative x-y coordinate location of each of the components to determine the sequence of assembly, and no information about the inter-component distances is used. In both 12

13 these methods, components with a smaller y-coordinate are assembled before components with a higher y-coordinate. In type-writer method, components of the same y-coordinate are always assembled in an increasing order of their x-coordinates; however, in S-shape method they are assembled in an increasing order of their x-coordinates and a decreasing order of their x-coordinates, alternately. The greedy assignment algorithm (GA) for determining an assignment of pickup slot locations works simply as follows: Firstly, the component types are prioritized according to their numbers. Thus given two types l 1 and l 2, l 1 is given priority in assignment of slots over l 2 if and only if number of components of type l 1 are more than number of components of type l 2, i.e., if τ 1 (l 1 ) > τ 1 (l 2 ). Next, the types with higher priority are assigned the nearest available slot location. In other words, if type l has the highest priority, then it is assigned to that pickup slot location j m for which the value t jl as defined in (6) is minimum. (Recall that t jl is the total down-loading time of all the components of type l when it is assigned the pickup slot location j.) Next we describe the technique that we use for the implementation of our proposed approach. We use a commercially available software package called SAS/OR for obtaining a solution of the minimum weight matching problem (MWMP) of the previous section, which determines the assignment of pickup slots. (This software is available on the University of Kentucky Computing Center (UKCC) machine.) Since an instance of MWMP is polynomially solvable, we are able to optimally solve this subproblem. We have developed our own software package called UKTSP for obtaining a near optimal solution of the traveling salesman problem (TSP) of the previous section, which determines the sequence of assembly. We use well known heuristics such as nearest neighbor, nearest insertion, furthest insertion, and random generation to generate an initial assembly sequence; and use other heuristics such as 2-optimality, 3-optimality, and or-optimality to improve upon the initially generated assembly sequence. (Refer to [12] for a detailed description of these heuristics.) This software has been developed on our UNIX based Engineering Computing Center (ECC) machine, and is encoded in the C-programming language. The lower bound for the optimal assembly time is obtained by implementing the second formulation of the problem. We apply the General Algebraic Modeling System software, called GAMS [16], which is available on UKCC, to solve the linear integer programming formulation P2. However in this case we are unable to exploit the inherent structure of the problem. In particular, we need to deal with order 1 O(2 n ) of subtour elimination constraints of B3. This exponential growth of the number of constraints makes it infeasible to to consider all the subtour elimination constraints, and we relax this constraint by eliminating the most commonly occurring subtours those of size two. Thus the lower bound we obtain is less tight than that obtainable by the LP relaxation of P2. However by adding higher order subtour elimination constraints it is possible to make the lower bounds tighter. A random number generation program available on an ECC machine is used for generating uniformly distributed component location as well as pickup slot location coordinates. We 1 Given two real-valued functions f( ) and g( ), f( ) is said to be of order g( ), denoted O(g( )), if there exists a constant c such that f( ) cg( ). 13

14 require that the coordinates of component locations and those of the pickup slot locations be chosen so as to represent a work place area, the central area of which represents the placement area, and the remaining represents the pickup area. We assume for simplicity that (i) no two components are of the same type, i.e., for each l, τ 1 (l) = 1, which implies that n = n; (ii) number of possible pickup slot locations is same as the number of types of components, i.e., m = n = n; and (iii) the travel time t ij from component location i and pickup slot location j equals the Euclidean distance between them. These assumptions are made only for ease in simulation, and do not reflect any restriction on the scope of our algorithms or software tools. Table 1 summarizes simulation results for 10 different test cases for n = 100. The first column lists the test number; the second column lists the assembly time using type-writer method (TW) together with greedy assignment algorithm (GA); the third column lists the assembly time using S-shape (SS) method together with greedy assignment algorithm; the fourth column lists the assembly time using our approach: TSP together with MWMP; the fifth column lists the percentage improvement over type-writer method together with greedy assignment algorithm; and finally the sixth column lists the percentage improvement over S-shape method together with greedy assignment algorithm. The above simulation results No. TW+GA SS+GA TSP+MWMP % Reduction wrt TW+GA SS+GA % 26.13% % 24.05% % 25.78% % 23.90% % 20.83% % 27.19% % 30.46% % 25.62% % 24.16% % 25.33% Average: 24.11% 25.35% Table 1: Table illustrating saving resulting from TSP+MWMP formulation suggest that our proposed approach can considerably improve the assembly time (up to 25%). Table 2 provides a measure of closeness of the near optimal solutions developed using TSP and MWMP to the optimal ones by considering the gap between the upper and lower bounds, which is defined as: [ ] upper bound lower bound gap := 100%. upper bound 14

15 Since the number of decision variables in P2 is of order O(n 3 ) (as opposed to of order O(n 2 ) in P1), we obtain the gap for six different cases where n ranges between 10 and 60 (as opposed to n = 100). First column lists the value of n selected; the second column lists the upper bound obtained using the proposed approach of TSP and MWMP; the third column lists the lower bound value obtained using the approach described above; finally the last column lists the gap: n Upper bound Lower bound Gap(%) % % % % % % Table 2: Closeness of the optimization algorithm The above simulation results suggest that the proposed optimization approach produces solutions that are less that 2% away from the optimal ones when the value of n is small (within 40). However as the value of n increases the chances of the presence of subtours of sizes larger than two increases resulting in conservative lower bounds and higher gap values. One should include higher order subtour elimination constraints to get faithful lower bounds at higher value of n, which, however, will require more powerful computing resources. 5 Conclusion In this paper we have presented two different formulations of the assembly time optimization problem in printed circuit board assembly. The overall assembly time for a given PCB depends upon the assignment of pickup slots as well as sequence of assembly. We have demonstrated that the the overall optimization problem is an instance of the linear integer programming problem, and that the techniques for solving well known combinatorial optimization problems such as minimum weight matching problem and traveling salesman problem can be successfully applied to determine near optimal solutions for the optimization problem. Simulation results show a consistent assembly time saving of 25% over some of the techniques currently in use in industrial settings. Also, the proposed approach is of polynomial time complexity O(n 3 ), and provides solutions that are close to the optimal ones. 15

16 Acknowledgment We would like to thank our colleagues Prof. C. Lee of Department of Mathematics, Prof. L. E. Holloway of Department of Electrical Engineering, and Mr. Rod Heard of Center for Robotics and Manufacturing for useful discussions during the course of this work. References [1] A. A. Desrochers, editor. Modeling and Control of Automated Manufacturing Systems. IEEE Computer Society Press, Washington, DC, [2] R. K. Jurgen, editor. Computers and Manufacturing Productivity. IEEE Press, New York, NY, [3] Quad Systems Corporation, Horsham, PA. QuadStar 100 Manual, October [4] D. Chan and D. Mercier. IC insertion: an application of the traveling salesman problem. International Journal of Productions Research, 27(10): , [5] M. O. Ball and M. J. Magazine. Sequencing of insertion in printed circuit board assembly. Operations Research, 36: , [6] K. A. Downs, R. J. Linn, and N. L. Martinson. Sequencing methods for single in-line packages in pcb assembly. Manufacturing Review, 5(3): , September [7] M. Sadiq, T. L. Landers, and G. D. Taylor. A heuristic algorithm for minimizing total production time for a sequence of jobs on a surface mount placement machine. International Journal of Productions Research, 31(6): , [8] G. L. Nemhauser and L. A. Wolsey. Integer and Combinatorial Optimization. John Wiley and Sons, [9] M. Minoux. Mathematical Programming: Theory and Algorithms. John Wiley and Sons, [10] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Company, [11] C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice Hall, Inc., [12] E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, and D. B. Shmoys, editors. The Traveling Salesman Problem. John Wiley and Sons, [13] R. Kumar and Haomin Li. Assembly time optimization for PCB assembly. In Proceedings of 1994 American Control Conference, pages , June

17 [14] E. Lawler. Combinatorial Optimization: Networks and Matroids. Saunders College Publishing, [15] L. Schrage. User s manual for linear, integer and quadratic programming with LINDO. The Scientific Press, Redwood City, CA, [16] A. Brooke, D. Kendrick, and A. Meerhaus. GAMS, A User s Guide. Scientific Press, Redwood City, CA,

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004 Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

More information

Discuss the size of the instance for the minimum spanning tree problem.

Discuss the size of the instance for the minimum spanning tree problem. 3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

More information

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines 2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

Offline sorting buffers on Line

Offline sorting buffers on Line Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

More information

THE SCHEDULING OF MAINTENANCE SERVICE

THE SCHEDULING OF MAINTENANCE SERVICE THE SCHEDULING OF MAINTENANCE SERVICE Shoshana Anily Celia A. Glass Refael Hassin Abstract We study a discrete problem of scheduling activities of several types under the constraint that at most a single

More information

The Conference Call Search Problem in Wireless Networks

The Conference Call Search Problem in Wireless Networks The Conference Call Search Problem in Wireless Networks Leah Epstein 1, and Asaf Levin 2 1 Department of Mathematics, University of Haifa, 31905 Haifa, Israel. lea@math.haifa.ac.il 2 Department of Statistics,

More information

CHAPTER 9. Integer Programming

CHAPTER 9. Integer Programming CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

More information

9.2 Summation Notation

9.2 Summation Notation 9. Summation Notation 66 9. Summation Notation In the previous section, we introduced sequences and now we shall present notation and theorems concerning the sum of terms of a sequence. We begin with a

More information

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 8, No 2 Sofia 2008 Optimal Scheduling for Dependent Details Processing Using MS Excel Solver Daniela Borissova Institute of

More information

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

More information

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company The Problem of Scheduling Technicians and Interventions in a Telecommunications Company Sérgio Garcia Panzo Dongala November 2008 Abstract In 2007 the challenge organized by the French Society of Operational

More information

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

More information

NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

More information

Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

More information

Duplicating and its Applications in Batch Scheduling

Duplicating and its Applications in Batch Scheduling Duplicating and its Applications in Batch Scheduling Yuzhong Zhang 1 Chunsong Bai 1 Shouyang Wang 2 1 College of Operations Research and Management Sciences Qufu Normal University, Shandong 276826, China

More information

Discrete Optimization

Discrete Optimization Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

More information

The Trip Scheduling Problem

The Trip Scheduling Problem The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

More information

ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

More information

Chapter 6 TRAVELLING SALESMAN PROBLEM

Chapter 6 TRAVELLING SALESMAN PROBLEM 98 hapter 6 TRVLLING SLSMN PROLM 6.1 Introduction The Traveling Salesman Problem (TSP) is a problem in combinatorial optimization studied in operations research and theoretical computer science. Given

More information

Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach

Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach Information and Management Sciences Volume 19, Number 2, pp. 237-243, 2008 Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach P. Ji Y. F. Wan Hong

More information

24. The Branch and Bound Method

24. The Branch and Bound Method 24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

More information

Precedence constrained TSP arising in printed circuit board assembly

Precedence constrained TSP arising in printed circuit board assembly int. j. prod. res., 2004, vol. 42, no. 1, 67 78 Precedence constrained TSP arising in printed circuit board assembly E. DUMANy* and I. ORz Component placement sequencing is a challenging problem that arises

More information

Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

More information

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

More information

Classification - Examples

Classification - Examples Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

More information

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

More information

UNIT 2 MATRICES - I 2.0 INTRODUCTION. Structure

UNIT 2 MATRICES - I 2.0 INTRODUCTION. Structure UNIT 2 MATRICES - I Matrices - I Structure 2.0 Introduction 2.1 Objectives 2.2 Matrices 2.3 Operation on Matrices 2.4 Invertible Matrices 2.5 Systems of Linear Equations 2.6 Answers to Check Your Progress

More information

Offline 1-Minesweeper is NP-complete

Offline 1-Minesweeper is NP-complete Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.

More information

Randomization Approaches for Network Revenue Management with Customer Choice Behavior

Randomization Approaches for Network Revenue Management with Customer Choice Behavior Randomization Approaches for Network Revenue Management with Customer Choice Behavior Sumit Kunnumkal Indian School of Business, Gachibowli, Hyderabad, 500032, India sumit kunnumkal@isb.edu March 9, 2011

More information

Chapter 13: Binary and Mixed-Integer Programming

Chapter 13: Binary and Mixed-Integer Programming Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

More information

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE Subodha Kumar University of Washington subodha@u.washington.edu Varghese S. Jacob University of Texas at Dallas vjacob@utdallas.edu

More information

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS. R u t c o r Research R e p o r t A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS Navid Hashemian a Béla Vizvári b RRR 3-2011, February 21, 2011 RUTCOR Rutgers

More information

4. MATRICES Matrices

4. MATRICES Matrices 4. MATRICES 170 4. Matrices 4.1. Definitions. Definition 4.1.1. A matrix is a rectangular array of numbers. A matrix with m rows and n columns is said to have dimension m n and may be represented as follows:

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

2.3 Convex Constrained Optimization Problems

2.3 Convex Constrained Optimization Problems 42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

More information

Week 5 Integral Polyhedra

Week 5 Integral Polyhedra Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

More information

The Characteristic Polynomial

The Characteristic Polynomial Physics 116A Winter 2011 The Characteristic Polynomial 1 Coefficients of the characteristic polynomial Consider the eigenvalue problem for an n n matrix A, A v = λ v, v 0 (1) The solution to this problem

More information

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

More information

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

More information

Ecient approximation algorithm for minimizing makespan. on uniformly related machines. Chandra Chekuri. November 25, 1997.

Ecient approximation algorithm for minimizing makespan. on uniformly related machines. Chandra Chekuri. November 25, 1997. Ecient approximation algorithm for minimizing makespan on uniformly related machines Chandra Chekuri November 25, 1997 Abstract We obtain a new ecient approximation algorithm for scheduling precedence

More information

An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines

An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines This is the Pre-Published Version. An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines Q.Q. Nong, T.C.E. Cheng, C.T. Ng Department of Mathematics, Ocean

More information

Approximability of Two-Machine No-Wait Flowshop Scheduling with Availability Constraints

Approximability of Two-Machine No-Wait Flowshop Scheduling with Availability Constraints Approximability of Two-Machine No-Wait Flowshop Scheduling with Availability Constraints T.C. Edwin Cheng 1, and Zhaohui Liu 1,2 1 Department of Management, The Hong Kong Polytechnic University Kowloon,

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm. Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

More information

Automated SEO. A Market Brew White Paper

Automated SEO. A Market Brew White Paper Automated SEO A Market Brew White Paper Abstract In this paper, we use the term Reach to suggest the forecasted traffic to a particular webpage or website. Reach is a traffic metric that describes an expected

More information

Direct Methods for Solving Linear Systems. Matrix Factorization

Direct Methods for Solving Linear Systems. Matrix Factorization Direct Methods for Solving Linear Systems Matrix Factorization Numerical Analysis (9th Edition) R L Burden & J D Faires Beamer Presentation Slides prepared by John Carroll Dublin City University c 2011

More information

Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH 31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

More information

A Mathematical Programming Solution to the Mars Express Memory Dumping Problem

A Mathematical Programming Solution to the Mars Express Memory Dumping Problem A Mathematical Programming Solution to the Mars Express Memory Dumping Problem Giovanni Righini and Emanuele Tresoldi Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano Via Bramante

More information

Classification - Examples -1- 1 r j C max given: n jobs with processing times p 1,..., p n and release dates

Classification - Examples -1- 1 r j C max given: n jobs with processing times p 1,..., p n and release dates Lecture 2 Scheduling 1 Classification - Examples -1-1 r j C max given: n jobs with processing times p 1,..., p n and release dates r 1,..., r n jobs have to be scheduled without preemption on one machine

More information

Adaptive Linear Programming Decoding

Adaptive Linear Programming Decoding Adaptive Linear Programming Decoding Mohammad H. Taghavi and Paul H. Siegel ECE Department, University of California, San Diego Email: (mtaghavi, psiegel)@ucsd.edu ISIT 2006, Seattle, USA, July 9 14, 2006

More information

Optimal shift scheduling with a global service level constraint

Optimal shift scheduling with a global service level constraint Optimal shift scheduling with a global service level constraint Ger Koole & Erik van der Sluis Vrije Universiteit Division of Mathematics and Computer Science De Boelelaan 1081a, 1081 HV Amsterdam The

More information

NOTES ON LINEAR TRANSFORMATIONS

NOTES ON LINEAR TRANSFORMATIONS NOTES ON LINEAR TRANSFORMATIONS Definition 1. Let V and W be vector spaces. A function T : V W is a linear transformation from V to W if the following two properties hold. i T v + v = T v + T v for all

More information

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen MASTER STHESIS Minimizing costs for transport buyers using integer programming and column generation Eser Esirgen DepartmentofMathematicalSciences CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG

More information

Minimize subject to. x S R

Minimize subject to. x S R Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

More information

Cross-Layer Survivability in WDM-Based Networks

Cross-Layer Survivability in WDM-Based Networks Cross-Layer Survivability in WDM-Based Networks Kayi Lee, Member, IEEE, Eytan Modiano, Senior Member, IEEE, Hyang-Won Lee, Member, IEEE, Abstract In layered networks, a single failure at a lower layer

More information

A network flow algorithm for reconstructing. binary images from discrete X-rays

A network flow algorithm for reconstructing. binary images from discrete X-rays A network flow algorithm for reconstructing binary images from discrete X-rays Kees Joost Batenburg Leiden University and CWI, The Netherlands kbatenbu@math.leidenuniv.nl Abstract We present a new algorithm

More information

Adaptive Search with Stochastic Acceptance Probabilities for Global Optimization

Adaptive Search with Stochastic Acceptance Probabilities for Global Optimization Adaptive Search with Stochastic Acceptance Probabilities for Global Optimization Archis Ghate a and Robert L. Smith b a Industrial Engineering, University of Washington, Box 352650, Seattle, Washington,

More information

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok Research Paper Business Analytics Applications for the Vehicle Routing Problem Jelmer Blok Applications for the Vehicle Routing Problem Jelmer Blok Research Paper Vrije Universiteit Amsterdam Faculteit

More information

Fast Generation of Optimal Music Playlists using Local Search

Fast Generation of Optimal Music Playlists using Local Search Fast Generation of Optimal Music Playlists using Local Search Steffen Pauws, Wim Verhaegh, Mark Vossen Philips Research Europe High Tech Campus 34 5656 AE Eindhoven The Netherlands steffen.pauws/wim.verhaegh@philips.com

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

Computational complexity theory

Computational complexity theory Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision

More information

Distributed and Scalable QoS Optimization for Dynamic Web Service Composition

Distributed and Scalable QoS Optimization for Dynamic Web Service Composition Distributed and Scalable QoS Optimization for Dynamic Web Service Composition Mohammad Alrifai L3S Research Center Leibniz University of Hannover, Germany alrifai@l3s.de Supervised by: Prof. Dr. tech.

More information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

More information

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

A Sublinear Bipartiteness Tester for Bounded Degree Graphs

A Sublinear Bipartiteness Tester for Bounded Degree Graphs A Sublinear Bipartiteness Tester for Bounded Degree Graphs Oded Goldreich Dana Ron February 5, 1998 Abstract We present a sublinear-time algorithm for testing whether a bounded degree graph is bipartite

More information

In this paper we present a branch-and-cut algorithm for

In this paper we present a branch-and-cut algorithm for SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCH-AND-CUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;

More information

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. An Improved Approximation Algorithm for the Traveling Tournament Problem

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. An Improved Approximation Algorithm for the Traveling Tournament Problem MATHEMATICAL ENGINEERING TECHNICAL REPORTS An Improved Approximation Algorithm for the Traveling Tournament Problem Daisuke YAMAGUCHI, Shinji IMAHORI, Ryuhei MIYASHIRO, Tomomi MATSUI METR 2009 42 September

More information

A matrix over a field F is a rectangular array of elements from F. The symbol

A matrix over a field F is a rectangular array of elements from F. The symbol Chapter MATRICES Matrix arithmetic A matrix over a field F is a rectangular array of elements from F The symbol M m n (F) denotes the collection of all m n matrices over F Matrices will usually be denoted

More information

Diagonal, Symmetric and Triangular Matrices

Diagonal, Symmetric and Triangular Matrices Contents 1 Diagonal, Symmetric Triangular Matrices 2 Diagonal Matrices 2.1 Products, Powers Inverses of Diagonal Matrices 2.1.1 Theorem (Powers of Matrices) 2.2 Multiplying Matrices on the Left Right by

More information

A class of on-line scheduling algorithms to minimize total completion time

A class of on-line scheduling algorithms to minimize total completion time A class of on-line scheduling algorithms to minimize total completion time X. Lu R.A. Sitters L. Stougie Abstract We consider the problem of scheduling jobs on-line on a single machine and on identical

More information

Load Balancing and Switch Scheduling

Load Balancing and Switch Scheduling EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: liuxh@systems.stanford.edu Abstract Load

More information

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

1 Solving LPs: The Simplex Algorithm of George Dantzig

1 Solving LPs: The Simplex Algorithm of George Dantzig Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

More information

A binary search algorithm for a special case of minimizing the lateness on a single machine

A binary search algorithm for a special case of minimizing the lateness on a single machine Issue 3, Volume 3, 2009 45 A binary search algorithm for a special case of minimizing the lateness on a single machine Nodari Vakhania Abstract We study the problem of scheduling jobs with release times

More information

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

More information

Inverse Optimization by James Orlin

Inverse Optimization by James Orlin Inverse Optimization by James Orlin based on research that is joint with Ravi Ahuja Jeopardy 000 -- the Math Programming Edition The category is linear objective functions The answer: When you maximize

More information

FE670 Algorithmic Trading Strategies. Stevens Institute of Technology

FE670 Algorithmic Trading Strategies. Stevens Institute of Technology FE670 Algorithmic Trading Strategies Lecture 6. Portfolio Optimization: Basic Theory and Practice Steve Yang Stevens Institute of Technology 10/03/2013 Outline 1 Mean-Variance Analysis: Overview 2 Classical

More information

Introduction to NP-Completeness Written and copyright c by Jie Wang 1

Introduction to NP-Completeness Written and copyright c by Jie Wang 1 91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of

More information

On the Relationship between Classes P and NP

On the Relationship between Classes P and NP Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,

More information

Adaptive Online Gradient Descent

Adaptive Online Gradient Descent Adaptive Online Gradient Descent Peter L Bartlett Division of Computer Science Department of Statistics UC Berkeley Berkeley, CA 94709 bartlett@csberkeleyedu Elad Hazan IBM Almaden Research Center 650

More information

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute

More information

Notes 11: List Decoding Folded Reed-Solomon Codes

Notes 11: List Decoding Folded Reed-Solomon Codes Introduction to Coding Theory CMU: Spring 2010 Notes 11: List Decoding Folded Reed-Solomon Codes April 2010 Lecturer: Venkatesan Guruswami Scribe: Venkatesan Guruswami At the end of the previous notes,

More information

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Minimizing the Number of Machines in a Unit-Time Scheduling Problem Minimizing the Number of Machines in a Unit-Time Scheduling Problem Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.bas-net.by Frank

More information

The Solution of Linear Simultaneous Equations

The Solution of Linear Simultaneous Equations Appendix A The Solution of Linear Simultaneous Equations Circuit analysis frequently involves the solution of linear simultaneous equations. Our purpose here is to review the use of determinants to solve

More information

Polynomials. Dr. philippe B. laval Kennesaw State University. April 3, 2005

Polynomials. Dr. philippe B. laval Kennesaw State University. April 3, 2005 Polynomials Dr. philippe B. laval Kennesaw State University April 3, 2005 Abstract Handout on polynomials. The following topics are covered: Polynomial Functions End behavior Extrema Polynomial Division

More information

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and Hyeong-Ah Choi Department of Electrical Engineering and Computer Science George Washington University Washington,

More information

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J. A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of

More information

Section 1.1. Introduction to R n

Section 1.1. Introduction to R n The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

More information

MODELING RANDOMNESS IN NETWORK TRAFFIC

MODELING RANDOMNESS IN NETWORK TRAFFIC MODELING RANDOMNESS IN NETWORK TRAFFIC - LAVANYA JOSE, INDEPENDENT WORK FALL 11 ADVISED BY PROF. MOSES CHARIKAR ABSTRACT. Sketches are randomized data structures that allow one to record properties of

More information

n k=1 k=0 1/k! = e. Example 6.4. The series 1/k 2 converges in R. Indeed, if s n = n then k=1 1/k, then s 2n s n = 1 n + 1 +...

n k=1 k=0 1/k! = e. Example 6.4. The series 1/k 2 converges in R. Indeed, if s n = n then k=1 1/k, then s 2n s n = 1 n + 1 +... 6 Series We call a normed space (X, ) a Banach space provided that every Cauchy sequence (x n ) in X converges. For example, R with the norm = is an example of Banach space. Now let (x n ) be a sequence

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Chapter 11 Equilibrium

Chapter 11 Equilibrium 11.1 The First Condition of Equilibrium The first condition of equilibrium deals with the forces that cause possible translations of a body. The simplest way to define the translational equilibrium of

More information

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees in The Vehicle Routing Problem: Latest Advances and New Challenges Modeling and Solving the Capacitated Vehicle Routing Problem on Trees Bala Chandran 1 and S. Raghavan 2 1 Department of Industrial Engineering

More information