a new local search algorithm for the job shop scheduling problem

6
WUJH$ WUHAN UNIVERSITY JOURNAL OF NATURAL SCIENCES VoI. 8 No. 3A 2003 797-802 Article ID: 1007-1202(2003)03A-0797-06 A New Local Search Algorithm for the Job Shop Scheduling Problem [] Huang Wen-qi 1 , Yin Ai-hua 1'2 1. School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, Hubei, China; 2. School of Mathematics and Computer Science, Hubei University, Wuhan 430062, Hubei, China Abstract: In this paper, the job shop scheduling problem concerned with minimizing make-span is discussed, and a new local search algorithm is proposed for it. This local search method is based on an improved shifting bottleneck procedure and Tabu Search technique. This new local search is different from the previous Tabu Search (TS) proposed by other au- thors, which is because the improved shifting bottleneck pro- cedure is a new technology that is provided by us for the problem, and two remarkable strategies intensification and diversification of TS are modified. To demonstrate the performance, our algorithm has been tested on many common problem instances (benchmarks) with various sizes and levels of hardness and compared with other algorithms, especially the latest TS in the literatures. Computational experiments show that this algorithm is effec- tive and efficient. Key words:heuristic; improved shifting bottleneck proce- dure; Tabu search; intensification; diversification CLC number: TP 301 Received date= 2002-11-15 Foundation item: Supported by China National 973 Program (G1998030600) Biography: Huang Wen-qi (1938-), male, Professor, research dire- ction: combinationaloptimization, production scheduling, operations research, covering problem and SAT problerrL E-maih wqhuang@ bust. edu. cn 0 Introduction T he job shop scheduling problem with which we are con- cerned consists in scheduling a set of jobs on a set of machines for the objective of minimizing the make-span, i. e. the maximum of time needed for finishing all jobs, which is subject to the constrains that each job has a fixed processing order through the machines and each machine can process at most one job at a time. This problem is NP-hard and even is one of the hardest combinational optimization problems. It is well known that only small size problem instances can be solved within a reasonable computational time by exact algorithms. However, for large size instances, some encouraging results just have been recently ob- tained with meta-heuristic algorithms that are based on local search method [1]. Generally, starting from an initial feasible so- lution, a local search method iteratively selects a proper solution from the neighborhood. As a matter of fact, the choice of a good-initial solution is an important aspect of algorithm's per- formance, which has been observed Ref. [2,3], etc. This paper is a further research of our recent work. A new algorithm based on the improved shifting bottleneck pro- cedure (ISB) and a Tabu Search method is proposed. ISB is used to find a good-initial feasible solution and its local re-op- timization procedure is used to improve some current solutions found by a TS process. In this paper, the job shop scheduling problem is formal- ized in terms of a mathematical model and is represented on disjunctive graph; ISB and two strategies intensification and diversification of TS are analyzed; The new heuristic algo- rithm, NLS is described; Computational results on several test instances are shown. 797

Upload: huang-wen-qi

Post on 10-Jul-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A new local search algorithm for the job shop scheduling problem

WUJH$ WUHAN UNIVERSITY JOURNAL OF NATURAL SCIENCES

VoI. 8 No. 3A 2003 797-802

Article ID: 1007-1202(2003)03A-0797-06

A New Local Search Algorithm for the Job Shop Scheduling Problem

[ ] Huang Wen-qi 1 , Yin Ai-hua 1'2 1. School of Computer Science and Technology,

Huazhong University of Science and Technology, Wuhan 430074, Hubei, China;

2. School of Mathematics and Computer Science, Hubei University, Wuhan 430062, Hubei, China

Abstract: In this paper, the job shop scheduling problem concerned with minimizing make-span is discussed, and a new local search algorithm is proposed for it. This local search method is based on an improved shifting bottleneck procedure and Tabu Search technique. This new local search is different from the previous Tabu Search (TS) proposed by other au- thors, which is because the improved shifting bottleneck pro- cedure is a new technology that is provided by us for the problem, and two remarkable strategies intensification and diversification of TS are modified.

To demonstrate the performance, our algorithm has been tested on many common problem instances (benchmarks) with various sizes and levels of hardness and compared with other algorithms, especially the latest TS in the literatures. Computational experiments show that this algorithm is effec- tive and efficient.

Key words:heur is t ic ; improved shifting bottleneck proce- dure; Tabu search; intensification; diversification

CLC number: TP 301

Received date= 2002-11-15 Foundation item: Supported by China National 973 Program (G1998030600) Biography: Huang Wen-qi (1938-), male, Professor, research dire- ction: combinational optimization, production scheduling, operations research, covering problem and SAT problerrL E-maih wqhuang@ bust. edu. cn

0 Introduction

T he job shop scheduling problem with which we are con- cerned consists in scheduling a set of jobs on a set of

machines for the objective of minimizing the make-span, i. e. the maximum of time needed for finishing all jobs, which is subject to the constrains that each job has a fixed processing order through the machines and each machine can process at most one job at a time.

This problem is NP-hard and even is one of the hardest combinational optimization problems. It is well known that only small size problem instances can be solved within a reasonable computational time by exact algorithms. However, for large size instances, some encouraging results just have been recently ob- tained with meta-heuristic algorithms that are based on local search method [1]. Generally, starting from an initial feasible so- lution, a local search method iteratively selects a proper solution from the neighborhood. As a matter of fact, the choice of a good-initial solution is an important aspect of algorithm's per- formance, which has been observed Ref. [2,3], etc.

This paper is a further research of our recent work. A new algorithm based on the improved shifting bottleneck pro- cedure (ISB) and a Tabu Search method is proposed. ISB is used to find a good-initial feasible solution and its local re-op- timization procedure is used to improve some current solutions found by a TS process.

In this paper, the job shop scheduling problem is formal- ized in terms of a mathematical model and is represented on disjunctive graph; ISB and two strategies intensification and diversification of TS are analyzed; The new heuristic algo- rithm, NLS is described; Computational results on several test instances are shown.

797

Page 2: A new local search algorithm for the job shop scheduling problem

1 The Problem Definition

Let J = { 1 , ' " , n } be a set of jobs, M={1, . . . ,m} a set of machines and V= { 0 , 1 , ' " , N, g } a set of opera- tions. Each job consists of a sequence of operations each of which is processed on one machine during a given peri- od, where 0 and g represent the dummy start and finish operations respectively. A schedule is a design of start-

time (from this moment the operation is processed) for each operation on the corresponding machine. In other words, it is an allocation of processing order of the oper- ations on the machines. The problem is to find a schedule minimizing the make-span, which is subject to two con- straints: 1) the precedence of operations on every job must be respected; 2) once a machine starts processing an operation it can not be interrupted and each machine can process at most one operation at a time. Let A be the set of pair-operations constrained by the precedence rela- tions as in 1), Vk the set of operations processed by the machine k(k E M) , E~ CVk X Vk the set of pair-opera- tions, di and ti the processing time and the start-time of the operation i ( i E V) respectively. So, do = d~ = 0. Now, the problem can be stated as follows.

f mint~,

ti >/0, i E V (P) tj - ti >/d~, (i,j) E A

tj --t~ >/d~ V t~- t j >/d j , ( i , j ) E Ek,k E M

Any solution of (P) is a schedule, a feasible solution of the problem.

The problem can be represented on a disjunctive graph G ." = (V,A,E) E4? , where V is the set of nodes, A the set of conjunctive arcs and E the set of disjunctive arcs. The nodes, the directed arc and the disjunctive cor- respond to operations, precedence relation of two opera- tions of a job and the pair-operations processed by the

same machine respectively. The length of arc ( i , j ) is d; implying the processing time of operation i(i ,j E V).

Fig. 1 shows the disjunctive graph of an instance with n=3,m=3, and N=8.

A subset of Ek is called a selection Sk that just con- tains one arc of each disjunctive pair-arcs of Ek ,kEM. Sk is acyclic if it contains no cycle. A feasible processing or- der of the operations on the machine k is equivalent to an acyclic selection Sk. To determine a processing order of the operations corresponding to a machine is to sequence

o ii 5 ...... i i . . . . " IE 8

Fig. 1 An instance of the problem

this machine E43.

Let Mo be the set of the machines that have been se- quenced, then S ' = U Sk (k E Mo ) is called a selection. An acyclic directed graph Ds ' = (V,A LJ S) correspond- ing to a complete selection S(Mo = M ) defines a sched- ule. To solve the problem is to find a complete selection S" giving rise to an acyclic Ds" and minimizing the length of the longest path (critical path) in Ds".

Let Gk : ---- (Vk, Ek ), an acyclic selection Sk deter- mines the only one Hamilton path Hk of Gk and the in- verse is also true E47. So, the acyclic Sk ,S and Ds are re- placed by the Ilk ,H �9 = U Hk (kE Mo) and DH=(V,A O H) respectively in this paper.

For a feasible solution DH, the swap of two adjacent operations processed by the same machine on the critical path may improve the solution, which is a base to define the neighborhood for local search. The critical path is de-

composed into a series of critical blocks ( Q , ..., Cr). Each block contains the operations processed on one ma- chine, and adjacent blocks correspond different machines.

Fig. 2 shows a feasible solution via a digraph DH, ( H = ( ( 5 , 1 ) , ( 1 , 6 ) ) U (2,7) U ( (4 ,8 ) , (8 ,3))) . The critical path is (0 ,4 ,5 ,1 ,6 ,7 ,8 ,3 , ~ ) with r=4,C1 = (4) ,C2 = (5,1,6), Ca -- (7), C 4 = (8,3).

2 TSfor the Job Shop Scheduling Problem

The well-known technique TS and the new tech- nique ISB proposed by ourselves are the cornerstone of the algorithm NLS. In this section these two techniques are described in detail. 2.1 The Tabu Search

The Tabu Search proposed and formalized by Glo-

798

Page 3: A new local search algorithm for the job shop scheduling problem

0 ! ........... i , 6 i 12 "\" ........... !

o i ........ i.. i i :' ........... ;; 4

Fig. 2 An acydic selection and the corresponding digraph

ver E~'61 is a meta-heuristic algorithm that is used to get

optimal or near-optimal solution of combinational optimi-

zation problems. This method is based on neighborhood

search (local search) to find a member 0* in a certain fi-

nite set ~ of feasible solutions, where 0* minimizes some

objective function C( �9 ).

Local search methods are iterative procedures in

which a neighborhood N(O) must be predefined for each

solution 0 E/ / . Each neighbor of 0 is defined by some

modifications of 0. As the next sofution of ~, ~ ' is

searched among N (0). A step from 0 to 0 ' is usually

called a move v. Starting from a current feasible solution

0 c , all the neighbors in N(O ~ ) are examined and the so-

lution O' with usually the best value of the objective

function is chosen as the next solution, i. e. , 0 ': C(O ') ~C(O") ,0 ', 0" E N(O). In fact, this is just the greedy

scheme that is easy to get stuck of local optima. So, the

strategy that the movement from 0 ~ to O'ff N(O c) is al-

lowed even if C(O ')>C(O c) helps the search escape from

the trap of local optima. In TS , the cycling the search return to the so-

lution that has been visited may be met. To prevent it, a

structure Tabu list L with length of l is introduced in or-

der to prevent the search from returning to a solution vis-

ited within the last I iterations. TS is improved hy aspira- tion criteria, intensification and diversification ET?. In gen-

eral, the TS process stops when the C(O) is close enough

to the lower bound of C( �9 ), or, when no improvement

occurs over the best solution within a given number of it-

erations or the time-limit runs out.

2.2 Neighborhood and Moves The systematic use of the information to direct the

search exploration is the essential feature of TS. There

are short-term and long-term information concerned with

the exploration. The short-term information represented

by the Tabu list is based on the last l iterations and can

partly prevent cycling. The long-term information con-

tains C* the best value of C( �9 ) found by TS so far.

The neighborhood, the Tabu list and C* consist of the neighborhood structure of the TS.

The exploration process in ~ is described in terms of

move. For each solution 06 ~, let M(O) be the set of

moves that can be applied to fl and get a new solution w =

0@v, then N(0) = {co[ ::] v~M(0),o~=0 @v}. In gener-

al, the move is reversible. For each v there exits a move --1 v such that (0@v)@v -1 =0. Instead of storing the in-

formation of complete solution, the Tabu list only stores

move or the reverse of the move associated with the move actually performed. The restrictions of the Tabu list

sometimes are too strong to obtain a very good solution.

This can be overcome by using long-term information,

aspiration criterion that allows algorithm to choose a

move from those forbidden moves, i. e . , Tabu moves. A

Tabu move applied to a solution 0 is promising if it gives

a solution better than the best one so far found.

Let 0" be the best solution and I the iteration counter, TS algorithm is described as follows.

Step 1. Get an initial solution 0, set 0 * =0, I=0.

Step 9. I = I + 1 . Generate the subset N of N(O) such that either the applied move is not in the Tabu list

or at least one of the aspiration criterions satisfied.

Step 3. Choose a best solution 0 E N" according to

the objective function C( �9 ).

Step 4. If C(O)(C(O" ), then set 0" =0. Update

the Tabu list and the aspiration criterion;

Step 5. If stopping criterion is met, then stop; Oth-

erwise, go to Step 2. Steps 2, 3 and 4 consists of the local search proce-

dure of TS. Some of the stopping rules are as follows:

@ N(0)=O; Q I is over the maximum number of itera- tions or the number of iterations since the last improve-

ment of the best solution is over a specific value and

@ the optimal or near-optimal solution is found.

2.3 The Improved Shifting Bottleneck Procedure Based on SB that is proposed by Adams c41 , the im-

proved shifting bottleneck procedure (ISB) solves one

machine problem by DS (Schrage algorithm with disturb-

ance). The main steps of ISB are as follows.

Step 1: Identify the bottleneck machine and se- quence it with DS.

Step 2. Re-optimize the machines of Mo with DS in

799

Page 4: A new local search algorithm for the job shop scheduling problem

turn (at most 3 times), while keep the others fixed. If Mo =M, stop. Otherwise, go to Step 1.

The procedure iterates over each machine and fini- shes when no improvement is found. At the last step, af- ter the last machine has been sequenced, the procedure continues to local re-optimization until there is no im- provement for the full cycle. The one-machine problem P* (k,M0) is described as follows E4] .

mint**

ti>~O, i E Vk,

t~ - 4 >~di +qi, i E Vk, t 5 -t~ >~di V t l - t j >~dj,(i,j) E Ek,k E M~Mo

ri =L(O,i) ,q; =L(i, # ) - d i , where L(i, j) is the length of a largest path from i to j in some acydic D. . DS is given as follows.

Step 1. Set t=min{r~ ;iEVk } ,P=Vk. Step 2: If r~>t, then ui=q~-8(ri-t);Otherwise,

ui=qi(iE R). Step 3. Choose an operation from R, say j , with

the greatest uj (if there are ties, break them by giving preference to the greatest qj, and if there are ties still, break them by giving preference to the greatest dj ). Set t~ = max{r~ ,t} ,Rr

Step 4: If R = O, then stop; Otherwise, set t = max{t~ q-dj ,min{ri , iER}}, and go to Step 2.

Where 8 is the disturbance coefficient with value of

@k,/-nJ, where is the number of nodes in The Vk. n

complexity of DS is O(n2).

3 The Algorithm

In this section, the algorithm of NLS that combines TS and ISB is described in detail. 3.1 The Neighborhood Structure

The local search procedure of TS in NLS adopts the neighborhood used by Nowocki Ea] et al with some modifi- cations. Here, by swapping the first two or the last two operations of a critical block, a neighbor of a current so- lution is got. In NLS, the re-optimization procedure of ISB is implemented after a certain number of iterations of TS. In fact, this re-optimization is also a local search procedure. For a feasible solution, one of its neighbors is the solution obtained by re-sequencing a machine with DS. To implement this procedure is to re-sequence the machine one by one until there is no improvement in a full cycle. At the same time, the Tabu list is not

800

changed. Since the complex of DS is O(n2), the com- plexity of this re-optimization procedure is O (2mn2), where 2 is the gap between the solution and the opti- mum. 3.2 Initial Solution and Tabu List

As previously observed, in most of the algorithm associated with TS methods Ea'8] , a good initial solution is fundamental for the computational performance of the al- gorithm. ISB with complexity of O(n2m a ) is an affective

algorithm for the job shop scheduling problem and has better performance than SB. Further more, it provides the best initial feasible solutions of the problem. So, the smart initial solution proposed by ISB allows NLS to ob- tain quite good solutions in comparable computational time or the same solution in shorter computational time.

Tabu list L is one of the components of the neigh- borhood structure of TS, and the value of the length l is an important parameter. In our experiments, l is a semi-

variable value of k(n+m)/2]. It is a new way to deter- mine the value of the length of Tabu list L. In NLS, a way of updating the Tabu list is implemented, especially when _N--0 and N(g)=/=O, NLS selects the old Tabu move while not repeating the latest Tabu move. 3.3 The Intensification and Diversification

The intensification and diversification are two strate- gies that are used to improve the performance of Tabu Search algorithm [72 .

Intensification strategy is to make the algorithm search around some smart solutions. NLS implements this strategy by setting an up-bound, Maxiter, of the number of TS iterations. It does not change search strat- egy until the number of iterations is over Maxiter which is also practical parameter. In fact, the intensification procedure is just the local search procedure of TS, which keeps NLS in a low complexity level.

On the other hand, diversification strategy is to make the algorithm search in different regions of the so- lution space. These regions are far from one another. To this end, NLS implements the re-optimization of ISB when the number of TS iterations is over Maxiter. The re-optimization procedure is different from the local search procedure of TS. Our diversification efficient and effective, because once this strategy is implemented the search can always really arrives at a new region. Our di- versification is different from those in literatures E1'~'8] , because the scheme of us are different from that of them.

To get good solutions in a moderate period, the times of

Page 5: A new local search algorithm for the job shop scheduling problem

implementing diversification strategy are less than Maxt,

and T denote the time that this strategy is implemented. The main steps of NLS are described as follows. Step 1 : Get initial solution 0 by ISB, and set 0* =0,

I = 0 and T=0. Step 2. I = I + 1 . Generate the subset/~ of N(O)

such that either the applied move does not belong to the Tabu list or at least one of the aspiration criterions satis- fled.

Step 3 �9 the objective

Step 4: the Tabu list

Step 5 :

Choose a best solution 0 E/~ according to function C( . ) of the problem. If C(O)<C(O* ), then set 0* =0. Update and the aspiration criterion. If 0* is optimal or equal to the lower

bound, then stop. If C(O)<C(O* ), set I=O, then go to Step 2.

Step 6: If I < Maxiter, go to Step 2; Otherwise, T = T + I and implement the re-optimization procedure.

Step 7. If T<Maxt , set I = 0 and go to Step 2; Otherwise, stop.

4 Computational Results

The NLS is implemented in C language on personal computer Pentium 166MHz. The algorithm has been tested on 53 problem instances with various sizes and hardness level provided by OR-Library (http.//mscmga. Ms. ic. ac. uk/info, html). They are classified as following.

(a) Three instances FT6, FT10, FT20, five in- stances ABZ 5-9, five instances ORB 1-5.

(b) Forty instances of eight different sizes La 1-40.

NLS is compared with the best algorithms that con- cerned with TS and whose results of both make-span and CPU time can found in the literatures. The following no- tations are for those procedures: NS stands for the Tabu search procedure [3]. TSSB stands for the combination of Tabu search and shifting bottleneck procedure cl]. SB- GLS1 stands for guided local search procedures [9] .

The best lower bound (LB) for the problem is taken from Pezzella and Merelli [1]. The relative error RE is calculated for each procedure and each instance, i.e. the percentage by which the solution obtained is above the LB, 100((UB-LB)/LB).

The acronym CI-CPU stands for computer inde- pendent CPU time, which are based on Dongarra [1~ The speed of PC Pentium 166Hz is as half of five times as that of CI-CPU. NS is run on PC 386DX that is half slo- wer than CI-CPU. TSSB is run on PC Pentium 133Hz and SB-GLS1 is run on SUN Sparc 330, both of them are almost as fast as PC Pentium 166 Hz [9].

In the experiment, the values of parameters Maxiter and Maxt are 8 000 and 5 respectively.

Table 1 compares NLS with TSSB on instance (a). FT10 is the notorious instance [67 , and NLS found the optimal solution of it in 67 seconds on our machine. ABZ 7-9 are challenge, and the optimal solutions of in- stances ABZ 8-9 are not found by any algorithms yet. By setting Maxt--10, NLS improved their solutions found by TSSB. It is to be noted that NLS clearly outperforms TSSB on the five small size instances ORB 1-5.

Table 1 NLS compared with TSSB

Problem n rn LB UB NLS

UB RE CI-CPU/s

TSSB

UB RE CI-CPU/s

FT6 6 6 55 55 55 0.00 --

FT10 10 10 930 930 930 0.00 168

FT20 20 5 1 165 1 165 1 165 0.00 25.0

ABZ5 10 10 1 234 1 234 1 234 0. 00 368

ABZ6 10 10 943 943 945 0.21 65.0

ABZ7 20 15 656 656 666 1.52 1 222

ABZ8 20 15 645 669 674 4.50 1 600

ABZ9 20 15 661 679 692 4.69 2 798

ORB1 10 10 1 059 1 059 1 059 0.00 285

ORB2 10 10 888 888 889 0. II 34.3

ORB3 i0 I0 1 005 I 005 i 005 0.00 63.0

ORB4 10 10 1 005 1 005 1 012 0.70 69.3

ORB5 10 10 887 887 889 0.23 171

55 0.00 --

93O 0.00 200

1 165 0.00 288

1 234 0.00 188

943 0.00 200

666 1.52 500

678 5.12 513

693 4.84 488

1 064 0.47 205

890 0.23 188

1 013 0.80 218

1 013 O. 80 188

887 0.00 2O3

MRE is the mean value of RE, the MRE of NLS is 0. 92 and the MRE of TSSB is 1.06

~ 801

Page 6: A new local search algorithm for the job shop scheduling problem

In Table 2, NLS is compared with the other three algorithms on the instances (b). Over half of these 40 in- stances La 1-20 and La 31-35 are easy because the number of jobs is several times larger than that of machines. Both NLS and TSSB found their optimal solutions in very

short period. NLS has quite weaker performance on five instances La21, 22, 24, 27, 29 than TSSB, which makes NLS be slightly inferior to TSSB on these 40 instances. NLS is superior to both NS and SB-GLS1 on instances (h),

Table 2 NLS is compared with TSSB, NS and SB-GLS1

Problem n m NLS TSSB NS SB-GLS1

MRE CI-CPU/s MRE CI-CPU/s MRE CI-CPU/s MRE CI-CPU/s

La 1-5 10 5

La 6-10 15 5

La 11-15 20 5

La 16-20 t0 10

La 21-25 15 10

La 26-30 20 10

La 31-35 30 10

La 36-40 15 15

O. O0 17.3 O. O0 24. 5 O. i0 18.2 O. 44 3.0

O. O0 -- O. O0 -- O. O0 2.0 O. O0 --

O. O 0 - - O. O0 - - O. O0 I . 6 O. O 0 - -

0 . 0 0 130 0.00 154 0.02 237 0. 50 24.3

O. 44 288 O. I0 288 I. 26 374 O. 60 53.3

O. 73 357 O. 46 263 O. 81 785 O. 83 51.5

0. 00 - - 0. 00 - - 0 . 0 0 28. 6 0 . 0 0 - -

0 . 4 7 310 0.58 253 0.91 844 0. 78 127

MRE is the mean value of RE of each class instance. MRE* is the 0.21, 0. 14, 0.39 and 0.40, respectively

5 Conclusion

mean value of MRE, and the MRE* of NLS, TSSB, NS and SB-GLS1 are

References

In this paper, a new local search algorithm based on the improved shifting bottleneck procedure and the TS technique is proposed. Although the neighborhood size is small, the good initial solutions provided by the ISB and the strategies of intensification and diversification ensure NLS effective and efficient. In our algorithm, the intensi- fication is implemented in a natural way, and the diversi- fication that is an essential way to direct the local search from one region to the others of the solution space. The semi-variable length of the Tabu list is given in a new way, and the way of updating the Tabu list is different from the way adopted by other authors.

This algorithm has been tested on several bench- mark problem instances, and the optimal or near optimal solutions were found in a reasonable period. It found the optimal solution of the notorious instance FT10 in quite short time.

As further research field, the parameters, such as l, Maxiter and Maxt can be adjusted to obtain much better solutions of the problem.

[1] Pezzella F, Merelli E. A Tabu Search Method Guided by

Shifting Bottleneck for the Job Shop Scheduling Problem.

European ] of Operational Research, 2000,120(2) : 297-

310.

[2] Aarts E, Lenstra J K. Local Search and Combinational Op- timization. New York~ Wiley, 1997.

[3] Nowieki E, Smutnicki C. A Fast Taboo Search Algorithm

for the Job Shop Scheduling Problem. Management Science, 1996,42(6) : 797-813.

[4] Adams J, Balas E, Zawaek D. The Shifting Bottleneck Pro-

cedure for Job Shop Scheduling. Management Science, 1988,34(3) : 391-401.

[-5] Glover F. Tabu Search--Part I. ORSAJ Computing, 1989, 1(3) : 190-206.

[6"] Glover F. Tabu Search--Part IL ORSA J Computing, 1990,2(1): 4-32.

[7"] Hertz A, Taillard E, De Werra D. Local Search in Combina-

torial Optimization. In: Aarts E, Lenstra J K ed. Tabu Search. 1977,5..121-136.

[8-] Dell 'Amieo M, Trubian M. Applying Tabu Search to the

Job-Shop Scheduling Problem. Annual Operations Research, t993,41(3) .. 231-252.

[-9] Bolas E, Vazacopoulos A. A Guided Local Search with Shift-

ing Bottleneck for Job Shop Scheduling. Management Sci- ence, 1998,44(2): 262-275.

[ I 0 ] DongarraJ J. Performance o[ Various Cemputers Using

Standard Liner Equations Software. Report CS-89-85.

1993. h t tp : / /www, netlib, org/benchmark/performanee, ps.

Oct 20,1999.

[]

8 0 2 ~ ' ~ ' ~ ' ~ ' ! ~ i ~ " ~ ~ " ' ~'~:~"~:~i~ ~ '~ :%~ ~ ~ , ' ~, ~