Procedia Engineering 16 ( 2011 ) 653 – 660
1877-7058 © 2011 Published by Elsevier Ltd. doi: 10.1016/j.proeng.2011.08.1137
International Workshop on Automobile, Power and Energy Engineering
Four-dimensional Algorithm for Job-shop Scheduling
Jin Chen
a*, Lin Xu
a, Xujin Pu
baSchool of Mechanical Engineering, Jiangnan University,Wuxi 214122,China bBusiness 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].
Open access under CC BY-NC-ND license.
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:
0 0 0 , 1 , 1 , 1 , 1 , 1 , 1 g g g g g g g g g g g g g b b if b b b b if (1) , , 1 , 1 3 2 2 2 1 1 1 2 , 1 ) ... ) ) ( ( (... u u u u u u b b b b b b b p (2)
“*” 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.
Setting the evaluation index with four factors is:
g u h k k h t t t y y V 1 , , 1 , # ), 1 ( , } max{ (3) where # max{ } k y y ,1<k<v.max{ , #} ), 1 ( yy is the available starting time of job β at the moment
according to its process routing.
g u h h t 1 ,
is the sum of remain duration of job β that will be scheduled
according to its process routing after machine α(not including machine α).
k k t 1,, is the sum of
remain duration of the machine that is the same as immediate successor machine of job β after this operation according to its process routing . Π is all the number set of jobs that have not been scheduled yet on the next machine for job β.
Algorithm 1: Around formula (3), the steps are. 1) Assign matrix T and matrix R, and extrapolate matrix E;
2) Check all the jobs , select their available operations at the moment based on R, calculate evaluation index of the operations.;
3) Compare the indexes, select the operation (job and machine) with the minimum Vαβand arrange it on
current scheduling position: job α at machine β.
4) Calculate the state variable and the output variable of job β on machine α } , max{*(1), # y y x (4) } max{ # k y y ,1<k<v, #
y is equal to the maximum of all the yαk.
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 machines and v jobs at some base time situations. Job A and job B are feasible simultaneously to be arranged at machine α. Set plan 1 that job A is first and job B is second, plan 2 is on the contrary, that there are two evaluation indexes of V1 and V2 for the two plans . If the two indexes are compared, their factors with A and B respectively have the following ratiocinations.
Plan 1: the flowtime of job A and job B are made up in two possible kinds of situations according formula(2), that are ηu-1,A>0 and ηu-1,A≤0.
Plan 2: the flowtime of job A and job B are made up in two possible kinds of situations according formula(2), that are
A u 1, - >0 and A u 1, - ≤0. Ratiocination 1: if
g u h A h t 1 , > f u h B h t 1 , andother 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
Table 1. all possible matched situations
Plan 1 Plan 2 A:ηu-1,A B: ηu-1,B A:
A u 1, - B: B u 1, - ID >0 ≤0 >0 ≤0 >0 ≤0 >0 ≤0 1 1 1 1 1 2 1 1 1 1 3 1 1 1 1 4 1 1 1 1 5 1 1 1 1 6 1 1 1 1 7 1 1 1 1 8 1 1 1 1 9 1 1 1 1 10 1 1 1 1 11 1 1 1 1 12 1 1 1 1 13 1 1 1 1 14 1 1 1 1 15 1 1 1 1 16 1 1 1 1
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 pA, B
p and f+1.B .On the scheduling method ,
g u h A h t 1 , > f u h B h t 1 , is equivalent to g u h A h g 1 , >f u h B h f 1 , .
For plan 1,if ηu-1,A>0
∑
−= + + − − + + + + + − + + = + + + + ≤ + + − + + − + + − + = g u h A h g gA gA A u A g gA gA A u uA uA A u A u A g A g A g A g gA gA gA A g A u A b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 ... ) ... ) ) ( ( (... (5) If ηu-1,B>0∑
−= + + − − + + + + + − + + + = + + + + + ≤ + + − + + − + + − + + = f u h B h f fB gA fB B u B f fB gA fB B u uB uB B u B u B f B f B f B f fB gA fB fB B f B u B b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) ... ) ) ( ( (... (6) If ηu-1,A≤0, pAbuAu,A (7) If ηu-1,B≤0, pBbuBu,B (8) For plan 2, If A u 1, - >0∑
−= + + − − + + + + + − + + + = + + + + + ≤ + + − + + − + + − + + = g u h A h g fB gA gA A m A g fB gA gA A u uA uA A u A u A g A g A g A g fB gA gA fA A f A u A b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) ... ) ) ( ( (... (9) If B u 1, - >0∑
−= + + − − + + + + + − + + = + + + + + ≤ + + − + + − + + − + = f u h B h f fB fB B u uB B f fB fB B u uB uB B u B u B f B f B f B f fB fB fB B f B u B b b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) )... ) ( ( (... (10) If A u 1, - ≤0, pAbuAu,A (11) If B u 1, - ≤0, pBbuBu,B (12)Proof: If other parameters unchanged in the entire scheduling program, it is sufficient to prove max{pA
pB}≤max{pA, B
p } for proving ratiocination 1 . 10: According to(5)(6)(9)(10),
B u uB uB B u B u B f B f B f B f fB gA fB fB B f B u B b b b b b b b p , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ) ... ) ) ( ( (... + + − + + − + + − + + = − − + + + + + − A u uA uA A u A u A g A g A g A g fB gA gA fA A f A u A b b b b b b b p , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ) ... ) ) ( ( (... + + − + + − + + − + + = − − + + + + + − It is certain that pA pA , pB pB
.Comparing (6) and (9), both of them are consists of independent variables respectively, then pA pB
has the same probability as pA pB
does. ifpA pB and pA pA
then the ratiocination 1 is true; if pA pB
and pB pB
then the ratiocination 1 isfalse. Both states have the same probability.
20 According to (5)(6)(9)(12),
It is certain that pA pA
,pB pB
.Comparing (6) and (9), thenpA pB
has the same probability as pA pB does. ifpA pB and pA pA
then the ratiocination 1 is true; if pA pB
and pB pB
then the ratiocination 1 isfalse. Both states have the same probability.
30According to(5)(6)(9) (11),comparing (5) (11)
g u h A h g gA gA A b p 1 , ,pAbuAu,AIt can be proved that 1, 0
A u
by (11), proved thatu A1, 0 by (5), and because A is scheduled after B in plan 2,it must beu1,Au1,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 B u uB B b p = + ,
∑
−= + + − − + + + + + − + + + = + + + + + ≤ + + − + + − + + − + + = g u h A h g fB gA gA A m A g fB gA gA A u uA uA A u A u A g A g A g A g fB gA gA fA A f A u A b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) ... ) ) ( ( (... It is certain that pA pA ,pB pB.Comparing (8) and (9), thenpA pB
has the same probability as pA pB does. ifpA pB and pA pA
then the ratiocination 1 is true; if pA pB
and pB pB
then the ratiocination 1 isfalse. 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 isuncertain 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 isuncertain in the case, and both states have the same probability.
110According to(6)(7) (10)(11), A u uA A b p ,
∑
−= + + − − + + + + + − + + + = + + + + + ≤ + + − + + − + + − + + = f u h B h f fB gA fB B u B f fB gA fB B u uB uB B u B u B f B f B f B f fB gA fB fB B f B u B b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) ... ) ) ( ( (...∑
−= + + − − + + + + + − + + = + + + + + ≤ + + − + + − + + − + = f u h B h f fB fB B u uB B f fB fB B u uB uB B u B u B f B f B f B f fB fB fB B f B u B b b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) )... ) ( ( (... A u uA A b p = + , it is certain that pA=pA, pB> pB .Comparing (6) and (11), both of them are consists of
independent variables respectively, then pA pB
has the same probability as pA pB
does. ifpA pB
and pB >pBthen the ratiocination 1 is false; if pA pB
and pA=pA
then the ratiocination 1 istrue. Both states have the same probability.
120According to(6)(7)(11)(12),Because of the same reason as 110the conclusion is the same as it.
130According to(7)(8)(9)(10), because of the same reason as 50the combination does not exist.
140According to(7)(8)(9)(12), B u uB B b p = + , ,
∑
− = + + + + = u g h A h g fB gA gA A b p 1 , it is certain that pA pA ,pB= pB.Comparing (8) and (9), both of them are consists of independent variables respectively, then pA pB
has the same probability as pA pB
does. if pA pB and B B p
p then the ratiocination 1 is false; if pA pB
and pA pA
then the ratiocination 1 is true. Both states have the same probability.
150According to(7)(8)(10)(11) A u uA A b p = + , B u uB B b p = + ,
∑
−= + + − − + + + + + − + + = + + + + + ≤ + + − + + − + + − + = f u h B h f fB fB B u uB B f fB fB B u uB uB B u B u B f B f B f B f fB fB fB B f B u B b b b b b b b b b b p 1 , , , 1 , , 1 , 1 , 2 , 1 , 1 , 1 . 1 , 1 ... ) )... ) ( ( (... A u uA A b p = + , It is certain that pA pA , pB pB.Comparing (7) and (10), both of them are consists of independent variables respectively, then pB pA
has the same probability as pB pA
does. ifpB pA and pB pB
then the ratiocination 1 is true; if pB pA
and pA pA
then the ratiocination 1 isfalse. Both states have the same probability.
160 According to(7)(8)(11)(12), pAbuAu,A , pBbuBu,B , pAbuAu,A , B u uB B b p , . Because A A p p = ,pB= pB
, the ratiocination 1 istrue.
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 istrue or false in the same probability, there are one kind of situation that ratiocination 1 istrue. There is about 10% +9× 5% = 55% probability to reduce the Cmax byplan 1.
Ratiocination 2: keeping the other conditions unchanged in the formula (3), if
A k k A t1, , > B k k B t1, , ,
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.
B k k B fB gA fB B b t p 1, , 2
for the plan 2,
A k k A gA fB gA A b t p 1, , 1,
B k k B fB fB B b t p 1, , 2 it is obviously that pA>pA ,pB pB.Δ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 pA pB
,with pA> pA
, proposition 2 istrue ;if Δ1<Δ2 then pA pB,with pB pB
, proposition 2 isfalse.
Ratiocination 2 is true in 0.5 probability.
Ratiocination 3: Keeping other conditions unchanged in the formula (3) or
g u h A h g 1 , ≥
f u h B h f 1 , , if } ,
max{y(1),A y# +tαA<max{ , }
# ), 1 (
y
y B +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, max{ , }
# ), 1 ( y y bgA A , } , max{y( 1), y# bfB B . plan 1: A u uA uA A u A u A g A g A g A g gA A u gA A g A u A b b b b b b y y p , , 1 , 1 , 2 , 1 , 1 , 1 # ), 1 ( , 1 , 1 ) )... ) } , (max{ ( (... (13) B u uB uB B u B u B f B f B f B f fB gA A u fB B f B u B b b b b b b y y p , , 1 , 1 , 2 , 1 , 1 , 1 # ), 1 ( . 1 , 1 ) )... ) } , (max{ ( (... (14) plan 2: A u uA uA A u A u A g A g A g A g fB gA B u fA A f A u A b b b b b b y y p , , 1 , 1 , 2 , 1 , 1 , 1 # ), 1 ( . 1 , 1 ) )... ) } , (max{ ( (... (15) B u uB uB B u B u B f B f B f B f fB B j fB B f B u B b b b b b b y y p , , 1 , 1 , 2 , 1 , 1 , 1 # ), 1 ( . 1 , 1 ) )... ) } , (max{ ( (... (16) On analyzing (13)~ (16),because, pB pB , pA≥ pA , but pA pB
has the same probability as pA pB does. ifpA pB and pA pA
then the ratiocination 3 is true; if pA pB
and pB pB
then the ratiocination 3 isfalse. 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%.
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
Table 2 Comparing in 3 large scale examples
Example 1 Example 2 Example 3 MD
ts Cmax di ts Cmax di ts Cmax di
FD 226' 955 0 260' 677 0 232' 938 0
GA 5'34'' 1393 31 5'33'' 1029 34 4'40'' 1415 34 SA 5'12'' 1404 32 4'34'' 1037 35 4'00'' 1428 34
MD:motheds, FD: Four-Dimensional Algorithm, GA:Genetic Algorithm,
SA:Simulated Annealing Algorithm ts: time spent, di: differences%