8.8 Blocking Job Shop Schedule Construction
8.8.2 Schedule Construction: Guaranteed Feasibility
We have developed a novel schedule construction method that guarantees feasibility of the partial schedule at certain intervals in the construction process. These ‘safe points’ are partial schedules which are guaranteed to have at least one feasible extension. Whenever infeasibility is encountered beyond one of these safe points, the schedule construction algorithm reverts to the last encountered safe point, and continues from there. The previous section highlighted the high computational costs incurred both when feasi- bility checks are employed, and when they are not. The method introduced in this section avoids these inefficiencies.
An overview of the schedule construction procedure appears in Algo- rithm 5. Initially, our schedule construction method creates a topological sorting of all the jobs to be scheduled, subject to their precedence con- straints (Step 1). This topological sorting determines the order in which the jobs will be inserted into the partial schedule. A safe point is reached
Algorithm 5 Schedule construction procedure for the blocking job shop. Feasibility of the final schedule is guaranteed.
1: Create topological sorting J(s) of all jobs Ji ∈ J
2: for all jobsJi ∈ J(s) do
3: while Ji not completely scheduled do
4: for all operationsOij ∈Ji do
5: InsertOij into the partial schedule, either randomly or according
to some heuristic rule
6: if partial schedule infeasible then
7: Remove all operations of Ji from the partial schedule
8: Break for-loop
9: end if
10: end for
11: end while
12: end for
whenever the partial schedule contains only complete jobs (Step 2). The first job in the sorting will always be added first. The algorithm proceeds by sequentially scheduling all the operations of the first job (Step 4). This causes no problems, since a single job cannot cause deadlock on its own. The partial schedule now contains all the operations of the first job. As- suming there are no merging or splitting jobs, feasibility is now guaranteed. This is because in the topological sorting, all remaining jobs come after the job that is already scheduled. Therefore, a feasible schedule can always be found by appending the remaining jobs to the partial schedule, in topolog- ical order.
Next, the operations of the second job are added to the partial sched- ule. The operations can be inserted at any point, subject to any precedence constraints. The insertion points are selected by the metaheuristic employ- ing this schedule building method (Step 5). At this stage infeasibility may occur, if the operations of the second job are inserted in such a way that leads to deadlock with the first job (Step 6). If deadlock occurs, the algo- rithm reverts back to the partial schedule containing only the operations of the first job, and continues from there (Steps 7 and 8). Feasibility of the partial schedule is once again guaranteed once all the operations of the second job have been added to the partial schedule (Step 11).
This process continues until the schedule is complete. Whenever dead- lock is encountered during the insertion of the operations of the (k+ 1)th job, the algorithm reverts to the partial schedule containing the firstk jobs.
From that point, a feasible extension is guaranteed to exist.
The topological sorting schedule construction approach described above could fail when some of the jobs to be scheduled contain splits or merges. Consider, for example, the case where two jobs, J1 and J2, merge into a
third,J3. The merge takes place on machine Mmerge. A topological sorting
may then beJ1, J2, J3. Recall that the final operation of jobs which merge is
a dummy operation onMmerge (see Section 8.7.2). This means that whenJ1
is completely scheduled, the scheduled operations onMmerge are as follows:
[ . . . , O1,o1, O1,o1+1, . . .] (8.8.1)
Since the first operation of J3, O3,1, must immediately follow the dummy
operation O1,o1+1, the partial schedule containing the sequence in Equa-
tion 8.8.1 implies the following sequence on Mmerge:
[ . . . , O1,o1, { O1,o1+1, O3,1}, . . .] (8.8.2)
Thus,J1 blocks Mmerge until J3 starts. Suppose that J2 contains an opera-
tion,O2,jsay, which also requiresMmerge. The feasibility guarantee depends
on the possibility of appendingO2,j to the end of the current partial sched-
ule. However, the precedence constraints require that O2,j is scheduled
beforeO3,1. Thus it would not be possible to appendO2,j to the end of the
sequence in Equation 8.8.2, and it can no longer be guaranteed that a feasi- ble extension exists. There may even be a fourth job,J4, with no precedence
constraints with respect to the other three jobs. Suppose J4 also requires
However, if J4 is appended to the partial schedule containing only J1 and
J2, it will not be able to use Mmerge, since this has already been reserved for
J3. Of course, by chance it may sometimes be possible to insert the relevant
operation of J4 earlier in the schedule. However, the guaranteed feasibility
through appending to the back of the schedule no longer exists. To resolve this, the schedule construction algorithm treats all the jobs associated with a merge (or split) as a single job. This means these jobs are put together, uninterrupted, in the topological sorting. There is a safe point before all operations of such a group have been inserted, followed by a safe point after all the operations of the group have been inserted. There are no safe points within such a group, as it was shown that feasibility cannot be guaranteed there. In the preceding example there would be a group,G1 say, such that
G1 = [J1, J2, J3]. A valid topological sorting would then be either [G1, J4]
or [J4, G1].
There is one other case in which the topological sort cannot guarantee feasibility. Consider the set of jobs shown in Figure 8.8.1. J1 andJ2initially
merge into J3, which in turn splits into J4 and J5. This combination of a
merge followed by a split will cause jobs 1-5 to be put into a single group in the topological sorting. There is one other job,J6, which must be preceded
byJ1, and which itself preceedsJ4. However, J1 and J4 will be put in the
same group, and it will not possible to find a topological sorting when J6
must simultaneously be scheduled before and after the group. This can be resolved by includingJ6 in the group of jobs 1-5.
J1 J6 J3 J2 J4 J5
Figure 8.8.1: Jobs 1-5 are bound by merges and splits, and as such will appear as a single group in the topological sorting. Job 6 has precedence constraints with two jobs in this group, which makes it impossible to find a topological sorting, unless J6 is absorbed in the group.
The guaranteed feasibility schedule construction method presented above, is incorporated in the Ant Colony and Rollout algorithms presented in Chap- ter 9.
Blocking Job Shop: Heuristic
Methods
9.1
Introduction
This chapter presents a number of heuristic methods that attempt to solve the blocking job shop problem with flexible maintenance, as described in Chapter 8. For the non-blocking variant of this problem, a number of heuristic methods were shown to perform very well (Chapter 5). This makes the adaptation of these algorithms for the blocking problem a logical first step.
A novel Ant Colony Optimisation (ACO) variant for the blocking job shop is presented in Section 9.2. This is followed by a Rollout algorithm in Section 9.3. Finally, a Simulated Annealing (SA) algorithm is presented in Section 9.4. The computational experiments in Chapter 11 show that these
heuristic methods provide better solutions, in terms of the total tardiness penaltyT, than those provided by a topological sorting (Section 8.8.2) or a topological sorting followed by a local optimisation routine (Section 9.3.1). SA usually outperforms both ACO and the rollout method, in terms of the overall tardiness penalty T. The trade-off is that SA has a larger median running time (286 seconds) than ACO (206 seconds) and the rollout method (168 seconds). All of the heuristics struggle to find solutions that are close- to-optimal.