Author version. The full version available at: https://link.springer.com/chapter/10.1007/978-3-540-742050_123
Multi-agent Optimization Design for Multi-resource Job Shop Scheduling Problems? Fan Xue and Wei Fan College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China P.R.
[email protected]
Abstract. As a practical generalization of the job shop scheduling problem, multi-resource job shop scheduling problem (MRJSSP) is discussed in this paper. In this problem operations may be processed by a type of resources and jobs have individual deadlines. How to design and optimize this problem with DSAFO, a novel multi-agent algorithm, is introduced in detail by a case study, including problem analysis, agent role specification, and parameters’ decision. Experimental results show that it is effective and efficient to design and optimize MRJSSPs with multi-agent.
1
Introduction
A practical generalization of the job shop scheduling problem (JSSP), which we call the multi-resource job shop scheduling problem (MRJSSP), is concerned in this paper. Informally, the problem can be stated as follows. There are a set of jobs and a set of resources. Each job consists of a lattice of operations that must be processed in a given order, and has, individually, a job ready time and a job deadline. Each operation is given an integeral processing time, and a longer resource usage time (plan time) for extra traffic (spatial distribution), preparation, and reset actions. Each operation needs one resource to process, and the processing is uninterruptible. Each resource can process only one operation simultaneously. The objective of MRJSSP is to find the best scheduling solution with minimal resource consumption, i.e. maximal resource utility. JSSP has been studied by both academic and industrial society for decades [1], however in many practical situations, (i) an operation can be processed by any one resource (or machine) from a group; (ii) jobs have individual deadlines; (iii) the requirement of no tardiness for any jobs is more important than makespan; and (iv) to reduce consumption as much as possible in order to maximize the machine utilities. Those are, fitly, the cases of MRJSSPs. M. Perregaard (1995) proposed multi-processor job shop scheduling problem (MPJSSP), which concerned multiple processing capacity as well, and A. Cesta, A. Oddi, and S. F. Smith (2000) developed an iterative improvement search approach for it. W. P. M. Nuijten and E. H. L. Aarts (1996) [4] presented another problem: multiple capacitated job shop scheduling problem (MCJSSP), ?
Submitted to ICIC-2007, underview
2
which extended MPJSSP by allowing each operation has a size. Nevertheless, both MPJSSP and MCJSSP ignored the spatial conditions and supporting handling in real-world engineering processes. Furthermore most of scheduling works, practically, are pre-scheduled by domain experts, so what we need to optimize is, usually, to maximize the resource utility to meet a timetable, not the makespan. All of these are well presented in MRJSSP, which is detailed in Chap. 2. The remainder of the paper is structured as follows: Chap. 2 represents a definition of the multi-resource job shop scheduling problem. Chap. 3 reviews the DSAFO algorithm briefly. Chap. 4 demonstrates the design procedure via a case study. Experimental results appear in Chap. 5 and a brief conclusion is given in Chap. 6.
2
The Multi-resource Job Shop Scheduling Problem
Definition 1 (MRJSSP). An instance of multi-resource job shop scheduling problem is a tuple hF, O, R, T , , D, F, rt, st, ut, et, tt, Ω, γ, si where J = {j1 , j2 , . . . , jn } - a set of n jobs; O = {o1 , o2 , . . . , op } = O1 ∪ O2 ∪ . . . ∪ Om , where ∀ Omi ∩ Omj =Ø mi 6=mj
- a set of p operations in m types (partitions); R = {r1 , r2 , . . . , rq } = R1 ∪ R2 ∪ . . . ∪ Rt , where ∀ Rti ∩ Rtj =Ø ti 6=tj
- a set of q resources in t types (partitions); C = O1 × Rt1 ∪ O2 × Rt2 ∪ . . . ∪ Om × Rtm - processing capabilities; : O 7→ O - precedence or equality, decomposing O into lattices (specially, chains) of jobs; D : J 7→ Z+ - deadline of a job; 0 J : O 7→ J - job belonging to; rt : O 7→ Z+ - operation ready time; 0 st : O 7→ Z+ - non-zero operation service time; ut : O 7→ Z+ - operation setup time; 0 et : O 7→ Z+ operation reset time; 0 tt : R × O 7→ Z+ resource traffic time for an operation; 0 Ω : R × Z+ → 7 O ∪ {Ø} which operation is in process at a certain time, 0 returns Ø when non-single operations assigned. The objective is to find two functions: s and γ, where γ : O 7→ R - assign resources; s : O 7→ Z+ 0 - assign service start time, s.t. ∀ [ ho, γ(o)i ∈ C o∈O
∧rt(o) ≤ s(o) ∧s(o) + st(o) ≤ D(F (o)) ∧ ∀ 0 s(o) + st(o) ≤ rt(o0 ) o≺o
∧
∀
s(o)−ut(o)−tt(γ(o),o)≤τ DueDateri , def dri rj = 0.01, DueDaterj = DueDateri , (DueDateri − DueDaterj )/30, DueDaterj < DueDateri . And rest parameters of MMAS are: α = 1.5, β = 2, ρ = 0.05, τinit = 1, τmax = 100, τmin = 0.01, Nant = dn/5e (upper integer), NCmax = 150. And for each successful ant run R done by ant i, all of edges in Hamilton circle of R get a positive feedback ( 10 < ri , rj >∈ circle of R; 2, ∆τrii rj = (resR +jobR /3) 0, otherwise. to reinforce the whole algorithm for fewer resources and jobs. Then DSAFO (with parameters: AgentNumberBT =4, Blockfactor=1/12, Delayfactor=1/6, Syncycle=5), EDD* (EDD in run-and-schedule), ERT* (earliest ready time first in run-and-schedule) and MMAS were tested with real-world
7 56
0
12
1.500 3.000 4.500
55
10
6.000
esources consumed
7.500
250 runs Times in
8
6
2
R
4
56
e u s
51
o c
ge
e rc u
136
51 137
d
129
o
135
an
s
52 134
s a rr
130
131
132
133
134
135
136
137
138
s
1 BT Agent
133
r jo b
e
132
ou
52
138
R
131
n
53
4-h
12.00
m
54 130
10.50
53
d
55 0 129
9.000
54
4-hour jobs arranged
56
0
20
2.500 5.000
55
18
7.500
16
12.50
esources consumed
14 250 runs Times in
10.00
54
12 10 8 6
ge
131
d
d
rc
e
48 126
o
130
an
u
49 48
127
128
129
130
131
s
arr
s
50 129
e
2 BT Agents
r jo bs
c
128
ou
o
51
4-hour jobs arranged
R
4-h
50
n
127
s
52
126
20.00
51
49
u
53
0
17.50
52
e
m
56 55 54
2
R
4
15.00
53
51
0
22
2.625
20
5.250 7.875
18
50
10.50 13.13
esources consumed
250 runs Times in
16 14 12 10 8
4
51
2
e m
47
48 128
an
130
d
123
o
129
ge
u
47
124
125
126
127
128
129
130
s
s a rr
rc
127
r jo b
e
4 BT Agents
e
126
ou
s
125
4-h
c o
n
s
u
49 124
48
4-hour jobs arranged
R
0 123
21.00
d
50
18.38
R
6
15.75
49
55
0
18
2.125 4.250
54
16
6.375
14
8.500
53
esources consumed
250 runs Times in
10.63
12 10 8 6
ng
129
ed
47
s u
48
c s rc e
47 125
u
48
128
s o
s a rra
126
e
6 BT Agents
49
127
r jo b
127
128
129
4-hour jobs arranged
R
ou
o
50
126
4-h
49
n
51
125
17.00
50
d
m
52
0
14.88
51
e
55 54 53
2
R
4
12.75
52
53
0
12
1.500 3.000 4.500
52
10
6.000
esources consumed
6
4
2
R
250 runs Times in
7.500
8
53
10.50 12.00
50
49
e
d
52
126
48
o c e
126
o
128
129
130
131
s
127
e
ge
u
48
130
an
rc
129
s a rr
131
d
4-hour jobs arranged
R
8 BT Agents
r jo b
s
49
128
ou
n
50
127
4-h
s
u
m
51
0
9.000
51
55
0
10
1.250 2.500 3.750
54
8
5.000
esources consumed
250 runs Times in
6.250
6
4
R
2 55
51
e m u
ge
o
50
s e
131
132
133
134
135
136
s
o
u
50 136
d
rc
135
an
e
s a rr
R
12 BT Agents
51
134
r jo b
10.00
c
133
ou
n
52
132
4-h
s
131
8.750
52
d
54 53
0
7.500
53
4-hour jobs arranged
Fig. 3. BT solution distributions with respect to AgentNumber
8
80 70
4 agents
70
6 agents
30
12 agents
40
30
20
10
10
50
52
54
R
56
58
60
8 agents
50
20
48
4 agents
60
40
0 46
1 agent
2 agents
Times in 250 runs
50
0
62
122
124
126
128
130
132
134
136
138
140
142
144
146
148
4-hour jobs arranged
esources consumed
Fig. 4. BT solution marginal distributions with respect to AgentNumber
56
0
12
1.500 3.000 4.500
55
10
6.000
esources consumed
7.500
250 runs Times in
8
6
R
4
2
56
e u s o
n
51
c
an
ge
136
rc e u
135
s
52 134
s a rr
51 137
d
129
o
133
r jo b
130
131
132
133
134
135
136
137
138
s
132
ou
52
e
131
4-h
12.00
138
R
130
10.50
53
m
54 53
9.000
54
d
55 0 129
4-hour jobs arranged
1 BT Member Agent with Blockfactor=1/12 56
0
22
2.625 5.250
20
55 7.875
18 10.50
54
esources consumed
250 runs Times in
16 14 12 10 8
4
R
6
56
13.13 15.75 18.38
53 21.00
52
51
d
55
2
e
54
ge
s n c
rc
e
49 128
132
d
129
130
131
132
s
o
131
an
u
50 49
e
s a rr
s
51
130
r jo b
4-hour jobs arranged
R
ou
o
52
129
4-h
u
53 128
50
m
0
1 BT Member Agent with Blockfactor=1/24 56
0
26
3.125
24
6.250
55
22
9.375 12.50
20 54
esources consumed
18
250 runs Times in
16 14 12 10 8
R
6 56
4
15.63 18.75 21.88
53 25.00
52
51
d
55
2
m
e
54
0
ng
132
ed
49
50
s n c
rc e u
50
131
s a rra
s o
r jo b
e
ou
s
51
130
o
52
129
4-h
u
53
128
R
250 runs
80
6 agents 8 agents 12 agents
60
Times in
1 agent 2 agents
49 128
129
130
131
132
4-hour jobs arranged
1 BT Member Agent with Blockfactor=1/36
Fig. 5. BT solution distributions with respect to Blockfactor
150
9
100
60
Blockfactor=1/12
Blockfactor=1/12
90
Blockfactor=1/24
Blockfactor=1/24 80
Blockfactor=1/36
Blockfactor=1/36
50
0 (Embedded Agent)
0 (Embedded Agent)
Times in 250 runs
60
50
40
30
40
30
20
20
10 10
0
0 50
52
54
56
58
60
128
62
130
132
134
136
R
138
140
142
144
146
148
4-hour jobs arranged
esource consumed
Fig. 6. BT solution marginal distributions with respect to Blockfactor
53
0
22
2.625
20
5.250
52
7.875
18 10.50 13.13
esources consumed
250 runs Times in
16 14 12 10 8
4
53
130
ge
131
d
e u n o
s e
47
rc
129
an
124
o
s a rr
48
125
126
127
128
129
130
131
s
r jo b
48 47
e
ou
128
49
c
49
127
u
126
4-h
21.00
s
50
125
18.38
m
51
15.75
50
4-hour jobs arranged
R
0 124
d
52
2
51
R
6
4 BT Member agents with Delayfactor=1/3 51
0
22
2.625
20
5.250 7.875
18
50
10.50 13.13
esources consumed
250 runs Times in
16 14 12 10 8
4
51
2
21.00
48
m
e
d
50
47
s
48
126 127 128
an
129
ge
130
d
123
u
s a rr
47
o
r jo b
124
125
126
127
128
129
130
s
ou
e
4-h
rc e
125
c o
n
s
u
49 124
18.38
4-hour jobs arranged
R
0 123
15.75
49
R
6
4 BT Member agents with Delayfactor=1/6 54
0
24
3.000
22
6.000
53 9.000
20
12.00
18
52
esources consumed
250 runs Times in
16 14 12 10 8
4
54
m
e
52
s a rra
129
ed
130
47
24.00
49
48
s n o c
e rc u
48
128
ng
o
r jo b
s
49 127
21.00
50
47 123
124
125
126
127
128
129
130
s
ou
50 126
e
125
4-h
18.00
u
51 124
15.00
51
d
53
2 0 123
R
6
R
Times in 250 runs
70
4-hour jobs arranged
4 BT Member agents with Delayfactor=1/24
Fig. 7. BT solution distributions with respect to Delayfactor
150
10 70
Delayfactor=1/3
Delayfactor=1/3
70
Delayfactor=1/6 60
Delayfactor=1/6
Delayfactor=1/24
Delayfactor=1/24
60
Times in 250 runs
Times in 250 runs
50
40
30
20
50
40
30
20
10
10
0
0 46
48
50
52
54
122
56
124
126
4-hour jobs arra
Resources consumed
128
130
nged
Fig. 8. BT solution marginal distributions with respect to Delayfactor
AGSS test data with 252 transfer flights. We choose BT related operations (1,008 activities in total) to test performances of these algorithms. A comparison in BT consumption and 4-hour BT jobs arrangement is shown in Table 1. Additionally we put time cost and average CPU rate in the table. The best value in each group is bolded. Table 1. Optimization algorithm comparison Algorithm
Time
CPU
Resources 4-hour jobs MIN MAX AVG MIN MAX AVG
DSAFO ≈144 sec