Single Machine Models (Deterministic)
Algorithm 3.5.1 FPTAS for Minimizing Total Tardiness) Step 1
3.6 The Total Weighted Tardiness
The following example illustrates the approximation scheme.
Example 3.5.2. (FPTAS Minimizing Total Tardiness) Consider a single machine and 5 jobs.
jobs 1 2 3 4 5
pj 1210 790 1470 830 1300 dj 1996 2000 2660 3360 3370
It can be verified (via dynamic programming) that the optimal sequence is 1,2,4,5,3, and that the total tardiness under this optimal sequence is 3700.
Applying EDD yieldsTmax(EDD) = 2230. If4 is chosen 0.02, thenK = 2.973. The rescaled data are:
jobs 1 2 3 4 5
pj 406 265 494 279 437
dj 671.38 672.72 894.72 1130.17 1133.54
Solving this instance using the dynamic programming procedure described in Section 3.4 yields two optimal sequences: 1,2,4,5,3 and 2,1,4,5,3. If se- quence 2,1,4,5,3 is applied to the original data set, then the total tardiness is 3704. Clearly,
Tj(2,1,4,5,3)≤(1.02)
Tj(1,2,4,5,3). ||
3.6 The Total Weighted Tardiness
The problem1||
wjTj is an important generalization of the 1||
Tj prob- lemdiscussed in the previous sections. Dozens of researchers have worked on this problem and have experimented with many different approaches. The ap- proaches range fromvery sophisticated computer intensive techniques to fairly crude heuristics designed primarily for implementation in practice.
The dynamic programming algorithm for 1||
Tj described in the previous section can also deal with agreeable weights, that is, pj ≥ pk =⇒ wj ≤ wk. Lemma 3.4.1 can be generalized to this case as follows:
Lemma 3.6.1. If there are two jobs j andk with dj ≤dk, pj ≤pk and wj ≥wk, then there is an optimal sequence in which job j appears before jobk.
b + 1 2b + 2 3b + 3
0 . . . (t — 2)b + t — 2 (t — 1)b + t — 1 tb + t — 1
Fig. 3.63-PARTITION reduces to 1||
wjTj
Proof. The proof is based on a (not necessarily adjacent) pairwise interchange
argument.
Unfortunately, no efficient algorithmcan be obtained for 1||
wjTj with arbitrary weights.
Theorem 3.6.2. The problem1||
wjTj is strongly NP-hard.
Proof. The proof is done again by reducing3-PARTITIONto 1||
wjTj. The reduction is based on the following transformation. Again, the number of jobs, n, is chosen to be equal to 4t−1 and
dj = 0, pj =aj, wj =aj, j= 1, . . . ,3t,
dj = (j−3t)(b+ 1), pj = 1, wj = 2, j= 3t+ 1, . . . ,4t−1.
Let
z=
1≤j≤k≤3t
ajak+1
2(t−1)tb.
It can be shown that there exists a schedule with an objective valuez if and only if there exists a solution for the3-PARTITION problem. The first 3t jobs have awj/pj ratio equal to 1 and are due at time 0. There aret−1 jobs with wj/pj ratio equal to 2 and their due dates are atb+ 1, 2b+ 2, and so on. A solution with valuezcan be obtained if theset−1 jobs can be processed exactly during the intervals
[b, b+ 1], [2b+ 1, 2b+ 2], . . . , [(t−1)b+t−2, (t−1)b+t−1]
(see Figure 3.6). In order to fit theset−1 jobs in theset−1 intervals, the first 3t jobs have to be partitioned into t subsets of three jobs each with the sum of the three processing times in each subset being equal tob. It can be verified that in this case the sumof the weighted tardinesses is equal toz.
If such a partition is not possible, then there is at least one subset of which the sumof the three processing times is larger thanb and one other subset of which the sum of the three processing times is smaller thanb. It can be verified that in this case the sumof the weighted tardinesses is larger thanz.
Usually a branch-and-bound approach is used for 1||
wjTj. Most often, schedules are constructed starting fromthe end, i.e., backwards in time. At the jth level of the search tree, jobs are put into the (n−j+ 1)th position. So from each node at levelj−1 there aren−j+ 1 branches going to levelj. It m ay not
3.6 The Total Weighted Tardiness 59 be necessary to evaluateall possible nodes. Dominance results such as the one described in Lemma 3.6.1 may eliminate a number of nodes. The upper bound on the number of nodes at leveljisn!/(n−j)! The argument for constructing the sequence backwards is that the larger terms in the objective function are likely to correspond to jobs that are positioned more towards the end of the schedule. It appears to be advantageous to schedule these ones first.
There are many different bounding techniques. One of the more elementary bounding techniques is based on arelaxationof the problemto a transportation problem. In this procedure each jobjwith (integer) processing timepjis divided intopj jobs, each with unit processing time. The decision variablesxjk is 1 if one unit of jobjis processed during the time interval [k−1, k] and 0 otherwise.
These decision variablesxjk must satisfy two sets of constraints:
Cmax
k=1
xjk =pj, j= 1, . . . , n n
j=1
xjk = 1, k= 1, . . . , Cmax.
Clearly, a solution satisfying these constraints does not guarantee a feasible schedule without preemptions. Define cost coefficientscjk that satisfy
l k=l−pj+1
cjk≤wjmax(l−dj,0)
forj= 1, . . . , n; l= 1, . . . , Cmax. Then the minimum cost solution provides a lower bound, since for any solution of the transportation problemwithxjk= 1 fork=Cj−pj+ 1, . . . , Cj the following holds
Cmax
k=1
cjkxjk =
Cj
k=Cj−pj+1
cjk ≤wjmax(Cj−dj,0).
It is fairly easy to find cost functions that satisfy this relationship. For example, set
cjk=
0, fork≤dj
wj, fork > dj.
The solution of the transportation problemprovides a lower bound for 1 ||
wjTj. This bounding technique is applied to the set of unscheduled jobs at each node of the tree. If the lower bound is larger than the solution of any known schedule, then the node may be eliminated.
Example 3.6.3 (Minimizing Total Weighted Tardiness) Consider the following 4 jobs.
*, *, *, 4
*, *, *, 3 Lower bound = 65
Value of objective function is 67
*, *, 4, 3
1, 2, 3, 4
Lower bound = 112
*, *, *, *
Fig. 3.7Branch-and-bound procedure for Example 3.5.3
jobs 1 2 3 4
wj 4 5 3 5
pj 12 8 15 9 dj 16 26 25 27
From Lemma 3.6.1 it immediately follows that in an optimal sequence job 4 follows job 2 and job 3 follows job 1. The branch-and-bound tree is con- structed backwards in time. Only two jobs have to be considered as candi- dates for the last position, namely jobs 3 and 4. The nodes of the branch-and- bound tree that need to be investigated are depicted in Figure 3.7. To select a branch to search first, bounds are determined for both nodes at level 1.
A lower bound for an optimal sequence among the offspring of node (∗,∗,∗,4) can be obtained by considering the transportation problemde- scribed before applied to jobs 1, 2 and 3. The cost functions are chosen as follows
c1k = 0, k= 1, . . . ,16 c1k = 4, k= 17, . . . ,35 c2k = 0, k= 1, . . . ,26