6 research outputs found

    Complexity of scheduling multiprocessor tasks with prespecified processor allocations

    Get PDF
    We investigate the computational complexity of scheduling multiprocessor tasks with prespecified processor allocations. We consider two criteria: minimizing schedule length and minimizing the sum of the task completion times. In addition, we investigate the complexity of problems when precedence constraints or release dates are involved

    General multiprocessor task scheduling.

    Get PDF
    Abstract: Most papers in the scheduling field assume that a job can be processed by only one machine at a time. Namely, they use a one-job-on-one-machine model. In many industry settings, this may not be an adequate model. Motivated by human resource planning, diagnosable microprocessor systems, berth allocation, and manufacturing systems that may require several resources simultaneously to process a job, we study the problem with a one-job-on-multiplemachine model. In our model, there are several alternatives that can be used to process a job. In each alternative, several machines need to process simultaneously the job assigned. Our purpose is to select an alternative for each job and then to schedule jobs to minimize the completion time of all jobs. In this paper, we provide a pseudopolynomial algorithm to solve optimally the two-machine problem, and a combination of a fully polynomial scheme and a heuristic to solve the three-machine problem. We then extend the results to a general m-machine problem. Our algorithms also provide an effective lower bounding scheme which lays the foundation for solving optimally the general m-machine problem. Furthermore, our algorithms can also be applied to solve a special case of the three-machine problem in pseudopolynomial time. Both pseudopolynomial algorithms (for two-machine and three-machine problems) are much more efficient than those in the literature. © 1999 John Wiley & Sons, Inc. Naval Research Logistics 46: 57-74, 1999 INTRODUCTION Due to the popularity of just-in-time and total quality management concepts, scheduling has played an important role in satisfying customer's expectation for on-time delivery. In the last four decades, many papers have been published in the scheduling area. There is a common assumption in the scheduling literature of a one-job-on-one-machine pattern. That is, at a given time, each job can be processed on only one machine. In many industry applications, this may not be an adequate model. Namely, a job may be processed simultaneously by several machines. For example, in semiconductor circuit design workforce planning, a design project is to be processed by m persons (a team of people). The project contains n tasks, and each task can be worked on by one of a set of alternatives, where each alternative contains one or more persons working simultaneously on that particular task. Task 1 can either be handled by person 1 and person 2 together, by person 1 and person 3 together, or just handled by person 1 alone. The processing time of each task depends on the group being assigned to handle the task. A group is formed when a set of people is working on a particular task, but a person may not belong to a fixed group all the time. Our goal is to assign these n tasks to m persons in order to minimize the project finishing time. Other applications can be found in (i) the berth allocation problems, where a large vessel may occupy several berths for loading and/or unloading, (ii) diagnosable microprocessor systems (Krawczyk and Kubale [20]), where a job must be performed on parallel processors in order to detect faults, (iii) manufacturing, where a job may need machines, tools, and people simultaneously, and (iv) scheduling a sequence of meetings where each meeting requires a certain group of people (Dobson and Karmarker [13]). In all the above examples, one job may need to be processed by several machines simultaneously. In literature we call this multiprocessor task scheduling (Drozdowski [15]) or a one-job-on-multiplemachine problem (Lee and Cai [24]). We are interested in the problem with a one-job-on-multiple-machine pattern. To describe the problem concisely we introduce the notation first. There are n jobs to be processed on m machines, and N(i) : the number of alternative machine sets to which job J i can be assigned, t i,I : the processing time of job J i if it is assigned to the processors in set I, where I is a set of machines (for example, t i,12 is the processing time of J i assigned to Processors 1 and 2). In this paper, job and task will be used interchangeably, and machine and processor will also be used interchangeably. For example, we may have four jobs to be processed by three machines. The alternative machine sets that can process each job are shown in the following matrices. J 1 can be processed by one of six alternatives (N(1) ϭ 6): {M 1 ,M 2 ,M 3 }, {M 1 ,M 2 }, {M 1 ,M 3 }, {M 2 ,M 3 }, {M 2 } or {M 3 }, with corresponding processing times t 1,123 ϭ 2, t 1,12 ϭ 3, t 1,13 ϭ 3, t 1,23 ϭ 3, t 1,2 ϭ 6, and t 1,3 ϭ 8. Therefore, if J 1 is processed by the first alternative: {M 1 ,M 2 ,M 3 } (represented by the first column in the first matrix where an entry of 1 in row j means that M j belongs to alternative 1), then the processing time is t 1,123 ϭ 2. Our purpose is to schedule jobs with a particular objective function. Vol. 46 (1999) In general, for the m-machine problem, the maximum possible number of alternative sets for Actually, for notational convenience we can always assume that ͪ for all i and let t iI ϭ ϱ for those I such that job i cannot be processed in parallel by processors with indices in I. In the above example, t 2,12 , t 2,13 , and t 2,3 are all equal to ϱ. In this paper, we are particularly interested in m ϭ 2 and 3. Hence for all i, we have N(i) ϭ 3 and 7 for m ϭ 2 and 3 respectively. There are two special cases that have been studied in the scheduling literature. In the first special case, N(i) ϭ 1 for all i. Namely, for each job a specifically fixed set of machines is assigned to it. We call this problem a fixed multiprocessor task scheduling problem. The second class of problems assumes that each job may require a fixed number of processors working simultaneously, yet the machines required are not specified. In the example above, if only t 1,12 , t 1,13 , t 1,23 , t 2,123 , t 3,1 , t 3,2 , t 3,3 , t 4,1 , t 4,2 , and t 4,3 are finite numbers, then it is equivalent to the problem where J 1 needs to be processed by two machines (any two machines simultaneously with processing time 3), J 2 by three machines simultaneously (with processing time 4) and jobs J 3 and J 4 by only one machine (with processing times 8 and 4, respectively). We call this problem a sized multiprocessor task scheduling problem. Blazewicz, Weglarz, and Drabowski To refer to the problem under study more precisely, we follow the standard notation used in scheduling literature. We use Pm͉set j ͉C max to denote the general problem of minimizing the makespan of multiprocessor tasks in the m-parallel-machine problem, where each job can be processed by a set of alternatives, and each alternative contains one or more machines simultaneously. Also, we use Pm͉fix j ͉C max to denote the first special case where the alternative assigned to each job has been fixed in advance. The paper is organized in the following way. In Section 1, we study the problem characteristics and provide some optimality properties. Section 2 discusses the two-machine problem. In particular, we provide a pseudopolynomial algorithm with running time O(nT 0 ) to solve the 59 Chen and Lee: General Multiprocessor Task Scheduling problem optimally. Section 3 discusses the three-machine problem. We provide a pseudopolynomial algorithm with running time O(nT 0 2 ) to find an effective lower bound for the optimal makespan and to solve optimally a special case of the problem. Both of our pseudopolynomial algorithms significantly improve previous results in the literature. We also provide a combination of a fully polynomial scheme and a heuristic method, with time complexity O(n 3 / 2 ) and error bound (3/2)(1 ϩ ), to solve the general three-machine problem. Section 4 extends our results to the m-machine problem. Finally, Section 5 concludes with a summary and a discussion of some future research topics

    Multi-processor job scheduling with genetic algorithms.

    Get PDF
    by Hoi Wing, Yung.Thesis (M.Phil.)--Chinese University of Hong Kong, 1999.Includes bibliographical references (leaves 56-60).Abstracts in English and Chinese.List of Figures --- p.vList of Tables --- p.viChapter 1 --- Introduction --- p.1Chapter 1.1 --- Overview --- p.1Chapter 1.2 --- Literature Review --- p.3Chapter 1.2.1 --- On the Fixed Multiprocessor Job Scheduling Problems --- p.6Chapter 1.2.2 --- On the Nonfixed Multiprocessor Job Scheduling Problems --- p.8Chapter 1.3 --- Problem Formulation --- p.12Chapter 1.4 --- Organization of the Thesis --- p.13Chapter 2 --- Genetic Algorithms --- p.15Chapter 2.1 --- Basic Concepts --- p.15Chapter 2.2 --- Main components --- p.17Chapter 3 --- A New Genetic Algorithm --- p.24Chapter 3.1 --- Coding --- p.25Chapter 3.1.1 --- Simple Example --- p.28Chapter 3.2 --- Similarity of Chromosomes --- p.30Chapter 3.3 --- Fitness Evaluation --- p.33Chapter 3.4 --- Configurations --- p.35Chapter 3.4.1 --- Parent Selection --- p.35Chapter 3.4.2 --- Multipoint Crossover --- p.36Chapter 3.4.3 --- Multipoint Mutation --- p.38Chapter 3.4.4 --- Replacement Step --- p.38Chapter 3.4.5 --- Termination Criterion --- p.39Chapter 4 --- Experimental Results --- p.41Chapter 4.1 --- Total Weighted Completion Time --- p.41Chapter 4.1.1 --- Lee and Cai's Algorithm --- p.42Chapter 4.1.2 --- Computational Results --- p.44Chapter 4.1.3 --- On the Problem of Minimizing the Total Completion Time --- p.46Chapter 4.2 --- Makespan --- p.48Chapter 4.2.1 --- Mahesh's Algorithms and Linn & Chen's Algorithm --- p.48Chapter 4.2.2 --- Computational Results --- p.52Chapter 5 --- Conclusion --- p.54Bibliography --- p.5

    Generalized job shop scheduling : complexity and local search

    Get PDF
    corecore