Abstract

We mainly study the 𝐶max problem of scheduling n groups of jobs on n special-purpose processors and m general-purpose processors at different speeds provided that the setup time of each job is less than 𝛼 times of its processing time. We first propose an improved LS algorithm. Then, by applying this new algorithm, we obtain two bounds for the ratio of the approximate solution 𝑇LS to the optimal solution T* under two different conditions.

1. Introduction

It is a well-studied problem to minimize the makespan in scheduling 𝑛 jobs {𝐽1,𝐽2,,𝐽𝑛} on 𝑚 identical machines {1,2,,𝑚}, where processing job 𝐽𝑗 immediately after 𝐽𝑖 needs a setup time 𝑤(𝑖,𝑗). As it is NP-hard (cf. [1]), quite a few authors have made their efforts to its approximate and heuristic algorithms, as well as the corresponding worst-case analysis.

In 1969, Graham [2] showed in his fundamental paper that the bound of this scheduling problem is 21/𝑚 as 𝑤(𝑖,𝑗)=0 under the LS (List Scheduling) algorithm and the tight bound is 4/31/3𝑚 under the LPT (Longest Processing Time) algorithm. In 1993, Ovacik and Uzsoy [3] proved that the bound is 42/𝑚 as 𝑤(𝑖,𝑗)𝑡𝑗, where 𝑡𝑗 is the processing time of the job 𝐽𝑗, under the LS algorithm. In 2003, Imreh [4] studied the online and offline problems on two groups of identical processors at different speeds, presented the LG (Load Greedy) algorithm, and showed that the bound about minimizing the makespan is 2+(𝑚1)/𝑘 and the bound about minimizing the sum of finish time is 2+(𝑚2)/𝑘, where 𝑚 and 𝑘 are the numbers of two groups of identical processors. Gairing et al. [5] proposed a simple combinatorial algorithm for the problem of scheduling 𝑛 jobs on 𝑚 processors at different speeds to minimize a cost stream and showed that it is effective and of low complexity.

Besides the above well-studied scheduling problem, one may face the problem of scheduling multiple groups of jobs on multiple processors in real production systems, such as, the problem of processing different types of yarns on spinning machines in spinning mills. Recently, the problem of scheduling multiple groups of jobs on multiple processors at same or different speeds were studied provided that each job has no setup time. In 2006, Ding [6] studied the problem of scheduling 𝑛 groups of jobs on one special-purpose processor and 𝑛 general-purpose processors at same speeds under an improved LPT algorithm. In 2008, Ding [7] investigated the problem of scheduling 𝑛 groups of jobs on 𝑛 special-purpose processors and 𝑚 general-purpose processors at same speeds under an improved LPT algorithm. In 2009, Ding [8] presented an improved LS algorithm for the 𝑄𝑚+2/𝑟𝑗/𝐶max scheduling problem on 𝑚 general-purpose processors and two special-purpose processors. In 2010, Ding [9] studied a heuristic algorithm of the 𝑄//𝐶max problem on multitasks with uniform processors. In the same year, Ding and Zhao [10] discussed an improved LS algorithm for the problem of scheduling multiple groups of jobs on multiple processors at the same speed provided each job has a setup time.

Recently, Ding and Zhao [11] investigated an improved LS algorithm for the problem of scheduling multiple jobs on multiple uniform processors at different speeds provided that each job has a setup time. However, if each job has a setup time, then the problem of scheduling multiple groups of jobs on multiple processors at different speeds has not been studied yet. Note that the LPT algorithm and the improved LPT algorithm are not effective ways to deal with such a problem if each job has a setup time. Meanwhile, the classical LS algorithm is only useful to solve the problem of scheduling one group of jobs on multiple processors at same or different speeds. Therefore, our purpose of this study is to propose an improved LS algorithm based on the classical LS algorithm and the fact that the optimal solution 𝑇 is bigger than the average finish time of all processors, see the inequality (3.6) below, and to use this new algorithm to analyze this problem of scheduling multiple groups of jobs on multiple processors at different speeds provided that each job has a setup time.

The remainder of the paper is organized as follows. In Section 2, we proposed an improved LS algorithm for this scheduling problem. In Section 3, we obtain two bounds for the ratio of the approximate solution 𝑇LS to the optimal solution 𝑇 under the improved LS algorithm.

Notation 1. As above and henceforth, we let 𝐿𝑖 (𝑖=1,,𝑛) denote the 𝑖th group of jobs, and let 𝑀𝑖 (𝑖=1,,𝑛) and 𝑀𝑛+𝑗 (𝑗=1,,𝑚) denote the set of jobs on the 𝑖th special-purpose processor and the set of jobs on the 𝑗th general-purpose processor, respectively. Let 𝑛𝑟 (𝑟=1,,𝑛) denote the number of jobs in the 𝑟th group. We then use 𝐽(𝑟,𝑖) (𝑟=1,,𝑛; 𝑖=1,,𝑛𝑟) to denote the 𝑖th job of the 𝑟th group and use 𝑡(𝑟,𝑖) (𝑟=1,,𝑛; 𝑖=1,,𝑛𝑟) to denote the processing time of 𝐽(𝑟,𝑖). Let 𝑃𝑟 (𝑟=1,,𝑛) denote the set of the processing time 𝑡(𝑟,𝑖) (𝑟=1,,𝑛𝑟). Moreover, we denote by 𝑠𝑖 (𝑖=1,,𝑛) the speed of the special-purpose processor 𝑖 and by 𝑠𝑛+𝑗 (𝑗=1,,𝑚) the speed of the general-purpose processor 𝑛+𝑗, respectively.
Note that the speeds of general-purpose processors are less than those of special-purpose processors in real production systems. For simplicity, we take 𝑠𝑛+𝑗=1 (1𝑗𝑚) and assume 𝑠𝑖1 (𝑖=1,,𝑛). If the job 𝐽(,𝑗) (=1,,𝑛; 𝑗=1,,𝑛) is processed after the job 𝐽(𝑙,𝑖) (𝑙=1,,𝑛; 𝑖=1,,𝑛𝑙), then we use 𝑤(𝑙,𝑖;,𝑗) to denote the setup time the processor needs.
If the job 𝐽(𝑟,𝑖) is assigned to the processor 𝑘 (𝑘=1,2,,𝑛+𝑚), then we write 𝐽(𝑟,𝑖)𝑀𝑘. Let 𝑀𝐿𝑘(𝑘=1,2,,𝑛+𝑚) stand for the set of jobs being processed to the processor 𝑘 and let 𝑀𝑇𝑘=𝐽(,𝑗)𝑀𝑘𝑤(,;,𝑗)+𝑡(,𝑗)𝑠𝑘,𝑘=1,2,,𝑛+𝑚.(1.1) Then, we use 𝑀𝑇𝑘(𝑘=1,2,,𝑛+𝑚) to denote the actual finish time of the processor 𝑘. Next, we write 𝑇LS=max1𝑘𝑛+𝑚{𝑀𝑇𝑘} as the actual latest finish time of 𝑛+𝑚 processors under the improved LS algorithm and 𝑇 as the actual latest finish time of 𝑛+𝑚 processors under the optimal algorithm, respectively. We finally denote 𝑇LS by the approximate solution under the improved LS algorithm, 𝑇LS/𝑇 by the bound of a scheduling problem under the improved LS algorithm.

2. An Improved LS Algorithm

In the section, we will propose an improved LS algorithm for the problem of scheduling multi groups of jobs on multi processors at different speeds provided that each job has a setup time.

The algorithm is defined by the fact that whenever a processor becomes idle for assignment, the first job unexecuted is taken from the list and assigned to this processor. If there are no less than one processor being idle, then the algorithm chooses the processor with the smallest index. If the processor is a special-purpose processor for some group, then the first job unexecuted in this group is assigned to the processor. If the processor is a general-purpose processor, then the job with the smallest second index is assigned to the processor. If there are several groups of jobs with the same second index, then the job with the smallest first index is assigned. In addition, there is an arbitrary order for any job in any group at the beginning of being processed.

The steps of the improved LS algorithm are the following.

Step 1 (Initialization). Set 𝑄1={1,2,,𝑛}, 𝑄2={𝑛+1,𝑛+2,,𝑛+𝑚}, 𝑖𝑟=1, 𝑀𝐿𝑟=, 𝑀𝑇𝑟=0, 𝑟𝑄1.

Step 2 (Choose the first idle processor). If for some 𝑟𝑄1, 𝑖𝑟>𝑛𝑟, then set 𝑄1=𝑄1{𝑟} (i.e., all jobs in the group 𝐿𝑟 have been assigned). If 𝑄1=, then go to Step 5 (i.e., all jobs in all groups have been assigned). Set 𝑝=min{𝑘𝑀𝑇𝑘=min𝑘𝑄1𝑄2𝑀𝑇𝑘}, (i.e., seek the first idle processor).

Step 3 (Choose the job). If 𝑝𝑛, then set 𝑟=𝑝, 𝑞=𝑖𝑝, 𝑖𝑝=𝑖𝑝+1 (i.e., the special-purpose processor is the first idle processor, then the first job waiting for assignment in the 𝑝th group is assigned). If 𝑝>𝑛 (i.e., the general-purpose processor is the first idle processor), then set =min{𝑟𝑖𝑟=min𝑟𝑄1𝑖𝑟} (i.e., the job with the smallest second index in nonempty groups is assigned), 𝑟=, 𝑞=𝑖, 𝑖=𝑖+1.

Step 4. Update the assignment and the latest finish time of the processor 𝑝. Set 𝑀𝐿𝑝=𝑀𝐿𝑝+{𝐽(𝑟,𝑞)} and 𝑀𝑇𝑝=𝑀𝑇𝑝+𝑤(,;𝑟,𝑞)+(𝑡(𝑟,𝑞)/𝑠𝑝). Then go to Step 2.

Step 5. Output the assignment 𝑀𝐿𝑘, 𝑘=1,2,,𝑛+𝑚, for every processor and the latest finish time 𝑇LS=max1𝑘𝑛+𝑚𝑀𝑇𝑘.(2.1)

3. Analysis of the Improved LS Algorithm

In the section, we obtain two bounds for the ratio of the approximate solution 𝑇LS to the optimal solution 𝑇 under two different conditions.

Theorem 3.1. Consider the problem of scheduling 𝑛 groups of jobs {𝐿1,𝐿2,,𝐿𝑛} on {1,2,,𝑛} special-purpose processors and {𝑛+1,𝑛+2,,𝑛+𝑚} general-purpose processors at different speeds provided each job has a setup time. Assume that 𝑤(𝑙,𝑖;,𝑗)𝛼𝑡(,𝑗) for all 𝑙,,𝑖,𝑗. If the optimal solution 𝑇 is bigger than the processing time 𝑡(𝑟,𝑗) of the latest finish job 𝐽(𝑟,𝑗), then the bound of this scheduling problem under the improved 𝐿𝑆 algorithm is 𝑇LS𝑇(𝑛+𝑚1)𝛼+1/𝑠𝑘+(𝛼+2)𝑛𝑖=1𝑠𝑖𝑛+𝑚(3.1) for any 𝛼0, where 𝑠𝑘 is the speed of the latest finish processor.

Proof. Based on the improved LS algorithm, we may assume that some processor 𝑘  (1𝑘𝑛+𝑚) is the latest finish processor and the latest finish job is 𝐽(𝑟,𝑗)  (1𝑟𝑛,1𝑗𝑛𝑟). Then on the processor 𝑘, we have 𝑇LS=𝑀𝑇𝑘.(3.2) On other processors, we have 𝑀𝑇𝑖𝑀𝑇𝑘𝑤(,;𝑟,𝑗)+𝑡(𝑟,𝑗)𝑠𝑘,𝑖=1,2,,𝑛+𝑚,𝑖𝑘.(3.3) By the assumption 𝑤(,;𝑟,𝑗)𝛼𝑡(𝑟,𝑗), 𝑇𝑡(𝑟,𝑗), (3.2) and (3.3), we get 𝑀𝑇𝑖𝑇LS𝑤(,;𝑟,𝑗)+𝑡(𝑟,𝑗)𝑠𝑘𝑇LS1𝛼+𝑠𝑘𝑡(𝑟,𝑗)𝑇LS1𝛼+𝑠𝑘𝑇,𝑖=1,2,,𝑛+𝑚,𝑖𝑘.(3.4) Thus 𝑛+𝑚𝑖=1𝑀𝑇𝑖=𝑀𝑇𝑘+𝑛+𝑚𝑖=1𝑖𝑘𝑀𝑇𝑖(𝑚+𝑛)𝑇LS1(𝑚+𝑛1)𝛼+𝑠𝑘𝑇.(3.5) On the other hand, since 𝑇 is the optimal solution, it follows that 𝑇𝑛𝑙=1𝑛𝑙𝑖=1𝑡(𝑙,𝑖)𝑛+𝑚𝑖=1𝑠𝑖.(3.6) In view of the assumption and (3.6), we deduce 𝑛+𝑚𝑖=1𝑀𝑇𝑖=𝑛+𝑚𝑖=1{𝑡(,𝑝)}𝑀𝐿𝑖𝑤(,;,𝑝)+𝑡(,𝑝)𝑠𝑖𝑛+𝑚𝑖=1{𝑡(,𝑝)}𝑀𝐿𝑖1𝛼+𝑠𝑖𝑡(,𝑝)(𝛼+2)𝑛+𝑚𝑖=1{𝑡(,𝑝)}𝑀𝐿𝑖𝑡(,𝑝)(𝛼+2)𝑛𝑛=1𝑝=1𝑡(,𝑝)(𝛼+2)𝑇𝑛+𝑚𝑖=1𝑠𝑖.(3.7) Using (3.5) and (3.7), we have (𝛼+2)𝑇𝑛+𝑚𝑖=1𝑠𝑖𝑛+𝑚𝑖=1𝑀𝑇𝑖(𝑚+𝑛)𝑇LS1(𝑚+𝑛1)𝛼+𝑠𝑘𝑇.(3.8) This yields 1(𝑚+𝑛1)𝛼+𝑠𝑘+(𝛼+2)𝑛+𝑚𝑖=1𝑠𝑖𝑇(𝑚+𝑛)𝑇LS.(3.9) Therefore 𝑇LS𝑇(𝑛+𝑚1)𝛼+1/𝑠𝑘+(𝛼+2)𝑛𝑖=1𝑠𝑖.𝑛+𝑚(3.10) This completes the proof of the theorem.

Example 3.2. Consider the following scheduling problem. Assume that there are three groups of jobs and each group separately owns two special-purpose processors and jointly owns three general-purpose processors. Assume further that 𝛼=1,  𝑠1=3,  𝑠2=2,  𝑠3=1,  𝑠4=1,  𝑠5=1, (see Tables 1 and 2).

The schedule for this example under the improved LS algorithm is found in Table 3.

The schedule for this example under the optimal algorithm is arranged as follows. found in Table 4.

In this example, we have 𝑛=3, 𝑚=2, 𝛼=1 and 𝑠𝑘=3. Thus, we get 𝑇LS=min923=,18,18,20,20923,𝑇𝑇=8,LS𝑇=236(3+21)(1+1/3)+(1+2)(3+2+1)=3+2143,(3.11) which is consistent with the conclusion of Theorem 3.1.

If we do not know whether or not 𝑇 is bigger than the processing time 𝑡(𝑟,𝑗) of the latest finish job 𝐽(𝑟,𝑗), then we have the following result.

Theorem 3.3. Consider the scheduling problem in Theorem 3.1. Assume that 𝑤(𝑙,𝑖;,𝑗)𝛼𝑡(,𝑗) for all 𝑙,,𝑖,𝑗. Then the bound of this scheduling problem under the improved 𝐿𝑆 algorithm is 𝑇𝐿𝑆𝑇(𝑛+𝑚1)𝛼𝑠𝑘++1(𝛼+2)𝑛𝑖=1𝑠𝑖𝑛+𝑚(3.12) for any 𝛼0, where 𝑠𝑘 is the speed of the latest finish processor.

Proof. Based on the improved LS algorithm, we may assume that some processor 𝑘  (1𝑘𝑛+𝑚) is the latest finish processor and the latest finish job is 𝐽(𝑟,𝑗)  (1𝑟𝑛,1𝑗𝑛𝑟). Then on the processor 𝑘, we have 𝑇LS=𝑀𝑇𝑘.(3.13) On other processors, we have 𝑀𝑇𝑖𝑀𝑇𝑘𝑤(,;𝑟,𝑗)+𝑡(𝑟,𝑗)𝑠𝑘,𝑖=1,2,,𝑛+𝑚,𝑖𝑘.(3.14) By the assumption 𝑤(,;𝑟,𝑗)𝛼𝑡(𝑟,𝑗), 𝑇𝑡(𝑟,𝑗)/𝑠𝑘, (3.13) and (3.14), we get 𝑀𝑇𝑖𝑇LS𝑤(,;𝑟,𝑗)+𝑡(𝑟,𝑗)𝑠𝑘𝑇LS1𝛼+𝑠𝑘𝑡(𝑟,𝑗)𝑇LS𝛼𝑠𝑘𝑇+1,𝑖=1,2,,𝑛+𝑚,𝑖𝑘.(3.15) Thus 𝑛+𝑚𝑖=1𝑀𝑇𝑖=𝑀𝑇𝑘+𝑛+𝑚𝑖=1𝑖𝑘𝑀𝑇𝑖(𝑚+𝑛)𝑇LS(𝑚+𝑛1)𝛼𝑠𝑘𝑇+1.(3.16) On the other hand, since 𝑇 is the optimal solution, it follows that 𝑇𝑛𝑙=1𝑛𝑙𝑖=1𝑡(𝑙,𝑖)𝑛+𝑚𝑖=1𝑠𝑖.(3.17) In view of the assumption and (3.17), we deduce 𝑛+𝑚𝑖=1𝑀𝑇𝑖=𝑛+𝑚𝑖=1{𝑡(,𝑝)}𝑀𝐿𝑖𝑤(,;,𝑝)+𝑡(,𝑝)𝑠𝑖𝑛+𝑚𝑖=1{𝑡(,𝑝)}𝑀𝐿𝑖1𝛼+𝑠𝑖𝑡(,𝑝)(𝛼+2)𝑛+𝑚𝑖=1{𝑡(,𝑝)}𝑀𝐿𝑖𝑡(,𝑝)(𝛼+2)𝑛𝑛=1𝑝=1𝑡(,𝑝)(𝛼+2)𝑇𝑛+𝑚𝑖=1𝑠𝑖.(3.18) Using (3.16) and (3.18), we have (𝛼+2)𝑇𝑛+𝑚𝑖=1𝑠𝑖𝑛+𝑚𝑖=1𝑀𝑇𝑖(𝑚+𝑛)𝑇LS(𝑚+𝑛1)𝛼𝑠𝑘𝑇+1.(3.19) This yields (𝑚+𝑛1)𝛼𝑠𝑘+1+(𝛼+2)𝑛+𝑚𝑖=1𝑠𝑖𝑇(𝑚+𝑛)𝑇LS.(3.20) Therefore 𝑇LS𝑇(𝑛+𝑚1)𝛼𝑠𝑘++1(𝛼+2)𝑛𝑖=1𝑠𝑖.𝑛+𝑚(3.21) This completes the proof of the theorem.

Acknowledgments

This work was partially supported by NSFC (No. 10971234). The author thanks the referee for the valuable comments and suggestions.