Advanced Single Machine Models (Deterministic)
Algorithm 4.1.8 Optimizing the Timings Given a Sequence) Step 1
76 4 Advanced Single Machine Models (Deterministic) Let
∆(r) =∆jr = m ax
k≤j≤jr∆j.
If none of the jobs in clusterσris early, thenE(r) =∞and∆(r) =− l=kwl. Ifdjr−Cjr ≥1 for the last early job in every cluster σr, r=s, s+ 1, . . . , m, then a shift of the entire block by one time unit to the right decreases the total cost by
m r=s
∆(r).
The idea behind the algorithmis to find the first block of clusters that cannot be shifted. If such a block is found, then this block stays in place and the procedure is repeated for the set of remaining clusters. If no such block is found, then all remaining clusters are shifted by an amount that is equal to the smallestE(r); in one of the shifted clusters the last early job becomes an on-time job. All the completion times are updated and all the non-early jobs are removed from the list of each cluster. The procedure is then repeated. The algorithmterminates once a block involving the last cluster cannot be shifted.
The algorithm can be summarized as follows.
Algorithm 4.1.8 (Optimizing the Timings Given a Sequence)
jobs 1 2 3 4 5 6 7
pj 3 2 7 3 6 2 8
dj 12 4 26 18 16 25 30
wj 10 20 18 9 10 16 11
wj 12 25 38 12 12 18 15
The set of jobs can be decomposed into the three clustersσ1, σ2, σ3, where σ1= 1,2, σ2= 3,4,5, andσ3= 6,7. The initial schedule has job completion times
3,5, 12,15,21, 23,31.
The sets of early jobs in clustersσ1, σ2, and σ3 are, respectively, jobs (1), (3,4), and (6). For each one of these jobs the values ofdj−Cj can be com- puted. Applying Step 1 of the algorithmresults in the table presented be- low.
clusters 1 2 3
E(r) 9 3 2
∆(r) −15 15 1
Step 2 of the Algorithmyields s= 1 and ∆(1)<0. So cluster σ1 is not shifted andC1 = 3 andC2 = 5. Step 3 eliminatesσ1. Going back to Step 2 yields∆(2)>0, ∆(2) +∆(3) >0 and no sexists. Going to Step 4 results in
min(E(2), E(3)) = min(3,2) = 2.
Increase all completion times in the second and third cluster by 2 time units and eliminate job 6 from the list of early jobs. Updatedk −Ck. The new values ofE(r) and∆(r) are presented in the table below.
clusters 2 3
E(r) 1 ∞
∆(r) 15 −33
Returning to Step 2 yields∆(2)>0 and∆(2) +∆(3)<0. It follows that s= 3 = m. So the second and third cluster should not be shifted and the algorithm stops. The optimal completion times are
3,5,14,17,23,25,33. ||
78 4 Advanced Single Machine Models (Deterministic) As stated earlier, finding at the same time an optimal job sequence as well as the optimal starting times and completion times of the jobs is strongly NP-hard.
A branch-and-bound procedure for this problem is more complicated than the one for the total weighted tardiness problemdescribed in Section 3.6. The branching tree can be constructed in a manner that is similar to the one for the 1 ||
wjTj problem. However, finding good lower bounds for 1 ||
wjEj+ wjTj is considerably harder. One type of lower bound can be established by first settingwj = 0 for all j and then applying the lower bound described in Section 3.6 to the given instance by taking only the tardiness penalties into account. This lower bound may not be that good, since it is based on two simplifications.
It is possible to establish certain dominance conditions. For example, if the due dates of two adjacent jobs both occur before the starting time of the first one of the two jobs, then the job with the higherwj/pj ratio has to go first.
Similarly, if the due dates of two adjacent jobs both occur after the completion time of the last one of the two jobs, then the job with the lowerwj/pj ratio has to go first.
Many heuristic procedures have been developed for this problem. These pro- cedures are often based on a combination of decomposition and local search.
The problem lends itself well to time-based decomposition procedures, since it may be possible to tailor the decomposition process to the clusters and the blocks.
4.2 Primary and Secondary Objectives
In practice a scheduler is often concerned with more than one objective. For example, he may want to minimize inventory costs and meet due dates. It would then be of interest to find, for example, a schedule that minimizes a combination of
Cj andLmax.
Often, more than one schedule minimizes a given objective. A decision-maker may then wish to consider the set of all schedules that are optimal with respect to such an objective (say, the primary objective), and then search within this set of schedules for the schedule that is best with regard to a secondary objective.
If the primary objective is denoted byγ1and the secondary byγ2, then such a problemcan be referred to asα|β |γ1(1), γ2(2).
Consider the following simple example. The primary objective is the total completion time
Cj and the secondary objective is the maximum lateness Lmax, that is, 1 ||
Cj(1), L(2)max. If there are no jobs with identical processing times, then there is exactly one schedule that minimizes the total completion time; so there is no freedom remaining to minimizeLmax. If there are jobs with identical processing times, then there are multiple schedules that minimize the total completion time. A set of jobs with identical processing times is preceded by a job with a strictly shorter processing time and followed by a job with a strictly longer processing time. Jobs with identical processing times have to be
processed one after another; but, they may be done in any order. The decision- maker now must find among all the schedules that minimize the total completion time the one that minimizesLmax. So, in an optimal schedule a set of jobs with identical processing times has to be sequenced according to the EDD rule. The decision-maker has to do so for each set of jobs with identical processing times.
This rule may be referred to as SPT/EDD, since the jobs are first scheduled according to SPT and ties are broken according to EDD (see Exercise 4.16 for a generalization of this rule).
Consider now the same two objectives with reversed priorities, that is, 1||
L(1)max,
Cj(2). In Chapter 3 it was shown that the EDD rule minimizesLmax. Applying the EDD rule yields also the value of the minimumLmax. Assume that the value of this minimumLmaxisz. The original problemcan be transformed into another problemthat is equivalent. Create a new set of due dates ¯dj = dj+z. These new due dates are now deadlines. The problemis to find a schedule that minimizes
Cjsubject to the constraint that every job must be completed by its deadline, i.e., the maximum lateness with respect to the new due dates has to be zero or, equivalently, all the jobs have to be completed on time.
The algorithmfor finding the optimal schedule is based on the following result.
Lemma 4.2.1. For the single machine problem with n jobs subject to the constraint that all due dates have to be met, there exists a schedule that minimizes
Cj in which job k is scheduled last, if and only if (i)d¯k ≥n
j=1pj,
(ii) pk≥p, for all ,such that d¯≥n j=1pj.
Proof. By contradiction. Suppose that jobkis not scheduled last. There is a set of jobs that is scheduled after jobkand job,is the one scheduled last. Condition (i) m ust hold for job , otherwise job , would not meet its due date. Assume that condition (ii) does not hold and thatp < pk. Performa (nonadjacent) pairwise interchange between jobsk and,. Clearly, the sumof the completion times of jobskand,decreases and the sum of the completion times of all jobs scheduled in between jobsk and, goes down as well. So the original schedule that positioned job,last could not have minimized
Cj.
In the next algorithmJcdenotes the set of jobs that remain to be scheduled.
Algorithm 4.2.2 (Minimizing Total Completion Time with Deadlines)