Articulo Ebs Co
Articulo Ebs Co
Articulo Ebs Co
Abstract
Heuristic procedures based on priority rules are quite
frequently used to solve the multiple resource-constrained
(RCPSP),
i.e.
task
project-scheduling
problem
programming with limited resources. The rules are based
on the problem knowledge. Different local search
procedures have been proposed in order to look for
acceptable solutions in scheduling problems. In this work,
local search procedures, that define the solution
neighborhood based on greedy heuristics, are proposed to
assign assembly operations to a fixed number of robots in a
manufacturing cell. A genetic algorithm is used to generate
the solution.
1 Introduction
The multiple resource-constrained project scheduling
problem (RCPSP) has been extensively treated in the
literature (e.g. [1][2][3]). Exact solutions have been
obtained using branch-and-bound procedures as well as
dynamic programming [4][5]. Nevertheless, these
procedures are only useful for low dimension problems
due to its NP-hard complexity [6].
In order to solve realistic problems, different heuristics
have been used like, for instance, those based on priority
rules constraining the serial or parallel dispatching of tasks
[7][8]. The rules consider different aspects like, for
instance, processing times (activity duration), slacks,
number of subsequent tasks, resource requirements,
randomizing, etc. The rules are applied step by step to
choose a task among a set of them whose precedents have
already been scheduled, while taking care that the resource
requirements fit the available resources. Usually, each
heuristic of this type has been associated to only one rule
that determines the task to be dispatched at each situation
(unless random selection is used).
These heuristics often produce acceptable solutions, and,
as average, the higher the number of aspects considered in
a rule the better the solution is. Nevertheless, it cannot be
concluded that there exists one rule that works better than
This work was partially supported by the CICYT Projects TAP 96-0868,
TAP 98-0494 and TAP 98-0471.
51-59, 61-70, 83, 89, 91, 92, 96 and 100. The use of other
rules produces solutions between 63 and 71 seconds (the
worst case for rule #97, i.e. [k] = rule_#97 k).
Nevertheless, in this example it is easy to find an optimal
solution, like any of those in Figure 2. This simple
example does not show that the rules are inadequate but
that the way they are applied is not optimal.
Task
B1
C1
D1
E1
F1
G1
E2
F2
G2
B2
C2
D2
Solution 1
0
Rob.1
B1
00
11
11
00
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
C1
E1
1111
0000
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
G1
F1
15
B2
Rob. 2
E2
F2
E2 1111
0000
0000
1111
1111
0000
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
0000
1111
G2
F2
D1
D2
C2
G2
23
16
60
54
G1
51
40
60
Solution 2
Rob.1
15
B2
Rob. 2
E2
10
F2
C1
16
D2
C2
E1
B1
23
54
40
23
33
D1
G2
F1
40
60
G1
51
60
D2
00
11
11
00
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
40
F1
C1
B1
10
30
23
E1
D1
Precedence
B1
C1
E1
F1
E2
F2
B2
C2
Table 1
3 Assembly example
Figure 1 shows a set of 12 parts to be assembled on the
base A by two robots of the same type (the parts Ci, Gi and
Di i{1,2} act as fasteners). Table 1 summarizes the time
(in seconds) needed for the assembly of each part and the
precedence relations between them.
Duration
6
7
6
8
7
9
10
10
11
15
17
14
B2
C2
Nomenclature:
A first attempt to determine the assignment of tasks to each
robot was done using a procedure based on the parallel
dispatching of 100 well known rules. The set of rules,
listed in Appendix A, includes, for instance, SIO (Shortest
Imminent Operation), GRD (Greatest Resource Demand),
Weighted Resource Utilization Ratio and Precedence
(WRUP), Minimum Job Slack (MINSLK), among others.
The best solution without any subsequent local
optimization has a makespan of 62 seconds, obtained with
vectors uniquely composed by any of the rules: 4-13, 27,
N
M
i
j
k
T
P(i)
C(i)
(i)
R(i,j)
R(j)
X
Y
Z
z*
W
S
[k]
C
Cmax
Begin A1
1. Initialize:
T0
k1
C(i)
i (1iN)
R(j)R0(j) j (1jM)
XX0
W
2. Create Y:
Y ={yX : (C(x)T x(y) ) (y)= }.
3. Create Z:
Z ={zY : R(z,j)R(j) j}
IF Z= GO TO 6
4. Schedule the task:
Arrange Z according to rule [k]
C(z*)=T+P(z*)
R(j) R(j)-R(z*,j) j
WW+{ z*}
C = max[C(w)] with wW
YY-{ z*}
XX-{ z*}
IF X= GO TO 7
5. Increment the decision pointer:
k k+1
GO TO 3
6. Release of resources:
Search S={ s : C(s) = min[C(w)] with wW }
R(j)R(j) + sS R(s,j) j
T T+ C(s) with sS
WW S
GO TO 2
7. Determine Cmax:
Cmax = max[C(w)] with wW
End A1
The application of the algorithm A1 to the assembly
example previously described in Section 3 with the vector
of rules r = (40,40, 7, 7, 7,40,40,40,40,40,40,40) gives the
solution 1 shown in Figure 2. It is interesting to remark
Begin GA1
Phase A: Initialization
0. Generation of initial populations:
0.1 Generate the initial r of I as:
r ={ ri = ([1],..., [N]) : [1]= ...= [N]}
0.2 Generate the initial population of heuristics:
h = { hi = hi(ri,A1) : ri r}
0.3 Generate the population of solutions of p and
evaluate their makespan:
s = { si = hi(p) : hi h}
0.4 Save as heuristic and incumbent solution the pair
(h*,s*) with the best makespan.
0.5 Determine the fitness fj of the elements of s as:
( D j Dmin ) 1
fj = I
1
i =1 ( Di Dmin )
with:
Di
Dmax
Dmin
6 Experimental Results
makespan of the solution i
greatest makespan of the population
lowest makespan of the population
index of the population homogeneity
1 I Di D min
=
I i =1 D max D min
Selection of ancestors:
Build I/2 pairs of elements of r according to the
fitness of the elements of s.
2. Choice of the pairs for the crossover:
2.1 Determine the probability of the current
crossover: Pc = Pc().
2.2 Assign a random number to each pair of
sequences of rules.
2.3 Decide, for each pair of sequences of rules, if a
crossover should be done according to their
random number and Pc.
3. Generation of descendants:
3.1 Crossover the selected pair of sequences of rules
to generate two descendants, creating r.
3.2 Generate h and s from r as it was done in
0.2 and 0.3 respectively.
3.3 Determine the makespan of the elements of s If
any element of s has a better makespan than
the incumbent solution, then save as heuristic
and incumbent solution the pair (h*,s*)
associated to that element.
4. Mutation of descendants:
4.1 Determine the probability of mutation of the
current generation: Pm = Pm().
4.2 Assign a random number to each element r.
4.3 Decide the elements of r to be mutated
according to their random number and Pm.
4.4 Mutate the chosen elements of r creating r.
4.5 Generate h and s from r as it was done in
0.2 and 0.3 respectively.
4.6 Determine the makespan of the elements of s.
If any element of s has a better makespan than
the incumbent solution, then save as heuristic
and incumbent solution the pair (h*,s*)
associated to that element.
5. Regeneration of the population:
5.1 Build the population of eligible elements
r r + r + r
5.2 Determine the fitness of the elements of the
populations s and s as it was indicated in 0.5.
5.3 Choose I elements from r according to the
fitness of the elements of s , s and s.
End GA1
Ancestors
Descendants
7 Conclusions
A method to look for solutions of the RCPSP with
application to the scheduling of assembly operations with
limited resources (the robots) has been presented. The
main contribution of the method is the incorporation of the
knowledge provided by the specific heuristics of the
problem in a local search procedure. In this way, the
solution is characterized by a sequence of priority rules.
The method has been implemented using a genetic
algorithm. The experiments and computational experiences
were quite satisfactory.
duration of task i.
number of units of resource j required by task i.
number of available units of resource j
set of tasks satisfying the precedence constraints
and resources availability.
ns(i) number of direct successors
nst(i) number of successors
ih h is a direct successor of i.
ih h is a successor of i.
EST Earliest Start Time.
LST Latest Start Time.
EFT Earliest Finish Time.
LFT Latest Finish Time.
Schedule the task z* : v(z*)=maxiZ[v(i)]
NAME
1. SIO Shortest
Imminent Operation.
v1 (i ) = P (i )
2. GRD Greatest
Resource Demand.
v2 (i ) = P (i ) R (i, j )
v 3 ( i ) = P (i ) P ( h )
RULE:
j =1
ih
v4 (i ) = w p ns(i ) + wr
R ( j)
R (i , j )
j =1
v5 (i) = w p P (h) + wr
26. ALEA.
v6 (i ) = Random(i )
v7 (i ) = nst (i )
28-38*. WRUP3
v8 (i ) = w p P(i ) + wr
39-49*. WRUP4
v9 (i ) = w p P (i ) + v5 (i ) = w p
50-60*. WRUP5
v10 (i ) = w p nst (i ) + wr
4
[%]
R(i, j )
j =1 R0 ( j )
15-25*. WRUP2
ih
97
100
94
91
88
85
82
79
76
73
70
67
64
61
58
55
52
49
46
43
40
37
34
31
28
25
22
19
16
13
10
R (i, j )
j =1 R0 ( j )
P (h) + v8 (i )
ih
Rules
j =1
R (i, j )
R0 ( j )
R (i, j )
j =1 R0 ( j )
61-71*. WRUP6
v11 (i ) = w p P (h) + wr
72-82*. WRUP7
ih
P( h) + v8 (i )
ih
v13 (i ) = ns (i )
P(h)
84. MIT2
v14 (i ) = ns (i ) +
85. MIT3
v15 (i ) = ns(i ) P (i )
86. MIT4
87. MIT5
ih
j =1
88. MIT6
89. MIT7
v19 (i ) = nst (i ) +
90. MIT8
91. MIT9
92. MIT10
j =1
P(h)
i h
j =1
93. MIT11
94. LST Latest Start
Time
95. EST Earliest Start
Time
96. LFT Latest Finish
Time
97. EFT Earliest Finish
Time
98. MINSLK Minum Job
Slack
99. RSM Resource
Scheduling Method
100. RSM2
v24 (i ) = LST (i )
v25 (i ) = EST (i )
v26 (i ) = LFT (i )
v27 (i ) = EFT (i )
v28 (i ) = (LST (i ) EST (i ) )
References
[1] zdamar, L. & Ulusoy, G. (1995): Survey on the
resource-constrained project scheduling problem. IIE
Transactions, 27 (5), 574-586.
[2] Weglarz, J. (Ed.) (1998): Handbook on Recent
Advances in Project Scheduling. Kluwer, Amsterdam.
[3] Kim, J. Desrochers A. & Sanderson, A. (1995): Task
Planning and Project Management using Petri Nets. 1995
IEEE International Symposium on Assembly and Task
Planning, Pittsburgh, Pennsylvania, 265-271.
[4] Patterson, J.H. (1984): A comparison of exact
approaches for solving the multiple constrained resource,
project scheduling problem. Management Science, 30 (7),
854-867.
[5] Simpson, W.P. & Patterson, J.H. (1996): A multipletree search procedure for the resource-constrained project
scheduling problem. European Journal of Operational
Research, 89, 525-542.
[6] Blazewicz, J.; Lenstra, J.K. & Rinnoy Kan, A.H.G.
(1983): Scheduling projects to resource constraints:
Classification and complexity. Discrete Applied
Mathematics, 5, 11-24.
[7] lvarez-Valds, R. & Tamarit, J.M. (1989): Heuristic
algorithms for a resource constrained project scheduling: A
review and an empirical analysis, Advances in Project
Scheduling, 113-134. R. Slowinski & J. Weglarz (Ed.).
Elsevier, Amsterdam.
[8] Kolisch, R. (1996): Efficient priority rules for the
resource-constrained project scheduling problem. Journal
of Operations Management, 14, 179-192.
[9] Daz, A. & Glover, F. & Ghaziri, H. & Gonzlez, J.M.
& Laguna, M. & Moscato, P. & Tseng, F. (1996):
Optimizacin heurstica y redes neuronales. Paraninfo.
[10] Holland, J.H. (1975): Adaptation in Natural and
Artificial Systems. University of Michigan Press, Ann
Arbor, Mich.
[11] Goldberg, D.E. (1989): Genetic Algorithms in Search,
Optimization and Machine Learning. Addison-Wesley,
Reading, Mass.
[12] Padman, R. & Roehrig, S.F. (1997): A Genetic
Programming Approach for Heuristic Selection in
Constrained Project Scheduling, Interfaces in Computer
Science and Operations Research: Advances in
Metaheuristics, Optimization, and Stochastic Modeling
Technologies, 405-421. R.S. Barr & R.V. Helgason & J.L.
Kennington (Ed.). Kluwer, Norwell, MA, USA.
[13] Gyoung K. & Lee C.S.G. (1994): An Evolutionary
Approach to the Job-Shop Scheduling Problem. 1994
IEEE International Conference on Robotics and
Automation, San Diego, CA, 501-506.
[14] Mori, M. & Tseng, C.C. (1997): Genetic Algorithm
for multi-mode resource constrained project scheduling
problem. European Journal of Operational Research,
100, 134-141.
[15] Fujimoto H., Yasuda K., Tanigawa Y. & Iwahashi K.
(1995): Application of Genetic Algorithm and Simulation
to Dispatching Rule-Based FMS Scheduling. 1995 IEEE
International Conference on Robotics and Automation,
Nagoya, Japan,V1, 190-195.
[16] Storer, R.H. &Wu, S.D. & Vaccari, R. (1992): New
search spaces for sequencing problems with application to
Job Shop Scheduling. Management Science, 38 (10),
1495-1509.