Available online at www.sciencedirect.com
Computers & Operations Research 30 (2003) 2081 – 2095
www.elsevier.com/locate/dsw
An e#cient tabu search approach for the two-machine preemptive open shop scheduling problem Ching-Fang Liaw∗ Department of Industrial Engineering and Management, Chaoyang University of Technology, 168 Gifeng East Road Wufeng, Taichung, Taiwan Received 1 March 2002; received in revised form 1 September 2002
Abstract This article considers the problem of scheduling two-machine preemptive open shops to minimize total tardiness. The problem is known to be NP-hard. An optimal timing algorithm is presented to determine the completion time of each job in a given job completion sequence. Then a tabu search (TS) approach is adopted together with the optimal timing algorithm to generate job completion sequences and 4nal schedules. An e#cient heuristic is developed to obtain an initial solution for the TS approach. Diversi4cation and intensi4cation strategies are suggested. Finally, computational experiments are conducted to demonstrate the performance of the proposed approach. The results show that the proposed TS approach 4nds extremely high-quality solutions within a reasonable amount of time. Scope and purpose Shop scheduling problems, such as 9ow, job and open shop problems, are widely used in the modeling of industrial production processes and are receiving an increasing amount of attention from researchers. In an open shop scheduling problem, the order of processing the operations of a job on di;erent machines is immaterial. Examples of open shop scheduling include teacher-class assignment, examination scheduling, and testing/repair operation scheduling. The purpose of this paper is to examine the two-machine total tardiness open shop scheduling problem with the assumption that the processing of an operation can be arbitrarily preempted. An approximate solution method based on tabu search is proposed. Computational results show that the proposed solution method performs well in terms of both solution quality and computation time. ? 2003 Elsevier Ltd. All rights reserved. Keywords: Scheduling; Open shop; Tabu search; Tardiness
∗
Tel.: +886-4-2332-3000; fax: +886-4-2374-2327. E-mail address:
[email protected] (C.-F. Liaw).
0305-0548/03/$ - see front matter ? 2003 Elsevier Ltd. All rights reserved. PII: S 0 3 0 5 - 0 5 4 8 ( 0 2 ) 0 0 1 2 4 - 7
2082
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
1. Introduction The classical open shop scheduling model can be de4ned as follows. We are given n independent jobs and m parallel machines. Each job i; i = 1; 2; : : : ; n, consists of m operations, Oij ; j = 1; 2; : : : ; m, where operation Oij of job i has to be processed on machine j for pij time units. At any time, at most one operation can be processed on each machine, and at most one operation of each job can be in process. The operations of a job can be processed in any order. The open shop scheduling model has received considerable research attention (see Refs. [1,2]) because it occurs in many real-world scheduling environments. In many situations, particularly testing and maintenance, the order in which the operations are processed is immaterial. The teacher-class timetabling problem is another example where the open shop model is a natural basic formulation. An open shop is similar to a job shop except that the operations of a job can be processed in any order. Relaxing the ordering constraints from a job shop yields a looser problem structure. This, however, implies that the number of feasible schedules increases tremendously. Thus, the problem of 4nding optimal open shop schedules by (implicit) enumeration is even more di#cult than it is for job shops. In this paper, we consider a special case of the open shop scheduling problem. We shall be concerned with the case of m = 2 in which preemption is allowed. That is, there are only two machines and the processing of any operation can arbitrarily often be interrupted and resumed at a later time. Each job i; i = 1; 2; : : : ; n, is available at timezero and has a due date di . The objective is to 4nd a feasible schedule such that the total tardiness ni=1 Ti = ni=1 max(Ci − di ; 0) is minimized, where Ci is the completion time and Ti is the tardiness of job i. Following the three-4eld notation of Graham et al. [3], we denote this problem as Om |prmp| Ti . The problem is NP-hard since its special case with m = 1 is already a NP-hard problem [4]. Most variations of open shop scheduling problems are known to be NP-hard. Polynomial time algorithms only exist for a few special cases. A large number of studies have been done on the non-preemptive scheduling of open shops [5–9]. When preemption is allowed, Gonzalez and Sahni [10] proposed a polynomial time algorithm for the problem Om |prmp|Cmax . Improved versions of that algorithm were given by Gonzalez [11]. Cho and Sahni [12] presented a linear programming formulation for the problem Om |prmp; ri ; dI i |Cmax where each job i has a release time ri and due time dI i . They also gave polynomial algorithms for special cases of this problem. Lawler et al. [13] developed a linear time algorithm for the problem O2 |prmp|Lmax . They also proved that theproblem O2 |prmp| Ui is NP-hard. Liu and Bul4n [14] showed that both the problems O3 |prmp| Ci and O2 |prmp; dI i | Ci are NP-hard. Liu and Bul4n [15] also studied the preemptive ordered open shop and proposed polynomial time algorithms for special cases of this problem. Recently, Liu [16] developed an e#cient branch-and-bound algorithm for the problem Om |prmp| Ci . The algorithm was further generalized by Liaw [17] to solve the problem Om |prmp| Ti . However, the algorithm in [17] can only be used for small scale problems. In this paper we propose a tabu search (TS) algorithm for the problem O2 |prmp| Ti . For m = 2, an optimal schedule can be constructed in linear time if the order of job completion times is known in advance. This result motivates us to use the TS approach as an alternative approach that has shown superiority in 4nding optimal or near optimal solutions for many problem settings. The rest of the paper is organized as follows. In Section 2 we present a linear programming formulation for the problem under consideration if the sequence in which jobs are completed
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2083
is known. This linear programming formulation reduces to an O(n) algorithm when m = 2. In Section 3 a constructive heuristic which serves as the initial solution of the TS algorithm is described. In Section 4 an TS approach that searches for an optimal or near optimal job completion sequences is proposed. Computational results are provided in Section 5 followed by some concluding remarks in Section 6.
2. Job completion sequences If the order in which jobs are completed is known in advance, we can obtain the optimal job completion times and hence the total tardiness by formulating the problem as a linear program. Without loss of generality, we assume that jobs are completed in the sequence 1; 2; : : : ; n, that is, Ci 6 Ci+1 for i = 1; 2; : : : ; n − 1. De4ne C0 = 0 and xijk = the portion of operation Oij processed in the interval [Ck −1 ; Ck ]. By de4nition we have xijk = 0 for all j and i ¡ k; that is, no job will be processed by any machine after its completion time. The linear program that produces the optimal job completion times and hence the total tardiness for a given job completion sequence is as follows: (LP)
Min
n
Ti
i=1
s:t:
n
xijk 6 Ck − Ck −1 ;
j = 1; 2; : : : ; m; k = 1; 2; : : : ; n;
(1)
i=k m
xijk 6 Ck − Ck −1 ;
k = 1; 2; : : : ; n; i = k; k + 1; : : : ; n;
(2)
j=1 i
xijk = pij ;
j = 1; 2; : : : ; m; i = 1; 2; : : : ; n;
(3)
k=1
Ti ¿ Ci − di ; Ti ; Ck ; xijk ¿ 0;
i = 1; 2; : : : ; n; j = 1; 2; : : : ; m; k = 1; 2; : : : ; n; i = k; k + 1; : : : ; n:
(4) (5)
Constraint sets (1) and (2) require that for each interval [Ck −1 ; Ck ] the amount of processing time assigned to each machine j and each job i, respectively, be no more than the interval length Ck −Ck −1 . Constraint set (3) requires that each operation be completed. Finally, constraint set (4) de4nes job tardiness. The solution to LP gives the completion time for each job and the amount of processing time of each operation Oij processed in each interval [Ck −1 ; Ck ]. With this information, we can apply the algorithm of Gonzalez and Sahni [10] to each of the n intervals to obtain the corresponding schedule.
2084
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
The following theorems present some fundamental properties of an optimal schedule for the case m = 2, i.e., O2 |prmp| Ti . Theorem 1. There exists an optimal schedule for O2 |prmp| Ti such that one of the machines is never idle and the other machine is idle at most once, while waiting for the last operation. Proof. Follows directly from Lemma 3.2.3 in Sriskandarajah and Wagneur [18]. Theorem 2. If pi1 6 pk1 ; pi2 6 pk2 and di 6 dk , then there exists an optimal job completion sequence in which job i precedes job k. Proof. Suppose S is an optimal job completion sequence that does not conform to the theorem. Then, there exist two jobs i and k, with Ck 6 Ci , such that pi1 6 pk1 ; pi2 6 pk2 and di 6 dk . Since pi1 6 pk1 ; pi2 6 pk2 and preemption is allowed, we can construct a new schedule S by interchanging only the operations of jobs i and k such that Ci = Ck ; Ck = Ci and Cq = Cq for all q = i; k. That is, in S job i completes at time Ck , job k completes at time Ci and all the other jobs complete at the same time as in S. Since di 6 dk , schedule S has no more tardiness than schedule S. Hence, S must also be an optimal schedule and theorem is proved. Theorem 3. When m = 2, the linear program LP simpli9es to an O(n) algorithm. Proof. We prove this result heuristically. Consider an algorithm consisting of n iterations. At iteration k, job k is scheduled, k = 1; 2; : : : ; n. Suppose that job k − 1 is completed at time Ck −1 and job k is to be scheduled. There are intervals during which machine 1 is idle but machine 2 is busy, and other intervals during which the reverse is true; these intervals have lengths Uk and Vk , respectively. If job k is tardy even if it completes as early as possible, then we should schedule job k so that it is completed as early as possible. That is, Ck = Ck −1 + max(0; pk1 − Uk ) + max(0; pk2 − Vk ). In this case the intervals Uk and Vk are utilized as much as possible. Otherwise, we schedule job k so that it is completed at time k − k , where k = min{dk ; Ck −1 + pk1 + pk2 } and k k = min{max(0; Idle1 − pk+1; 1 ); max(0; Idle2 − pk+1; 2 ); max(0; k − dk+1 )}, where Idle1 = k − i=1 pi1 and Idle2 = k − ki=1 pi2 . Note that k is the latest time at which job k can complete without being tardy and causing simultaneous idleness on machines and k is the possible increase of the tardiness of job k + 1 if job k is postponed to complete at time k . In this case, we have Tk = 0 and the intervals Uk and Vk are utilized as little as possible so that the subsequent jobs k + 1; k + 2; : : : ; n may possibly be completed earlier if it is desired. The algorithm which replaces linear program LP when m = 2 is given below: Algorithm Timing Step 1: Step 2:
Set C0 = U1 = V1 = 0. For k=1 to n do Ck = Ck −1 + max(0; pk1 − Uk ) + max(0; pk2 − Vk )
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2085
If (k ¡ n and Ck ¡ dk ) k = min{dk ; Ck −1 + pk1 + pk2 } Idle1 = k − ki=1 pi1 Idle2 = k − ki=1 pi2 k = min{max(0; Idle1 − pk+1; 1 ); max(0; Idle2 − pk+1; 2 ); max(0; k − dk+1 )} Ck = k − k EndIf Tk = max(0; Ck − dk ) Uk+1 = Ck − ki=1 pi1 Vk+1 = Ck − ki=1 pi2 Theorem 4. Algorithm Timing produces an optimal schedule for O2 |prmp| are completed in the sequence 1; 2; : : : ; n.
Ti given that the jobs
Proof. The theorem can be proved by an induction argument. Obviously, the algorithm gives an optimal schedule when n = 1. Assume that it also produces an optimal schedule when n = k. When job k + 1 is to be scheduled, there can be no reduction in the tardiness by scheduling the 4rst k jobs di;erently. Hence, only job k + 1 needs to be scheduled so that its tardiness is minimized. This is exactly what algorithm Timing does, and hence the theorem is proved. It can be seen easily that algorithm Timing has a complexity of O(n) and generates no more than n − 1 preemptions. To optimally solve the problem O2 |prmp| Ti , we must enumerate (at least implicitly) all possible job completion sequences. Since the problem sizes that exact methods can solve are relative small, we adopt in this paper a TS approach combined with the algorithm Timing to generate job completion sequences and 4nal schedules. 3. A heuristic procedure In this section we give an e#cient heuristic that produces a good solution quickly for the problem O2 |prmp| Ti . The job completion sequence obtained by this heuristic is also used as the initial sequence of the TS algorithm developed in the following section. This heuristic, called HEU, combines the philosophies of algorithm Timing and the modi4ed due date (MDD) rule by Baker and Bertrand [19]. HEU consists of n iterations. At iteration q; q = 1; 2; : : : ; n, it determines the job i∗ to be placed in the qth position of the job completion sequence. Let EPCi∗ be the earliest possible completion time of job i∗ given the current partial schedule (with q − 1 jobs scheduled). If EPCi∗ ¿ di∗ , then job i∗ is scheduled to be completed at time EPCi∗ . Otherwise, it is scheduled to be completed at time min{di∗ ; C[q−1] + pi∗ 1 + pi∗ 2 }, where C[q−1] is the completion time of the job in the (q − 1)th position of the job completion sequence. Let S be set of unscheduled jobs, and TP1 and TP2 be the total processing time of jobs scheduled on machine 1 and 2, respectively. The steps of the heuristic HEU are as follows: Step 1 : Let q = 1; C[0] = 0; S = {1; 2; : : : ; n} and U1 = V1 = TP1 = TP2 = 0.
2086
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
Step 2 : For each unscheduled job i ∈ S, compute its earliest possible completion time EPCi = C[q−1] + max{0; pi1 − Uq } + max{0; pi2 − Vq }: Select job i∗ to be scheduled next if i∗ = arg mini∈S {max(EPCi ; di )}. Step 3 : If EPCi∗ ¿ di∗ , set Ci∗ = C[q] = EPCi∗ . Otherwise, set Ci∗ = C[q] = min{di∗ ; C[q−1] + pi∗ 1 + pi∗ 2 }. CalculateTi∗ = max{Ci∗ − di∗ ; 0}. TPj = TPj + pi∗ j ; j = 1; 2; Step 4 : Update Uq+1 = C[q] − TP1 ; V = C − TP : q+1
[q]
2
Set q = q + 1 and S = S \{i∗ }. Step 5 : Repeat Steps 2– 4 until S = ∅.
In step 2, the modi4ed due date max(EPCi ; di ) of each unscheduled job i is calculated and the job with the earliest modi4ed due date is selected to schedule next. It can be seen easily that algorithm HEU has a complexity of O(n2 ).
4. A tabu search approach Tabu search (TS), introduced by Glover [20–22], is a local search approach designed for solving hard combinatorial optimization problems. More re4ned versions and a large number of successful applications of TS can be found in [23–25]. The basic TS scheme can be brie9y described as follows. At 4rst, a function transforming a solution into another solution is de4ned. Such a function is usually called a move. For any solution s, a subset of moves applicable to it is de4ned. This subset of moves generates a subset of solutions NH (s), called the neighborhood of s. Starting from an initial solution, TS iteratively moves from the current solution s to the best solution s∗ in NH (s), even if s∗ is worse than the current solution s, until a superimposed stopping criterion becomes true. In order to avoid cycling to some extent, moves which would bring us back to a recently visited solution should be forbidden or declared tabu for a certain number of iterations. This is accomplished by keeping the attributes of the forbidden moves in a list, called tabu list. The size of the tabu list must be large enough to prevent cycling, but small enough not to forbid too many moves. Whenever a move from a solution to its best neighbor is made, the attributes associated with the inverted move are added to the end of the tabu list and the “old” elements of the tabu list are removed if it is overloaded. Additionally, an aspiration criterion is de4ned to deal with the case in which an interesting move (such as a move that leads to a new best solution) is tabu. If a current tabu move satis4es the aspiration criterion, its tabu status is canceled and it becomes an allowable move. To further improve the performance of TS, intensi9cation strategies can be used to accentuate the search in a promising region of the solution space, and diversi9cation strategies, in contrast, can be applied to broaden the search to less explored region. Three commonly used stopping criteria are: (1) stop if the best solution found is close enough to a lower bound of the optimum value; (2) stop if the
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2087
number of iterations without any improvement exceeds a speci4ed limit; and (3) stop if the total number of iterations performed exceeds a speci4ed limit. We shall de4ne in the following subsections the structural elements that have been used in our implementation of TS. 4.1. Neighborhoods As stated in Section 2, a solution to the problem under consideration is characterized by the sequence in which jobs are completed. Hence, the solution space consists of n! possible sequences. In order to improve a current solution, we need to modify the job completion sequence. In this paper the following two kinds of moves are alternately used: (1) Insertion: an insertion move consists of moving one job from its current position and inserting it into another position and (2) Swap: a swap move consists of exchanging the positions of two jobs. More speci4cally, starting with the insertion neighborhood, TS switches to the other neighborhood structure after the number of iterations without any improvement exceeds a speci4ed limit no imp. The advantage of using two types of moves alternatively is that it helps to compensate the de4ciencies of using each type in isolation; that is, sequences easily accessible by insertion (swap) moves are di#cult to reach using swap (insertion) moves. Computational experiments have shown that this scheme signi4cantly improves the performance of TS. Both insertion and swap moves de4ne an O(n2 ) neighborhood. In order to reduce the total number of moves considered for evaluation, a candidate list is created to include those sequence modi4cations that involve jobs no more than n=2 positions apart, where x denotes the largest integer less than or equal to x. For each neighbor generated by a move, algorithm Timing can be used to compute its objective function value. In our implementation, the evaluation of moves is accelerated by introducing a memory scheme that stores the values of Ck ; Uk and Vk for the job in position k; k = 1; 2; : : : ; n. In this way, the e;ect of a move can be evaluated by applying algorithm Timing only to a subset of the jobs. For example, consider a swap move for which jobs in positions r and l, where r ¡ l, are exchanged. Since the values of Ck ; Uk and Vk for each job in position k ¡ r remain unchanged, to evaluate this move we only need to apply algorithm Timing to the jobs in positions k ¿ r. 4.2. Tabu list Tabu list is used to determine whether a solution with a characteristic attribute has been visited before. If TS detects that a candidate solution possesses attributes of a recently visited solution within TL (tabu length) iterations, the move is forbidden and the next candidate move is entertained. The selection of tabu attribute, the associated data structure and the tabu length are crucial design features which contribute to the e#ciency and success of TS. Since two types of moves are considered in our implementation, two tabu lists are employed. Both tabu lists use an n × n two-dimensional matrix to record the tabu status. For each swap move in which jobs in positions l and r are exchanged, the tabu list for swap move (LS ) stores in the position of row l and column r the iteration number after which the jobs in positions l and r can be exchanged. Thus, when TS exchanges the jobs in positions l and r, the value iter + TL is stored in LS [l; r], where iter is current iteration count. For each insertion move in which the job in position l is inserted into position r, the tabu list for insertion move (LI ) stores in the position of row r
2088
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
and column l the iteration number after which the job in position r can be inserted into position l. Thus, when the job in position l is inserted into position r at iteration iter, the value iter + TL is stored in LI [r; l]. In many applications of TS [26–28] the dynamic tabu length strategy is proved superior to using a 4xed tabu length. In our implementation, we allow during the search the tabu length to vary within an interval. Speci4cally, at the beginning of each iteration, the value of tabu length TL is randomly selected from a uniform distribution U [TLmin ; TLmax ]. Whenever a move yields an objective function value less than the best one found so far, the aspiration criterion is invoked and the tabu status of such a move is overridden. 4.3. Intensi9cation To improve the performance of TS, we adopt an intensi4cation strategy consists of storing the elite solutions and restarting the search form them so as to explore neighborhoods with potentially good solutions. The recovery of the elite solutions is deferred until the last stage of the search. The elite solutions, a set of best solutions found so far, are recovered in the order from the worst solution to the best solution. The recovery of each elite solution initiates a search that starts with a random neighbor of the current elite solution and lasts for a 4xed number of iterations. In our implementation, the no elite best solutions found in classical iter iterations are stored and the search is restarted from a random neighbor of each elite solution for restart iter iterations. The tabu lists are cleared for each restart. Moreover, to further intensify the search in promising regions, the expanded neighborhood LI ∪ LS is used for intensify iter consecutive iterations whenever a new best solution is found during the search process. 4.4. Diversi9cation Diversi4cation of the search is important in 4nding good solutions to large problems. To achieve global diversi4cation, a frequency-based memory is used to force the search process to visit regions not yet explored. To implement this strategy, we introduce a two-dimensional matrix Freq where component Freq[i; l] is the number of solutions generated so far in which job i is assigned to position l. This information is used to discourage moves leading to a solution that has already occurred frequently and consequently to encourage moves leading to a solution that has occurred less frequently. For each swap move in which job i in positions l and job k in position r are exchanged, the move value is penalized according to the frequency of job i in position r and the frequency of job k in positions l. The move evaluation is then changed to new move value = original move value + penalty × [(Freq[i; r] + Freq[k; l])=2]=iter, where penalty is a penalty factor and iter is the current iteration count. For each insertion move in which the job in position l is inserted into position r; r ¿ l, the move evaluation is changed to new move value = original move value + penalty × [ rk=l Freq[ik ; k]=(r − l + 1)]=iter, where ik is the job in position k in the resulting sequence. That is, the average frequency of the jobs that change position in the sequence is used to penalize the move. The case in which r ¡ l is evaluated similarly. As mentioned in the previous subsection, the expanded neighborhood LI ∪ LS is used for a certain number of consecutive iterations whenever a new best solution is found during the search process. In this stage, both swap and insertion moves are considered simultaneously and hence the move
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2089
value is altered to new move value = old move value + penalty × [ nk=1 Freq[ik ; k]=n]=iter. That is, the average frequency of all the n jobs is used in the move evaluation.
5. Computational experiments In this section, we describe our experiments to evaluate the performance of the proposed TS approach. The main stopping criterion for the TS approach is speci4ed in terms of a maximal number of iterations max iter = classical iter + no elite × restart iter. The TS approach 4rst executes classical TS for classical iter iterations and then starts the recovery stage where the recovery of each of the no elite stored elite solutions constitutes restart iter iterations. Since a solution with zero tardiness is guaranteed to be an optimal solution, our TS approach also terminates whenever such a solution is found. The algorithm is coded in C and implemented on a Pentium III-600 personal computer. The proposed TS approach involves a number of parameters that need to be determined appropriately. To achieve better results, the procedure presented by Xu and Glover [29] is adopted in our parameter setting. This procedure is a systematic 4ne-tuning procedure using statistical tests to eliminate inferior parameter settings. It examines the parameters sequentially according to their a priori importance and attempts to 4nd the best value of each parameter based on the test results. As a result, the following parameter values are used in our TS approach: TLmin = 5; TLmax = 20; no imp = 20; intensify iter = 5; penalty = 1:0; classical iter = 300; no elite = 10; restart iter = 20, and max iter = 500. To generate processing times, the approach of Lageweg et al. [30] is used. Speci4cally, the processing times are generated by one of the following four methods: Method I: The processing times for all operations are generated independently from the uniform distribution U [1; 100]. Method II: For each job i, an integer (i is chosen from the uniform distribution U [0; 4], and then the processing times for all operations belonging to job i are drawn from the uniform distribution U [20(i + 1; 20(i + 20]. That is, the processing times of each job will be consistently relatively large or relatively small. Method III: The processing times for all operations on machine j; j = 1; 2, are chosen from the uniform distribution U [50(j − 1) + 1; 50(j − 1) + 100]. In this case, the processing times on each machine will be consistently relatively large or relatively small. Furthermore, machine 2 will be a ‘bottleneck’ machine since the processing times on machine 2 tend to be larger than the processing times on machine 1. Method IV: Combine method II with III. That is, for each job i, an integer (i is chosen from the uniform distribution U [0; 4], and then the processing time pij , on each machine j; j = 1; 2, is generated from the uniform distribution U [50(j − 1) + 20(i + 1; 50(j − 1) + 20(i + 20]. To generate due dates, we use an adaptation of Fisher’s method [31], which is a commonly used approach to generate due dates for single machine problems. For each job i; di is chosen from the n m uniform distribution U [P(1 − TF − RDD=2); P(1 − TF + RDD=2)], where P = i=1 j=1 pij =m, is the average machine load, TF is the tardiness factor, and RDD is the relative range of the due
2090
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
Table 1 Performance of TS approach with respect to optimal solutions Type
n
Avg dev(%)
Max dev(%)
Tavg
Tmax
OPT (#)
OPT (%)
I
10 15 20 25 30 Avg.
0.00 0.00 0.00 0.01 0.04 0.010
0.00 0.00 0.05 0.15 0.95
0.15 0.44 0.94 1.89 3.15
0.25 0.78 1.54 3.02 4.86
45 45 44 41 41
100.00 100.00 97.78 91.11 91.11 96.000
II
10 15 20 25 30 Avg.
0.00 0.00 0.00 0.00 0.00 0.000
0.00 0.00 0.00 0.00 0.00
0.08 0.28 0.66 1.22 1.95
0.22 0.56 1.22 2.36 3.74
45 45 45 45 45
100.00 100.00 100.00 100.00 100.00 100.000
III
10 15 20 25 30 Avg.
0.00 0.00 0.01 0.00 0.01 0.004
0.00 0.00 0.24 0.00 0.62
0.14 0.44 1.03 1.97 3.03
0.23 0.75 1.59 3.08 4.71
45 45 44 45 44
100.00 100.00 97.78 100.00 97.78 99.110
IV
10 15 20 25 30 Avg.
0.00 0.00 0.00 0.04 0.00 0.026
0.00 0.00 0.00 1.82 0.03
0.03 0.27 0.61 1.29 2.09
0.08 0.58 1.22 2.16 4.00
45 45 45 44 44
100.00 100.00 100.00 97.78 97.78 99.110
Overall Avg.
0.01
98.556
dates. Both TF and RDD take values from 0.2, 0.6 and 1.0. Five instances are generated for each combination of TF and RDD, yielding 45 instances for each problem size n. In order to evaluate the performance of the TS approach, we compare the solutions of TS with the optimal solutions obtained by the branch-and-bound algorithm in [17] on a set of test problems with n equal to 10, 15, 20, 25 and 30. We remark that some of the test problems with n equal to 30 could not be solved optimally by this branch-and-bound algorithm within a time limit of 3600 s. For such test problems the incumbent solution (best solution found within the time limit) is used in the comparison. The detailed results are presented in Table 1. The information shown in Table 1 are as follows: Type = The method used to generate processing times. (I, II, III and IV for method I, II, III and IV, respectively.) n = Number of jobs. Avg dev(%) = The average percentage deviation of the proposed TS approach. For each instance, the percentage deviation is de4ned by 100 × (OPT − ZTS )=OPT , where OPT is the optimal (or
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2091
Table 2 In9uence of TF and RDD on the solution quality of the TS algorithm TF \ RDD
0.2 0.6 1.0
Max dev(%)
UNSOL(#)
0.2
0.6
1.0
0.2
0.6
1.0
0.95 0.15 0.00
1.82 0.46 0.00
0.00 0.00 0.02
4 2 0
2 4 0
0 0 1
incumbent) solution value obtained by the branch-and-bound algorithm and ZTS is the best solution value obtained by the proposed TS approach. Max dev(%) = The maximal percentage deviation of the proposed TS approach. Tavg = The average CPU time in seconds. Tmax = The maximal CPU time in seconds. OPT (#) = The number of instances for which a proved optimal solution is found (out of 45). OPT (%) = The percentage of instances for which a proved optimal solution is found (out of 45). We remark that for problems with n equal to 30, OPT (#) (OPT (%)) represents the number (percentage) of instances for which a proved optimal solution is found or TS 4nds the same solution value as the branch-and-bound algorithm. Analysis of Table 1 shows that the TS approach 4nds an optimal value or the same solution value as the branch-and-bound algorithm for 887 out of 900 test problems. For the 13 remaining test problems, the average and maximal solution gap is 0.38% and 1.82%, respectively. The overall average solution gap is about 0.01%. The maximal CPU time for a problem with 30 jobs is 4:86 s. Considering the combinatorial nature of the problem under consideration, the proposed TS approach provides excellent results. As shown in Table 1, the TS approach performs best on problems whose processing times are generated by type II method, and worst on problems whose processing times are generated by type I method. This observation coincides with that in [17] and hence may imply that the problems with a small variation among processing times pertaining to each job and/or the problems with a bottleneck machine are easier to solve. In Tables 2 and 3, the in9uence of the tardiness factor (TF) and the due date range (RDD) on the performance of the TS approach is analyzed. Table 2 exhibits the in9uence of TF and RDD on the solution quality of the TS approach in terms of maximal percentage deviation (Max dev(%)) and number of instances for which the TS approach 4nds a solution inferior to that of the branch-andbound algorithm (UNSOL(#)). It can be seen from Table 2 that the performance of TS improves as TF increases. That is, the TS approach performs better on problems with tight due dates than problems with loose due dates. Regarding the due date range (RDD), the TS approach performs best when RDD = 1:0. However, the di;erence between RDD = 0:2 and 0.6 is not very signi4cant. Summarizing, we observe that the problem becomes more di#cult to solve when due dates are looser (TF is small) and closer to each other (RDD is small). Table 3 shows the in9uence of TF and RDD on the average CPU time of the TS approach. The problem size is set at n = 30. Results for other problem sizes are similar. It is noted that
2092
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
Table 3 In9uence of TF and RDD on the CPU time of the TS algorithm (n = 30) TF \ RDD
Tavg 0.2
0.6
1.0
Avg.
0.2 0.6 1.0
1.06 3.58 3.30
1.06 3.81 3.02
0.37 3.74 3.06
0.83 3.71 3.13
Avg.
2.65
2.63
2.39
Table 4 Average ratio of OPT=HEU for small sized problems Type \ n
I II III IV Overall avg.
OPT=HEU (%) 10
15
20
25
30
Average
99.03 99.77 98.64 99.23
99.31 99.40 99.17 99.17
99.24 99.11 98.99 99.17
98.38 98.93 98.80 98.96
99.03 99.59 98.70 99.24
99.00 99.36 98.86 99.15 99.09
the TS approach runs fastest on problems with TF = 0:2. The reason is that the problems with loose due dates tend to have an optimal solution with zero tardiness, and the TS approach terminates immediately whenever such a solution is found. Finally, the in9uence of RDD is insigni4cant. The TS approach is also tested on large sized problems with n equal to 50, 80, 100 and 150. As far as we know, no heuristic method for the problem under consideration has appeared in the literature. In order to evaluate the performance of the TS approach on large sized problems, we compare the average ratio of ZTS =ZHEU with the average ratio of OPT=ZHEU for small sized problems (the set of problems in Table 1), where ZHEU is the solution value obtained by the heuristic HEU. The ratio ZTS =ZHEU (OPT=ZHEU ) denotes the closeness between ZTS (OPT ) and ZHEU . Hence, by comparing these two ratios we can roughly measure the solution quality di;erence of TS between large sized problems and small sized problems. Table 4 summarizes the average ratios of OPT=ZHEU for the set of problems in Table 1. The overall average ratio is 99.09%. The results for large sized problems are given in Table 5. In Table 5, the minimal (Tmin ), average (Tavg ) and maximal (Tmax ) CPU time for each problem set are also presented. As shown in Table 5, the overall average ratio of ZTS =ZHEU is 98.75%, very close to the overall average ratio of OPT=ZHEU (99.09%). This implies that the TS approach provides comparable solution
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2093
Table 5 Performance of TS approach for large sized problems Type
n
Tmin
Tavg
Tmax
ZTS =HEU (%)
I
50 80 100 150
0.00 0.00 0.00 0.00
13.50 49.19 95.68 304.66
21.76 81.13 160.66 512.82
98.68 98.88 98.20 98.72
II
50 80 100 150
0.00 0.00 0.00 0.00
8.51 35.06 66.42 216.08
16.93 60.41 121.57 374.78
98.88 98.80 98.97 99.25
III
50 80 100 150
0.00 0.00 0.00 0.00
14.25 53.76 100.21 323.12
22.05 82.69 158.33 532.85
98.40 98.61 98.42 98.53
IV
50 80 100 150
0.00 0.00 0.00 0.00
9.07 36.32 69.76 223.84
16.14 59.98 118.44 393.23
99.03 98.82 98.89 98.96
Average
98.75
qualities for both small and large sized problems. The maximal CPU time for a problem with n=150 is 532:85 s. These results show that the TS approach is capable of 4nding extremely high-quality solutions within a reasonable amount of time. 6. Conclusions In this article, the problem of scheduling two-machine preemptive open shops to minimize total tardiness is examined. An optimal timing algorithm is presented to determine the optimal schedule for a given job completion sequence. A TS approach is proposed to search for an optimal or near-optimal job completion sequence. The TS approach employs an alternating neighborhood structure and a dynamic TL scheme. Intensi4cation and diversi4cation strategies are also developed to improve the performance of the TS approach. Computational experiments based on randomly generated problems with various sizes show that the proposed TS approach provides excellent results. For small sized problems, the TS approach 4nds optimal solutions in 98.56% of the cases. For those problems that are not solved optimally the maximal deviation from the optimal value is 1.82%. The TS approach also provides extremely high-quality solutions for large sized problems within a reasonable amount of time. The results of our experiments indicate that the proposed TS approach is very e;ective and e#cient in solving the two-machine preemptive open shop problem with the objective of minimizing tardiness.
2094
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
References [1] Brucker P. Scheduling algorithms. Berlin Heidelberg: Springer, 1995. [2] Pinedo M. Scheduling: theory, algorithms, and systems. Englewood Cli;s, NJ: Prentice Hall, 1995. [3] Graham RL, Lawler EL, Lenstra JK, Rinnooy Kan AHG. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics 1979;5:287–326. [4] Du J, Leung JY-T. Minimizing total tardiness on one machine is NP-hard. Mathematics of Operations Research 1990;15:483–95. [5] Achugbue JO, Chin FY. Scheduling the open shop to minimize mean 9ow time. SIAM Journal on Computing 1982;11:709–20. [6] Brasel H, Tautenhahn T, Werner F. Constructive heuristic algorithms for the open shop problem. Computing 1993;51:95–110. [7] Brucker P, Hurink J, Jurish B, Wostmann B. A branch and bound algorithm for the open-shop problem. Discrete Applied Mathematics 1997;76:43–59. [8] Gueret C, Prins C. Classical and new heuristics for the open-shop problem. European Journal of Operational Research 1998;107(2):306–14. [9] Liaw CF. A hybrid genetic algorithm for the open shop scheduling problem. European Journal of Operational Research 2000;124(1):28–42. [10] Gonzalez T, Sahni S. Open shop scheduling to minimize 4nish time. Journal of the Association for Computing Machinery 1976;23(4):665–79. [11] Gonzalez T. A note on open shop preemptive schedules. IEEE Transactions on Computers 1979;C-28:782–6. [12] Cho Y, Sahni S. Preemptive scheduling of independent jobs with release and due times on open, 9ow and job shops. Operations Research 1981;29:511–22. [13] Lawler EL, Lenstra JK, Rinnooy Kan AHG. Minimizing maximum lateness in a two-machine open shop. Mathematics of Operations Research 1981;6:153–8. [14] Liu CY, Bul4n RL. On the complexity of preemptive open shop scheduling problem. Operations Research Letters 1985;4:71–4. [15] Liu CY, Bul4n RL. Scheduling ordered open shops. Computers and Operations Research 1987;14(3):257–64. [16] Liu CY. A branch-and-bound algorithm for the preemptive open shop scheduling problem. Journal of the Chinese Institute of Industrial Engineers 1995;12(1):25–31. [17] Liaw CF. Scheduling preemptive open shops to minimize total tardiness. European Journal of Operational Research, 2001, in review. [18] Sriskandarajah C, Wagneur E. On the complexity of preemptive openshop scheduling problems. European Journal of Operational Research 1994;77:404–14. [19] Baker KR, Bertrand J. A dynamic priority rule for scheduling against due-dates. Journal of Operations Management 1982;3:37–42. [20] Glover F. Future paths for integer programming and linkage to arti4cial intelligence. Computers and Operations Research 1986;13:533–49. [21] Glover F. Tabu search—Part I. ORSA Journal on Computing 1989;1:190–206. [22] Glover F. Tabu search—Part II. ORSA Journal on Computing 1990;2:4–32. [23] Glover F, Laguna M. Tabu search. Dordrecht: Kluwer Academic Publishers, 1997. [24] Rayward-Smith VJ, Osman IH, Reeves CR, Smith GD, editors. Modern heuristic search methods. Chichester: Wiley, 1996. [25] Reeves CR, editor. Modern heuristic techniques for combinatorial problems. Oxford: Blackwell Scienti4c Publications, 1993. [26] Chakrapani J, Skorin-Kapov J. Massively parallel tabu search for quadratic assignment problem. Annals of Operations Research 1993;41:327–41. [27] Dell’Amico M, Trubian M. Applying tabu search to the job-shop scheduling problem. Annals of Operations Research 1993;41:231–52. [28] Taillard E. Robust taboo search for the quadratic assignment problem. Parallel Computing 1991;17:443–55. [29] Xu J, Chiu SY, Glover F. Fine-tuning a tabu search algorithm with statistical tests. International Transactions on Operational Research 1998;5(3):233–44.
C.-F. Liaw / Computers & Operations Research 30 (2003) 2081 – 2095
2095
[30] Lageweg BJ, Lenstra JK, Rinnooy Kan AHG. A general bounding scheme for the permutation 9ow-shop problem. Operations Research 1978;26:53–67. [31] Fisher ML. A dual algorithm for the one machine scheduling problem. Mathematical Programming 1976;11:229–51. Ching-Fang Liaw received B.B.A. and M.S. degrees in Industrial Management from National Cheng Kung University, Taiwan, and a Ph.D. degree in Industrial and Operation Engineering from the University of Michigan, MI. He is currently a Professor at the Chaoyang University of Technology, Taiwan. His research interests include combinatorial optimization and heuristic search methods with applications to production scheduling, and vehicle routing and scheduling.