Discrete OptimizationPreemptive multiprocessor order scheduling to minimize total weighted flowtime
Introduction
Consider m identical machines in parallel, each of which can produce k different product types. There is no setup cost when the machines switch from producing one product type to another. There are n orders each of which requests various quantities of the different product types. All orders are available for processing at time t = 0, and preemption is allowed. Order i has a weight wi and its completion time is the time when its last requested product type finishes. Our goal is to find a preemptive schedule such that the total weighted completion time is minimized.
Formally, we are given m identical and parallel machines and n orders. Order i, 1 ⩽ i ⩽ n, requests ni (ni ⩽ k) different product types. The processing time of the jth, 1 ⩽ j ⩽ ni, product type requested by order i is denoted by pi,j. We use pi to denote the sum of the processing times; i.e., . The various different product types requested by order i can be processed simultaneously on different machines. However, no single product type can be processed simultaneously by two or more machines. Order i has a weight wi and is available for processing at time t = 0. Let S be a schedule of the n orders on the m machines, and let Ci,j(S) denote the completion time of the jth product type of order i. The completion time of order i, Ci(S), is defined to be . The total weighted completion time of S is . If the context is clear, we drop S from the notation. Our goal is to find a schedule SOPT such that is minimized. Such a schedule will be called an optimal schedule which we always denote by SOPT.
Order scheduling models many real-life applications. Consider a manufacturing facility that can produce different types of products. A customer can order various quantities of the different product types. For convenience in shipping and billing, it would be more desirable to ship all the products requested by the customer at the same time. Sometimes, the customer request all the products to be delivered at the same time and hence the company has no choice.
Another application can be found in a car-repair shop. Suppose a car has several broken parts that need to be fixed. The shop has several mechanics that can fix any broken part. The car will leave the shop when all the broken parts are fixed. This problem is a direct application of our model.
Another application is the production of components for subsequent assembly. Consider a production process with two stages, say fabrication and assembly. A product consists of various components that are produced in the fabrication stage. When all the required components are produced, we can assemble these components in the assembly stage. Here the fabrication stage can be represented by our model.
Order scheduling has received much attention in recent years; see [1], [2], [3], [6], [7], [8], [12], [15], [20], [21]. Julien and Magazine [8] studied a single machine problem with sequence-dependent setup time. Their goal is to minimize the total completion time . They developed a polynomial-time algorithm for two product types and when the batch processing order is fixed. Coffman et al. [3] studied a similar problem where the batch processing order is not fixed. Baker [1] studied a problem similar to Coffman et al., except that products are not available until the entire batch is finished (the so-called batch availability, see [15]). Gupta et al. [7] studied a bicriterion problem under the assumption that each order requests all k product types. Gerodimos et al. [6] studied a single machine problem with sequence-independent setup time. They studied three objectives: maximum lateness (Lmax), weighted number of tardy jobs , and total completion time . Most of the results are in the form of NP-hardness proofs, polynomial-time algorithms, and pseudo-polynomial algorithms. They posed as open question the complexity of minimizing the total completion time. Recently, Ng et al. [12] answered the question in the negative, showing that the problem is unary NP-hard.
In the literature relatively few work have been done on parallel machines. Blocher and Chhajed [2] and Yang and Posner [21] studied the problem of minimizing total completion time on m identical and parallel machines, assuming that there is no setup time when the machines switch from producing one product type to another. Their studies are restricted to nonpreemptive scheduling discipline only. Blocher and Chhajed [2] showed that the problem is NP-hard for two machines and proposed several simple heuristics. Several lower bounds were derived which were used to compare with the performance of the proposed heuristics in an empirical study. Yang and Posner [21] proposed one heuristic and showed that it obeys a worst-case bound of 2 − 1/m. They gave two more heuristics and showed that on two machines they obey a worst-case bound of 6/5 and 9/7, respectively. They conjectured that the composite algorithm obeys a worst-case bound of 7/6, see [20].
Another line of research related to our work is that of order scheduling on dedicated machines. In this model, there are m ⩾ 1 dedicated machines, each of which is capable of producing one and only one product type. There are n orders and each order requests ni (ni ⩽ m) different product types. The objective is to minimize . Leung et al. [10] denote this problem as . Wagneur and Sriskandarajah [18] presented a proof claiming that is strongly NP-hard. Unfortunately, their proof is not correct; see Leung et al. [11]. Independently, Sung and Yoon [17] showed that is strongly NP-hard. Leung et al. [10] later showed that is strongly NP-hard. Finally, Roemer [13] showed that is indeed strongly NP-hard.
Several heuristics have been proposed in the literature for the problem. Wang and Cheng [19] analyzed three greedy heuristics whose worst-case bounds are m. Two of these heuristics were generalizations of the heuristics proposed by Sung and Yoon [17] for two machines. Leung et al. [10] proposed two new heuristics and showed empirically that one of the heuristics have consistently outperform the three heuristics that have appeared in the literature.
Our work differs from the work of [2], [21] in that we study preemptive scheduling (rather than nonpreemptive scheduling) and our objective function is total weighted completion time (rather than total completion time ).
In the following section we will show that our problem is NP-hard, even when there are two machines and two product types, and each order requests both product types and has the same weight. In Section 3 we will propose a fast heuristic and show that it obeys a bound of 2 − 1/m. In Section 4 we perform a computational experiment. Empirical studies show that our heuristic performs very well when compared with a lower bound of the optimal cost. Finally, we draw some concluding remarks in the last section.
Section snippets
Complexity result
In this section we consider the complexity of our scheduling problem. When each order is restricted to have only one product type, minimizing can be solved in O(nlog n) time by the SPT rule. We will show that if each order requests two product types, then minimizing becomes NP-hard even when there are only two machines. The decision version of our scheduling problem can be stated as follows.
TFT: Given ω and n orders where each order requests exactly two product types, is there a
Approximation algorithm and analysis
Since the TFT problem is NP-complete, it cannot be solved in polynomial time unless P = NP. Thus, it will be worthwhile to consider fast approximation algorithms. In this section, we propose an approximation algorithm and analyze its worst-case performance. Our algorithm is a preemptive algorithm in which preemptions are exploited greatly. It first sorts the orders in ascending order of pi/wi; i.e., the orders are reindexed such that p1/w1 ⩽ p2/w2 ⩽ … ⩽ pn/wn. The algorithm then schedules the orders in
Empirical studies
To get a feel for how well our heuristic performs in practice, we have conducted a computational experiment on a Sun Ultra-60 workstation with 512 MBytes of main memory. The operating system used is Solaris 9. We have implemented our heuristic using the Java language.
We randomly generate instances of the scheduling problem. First, we choose the number of machines to be m = 5, 50, 100, 200 and the number of orders to be n = 10, 100, 200, 500. We then generate 20 instances for each combination of m and n.
Concluding remarks
In this paper we have considered the problem of minimizing total weighted completion time of a set of n orders on m ⩾ 2 identical and parallel machines. Each machine can produce k different product types and there is no setup cost when the machines switch from producing one product type to another. Each order requests various quantities of the different product types. The various product types of an order can be simultaneously processed by several machines. However, no single product type of an
Acknowledgements
The work of the first author is supported in part by the NSF Grant DMI-0300156. Part of the work was done when the first author was visiting the second author and the visit was sponsored by the Logistics and Supply Chain Management Institute at Hong Kong University of Science and Technology.
References (21)
- et al.
Open shops with jobs overlap – revisited
European Journal of Operational Research
(2005) - et al.
Strong NP-hardness of the single machine multi-operation jobs total completion time scheduling problem
Information Processing Letters
(2002) - et al.
Batching in single operation manufacturing systems
Operations Research Letters
(1985) - et al.
Open shops with jobs overlap
European Journal of Operational Research
(1993) Scheduling the production of components at a common facility
IIE Transactions
(1988)- et al.
The customer order lead-time problem on parallel machines
Naval Research Logistics
(1996) - et al.
Optimal scheduling of products with two subassemblies on a single machine
Operations Research
(1989) - et al.
Computer and Intractability: A Guide to the Theory of NP-Completeness
(1979) - et al.
One-processor scheduling with symmetric earliness and tardiness
Mathematics of Operations Research
(1988) - et al.
Scheduling multi-operation jobs on a single machine
Annals of Operations Research
(1999)
Cited by (21)
Iterated greedy algorithms for customer order scheduling with dedicated machines
2022, IFAC-PapersOnLineA robust customer order scheduling problem along with scenario-dependent component processing times and due dates
2021, Journal of Manufacturing SystemsCitation Excerpt :They applied a simulated annealing, an ant colony, and a particle swarm optimization algorithm with a varying linear declining inertia weight to solve a CO’s problem with sum of processing-times-based learning effect. For more variants of works on CO’s problems, readers may refer to Yang and Posner [34–36,22,37], Manavizadeh et al. [38], etc. Table 1 summarizes the contributions of the aforementioned papers.
Deterministic assembly scheduling problems: A review and classification of concurrent-type scheduling models and solution procedures
2019, European Journal of Operational ResearchUsing heuristic and iterative greedy algorithms for the total weighted completion time order scheduling with release times
2019, Swarm and Evolutionary ComputationCitation Excerpt :For other OS studies that aimed to minimize the total order completion time, we refer the reader to Leung et al. [2,3] and Wagneur and Sriskandarajah [12] for assessments of the complexity of problems that use two or more machines, and to Ahmadi et al. [13], Sung and Yoon [4], and Wang and Cheng [7] for accounts of building heuristics to solve the total order completion time problem. Regarding OS models concerning due dates, we refer the reader to Blocher et al. [14], Erel and Ghosh [15], Hsu and Liu [16], Lee [17], Leung et al. [18–20], Yang [21], Yang and Posner [22], and Xu et al. [23]. For more recent OS literature, Lin et al. [24] studied an OS model with both two-agent and ready times, proposed a branch-and-bound (B&B) method for finding the optimal solution, and demonstrated the use of a particle swarm optimization and opposite-based particle swarm optimization for finding the near-optimal solution.
Minimizing total completion time in the assembly scheduling problem
2018, Computers and Industrial EngineeringCitation Excerpt :Then, the completion time of the job is the time taken to finish the processing of all the components belonging to the job. Sung and Yoon (1998), Ahmadi et al. (2005), Leung et al. (2005a, 2005b, 2006a, 2006b, 2008), Yoon and Sung (2005), Yang and Posner (2005), Wang and Cheng (2007), Lee (2013), Mason and Chen (2010) have considered SSAP with various scheduling measures. The SSAP is often called ‘order scheduling’.
Bicriterion total flowtime and maximum tardiness minimization for an order scheduling problem
2018, Computers and Industrial Engineering