Available online at www.sciencedirect.com
Procedia Engineering 16 (2011) 653 – 660
International Workshop on Automobile, Power and Energy Engineering
Four-dimensional Algorithm for Job-shop Scheduling Jin Chena*, Lin Xua, Xujin Pub a
School of Mechanical Engineering, Jiangnan University,Wuxi 214122,China b Business School, Jiangnan University,Wuxi 214122,China
Abstract The four-dimensional scheduling algorithm is to select a sequence for job shop scheduling with the minimum evaluation indexes. Every operation has an evaluation index, which consists of four independent parameters. If process time and route obey normal distribution, the proof shows that there are about 88.75% averagely probability to attain the optimal makespan in the scheduling stage. This method is verified by cases with 100 jobs and 50 machines of large-scale operations, the optimization effect is 31%~34% more than the general genetic algorithm and simulated annealing algorithm.
© 2010 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of Society for Automobile, Power and Energy Engineering Keywords: scheduling; Job-shop; four-dimension; proof improvement 1. Introduction The JSSP has been recognized as an academic problem for over four decades now. A number of heuristic or metaheuristic, Beam Search ,Tabu Search search methods have also been proposed. Genetic Algorithms (Falkenauer and Bouffoix, 1991[1]; Bean, 1994[2]), Evolutionary Algorithms (Mesghouni and Hammadi, 2004[3]), VariableNeighborhood Search (Sevkli and Aydin, 2007[4]), Global Equilibrium Search technique (Pardalos and Shylo, 2006[5]) have also been applied to the JSSP. . Xong Hegen (2006)[6] proposed combination scheduling rule RAN(FCFS, ODD) and has designed a heuristic algorithm based on the rule , for dynamic scheduling questions of 20 machines, 500 and 1000 jobs.
* Jin Chen. Tel.: +086-13915297120; fax: +086-510-85910583. E-mail address:
[email protected].
1877-7058 © 2011 Published by Elsevier Ltd. doi:10.1016/j.proeng.2011.08.1137
654
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
Our algorithm is demonstrated to its validities by mathematical principle and examples. 2. Basic modeling Nomenclature α: a machine ID, α = 1, 2, …, u. β: a job ID, β = 1, 2, …, v. tαβ: the duration of operation of job β on machine α, β = 1, 2, …, v and α = 1, 2, …, u. T=[ tαβ] u×v. ξgβ: the duration of operation turn g of job β, β = 1, 2, …, v and g = 1, 2, …, u. Ξ=(ξgβ)u×v. Obviously, T and Ξ are one-to-one correspondence and exchangeable. rαβ: process order of job β on machine α according to the process routing, β = 1, 2, …, v and α = 1, 2, …, u. R=[ rαβ] u×v. egβ: the machine number that job β on its operation turn g, E=(egβ) u×v, E is the machine matrix. Obviously, R and E are one-to-one correspondence and exchangeable. xαβthe starting time of operation of job β on machine α, β = 1, 2, …, v and α = 1, 2, …, u. X=[ xαβ] u×v that is the state matrix. yαβthe completion time of operation of job β on machine α, β = 1, 2, …, v and α = 1, 2, …, u. Y=[ yαβ] u×v
that is the output matrix.
bgβ: the maximum completion time of all jobs processed at the machine which is being scheduled for job β on its operation turn g ,bgβ is the base time of job β. pβ: flowtime of job β which is the length of the time interval that spans from the release of the job β to its completion. η function: difference between the completion time of job β and the maximum completion time of other jobs at the machine which will be scheduled for job β on its next operation in certain output state, shown as Figure 1. The formula is: ifg1, bg g bg1, 0
0 g g1, bg g bg1, ifg1, bg g bg1, 0
(1) p u1, (... 2 (1 (b1 1 b2 ) b2 2 b3 )
(2)
... bu1, u1, bu ) bu u ,
Fig.1 η function
“*” is a operator, it is expounded that if α=egβ then α*h=egβ*h=eg+h,β, h =1−g,2−g,…, 1, 2, …, u−g 0 h u , 0 g u . The scheduling orders follow process routing in R matrixes and an index, that every job’s operation must be arranged after its prior operation has been arranged. The scheduled operations are taken account no longer, the other operations are remained to schedule.
655
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
Setting the evaluation index with four factors is: u g
V max{ y ( 1), , y# } t t h, h1
(3)
t 1, , k
k
# where y# max{ yk } ,1
# y# max{ yk } ,1
5) Go to step 2), until all jobs are scheduled. 3. Optimization proof We presume the parameters of T and R are assigned any values in the same probability. Based on formula (3) and the above method to arrange production plan, it is vast possible that the Cmax is minimized. There is a job shop scheduling problem with u Table 1. all possible matched situations machines and v jobs at some base time situations. Job A and job B are feasible simultaneously to be Plan 1 Plan 2 arranged at machine α. Set plan 1 that job A is first and job B is second, plan 2 is on the contrary, that ID A:ηu-1,A B: ηu-1,B u - 1, A u - 1, B A: B: there are two evaluation indexes of V1 and V2 for >0 ≤0 >0 ≤0 >0 ≤0 >0 ≤0 the two plans . If the two indexes are compared, 1 1 1 1 1 their factors with A and B respectively have the 2 1 1 1 1 following ratiocinations. 3 1 1 1 1 Plan 1: the flowtime of job A and job B are 4 1 1 1 1 made up in two possible kinds of situations 5 1 1 1 1 6 1 1 1 1 according formula(2), that are ηu-1,A>0 and ηu-1,A≤0. 7 1 1 1 1 Plan 2: the flowtime of job A and job B are made 8 1 1 1 1 up in two possible kinds of situations according 9 1 1 1 1 formula(2), that are u -1, A >0 and u -1, A ≤0. 10 1 1 1 1 u g
Ratiocination 1: if
t h, A h 1
u f
>
t h, B
and
h1
other factors are the same, the Cmax with V1 is shorter than the other. The Cmax of any plan is a function of final η, starting time and completion time, which are
11 12 13 14 15 16
1 1 1 1 1 1
1 1
1 1 1 1 1 1
1 1
1 1 1 1
1 1
1 1
656
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
figured in different situations randomly. Therefore any plan has four kinds of combination modes for final η function only. To compare between plan1 and plan 2, the two sets of combinations must be matched and analyzed. So there are 4×4 kinds of possible situations to be compared which are shown in Table 1. Job A and job B will be scheduled at the same machine but in different operation turn that are g and f respectively. The sequences of base time are {bgAbg+1,A…buA} and {bfBbf+1,B…buB}, where bgA =bfB, that is the completion time of the predecessor job in the same machine. The parameters of the plan 2 are shown in p A , p B and f +1. B .On the scheduling method , u g
u g
u f
u f
t h, A > t h, B is equivalent to g h, A > f h, B . h1
h1
h1
h1
For plan 1,if ηu-1,A>0 pA =u−1,A(...g+1,A(gA(bgA +gA −bg+1,A) +bg+1,A +g+1,A −bg+2,A) ...+bu−1,A +u−1,A −buA) +buA +u,A ≤bgA +gA +g+1,A +...+u,A
(5)
u−g
=bgA +gA +∑g+h,A h=1
If ηu-1,B>0 pB =u−1,B(...f +1.B(fB(bfB +gA+fB −bf +1,B) +bf +1,B +f +1,B −bf +2,B)
...+bu−1,B +u−1,B −buB) +buB +u,B ≤bfB +gA+fB +f +1,B +...+u,B
(6)
u−f
=bfB +gA+fB +∑f +h,B h=1
If ηu-1,A≤0,
(7)
p A buA u , A
If ηu-1,B≤0,
(8)
pB buB u ,B
For plan 2, If
u - 1, A
>0
pA=u−1,A(... f+1.A(fA(bgA+gA+fB−bg+1,A)+bg+1,A+g+1,A−bg+2,A) ...+bu−1,A+u−1,A−buA)+buA+u,A≤bgA+gA+fB+g+1,A+...+m,A
(9)
u−g
=bgA+gA+fB+∑ g+h,A h=1
If
u - 1, B
>0
pB = u−1,B (... f +1.B ( fB (bfB + fB − bf +1,B ) + bf +1,B + f +1,B − bf +2,B )...+ bu−1,B + u−1,B − buB ) + buB + u,B
(10)
u− f
≤ bfB + fB + f +1,B + ... + buB + u,B = bfB + fB + ∑ f +h,B
If
≤0,
If
≤0,
u - 1, A
u - 1, B
h=1
p A buA u , A pB buB u ,B
(11) (12)
Proof: If other parameters unchanged in the entire scheduling program, it is sufficient to prove max{pA pB}≤max{ p A , p B } for proving ratiocination 1 . 10: According to(5)(6)(9)(10),
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
pB =u−1,B(... f +1.B(fB(bfB +gA+fB −bf +1,B) +bf +1,B +f +1,B −bf +2,B) ...+bu−1,B +u−1,B −buB) +buB+u,B
pA=u−1,A(... f+1.A(fA(bgA+gA+fB−bg+1,A)+bg+1,A+g+1,A−bg+2,A) ...+bu−1,A+u−1,A−buA)+buA+u,A It is certain that p A p A , p B p B .Comparing (6) and (9), both of them are consists of independent variables respectively, then p A p B has the same probability as p A p B does. if p A p B and p A p A then the ratiocination 1 is true; if p A p B and p B p B then the ratiocination 1 is false. Both states have the same probability. 20 According to (5)(6)(9)(12), It is certain that p A p A , p B p B .Comparing (6) and (9), then p A p B has the same probability as p A p B does. if p A p B and p A p A then the ratiocination 1 is true; if p A p B and p B p B then the ratiocination 1 is false. Both states have the same probability. 30According to(5)(6)(9) (11),comparing (5) (11) u g p A bgA gA g h, A , p A buA u , A h1
It can be proved that u 1, A 0 by (11), proved that u 1, A 0 by (5), and because A is scheduled after B in plan 2,it must be u 1, A u 1, A , that conflicts with the (11)(5). Therefore the combination situation does not exist. 40According to(5)(6)(11) (12), because of the same reason as 30 , the combination situation does not exist 50According to(5)(8)(9) (10), comparing (8) (10) ,because of the same reason as 30, the combination situation does not existbut contradiction result from B rather than A. 60According to(5)(8)(9) (12),because pB = buB + u , B
pA=u−1,A(... f+1.A(fA(bgA+gA+fB−bg+1,A)+bg+1,A+g+1,A−bg+2,A) u−g
...+bu−1,A+u−1,A−buA)+buA+u,A≤bgA+gA+fB+g+1,A+...+m,A=bgA+gA+fB+∑ g+h,A h=1
It is certain that p A p A , p B p B .Comparing (8) and (9), then p A p B has the same probability as p A p B does. if p A p B and p A p A then the ratiocination 1 is true; if p A p B and p B p B then the ratiocination 1 is false. Both states have the same probability. 70According to(5)(8)(10)(11),because of the same reason as 30, the combination does not exist. 80According to(5)(8)(11)(12),because of the same reason as 30 , the combination does not exist. 90According to(6)(7)(9)(10), because of the same reason as 10, the ratiocination 1 is uncertain in the case, and both states have the same probability. 100According to(6)(7)(9)(12), because of the same reason as 10, the ratiocination 1 is uncertain in the case, and both states have the same probability. 110According to(6)(7) (10)(11), pA buAu,A
pB =u−1,B(... f +1.B(fB(bfB +gA+fB −bf +1,B)+bf +1,B +f +1,B −bf +2,B) ...+bu−1,B +u−1,B −buB)+buB+u,B ≤bfB +gA+fB +f +1,B +...+u,B u−f
=bfB +gA+fB +∑f +h,B h=1
657
658
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
pB =u−1,B(...f +1.B(fB(bfB +fB −bf +1,B) +bf +1,B +f +1,B −bf +2,B)...+bu−1,B + u− f
u−1,B −buB) +buB +u,B ≤ bfB +fB +f +1,B +...+buB +u,B = bfB +fB +∑f +h,B h=1
p
A
= b
uA
+
u , A
it is certain that p A = p A , p B > p B .Comparing (6) and (11), both of them are consists of independent variables respectively, then p A p B has the same probability as p A p B does. if p A p B and p B > p B then the ratiocination 1 is false; if p A p B and p A = p A then the ratiocination 1 is true. Both states have the same probability. 120According to(6)(7)(11)(12),Because of the same reason as 110 the conclusion is the same as it. 130According to(7)(8)(9)(10), because of the same reason as 50 the combination does not exist. 140According to(7)(8)(9)(12), u−g
pB = buB + u , B , p A = bgA + gA + fB + ∑ g + h , A h =1
it is certain that p A p A , p B = p B .Comparing (8) and (9), both of them are consists of independent variables respectively, then p A p B has the same
probability
as p A p B does. if p A p B and
p B p B then the ratiocination 1 is false; if p A p B and p A p A then the ratiocination 1 is true. Both states have the same probability. 150According to(7)(8)(10)(11) p A = buA + u , A pB = buB + u , B
pB =u−1,B(...f +1.B(fB(bfB +fB −bf +1,B) +bf +1,B +f +1,B −bf +2,B)...+bu−1,B + u− f
u−1,B −buB) +buB +u,B ≤ bfB +fB +f +1,B +...+buB +u,B = bfB +fB +∑f +h,B h=1
p A = buA + u , A
It is certain that p A p A , p B p B .Comparing (7) and (10), both of them are consists of independent variables respectively, then p B p A has the same probability as p B p A does. if p B p A and p B p B then the ratiocination 1 is true; if p B p A and p A p A then the ratiocination 1 is false. Both states have the same probability. 160 According to(7)(8)(11)(12), p A buA u , A , pB buB u ,B , pA buA u , A , pB buB u ,B . Because
p A = p A , p B = p B , the ratiocination 1 is true. To sum up, 30,40,50,70,80,130 do not exist, and there exists only 10 kinds of possible situations among the 16 kinds of comparisons, where there are nine kinds of situations that the ratiocination 1 is true or false in the same probability, there are one kind of situation that ratiocination 1 is true. There is about 10% +9× 5% = 55% probability to reduce the Cmax by plan 1 . Ratiocination 2: keeping the other conditions unchanged in the formula (3), if
t 1, A,k > t 1, B ,k ,
k A
kB
then plan 1 “A first and B second” will have the shorter Cmax than plan 2. A+ is all the number set of jobs that have not been scheduled yet on machine α*1. B+ is all the number set of jobs that have not been scheduled yet on machine α*1. Proof: for the plan 1
659
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
p A bgA g , A
t 1, A,k 1 , pB b fB gA fB t 1,B ,k 2
k A
kB
for the plan 2, p A bgA fB gA t 1, A,k 1 , k A
pB b fB fB
t 1,B ,k 2
kB
it is obviously that p A > p A , p B p B .Δ1 and Δ2 respectively are the sum of idle time of between remain operations at the machines used for the immediate successor operations of job A and job B. Both Δ1 and Δ2 are uncertain, based on our assumption that all parameters have the same probability to get any value, Δ1 ≥ Δ2 and Δ1 <Δ2 have 0.5 probability respectively.If Δ1≥Δ2 then p A p B ,with p A > p A , proposition 2 is true ;if Δ1<Δ2 then p A p B ,with p B p B , proposition 2 is false. Ratiocination 2 is true in 0.5 probability. u g
u f
Ratiocination 3: Keeping other conditions unchanged in the formula (3) or g h, A ≥ f h, B , if h1
h1
max{ y ( 1), A , y# } +tαA< max{ y ( 1), B , y# } +tαB plan 1 will have the shorter Cmax than plan 2. y (1), is represented by y (1), A or y (1), B ,
tαβ
is represented by ξgA or ξfB, b gA max{ y ( 1), A , y# } ,
b fB max{ y ( 1), B , y# } . plan 1:
p A u1, A (... g 1, A ( gA (max{ yu( 1), A , y# } gA bg 1, A )
(13)
bg 1, A g 1, A bg 2 , A )... bu1, A u1, A buA ) buA u , A pB u1,B (... f 1. B ( fB (max{ yu( 1), A , y# } gA fB b f 1,B )
(14)
b f 1,B f 1,B b f 2 ,B )... bu1,B u1,B buB ) buB u ,B
plan 2:
p A u 1, A (... f 1. A ( fA (max{ yu( 1),B , y# } gA fB bg 1, A )
(15)
bg 1, A g 1, A bg 2 , A )... bu1, A u1, A buA ) buA u , A pB u 1,B (... f 1. B ( fB (max{ y j( 1),B , y# } fB b f 1,B )
(16)
b f 1,B f 1,B b f 2 ,B )... bu1,B u1,B buB ) buB u ,B
On analyzing (13)~ (16),because, p B p B , p A ≥ p A , but p A p B has the same probability as p A p B does. if p A p B and p A p A then the ratiocination 3 is true; if p A p B and p B p B then the ratiocination 3 is false. Both states have the same probability. Under the general assumption of T and R assigned randomly, ratiocination 3 is true in 0.5 probability. On the proof of the above three ratiocinations, it can be known that so long as the general assumption is true, the 4 factors in formula (3) are respectively independent, the formula (3) has optimal performance for two jobs. Its probability is 1−(1−0.55)(1−0.5)(1−0.5)=0.8875 4. Example verification The author calculated three large-scale examples with 100 jobs with 50 machines respectively. By the four-dimensional algorithm, the general genetic algorithm and the simulated annealing algorithm, the comparing results are shown in the table . It can be found that the time-consuming of the four dimensional algorithm is 40~60 times more than the general genetic algorithm and simulated annealing algorithm. But the optimization effect has been improved up to 31%~35%.
660
Jin Chen et al. / Procedia Engineering 16 (2011) 653 – 660
Table 2 Comparing in 3 large scale examples Example 1 Example 2 ts Cmax di ts Cmax di FD 226' 955 0 260' 677 0 GA 5'34'' 1393 31 5'33'' 1029 34 SA 5'12'' 1404 32 4'34'' 1037 35 MD:motheds, FD: Four-Dimensional Algorithm, GA:Genetic Algorithm, SA:Simulated Annealing Algorithm ts: time spent, di: differences% MD
Example 3 ts Cmax 232' 938 4'40'' 1415 4'00'' 1428
di 0 34 34
5. Conclusions (1)Four-dimensional algorithm is a heuristic optimization algorithm for scheduling. Its basis is the minimum evaluation index. The any element of the evaluation index has great probability to make total makespan minimization when other factors are fixed. The total optimization probability is 88.75%. (2)Comparing with the genetic algorithm and the simulated annealing algorithm, the method can enhance effect of optimization 31%~34% for the 5000 operation scheduling problems where there are 100 jobs and 50 machines.
Acknowledgements The work described in this paper was supported by Natural Science Foundation of China (Grant No. 70901034)
References [1] Falkenauer E, Bouffoix S. A Genetic Algorithm for Job Shop. In: Proceedings of the 1991IEEE International Conference on Robotics and Automation in Sacramento, CA, Computer Society Press , 1991,p.824-829 [2]Bean, A.C. Genetics and Random Keys for Sequencing and Optimization. ORSA Journal on Computing 1994; 6: 154-160. [3]Mesghouni K., Hammadi S. Evolutionary Algorithms for Job Shop Scheduling. In:International Journal of Applied Mathematics and Computer Science 2004;14(1):91-103. [4] Sevkli U, Aydin U E. Parallel Variable Neigborhood Search Algorithms for Job Shop Scheduling Problems. IMA Journal of Management and Mathematics 2007;18:117-133. [5] Pardalos P, Shylo Oleg. An Algorithm for the Job Shop Scheduling Problem Based on Global Equilibrium Search Techniques. Computational Management Science 2006;3(4): 331-348. [6] Xong hegen, Heuristic Method for Dynamic job Shop Scheduling Problem with Operation Relativity. Chinese Journal of Mechanical Engineering 2006;42(8):50-55