Integer Programming Approach to Printed Circuit Board Assembly Time Optimization


 Johnathan Stephens
 2 years ago
 Views:
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 pickandplace 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 NSFECS
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 pickandplace 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 pickandplace head on it. The carriage moves horizontally on tracks in, say, Xdirection, 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 Zdirection 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 pickandplace 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 upwardlooking 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 typewriter method and Sshape 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 setup 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 NPcomplete problem [10], we obtain polynomiallycomputable nearoptimal 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 subassembly problems, each with exactly one gripper. Next we formulate one such subassembly 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 setup 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. Polynomiallycomputable 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 A1A3 [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 uploading 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 downloading 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 downloading time j m l n t jl v jl, i.e., [vjl] m n := arg min [v jl ] {0,1} m n subject to A4A5 Then for the optimization problem P1 we have: min [u ik ] {0,1} n n,[v jl ] {0,1} m n subject to A1A5 = min [u ik ] {0,1} n n,[y jl ] {0,1} m n subject to A1A5 min [u ik ] {0,1} n n subject to A1A5 = min [u ik ] {0,1} n n subject to A1A3 = min [u ik ] {0,1} n n subject to A1A3 = min [u ik ] {0,1} n n subject to A1A3 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 A4A5 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 A1A3 t iku ik ; t ik defined in (12) i n k n (MWMP) min [v jl ] {0,1} m n subject to A4A5 t jl v jl ; t jl defined in (6). j m l n Note that constraints A1A3 correspond to the traveling salesman problem constraints [12], and constraints A4A5 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 NPcomplete [10]. Fortunately, there exist several polynomial time algorithms, such as nearest neighbor, nearest insertion, 2optimality, 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 pickandplace 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 B1B3 [12]. (These constraints are exactly the same as constraints A1A3 of the formulation given in the previous subsection.) Constraints B4B5 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 viceversa. 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 A1A5 we need to establish the constraints B1B5. 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 A1A3, it follows that x ik satisfies constraints B1B3 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 B1B5 we need to establish the constraints A1A5. 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 A1A5 also hold. Since u ik = x ik and constraints B1B3 hold, it is immediate that constraints A1A3 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, typewriter method and Sshape 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 typewriter and Sshape Y Y X X Typewriter method Sshape method Figure 2: Diagram illustrating two commonly used sequencing methods methods use relative xy coordinate location of each of the components to determine the sequence of assembly, and no information about the intercomponent distances is used. In both 12
13 these methods, components with a smaller ycoordinate are assembled before components with a higher ycoordinate. In typewriter method, components of the same ycoordinate are always assembled in an increasing order of their xcoordinates; however, in Sshape method they are assembled in an increasing order of their xcoordinates and a decreasing order of their xcoordinates, 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 downloading 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 2optimality, 3optimality, and oroptimality 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 Cprogramming 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 realvalued 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 typewriter method (TW) together with greedy assignment algorithm (GA); the third column lists the assembly time using Sshape (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 typewriter method together with greedy assignment algorithm; and finally the sixth column lists the percentage improvement over Sshape 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 inline 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 NPCompleteness. 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,
JUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
More informationDiscuss 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 information5 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 informationApproximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NPCompleteness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
More information2.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 informationApplied 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 informationOffline 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 informationTHE 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 informationThe 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 informationCHAPTER 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 information9.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 informationOptimal 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 informationComplexity 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 informationThe 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 informationMathematics Course 111: Algebra I Part IV: Vector Spaces
Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 19967 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are
More informationNPCompleteness and Cook s Theorem
NPCompleteness 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 informationLecture 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 informationDuplicating 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 informationDiscrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.14.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 20150331 Todays presentation Chapter 3 Transforms using
More informationThe 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 informationON 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 informationChapter 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 informationMinimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a BranchandBound Approach
Information and Management Sciences Volume 19, Number 2, pp. 237243, 2008 Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a BranchandBound Approach P. Ji Y. F. Wan Hong
More information24. 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 NPcomplete. Then one can conclude according to the present state of science that no
More informationPrecedence 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 informationTransportation 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 informationprinceton 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 informationClassification  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 informationIntroduction 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 informationUNIT 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 informationOffline 1Minesweeper is NPcomplete
Offline 1Minesweeper is NPcomplete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NPcompleteness proofs, arguments that establish the hardness of solving certain problems.
More informationRandomization 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 informationChapter 13: Binary and MixedInteger Programming
Chapter 3: Binary and MixedInteger 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 polytime. ! Solve arbitrary instances of the problem. #approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of three
More informationApproximation 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 informationHYBRID 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 informationR 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 32011, February 21, 2011 RUTCOR Rutgers
More information4. 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 informationBranchandPrice Approach to the Vehicle Routing Problem with Time Windows
TECHNISCHE UNIVERSITEIT EINDHOVEN BranchandPrice 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 information2.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 informationWeek 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 informationThe 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 informationA Branch and Bound Algorithm for Solving the Binary Bilevel Linear Programming Problem
A Branch and Bound Algorithm for Solving the Binary Bilevel Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,
More informationChapter 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 NPhard problem. What should I do? A. Theory says you're unlikely to find a polytime algorithm. Must sacrifice one
More informationEcient 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 informationAn improved online algorithm for scheduling on two unrestrictive parallel batch processing machines
This is the PrePublished Version. An improved online 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 informationApproximability of TwoMachine NoWait Flowshop Scheduling with Availability Constraints
Approximability of TwoMachine NoWait 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 polytime. ! Solve arbitrary instances of the problem. !approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of
More informationAutomated 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 informationDirect 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 informationFairness 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 information11. 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 informationSHARP 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 informationA 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 informationClassification  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 11 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 informationAdaptive 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 informationOptimal 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 informationNOTES 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 informationMinimizing 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 informationMinimize 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 informationCrossLayer Survivability in WDMBased Networks
CrossLayer Survivability in WDMBased Networks Kayi Lee, Member, IEEE, Eytan Modiano, Senior Member, IEEE, HyangWon Lee, Member, IEEE, Abstract In layered networks, a single failure at a lower layer
More informationA network flow algorithm for reconstructing. binary images from discrete Xrays
A network flow algorithm for reconstructing binary images from discrete Xrays Kees Joost Batenburg Leiden University and CWI, The Netherlands kbatenbu@math.leidenuniv.nl Abstract We present a new algorithm
More informationAdaptive 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 informationResearch 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 informationFast 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 information5.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 FordFulkerson
More informationComputational 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 informationDistributed 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 informationScheduling 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 informationINTEGER 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 informationA 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 sublineartime algorithm for testing whether a bounded degree graph is bipartite
More informationIn this paper we present a branchandcut algorithm for
SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCHANDCUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;
More informationMATHEMATICAL 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 informationA 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 informationDiagonal, 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 informationA class of online scheduling algorithms to minimize total completion time
A class of online scheduling algorithms to minimize total completion time X. Lu R.A. Sitters L. Stougie Abstract We consider the problem of scheduling jobs online on a single machine and on identical
More informationLoad 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 informationNan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA
A Factor 1 2 Approximation Algorithm for TwoStage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce
More informationInformation 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 ShannonFanoElias Coding and Introduction to Arithmetic Coding
More information1 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 informationA 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 informationRecovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branchandbound approach
MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branchandbound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical
More informationInverse 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 informationFE670 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 MeanVariance Analysis: Overview 2 Classical
More informationIntroduction to NPCompleteness 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 timebounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of
More informationOn the Relationship between Classes P and NP
Journal of Computer Science 8 (7): 10361040, 2012 ISSN 15493636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,
More informationAdaptive 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 informationAnalysis of Approximation Algorithms for kset Cover using FactorRevealing Linear Programs
Analysis of Approximation Algorithms for kset Cover using FactorRevealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute
More informationNotes 11: List Decoding Folded ReedSolomon Codes
Introduction to Coding Theory CMU: Spring 2010 Notes 11: List Decoding Folded ReedSolomon Codes April 2010 Lecturer: Venkatesan Guruswami Scribe: Venkatesan Guruswami At the end of the previous notes,
More informationMinimizing the Number of Machines in a UnitTime Scheduling Problem
Minimizing the Number of Machines in a UnitTime Scheduling Problem Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.basnet.by Frank
More informationThe 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 informationPolynomials. 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 informationBicolored Shortest Paths in Graphs with Applications to Network Overlay Design
Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and HyeongAh Choi Department of Electrical Engineering and Computer Science George Washington University Washington,
More informationARTICLE 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 twostage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of
More informationSection 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 informationMODELING 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 informationn 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 informationScheduling 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 informationChapter 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 informationModeling 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