# TheCmax Problem of Scheduling Multiple Groups of Jobs on Multiple Processors at Different Speeds

Authors: Wei Ding
Journal: Advances in Operations Research
 (2012)

---

## Abstract

We mainly study theCmax 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 TLS to the optimal solution T* under two different
conditions.


---

## Body

## 1. Introduction

It is a well-studied problem to minimize the makespan in schedulingn jobs {J1,J2,…,Jn} on m identical machines {1,2,…,m}, where processing job Jj immediately after Ji needs a setup time w(i,j). 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 2-1/m as w(i,j)=0 under the LS (List Scheduling) algorithm and the tight bound is 4/3-1/3m under the LPT (Longest Processing Time) algorithm. In 1993, Ovacik and Uzsoy [3] proved that the bound is 4-2/m as w(i,j)≤tj, where tj is the processing time of the job Jj, 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+(m-1)/k and the bound about minimizing the sum of finish time is 2+(m-2)/k, where m and k are the numbers of two groups of identical processors. Gairing et al. [5] proposed a simple combinatorial algorithm for the problem of scheduling n jobs on m 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 n groups of jobs on one special-purpose processor and n general-purpose processors at same speeds under an improved LPT algorithm. In 2008, Ding [7] investigated the problem of scheduling n groups of jobs on n special-purpose processors and m general-purpose processors at same speeds under an improved LPT algorithm. In 2009, Ding [8] presented an improved LS algorithm for the Qm+2/rj/Cmax scheduling problem on m general-purpose processors and two special-purpose processors. In 2010, Ding [9] studied a heuristic algorithm of the Q//Cmax 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 T* 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 Section2, we proposed an improved LS algorithm for this scheduling problem. In Section 3, we obtain two bounds for the ratio of the approximate solution TLS to the optimal solution T* under the improved LS algorithm.Notation 1.
As above and henceforth, we letLi (i=1,…,n) denote the ith group of jobs, and let Mi (i=1,…,n) and Mn+j (j=1,…,m) denote the set of jobs on the ith special-purpose processor and the set of jobs on the jth general-purpose processor, respectively. Let nr (r=1,…,n) denote the number of jobs in the rth group. We then use J(r,i) (r=1,…,n; i=1,…,nr) to denote the ith job of the rth group and use t(r,i) (r=1,⋯,n; i=1,…,nr) to denote the processing time of J(r,i). Let Pr (r=1,…,n) denote the set of the processing time t(r,i) (r=1,…,nr). Moreover, we denote by si (i=1,…,n) the speed of the special-purpose processor i and by sn+j (j=1,…,m) the speed of the general-purpose processor n+j, respectively.
Note that the speeds of general-purpose processors are less than those of special-purpose processors in real production systems. For simplicity, we takesn+j=1 (1≤j≤m) and assume si≥1 (i=1,…,n). If the job J(h,j) (h=1,…,n; j=1,…,nh) is processed after the job J(l,i) (l=1,…,n; i=1,…,nl), then we use w(l,i;h,j) to denote the setup time the processor needs.
If the jobJ(r,i) is assigned to the processor k (k=1,2,…,n+m), then we write J(r,i)∈Mk. Let MLk(k=1,2,…,n+m) stand for the set of jobs being processed to the processor k and let
(1.1)MTk:=∑J(h,j)∈Mk‍(w(*,*;h,j)+t(h,j)sk),k=1,2,…,n+m.
Then, we use MTk(k=1,2,…,n+m) to denote the actual finish time of the processor k. Next, we write TLS=max1≤k≤n+m{MTk} as the actual latest finish time of n+m processors under the improved LS algorithm and T* as the actual latest finish time of n+m processors under the optimal algorithm, respectively. We finally denote TLS by the approximate solution under the improved LS algorithm, TLS/T* 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 improvedLS algorithm are the following.Step 1 (Initialization).
SetQ1={1,2,…,n}, Q2={n+1,n+2,…,n+m}, ir=1, MLr=∅, MTr=0, r∈Q1.Step 2 (Choose the first idle processor).
If for somer∈Q1, ir>nr, then set Q1=Q1-{r} (i.e., all jobs in the group Lr have been assigned). If Q1=∅, then go to Step 5 (i.e., all jobs in all groups have been assigned). Set p=min{k′∣MTk′=mink∈Q1⋃Q2MTk}, (i.e., seek the first idle processor).Step 3 (Choose the job).
Ifp≤n, then set r=p, q=ip, ip=ip+1 (i.e., the special-purpose processor is the first idle processor, then the first job waiting for assignment in the pth group is assigned). If p>n (i.e., the general-purpose processor is the first idle processor), then set h=min{r′∣ir′=minr∈Q1ir} (i.e., the job with the smallest second index in nonempty groups is assigned), r=h, q=ih, ih=ih+1.Step 4.
Update the assignment and the latest finish time of the processorp. Set MLp=MLp+{J(r,q)} and MTp=MTp+w(*,*;r,q)+(t(r,q)/sp). Then go to Step 2.Step 5.
Output the assignmentMLk, k=1,2,…,n+m, for every processor and the latest finish time
(2.1)TLS=max1≤k≤n+m{MTk}.


## 3. Analysis of the ImprovedLS Algorithm

In the section, we obtain two bounds for the ratio of the approximate solutionTLS to the optimal solution T* under two different conditions.Theorem 3.1.
Consider the problem of schedulingn groups of jobs {L1,L2,…,Ln} on {1,2,…,n} special-purpose processors and {n+1,n+2,…,n+m} general-purpose processors at different speeds provided each job has a setup time. Assume that w(l,i;h,j)≤αt(h,j) for all l,h,i,j. If the optimal solution T* is bigger than the processing time t(r,j) of the latest finish job J(r,j), then the bound of this scheduling problem under the improved LS algorithm is
(3.1)TLST*≤(n+m-1)(α+(1/sk))+(α+2)∑i=1nsin+m
for any α≥0, where sk is the speed of the latest finish processor.Proof.
Based on the improvedLS algorithm, we may assume that some processor k  (1≤k≤n+m) is the latest finish processor and the latest finish job is J(r,j)  (1≤r≤n,1≤j≤nr). Then on the processor k, we have
(3.2)TLS=MTk.
On other processors, we have
(3.3)MTi≥MTk-(w(*,*;r,j)+t(r,j)sk),i=1,2,…,n+m,i≠k.
By the assumption w(*,*;r,j)≤αt(r,j), T*≥t(r,j), (3.2) and (3.3), we get
(3.4)MTi≥TLS-(w(*,*;r,j)+t(r,j)sk)≥TLS-(α+1sk)t(r,j)≥TLS-(α+1sk)T*,i=1,2,…,n+m,i≠k.
Thus
(3.5)∑i=1n+m‍MTi=MTk+∑i=1i≠kn+m‍MTi≥(m+n)TLS-(m+n-1)(α+1sk)T*.
On the other hand, since T* is the optimal solution, it follows that
(3.6)T*≥∑l=1n∑i=1nlt(l,i)∑i=1n+msi.
In view of the assumption and (3.6), we deduce
(3.7)∑i=1n+m‍MTi=∑i=1n+m‍∑{t(h,p)}∈MLi‍(w(*,*;h,p)+t(h,p)si)≤∑i=1n+m‍∑{t(h,p)}∈MLi‍(α+1si)t(h,p)≤(α+2)∑i=1n+m‍∑{t(h,p)}∈MLi‍t(h,p)≤(α+2)∑h=1n‍∑p=1nh‍t(h,p)≤(α+2)T*∑i=1n+m‍si.
Using (3.5) and (3.7), we have
(3.8)(α+2)T*∑i=1n+m‍si≥∑i=1n+m‍MTi≥(m+n)TLS-(m+n-1)(α+1sk)T*.
This yields
(3.9)((m+n-1)(α+1sk)+(α+2)∑i=1n+m‍si)T*≥(m+n)TLS.
Therefore
(3.10)TLST*≤(n+m-1)(α+(1/sk))+(α+2)∑i=1nsin+m.
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,  s1=3,  s2=2,  s3=1,  s4=1,  s5=1, (see Tables 1 and 2).Table 1
The processing time of jobs.
P
1
t
(
1,1
)
=
9
t
(
1,2
)
=
6
t
(
1,3
)
=
3
t
(
1,4
)
=
3
t
(
1,5
)
=
3
t
(
1,6
)
=
3
t
(
1,7
)
=
1
t
(
1,8
)
=
1
t
(
1,9
)
=
8
P
2
t
(
2,1
)
=
6
t
(
2,2
)
=
4
t
(
2,3
)
=
2
t
(
2,4
)
=
2
t
(
2,5
)
=
2
t
(
2,6
)
=
2
P
3
t
(
3,1
)
=
3
t
(
3,2
)
=
2
t
(
3,3
)
=
1
t
(
3,4
)
=
1
t
(
3,5
)
=
1
t
(
3,6
)
=
1Table 2
The setup time of jobs.
w
(
0,0
;
1,1
)
=
9
w
(
0,0
;
2,1
)
=
6
w
(
0,0
;
3,1
)
=
3
w
(
1,1
;
1,3
)
=
3
w
(
2,1
;
2,3
)
=
2
w
(
3,1
;
3,2
)
=
2
w
(
1,3
;
1,4
)
=
3
w
(
2,3
;
2,4
)
=
2
w
(
3,2
;
3,3
)
=
1
w
(
1,4
;
1,5
)
=
3
w
(
2,4
;
2,5
)
=
2
w
(
3,3
;
3,6
)
=
1
w
(
1,5
;
1,6
)
=
3
w
(
2,5
;
2,6
)
=
2
w
(
2,2
;
3,3
)
=
1
w
(
1,6
;
1,9
)
=
8
w
(
0,0
;
2,2
)
=
4
w
(
3,3
;
3,5
)
=
1
w
(
0,0
;
1,2
)
=
6
w
(
1,2
;
1,7
)
=
1
w
(
3,5
;
1,8
)
=
1
w(*,*;*,*) = 0 for other jobs.The schedule for this example under the improvedLS algorithm is found in Table 3.Table 3
The improved LS schedule.
Processors
Processing times of jobs
M
T
i
Processor 1(s1=3)
t
(
1,1
)
=
9
t
(
1,4
)
=
3
t
(
1,6
)
=
3
t
(
1,9
)
=
8
92
/
3
Processor 2(s2=2)
t
(
2,1
)
=
6
t
(
2,3
)
=
2
t
(
2,4
)
=
2
t
(
2,6
)
=
2
18
Processor 3(s3=1)
t
(
3,1
)
=
3
t
(
3,2
)
=
2
t
(
3,3
)
=
1
t
(
3,4
)
=
1
t
(
3,5
)
=
1
t
(
3,6
)
=
1
18
Processor 4(s4=1)
t
(
1,2
)
=
6
t
(
1,5
)
=
3
t
(
1,7
)
=
1
20
Processor 5(s5=1)
t
(
2,2
)
=
4
t
(
1,3
)
=
3
t
(
2,5
)
=
2
t
(
1,8
)
=
1
20The schedule for this example under the optimal algorithm is arranged as follows. found in Table4.Table 4
The optimal schedule.
Processors
Processing times of jobs
M
T
i
Processor 1(s1=3)
t
(
1,5
)
=
3
t
(
1,4
)
=
3
t
(
1,3
)
=
3
t
(
1,2
)
=
6
t
(
1,1
)
=
9
8
Processor 2(s2=2)
t
(
2,5
)
=
2
t
(
2,4
)
=
2
t
(
2,3
)
=
2
t
(
2,2
)
=
4
t
(
2,1
)
=
6
8
Processor 3(s3=1)
t
(
3,5
)
=
1
t
(
3,4
)
=
1
t
(
3,3
)
=
1
t
(
3,2
)
=
2
t
(
3,1
)
=
3
8
Processor 4(s4=1)
t
(
1,6
)
=
3
t
(
1,7
)
=
1
t
(
1,8
)
=
1
t
(
2,6
)
=
2
t
(
3,6
)
=
1
8
Processor 5(s5=1)
t
(
1,9
)
=
8
8In this example, we haven=3, m=2, α=1 and sk=3. Thus, we get
(3.11)TLS=min{923,18,18,20,20}=923,T*=8,TLST*=236≤(3+2-1)(1+1/3)+(1+2)(3+2+1)3+2=143,
which is consistent with the conclusion of Theorem 3.1.If we do not know whether or notT* is bigger than the processing time t(r,j) of the latest finish job J(r,j), then we have the following result.Theorem 3.3.
Consider the scheduling problem in Theorem3.1. Assume that w(l,i;h,j)≤αt(h,j) for all l,h,i,j. Then the bound of this scheduling problem under the improved LS algorithm is
(3.12)TLST*≤(n+m-1)(αsk+1)+(α+2)∑i=1n‍sin+m
for any α≥0, where sk is the speed of the latest finish processor.Proof.
Based on the improvedLS algorithm, we may assume that some processor k  (1≤k≤n+m) is the latest finish processor and the latest finish job is J(r,j)  (1≤r≤n,1≤j≤nr). Then on the processor k, we have
(3.13)TLS=MTk.
On other processors, we have
(3.14)MTi≥MTk-(w(*,*;r,j)+t(r,j)sk),i=1,2,…,n+m,i≠k.
By the assumption w(*,*;r,j)≤αt(r,j), T*≥t(r,j)/sk, (3.13) and (3.14), we get
(3.15)MTi≥TLS-(w(*,*;r,j)+t(r,j)sk)≥TLS-(α+1sk)t(r,j)≥TLS-(αsk+1)T*,i=1,2,…,n+m,i≠k.
Thus
(3.16)∑i=1n+m‍MTi=MTk+∑i=1i≠kn+m‍MTi≥(m+n)TLS-(m+n-1)(αsk+1)T*.
On the other hand, since T* is the optimal solution, it follows that
(3.17)T*≥∑l=1n∑i=1nlt(l,i)∑i=1n+msi.
In view of the assumption and (3.17), we deduce
(3.18)∑i=1n+m‍MTi=∑i=1n+m‍∑{t(h,p)}∈MLi‍(w(*,*;h,p)+t(h,p)si)≤∑i=1n+m‍∑{t(h,p)}∈MLi‍(α+1si)t(h,p)≤(α+2)∑i=1n+m‍∑{t(h,p)}∈MLi‍t(h,p)≤(α+2)∑h=1n‍∑p=1nh‍t(h,p)≤(α+2)T*∑i=1n+m‍si.
Using (3.16) and (3.18), we have
(3.19)(α+2)T*∑i=1n+m‍si≥∑i=1n+m‍MTi≥(m+n)TLS-(m+n-1)(αsk+1)T*.
This yields
(3.20)((m+n-1)(αsk+1)+(α+2)∑i=1n+m‍si)T*≥(m+n)TLS.
Therefore
(3.21)TLST*≤(n+m-1)(αsk+1)+(α+2)∑i=1n‍sin+m.
This completes the proof of the theorem.



---

*Source: 748597-2012-09-06.xml*