Abstract
We mainly study the 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 to the optimal solution T* under two different conditions.
1. Introduction
It is a well-studied problem to minimize the makespan in scheduling jobs on identical machines , 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 as under the LS (List Scheduling) algorithm and the tight bound is under the LPT (Longest Processing Time) algorithm. In 1993, Ovacik and Uzsoy [3] proved that the bound is 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 and the bound about minimizing the sum of finish time is , 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 scheduling problem on general-purpose processors and two special-purpose processors. In 2010, Ding [9] studied a heuristic algorithm of the 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 to the optimal solution under the improved algorithm.
Notation 1. As above and henceforth, we let () denote the th group of jobs, and let () and () denote the set of jobs on the th special-purpose processor and the set of jobs on the th general-purpose processor, respectively. Let () denote the number of jobs in the th group. We then use (; ) to denote the th job of the th group and use (; ) to denote the processing time of . Let () denote the set of the processing time (). Moreover, we denote by () the speed of the special-purpose processor and by () 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 () and assume (). If the job (; ) is processed after the job (; ), then we use to denote the setup time the processor needs.
If the job is assigned to the processor (), then we write . Let stand for the set of jobs being processed to the processor and let
Then, we use to denote the actual finish time of the processor . Next, we write as the actual latest finish time of processors under the improved algorithm and as the actual latest finish time of processors under the optimal algorithm, respectively. We finally denote by the approximate solution under the improved algorithm, 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 algorithm are the following.
Step 1 (Initialization). Set , , , , , .
Step 2 (Choose the first idle processor). If for some , , then set (i.e., all jobs in the group have been assigned). If , then go to Step 5 (i.e., all jobs in all groups have been assigned). Set , (i.e., seek the first idle processor).
Step 3 (Choose the job). If , then set , , (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 (i.e., the job with the smallest second index in nonempty groups is assigned), , , .
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 , , for every processor and the latest finish time
3. Analysis of the Improved LS Algorithm
In the section, we obtain two bounds for the ratio of the approximate solution to the optimal solution under two different conditions.
Theorem 3.1. Consider the problem of scheduling groups of jobs on special-purpose processors and 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 for any , where is the speed of the latest finish processor.
Proof. Based on the improved algorithm, we may assume that some processor is the latest finish processor and the latest finish job is . Then on the processor , we have On other processors, we have By the assumption , , (3.2) and (3.3), we get Thus On the other hand, since is the optimal solution, it follows that In view of the assumption and (3.6), we deduce Using (3.5) and (3.7), we have This yields Therefore 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 , , , , , , (see Tables 1 and 2).
The schedule for this example under the improved 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 , , and . Thus, we get 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 for any , where is the speed of the latest finish processor.
Proof. Based on the improved algorithm, we may assume that some processor is the latest finish processor and the latest finish job is . Then on the processor , we have On other processors, we have By the assumption , , (3.13) and (3.14), we get Thus On the other hand, since is the optimal solution, it follows that In view of the assumption and (3.17), we deduce Using (3.16) and (3.18), we have This yields Therefore 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.