-
Fuzzy Resource-Constrained ProjectScheduling Using Taboo Search AlgorithmOmer Atli,1 Cengiz Kahraman21Aeronautics and Space Technologies Institute, Turkish Air Force AcademyYesilyurt, Bakirkoy, Istanbul 34149, Turkey2Department of Industrial Engineering, Istanbul Technical University, Macka,Istanbul 34367, Turkey
This paper proposes a mathematical model to deal with project scheduling problem under vague-ness and a framework of a heuristic approach to fuzzy resource-constrained project schedulingproblem (F-RCPSP) using heuristic and metaheuristic scheduling methods. Our approach is verysimple to apply, and it does not require knowing the explicit form of the membership functions ofthe fuzzy activity times. We first identify two typical activity priority rules, namely, resource overtime and minimum slack priority rules. They are used in the F-RCPS problem and in the initialsolution of Taboo search (TS) method. We improved the TS algorithm method for the solutionof F-RCPSP. Our objective is to check the performance of these rules and metaheuristic methodin minimizing the project completion time for the F-RCPS problems. In our study, we use trape-zoidal fuzzy numbers (TraFNs) for activity times and activity-on-nodes (AON) representation andcompute several project characteristics such as earliest, latest, and slack times in terms of TraFNs.The computational experiment shows that the performance of the proposed TS is better than theevaluation and light beam search algorithms in the literature. C 2012 Wiley Periodicals, Inc.
1. INTRODUCTION
Scheduling is deemed to be one of the most fundamental and essential basesof the project management science. With the globalization of the market econ-omy, competition between enterprises is becoming increasingly fierce; the sizesof projects are becoming increasingly large and the requirements of the projectmanagement are becoming increasingly high. The three variables plan and controlactivities, resources, and time effectiveness are the keys to ensure the project success.Project scheduling problem (PSP) as the core content of project management hasbeen extensively studied in recent decades, but its complexity, dynamic random-ness, fuzziness, and multiobjective attributes have not yet solved by a systematicmethod or theory. There is a big gap between the theoretical research and practical
Author to whom all correspondence should be addressed: e-mail: [email protected]: [email protected].
INTERNATIONAL JOURNAL OF INTELLIGENT SYSTEMS, VOL. 27, 873907 (2012)C 2012 Wiley Periodicals, Inc.View this article online at wileyonlinelibrary.com. DOI 10.1002/int.21552
-
874 ATLI AND KAHRAMAN
application of PSP. This paper discusses the F-RCPS problems that exist widely inconstruction, software development, aircraft and ship manufacturing, designing acomputer system, planning a military invasion, introducing a new product, and othersingle- or small-batch production mode of the enterprise.
In the real world, many RCPS problems are often inherently uncertain dueto the vagueness of activity duration times. This uncertainty should be consideredin many realistic RCPS approaches. Traditionally, the uncertainty was handled bystochastic approaches using a probabilistic-based program evaluation and reviewtechnique (PERT) method. This kind of uncertainty is associated with randomness.However, in many situations, it is impossible to get the distribution of probabil-ities of activity duration times because such projects may not have been carriedout previously. The duration times have to be estimated by a Decision-Maker orProject Manager (DM/PM). Such human expertise often includes ambiguous infor-mation, which cannot be modeled using the probabilistic approaches. Some stochas-tic scheduling models are usually computationally too expensive and theoreticallytoo complex. Therefore, it is difficult to apply them for solving practical schedulingproblems. During project execution, however, duration time of project activities isalways vague in practice. Traditionally, the vagueness of activity duration time isassumed as randomness in PSP. However, sometimes activity duration time cannotbe described as a random variable. For instance, probability distributions for someactivity duration may be unknown due to the lack of statistical data. In this case,the fuzzy set theory may be a useful tool to study the PSP. However, little researchhas been performed on extending the RCPS problem with the fuzzy set theory. Afundamental approach to solve these problems is to apply fuzzy sets. Introductionof the fuzzy set theory by Zadeh in 1965 opened promising new horizons to dif-ferent scientific areas such as project scheduling. Fuzzy theory, with presumingimprecision in decision parameters and utilizing mental models of experts, is anapproach to adapt scheduling models into reality. The fuzzy set theory has provento be an effective way of handling such vague information. In addition, F-RCPSproblems are one of the nondeterministic polynomial time (NP)-hard classes due tothe complexity of the combinatorial nature. 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 F-RCPSproblems.
Traditionally, PERT, the critical path method (CPM), mathematical program-ming methods and heuristics have been applied to solve PM decision problems. Inparticular, when any of these models are used, the goals and model inputs are typi-cally assumed to be deterministic/crisp. In real-life PM decision problems, the inputdata or model parameters, such as resource demands and related cost coefficientsof the objective function and constraints, are frequently imprecise/fuzzy becausesome related information is incomplete or unavailable. Conventional heuristics andmathematical programming schemes clearly cannot solve all fuzzy programmingproblems. Hence, a new procedure based on Taboo search algorithm (TSA) andpriority heuristics is also developed for efficiently determining these decision vari-ables. In this method, activity duration times are described as fuzzy variables andresource-constrained software project or product scheduling problems are described
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 875
as fuzzy programming problems. A new optimal F-RCPS model is proposed inthis paper. The fuzzy set theory is used to model the uncertainties of activity du-rations. A Taboo algorithm-based searching technique is adopted to search for thefuzzy optimal project duration under resource constraints. Most of RCPSP be-longs to NP-hard problem and it is hard to solve. The deterministic/crisp RCPSPand also F-RCPSP consists of scheduling activities on renewable resources avail-able in limited quantities. A classical objective function consists of optimizing theend date of the project, while respecting at the same time the precedence con-straints between activities and the resource constraints, i.e., at every time, the sumof the resource consumptions for the activities in process should not exceed theresource capacity. The environment of the project is dynamic. There is a vari-ety of uncertainties that make the traditional project scheduling model no longerreliable.
In this paper, a real case of a project schedule is considered as a fuzzy RCPSproblem. Most of these activity duration times have to be estimated by the DM byusing his/her knowledge and experience. This method is developed based on a num-ber of assumptions and definitions in fuzzy sets and project scheduling. In the fuzzyproject network considered in this paper, we assume that the durations of activi-ties are represented by trapezoidal fuzzy numbers (TraFNs). As activity durationsare estimated by human experts, sometimes under unique circumstances, projectmanagement is often confronted with vague and imprecise judgmental statementsthat are. For example, the duration of an activity may be expressed as more than2 days and less than 5 days. In those situations, which involve imprecision ratherthan uncertainty, the fuzzy scheduling literature recommends the use of fuzzy num-bers for modeling activity durations, rather than stochastic variables. The projectcharacteristics such as fuzzy earliest times and fuzzy project completion time arecalculated as TraFNs by forward pass and backward pass in fuzzy environment.In this paper, we proposed a modified Taboo search algorithm (TSA) to solve theRCPSP under fuzziness. The proposed approach aims to minimize the total projectcompletion time. An extensive experiment was conducted and the computationalresults show that the algorithm is effective for the proposed problem when comparedwith other algorithms. The advocates of the fuzzy activity duration approach arguethat probability distributions for the activity durations are unknown due to the lackof historical data.
The rest of the paper is organized as follows. In Section 2, we present a wideliterature summary and gap analysis for fuzzy project scheduling. Section 3 describesthe details of the problem and the assumptions. Then we describe fuzzy arithmeticand fuzzy ranking methods. In Section 4, we briefly describe project scheduling andgive the extended fuzzy CPM/PERT approaches. Section 5 develops the fuzzy linearprogramming models and procedures for solving the fuzzy RCPSP. Section 6 coversthe fuzzy heuristic approach and the Taboo algorithm approach. Section 7 presentsan example of an electronic product development process. And then we discuss theresults and findings for the practical application of the proposed approach. Finally,in the last section, we present concluding remarks together with suggestions aboutfurther research.
International Journal of Intelligent Systems DOI 10.1002/int
-
876 ATLI AND KAHRAMAN
2. LITERATURE
Scheduling concerned with fuzziness is still a new and challenging field withonly a limited number of published papers. In the following, we briefly summarizethe related literature. A method that utilizes fuzzy sets in a project network analysisis presented by several researchers, for example, Dubois and Prade,13 Chanasand Kamburowski,4 Chanas,5 Chanas and Zielinski,6 Buckley,7 Mares,8 Gazdik,9McCahon and Lee,10 Tsujimura et al.,11 Slyeptsov and Tyshchuk,12 Liang and Han,13Chen and Hsueh,14 and Nasution.15,16
Dubois and Prade13 calculate the latest allowable start time in the backwardpass. They argue that the imprecision must accumulate and there is a risk of countingit twice in the course of calculating the latest allowable start time. The methodthat Chanas and Kamburowski4 developed is analogous to CPM or PERT, but,because activity durations are fuzzy sets on time space, they called the method fuzzyPERT. Its goal is to determine the fuzzy project completion time; thus there wasno mention of backward pass and identification of a critical path. Chanas5 statesthat the fuzzified backward pass cannot be performed. To execute the backwardpass, he proposes to initiate the calculation with independently fixed deterministicor fuzzy target time. He defines the degree of criticality of an event. Chanas andZielinski6 propose a method to undertake critical path analysis of the network withfuzzy. Mares8 introduce the fuzzification of not only durations of the activities, butalso the structure of the network. He also considers the general case, i.e., whenall components of the network are vague simultaneously. Gazdik9 hints at variousfuzzifications of the network; however, he does not elaborate, except for the fuzzyduration of the activity. No backward pass is performed. He suggests that the criticalpath be found by enumerating all possible paths. McCahon and Lee10 performforward and backward calculation and propose the application of the comparisonmethod, instead of using the extended max and extended min. Tsujimura et al.11consider the case where the triangular fuzzy numbers to be used in the networkwere supposed to be given by several experts; thus these numbers were greatlydifferent. For computation they determine, according to some criteria, the so-calledmajor and minor triangular fuzzy numbers for each activity time. Slyeptsov andTyshchuk12 present an efficient computation method of fuzzy times for the lateststart and finish times of operations in the fuzzy network problems. The fuzzy settheory is used to tackle problems where a source of vagueness is involved. Linguisticterms can be properly represented by the approximate reasoning of the fuzzy settheory.
A method that utilizes fuzzy sets in an F-RCPSP is presented by some re-searchers, for example, Hapke et al.,17 Hapke and Slowinski,18 Hapke andSlowinski,19 Lorterapong,20 Ozdamar and Alanya,21 Wang and Fu,23 Wang,24 andAtli and Kahraman.25 We summarize these works in the following.
The study of a fuzzy model of resource-constrained project scheduling (F-RCPS) was initiated in Hapke et al.17 and Hapke and Slowinski.18 They haveextended the priority rule-based serial and parallel scheduling schemes to deal withfuzzy parameters. Hapke and Slowinski18 applied 12 dispatching rules with thefuzzy set theory to generate a set of schedule and selected the schedule with the
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 877
minimum fuzzy makespan. Hapke and Slowinski19 discussed the application of sim-ulated annealing for solving the multiobjective fuzzy resource-constrained projectscheduling problem (F-RCPSP). Lorterapong20 presented heuristic-basedapproaches applying fuzzy sets to deal with fuzzy activity duration times of aproject. The procedure is an adaptation of the Pareto simulated annealing proceduredeveloped by Czyzak and Jaskiewicz22 for solving crisp multiobjective combina-torial problems. The procedure has been incorporated in an integrated softwarepackage.19 For details, we refer to Hapke and Slowinski.19 A typical problem wherethe use of fuzzy modeling is recommended by Ozdamar and Alanya21 is softwaredevelopment. A project involving the customization of a software application basedupon the needs of a client is unique and involves more risk compared to repeti-tive standard tangible projects. Ozdamar and Alanya21 illustrated the use of fourpriority-based heuristics: the standard minimum slack (MinSlack) rule, the latestfinish time rule, the maximum number of immediate successor rule and a minimumrisk rule on a case study. The authors mention that a fuzzy logic approach to activitymodeling will allow the project manager to be provided with a range of scenariosrather than a single one in the preplanning phase. As a second motivation for usingfuzzy numbers rather than stochastic variables, the authors note that they are dealingwith subjective evaluations of human behavior-related quantities. The authors usea six-point membership function, which allows for easy computation of the sum ofthe activity durations on a given path.26 This approach has the advantage of beingrobust, intuitive, and efficient in computation with respect to its NP-hardness.
The main efforts of Wangs paper are as follows: Wang24 proposed the conceptof schedule risk based on possibility theory3 and developed an efficient fuzzy beamsearch algorithm to determine the schedule with the minimum schedule risk. Theobjective of this research is to develop a robust scheduling methodology basedon the fuzzy set theory for uncertain product development projects. The imprecisetemporal parameters related to the project are represented by fuzzy sets. A measure ofschedule robustness based on qualitative possibility theory27 is proposed to evaluatethe schedule performance. The proposed approach provides an alternative way thatevaluates the risk of poor schedule performances for uncertain product developmentprojects. Wang24 developed a fuzzy set approach to schedule product developmentprojects having imprecise temporal information. The objective is to determine astart time for each activity such that the fuzzy ready time, deadline, precedence, andresource constraints are satisfied. As the constraints are fuzzy, they are flexible inthe sense that their satisfaction depending on the choice of start times are degreeswithin the range [0, 1]. In addition, it may not be possible to find an acceptableschedule that partially satisfies all the constraints. Wang developed a new methodbased on possibility theory to determine the satisfaction degrees for the constraints.A beam search procedure, based on the generation of groups of activities and thedelay of which resolves the resource conflicts (i.e., delaying alternatives28), thatselects only the most promising nodes at each level of the search tree (the so-calledbeamwidth) for further expansion is developed to produce a set of fuzzy start timesfor each activity. Then, the crisp start time of each activity is determined based onpossibility theory, to maximize the satisfaction degrees of all fuzzy constraints. This
International Journal of Intelligent Systems DOI 10.1002/int
-
878 ATLI AND KAHRAMAN
again illustrates our statement given above that a fuzzy schedule contains multiplecrisp schedules, the choice between which is at the discretion of management. Wangvalidated the procedure against a fuzzy version of the algorithm29 on 30, 60, and 90activity problems taken from the PSLIB test library.30
Atli and Kahraman25 used a resource allocation model to solve the PSP un-der fuzzy environment. They employed the uses of kangaroo algorithms and thefuzzy set theory to develop the F-RCPS model under uncertainty. They proposeda mathematical model to deal with PSP under vagueness and presented the frame-work of a heuristic approach to fuzzy RCPSP using a fuzzy parallel kangaroo andMinSlack scheduling method. We adopted the parallel kangaroo algorithm methodto F-RCPSP.
3. DEFINITIONS AND ASSUMPTIONS
In this section, some basic notions of the area of fuzzy theory that have beendefined by Dubois and Prade3 and Zimmermann31 are introduced. Then, projectnetwork is defined as a directed and acyclic graph under fuzziness. A fuzzy setcan be mathematically constructed by assigning to each possible individual in theuniverse of discourse a value representing its grade of membership in the fuzzyset. This grade corresponds to the individuals similarity to the concept representedby the fuzzy set. The fuzzy number A is a fuzzy set whose membership func-tion A(x) satisfies the following conditions: (i) A(x) is piecewise continuous; (ii) A(x) is a convex fuzzy subset; and (iii) A(x) is the normality of a fuzzy subset,implying that for at least one element x0 the membership grade must be 1, i.e., A(x0) = 1.
DEFINITION 1. Let R be the space of real numbers. A fuzzy set A is a set of orderedpairs{(x, A(x))|x R}, where A(x) : R [0, 1] and is upper semicontinuous.Function A(x) is called membership function of the fuzzy set.
DEFINITION 2. A convex fuzzy set, A, is a fuzzy set in which: x, y R, [0, 1], A (x + (1 ) y) min
[ A(x), A (y)
].
DEFINITION 3. A fuzzy set A is called positive if its membership function is such that A(x) = 0, x 0.
DEFINITION 4. TraFN is a convex fuzzy set, which is defined as: A = (x, (x)).Let a TraFN A be represented as a fuzzy number with membership function in
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 879
Figure 1. TraFN for project network activity.the form
A(x) =
x ab a , a x < b,1, b x < c,d xd c , c x < d,0, otherwise
(1)
is called a TraFN A = (a, b, c, d). Then for convenience, TraFN represented byfour real parameters a, b, c, d (a b c d) will be denoted by a trapezoidal(a,b, c, d) (see Figure 1).
DEFINITION 5. A TraFN A(a, b, c, d) is called positive TraFN if: (0 a b c d)
Centroid ( A) = (c2 + d2 + cd) (a2 + b2 + ab)
3[(c + d) (b + a)] . (2)
A TraFN may be represented by means of combinations of two triangular fuzzynumbers ( A1 and A3) and a single rectangular fuzzy number ( A2) (Figure 2).
We may write
Centroid ( A1) = a + 2b3 (3)
Centroid ( A3) = 2c + d3 (4)
Centroid ( A2) = b + c2 (5)
The value of centroid ( A) may be calculated by means of Equations 35.
3.1. Operation on TraFNs and Fuzzy Arithmetic
Dubois and Prade3 defined a number of operations on TraFNs. The followingare employed operations in the development of the proposed method. The most
International Journal of Intelligent Systems DOI 10.1002/int
-
880 ATLI AND KAHRAMAN
1
0 a b c d x
2A
3A1A
A
( )A X
Figure 2. Membership function of TraFN A.
often used formulas of addition, subtraction, maximum, and minimum are in thefollowing, and suppose that two TraFNs are defined as A = (a1, a2, a3, a4) and B =(b1, b2, b3, b4). Applying the extension principle, the extended algebraic operationsof any two fuzzy activity times (FATs) are expressed as
Fuzzy addition: A B = (a1, b1, c1, d1) (a2, b2, c2, d2)
= (a1 + a2, b1 + b2, c1 + c2, d1 + d2) (6)
Fuzzy subtraction: A B = (a1, b1, c1, d1) (a2, b2, c2, d2)
= (a1 d2, b1 c2, c1 b2, d1 a2) (7)
Fuzzy maximum: max{ A, B} = [max{a1, b1}, max{a2, b2},
max{a3, b3}, max{a4, b4}] (8)
Fuzzy minimum: min{ A, B} = [min{a1, b1}, min{a2, b2},
min{a3, b3}, min{a4, b4}] (9)
A fuzzy algebra with i-level cut method, instead of fuzzy subtraction method,is proposed to avoid the inflation and unreasonable negative completing time. LetBi Ci = Ai to find Ci .
Bi Ci = [biL + ciL , biR + ciR ] = Ai = [aiL , aiR ], i [0, 1] (10)Ci = [aiL biL , aiR aiR ] (11)
The result of max{ A, B} and min{ A, B} from previous maximum operator for-mula is still a TraFN, but the real membership function of max{ A, B} and min{ A, B}may not be a TraFN anymore. In this paper, max i-level cut method is proposed to
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 881
Figure 3. Maximum Result of Ri = maxiP
[Ai1 ,
Ai2 ,
Ai3].
obtain more reasonable membership of earliest starting times and latest completingtimes. The operators are defined as
max{ Ai , Bi } = [max {aiL , biL }, max {aiR , biR }], i [0, 1] (12)min{ Ai , Bi } = [min {aiL , biL }, min {aiR , biR }], i [0, 1] (13)
Suppose m fuzzy numbers are Am, m = 1, 2, . . .M , the membership valuesof Am at i-level cut will be Aim = [ AimL, AimR], i [0, 1], m = 1, 2, 3, . . . ,M.Comparing all i-level cut values of Am fuzzy numbers at i-level and takingthe maximum value at each i-level cut. The set of maximum value is Ri =[ RiL , RiR ] = max
m{1,2,...,M}iP[ AimL, AimR]. An example of max i-level result Ri
with three fuzzy numbers is illustrated in Figure 3.
3.2. Ranking Trapezoidal Fuzzy Numbers
The ranking of fuzzy numbers is another important issue in the scheduling.Although many ranking methods have been proposed to date, there is no singleapproach that can produce a satisfactory result in every situation: some may generatecounter intuitive results and others are not discriminative enough.18 Ranking fuzzynumbers applied in fuzzy CPM/PERT are used to determine the earliest startingtime. Techniques for ranking fuzzy numbers are abundant in the literature.4 Let A =(a1, a2, a3, a4) and B = (b1, b2, b3, b4) are two TraFNs. If a1 b1, a2 b2, a3 b3, and a4 b4, the ranking of A and B is said that A is strongly greater than B. If oneof these four inequalities is not true, the comparison rule has to take the advantage ofweak comparison rule (WCR). The rule is so-called defuzzifying ranking method.But using a defuzzifying ranking method to obtain the maximum fuzzy number,the comparison result is the maximum value of fuzzy numbers participating incomparison. It cannot fully express the character of two or more fuzzy numbers. In
International Journal of Intelligent Systems DOI 10.1002/int
-
882 ATLI AND KAHRAMAN
this study, we propose max i-level cut method. The result of this method seemsto be more reasonable than the defuzzying ranking method. Ranking methods areessential in fuzzy CPM (FCPM). Many methods of ranking fuzzy numbers havebeen proposed. However, certain shortcomings in some of those methods have beenreported in the literature. In those methods, the membership function should beknown. Our approach is very simple to apply, and it does not require knowing theexplicit form of the membership functions of the FATs. This section is about rankingtwo fuzzy numbers. For two real numbers, there is no problem in ordering themfrom smallest to largest. However, in the fuzzy case there is no universally acceptedway to do this. There are probably more than 40 methods proposed in the literatureof A B defining, for two fuzzy numbers A and B. A few key references on thistopic are given in Yager.32 He proposed a procedure for ordering fuzzy sets, inwhich a ranking index I (t) is calculated for the convex fuzzy number t from its cut t = [t l, tu ] according to the following formula:
I (t) = 1
0
12(t l + tu
)d (14)
For ranking fuzzy temporal parameters, it is required to compare fuzzy temporalparameters to generate a feasible schedule. For example, the start time assignmentfor an activity should satisfy the precedence constraints; i.e., the value that canbe assigned to the start time of an activity should be greater than or equal to thefinish times of all its predecessors. A number of approaches have been developed todetermine the ranking order between two fuzzy numbers in the literature.33,34 Thispaper applies the approach developed by Liou and Wang35 to derive the order amongfuzzy temporal parameters, due to its discriminating ability. It is also particularly easeof computation for the TraFN. Let Ai = (aij , bij , cij , dij ) be the FAT of activityAi .The DMs risk attitude index can be obtained by
=
i
j
(bij aij
)(bij aij
)+ (dij cij )AijACT
/t (15)
where ACT and t denote the set of all activities and the number of activities in anetwork. For a fuzzy number Ai with membership functions fAi (x), we define,
mi = min{x|fAi (x) = 1} + max{x|fAi (x) = 1} (16)
which is the center of the mean value of t . Considering two fuzzy numbers A andB, the case of I ( A) I ( B) shows that A B, and then max ( A, B) = A.
Where Ai and Aj are any fuzzy numbers in the set, the comparison of fuzzy nu-mbers has the following properties when obtaining ranking indices by Equation 14:
If R( Ai) > R( Aj ) Ai > Aj (17)International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 883
If R( Ai) = R( Aj ) Ai = Aj (18)If R( Ai) < R( Aj ) Ai < Aj (19)
Then, the ranking value R (Ai) of the TraFN Ai can be obtained as follows:
R(Ai) = [ (di x1)
(x2 x1 ci + di)]+ (1 )
[1 (x2 ai)(x2 x1 + bi ai)
](20)
where is the DMs risk attitude index, x1 = min{a1, a2, . . . , an} and x2 = max{d1,d2, . . . , dn}. by using Equation 15 and taking the value calculated by Equation 20.One can easily calculate the ranking values of n TraFNs. On the basis of the rankingrules described above, the ranking of n TraFNs can then be effectively determined.
3.3. The Weak Comparison Rule
Assume that the expert expresses his/her optimistic and pessimistic informationabout parameter uncertainty on some prominent membership levels:
= 1; (x) = 1 Value x certainly belongs to the set of possible values; = ; > The expert estimates that value x with (x) has a good chance of belonging to the
set of possible values; = ; (x) < Value x with (x) < has a very small chance of belonging to the set of possible values;
i.e., the expert is willing to neglect the corresponding values of x with (x) < .
A TraFN defined as in Equation 1, i.e., A = {(x, A(x))|x X} where A isthe membership function of A is a special kind of a fuzzy set defined as a normalizedconvex fuzzy subset of real line R, i.e., X = R. Using the four-point convention, aTraFN A is then represented by the following list of symbols.
Let A = (a1, a2, a3, a4) and B = (b1, b2, b3, b4) be fuzzy numbers and letSL( A B), SR( A B), SL( A B).SR( A B) be the areas determined by theirmembership functions (Figure 4):
SL( A B) =U ( A, B)
( infxR
A infxR
B)d (21)
SR( A B) =V ( A, B)
(supxR
A supxR
B)d (22)
where
U ( A, B) = {| infxR
A infxR
B, 0 1} (23)
V ( A, B) = {| supxR
A supxR
B, 0 1} (24)
SL( A B) and SR( A B) have similar definitions. SL( A B) and SR( A B)are the areas that are related to the possibility of A B, where A and B arepotential realizations of A and B. The degree to which A B, denoted asC( A B),
International Journal of Intelligent Systems DOI 10.1002/int
-
884 ATLI AND KAHRAMAN
( )x
( )LS A B ( )RS A B
( ) .LS B A R ( )S B A
A B
1a 2a 3a 4a1b 2b 3b 4b
1 =
0 =
Figure 4. The comparison of two TraFNs based on area compensation.
is computed as the sum of the areas in which A B minus a sum of areas in whichA B (Figure 4).
In the WCR, the degree C( A B) is defined as
C( A B) = 12 {SL( A B) + SR( A B) SL( B A) SR( B A)} (25)
It is now possible to define weak inequality, strict inequality, and equivalencebetween fuzzy numbers:
A B iff C( A B) 0 (26)A > B iff C( A B) > 0 (27)A B iff C( A B) = C( B A) = 0 (28)
Obviously, C( A B) = C( B A). Fortemps (1997) showed that the degreeC( A B) can be computed as
C(A B) = ( A) ( B) = E(A) + E( A)
2 E(
B) + E( B)2
(29)
where the mean value of a fuzzy number A is the interval E( A), E( A), E( A)and E( A) are the mean values related to the cumulative possibility function (leftspread), and to the cumulative necessity distribution (right spread), respectively. Thedefuzzification function ( A) for fuzzy number A in the four-point representation
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 885
x
1
0
( )x 1f 2
1t
Figure 5. Example of an infeasible fuzzy schedule.
can be computed as follows18:
( A) = 14(1 ) {( )(a1 + a4) + (1 )(a2 + a3)} (30)
3.4. The Strong Comparison Rule
Hapke and Slowinski19 give the following example to illustrate that the WCRmay lead to an unfeasible fuzzy schedule. Assume that the scheduling procedureconsiders an allocation of a resource to activity 2 in its ready time 2. Activity2 has a single predecessor activity 1, completed in f1. The WCR for checking ifactivity 1 has been completed by ready time 2 would yield the relation 2 f1 tobe true. For a very pessimistic realization of the duration of activity 1 (beyond t1),the resulting schedule would be infeasible because activity 2 would start before itspredecessor activity 1 was completed, a violation of the precedence constraints. Asa result activity 2 cannot be scheduled at 2 (see Figure 5). The strong comparisonrule (SCR) specifies that A = max ( A, B) = A.
4. PROJECT SCHEDULING AND THE EXTENDED FUZZY CPMAPPROACH
In this PSP, some major assumptions are made as follows: A project has itemsof N activities. The precedence or succeed relations for each activity are available.Resources quantity K for each activity is available. DM can get the informationabout the capacity of resources. The fuzzy operation time of each activity can berepresented as a TraFN, A = (a1, a2, a3, a4). The traditional CPM is an effectivetool frequently used to identify a critical path of a project while solving F-RCPS
International Journal of Intelligent Systems DOI 10.1002/int
-
886 ATLI AND KAHRAMAN
problems. In the fuzzy CPM, fuzzy operations are employed to calculate the fuzzyearly start (FESTi) and the fuzzy late completion (FLCTi) times of an activity Aithrough the forward and backward pass in the project network. The CPM techniqueprovides for the computation of the network critical path, which consists of thesequence of project activities that determine the minimum required project time. Toidentify the critical path, first three characteristics of each event are determined: theearliest expected start time in the forward pass (from start toward end event); thelatest allowable start time TLi in the backward pass (from end toward start event);and the slack (float) of each event i. The slack of an event i is the possible delay inthe realization of event i that causes no delay in total project duration. The criticalpath is the path from start event to end event where the slacks of the events are allzeros. An increase in the duration of any activity along the critical path will certainlyincrease the total project duration. Besides event slack, the slack can be calculatedfor activity a = (i, j). Each of the events i and j of activity (i, j) possesses two possibletime values. Therefore, four relations are possible. Two of them are the total slackand free slack. The total slack is calculated as the amount of time the activity can bedelayed without impacting the latest allowable start time of subsequent activities.The free slack is calculated as the amount of time the activity can be delayed withoutimpacting the early start time of subsequent activities.
In this section, we use the extended fuzzy CPM/PERT approach to createthe computing procedure model project scheduling and risk index. The most oftenused operators for fuzzy PERT are addition, subtraction, maximum, minimum, andranking. Addition operator is applied to calculate the earliest completing times andoverall project completing time. Subtraction operator is used to compute the lateststarting and completing times. Maximum operator is applied for earliest starting andcompleting times. Minimum operator is applied for latest starting and completingtimes.
In this study, the FAT, denoted by FATi , of activity Ai in a project network isrepresented by the TraFN FATi = (aij , bij , cij , dij ), where aij and dij are minimumand maximum values of assessing activity time for Ai , whereas bij and cij are thefirst quartile and third quartile of activity time for Ai . If there is only one set of fourhistorical data, then aij , bij , cij , and dij can be sorted from minimum to maximum.Conversely, if one has no further information with respect to activity Ai , the FATFATi = (aij , bij , cij , dij ) can be evaluated subjectively by the DM based on his/herknowledge, experience, and subjective judgment. We will first give the notation:N The set of all nodes in a project network.Ai The activity node i.FATi The FAT ofAi .FESTj The earliest start fuzzy time of node j.FECTj The earliest completion fuzzy time of node j.FLSTj The latest start fuzzy time of node j.FLCTj The latest completion fuzzy time of node j.FTSi The total slack fuzzy time ofAi .S(j ) The set of all successor activities of node j.NS(j ) The set of all nodes connected to all successor activities of node j, i.e., NS(j ) = {k|Ajk
S(j ), k N}.
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 887
P (j ) The set of all predecessor activities of node j.NP(j ) The set of all nodes connected to all predecessor activities of node j, i.e., NP (j ) = {i|Aij
P (j ), i N}.PTi The ith path.PT The set of all paths in a project network.FCPM(Pk) The total slack fuzzy time of path Pk in a project network.
The important properties and theorem used in the fuzzy CPM are briefly in-troduced in the following. Set the initial node to zero for starting, i.e., FESTS =(0, 0, 0, 0) . In this study, we use AON representation for F-RCPS (Atli andKahraman 25). The computing procedure model is as follows:PROPERTIES 1a. Compute the earliest starting fuzzy time for each activity (FEST).The important properties of FCPM are as follows. First we set the initial arc tozero for starting, i.e., FESTS = (0, 0, 0, 0). Then, the following properties are true.Suppose there are N items in total project network, the first starting item is sand last completing item is e, the earliest starting time with a TraFN for item isFESTS = (0, 0, 0, 0). The earliest starting fuzzy time for each activity n is
FESTj = max{FESTi FATij |i NP (j ) , j = 1, j N
} (34)PROPERTIES 1b. Compute the earliest completing fuzzy time for each activity FECTi .We apply the equation FECTi = FESTi FATi , to compute the earliest completingfuzzy time for activity n.
FECTi = FESTi FATi (35)
PROPERTIES 2a. Compute the latest completing fuzzy time for each activity (FLCTj ).
To avoid the fuzzy number extending and unreasonable negative value afterfuzzy number subtraction operator, fuzzy algebra method is proposed to instead offuzzy subtraction method for computing the fuzzy latest dates of each activity.
FLCTj = min{
FLCTkFATjkk NS(j ),j = n, j N
}(36)
PROPERTIES 2b. Compute the latest starting fuzzy time for each activity (FLSTj ).Here, also use fuzzy algebra method to compute the latest starting fuzzy time foreach activity. The computing procedures are
FLSTj = FLCTjFATj (37)
We have computed the overall completing fuzzy time of total project. Theearliest and latest completing fuzzy time is the same for the last item activity in
International Journal of Intelligent Systems DOI 10.1002/int
-
888 ATLI AND KAHRAMAN
project. The latest fuzzy completing time of the end item activity is based on theformula of forward method.
PROPERTIES 3. Compute the total slack fuzzy time for each activity (FTSij ).
FTSij = FLCTj(FESTi FATij ), 1 i < j n; i, j N (38)
FTSj = FLCTjFECTj = FLSTjFESTj (39)
PROPERTIES 4. Compute project scheduling risk index (PSRI). The definition of PSRIis the possibility which overall project completing fuzzy time is longer than projectcontract time. The relationship between the overall project completing fuzzy timeand project contract time is shown. We have derived the overall project completingfuzzy time. If project contract time is a crisp value, the PSRI can be computed asfollows:
FCPM(PK ) =
1 i < j ni, j PK
FTSij , PK PT (40)
In a project network, a path PC such that
FCPM(PC) = min{FCPM(PTi)|PTi PT} (41)
is a fuzzy critical path. In this section, a fuzzy critical path algorithm is utilized tofind a critical path of a project network in a fuzzy environment. The flowchart of thealgorithm is presented in Figure 6.
5. FUZZY RESOURCE-CONSTRAINED PROJECTSCHEDULING PROBLEM
While solving the F-RCPS problem, the following assumptions are taken intoconsideration: The processing time of each activity should be predefined. All theproject activities and specified project completion time are imprecise/fuzzy. A singleproject consists of a number of activities with fuzzy duration. The DM has alreadyadopted the pattern of TraFNs that determine the specified project completion timefor all activities. The precedence relationship among the activities should be fol-lowed, i.e., any activity cannot be completed without performing its precedence ac-tivity. The precedence relationship shows the relation between two activities, whichare predecessor and successor to each other. The maximum numbers of resourcesavailable should be predefined in limited quantities but renewable from period toperiod. Activities cannot be interrupted because there is only one execution modefor each activity. The main objective is to minimize the project duration. The mainobjective is to minimize the completion time or the makespan of the project.
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 889
START
Identify activities in project.
Establish precedence relationships of all activities.
Estimate the fuzzy activity time with respect to each activity by DM.
Construct project network.
Read Dataj = 1,2,3...Jr = 1,2,....,R
S( j ), S( j,s ), d( j ), K( r ), K( j,r )
Calculate project risk indeks for fuzzy CPM algorithm
Calculate Fuzzy CPM ValuesFEST, FECT, FLST, FLCT, FST
(SLACK)
Identify Critical and Non-Critical Activities and
Project Fuzzy Makespan
End
Figure 6. Fuzzy critical path algorithm.
5.1. Mathematical Formulation of F-RCPSP Model
In F-RCPSP, the activities are interrelated by two kinds of constraints. First,the precedence constraints which force an activity not to be started, before all itspredecessors have been finished. Second, processing of the activities is subject to theavailability of resources with limited capacities. While being processed, the activityj in project requires k units of resource k K during every period of its processingfuzzy time pj . Resource type k has a limited availability rjk at any point in time.Parameterspj , rjk,and k are assumed to be nonnegative, and all are integer. For the
International Journal of Intelligent Systems DOI 10.1002/int
-
890 ATLI AND KAHRAMAN
start and end activities of a project, we have p0 = pn+1 = 0r0,k = rn+1,k = 0
}for all j I, where
i stands for node,jstands for activity index, and r stands for resource index. In thisformulation, the use of a dummy start as well as a dummy end activity is assumed.The set St denotes the set of activities that are in progress at time t . The study of anF-RCPS has been initiated in Hapke et al.36 and Hapke and Slowinski.16 They haveextended the priority rule-based serial and parallel scheduling schemes to deal withfuzzy parameters. Let us introduce some required notation:t Current time instant at which the allocation of resources to an activity is considered.A Set of activities to be scheduled.i Fuzzy ready time of activity i A.d Fuzzy duration of activity i A.s Fuzzy start time of activity i A.fi Fuzzy finish time of activity i A.E(t) Set of eligible activities at time t , i.e., the set of activities that have not yet been scheduled and
whose immediate predecessors have been completed by time t .E, (t) The subset of set E(t) of activities for which t , i.e., which are not ready at time t .S(t) The set of activities for which sl = t , i.e., which have been scheduled before (the notation
= refers to the strong comparison rule that was discussed in Section 3.4); setB = { fi : i S(t)} {i : i E, (t)}.
l The smallest value from the set B based on weak fuzzy number comparison.pj The processing time of activity j in project.rjk The scheduling activity j in project consuming resource units per period from resource k.k The maximum limited resource k only available with constant period availability.S The set of activities being in the progress in period p.
The definition of lis in terms of the WCR for comparing two fuzzy numbers.19We discuss the WCR in the previous section. The fuzzy time t moment is calculatedas the maximum over the current tand the least value l from the set B in the senseof the WCR. This is done to ensure feasibility of the schedule. Indeed, Hapke andSlowinski19 showed that the so-called strong comparison rule (SCR) must be appliedto ensure feasibility of schedules for every realization of fuzzy time parameters. TheSCR and an example showing that the application of WCR may lead to infeasibilitiesare given in Section 2. The mathematical models for the F-RCPSP can be stated asfollows:
Min
Ht=1
txn+1,t (42)
subject toHt=1
txj t + pi Ht=1
txit 0 (43)
nj=1
rjk
t+pi1u=t
xju
k(44)
Ht=1
xjt = 1 forj = 1, . . . , n (45)
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 891
H =v
j=1pj (46)
xjt ={1, If activity j finishes at time instant t
0, otherwise(47)
It should be clear to the reader that there is an immediate link between thebinary decision variables and the completion times of the activities. The finishingtime of activity j can be calculated by Equation 47. The objective function givenby Equation 42 seeks to minimize the total project time that is the sum of thecompletion time for all activities. It minimizes the completion time of the dummyend activity and thus the completion time of the project. Equation 45 specifies thatonly one completion time is allowed for every activity, which must lie in the intervalbetween the earliest and latest finishing time. The precedence constraints are givenby Equation 44. The completion time of any activity cannot exceed the start time(completion time minus duration) of its successor. The resource constraints for everyresource type k are specified in Equation 44 by considering for every time instant tand every resource type k, all possible completion times for all activitiesj such thatthe activity is in progress in period t . The weighted sum of the corresponding decisionvariables should not exceed the resource availability. The constraints in Equation 42are referred to limit the resource demand imposed by the activities being processed attimep to the available capacity. The constraints in Equation 43 are used to impose theprecedence relations between activities. In formulation 4247, xjt are 01 variables,which specify whether activity j finishes at time t or not. More specifically, for eachactivity j and for every feasible completion time t [EFTj , LFTj ], xjt is defined.The variable xjt can only be defined over the interval between the earliest and latestfinishing time of the activity under consideration. These limits are determined usingthe traditional forward and backward pass calculations. The backward pass recursionis started from a project length of T , which equals a feasible project length (e.g.,determined by any of the heuristic procedures).
5.2. Heuristics Based on Priority Rules
5.2.1. A Fuzzy Parallel Scheduling Procedure for Solving Problemm, 1||cpm, dj , j | Cmax Based on Priority Rules
For deterministic/crips RCPS problems heuristics based on priority rules havebeen tested by many researchers. However, there is no single priority heuristic thatalways gives a better result in every scheduling situation. It is useful to apply a setof priority rules simultaneously, to select the best result among them. In the scheme,two (resource over time, ROT and MinSlack) popular priority rules are employed,taking into account time, resources, and the successors of current scheduled activity.To employ these rules, the fuzzy early and late start times, and the fuzzy earlyand late finish times for each activity can be calculated by Equations 3440. Theheuristic methods for solving F-RCPS problems can be generally divided into serialand parallel. The serial approach derives its name from the fact that activities are
International Journal of Intelligent Systems DOI 10.1002/int
-
892 ATLI AND KAHRAMAN
considered sequentially. The parallel approach considers in one moment all theactivities, which could be scheduled in that moment. In both approaches, the orderin which the activities are considered for scheduling is defined by a priority list.The main difference between them is the way of solving the resource conflicts. If anactivity cannot be scheduled in moment because of resource constraints, the serialprocedure looks for the earliest moment in which all the required resources areavailable. In the same situation, the parallel procedure takes another activity readyfor scheduling, with the next highest priority and tries to schedule it in momentt . Because of usually better performance, our interest is focused on the parallelprocedure. However, to extend scheduling procedures on fuzzy time parameters, oneshould solve the question how to determine the sequence of fuzzy time moments inwhich new activity (activities) is (are) to be considered for scheduling. It should bestressed that our goal is to construct a procedure that would give feasible schedulesfor every realization of fuzzy time parameters.
5.2.2. Starting Solution of the Resource-Constrained Scheduling Basedon the TS Method
In the only two kinds of methods presented here, research takes the heuristicmethod MinSlack as the starting solution of the resource constraint/allocation for theTS method. A simple heuristic method is generally used as the starting solution ofthe TS method, such as MinSlack LFT, ROT, and so on. It is observed that the rule ofMinSlack is better than other heuristic algorithms. Therefore, this research utilizesthe MinSlack and ROT rule to determine the priority of the resource-constrainedallocation. Priority given to the activity with the maximum ROT value. The ROTvalue is calculated by dividing the sum of each activitys resource requirementsby the duration of the activity and then finding the maximum ROT that an activitycontrols through the network on any one path. The flow of obtaining the startingsolution is shown in Figure 7.
5.3. Taboo Search Method and Proposed Taboo Search Algorithm
RCPSP is (nondeterministic polynomial-time) NP-Hard and F-RCPSP is alsoNP-Hard. In the early stage, during solving of the RCPSP, most researchers still usedto utilize the traditional heuristic rule to solve this problem. This rule basically tookthe mode of one by one analysis to solve problems according to the priority rulesdeveloped by other scholars. It was found that the solution quality was sometimesworse and the preferred solution was often achieved without this sort of priority.If one wanted to get the optimal solution, it may result in much longer executiontime. Therefore, the way how to obtain a near optimal solution efficiently withoutsacrificing the solution quality is important issue to investigate in solving NP-Hardproblem. Thus, the Taboo search (TS) method, a tool to solve the optimizationproblem, could be expected to be applied in this research to solve the projectmultiresource scheduling problem and obtain the optimal solution of this problem.TS have been proved that can get a good performance for solving combinatorialoptimization in many areas. Sometimes, it can obtain the better solution quality than
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 893
Figure 7. Flow chart of solving the starting solution by the MinSlack and ROT method.
some heuristic algorithms in some specified problems. The study will implementTSs concept as basis to develop a new algorithm to solve F-RCPSP in projects. Therelated study that the TS method was applied to in the scheduling optimization alsohad some achievements.
International Journal of Intelligent Systems DOI 10.1002/int
-
894 ATLI AND KAHRAMAN
Taboo search algorithms (TSAs) have been broadly used in many areas such asplanning, scheduling and other optimization problems where conventionalmathematical techniques are inadequate. TSA was first developed by Glover in1975, based on Artificial intelligence systems. Each search iteration stands for apossible solution to a problem. After several iterations, the algorithm that hopefullyrepresents the optimal or near optimal solution to a problem can be found. TSAbelongs to the class of heuristic optimization techniques, and it is very useful whena large search space with knowledge of how to solve the problem is presented.A balance between exploitation and exploration in the search space is one of theimportant factors when using TSA. To provide this balance, determination of thedesign strategy for TSA parameters such as maximum iteration is one of the criticalissues. In this paper, we present a new approach based on the improved TSA forsolving F-RCPSP. In the following, we give the fundamentals of TSA.
5.3.1. The Neighborhood Solution Structure of the Resource ConstraintsScheduling Based on the TS Method
The neighborhood solution structure of the TS method has three commonmodes introduced in Section 3: (1) swap move, (2) insert move, (3) insert and swapmove. In this research, the objective value of the resource allocation is the priority ofeach activity of the project utilizing resources, which is a sequential array problem.The previous research presented that, for the array problem, the efficiency of theswap move was better than that of the insert move. But, during research, it wasfound that the move by using the swap move is less if the scale of the project islarge, however, an insert move is created by two swap moves and the move of theinsert move is greater than that of the swap move. Thus, this research utilizes suchtwo modes as the swap move and the insert move for the neighborhood solutionstructure of the resource scheduling problem, and the two moves are comparedwhen making a sensitivity analysis. So we are developed some swap rules for theproblem. A move (swap) is a transition from one feasible sequence to another byinterchanging the positions of two activities i and j . An objective function f isdefined as the project duration of a feasible sequence. The value of a move is thedifference between the objective function value of the feasible sequence yieldedby making the interchange and the objective function value of the current feasiblesequence. If the value of a move is negative, then the move is called an improvementmove.
The proposed method is based on a neighborhood search. This method usesmainly a local descent to avoid local locking. It enables solutions of better qualityregarding the criteria to be found. The algorithm is mainly composed of two blocks:the first one corresponds to the search of more efficient solutions inside a neighbor-hood. It consists in switching two activities stochastically chosen. If after a certainnumber of attempts, the solution is not improved the neighborhood is enlarged witha jump. The second block then corresponds to searching a new solution in a largerneighborhood to go out of local minima (as shown in the Figure 8). A jump consistsin switching two activities stochastically chosen three times. The number of searcheshas to be limited so as to limit the computing time.
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 895
Figure 8. Lateness possibility in case of conflict.
As regard to the complexity of the problem, multiobjective optimization prob-lems are very complex. The complexity plus the combinatorial aspect is a resultof there being no single optimal solution for these problems, but rather a set oftrade-offs called efficient solutions or optimal solutions.
5.3.2. Memory Structure of Taboo List for the F-RCPSP Based on the TS MethodThe memory structure of Taboo list is mainly used to memorize the several
precedent moves, i.e., to memorize the several precedent moving paths, which isdivided into long-term memory and short-term memory. At present, the simpleTS method with the short-term memory is usually applied, and there is additionalrelated research. Thus, this research utilizes the memory list with the short-termmemory. The Taboo list is mainly applied to memorize the precedent moves, andthus the memory structure of Taboo list depends on the structure of the neighborhoodsolution.
5.3.3. Termination Criterion of RCPSP Based on TS AlgorithmThe stopping rule of the TS method is flexible. If satisfying the condition that
searching objective is a criterion, the algorithm will set the stopping rule as thefollowing two conditions, either one of the following two conditions is satisfied andthen stop calculating:
1. Maximum number of computation for constraints;2. Maximum number of computation on the condition of not finding better objective value.
The Taboo list size is a parameter that is preset or determined experimentally.Our experiments have demonstrated that the better size of Taboo list should bearound activity size by
N 2. Taboo list is used to prevent a solution from
being revisited for a certain number of iterations. The activities of a project aredivided into two categories: critical and noncritical activities. An activity is classifiedas a critical activity if it is on the critical path of the project scheduled usingFCPM/FPERT. Otherwise it is a noncritical activity. A list named TaboolistC consistsof critical activities and another list named TaboolistNC consists of noncriticalactivities.
Before the scheduling process is started, the relative priority ranking of allactivities is done. The priority ranking is usually calculated with some heuristic
International Journal of Intelligent Systems DOI 10.1002/int
-
896 ATLI AND KAHRAMAN
rules or formulas. Resources are allocated based on the priority ranking of activ-ities. A feasible activity is an activity for which the required preceding activitieshave been completed. At each scheduling instant, only the feasible activities areconsidered for resource allocation. At time t , the feasible activity with the high-est priority is scheduled if the available resources are sufficient. If the number ofresources available is inadequate for the next feasible activity at time t , then timet + 1 is considered. Note that activity preemption and partial resources assignmentsare not allowed. When resources are constrained, determination of the critical pathbecomes more difficult. These resource links are used to trace the use of resources,noting the significant resource dependencies that determine the project schedule andhence identify the critical path. We have added the use of additional links, which arereferred to as precedence links. Two unique heuristics are employed to provide start-ing solutions for TS. The MinSlack rule is very simple. The resource-unconstrainedFCPM/FPERT slack time for each activity is calculated. Then when resources areassigned, top priority is given to the activity with the smallest FCPM/FPERT calcu-lated slack time. In other heuristic rules, higher priority is given to the activity thathas a higher priority value. For each activity i, the priority rule is calculated as aweighted and scaled sum of two components, resource and time allocation factors.
Let n be the number of activities in a project, I = {0, 1, 2, 3 . . . n} be the set ofall activities, P be the set of all permutations defined on ith, any permutation p Pis defined as an n vector (p (1), p (2), p (3). . . .p (n)). When the order of activitiesin a permutation p is consistent with the precedence relationships in the project, thepermutation p is called a feasible sequence. That means activities can be completedin the same order as in the sequence. Let F be the set of all feasible sequences, thenF is a subset of P . A project can be scheduled under the resource constraints andhence the project duration can be determined. The goal of TS is to find a feasiblesequence in F , which gives the optimal or near-optimal schedule.
A starting solution is a feasible sequence obtained from a heuristic approach andthe starting solution will be improved by the TSA. As quality of a solution obtainedby TS is considerably affected by the starting solution, we use the MinSlack ruleand other priority rules to try different starting solutions. When resource constraintsare included, in general, when a critical activity is delayed, the successors of thedelayed activity will also be delayed. Consequently, the completion time of theresource-constrained project will be delayed with a high probability.
In Figure 9, a flowchart summarizing the basic steps of the proposed approachis presented. Application of TS to fuzzy activity duration PSP is implemented. TheTSA for solving the research problem is initialized with the initial population ofgenerated from ROT and MinSlack priority rules randomly.
The procedure of TSA is summarized as follows (for details, see Atli26):Step 1. Identify activities in project:
Establish precedence relationships of all activities. Estimate the FAT with respect to each activity by DM. Construct project network.
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 897
Figure 9. Flowchart summarizing the basic steps of the proposed Taboo approach.
Step 2. Read data file.
Step 3. Use fuzzy critical path algorithm (in Figure 6). Calculate project parametersand risk index for fuzzy CPM algorithm related to comparison two and more TraFN.
Step 4. Choose and use initial solution method (MinSlack and ROT priority rules inFigure 7).
Define a starting feasible sequence, denoted as S with priority rules.
International Journal of Intelligent Systems DOI 10.1002/int
-
898 ATLI AND KAHRAMAN
Step 5. Use TSA (the basic steps of the proposed approach Figure 9).
Step 6. Initialize variables used in TS:
Create initial schedule for TS previous Step 4. At the beginning the Taboo list be empty. Select values for Taboo list size (N 2) Select values for stopping criteria maximum iterations.
Step 7. Create a candidate list that consists of number of swap moves:
Two activities are randomly selected and the positions of these two activities are inter-changed.
Proceed swap rules.
Step 8. Choose the best admissible candidate move.
Step 9. Make the best admissible candidate move.
Step 10. Check stopping criteria.
If iter < Max Iter then schedule is reported as the solution, else go to Step 11.
Step 11. Update Taboo restrictions and aspiration criteria and go to Step 6.
The solution determined using the TS also depends on the starting solution. Toexplore diversified paths so that a better solution may be found, one can repeat theprocedure described above several times with different starting solutions.
6. AN APPLICATION PROBLEM DESCRIPTION ANDMATHEMATICAL FORMULATION MODEL
6.1. Example of an Electronic Product Development
In this section, an electronic product development project is used to illustratethe approach developed in Wangs paper.25 The entire project is divided into sevenphases: system requirements analysis, system definition, requirements allocation,preliminary design, detailed design, engineering model testing and evaluation, andqualification tests. For the demonstration purpose, we simplify the entire projectwith hundreds of activities into 51 activities. In addition, a project usually involvesseveral disciplines. We aggregate these disciplines into four types: systems engineers(r1), software engineers (r2), hardware engineers (r3), and supporting engineers(r4). Hardware engineers include mechanical engineers and electrical engineers.Supporting engineers consist of the disciplines that act as a supporting role during
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 899
Figure 10. Project network scheme.
the product development; such as manufacturing, cost, logistics, test, reliability,maintainability, marketing, and so on.
Wangs paper are used a flat fuzzy number which represented by six tuples(a1, a2, a3, a4, a5, a6) while a1 and a6 are the lower and upper modal values. Andwe decided to use that illustrative example. However, a flat fuzzy number can beconsidered a special case of the TraFN where the lower and upper modal values aresame (a1,a6). But in case of the difference of that problem, we use TraFNs for activ-ities. In the scheduling, a TraFN can be represented by four tuples (a1, a3, a4, a6),where a1and a4 are the lower and upper bounds of the support of fuzzy numberA. Here we exempted a2 and a5 so a flat fuzzy numbers are transformed to theTraFNs. The project presented here is composed of 51 + 2 activities. The prece-dence relations among activities are represented by a precedence network, as shownin Figure 10. A project consists of (j + 2) activities where each activity has to beprocessed to complete the project. The (j + 2) activities compose of a set of activitiesj = {0, 1, 2 . . . j + 1}, where activities 0 (S) and (j + 1) (E) are dummy and haveno duration and no resources. These activities represent the start and end activitiesof the project. There exists a set of renewable resources that are represented byr = {1, 2 . . . k}. The illustrative project steps for installation are determined to beas shown in Table I. Any project consists of number of activities. These activitiesare represented in a network by nodes. Therefore, the project defined in Table I andall of the durations are in man-hours. The fuzzy project ready time is set to (0, 0,0, and 0). In the project, four different kinds of renewable resources are requiredthroughout the project. The amount of these resources is limited and its resourceavailability is 6, 6, 5, 4, respectively, in each period. Each activity resource usageand maximum capacitated is showed in Table I.
The results of application of FCPM to the sample project are shown inTable II.
In Wangs paper, the parameters for running the genetic algorithm were set asfollows: population size is 10, number of generations is 100, mutation rate is 0.01,
International Journal of Intelligent Systems DOI 10.1002/int
-
900 ATLI AND KAHRAMAN
Tabl
eI.
The
corr
espo
ndin
gac
tivity
info
rmat
ion
N 524
4
66
54
Tra
FN N
o
Act
.Su
cc.
Act
.Su
cces
sor
No.
TraF
Nr jk
No
Succ
esso
ract
ivity
No
TraF
Nr jk
No.
Succ
esso
rac
tivity
S0
00
00
00
01
227
67
78
04
02
130
15
66
73
00
01
328
1012
1214
22
44
130
210
1212
135
33
22
45
291
22
44
22
26
3132
3339
4042
34
55
64
24
21
630
911
1113
42
30
134
47
88
10
42
22
16
3110
1313
145
03
21
375
24
46
50
00
17
328
1010
110
04
21
386
34
45
42
22
18
336
88
94
32
01
357
23
34
43
32
49
1011
1334
34
45
42
33
136
82
33
50
42
01
1435
46
67
22
04
141
93
44
62
15
31
1536
13
34
00
20
141
104
55
64
00
01
1237
34
45
00
22
141
117
99
105
00
01
1638
12
23
10
31
141
123
44
53
00
11
1639
23
34
00
22
141
131
22
33
20
11
1640
11
12
40
43
345
4649
141
22
33
03
21
1641
34
45
04
00
143
151
22
24
22
21
1742
12
23
33
00
144
163
44
55
22
02
1819
431
22
33
03
02
4546
174
55
65
24
21
2044
34
45
23
41
152
184
55
64
24
31
2045
45
56
22
42
147
195
66
75
23
43
2122
2346
45
56
52
23
148
205
77
94
00
01
2447
34
45
20
42
152
213
55
75
14
41
2448
57
78
20
23
150
224
55
60
30
01
2449
68
810
42
32
151
231
22
35
11
11
2550
23
35
42
33
152
248
1010
122
15
33
2627
2851
24
47
42
33
153
254
55
62
15
31
30E
00
00
00
00
264
66
80
04
31
29
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 901
Tabl
eII
.Su
mm
ary
ofr
esu
ltsu
tiliz
ing
FCPM
.
No
FEST
FECT
FLST
FLCT
SLAC
KN
oFE
STFE
CTFL
STFL
CTSL
ACK
S0
00
00
00
07
70
077
77
00
777
70
077
2767
8787
105
7394
9411
342
9898
152
5010
510
515
86
311
1185
10
00
05
66
77
70
077
70
66
827
70
077
2871
9393
113
8110
510
512
736
9393
148
5010
510
515
87
70
077
25
66
715
1818
207
06
682
57
1818
927
70
077
2981
105
105
127
8210
710
713
150
105
105
158
5410
710
715
97
70
077
315
1818
2019
2323
265
321
2195
47
2626
997
33
380
3082
107
107
131
9111
811
814
454
107
107
159
6711
811
816
87
70
077
415
1818
2022
2626
305
718
1892
47
2626
997
70
077
3182
107
107
131
9212
012
014
570
120
120
170
8413
313
318
06
113
1388
522
2626
3024
3030
364
726
2699
41
3030
101
77
00
7732
8210
710
713
190
117
117
142
7212
212
217
083
132
132
178
59
1515
886
2430
3036
2734
3441
41
3030
101
36
3434
104
77
00
7733
9111
811
814
497
126
126
153
6711
811
816
876
126
126
174
77
00
777
2734
3441
2937
3745
36
3434
104
32
3737
106
77
00
7734
9712
612
615
310
013
013
015
876
126
126
174
8113
013
017
77
70
077
829
3737
4531
4040
502
446
4611
4 1
949
4911
66
99
985
3510
013
013
015
810
413
613
616
581
130
130
177
8813
613
618
17
70
077
929
3737
4532
4141
512
545
4511
31
949
4911
67
08
884
3692
120
120
145
9312
312
314
984
133
133
180
8813
613
618
16
113
1388
1029
3737
4533
4242
513
237
3710
62
642
4211
07
70
077
3790
117
117
142
9312
112
114
783
132
132
178
8813
613
618
15
915
1588
1133
4242
5140
5151
612
642
4211
01
651
5111
77
70
077
3882
107
107
131
8310
910
913
485
134
134
180
8813
613
618
14
627
2798
1229
3737
4532
4141
502
147
4711
41
651
5111
76
610
1085
3982
107
107
131
8411
011
013
584
133
133
179
8813
613
618
14
726
2697
1331
4040
5032
4242
531
949
4911
61
651
5111
76
99
985
4010
413
613
616
510
513
713
716
788
136
136
181
9013
713
718
27
70
077
1432
4141
5133
4343
541
949
4911
61
651
5111
77
08
884
4182
107
107
131
8511
111
113
685
133
133
179
9013
713
718
24
626
2697
1540
5151
6141
5353
631
651
5111
71
453
5311
87
70
077
4285
111
111
136
8611
311
313
990
137
137
182
9313
913
918
34
626
2697
1641
5353
6344
5757
681
453
5311
89
5757
121
77
00
7743
8611
311
313
987
115
115
142
9313
913
918
396
141
141
184
46
2626
9717
4457
5768
4862
6274
957
5712
13
6262
125
77
00
7744
105
137
137
167
108
141
141
172
108
151
151
192
113
155
155
195
59
1414
8718
4457
5768
4862
6274
957
5712
13
6262
125
77
00
7745
105
137
137
167
109
142
142
173
9614
114
118
410
214
614
618
87
14
479
1948
6262
7453
6868
813
6262
125
468
6813
07
70
077
4610
914
214
217
311
314
714
717
910
214
614
618
810
815
115
119
27
14
479
2053
6868
8158
7575
904
6868
130
1375
7513
57
70
077
4711
314
714
717
911
615
115
118
410
815
115
119
211
315
515
519
57
14
479
2153
6868
8156
7373
886
7070
132
1375
7513
57
52
279
4810
513
713
716
711
014
414
417
590
137
137
182
9814
414
418
77
70
077
2253
6868
8157
7373
877
7070
131
1375
7513
57
42
278
4911
014
414
417
511
615
215
218
598
144
144
187
108
152
152
193
77
00
7723
5875
7590
5977
7793
1375
7513
516
7777
136
77
00
7750
116
152
152
185
118
155
155
190
108
152
152
193
113
155
155
195
77
00
7724
5977
7793
6787
8710
516
7777
136
2887
8714
47
70
077
5111
815
515
519
012
015
915
919
711
315
515
519
512
015
915
919
77
70
077
2567
8787
105
7192
9211
144
100
100
154
5010
510
515
86
113
1387
E12
015
915
919
712
015
915
919
712
015
915
919
712
015
915
919
77
70
077
2667
8787
105
7193
9311
328
8787
144
3693
9314
87
70
077
International Journal of Intelligent Systems DOI 10.1002/int
-
902 ATLI AND KAHRAMAN
and crossover rate is 0.9. After 10 random runs, the obtained best fuzzy projectduration is (175; 203; 231; 231; 257; 283) with the robustness measure 0.4933 andthe plausible project durations 256.8 (257). Wangs obtained schedule is listed inTable III (for more detail, see Wangs study): the sensitivity analysis of resourceavailability to the schedule robustness and the plausible project duration. Projectmanagers may consider increasing an additional hardware engineer (i.e., R = 6; 6;6; 4), if he/she feels that the risk of late project is high under the current resourceavailability (R = 6; 6; 5; 4). In our work, we found is the DMs risk attitude index,0,509477. The MinSlack and ROT rules are used to find a starting feasible sequencefor TS. The project duration for the sequence, is determined using the procedurepresented in the beginning of this section. The middle resulting data required by thetwo priority rules (MinSlack and ROT) are listed in Tables III.
The results of application of TS (Max iteration: 100) to the sample project areshown in Table IV.
The proposed method using TS makes it possible to improve fuzzy projectscheduling under resource constraints. The model can effectively provide the op-timal fuzzy profiles of project duration and resource amounts under the constraintof limited resources. The computational experiment shows that the performanceof the proposed TS is better than evaluation and light beam search algorithms ap-pearing in the literature, there is no significant difference between the proposedcomparison method and weakstrong comparison rules on the performance of thealgorithm.
7. COMPUTATIONAL EXPERIMENT
The proposed Taboo and overhaul algorithm for the F-RCPSP was codedusing object-oriented programming language Visual C# 2008 for a personnel laptoprunning under the Windows 7 operating system. Because of Wangs study, primarycomputational experiments were conducted to test the proposed GA approach on20 sets of benchmark problems randomly selected from the project schedulingproblem library (PSPLIB)30 to evaluate its efficiency. The set of problems containsfour problem types including 32 activities and 62 activities. Each problem typecontains 10 problems. Due to all the benchmarking problems created from PSPLIBare deterministic, he randomly fuzzified the problem data. For each crisp durationti , six numbers used to define the fuzzified activity duration ti were randomlygenerated from the interval ( xti, ti + (1 )xti) and ranked in ascending order. Inhis experiment, was set to 0.8. The project ready-time and deadline were fuzzifiedin the similar way.25 We could not benchmark as Wang randomly fuzzified theproblem data. So we decided to use similar example (J30X 1.RCP, J60X 1.RCP,J90X 1.RCP and X = 1,2,3) from the PSPLIB. But we fuzzified the repeatedproblem data, which were deterministic/crisp durations. We use MinSlack rules forthe randomly selected 9 problems initial solutions and solve the TSA.
The results of application to the sample project are shown in Table V.
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 903
Tabl
eII
I.Se
nsiti
vity
anal
ysis
ofr
eso
urc
eav
aila
bilit
yto
sche
dule
perfo
rman
ce.
Wan
gs
Stud
yR
esou
rce
avai
labi
lity
(6,6,5
,4)(7,
6,5,
4)(6,
7,5,4)
(6,6,
6,4)
(6,6,5
,5)Fu
zzy
proje
ctdu
ratio
n(17
5,23
1,23
1,28
3)(17
4,229
,229,2
80)
(175,2
31,23
1,283
)(16
5,21
9,21
9,27
0)(16
9,22
4,22
4,27
5)R
obu
stne
ssm
easu
re0.
4933
0.52
700.
4933
0.66
220.
5946
Plau
sible
pro
jectd
urat
ion
257
253
257
236
245
Our
Stud
y
Min
slack
(181,
240,
240,
294)
(181,2
40,24
0,294
)(18
1,240
,240,2
94)
(167,
221,
221,
272)
(175,2
33,23
3,286
)Ta
bu
Min
Sla
ck(17
1,22
6,22
6,27
9)(17
8,236
,236,2
89)
(172,2
28,22
8,282
)(16
1,21
7,21
7,26
8)(16
6,220
,220,2
71)
ROT-
R1
(179,
237,
237,
293)
(178,2
35,23
5,290
)(17
9,237
,237,2
93)
(165,
219,
219,
272)
(173,2
30,23
0,285
)Ta
buRO
T-R
1(17
2,22
7,22
7,27
9)(17
0,223
,223,2
73)
(171,2
26,22
6,279
)(16
2,21
4,21
4,26
5)(16
0,212
,212,2
63)
ROT-
R2
(171,
226,
226,
279)
(176,2
33,23
3,287
)(17
8,236
,236,2
89)
(167,
221,
221,
272)
(172,2
29,22
9,281
)Ta
buRO
T-R
2(17
4,23
0,23
0,28
3)(17
0,223
,223,2
73)
(172,2
27,22
7,279
)(16
5,21
9,21
9,27
0)(16
8,221
,221,2
71)
ROT-
R3
(179,
237,
237,
293)
(179,2
37,23
7,293
)(17
9,237
,237,2
93)
(169,
223,
223,
276)
(170,
226,
226,
280)
Tabu
ROT-
R3
(172,
228,
228,
282)
(171,2
25,22
5,276
)(17
1,226
,226,2
79)
(162,
214,
214,
265)
(162,2
13,21
3,263
)RO
T-R
4(17
8,23
6,23
6,28
9)(17
6,234
,234,2
89)
(178,2
36,23
6,289
)(16
7,22
1,22
1,27
2)(17
2,229
,229,2
81)
Tabu
ROT-
R4
(171,,
226,
226,
279)
(170,2
23,22
3,273
)(17
4,229
,229,2
81)
(161,
215,
215,
265)
(162,2
14,21
4,265
)
International Journal of Intelligent Systems DOI 10.1002/int
-
904 ATLI AND KAHRAMAN
Tabl
eIV
.Th
ere
sults
oft
aboo
sear
chto
the
sam
ple
projec
t.FC
PM
Criti
calP
ath
S-1-
2-4-
5-6-
7-10
-11
-15-
16-1
7-19
-20-
23-2
4-26
-28-
29-3
0-33
-34-
35-4
0-48
-49-
50-5
1-E
Fuzz
yPr
oject
Com
plet
ion
Tim
e(12
0,15
9,15
9,19
7)In
itial
Solu
tions
(MinS
lacka
nd
ROT)
Min
Slac
kFe
asib
leSc
hedu
leS-
1-2-
4-3-
5-6-
7-10
-9-1
1-8-
14-1
3-12
-15-
16-1
7-18
-19-
20-2
2-21
-23-
24-2
6-28
-27-
25-2
9-30
-39-
41-3
3-38
-34-
35-4
2-43
-31-
36-
32-3
7-40
-48-
49-5
0-45
-46-
47-4
4-51
-EM
inSl
cak
Feas
ible
Solu
tion
(181,
240,
240,
294)
Rot
Feas
ible
Sche
dule
for
Rl
S-1-
2-3-
4-5-
6-7-
9-10
-8-1
4-12
-13-
11-1
5-16
-17-
18-1
9-21
-22-
20-2
3-24
-25-
26-2
8-27
-29-
41-3
0-39
-42-
38-3
3-34
-31-
35-3
6-43
-32
-37-
40-4
4-48
-49-
50-4
5-46
-47-
51-E
Rot
Feas
ible
Solu
tion
for
Rl
(179,
237,
237,
293)
TABU
Sear
chSo
lutio
nTa
buM
inSl
ack
Feas
ible
Sche
dule
S-1-
2-4-
3-5-
6-7-
10-9
-8-1
1-14
-12-
13-1
5-16
-17-
18-1
9-22
-20-
21-2
3-24
-26-
27-2
8-25
-29-
34-3
2-31
-36-
38-3
3-42
-43-
30-3
5-41
-39
-37-
40-4
8-49
-45-
50-4
6-47
-44-
51-E
Tabu
Min
Slca
kFe
asib
leSo
lutio
n(17
1,22
6,22
6,27
9)TA
BUR
otFe
asib
leSc
hedu
lefo
rR
lS-
1-2-
4-3-
5-6-
7-10
-9-8
-11-
12-1
3-14
-15-
16-1
8-17
-19-
20-2
2-21
-23-
24-2
7-28
-25-
26-2
9-34
-35-
30-4
3-42
-31-
41-3
2-33
-39-
38-
36-3
7-40
-48-
44-4
9-50
-45-
46-4
7-51
-ETA
BUR
otFe
asib
leSo
lutio
nfo
rR
l(17
1,22
6,22
6,27
9)
International Journal of Intelligent Systems DOI 10.1002/int
-
FUZZY RESOURCE-CONSTRAINED PROJECT SCHEDULING 905
Tabl
eV.
Ben
chm
ark
val
uefo
rth
esa
mpl
epr
ojec
ts.Pl
ausib
leB
estV
alue
Mak
espa
nCP
U-T
ime
[sec]
FCPM
Min
Slac
kTa
buM
inSl
ack
Def
uzzi
edVa
lue
Diff
eren
cefro
mTh
eB
estV
alue
CPU
-Tim
e
[sec]
J301
143
0.30
(38,3
8,38
,38)
(43,43
,43,
43)
(43,43
,43,
43)
430
0,06
9J3
021
380.
02(34
,34,
34,3
4)(38
,38,
38,3
8)(38
,38,
38,3
8)38
00,
018
J303
172
0.01
(72,7
2,72
,72)
(72,7
2,72
,72)
(72,7
2,72
,72)
720
0,01
5J6
011
77(77
,77,
77,7
7)(86
,86,
86,8
6)(86
,86,
86,8
6)86
90,
047
J602
165
(65,6
5,65
,65)
(65,6
5,65
,65)
(65,6
5,65
,65)
650
0,03
1J6
031
60(60
,60,
60,6
0)(60
,60,
60,6
0)(60
,60,
60,6
0)60
00,
031
J901
173
(67,6
7,67
,67)
(86,86
,86,86
)(85
,85,
85,8
5)85
120,
046
J902
196
(96,9
6,96
,96)
(96,9
6,96
,96)
(96,9
6,96
,96)
960
0,09
3J9
031
81(81
,81,
81,8
1)(82
,82,82
,82)
(82,8
2,82
,82)
821
0,04
6
Internat