Computers & Industrial Engineering 62 (2012) 946–952
Contents lists available at SciVerse ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
A GES/TS algorithm for the job shop scheduling q Mohammad Mahdi Nasiri ⇑, Farhad Kianfar Department of Industrial Engineering, Sharif University of Technology, Tehran, Iran
a r t i c l e
i n f o
Article history: Received 25 March 2011 Received in revised form 24 October 2011 Accepted 15 December 2011 Available online 27 December 2011 Keywords: Scheduling Job shop Path relinking Tabu search Global equilibrium search
a b s t r a c t The job shop scheduling problem is a difficult combinatorial optimization problem. This paper presents a hybrid algorithm which combines global equilibrium search, path relinking and tabu search to solve the job shop scheduling problem. The proposed algorithm used biased random sampling to have a better covering of the solution space. In addition, a new version of N6 neighborhood is applied in a tabu search framework. In order to evaluate the algorithm, comprehensive tests are applied to it using various standard benchmark sets. Computational results confirm the effectiveness of the algorithm and its high speed. Besides, 19 new upper bounds among the unsolved problems are found. Ó 2011 Elsevier Ltd. All rights reserved.
1. Introduction The job shop scheduling problem (JSP) is a practical problem and has numerous applications in manufacturing and supply chain scheduling problems (Pinedo, 2008). In addition, the results obtained for JSP can be extended to be used in open shop and even in resource constrained project scheduling problems. One of the most interesting criteria in JSP literature is the makespan. In fact, the simplicity of the computation of makespan makes it the most popular objective function. The problem (which is denoted by Jm||Cmax) can be described as follows: n jobs are given that should be done on m machines. Each job is composed of a set of operations which should be processed in a predetermined order. The set of all operations is denoted by O = {1, 2, . . . , o}. Each operation u has to be processed without stoppage for a fixed duration (processing time) pu on a given machine. Operations of the same job cannot be processed at the same time. Each job can visit each machine at most once and no machine can process more than one job at a time. A schedule is an allocation of operations to time periods on a machine. The objective of the problem is to locate a schedule that minimizes the makespan (Cmax), that is, the completion time of the last operation finished. Each schedule can be represented by a processing order that determines the sequence of operations on each machine. In the scheduling literature, many algorithms (exact and approximation) are presented to solve the JSP with makespan criterion.
q
This manuscript was processed by Area Editor T.C. Edwin Cheng.
⇑ Corresponding author. Tel.: +98 91 2223 8648; fax: +98 21 3330 6764. E-mail addresses:
[email protected] (M.M. Nasiri),
[email protected] (F. Kianfar). 0360-8352/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2011.12.018
Most of the exact algorithms (like Applegate & Cook, 1991) are focused on the branch and bound method. However, since it is proven that the problem is NP-hard (the proof can be found in Garey, Johnson, & Sethi, 1976) many approximation (heuristic and meta-heuristic) algorithms have been developed to find a near optimal solution. Among these efforts, those that used tabu search at least as a part of the algorithm had better results. Nowicki and Smutnicki (1996) proposed a tabu search algorithm with back jump (TSAB) that performs very well. A comprehensive survey of older scheduling techniques can be seen from Blazewicz, Domschke, and Pesch (1996). Balas and Vazacopoulos (1998) proposed a guided local search with shifting bottleneck. Park, Choi, and Kim (2003) proposed a hybrid genetic algorithm. Nowicki and Smutnicki (2005) proposed i-TSAB which remained as a state of the art paper for JSP with makespan criterion for years. Pardalos and Shylo (2006) presented an algorithm based on global equilibrium search (GES) techniques. Sha and Hsu (2006) developed a hybrid particle swarm optimization (PSO) whose particle position is based on preference list-based representation, particle movement is based on swap operator, and particle velocity is based on the tabu list concept. Zhang, Li, Guan, and Rao (2007) tried to extend the neighborhood of Balas and Vazacopoulos (1998). Zhang, Li, Rao, and Guan (2008) combined tabu search (TS) and simulated annealing (SA) and proposed TSSA that outperforms most of the algorithms except i-TSAB. Pardalos, Shylo, and Vazacopoulos (2010) used the properties of the search space such as backbone and ‘‘big valley’’ to accelerate the search process. Nasiri and Kianfar (2011a) proposed a hybrid scatter search for an extension of the JSP. Nasiri and Kianfar (2011c) presented a combination of tabu search and path relinking which outperforms many well known algorithms.
M.M. Nasiri, F. Kianfar / Computers & Industrial Engineering 62 (2012) 946–952
swapping the last two operations of the block
the first operation of the block
critical block
the last operation of the block
swapping the first two operations of the block Fig. 1. The outline of the N5 neighborhood.
the first operation of the block
moving an operation right after the last operation of the block
947
In order to explain N5 and N6 neighborhoods, the term ‘‘block’’ should be defined. Simply, one can say that the block is a maximal subsequence of a critical path, which contains operations processed on the same machine. In order to define N5 neighborhood, only a single critical path is considered. In every block except the first block and the last block, the first two and the last two operations are swapped. In the first block, only the last two operations and by symmetry, in the last block only the first two operations are swapped (Nowicki & Smutnicki, 1996). Fig. 1 shows the N5 neighborhood. The experimental results for N6 neighborhood show that it is very effective in deep search. In this neighborhood, an operation within a critical block can be moved right before the first or right after the last operation of the block. The N6 neighborhood is illustrated in Fig. 2. 3. Tabu search procedure
critical block
the last operation of the block
moving an operation right before the first operation of the block Fig. 2. The outline of the N6 neighborhood.
This paper combined the most effective approaches. Global equilibrium search (GES), path relinking (PR) and tabu search are used to develop a new algorithm (GESTS) that can be used for continuing the search process in long runs. The biased random sampling and path relinking are used for diversification purposes and in order to cover all the search space while the global equilibrium search and tabu search are applied for intensification intentions and in order to escape from local optimums. Therefore, the proposed algorithm (GESTS) is composed of three components: a tabu search (NKTS), the path relinking (NIS) of Nowicki and Smutnicki (2005) and a global equilibrium search. The remainder of the paper is organized as follows. In Section 2, the neighborhood structures used in the algorithm are explained. Section 3 describes the tabu search procedure. Section 4 hybridizes tabu search and path relinking procedures. In Section 5, the algorithm GESTS is illustrated. Section 6 presents the computational results. Finally, Section 7 concludes the paper.
2. Neighborhood structures The neighborhood structure is a mechanism which can obtain a new set of neighbor solutions by applying a small perturbation to a given solution (Glover & Laguna, 1997). A given solution is modified to a neighbor solution by applying a move. Since the proposed algorithm used some neighborhood structures, it is necessary to define them. For a comprehensive review of job shop neighborhoods, see Zhang et al. (2007). The N1 neighborhood structure for the JSP was introduced by Van Laarhoven, Aarts, and Lenstra (1992). The properties of the N1 neighborhood facilitate its application in path relinking procedures. In this neighborhood, a move is defined by the interchange of two successive operations on a critical path that should be processed on the same machine. According to Zhang et al. (2007), two important properties of this neighborhood are: Given a feasible solution, the exchange of two adjacent critical operations cannot yield an infeasible solution. The permutation of non-critical operations cannot improve the objective function and even may create an infeasible solution.
The best results for the job shop scheduling problem are obtained by using local search methods. In fact, TS which is introduced by Glover (1986) is very effective for intensification purposes. In addition, TS has the ability of escaping from local optima. The most effective applications of TS to JSP are TSAB of Nowicki and Smutnicki (1996), i-TSAB of Nowicki and Smutnicki (2005) and TSSA of Zhang et al. (2008). It should be noted that if the initial solution of our tabu search algorithm (NKTS) is obtained from deterministic rules (like SPT or LPT) the algorithm is not a randomized one. Some characteristics that specify NKTS are as follows. In contrast with TSAB that uses N5 neighborhood, NKTS uses N6 with cycle prevention conditions of Nasiri and Kianfar (2011b). In addition, NKTS stores maxl promising solutions so that if a predetermined number (Improvelter) of moves without improvement is done the search process is returned to the promising solutions. 3.1. Move evaluation When a set of feasible moves has been formed, each move should be evaluated to calculate or estimate the makespan. Since a fast and authentic estimate is available for N6 from Balas and Vazacopoulos (1998), this estimate is utilized. It should be noted that new heads and tails are needed for the estimation of the objective function. Thus, a topological order with the procedure of Nasiri and Kianfar (2011c) is used to calculate only the heads and tails that need to be updated. 3.2. Tabu list The tabu list eludes returning to the formerly visited solutions. The algorithm TSAB stores moves in tabu list. This may be suitable for N5 neighborhood that it uses. Furthermore, the algorithm TSSA uses attributes of solutions instead of using attributes of moves. Since our algorithm uses N6 neighborhood like TSSA, the same structure for the tabu list is used. Consequently, if a move consists of interchange on operations u and v, operations between u and v, and their positions are saved before implementing the interchange. For the duration that these operations and positions recorded as ‘‘tabu’’, a move that would achieve the same sequence of operations and positions is not permitted. It should be noted that if the solution after the move has the same operations and positions as one of tabu list items but the move has no role in creating this situation, then the move will not be considered as ‘‘tabu’’. In addition, the length of tabu list has important effect on quality of the solutions. This length can be configured by trial and error.
948
M.M. Nasiri, F. Kianfar / Computers & Industrial Engineering 62 (2012) 946–952
3.3. Move selection If any non-tabu move exists the move with the lowest makespan is selected among the moves that are not tabu. Otherwise, a tabu move (to be exact, the move that results in a tabu position) which meets the aspiration condition is chosen. However, a state may happen where all potential moves are tabu and none of them can meet the aspiration condition. In such a case, TSSA chooses a move randomly, TSAB chooses the oldest tabu move and NKTS chooses the first move in the moves array. 3.4. Guideposts Balas and Vazacopoulos (1998) introduced some guideposts for N6 neighborhood that significantly improve the search process and can be recognized as one of the most important strength factors of it. They are also used in NKTS while the prior applications of TS (like TSSA) did not use them. It is worth noting that calculating the makespan for a new solution is considered as iteration. If the makespan has been worsened in the last iteration, the guideposts specify the part of critical path that the increase in makespan is attributed to it. Then, only that part of critical path is considered for generating the neighborhood. 3.5. Cycle detection A cycle occurs when a sequence of the solutions is repeated in a local search method. Since no cycle has been detected in our experimentations, GESTS does not have a cycle detector whereas the algorithms i-TSAB and TSSA both used cycle detectors. It should be noted that using a cycle detector decreases the speed of the algorithm. 3.6. Termination criteria NKTS is terminated when one of the following criteria is met: the optimal solution is found, the number of iterations exceeds TotIter or all neighbors of the first promising solution are visited. 4. TS/PR hybridization As mentioned above, i-TSAB is one of the most competent algorithms for the JSP and using its strength points seems rational. In addition to TS, i-TSAB takes advantage of another effective procedure called path relinking. Path relinking which is firstly developed by Glover, Laguna, and Marti (2000) finds a new solution between two given solutions. It allows i-TSAB to cover the solution space and cause the algorithm to reach its diversification purposes. However, the framework that we combine TS and PR is much simpler than i-TSAB. 4.1. Path relinking procedure Since an efficient path relinking procedure exists in the literature, instead of developing a new one, we use the one of Nowicki and Smutnicki (2005) which is called NIS. The minimum number of moves needed to transform the processing order c to the processing order d is defined as the distance between c and d. The NIS procedure takes two processing orders c, d and calculate the primal distance between them as dist. The procedure starts with c and finds all moves in N1 neighborhood which after applying them to c the distance between c and d is reduced by one unit. Among available moves, the move which results in the lowest makespan is selected. The selected move is
applied to c and the procedure repeated until the distance between c and d is less than a predetermined fraction (maxV) of dist. 4.2. TS/PR procedure TSPR is a combination of NKTS and NIS procedures. At the first step, TS is initiated with a random solution and returns the best solution found denoted as s0. Then a new random solution (xi) is generated and the path relinking procedure finds a solution (denoted as hi) between xi and si; let i = 0. Next, TS is started with hi and returns si+1. This process is repeated for i = 1, 2, . . . until the optimal solution is found or the number of iterations exceeds TotIter. Finally, TSPR returns the best solution found which is updated during all search processes. 5. GES/TS/PR approach Generating random solutions blindly (like TSPR procedure) may result in limited coverage of the search space and missing the high quality solutions. Therefore, a technique that gathers data about the visited solutions’ area can end in a more sighted search. 5.1. Global equilibrium search Although global equilibrium search (GES) presented by Shylo (1999) is not as well known as tabu search and path relinking, it shows effectiveness in solving various combinatorial optimization problems. One of the most successful applications of GES is proposed by Pardalos and Shylo (2006) to solve Jm||Cmax. Thus, their GES with some modifications is used in our procedure in order to take advantage of the acquired knowledge in generating new random solutions. GES stores the history of the search and use this information to direct the exploration to the regions that have more probability of including optimal solutions. Obviously, maintaining all of the solutions in the computer memory is cumbersome. Therefore, in GES the required information is kept in compact form. Let x stand for a binary vector which is composed of all binary variables x(u, v) correspond to the ordered pair of operations (u, v) that require the same machine for processing; x(u, v) = 1 if in solution represented by x operation u is processed earlier than v, and otherwise x(u, v) = 0. In this implementation (like Pardalos & Shylo, 2006), two values for each variable are stored: the best makespan when the variable is equal to zero and the best makespan when the variable is equal to one. This information is converted to probabilities correspond to the variables in order to be used in generating the new solutions. Let pr stand for a vector which is composed of all elements like pru,v that denotes the probability of processing u before v. The vector pr is defined by set F which is composed of some solutions. Let Fq(u, v) = {x e F:x(u, v) = q}, where q = 0, 1 and u, v e 0. According to Pardalos and Shylo (2006), temperature cycles are used in order to allow the alternation between intensification and diversification. Since intensification is achieved through the tabu search and diversification is obtained using the path relinking, contrary to Pardalos and Shylo (2006), the temperature cycles are not used in this implementation. Therefore, the probabilities are obtained using the following formula where g(x) is the makespan of the solution represented by x and l is a tuning parameter.
prnew u;v ¼
pr old u;v old pr old u;v þ ð1 pr u;v Þ þ expðlð min gðxÞ min gðxÞÞÞ x2F 0 ðu;v Þ
ð1Þ
x2F 1 ðu;v Þ
It is worth noting that all of the initial probabilities are set to 0.5 and if F q ðu; v Þ ¼ £; q ¼ 0:1, then ðminx2F 0 ðu;v Þ gðxÞ minx2F 1 ðu;v Þ gðxÞÞ old is considered as zero which results in pr new u;v ¼ pr u;v .
949
M.M. Nasiri, F. Kianfar / Computers & Industrial Engineering 62 (2012) 946–952
Fig. 3. The solution_generator procedure. Fig. 4. Algorithm GESTS.
Besides, according to Pardalos and Shylo (2006), it is much more efficient to apply a series of random moves based on probabilities within a neighborhood to a completely random solution than to construct a random solution based on probabilities. Since the size of the neighborhood N1 is quite large and includes a great number of unimproved moves (Zhang et al., 2007), contrary to Pardalos and Shylo (2006), N5 neighborhood is used in our implementation. The solution_generator procedure is shown in Fig. 3.
Table 1 Parameter setting for different problem sizes.
5.2. The GESTS algorithm The proposed algorithm (GESTS) is the combination of GES and TSPR. In this implementation, every new solution produced in TS and PR procedures enters the set F. However, if maxndefeat iterations are occurred without improvement in best solution then F will be equal to the empty set. Moreover, the probabilities are updated only when generating a new random solution is necessary. The complete algorithm can be described as in Fig. 4 where calculate_probabilities procedure is based on Eq. (1). The variable iter is incremented in procedures NIS and NKTS whenever the makespan of a new schedule is calculated. It should be noted that the random solution is generated using the biased method which ensures the full coverage of the solution space.
maxl
l
maxndefeat
Improvelter
15 15 20 15 20 20 30 15 30 20 40 15 40 20 50 15 50 20
1 3 5 5 5 5 7 8 8
0.11 0.08 0.07 0.06 0.04 0.03 0.03 0.02 0.02
20,000 40,000 40,000 50,000 80,000 100,000 100,000 150,000 200,000
1000 1000 5000 5000 5000 7000 7000 8000 10,000
The job shop instances used for comparison of algorithms are: (a) 80 instances denoted as TA01-80 (size n m = 15 15, 20 15, 20 20, 30 15, 30 20, 50 15, 50 20, 100 20) due to Taillard (1993) and 80 instances denoted as DMU01-80 due to Demirkol, Mehta, and Uzsoy (1998). (b) 10 instances SWV01-10 (size n m = 20 10, 20 15) due to Storer, Wu, and Vaccari (1992), four instances as YN1-4 (size n m = 20 20) due to Yamada and Nakano (1992) and 10 instances ORB01-10 (size n m = 10 10) due to Applegate and Cook (1991). (c) One instance denoted as FT10 (size n m = 10 10) due to Fisher and Thompson (1963), 11 instances from LA01-40 (size n m = 10 5, 15 5, 20 5, 10 10, 15 10, 20 10, 30 10, 15 15) due to Lawrence (1984) and three instances ABZ7-9 (size n m = 20 15) due to Adams, Balas, and Zawack (1988).
6. Computational results The proposed GESTS algorithm was implemented in visual C++ 2008 on a personnel computer with AMD X2 240 processor (2.8 GHz Dual core). The algorithm has been compared with i-TSAB from Nowicki and Smutnicki (2005) which runs on a PC with Pentium III 900 MHz processor and TSSA from Zhang et al. (2008) which runs on a PC with Pentium IV 3.0 GHz processor. The algorithm i-TSAB has no random component; therefore the comparison is based on only one run. By contrast, TSSA and GESTS have random components and different results are obtained by several implementations, therefore their average results are considered. To be more exact, the algorithms (TSSA and GESTS) solved every instance 10 times.
Problem size
All problem sets are available at OR-Library.1 To analyze the quality of the solutions, the mean relative error (MRE) was calculated from the best known lower bound LBbest, and the upper bound (UBalg) that is the makespan of the best solution obtained by the algorithm, using the UB LB ‘‘relative deviation’’ formula RE ¼ 100 algLB best for each instance. In best addition, ‘‘CPUav’’ corresponds to the average CPU time that is needed 1
http://www.mscmga.ms.ic.ac.uk/info.html.
950
M.M. Nasiri, F. Kianfar / Computers & Industrial Engineering 62 (2012) 946–952
Table 2 Comparison of GESTS with i-TSAB in MRE for different TotIter for TA01-50. Problem group
TotIter (in millions) 0.5
1
2
5
10
20
50
TA01-10
GESTS i-TSAB
0.14 0.64
0.11 0.48
0.07 0.27
0.03 0.11
0.03
0.02
0.01
100
200
TA11-20
GESTS i-TSAB
3.53 4.04
3.20 3.47
3.04 3.11
2.83 2.98
2.60 2.91
2.51 2.81
2.44
2.40
TA21-30
GESTS i-TSAB
6.54 6.55
6.38 6.20
6.12 6.12
5.91 6.01
5.88 5.88
5.72 5.69
5.59 5.68
5.58
5.57
TA31-40
GESTS i-TSAB
1.86 1.73
1.46 1.63
1.14 1.48
1.08 1.18
0.90 1.03
0.75 0.85
0.66 0.78
0.61
0.55
TA41-50
GESTS i-TSAB
6.56 6.81
6.01 6.25
5.57 5.98
5.16 5.69
4.80 5.33
4.63 4.97
4.26 4.7
4.20
4.14
TA01-50
GESTS i-TSAB
3.73 3.95
3.43 3.61
3.19 3.39
3.00 3.19
2.84 3.05
2.74 2.89
2.59 2.82
2.56
2.53
Table 3 New upper bounds for TA and DMU instances. Problem group Taillard
a
DMU_rcmax
DMU_cscmax
Problem name
OUB(LB)
NUB
Problem name
OUB(LB)
NUB
Problem name
OUB(LB)
NUB
TA11 TA41 TA49 TA50
1358(1323) 2014(1859) 1967(1915) 1926(1807)
1357 2006 1966 1925
30_15_5 30_15_9 30_15_10 30_20_2 30_20_7 30_20_8 30_20_9
3683(3681) 3453(3395) 3518(3418) 3712(3604) 3772(3726) 3775(3650) 3849(3844)
3681a 3445 3516 3703 3763 3773 3846
20_15_5 20_20_9 30_15_2 30_15_9
3401(3066) 3737(3379) 4202(3839) 4353(4012)
3399 3730 4176 4349
The best makespans our algorithm found are equal to best known lower bound.
for obtaining the best solution found (and not for exceeding TotIter iterations). The algorithm i-TSAB was used with its parameter settings on our computer to obtain new upper bounds, but the efforts were unsuccessful. By contrast, during various tests (with tuning parameters) and standard tests, GESTS algorithm found 19 new upper bounds for famous benchmark problems. 6.1. Parameter setting All of the parameters are chosen experimentally by 10 trials on one problem in each set. The parameters maxV = 0.4 (related to NIS procedure) and tabulength = 10 (the length of the tabu list in NKTS) are constant for all problem sizes and runs while other parameters remain fixed for each problem size on runs with different maximum iterations and are according to Table 1. 6.2. Results for instances (a) TA class of job shop instances is sufficiently hard for comparison of different algorithms. Specially, the instances TA21-30 (20 20) and TA41-50 (30 20) are considered as the most difficult job shop benchmark problems. The number of operations in TA01-50 benchmarks is between 225 and 600. Despite their greater number of operations, instances TA51-80 are easy to solve for GESTS and the optimal solutions of them are found in few seconds. This phenomenon can be attributed to the increasing ratio of the number of jobs to the number of machines. DMU problems are also hard instances that include DMU_rcmax and DMU_cscmax problem sets. Table 2 shows the comparison between GESTS and i-TSAB for different values of TotIter. GESTS is designed for long runs, therefore Table 2 also includes the results of the runs with greater
maximum number of iterations. Based on the comparison of Zhang et al. (2008), it can be concluded that GESTS with MRE = 2.61, outperforms i-TSAB with the difference of 0.21 and TSSA with the large difference of 0.34. Table 3 gives four new upper bounds for Taillard’s instances and 11 new upper bounds for DMU problems found by GESTS during various experimental runs. ‘‘OUB’’ stands for the old upper bound and ‘‘NUB’’ represents the new upper bound found by our algorithm. The detailed results of DMU instances are not included for brevity. Some of the new upper bounds for Taillard’s benchmarks are also available at his website (Taillard, 2011). 6.3. Results for instances (b) The detailed results for SWV and YN instances are shown in Table 4. TSSA algorithm (which to the best of our knowledge is superior to its predecessors that have the detailed results for SWV instances) only provides the results for SWV01-10. Since we intend to compare GESTS algorithm with TSSA, only first 10 problems out of 20 SWV instances are included in our experimentations. Both of the algorithms have random components, therefore the correct criterion for the comparison is MREav (the column ‘‘Mav’’). The column ‘‘Best’’ corresponds to the best makespan found among 10 executions. The results show that GESTS outperforms TSSA for SWV01-05 and SWV06-10 with the differences of 0.61 and 0.6, respectively. In addition, GESTS found three new upper bounds for SWV instances, namely: SWV06-1677, SWV07-1595 and SWV09-1660. YN benchmarks include four problems of size 20 20 without any known optimal solution. The results for YN benchmarks reveal that GESTS has better performance than TSSA. Moreover, one new upper bound is found by GESTS for YN problems, namely: YN2-905.
951
M.M. Nasiri, F. Kianfar / Computers & Industrial Engineering 62 (2012) 946–952 Table 4 Results for SWV01-10, YN1-4 and ORB01-10 instances.
a
Problem
Size
UB(LB)
GESTS
SWV01 SWV02 SWV03 SWV04 SWV05 SWV01-05 SWV06 SWV07 SWV08 SWV09 SWV10 SWV06-10 YN1 YN2 YN3 YN4 YN1-4 ORB01-10
20 10 20 10 20 10 20 10 20 10
1407 1475 1398(1369) 1470(1450) 1424
20 15 20 15 20 15 20 15 20 15
1678(1591) 1600(1446) 1756(1640) 1661(1604) 1754(1631)
20 20 20 20 20 20 20 20
884(826) 907(861) 892(827) 968(918)
10 10
TSSA
Best
Mav
CPUav(s)
Best
Mav
CPUav(s)
1412 1475 1398 1471 1426 0.81 1677a 1595a 1766 1660a 1760 6.96 884 905a 892 969 6.39 0.00
1417.5 1477.2 1398.4 1476.3 1436.5 1.15 1678.4 1622.6 1785.7 1681.8 1775.5 8.06 885.3 906.6 893.3 970.3 6.55 0.00
53.2 45.1 40.1 50.3 48.2 47.4 81.7 74.9 78.5 72.0 79.6 77.3 40.8 32.2 43.5 38.2 38.7 1.2
1412 1475 1398 1470 1425 0.78 1679 1603 1756 1661 1754 6.91 884 907 892 969 6.40 0.00
1423.7 1480.3 1417.5 1483.7 1443.8 1.76 1700.1 1631.3 1786.9 1689.2 1783.7 8.66 891.3 911.2 895.5 972.6 6.99 0.17
142.1 119.7 139.1 143.9 146.7 138.3 192.5 190.2 190.0 193.8 184.6 190.2 106.3 110.4 110.8 108.7 109.1 6.2
The best makespans our algorithm found are better than the best previously known value.
Table 5 Results for fifteen hard instances. Problem
Size
UB(LB)
FT10 LA19 LA21 LA24 LA25 LA27 LA29 LA36 LA37 LA38 LA39 LA40 ABZ7 ABZ8 ABZ9 MRE
10 10 10 10 15 10 15 10 15 10 20 10 20 10 15 15 15 15 15 15 15 15 15 15 20 15 20 15 20 15
930 842 1046 935 977 1235 1152 1268 1397 1196 1233 1222 656 665(645) 678(661)
GESTS
TSSA
Best
Mav
CPUav(s)
Best
Mav
CPUav(s)
930 842 1046 935 977 1235 1153 1268 1397 1196 1233 1224 658 669 679 0.47
930.0 842.0 1046.0 936.3 977.0 1235.0 1153.0 1268.0 1397.0 1196.0 1233.0 1224.0 659.5 670.1 679.5 0.51
0.5 0.1 0.1 0.5 0.3 0.2 0.3 0.1 0.3 0.1 0.5 20.1 15.9 19.2 18.7 5.1
930 842 1046 935 977 1235 1153 1268 1397 1196 1233 1224 658 667 678 0.43
930.0 842.0 1046.0 936.2 977.1 1235.0 1159.2 1268.0 1402.5 1199.6 1233.8 1224.5 661.8 670.3 684.8 0.67
3.8 0.5 15.2 19.8 13.8 11.7 63.9 9.9 42.1 47.8 28.6 52.1 85.9 90.7 90.2 38.4
ORB instances are relatively easy and GESTS solves each of them to optimality in about one second. The average MRE of GESTS for these instances is equal to zero while that of TSSA is equal to 0.17.
The low difference between the two columns ‘‘Best’’ and ‘‘Mav’’ is an evidence for the robustness of GESTS. 6.5. Comparison with NKTS and TSPR
6.4. Results for instances (c) In this section we study the performance of GESTS on the oldest benchmarks for JSP. In fact, the instances considered by Zhang et al. (2008) as the 15 most difficult ones among FT, LA and ABZ benchmarks are discussed here. Table 5 shows that GESTS outperforms TSSA when the average of MRE is the criterion of the comparison.
Table 6 Comparison of the proposed algorithms on TA01-50 instances. Problem group
Size
CPU (s)
GESTS MREav
TSPR MREav
GTSPR MREav
NKTS MREav
TA01-10 TA11-20 TA21-30 TA31-40 TA41-50 TA01-50
15 15 20 15 20 20 30 15 30 20
12 60 185 210 555 204.4
0.01 2.40 5.57 0.55 4.14 2.53
0.01 2.60 5.61 0.64 4.33 2.64
0.01 2.46 5.57 0.60 4.19 2.57
0.02 2.95 6.01 0.90 4.55 2.89
In order to analyze the effect of combining GES and PR with tabu search, NKTS and TSPR are also separately applied to Taillard’s benchmark problems. GESTS is also compared with the GTSPR algorithm of Nasiri and Kianfar (2011c). Table 6 compares the performance of these four algorithms within the same time limit. To be fair in the comparison, since NKTS converges before the time is over; it starts from the beginning with a new random initial solution until maximum time (CPU) is reached. It can be seen that MREav of GESTS is lower than that of NKTS, TSPR and GTSPR. 7. Conclusions In this paper, a very fast and effective algorithm is introduced for job shop scheduling problem with makespan criterion. GESTS found many new upper bounds for the most difficult test sets of JSP. The algorithm proposed (GESTS) take advantage of a new version of N6 neighborhood and its guideposts. In addition, applying
952
M.M. Nasiri, F. Kianfar / Computers & Industrial Engineering 62 (2012) 946–952
GES allows us to use the properties of the effective solutions. Moreover, GESTS does not include some weaknesses of the prior algorithms. One of these weaknesses is that they could not be executed for long runs. The other weakness of these algorithms is that the search area may be restricted to the area around the initial solution. GESTS can solve these problems by using various random solutions as the initial solution. The algorithm shows higher performance than other existing algorithms especially for larger instances that are more similar to the real world problems.
References Adams, J., Balas, E., & Zawack, D. (1988). The shifting bottleneck procedure for job shop scheduling. Management Science, 34, 391–401. Applegate, D., & Cook, W. (1991). A computational study of the job-shop scheduling problem. ORSA Journal on Computing, 3(2), 149–156. Balas, E., & Vazacopoulos, A. (1998). Guided local search with shifting bottleneck for job shop scheduling. Management Science, 44(2), 262–275. Blazewicz, J., Domschke, W., & Pesch, E. (1996). The job shop scheduling problem: Conventional and new solution techniques. European Journal of Operational Research, 93, 1–33. Demirkol, E., Mehta, S., & Uzsoy, R. (1998). Benchmarks for shop scheduling problems. European Journal of Operational Research, 109(1), 137–141. Fisher, H., & Thompson, G. L. (1963). Probabilistic learning combinations of local job-shop scheduling rules. In J. F. Muth & G. L. Thompson (Eds.), Industrial scheduling (pp. 225–251). Englewood Cliffs, NJ: Prentice-Hall. Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, 1, 117–129. Glover, F. (1986). Future paths for integer programming and links to artificial intelligence. Computers and Operations Research, 13, 533–549. Glover, F., & Laguna, M. (1997). Tabu search. Dordrecht: Kluwer Academic Publishers. Glover, F., Laguna, M., & Marti, R. (2000). Fundamentals of scatter search and path relinking. Control and Cybernetics, 39, 653–684. Lawrence, S. (1984). Resource constrained project scheduling: An experimental investigation of heuristic scheduling techniques (Supplement). Pittsburgh, Pennsylvania: Graduate School of Industrial Administration, Carnegie-Mellon University.
Nasiri, M. M., & Kianfar, F. (2011a). A hybrid scatter search for the partial job shop scheduling problem. International Journal of Advanced Manufacturing Technology, 52(9), 1031–1038. Nasiri, M. M., & Kianfar, F. (2011b). A GA/TS algorithm for the stage shop scheduling problem. Computers and Industrial Engineering, 61(1), 161–170. Nasiri, M. M., & Kianfar, F. (2011c). A guided tabu search/path relinking algorithm for the job shop problem. International Journal of Advanced Manufacturing Technology. doi:10.1007/s00170-011-3441-0. Nowicki, E., & Smutnicki, C. (1996). A fast taboo search algorithm for the job shop scheduling problem. Management Science, 42(6), 797–813. Nowicki, E., & Smutnicki, C. (2005). An advanced tabu search algorithm for the job shop problem. Journal of Scheduling, 8(2), 145–159. Pardalos, P., & Shylo, O. (2006). An algorithm for the job shop scheduling problem based on global equilibrium search techniques. Computational Management Science, 3, 331–348. Pardalos, P., Shylo, O., & Vazacopoulos, A. (2010). Solving job shop scheduling problems utilizing the properties of backbone and ‘‘big valley’’. Computational Optimization and Applications, 47, 61–76. Park, B. J., Choi, H. R., & Kim, H. S. (2003). A hybrid genetic algorithm for the job shop scheduling problems. Computers and Industrial Engineering, 45, 597–613. Pinedo, M. L. (2008). Planning and scheduling in manufacturing and services. Series in operations research and financial engineering (3rd ed., ). Springer-Verlag. Sha, D. Y., & Hsu, C. Y. (2006). A hybrid particle swarm optimization for job shop scheduling problem. Computers and Industrial Engineering, 51, 791–808. Shylo, V. (1999). A global equilibrium search method (Russian). Kybernetika i Systemniy Analys, 1, 74–80. Storer, R. H., Wu, S. D., & Vaccari, R. (1992). New search spaces for sequencing problems with applications to job-shop scheduling. Management Science, 38(10), 1495–1509. Taillard, E. D. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64, 278–285. Taillard, E. D.
March, 2011. Van Laarhoven, P. J. M., Aarts, E. H. L., & Lenstra, J. K. (1992). Job shop scheduling by simulated annealing. Operations Research, 40(1), 113–125. Yamada, T., & Nakano, R. (1992). A genetic algorithm applicable to large-scale jobshop problems. In R. Manner & B. Manderick (Eds.), In International workshop on parallel problem solving from nature – PPSN’2. Brussels: Belgium. Zhang, C. Y., Li, P. G., Guan, Z. L., & Rao, Y. Q. (2007). A tabu search algorithm with a new neighborhood structure for the job shop scheduling problem. Computers and Operations Research, 34, 3229–3242. Zhang, C. Y., Li, P. G., Rao, Y. Q., & Guan, Z. L. (2008). A very fast TS/SA algorithm for the job shop scheduling problem. Computers and Operations Research, 35, 282–294.