solving a job-shop scheduling problem by an adaptive algorithm based on learning yuri n. sotskov 1,...
TRANSCRIPT
Solving a job-shop scheduling problem by an adaptive algorithm based on learning
Yuri N. Sotskov1, Omid Gholami2, Frank Werner3
1. United Institute of Informatics Problems, Minsk, Belarus e-mail:
[email protected]. Islamic Azad university - Mahmudabad Branch, Mahmudabad, Iran e-mail:
[email protected]. Faculty of Mathematics, Otto-von-Guericke-University, Magdeburg, Germany
e-mail: [email protected]
IFAC MIM '2013 Conference, June 19-21, St Petersburg.
1
Outline of the Talk
2
Introduction
Literature review
The job-shop problem
An adaptive scheduling algorithm
Priority dispatching rules
The learning stage
The examination stage
Procedures for monitoring variable parameters
Three strategies for considering a set of conflict edges
Computational results
Introduction
3
The job-shop problem is a scheduling problem arising in real world, see e.g.: Muth and Thompson (1963); Panwalkar and Iskander (1977); Haupt (1989); Tanaev et al. (1994).
No priority dispatching rule performs globally better than other ones tested for a wide class of scheduling problems which are NP-hard, see e.g.: Shakhlevich et al. (1996); Geiger et al. (2006); Mouelhi-Chibani and Pierreval (2010); Gholami et al. (2012).
A particular priority dispatching rule may provide a good solution for a concrete scheduling problem but applied to another NP-hard problem, it may provide a bad solution.
Several researchers developed tools to discover effective priority dispatching rules automatically: Li and Shi (1994); Dorndorf and Pesch (1995); Shakhlevich et al. (1996); Geiger et al. (2006); Gabel and Riedmiller (2007); Abdolzadeh and Rashidi (2009).
Literature review
Shifting bottleneck procedure: Adams et al. (1988), Dauzere-Peres and Laserre (1993)
Tabu search: Glover (1989), Nowicki and Smutnicki (1996, 2005)
Simulated annealing: van Laarhoven et al. (1992)
Genetic algorithms: Della Croce et al. (1995), Bierwirth (1995), Park et al. (2003)
Genetic programming: Geiger et al. (2006)
Multi-agent reinforcement learning: Gabel and Riedmiller (2007)
Cellular learning automata: Abdolzadeh and Rashidi (2009)
Neural network approach: Mouelhi-Chibani and Pierreval (2010)
4
The job-shop problem
5
There are n jobs J=J1, J2, ..., Jn , which need to be processed on m different machines M=M1, M2, ..., Mm.
The machine (technological) route Oi=(Oi1, Oi2, ..., Oini) of each job Ji through the machines is fixed.
The machine routes may be different for different jobs.
The time for processing each operation of a job on the corresponding machine is known.
The objective of the problem under consideration is to minimize the makespan .
Mixed (Disjunctive) graph formulation of a job-shop scheduling problem
6
G = (O, C, D) => G= (O, C Di, Ø)
23
11
21
41
63
52
42
32
22
12
53
43
33
13
6
6
4
2
2 | 3
9
8
9 4 2 8 6
8 9 3 1
2
9 | 4
9 | 22 | 2
8 | 2
0 0 0
0 0 0 0 0
00 0 0 0 0
9 | 3
4 | 9
310
9
2
9 | 9
8 | 2
1 | 6
8 | 2
Mixed graph G=(O, C, D) for job-shop problem with three jobs and seven machines
0 *
Figure 1: Scheme of the adaptive scheduler
An adaptive scheduling algorithm
Priority dispatching rules
There are a lot of priority dispatching rules which are used in a variety of heuristic algorithms for scheduling the jobs in a job-shop, see e.g.: Haupt (1989), Muth and Thompson (1963), Panwalkar and Iskander (1977).
First come first served Shortest release time Shortest completion time Shortest due date Shortest processing time Shortest remaining processing time Smallest number of remaining operations ….
8
The learning stage
Conflict resolution for the edge
9
EOO kuv
kij ],[
,max kuv
kij
kuv
kijk
tg
first processed be should 0, >
18.090
7390
,max
kuv
kt
kuv
kij
kuv
kijk
t
Og
g
90k
ij
73kuv
The learning stage...
10
Conflict edge X1 X2 … Xn Ω class
[Oij1
, Ouv1] g1
1 g21 … gr
1 Ω1
[Oij2
, Ouv2] g1
2 g22 … gr
2 Ω2
… … … … …
[Oijw
, Ouvw] g1
w g2w … gr
w Ωw
[Oij, Ouv] … ?
Table 1: Conflict resolutions in optimal schedules
The examination stage
Let the characteristic vector (here the index is fixed) be the closest one to the vector among all vectors
(here the index varies) presented in Table1.
To resolve a conflict edge in the mixed graph , an adaptive scheduler uses the same decision as in the class stored in Table 1.
),...,,( 21er
ee ggg ,...,2,1 we ),...,,( 21 rggg
),...,,( 21kr
kk ggg ,...,2,1 wk
EOO uvij ],[ ),,( EAQG e
Procedures for monitoring variable parameters
12
Ordinal-algorithm
13
The algorithm considers subsequently the first requests of all jobs, the second requests of all jobs, etc. It compares the operation Oi
j currently considered with the other operations Ouv to be processed on the same
machine (based e.g. on release time, completion time or due date).
23
11
21
41
63
52
42
32
22
12
53
43
33
13
6
6
4
2
2 | 3
9
8
9 4 2 8 6
8 9 3 1
2
9 | 4
9 | 22 | 2
8 | 2
0 0 0
0 0 0 0 0
00 0 0 0 0
9 | 3
4 | 9
310
9
2
9 | 9
8 | 2
1 | 6
8 | 2
0 *
Ordinal-algorithm
14
The algorithm considers subsequently the first requests of all jobs, the second requests of all jobs, etc. It compares the operation Oi
j currently considered with the other operations Ouv to be processed on the same
machine (based e.g. on release time, completion time or due date).
23
11
21
41
63
52
42
32
22
12
53
43
33
13
6
6
4
2
2 | 3
9
8
9 4 2 8 6
8 9 3 1
2
9 | 4
9 | 22 | 2
8 | 2
0 0 0
0 0 0 0 0
00 0 0 0 0
9 | 3
4 | 9
310
9
2
9 | 9
8 | 2
1 | 6
8 | 2
0 *
MaxPT-algorithm
15
Sort the jobs in non-increasing order of their total processing times and consider all operations of a job subsequently. Then it compares the operation Oi
j currently considered with the other operations Ouv to be
processed on the same machine (based e.g. on release time, completion time or due date).
23
11
21
41
63
52
42
32
22
12
53
43
33
13
6
6
4
2
2 | 3
9
8
9 4 2 8 6
8 9 3 1
2
9 | 4
9 | 22 | 2
8 | 2
0 0 0
0 0 0 0 0
00 0 0 0 0
9 | 3
4 | 9
310
9
2
9 | 9
8 | 2
1 | 6
8 | 2
0 *
MaxPT-algorithm
16
Sort the jobs in non-increasing order of their total processing times and consider all operations of a job subsequently. Then it compares the operation Oi
j currently considered with the other operations Ouv to be
processed on the same machine (based e.g. on release time, completion time or due date).
23
11
21
41
63
52
42
32
22
12
53
43
33
13
6
6
4
2
2 | 3
9
8
9 4 2 8 6
8 9 3 1
2
9 | 4
9 | 22 | 2
8 | 2
0 0 0
0 0 0 0 0
00 0 0 0 0
9 | 3
4 | 9
310
9
2
9 | 9
8 | 2
1 | 6
8 | 2
0 *
Three strategies for considering a set of conflict edges
17
Max-PT (Maximum Processing Time first) Min-PT (Minimum Processing Time first) Ordinal
Computational Results
18
Benchmark problems
Ordinal-ECT algorithm
Shifting bottleneck
EDD-rule
FCFS-rule
LPT-rule
SPT-rule
Adaptive algorithm
MT-6 (6×6) 59 59 63 65 67 73 58
Job-shop-10 (10×10) 82 94 122 87 86 118 86
MT-10 (10×10) 1252 1094 1246 1184 1168 1338 1167
Job-shop-18 (18×5) 1419 1220 1263 1462 1393 1451 1370
max|| CJ
Computational Results
19
Figure 3: Average CPU-times used by the adaptive algorithm for solving a set of problems with a fixed number of jobs
Computational Results
20
Figure 4: Average CPU-time used by the adaptive algorithm for solving a set of problems with a fixed number of machines
ThanksSolving a job-shop scheduling problem by an adaptive algorithm based on learning
Yuri N. Sotskov1, Omid Gholami2, Frank Werner3
1. United Institute of Informatics Problems, Minsk, Belarus, e-
mail: [email protected]. Islamic Azad university - Mahmudabad Branch, Mahmudabad, Iran, e-
mail: [email protected]. Faculty of Mathematics, Otto-von-Guericke-University, Magdeburg, Germany
e-mail: [email protected] 21