Resource-constrained Project Scheduling with Fuzziness
HONGQI PAN, ROBERT J. WILLIS, CHUNG-HSING YEH
School of Business Systems
Monash University
Clayton, Victoria 3168
AUSTRALIA
Abstract: - Resource-constrained project scheduling (RCPS) is often a challenging issue in practice, due to its combinatorial nature and uncertainty. This paper presents the framework of a heuristic approach to fuzzy RCPS problems using a fuzzy parallel scheduling method. This approach can handle both fuzzy and crisp numbers which commonly coexist in many realistic RCPS problems.
Key-Words: - Resource-constrainedProject Scheduling; Priority Rules; Fuzzy Sets; Parallel Scheduling.
1 Introduction
In the real world, many RCPS problems are often inherently uncertain due to the vagueness of activity duration times. This uncertainty should be considered in many realistic RCPS approaches. Traditionally, the uncertainty was handled by stochastic approaches using a probabilistic-based PERT method [1]. This kind of uncertainty is associated with randomness. However, in many situations, it is impossible to get the distribution of probabilities of activity duration times because such projects may not have been carried out previously. The duration times have to be estimated by a knowledgeable decision maker (DM). Such human expertise often includes ambiguous information, which cannot be modelled using the probabilistic approaches. Fuzzy set theory has proven to be an effective way of handling such vague information [2]. It can be employed to express the DM’s both optimistic and pessimistic views in the determination of activity duration times. In addition, RCPS problems are one of the NP-hard class due to the complexity of the combinatorial nature [3, 4]. For even moderately-sized problems, obtaining an optimal solution in reasonable computational time can be very difficult. However, heuristic-based approaches can produce a reasonable solution to RCPS problems [5, 6].
Scheduling concerned with fuzziness is still a new and challenging field with only a limited number of published papers. Prade first introduced the concept of fuzzy sets into PERT in 1979 [7]. Following that some papers applied this concept further to project planning [8, 9, 10]. However, resource constraints
were not taken into account. Fu and Wang [11] proposed a fuzzy resource allocation model which uses linear programming when resources are insufficient and Willis et al [12] applied the fuzzy goal programming approach in RCPS, but such an approach is only suitable for small sized projects. Hapke et al. [13] adopted the simulated annealing technique in their attempt to solve the multiple objective combinatorial optimisation of fuzzy RCPS. Lorterapong [14] and Hapke et al. [15] presented heuristic-based approaches applying fuzzy sets to deal with fuzzy activity duration times of a project. This approach has the advantage of being robust, intuitive, and efficient in computation with respect to its NP-hardness. Our approach is based on a similar idea using the fuzzy parallel scheduling method with an effective comparison of fuzzy numbers.
In this paper, a real case of an overhaul schedule is considered as a fuzzy RCPS problem. Most of these activity duration times have to be estimated by the DM, using his/her knowledge and experience. The company requires a flexible result in the overhaul scheduling which ensures that it can be completed within a given time period.
In the remainder of this paper, we describe the fuzzy number arithmetic and fuzzy comparison, and then cover the fuzzy heuristic approach with priority rules. Finally, we present a numerical example and come to a conclusion.
Let A~ and B~ be fuzzy numbers, and ∗ denote any basic fuzzy arithmetic operations such as fuzzy addition, subtraction and multiplication. Any operation A~∗B~ can be defined a fuzzy set onℜand expressed in the following form [16]:
{
min[( ( ), ( )]}
max ) ( ~ ~ ~ ~ z x y B A z y x B A µ µ η = ∗ ∗ = (1)In the scheduling, two linear approximations for trapezoidal and triangular fuzzy numbers are used. A trapezoidal number is a flat fuzzy number which can be represented by 4-tuples ( ,a a a a1 2, 3, 4) as shown in Figure 1, where a1 and a4 are the lower and upper bounds of the support of fuzzy number A~, while a2 and a3 are the lower and upper modal values. However, a triangular fuzzy number can be considered a special case of the trapezoidal fuzzy number where the lower and upper modal values are same (a2 =a3) as shown in Figure 1. All the following fuzzy operations are based on trapezoidal numbers. Degree of Membership µ 1.0 a4 a3 a2 a1
~
A
(a2=a3)Figure 1 Trapezoidal and triangular fuzzy numbers
If A~ and B~ are defined as trapezoidal fuzzy numbers, the following arithmetic operations will be used in the scheduling:
~ ~ ( , , , ) A+ =B a1+b a1 2 +b a2 3+b a3 4+b4 (2) ~ ~ ( , , , ) A− =B a1−b a4 2−b a3 3−b a2 4−b1 (3) ~ ~ ( , , , ) A× =B a1×b a1 2×b a2 3×b a3 4×b4 (4) max(A B~,~) ( ( , ), ( ,= ∨a b1 1 ∨ a b2 2), ( ,∨ a b3 3), ( ,∨a b4 4)) (5) )) , ( ), , ( ), , ( ), , ( ( ) ~ , ~ min(AB = ∧a1b1 ∧ a2b2 ∧ a3b3 ∧a4 b4 (6)
where +, − and
×
represent fuzzy addition, subtraction and multiplication respectively, and ∨,∧ symbolise maximum, and minimum operations for fuzzy numbers respectively. Details regarding fuzzy arithmetic can be found in Klir and Yuan [17]. The ranking of fuzzy numbers is another important issue in the scheduling. While many ranking methods have been proposed to date, there is no single approach that can produce a satisfactory result in every situation: some may generate counter-intuitive results and others are not discriminative enough [18]. To overcome such problems, Cheng
[19] developed a new distance approach for fuzzy number comparisons based on the calculation of the centroid point (x y0, 0) to obtain the distance index, where x0 and y0 are centroid values both in the horizontal and vertical axes respectively. Let a trapezoidal fuzzy number A~ be represented as the following membership function:
µ µ µ ~ ~ ~ ( ) , ( ) A A L A R x x a a a a x a a x a x a x a a a x a = = − − ≤ ≤ ≤ ≤ = − − ≤ ≤ 1 2 1 1 2 2 3 4 4 3 3 4 1 0 otherwise (7) where µ~:[ , ] [ , ] A L
a a1 2 → 0 1 is the strictly continuous left spread, and its corresponding inverse function is denoted by gAL~( ) . x µ~( ):[ , ] [ , ]
A R
x a a3 4 → 0 1 is the strictly continuous right spread, and its corresponding inverse function is symbolised by gAR~( ) . All the functions can be integrable due to x their continuity. Therefore, the centroid point
(x y0, 0)of a fuzzy number ~
A can be defined in the following form:
[
]
[
]
[
]
[
]
~ ( ~) ( ) ( ) ( ) ( ) (~) ( ) ( ) ( ) ( ) ~ ~ ~ ~ $ ~ ~ ~ x A x x dx xdx x x dx x dx dx x dx y A yg y dy yg y dy g y dy g y dy A L a a A R a a a a A L a a A R a a a a A L A R A L A R 0 0 0 1 0 1 0 1 0 1 2 3 3 4 1 2 2 3 3 4 1 2 = + + + + = + +∫
∫
∫
∫ ∫
∫
∫
∫
∫
∫
µ µ µ µ (8)The ranking index can be expressed as: R A(~)= (x0) +(y )
2 0
2
(9) For trapezoidal fuzzy numbers, formula (8) of calculating the centroid point can be simplified as:
x a a a a a a a a a a a a y a a a a a a a a 0 4 2 3 2 1 2 2 2 3 4 1 2 3 4 1 2 0 1 2 3 4 1 2 3 4 3 2 2 3 = + − − + × − × × + − − = + × + × + × + + + ( ) ( ) (10) However, for triangular fuzzy numbers, the value of
a2 is the same as that of a3 due to the same modal value when applying formula (10).
Where A~i, ~
Aj are any fuzzy numbers in set ℜ, the comparison of fuzzy numbers has the following properties when obtaining ranking indices by formula (9):
(1) if
R A( i R Aj ~ )> (~ ), then A~i >A~j,(2) if
R A( i R Aj ~ )= (~), then A~i =A~j,(3) if
R A( i R Aj ~ )< (~ ), then A~i <A~j.3 Fuzzy heuristics
Basically, heuristic approaches for solving RCPS problems have five methodologies: single and multiple pass priority rule-based scheduling [20, 21]; truncated branch and bound procedures [5]; disjunctive arc concepts [22]; local search techniques [23]; and integer programming based heuristics [24]. Although, a priority rule-based approach is one of the oldest heuristics, this approach is still an efficient technique for solving PCSP problems. It is easy to use and fast in computational effort [6].
In the priority rule-based approach, there are two basic scheduling methods: serial and parallel. In the serial method, only one activity is selected and scheduled in each stage. In the parallel method, however, activities whose predecessors have been completed, can be considered to be scheduled in a stage depending on the availability of resources.
In this paper, the parallel method is used because it seems to work better [5]. There are two versions of the parallel method: Kelley’s algorithm [25] and Brooks algorithm [26]. Our scheduling method is based on Brooks algorithm (BAG).
In the fuzzy parallel method, we assume that there are, at most
J
stages, in each of which a set of activities is scheduled. Four sets are defined in the fuzzy scheduling scheme. A complete set C t(n~ ) is a set of activities that were scheduled and are completed up to the schedule time ~tn. Activities which have already been scheduled, but have not been completed at that scheduled time ~tn, are defined in the active set A t(n
~) . Activities which have not been scheduled and whose immediate predecessors have been completed by ~tn, are in the decision set D t(n
~) . However, other remaining activities not belonging to the above three sets are in the remaining set R t(~n) . The partial schedule of each stage is composed of activities that are in the complete and active set. The order of activities in the decision set is determined by a specific priority rule. The schedule time of a stage is equal to the earliest completion time of activities in the active set belonging to the previous stage.
In order to describe the parallel scheduling method, the following notation is introduced: Z is a group of activities in a given project;
d
~
i represents the fuzzy duration of an activityZ
i;π
R
r andk
ir denote the left-over capacity and an activityZ
i’s resource requirement, respectively, of the renewable resource r.P
i andS
i are, respectively, a set of activities immediately preceding and succeeding activityZ
i.ST
~
i andFT
~
i express the fuzzy start and fuzzy finish times of activityZ
i. The general scheme of the fuzzy parallel scheduling can be presented in the following form:INITIALISATION:
R
r
R
R
t
D
t
n
:
=
1
,
~
n:
=
0
,
(
~
n)
:
=
{
1
},
π
r:
=
r∀
∈
{ }
Z
t
R
t
C
t
A
(
~
n)
=
(
~
n)
:
=
φ
,
(
~
n)
:
=
GOTO
Step (2)
DOWHILEn <J
DO STAGEn
BEGIN (1)t
n:
min{
FT Z
i iA t
n~
(
~
)}
=
∈
−1A t
(
~
n):
=
A t
(
~
n−1) \ { |
Z Z
i i∈
A t
(
~
n−1),
FT
~
i≅
~
t
n}
C t
(
nC t
nZ FT
i it
n~
):
=
(
~
−1)
∪
{
~
≅
~
}
π
K
rK
rk
irr
R
i A tn=
−
∀ ∈
∈∑
(~),
D t
(
~
n)
=
{ |
Z Z
i i∉
{ (
C t
~
n)
∪
A t
(
~
n),
P
i⊆
C t
(
~
n)
R t
(
~
n)
=
Z
\ { (
C t
~
n)
∪
A t
(
~
n)
∪
D t
(
~
n)}
(2)
Ordering the priority list in
D t
(
~
n)
DO WHILE
k
ir≥
π
K
rST
it
n~
:
=
~
FT
iST
id
i~
:
=
~
+
~
A t
(
~
n):
=
A t
(
~
n)
∪
Z
iUpdate
π
K
r∀ ∈
r
R D t
, (
~
n),
and
R t
(
~
)
nn
: =
n +
1
ENDThe traditional critical path method (CPM) is an effective tool frequently used to identify a critical path of a project while solving RCPS problems. In the fuzzy CPM, fuzzy operations are employed to calculate the fuzzy early start (
EST
~
i) and the fuzzy late finish (LFT
~
i) times of an activityZ
i through the forward and backward pass in the project network:EST
iEST
d
Zj Pi j j~
max[
~
~
]
=
∈+
(11)LFT
iLST
Zj Si j~
min[
~
]
=
∈ (12)EFT
i Z SLFT
jd
j j i~
min[
~
~
]
=
∈−
(13) whereEFT
~
i andLST
~
i represent the early finish and late start times of activityZ
i. In the backward pass calculations, it is important to note that some lower bounds ofLST
~
i andLFT
~
i may be negative when fuzzy subtractions are taken. For practical purposes, the negative numbers have no physical meaning, and these negative numbers should be changed to zero.Heuristics based on priority rules have been tested by many researchers [5, 6, 20, 27]. However, there is no single priority heuristic that always gives a better result in every scheduling situation. It is useful to apply a set of priority rules simultaneously, to select the best result among them. In the scheme, 10 popular priority rules are employed, taking into account time, resources and the successors of current scheduled activity.
1. Fuzzy early start time (
EST
~
):min
~
(~) i D t∈
EST
i2. Fuzzy early finish time (
EFT
~
):
min
~
(~) i D t∈
EFT
i3. Fuzzy late start time (
LST
~
):min
~
(~) i D t∈
LST
i4. Fuzzy late finish time (
LFT
~
):min
~
(~) i D t∈
LFT
i5. Minimum fuzzy slack (
MFSLK ):min
~
~
(~)
i D t∈
LST
i−
EST
i6. Greatest fuzzy resource demand (
GFRD ):max
~
(~) i D t i ir r Rd
k
∈∑
∈7. Shortest fuzzy processing time (
SPT
~
):min
~
(~) i D t∈
d
i8. Longest fuzzy processing time (
LPT
~
):max
~
(~) i D t∈
d
i9. Most immediate successors (
MIS ):max| |
(~) i D t∈
S
i10. Least immediate successors (
LIS ):min | |
(~) i D t∈
S
iIn order to employ these rules, the fuzzy early and late start times, and the fuzzy early and late finish times for each activity can be calculated by Equation 11-13.
4 Numerical Example
The project presented here is a real overhaul scheduling problem and is composed of 14 activities. The precedence relations among activities is represented by a precedence network, as shown in Figure 2, where SP and EP are the dummy activities representing the beginning and end of the project
5 8 9 SP 2 12 11 10 1 4 3 7 13 6 14 EP
Figure 2 The Precedence diagram
In the scheduling, three different kinds of renewable resources are required throughout the project. However, the amount of these resources is limited. The availabilities of resources 1, 2 and 3 are 2, 8 and 9 respectively in each period. Due to the nature of uncertainty in many activities, these duration times are estimated by triangular or trapezoidal fuzzy numbers, and only a few duration times of some activities can be determined as crisp numbers. The data of the project are listed in Table 1 where Rn represents the nth renewable resource.
Table 1 Duration times and resource requirements Activity No. Duration R1 R2 R3
1 (15,18,20,25) 1 3 2 2 (10,12,15,20) 1 2 2 3 (8,10,15) 0 3 4 4 (20,25,30,36) 0 3 5 5 (10,13,16,20) 0 2 4 6 (6,9,15) 0 1 2 7 (5,8,10,15) 1 2 2 8 (18,22,25,30) 0 3 4 9 (10,15,20,25) 1 2 3 10 (5,8,12) 1 2 2 11 (8,10,12,15) 1 2 2 12 5 1 0 2
13 (4,6,9) 0 2 2
14 10 2 5 5
The algorithm has been written using object-oriented programming language VB6. The middle resulting data required by the 10 priority rules are listed in Tables 2 and 3.
Table 2 The 1st part ofdata required by rules Activity No
EST
i~
EFT
~
iLST
~
i 1 0 (15,18,20,25) 0 2 0 (10,12,15,20) (0,9,28,53) 3 0 (8,10,10,15) (0,27,41,66) 4 (15,18,20,25) (35,43,50,61) (15,18,20,25) 5 (10,12,15,20) (20,25,31,40) (3,24,40,63) 6 (10,12,15,20) (16,21,24,35) (8,31,44,67) 7 (8,10,10,15) (13,18,20,30) (14,37,51,74) 8 (35,43,50,61) (53,65,75,91) (35,43,50,61) 9 (20,25,31,40) (30,40,51,65) (28,45,64,81) 10 (13,18,20,30) (18,26,28,42) (36,52,62,81) 11 (13,18,20,30) (21,28,32,45) (29,47,59,79) 12 (18,26,28,42) (23,31,33,47) (48,60,70,86) 13 (21,28,32,45) (25,34,38,54) (44,59,69,87) 14 (53,65,75,91) (63,75,85,101) (53,65,75,91)Table 3 The 2nd part of data required by rules Activity No
LFT
i~
LST~i−LFT~idi
~
k
ir i R∈∑
1 (15,18,20,25) 0 (120,144,160,200) 2 (3,24,40,63) (0,9,28,53) (60,72,90,120) 3 (14,37,51,74) (0,27,41,66) (32,40,40,60) 4 (35,43,50,61) 0 (160,200,240,288) 5 (23,40,53,73) (0,9,28,53) (60,78,96,120) 6 (23,40,53,73) (0,16,32,57) (18,27,27,45) 7 (29,47,59,79) (0,27,41,66) (25,40,50,75) 8 (53,65,75,91) 0 (144,176,200,240) 9 (53,65,75,91) (0,14,39,61) (60,90,120,150) 10 (48,60,70,86) (6,32,44,68) (25,40,40,60) 11 (44,59,69,87) (0,27,41,66) (40,50,60,75) 12 (53,65,75,91) (6,32,44,68) 15 13 (53,65,75,91) (0,27,41,66) (16,24,24,36) 14 (63,75,85,101) 0 120The tables show that some activities in the decision set
D t
(
~
)
may have the same priority values in a specific priority rule and generate a group of different priority lists. For instance, there are 24 different combinations of scheduling sequences, creating 24 different feasible schedules in theEST
~
rule. However, the objective of thescheduling is to minimise the overhaul completion time.
By running the developed software using the fuzzy parallel method, the shortest project completion times from each individual rule are selected, as shown in Table 4, in which we can see that in this particular overhaul scheduling, the
EST
~
,LFT
~
,SPT
~
andLIS
rules produce better results than the others, and the fuzzy values of the project completion time are quite close. But, when applying the fuzzy number ranking method, the shortest project completion time is gained by theSPT
~
rule, by which each activity’s start and finish time is displayed in Figure 2. It provides the DM with detailed information about every moment of the overhaul performance, and with a reasonable scheduling result under the vague information of activity duration times.Table 4 Project completion times under 10 rules Heuristic Rule Scheduling Sequence Project Completion Time
EST
~
1,2,3,7,5,6,4,10, 11,12,9,13,8,14 (68, 82, 96, 106)EFT
~
3,2,1,7,6,10,5,11, 12,13,9,4,8,14 (76, 94, 107, 145)LST
~
11,9,10,13,12,14 1,4,2,5,3,6,7,8, (76, 94, 105, 133)LFT
~
1,2,3,4,6,5,7,11, 10,8,9,13,12,14 (61, 81, 93, 122) MFSLK 7,11,13,10,12,14 1,4,8,2,5,6,9,3, (100, 125, 139, 178) GFRD 1,4,8,2,5,6,9,3, 7,11,10,13,12,14 (94, 118, 132, 170)SPT
~
3,2,1,7,6,5,4, 10, 11,9,8,12,13,14 (64, 78, 89, 111)LPT
~
1,4,8,2,5,6,3,9,7, 11,10,13,12,14 (90, 112, 129, 165) MIS 1,3,4,8,2,5,6,9,7, 11,10,13,12,14 (87, 107, 121, 151) LIS 2,3,1,7,4,5,6,10, 11,9,8,12,13,14 (69, 84, 94, 116)5 Conclusion
Practical RCPS is often a complex problem due to its NP-hardness and uncertainty. Its combinatorial nature is difficult to handle using the existing exact algorithms. While heuristic approaches appear to be attractive, they give reasonable practical solutions, traditional heuristic approaches suffer the major shortcoming of being unable to handle such uncertainty.
This paper presents a fuzzy RCPS heuristic approach that incorporates fuzzy set theory to model the uncertain activity duration times estimated by the DM. To obtain a good solution for the minimisation of the project completion time, a group of priority rules is employed in a fuzzy parallel scheduling
method. This approach is simple and straightforward in practical applications. Therefore, this study provides the framework of a heuristic approach for solving RCPS problem involving uncertain activity duration times modelled by fuzzy numbers.
10 20 30 40 50 60 70 80 90 100 110 Activity 1 Activity 2 Activity 3 Activity 4 Activity 5 Activity 6 Activity 7 Activity 8 Activity 9 Activity 10 Activity 11 Activity 12 Activity 13 Activity 14 time ST~1 FT~1 ST~2 FT~2 ST~3 FT~3 ST~4 FT~4 ST~5 FT ~ 5 ST~6 FT~6 ST~7 FT~7 ST~8 FT~8 ST~9 FT~9 ST~10 FT~10 ST~11 FT~11 ST~12 FT ~ 12 ST~13 FT ~ 13 ST~14 FT~14 0
Figure 2 Fuzzy activity start and finish times in
SPT
~
Reference:[1] D.G. Malcolm, J.H. Roseboom, C.E. Clark and W. Fazar, Applications of a Technique for Research and Develpment Program Evaluation, Operations Research Vol.7, 1959, pp.646-669.
[2] C. Carlsson, On the Relevance of Fuzzy Sets in Management Science Methodology, TIMES/ Studies in the Management Sciences 20,1984,
pp.11-28, Eds. H. -J. Zimmermann, L. A. Zadeh and B. G. Gaines, Elsevier Netherlands.
[3] M. Garey and D. Jonhon, Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, SanFrancisco, CA, 1979.
[4] J. Blazewicz, J.K. Lenstra and A.G.H. Rinnooy Kan, Scheduling Subject to Resource Constraints:
Classification and Complexity. Discrete Applied Mathematics, Vol.5, 1983, pp.11-24.
[5] R. Alvarez-Valdes and J.M. Tamarit, Heuristic Algorithms for Resource-constrained Project Scheduling: A Review and Empirical Analysis, In
Advances in ProjectScheduling, Eds. R. Slowinski and J. Weglarz, 1989, pp.113-134, Elsevier, Amsterdam.
[6] R. Kolisch, Efficient Priority Rules for the Resource-constrained Project Scheduling Problem,
Journal of Operations Management Vol.14, 1996, pp.179-192.
[7] H. Prade, Using Fuzzy Set Theory in A Scheduling Problem: A Case Study, Fuzzy Sets and Systems,
Vol.2, 1979, pp.153-165.
[8] S. Chanas and J. Kamburowski, The Use of Fuzzy Variables in PERT, Fuzzy Sets and Systems, Vol.5, 1981, pp.11-19.
[9] C.S. McCahon and E.S. Lee, Project Network Analysis with Fuzzy Activity Times, Computers & Mathematics with Applications, Vol.15, 1988, pp.829-838.
[10] H.J. Rommelfanger, Network Analysis and Informatiom Flow in Fuzzy Environment, Fuzzy Sets and Systems, vol.67, 1994, pp.119-128. [11] C.C. Fu and H.F. Wang, Fuzzy Resource
Allocations in Project Management When Insufficient Resources Are Considered, Soft Computing in Intelligent Systems and Information Processing,pp.290-295, 1996 IEEE, New York. [12] R.J. Willis, H. Pan and C-H. Yeh,
Resource-constrained Project Scheduling under Uncertain Activity Duration, The Proceedingd of the 1999 International Conference on Computational Intelligence for Modelling, Control and Automation, pp.429-434, Ed. M. Mohammadian, 1999.
[13] M. Hapke, A. Jaszkiewicz and R. Slowinski, Interactive Analysis of Multiple-criteria Project Scheduling Problems, European Journal of Operational Research, Vol.107, 1998, pp.315-324. [14] P. Lorterapong, A Fuzzy Heuristic Method for
Resource-constrained Project Scheduling, Project Management Journal, Vol.25, 1994, pp.12-18. [15] M. Hapke and R. Slowinski, Fuzzy Priority
Heuristics for Project Scheduling, Fuzzy Sets and
Systems, Vol.83, 1996, pp.291-299.
[16] L.A. Zadeh, Fuzzy Sets as A Basis For A Theory of Possibility. Fuzzy Sets and Systems, Vol.1, 1978, pp.3-28.
[17] G.J. Klir and B. Yuan, Fuzzy Sets and Fuzzy Logic: Theory and Applications, Prentice Hall PTR, New Jersey, 1995.
[18] G. Bortoland and R. Degani, A Review of Some Methods for Ranking Fuzzy Subsets. Fuzzy Sets and Systems,Vol.15, 1985, pp.1-19.
[19] C-H. Cheng, A New Approach for Ranking Fuzzy Numbers by Distance Method, Fuzzy Sets and Systems, Vol.95, 1998, pp.307-317.
[20] D.F. Cooper, Heuristics for Scheduling Resource-constrained Projects: An Experi- mental Investigation. Management Science, Vol.22, 1976, pp.1186-1194.
[21] F.F Boctor, Some Efficient Multi-heuristic Procedures for Resource-constrained Project Scheduling, European Journal of Operational Research, Vol.49, 1990, pp.3-13.
[22] C.E. Bell and J. Han, A New Heuristic Solution Method in Resource-constrained Project Scheduling, Naval Research Logistics, Vol.38, 1991, pp.315-331.
[23] S.E. Sampson and E.N. Weiss, Local Search Techniques for the Generalized Resource Constrained Project Scheduling Problem, Naval Research Logistics, Vol.40, 1993, pp. 365-375. [24] O. Oguz and H. Bala, A Comparative Study of
Computational Procedures for the Resource Constrained Project Scheduling Problem, European Journal of Operational Research, Vol.72, 1994, pp.406-416.
[25] J.E. Kelley, The Critical-path Method: Resources Planning and Scheduling Industrial, Scheduling,
Eds J. F. Muth and G. L. Thompson, pp.347-365, Prentice-Hall, New Jersey, 1963.
[26] D.D. Bedworth and J.E. Bailey, Integrated Production Control Systems - Management, Analysis, Design. Wiley, New York, 1982.
[27] E.W. Davis and J.H. Patterson, A Comparison of Heuristic and Optimal Solution in Resource-constrained Project Scheduling, Management Science, Vol.21, 1975, pp.944-955.