Discrete Optimization
Preemptive multiprocessor order scheduling to minimize total weighted flowtime

https://doi.org/10.1016/j.ejor.2007.05.052Get rights and content

Abstract

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 wiCi is minimized. We show that this problem is NP-hard even when all jobs have identical weights and there are only two machines. Motivated by the computational complexity of the problem, we propose a simple heuristic and show that it obeys a worst-case bound of 2  1/m. Finally, empirical studies show that our heuristic performs very well when compared with a lower bound of the optimal cost.

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 wiCi 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., pi=j=1nipi,j. 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 Ci(S)=maxj=1ni{Ci,j(S)}. The total weighted completion time of S is wiCi(S). If the context is clear, we drop S from the notation. Our goal is to find a schedule SOPT such that wiCi(SOPT) 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 Cj. 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 (wiUi), and total completion time (Cj). 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 Cj. Leung et al. [10] denote this problem as PDm||Cj. Wagneur and Sriskandarajah [18] presented a proof claiming that PD2Cj is strongly NP-hard. Unfortunately, their proof is not correct; see Leung et al. [11]. Independently, Sung and Yoon [17] showed that PD2wjCj is strongly NP-hard. Leung et al. [10] later showed that PD3Cj is strongly NP-hard. Finally, Roemer [13] showed that PD2Cj is indeed strongly NP-hard.

Several heuristics have been proposed in the literature for the PDmCj 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 wiCi (rather than total completion time Ci).

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 Ci 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 Ci 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)

There are more references available in the full text version of this article.

Cited by (21)

  • A robust customer order scheduling problem along with scenario-dependent component processing times and due dates

    2021, Journal of Manufacturing Systems
    Citation 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.

  • Using heuristic and iterative greedy algorithms for the total weighted completion time order scheduling with release times

    2019, Swarm and Evolutionary Computation
    Citation 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 Engineering
    Citation 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’.

View all citing articles on Scopus
View full text