Solving The FS RCPSP With Hyper Heuristics A Policy Driven Approach

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Journal of the Operational Research Society

ISSN: 0160-5682 (Print) 1476-9360 (Online) Journal homepage: https://www.tandfonline.com/loi/tjor20

Solving the FS-RCPSP with hyper-heuristics: A


policy-driven approach

Yagub Alipouri, Mohammad Hassan Sebt, Abdollah Ardeshir & Weng Tat
Chan

To cite this article: Yagub Alipouri, Mohammad Hassan Sebt, Abdollah Ardeshir & Weng Tat
Chan (2019) Solving the FS-RCPSP with hyper-heuristics: A policy-driven approach, Journal of the
Operational Research Society, 70:3, 403-419, DOI: 10.1080/01605682.2018.1441636

To link to this article: https://doi.org/10.1080/01605682.2018.1441636

Published online: 05 Mar 2018.

Submit your article to this journal

Article views: 141

View related articles

View Crossmark data

Citing articles: 3 View citing articles

Full Terms & Conditions of access and use can be found at


https://www.tandfonline.com/action/journalInformation?journalCode=tjor20
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY
2019, VOL. 70, NO. 3, 403–419
https://doi.org/10.1080/01605682.2018.1441636

ORIGINAL ARTICLE

Solving the FS-RCPSP with hyper-heuristics: A policy-driven approach


Yagub Alipouria, Mohammad Hassan Sebta, Abdollah Ardeshira and Weng Tat Chanb
a
Department of Civil Engineering, Amirkabir University of Technology, Tehran, Iran; bDepartment of Civil Engineering, National University of
Singapore, Singapore, Singapore

ABSTRACT ARTICLE HISTORY


In this paper, a problem in the area of scheduling, namely Fuzzy Stochastic Resource-Constrained Received 9 November 2016
Project Scheduling Problem (FS-RCPSP), is addressed. Like the original Resource-Constrained Accepted 12 February 2018
Project Scheduling Problem (RCPSP), the objective is to minimise the expected makespan of
KEYWORDS
the project subject to precedence and resource constraints. However, due to mixed uncertainty Project scheduling; resource-
comprising fuzziness and randomness in the estimates of activity durations, the makespan is constrained; fuzzy stochastic
a fuzzy stochastic number. Recognising both fuzziness and randomness in activity durations durations; hyper-heuristics;
results in more robust schedules but the scheduling problem is harder to solve. A hyper-heuristic, policy evolution
named Self-adaptive Differential Evolution to Scheduling Policy (SADESP) is proposed to address
this issue. SADESP has two key modules: (1) a module (policyEvolver) which evolves scheduling
policy and (2) a dynamic scheduling procedure (dScheduler) which makes scheduling decisions
using a particular scheduling policy. The performance of SADESP is benchmarked against CPLEX
across an extensive set of 960 problems created with ProGen – a standardised problem generator
for creating benchmark problems in scheduling. The results returned by SADESP for FS-RCPSP
are very encouraging, both in terms of accuracy and computational performance.

1. Introduction problem of combinatorial explosion in the search space


of the activity start times. Specialised heuristics and
The Resource-Constrained Project Scheduling Problem
metaheuristics are required to produce practical solu-
(RCPSP) is a well-known scheduling problem that has
tions for such cases. Examples of the heuristic methods
been addressed under different operational assumptions
proposed to solve RCPSP are Ying, Lin, and Lee (2009),
and with different solution methods. The objective of
Tormos and Lova (2001), Özdamar and Ulusoy (1994),
RCPSP is to minimise the project makespan subject
and Boctor (1990). Heuristic methods exploit some
to activity precedence and resource availability con-
problem characteristic to deliver good schedules with lit-
straints. Each activity needs a fixed amount of renew-
tle computational effort but heuristics can be very prob-
able resources during its processing time. The activity
lem-specific and sensitive to changes in problem details.
durations are assumed to be known and fixed, and
Metaheuristic methods employ the idea of guided search
pre-emption of scheduled activities is not allowed. The
to find very good schedules across a wide variety of prob-
key decisions are the start times of the different activi-
lem instances. State–of-the-art metaheuristics proposed
ties under resource constraints, and the solution to the
for solving RCPSP include those described in Elsayed,
problem is a schedule, i.e., a set of start times for all the
Sarker, Ray, and Coello (2017), Zheng and Wang (2015),
activities. RCPSP under the assumption of fixed and
Sebt, Alipouri, and Alipouri (2013), Paraskevopoulos,
known activity durations has been solved using a variety
Tarantilis, and Ioannou (2012), Ranjbar (2008), Valls,
of exact, heuristic, metaheuristic, and hyper-heuristic
Ballestín, and Quintanilla (2008), Fleszar and Hindi
algorithms. Examples of recent research involving the
(2004), and Palpant, Artigues, and Michelon (2004).
use of exact methods include Steeneck and Sarin (2015),
The effectiveness of metaheuristic methods depends on
Damay, Quilliot, and Sanlaville (2007), and Dorndorf,
the transformation between the problem space and the
Pesch, and Phan-Huy (2000). Exact solution methods
search space. It is non-trivial to find an effective map-
hold the promise of optimal schedules but cannot han-
ping, especially if feasible solutions in the search space
dle RCPSP problems with a large number of activities,
are not feasible in the problem space. Furthermore,
typically those with more than 60 activities (see Alcaraz
metaheuristics are guided by parameters which bal-
& Maroto, 2001), and many resource types due to the
ance the “explore” (global search) versus “exploit” (local

CONTACT  Mohammad Hassan Sebt  sebt@aut.ac.ir


© Operational Research Society 2018
404 Y. ALIPOURI ET AL.

search) aspects of the search. These parameters often fuzzy numbers recognises the fact that, besides random-
have to be “tuned” by the analyst for the specific problem ness, uncertainty can also be due to a lack of sufficient
to avoid premature convergence and inefficient use of information to characterise an activity in terms of a
computational resources. probability distribution. Some papers being published
Hyper-heuristics are a class of search strategy that in the area of Stochastic-RCPSP (S-RCPSP) or Fuzzy-
combine the characteristics of both heuristics and meta- RCPSP (F-RCPSP) are as follows: Roghanian, Alipour,
heuristic search strategies. Burke et al. (2013) defines and Rezaei (2018), Yousefli (2017), Chakrabortty, Sarker,
hyper-heuristics as “generic, cheap, and easy to imple- and Essam (2017), Rostami, Creemers, and Leus (2017),
ment higher level heuristics which operate on a search Zoulfaghari, Nematian, and Nezhad (2016), Fang,
space of some low-level heuristics rather than directly on Kolisch, Wang, and Chundi (2015). In practice, both
a search space of problem solutions.” These “meta” heu- situations of uncertainty in activity durations are likely
ristics select or generate problem specific heuristics to to arise even in the same project – there will be some
solve complex real-world problems. The hyper-heuristic activities for which durations can be modelled as a
performs a search using a metaheuristic strategy but the probability distribution, and others for which only an
search space is not in the problem space or a transformed imprecise estimate can be obtained. Fuzzy Stochastic
problem space. Instead, the search is conducted at the Resource-Constrained Project Scheduling Problem
policy level above the problem space. For the scheduling (FS-RCPSP) takes the view that uncertainty in project
problem, the problem space is the space of schedules, i.e., estimates, in particular activity durations, can arise from
the event times associated with project activities con- both imprecise definition (fuzziness) as well as random-
strained by the use of shared resources. The policy level ness. A fuzzy random variable is able to simultaneously
consists of rules and heuristics that direct the sequence take on both the characteristics of fuzziness and ran-
of scheduling decisions in a dynamic fashion. A policy domness of events. The basic mathematical foundations
is better able to accommodate uncertainty in estimates underlying the properties and characteristics of the fuzzy
of project quantities, whether they arise from fuzzi- random variable were established in concepts such as the
ness or randomness. Anagnostopoulos and Koulinas probability of a fuzzy event (Zadeh, 1968), probabilis-
(2010, 2012) introduced the use of hyper-heuristics tic set (Hirota, 1981), fuzzy random variable (Buckley,
in RCPSP – the first was based on a genetic algorithm 2005; Kruse & Meyer, 1987; Puri & Ralescu, 1986), and
search strategy, and the latter on a greedy randomised random fuzzy variable (Liu, 2002a, 2002b).
adaptive search procedure (GRASP). Koulinas, Kotsikas, An early application of the concept of a fuzzy ran-
and Anagnostopoulos (2014) proposed the use of a par- dom variable was in scheduling. Itoh and Ishii (2005)
ticle swarm optimization hyper-heuristic algorithm for presented a mathematical programming model for an
RCPSP. n-job machine scheduling problem where activity due
The assumption of fixed and known activity dura- dates were expressed as fuzzy random variables. A more
tions has been recognised as being incompatible with extensive application of fuzzy random variables to model
the real world, wherein actual activity durations are uncertainties in project scheduling was presented in Ke
uncertain due to the influence of many uncontrollable and Liu (2007). Huang, Ding, Wen, and Cao (2009)
factors. Herroelen and Leus (2005) survey a variety of proposed an intelligent genetic algorithm to minimise
approaches to the RCPSP under uncertainty, includ- the expected cost associated with a software scheduling
ing reactive, proactive (robust), stochastic, and fuzzy project model with random fuzzy variables. Nematian,
scheduling methods. In reactive scheduling, the goal is Eshghi, and Eshragh-Jahromi (2010) was the first to
to repair or reschedule activities in a baseline sched- incorporate fuzzy random variables in the formulation
ule when disruptions occur. In proactive scheduling, of the FS-RCPSP. In this model, the ready time, dura-
the goal is to find a baseline schedule that is robust tion, and the deadlines of activities were considered to
against anticipated changes in activity durations. Some be fuzzy random variables. To solve the problem, the
recently published papers in reactive and/or proactive model with fuzzy random variables was transformed
project scheduling are Artigues, Leus, and Talla Nobibon into a mixed integer linear programming model. Xu
(2013), Bruni, Di Puglia, Beraldi, and Guerriero (2017), and Zhang (2012) studied a more complicated problem
Mahalleh, Ashjari, Yousefi, and Saberi (2017), and wherein the schedules of multiple projects were linked
Davari and Demeulemeester (2017). In contrast, no by resource constraints. The model incorporated mul-
baseline schedule is created in stochastic scheduling; tiple objectives – to minimise the total project time as
instead, scheduling decisions are made dynamically well as the total tardiness penalty of all projects. The
during project execution on the basis of a policy – a set model was solved using a hybrid genetic algorithm with
of priorities, restrictions, and principles to guide deci- a fuzzy logic controller. More recently, Alipouri, Sebt,
sions. A different view of uncertainty is taken in fuzzy Ardeshir, and Fazel Zarandi (2017) used a new fuzzy
scheduling where activity durations are taken as impre- probability theory proposed by Buckley (2005) to model
cise estimates modelled as a fuzzy number. The use of fuzziness and randomness in the FS-RCPSP. Buckley’s
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 405

formulation of the fuzzy random variable made com- and (3) the search representation employs a unique
putations involving such variables more tractable whilst scheme to represent scheduling policies. Together,
retaining their key characteristics in representing real- the proposed FS-RCPSP model and its solution using
world uncertainty. As a result, larger problems with more a self-adaptive differential evolutionary algorithm to
activities and resource types could be solved. A heuristic, derive effective scheduling policy (SADESP) present an
that of resource flow between scheduled activities in a innovative way of dynamic scheduling under conditions
network, was used to simplify the decision-making for of real-world uncertainty in activity duration estimates.
activity start times. The model was modelled using fuzzy The rest of the paper is organised as follows: Section
random variables, and then transformed into a mixed 2 provides key definitions and concepts in fuzzy prob-
integer linear programming (MILP) model with crisp ability that will be used in Section 3, where the RCPSP
parameters and variables. Using the MILP model for- under uncertain activity durations is formulated as an
mulation, 960 benchmark problems (480 problems with MILP model. Section 4 describes the approach to derive
30 activities and 480 problems with 60 activities) were scheduling policy using a SADESP. The derived policy
instantiated and solved using the CPLEX solver of the is used to solve the fuzzy stochastic RCPSP. Section 5
AIMMS decision modelling software. The results indi- presents and discusses the results of performance com-
cated that the CPLEX solver could handle the complexity parisons between SADESP and a commercially avail-
in most of the benchmark problems and return solu- able MILP solver. Conclusions and suggestions for
tions; however, in 10% of the problems with 30 activities further research are presented in Section 6. Appendix
and 31% of the problems with 60 activities, the solver A defines the parameters, variables, indices, and sets
could not find any integer solution. The computational used in the formulae of this paper. It is divided into two
effort needed was high, and along with the high failure logical sections: (1) Notations in the MILP formulation
rate, these could prove to be a drawback for the prac- of the FS-RCPSP; (2) Notations in the self-adaptive DE
tical application of the FS-RCPSP using fuzzy random hyper-heuristic algorithm.
variables. More capable methods to solve FS-RCPSP,
which can find solutions with acceptable quality in less 2.  Basic concepts and definitions
computational time are needed.
This paper adopts the premise that uncertainty in In our formulation of the FS-RCPSP problem, we treat
activity durations can arise from both imprecise infor- the activity durations as fuzzy random variables. A fuzzy
mation (fuzziness) as well as natural variability (random- random variable is a variable whose value is uncertain
ness), and tackles the RCPSP in which these uncertainties because of imprecision in its estimation (fuzziness), as
co-exist in the durations of activities. Solving the RCPSP well as the phenomenon of uncontrollable variability
under this condition will be challenging due to the many of actual values around a central estimate (random-
possibilities for activity durations, and the implications ness). We review some key concepts in Buckley’s (2005)
to decide activity start times to form a schedule. The approach to modelling uncertainty using fuzzy proba-
paper draws inspiration from dynamic scheduling and bility theory and fuzzy random variables. Hereafter, we
uses scheduling policy to address uncertainty in activity place a “bar” and a “tilde” over a letter to denote a fuzzy
durations so that good scheduling policy can be derived number and a fuzzy random number, respectively.
to handle both kinds of uncertainty. In this paper, we A discrete probability function P on all subsets of
propose to use a self-adaptive differential evolution (DE) a finite set X  =  {x1, n…,  xn} is defined as P({xi})  =  ai,

algorithm as a high-level search procedure to search 0 < ai < 1 all i and ai = 1. This probability function
i=1
for policy alternatives composed of low-level schedul- is able to handle the uncertainties arising from natu-
ing heuristics to solve the FS-RCPSP. DE is a powerful ral variability (randomness) but cannot deal with the
and versatile stochastic optimization algorithm intro- uncertainties due to imprecise information (fuzziness).
duced by Storn and Price (1997) for global optimization In order to handle both kinds of uncertainty, Buckley
over continuous search spaces. It is simple and easy to (2005) substitutes a fuzzy number ā i = P({x
̄ i }) for each
implement, and has very few control parameters in its crisp number ai and assumes that 0 < ā i < 1 for all i.
operation. In spite of its simplicity, DE has shown very The discrete setX together with the ā i values is a discrete
good performance as a search algorithm for solving fuzzy probability distribution (Buckley, 2005). Buckley
real-world optimization problems in terms of accuracy, (2005) considers the restriction “there are ai ∈ ā i𝛼 , 𝛼 = 1
convergence speed, and robustness. ∑n

The following features distinguish our approach from so that ai = 1” on the ā i values and accordingly defines
i=1
others: (1) the problem is modelled as a fuzzy stochas- the fuzzy probability of A = {x1, …, xk}, 1 ≤ k < n with
tic version of RCPSP (FS-RCPSP); this model handles its α-cut as follows:
the two key sources of uncertainty in a unified way; (2) { }
ai ||ai ∈ ā i𝛼 , 1 ≤ i ≤ n, for 0 ≤ 𝛼 ≤ 1.

k

n

a self-adaptive metaheuristic search algorithm (DE) is P̄ 𝛼 (A) = ai = 1 ,


used to lessen the burden of tuning search parameters;
i=1 i=1

(1)
406 Y. ALIPOURI ET AL.

Mean (expected value) and variance of a discrete fuzzy which is a fuzzy random variable. The start and finish
probability distribution are fuzzy numbers and are time of each activity j are, respectively, denoted by s̃j
defined by their α-cuts as follows (Buckley, 2005): and f̃j (0 ≤ j ≤ n + 1). The objective is to find precedence
{ n } and resource feasible completion times for all activities
xi ai |ai ∈ ā i𝛼 , 1 ≤ i ≤ n, ai = 1 , for 0 ≤ 𝛼 ≤ 1,
∑ ∑n
𝜇̄ 𝛼 = which lead to the minimum expected makespan.
Alipouri et al. (2017) used the concept of resource
i=1 i=1

(2)
flow (Artigues, Michelon, & Reusser, 2003) to formulate
{ n }
(xi − 𝜇)2 ai |ai ∈ ā i𝛼 , 1 ≤ i ≤ n, xi ai , for 0 ≤ 𝛼 ≤ 1.
∑ ∑n

n
(3)
𝜎̄ 𝛼2 = ai = 1, 𝜇 =
i=1 i=1 i=1

Assuming that X̃ is a fuzzy random variable hav- a version of FS-RCPSP. The durations of activities are
ing fuzzy{ probability } density f (x, 𝜃), where x  ∊  IR modelled as fuzzy random variables with a normal prob-
̄
and 𝜃̄ = 𝜃̄1 , … , 𝜃̄Q is for parameters 𝜃̄q, 1  ≤  q  ≤  Q, ability distribution function (pdf), and where the mean
Equations (1)–(3) for the discrete case can be extended of the pdf is a triangular fuzzy number. The MILP model
to the continuous case as follows: of Alipouri et al. (2017) with deterministic parameters
{ z2 }
f (x;𝜃)dx |𝜃q ∈ 𝜃̄q𝛼 , 1 ≤ q ≤ Q, f (x;𝜃)dx = 1 , for 0 ≤ 𝛼 ≤ 1.
+∞
|
�z1 �−∞
P̄ 𝛼 (X̃ ∈ [z1 , z2 ]) =
| (4)
{ }
xf (x;𝜃)dx |𝜃q ∈ 𝜃q𝛼 , 1 ≤ q ≤ Q, for 0 ≤ 𝛼 ≤ 1,
+∞ +∞
|
�−∞ �−∞
̄ f (x;𝜃)dx = 1 ,
𝜇̄ 𝛼 =
| (5)

{ }
(x − 𝜇) f (x;𝜃)dx |𝜃q ∈ 𝜃q𝛼 , 1 ≤ q ≤ Q, 𝜇 = for 0 ≤ 𝛼 ≤ 1,
+∞ +∞
|
�−∞ �−∞
𝜎̄ 𝛼2 = 2 ̄ xf (x;𝜃)dx ,
| (6)
In this research, the processing times of activities are and variables (Equations 7–21) was formulated using the
represented by fuzzy random variables with fuzzy nor- concept of the expected value of a fuzzy random varia-
mal density functions, and triangular fuzzy numbers ble. This MILP model was tested on several instances of
(TFNs) are employed to represent all fuzzy parameters 𝜃̄q, benchmark problems, and solved using a CPLEX 12.6.01
1 ≤ q ≤ Q. A fuzzy normal density is shown as N(𝜇, ̄ 𝜎̄ 2 ), solver. The results indicated that whilst the CPLEX solver
wherein only the values of μ and σ have become fuzzy
2
was able to find integer solutions to most of the problem
compared to the crisp normal density N(μ, σ2). Buckley instances attempted, it failed to do so for a significant
(2005) provides the result that the fuzzy mean of N(𝜇,
̄ 𝜎̄ 2 ) number of cases. Furthermore, the computation time
equals to 𝜇̄ and its fuzzy variance is 𝜎̄ 2. taken varied considerably. This forms the motivation to
introduce a self-adaptive DE hyper-heuristic algorithm
3.  Problem description and formulation to solve the FS-RCPSP.

The problem under study is Fuzzy Stochastic-RCPSP ( ) ( ) ( )


(FS-RCPSP), which is a variant of RCPSP considered MinZ = 𝜔1 fn+1,1 − fn+1,2 + 𝜔2 fn+1,2 + 𝜔3 fn+1,3 − fn+1,2
in an uncertain environment in which randomness (7)
and fuzziness in the estimate of activity durations exist s.t.
simultaneously.
In FS-RCPSP, a single project consisting of n  +  2
xij = 1 ∀(i, j) ∈ E (8)
activities is considered. The activities are numbered 0
to n + 1, where 0th and (n + 1)th activities are start and xij + xji ≤ 1 ∀(i, j) ∈ V 2 , i ≠ j (9)
end dummy activities, respectively. Each activity j cannot
xi𝜅 ≥ xij + xj𝜅 − 1 ∀(i, j, 𝜅) ∈ V 3 , i ≠ j, j ≠ 𝜅, i ≠ 𝜅
be interrupted once in progress (i.e., pre-emption is not
allowed), and can only be started after all its immediate
(10)
predecessor activities i (i ∊ IPj) have finished (i.e., prec-
edence constraint). We have L renewable resources (e.g., fi,1 ≤ fj,1 − xij (dj,1 + M) + M ∀(i, j) ∈ V 2 , i ≠ j
equipment and human resources), and each resource (11)
l ∊ L has a limited capacity Rl (1 ≤ l ≤ L) throughout the
project duration. Each activity j requires rjl (0 ≤ j ≤ n + 1, fi,2 ≤ fj,2 − xij (dj,2 + M) + M ∀(i, j) ∈ V 2 , i ≠ j
1 ≤ l ≤ L) units of resource l once in progress. The sum of (12)
resource requirements for resource l at any time period
t cannot exceed Rl (i.e., resource constraint). The pro- fi,3 ≤ fj,3 − xij (dj,3 + M) + M ∀(i, j) ∈ V 2 , i ≠ j
cessing time of activity j is denoted as d̃ j (0 ≤ j ≤ n + 1) (13)
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 407

fn+1,1 ≥ fi,1
algorithm because of recent developments that made the
∀i ∈ V (14)
algorithm self-adaptive with respect to the need to adjust
fn+1,2 ≥ fi,2
key control parameters associated with many evolution-
∀i ∈ V (15)
ary search algorithms.
fn+1,3 ≥ fi,3
A policy is made up of a sequence of low-level sched-
∀i ∈ V (16)
uling heuristics that are used in the dScheduler module
to come up with an actual project schedule in terms
∀i ∈ V , ∀l ∈ L, i ≠ n

Cijl = ril (17) of activity start times. The dScheduler module follows
j∈V
the current set policy to construct a project schedule in
serial fashion, and ensures that all precedence logic and
∀j ∈ V , ∀l ∈ L, j ≠ 1

Cijl = rjl (18) resource constraints are met. It reports on the value of
i∈V
the objective function attained. The policyEolver module
0 ≤ Cijl ≤ min(ril , rjl )xij ∀(i, j) ∈ V 2 , ∀l ∈ L, i ≠ n, j ≠ 1 uses the objective function evaluation values calculated
by dScheduler as feedback on the goodness of the cur-
(19)
rent policy and evolves the current policy accordingly.
The key aspects in the implementation and execu-
xij ∈ {0, 1} ∀(i, j) ∈ V 2 , i ≠ j (20) tion of SADESP, regarding (1) low-level heauristics;
(2) search representation; and (3) choice of values for
three key control parameters of the DE algorithm, are
f1,1 = f1,2 = f1,3 = 0 (21)
explained in the following sections, followed by a com-
Here, xij is a binary variable denoting that activity j is plete description of the proposed SADESP algorithm
started immediately after the completion of activity i itself.
whenever xij = 1, otherwise xij = 0. Cijl denotes the amount
of resource l directly transferred from activity i to activ-
4.1.  Low-level heuristics
ity j.
In order to minimise the expected completion time There are two kinds of scheduling heuristics: (1)
of the project, 𝜇̄ fn+1 = (fn+1,1 , fn+1,2 , fn+1,3 ), Alipouri et al. Constructive heuristics which generate a feasible sched-
(2017) adopted the technique described in Buckley and ule by adding activities one by one, starting from an
Feuring (2000). First, the problem of minimising the empty schedule, and (2) Improvement heuristics which
fuzzy number 𝜇̄ fn+1 was converted into a multi-objective repeatedly improve feasible schedules obtained by con-
problem; then, the multi-objective problem was con- structive heuristics until a locally optimal solution is
verted into a single-objective problem with the use of obtained (Demeulemeester & Herroelen, 2002). In the
weights ωi ≥ 0, i = 1, 2, 3, ω1 + ω2 + ω3 = 1 (Equation current study, we use well-known, easy-to-implement,
7). Equation (8) introduces the precedence relations and computationally efficient constructive heuristics as
between the activities. Activity i precedes activity j low-level heuristics. Constructive heuristics have two
whenever xij = 1, otherwise xij = 0. Constraint (9) is a major components: (1) A priority rule which determines
transitive constraint and constraint (10) ensures that no the order in which the activities are called to build a
cycles exist in the network. Constraints (11)–(16) are schedule and (2) a schedule generation scheme (SGS)
employed for setting the completion times of activities. which is the method used to generate a feasible schedule
Constraints (17)–(19) are resource flow constraints. based on a priority rule. There are two possible schedule
Constraint (19) ensures that the resource flow values generation schemes, namely Serial-SGS and Parallel-
are limited to min (ril, rjl) of arc (i, j) if the arc exists. SGS. A Serial-SGS adds activities to the schedule in
Constraints (17) and (18) have been devised to ensure serial fashion until all activities have been scheduled;
that the incoming flow on node i is equal to the outgoing each activity is scheduled to completion before the next
flow from that node. activity is considered. In contrast, a Parallel-SGS builds
a schedule by iteratively deciding over a set of successive
4.  Self-adaptive differential evolution of decision points which activities to schedule. In this study,
scheduling policy (SADESP) Serial-SGS is used together with constructive heuristics
to generate the schedules. The 12 constructive heuristics
The architecture of the proposed SADESP is composed used in this study are shown in Table 1.
of two key modules: (1) a metaheuristic search strat-
egy based on Differential Evolution (Storn & Price,
1997) which makes decisions on scheduling policy, 4.2.  Solution representation
and evolves scheduling policy (policyEvolver); and (2) In a hyper-heuristic algorithm, the search is at a level
a dynamic scheduling procedure (dScheduler) which higher than the actual problem solution itself. In
makes scheduling decisions using a particular schedul- SADESP, the DE search finds good policies as solutions
ing policy. Differential Evolution was chosen as a search to the scheduling problem. Each policy, represented
408 Y. ALIPOURI ET AL.

Table 1. Constructive heuristics utilised as low-level heuristic in


the proposed SADESP.
Scheduling
Heuristic No. Heuristic name scheme Priority rule
1 h1 Serial-SGS RND: Priority list
is generated
randomly Figure 1. An example for solution representation.
2 h2 Serial-SGS SPT: Shortest
Processing
Time
3 h3 Serial-SGS LPT: Longest
Processing
Time
4 h4 Serial-SGS MIS: Most Figure 2. The heuristic call list (HCL).
Immediate
Successors
5 h5 Serial-SGS GRPW: Greatest
Rank Position-
4.3.  Constructing the initial population
al Weight
6 h6 Serial-SGS EST: Earliest Table 2 shows the proposed algorithm of this paper for
Start Time constructing the initial population of candidate policy
7 h7 Serial-SGS EFT: Earliest
Finish Time
solutions. For each individual Ik0, 1 ≤ k ≤ NP, in order
8 h8 Serial-SGS LST: Latest Start to generate the first vector Hk0, 1  ≤  k  ≤  NP, the algo-
Time rithm iteratively selects a random low-level heuristic
9 h9 Serial-SGS LFT: Latest
Finish Time and assigns its related integer number to the first empty
10 h10 Serial-SGS MSLK: Mini- place in vector Hk0. Then, the selected low-level heuristic
mum Slack
11 h11 Serial-SGS GRD: Greatest is transferred from the low-level heuristics pool HP into
Resource a tabu list TL and is kept there until no heuristic exists
Demand
12 h12 Serial-SGS GCUMRD: in the low-level heuristics pool. In order to generate the
Greatest second vector Ck0 , 1 ≤ k ≤ NP, a random integer num-
Cumulative
Resource
ber cd,k
0
from the interval [0, 𝜏], where τ is an arbitrary
Demand positive integer number, is assigned to eachD low-level
∑ 0
heuristic h0d,k in the first vector Hk0, such that cd,k = n.
d=1
This procedure is continued until NP individuals have
as an individual in a population of candidate poli-
IkG
been produced. Storn and Price (1997) suggested that a
cies, consists of a pair of vectors, HkG and CkG of equal
reasonable value for NP can be selected from the inter-
length D and aligned by index position. The first vec-
val [5D,10D], where D is the length of the individual.
tor, HkG = (hG1,k , … , hGD,k ), contains integer numbers cor-
Decreasing the value of NP increases the chance of pre-
responding to low-level heuristics (see Table 1) and also
mature convergence; hence, here the largest value in the
indicates the sequence in which the heuristics are used to
range, 10D, is adopted for NP. After generating the initial
build a schedule. The second vector, CkG = (c1,k G G
, … , cD,k ),
population, each individual is evaluated by the fitness
is a sequence of integer numbers cd,k indicating the num-
G
evaluation process discussed in Section 4.5.
ber of successive calls to the corresponding low-level
heuristic hGd,k when selecting a new activity to schedule,
≥ 0 and
∑D
4.4.  Generating new solutions
such that cd,k
G G
cd,k = n. A Heuristic Call List
d=1 SADESP generates new solutions using mutation and
(HCL), denoted as HCLGk, can be constructed from the crossover operators. In order to generate a mutant solu-
information in the pair of vectors to indicate which heu- tion VIkG+1 = (VHkG+1 , VCkG+1 )from a target individual IkG,
ristic and the number of times it will be used to schedule three mutually different solutions IrG1 , IrG2 , and IrG3 different
activities. from IkG, are picked at random from the current popula-
Figure 1 depicts an example solution with D = 5 for tion. The following calculations are then performed on
a problem with 10 non-dummy activities. Given this the first and second vectors of these individuals:
1 ≤ k ≤ NP (22)
solution, the low-level heuristics are called in the order
depicted in Figure 2 to select and schedule activities VHkG+1 = HrG1 + FkG ⋅ (HrG2 − HrG3 ),

1 ≤ k ≤ NP (23)
that have not been scheduled. The schedule generating
(decoding) process based on the proposed representa- VCkG+1 = CrG1 + FkG ⋅ (CrG2 − CrG3 ),
tion method is discussed in Section 4.5. To the best of where for each individual in the current population the
our knowledge, the dual vector representation of a policy value of scaling factor FkG is randomly selected from a
scheme proposed here is novel.
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 409

Table 2. The algorithm for randomly generating the initial ∑


D

population in SADESP. It is possible that the constraint G+1


ucd,k = n is vio-
d=1 D
Set parameter τ and for each individual Ik0, 1 ≤ k ≤ NP, create two ∑ G+1
empty vectors Hk0 and Ck0 with size D, where Hk0 = {h01,k , … , h0D,k } and lated. In this case, considering 𝜙 = n − ucd,k , if ϕ > 0,
d=1
Ck0 = {C1,k
0 0
, … , CD,k }.
ϕ elements with the values less than τ are selected from
HP ← All low-level heuristics
TL = [ ]
FOR k = 1 to NP UCkG+1 and all of them are incremented by 1. If ϕ < 0, |𝜙|
 FOR d = 1 to D elements with the values more than zero are selected
  IF HP = φ
   TL = [ ]
from UCkG+1 and all of them are decremented by 1.
   HP ← All low-level heuristics An example to illustrate the mutation and crossover
  END IF procedure described above is shown in Figure 3.
  hs ← Randomly Select a heuristic from HP
  h0d,k = s
  TL = TL ∪ {hs}
  Remove hs from HP 4.5.  Fitness evaluation and selection
  Cd,k = ⌈rand[0, 1] ∗ 𝜏⌉
0
In order to evaluate an individual, the expected makespan
 END FOR
  𝜙 = n − sum(Cd,k0
) is calculated. As explained in Section 3, the processing
 IF ϕ > 0 time of each activity i is modelled as fuzzy random num-
  Randomly select ϕ elements with the values less than τ and incre-
ment them by 1. ber with a normal distribution N(𝜇̄ i , 𝜎̄ i2 ) and the values
 ELSE IF ϕ < 0 of 𝜇̄ i and 𝜎̄ i2 are assumed to be triangular fuzzy numbers.
  Randomly select |𝜙| elements with the values more than zero and
increment them by −1. Based on the fuzzy probability theory of Buckley (2005),
 END IF the fuzzy expected duration of each activity i with fuzzy
END FOR
normal density N(𝜇̄ i , 𝜎̄ i2 ) is equal to 𝜇̄ i. As a result, the
expected makespan is also a triangular fuzzy number
which can be calculated using the expected durations
normal distribution over in the range (0,2] with a mean
of activities. The most optimistic, most likely, and most
of 0.5 and a standard deviation of 0.3 (see Section 4.6).
pessimistic values of expected durations of activities
After generating the mutant solutions, the trial solu-
(i.e., di,1, di,2, di,3, respectively), are used to calculate
tion UIkG+1 = (UHkG+1 , UCkG+1 ) is formed for each target
the most optimistic, most likely, and most pessimistic
solution IkG = (HkG , CkG ) using the following crossover
values of the expected makespan (i.e., fn+1,1, fn+1,2, and
equations:

if randh(d) ≤ CRkG or d = rndd(k)


{
, 1 ≤ k ≤ NP and d = 1, 2, … , D
G+1
vhd,k
hd,k if randh(d) > CRkG and d ≠ rndd(k)
G+1
uhd,k = G (24)

if randc(d) ≤ CRkG or d = rndd(k)


{
, 1 ≤ k ≤ NP and d = 1, 2, … , D
G+1
vcd,k
if randc(d) > CRkG and d ≠ rndd(k)
G+1
ucd,k = G
cd,k (25)

where randh(d) and randc(d)are the random numbers


fn+1,3, respectively). Therefore, each individual policy is
∊ [0, 1], CRkG is the crossover constant ∊ [0, 1], and rnd-
used three times on (1) the most optimistic values of the
d(k) ∊ {1, …, D} is a randomly chosen index.
expected durations of activities, di,1, (2) the most likely
The resulting values for UHkG+1 and UCkG+1 are real
values of the expected durations of activities, di,2, and (3)
values, which are transformed into integer values using
the most pessimistic values of the expected durations
the following equations:
of activities di,3. In each of these cases, at each iteration
⎧ 1 if uhG+1 < 1 the next low-level heuristic in the HCL of the individual
G+1 ⎪ d,k is called for improving the schedule. This means that,
uhd,k G+1
= ⎨ nh if uhd,k > nh (26) an unscheduled activity, which is ready for processing
� �
⎪ uhG+1 otherwise
⎩ d,k and with the highest priority according to the chosen
low-level heuristic, is selected and scheduled as early as
possible by taking into account the resource and prec-
⎧ 0 if uc G+1 < 0 edence constraints. This process is continued until all
G+1 ⎪ d,k activities have been scheduled. This process follows the
ucd,k G+1
= ⎨ 𝜏 if ucd,k >𝜏 (27) serial schedule generation scheme (Serial-SGS).
� �
⎪ uc G+1 otherwise
⎩ d,k The expected makespan of the project,
𝜇̄ fn+1 = (fn+1,1 , fn+1,2 , fn+1,3 ) is constructed from the results
of optimum seeking schedules using di,1, di,2, anddi,3.
where ⌊⋅⌋ denotes the nearest integer less than or equal
Equation (7) is used to assign a crisp fitness value Z to
to the real value.
evaluate each individual policy. This only happens at
410 Y. ALIPOURI ET AL.

(a)

(b)

Figure 3. Generating a new solution: (a) mutation and (b) crossover.

the end of the crossover operation, when an individual variables, we adopt the process suggested in Qin, Huang,
target solution is compared with its trial solution – the and Suganthan (2009) for self-adapting the control
one with the smaller value of Z has the higher fitness parameters FkGand CRkG. The parameter NP is the only
and is selected to be included in the next population and parameter that needs to be specified by the analyst. As
the other one is discarded. It is possible that the weights explained earlier, we choose 10D for NP to ensure suf-
ωi ≥ 0, i = 1, 2, 3 in Equation (7) may affect the perfor- ficient variety to address problem complexity. In order
mance of the SADESP. This is taken up as a sensitivity to keep both exploitation (with small FkGvalues) and
study and discussed in Section 5.2 of this paper. exploration (with large FkGvalues) abilities, Qin et al.
Using the expected values of the optimistic, pessi- (2009) proposed to approximate FkG by a normal distri-
mistic and most likely activity durations does not ignore bution with mean 0.5 and standard deviation 0.3, i.e.,
randomness, since these expected values are descriptive N(0.5,0.3). In addition, they proposed to use the normal
quantities based on the probability distributions of fuzzy distribution N(CRm,0.1) to approximate CRkG. The value
random variables. Three schedule optimization runs are of CRm is set to 0.5 during the first LP (learning period)
made with these activity duration estimates rather than generations and within this learning period (LP) those
just a single run. CRkG values that have generated trial vectors successfully
entering the next generation are stored in a memory
4.6.  Self-adaptation of control parameters named CRMemory. In each generation after the LP gen-
erations, the median of values in CRMemory is assigned
SADESP has three control variables: NP, FkG, and CRkG. to CRm and new CRkG values are generated based on
Inappropriate choice of these parameters may lead to this CRm; promising CRkG values replace less promising
premature convergence or stagnation. In order to auto- values in CRMemory.
mate the selection of the best values for the control
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 411

4.7.  SADESP algorithm 5.  Performance evaluation


The algorithmic description of the proposed SADESP for In this section, some computational results are presented
solving FS-RCPSP is summarised in Table 3. to evaluate the performance of the proposed SADESP to
solve the FS-RCPSP. All the experiments were performed
on a laptop with the Windows 7 operation system, Intel
Core 2 Duo and a CPU at 2.00 GHz. The coding was
Table 3. The algorithmic description of the proposed SADESP
performed using the Matlab programming language. In
for solving FS-RCPSP.
Section 5.1 the tested benchmark problem instances are
Step 1. Read data related to the problem at hand: the number of
non-dummy activities to be scheduled (n), expected processing time of described. In Section 5.2 a sensitivity analysis is car-
each activity i (i = 0, …, n + 1) as triangular fuzzy number (di,1, di,2, di,3), ried out to investigate the effects of different settings
precedence relations, resource requirement of each activity, resource
availabilities for the weights 𝜔i ≥ 0, i = 1, 2, 3 on the performance of
Step 2. For each low-level heuristic calculate three activity lists using the proposed algorithm. Section 5.3 is devoted to the
activity durations di,1, di,2, and di,3 (0 ≤ i ≤ n + 1), respectively
Step 3. Set the parameters D, NP, CRm, and learning period LP, and also
computational results itself.
set the generation number G = 0. Set the values of ω1, ω2, and ω3 to
user-defined values
Step 4. Randomly initialize a population of NP individuals: 5.1.  Test instances
P G = {I1G , I2G , … , INP
G
} with IkG = (HkG , CkG ), k = 1, …, NP, where
HkG = {H1,k G
, … , HD,kG
} and CkG = {C1,k G G
, … CD,k } Since there is no benchmark problem set for RCPSP
Step 5. Evaluate the population via the process discussed in Section 4.5
Step 6. WHILE stopping criteria are not satisfied:
with fuzzy random activity times, we follow Alipouri
 Do et al. (2017) and take the J30 and J60 sets of benchmark
  Step 6.1. Assign control parameters FkG and CRkG to each target individ- problems from the PSPLIB (see site: http://www.om-db.
ual IkG.
  FOR k = 1 to NP wi.tum.de/psplib/data.html) as the base and generate
  FkG = Normrnd(0.5,0.3) problems with fuzzy random activity durations. Both
  IF G ≥ LP
    CRm = median(CRMemory)
sets have been systematically generated by the standard
  END IF project generator ProGen and consist of 480 instances,
  CRkG = Normrnd(CRm,0.1) all with 4 resource types. The problem instances in J30
  WHILE CRkG < 0 or CRkG > 1
    CRkG = Normrnd(CRm,0.1)
and J60 have, respectively, 30 and 60 non-dummy activ-
  END WHILE ities. These instances are organised into 96 groups (i.e.,
 END FOR 48 groups for J30 and 48 groups for J60), each group
  Step 6.2. Mutation phase:
 FOR k = 1 to NP containing 10 problems.
  Select three individuals different from the indexed target individual, The durations of all activities are assumed to be
IkG
   Generate a mutant individual VIkG+1 = (VHkG+1 , VCkG+1 ) using Equa- fuzzy normal variables and the calculations are car-
tions (22) and (23), ried out based on the expected values of the durations,
  where VHkG+1 = {VH1,k G+1 and
𝜇̄ di = (di,1 , di,2 , di,3 ), 0  ≤  i  ≤  n  +  1, which are triangu-
G+1
, … , VHD,k }
G+1 G+1 G+1 .
VC = {VC , … , VC }
k 1,k D,k
lar fuzzy numbers. Triangular fuzzy estimates for the
 END FOR
  Step 6.3. Crossover phase: expected duration of the activities are generated as fol-
  Using the indexed target individual IkG and its corresponding mutant lows: di,2, 0 < i < n + 1, is set to the deterministic estimate
individual VIkG+1 for activity i, and di,1 and di,3, 0 < i < n + 1, are calculated
   FOR k = 1 to NP
    rndd(k) = ⌊rand[0, 1) ∗ D⌋ as di,1 = di,2 − 2 and di,3 = di,2 + 3, respectively; di,1 is con-
    FOR d = 1 to D strained to be non-zero. Finally, the expected durations
     Generate a trial individual UIkG+1 = (UHkG+1 , UCkG+1 ) using
Equations (24)–(27), of the start and end dummy activities are set to (0,0,0).
     where UHkG+1 = {UH1,k G+1 G+1 and
, … , UHD,k }
G+1 G+1 G+1 .
UC = {UC , … , UC }
k 1,k D,k
5.2.  Sensitivity analysis
   END FOR
  END FOR
  Step 6.4. Selection phase:
A sensitivity analysis was carried out to investigate the
  FOR k = 1 to NP effects of different settings for the weights of the objective
  Evaluate the trial individual UIkG+1 using the process discussed in function in order to find an appropriate setting for them.
Section 4.5
  IF Z(UIkG+1 ) ≤ Z(IkG ) 96 benchmark problems selected randomly from the 96
  IkG+1 = UIkG+1, Z(IkG+1 ) = Z(UIkG+1 ) groups of problems generated in Section 5.1. These were
  Store CRkG into CRMemory solved to optimality with the stopping criteria of 500,
  ELSE
5000, 50,000, and 100,000 computed schedules. The
different scenarios for the weights 𝜔i ≥ 0, i = 1, 2, 3 are
   IkG+1 = IkG, Z(IkG+1 ) = Z(IkG )
  END IF
 END FOR
  Step 6.5. Increment the generation count G = G + 1
shown in Table 4.
Step 7. END WHILE
412 Y. ALIPOURI ET AL.

Figure 4. Results of the sensitivity analysis.

For each of the scenarios in Table 4, the mean of the any benchmark problems, and only provided an exam-
defuzzified makespans for both sets J30 and J60 are ple comprising 7 activities to illustrate their procedure.
reported in Figure 4. In this figure, the x-axis shows the Hence, in this paper, the performance of the proposed
name of the scenarios and the y-axis shows the mean SADESP algorithm will be compared with that obtained
of the defuzzified makespans. The well-known centroid by Alipouri et al. (2017) using the CPLEX solver in
of area (COA) method is employed to defuzzify fuzzy AIMMS software to solve the 960 benchmark problem
numbers. As seen in Figure 4, an increase in the value instances identified earlier. Comparing against CPLEX
of ω2 (from scenario 1 to 8 for 5000, 50,000, and 100,000 provides quantitative results that are easily reproducible
computed schedules and from scenario 1 to 9 for 500 by other researchers.
computed schedule) leads to a decrease in defuzzified Based on the sensitivity analysis carried out in Section
makespans of both sets. However, from scenario 8 to 5.2, the values of ω1, ω2, and ω3 are set to 0.1, 0.8, and 0.1,
scenario 10 (from scenario 9 to scenario 10 for 500 com- respectively. Based on some pre-evaluation experiments,
puted schedule), increasing the value of ω2 increases the the parameter τ in SADESP is set to 10 and 15 for J30
defuzzified makespans. Therefore, based on this sensitiv- and J60 problem sets, respectively. Tables 5 and 6 depict
ity analysis we focus on scenarios 8 and 9 to set suitable the results obtained by applying the proposed SADESP
values for the weights 𝜔i ≥ 0, i = 1, 2, 3. Since scenario algorithm to solve the project instances generated from
8 results in better values for the mean of the defuzzified J30 and J60 sets. In both tables, for each group the mean
makespans for 6 out of 8 cases, we have adopted the of the objective values (Mean of Z) and the mean of the
values in this scenario for calculating the fitness values computation times used (Mean of CPU) for 500, 5000,
in SADESP. 50,000, and 100,000 computed schedules are reported.
In addition, the results reported in Alipouri et al. (2017)
5.3.  Computational results are reproduced in this table under the CPLEX column
for comparison.
In the literature, so far Alipouri et al. (2017) and Nematian
et al. (2010) are the only two studies that have proposed 5.3.1.  Results for J30
a method to solve FS-RCPSP. The latter study did not The CPLEX solver was unable to find an integer solution
report any results from applying their MILP model on for all problem instances in groups j30_9, j30_13, j30_25,

Table 4. Different scenarios for the setting of weights.


Scenario
Weights Scenario 1 Scenario 2 Scenario 3 Scenario 4 Scenario 5 Scenario 6 Scenario 7 Scenario 8 Scenario 9 10
ω1 and ω3 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0
ω2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 413

Table 5. Results of SADESP from solving 480 problems (48 groups) generated from J30 sets.
CPLEX SADESP (500) SADESP (5000) SADESP (50,000) SADESP (100,000)
Mean of Mean of Mean of Mean of Mean of
No. Group Mean of Z CPU (s) Mean of Z CPU (s) Mean of Z CPU (s) Mean of Z CPU (s) Mean of Z CPU (s)
1 j30_1 40.40 365.57 43.31 39.40 43.01 385.59 42.93 3744.78 40.75 7568.43
2 j30_2 38.62 13.11 39.48 40.39 39.34 403.35 39.07 3985.62 38.62 8126.23
3 j30_3 48.84 1.14 49.85 43.54 49.77 423.81 49.77 4124.54 49.15 8243.15
4 j30_4 42.06 0.38 42.04 42.56 42.02 415.40 41.97 4127.96 41.93 7992.04
5 j30_5 58.50 5308.60 62.24 45.34 59.85 456.06 58.35 4415.81 56.94 8342.16
6 j30_6 41.15 3821.49 44.19 42.19 43.4 416.32 42.84 4162.82 42.09 8265.25
7 j30_7 38.09 45.18 39.63 42.36 39.13 417.71 38.79 4174.76 38.39 8326.16
8 j30_8 40.82 1.99 40.93 40.70 40.93 395.31 40.91 3659.13 40.78 7953.77
9 j30_9 N/A 4934.15 69.7 43.75 67.26 433.49 64.76 4292.28 62.9 8234.62
10 j30_10 43.64 3767.31 42.99 45.06 42.46 445.10 42.32 4172.70 42.32 8122.30
11 j30_11 45.67 3027.07 46.45 41.57 46.07 423.93 45.81 4156.25 45.35 8256.12
12 j30_12 40.20 8.87 40.23 40.64 40.23 393.72 40.23 3944.05 40.23 8066.26
13 j30_13 N/A 3369.70 68.12 44.00 65.48 438.91 64.31 4316.21 61.88 8421.26
14 j30_14 42.89 6517.80 44.11 43.80 43.43 432.28 42.98 4245.28 42.31 8168.16
15 j30_15 43.85 2620.86 44.49 44.21 44.06 436.07 43.9 4282.68 43.6 8421.11
16 j30_16 37.27 178.35 37.48 43.85 37.38 426.10 37.23 4131.68 37.23 7939.15
17 j30_17 47.82 38.83 49.92 41.60 49.61 419.81 48.84 4137.58 47.87 8224.40
18 j30_18 44.53 1.43 45.39 41.68 45.03 421.08 44.6 4216.36 44.42 8061.22
19 j30_19 42.25 16.53 43.4 43.14 43.02 422.39 42.55 4270.34 42.25 8155.12
20 j30_20 41.43 3.23 41.87 42.24 41.81 416.74 41.52 4210.13 41.44 8325.32
21 j30_21 58.96 13,411.07 62.73 47.56 60.77 436.29 59.65 4366.68 57.87 8065.16
22 j30_22 44.54 2702.73 46.25 44.80 46.12 440.41 45.56 4362.68 44.61 8233.13
23 j30_23 45.84 385.11 47.72 44.59 47.55 442.14 46.71 4408.77 45.88 8316.14
24 j30_24 42.19 4.47 42.66 42.13 42.47 430.38 42.26 4282.74 42.19 8398.46
25 j30_25 N/A 5482.67 71.59 45.46 68.61 684.36 66.55 4501.33 64.00 8763.16
26 j30_26 46.92 4101.51 48.36 45.01 47.73 451.02 47.16 4407.45 46.68 8536.15
27 j30_27 46.57 141.04 48.05 44.69 47.84 433.36 47.58 4401.14 46.43 8011.56
28 j30_28 46.15 3196.74 46.17 44.07 46.17 432.77 46.17 4279.27 46.14 8077.82
29 j30_29 N/A 4596.00 82.13 49.68 78.4 459.98 77.42 4542.69 72.95 8043.55
30 j30_30 48.82 10,739.64 48.15 48.97 47.52 454.92 47.25 4364.46 47.16 8079.88
31 j30_31 45.28 4716.09 45.65 45.03 45.54 440.97 45.47 4382.81 44.89 8012.43
32 j30_32 44.90 48.66 44.95 43.53 44.95 429.71 44.95 4296.50 44.86 8623.18
33 j30_33 49.54 4.65 52.18 45.95 51.96 392.54 51.9 4446.71 50.38 8466.58
34 j30_34 47.85 1.90 48.1 44.67 48.07 440.81 48.07 4385.19 47.83 8523.55
35 j30_35 46.89 10.30 46.89 41.71 46.89 418.25 46.89 4277.12 46.89 8433.15
36 j30_36 46.65 7.03 46.65 42.78 46.65 427.12 46.65 4252.53 46.65 8442.10
37 j30_37 64.03 10,471.41 67.81 45.99 66.26 451.48 65.54 4504.58 64.04 8823.16
38 j30_38 49.55 964.60 51.24 45.51 51.01 452.24 50.3 4488.47 49.83 8522.13
39 j30_39 47.93 13.14 48.24 42.23 47.93 426.32 47.93 4238.93 47.93 8321.16
40 j30_40 45.69 1.72 45.87 41.83 45.69 423.41 45.69 4186.02 45.69 8522.88
41 j30_41 86.41 6045.91 82.93 49.35 80.61 483.00 79.52 4727.40 75.04 8369.16
42 j30_42 51.61 9401.20 52.11 47.02 51.74 459.20 51.52 4397.38 51.21 8590.20
43 j30_43 47.51 5734.81 49.23 45.45 48.86 448.23 48.52 4477.95 47.68 8566.16
44 j30_44 44.65 3.22 44.64 42.24 44.64 431.27 44.64 4288.79 44.64 8346.13
45 j30_45 89.08 6211.25 87.03 46.36 85.08 467.26 83.94 4509.05 82.77 8324.08
46 j30_46 51.78 10,143.28 51.34 46.37 50.8 461.02 50.6 4516.25 50.17 8346.50
47 j30_47 45.95 3577.96 47.45 45.88 47.22 448.94 46.9 4465.96 46.00 8003.18
48 j30_48 45.31 3.13 45.31 42.67 45.31 424.43 45.31 4269.96 45.31 8046.13

and j30_29, resulting in a corresponding “N/A” entry in Bold numbers in the columns of Table 5 show where
Table 5. This was also the case for two instances in group either CPLEX or SADESP has performed better. In 31
j30_41, and five instances in group j30_45. The results of of the 48 groups, SADESP performed better in terms of
CPLEX for these two groups are only for those problem the mean of the schedules for problem instances in these
instances for which it was able to find integer solutions groups, whilst for the remaining 17 groups, CPLEX per-
and are differentiated in italics from other results in formed better in 10 of the groups, and both algorithms
Table 5. In contrast, SADESP was able to find integer were tied in 7 groups. SADESP was able to improve the
solutions for all 480 instances of J30. The computation quality of the solution with more trials. In 12 groups,
time taken by SADESP scales proportionally with the SADESP was only able to do better than CPLEX with
number of schedules evaluated, and the distribution of 100,000 trials, although the margin between the two
computation times for SADESP was fairly uniform – results was small. Results in the greyed cells indicate
a testimony to the low computational cost of applying where SADESP was able to come within 2% of the
low-level heuristics. On the other hand, the computation exact solution. Where SADESP beat CPLEX, the aver-
time taken by CPLEX was highly variable, from a low of age margin between the mean results was 0.96% with
0.38s to a high of 13,411.07s. Corresponding figures for some groups showing larger margins, e.g., j30_5 (2.67%),
SADESP are a low of 39.402s and a high of 49.682s for j30_10 (3.0%), j30_30 (3.4%) and j30_46 (3.11%). Where
500 schedule evaluations. CPLEX beat SADESP, the average margin was 0.41%
414 Y. ALIPOURI ET AL.

Table 6. Results of SADESP from solving 480 problems (48 groups) generated from J60 sets.
CPLEX SADESP (500) SADESP (5000) SADESP (50,000) SADESP (100,000)
Mean of Mean of Mean of Mean of Mean of
No. Group Mean of Z CPU (s) Mean of Z CPU (s) Mean of Z CPU (s) Mean of Z CPU (s) Mean of Z CPU (s)
1 j60_1 61.95 13,712.01 70.97 74.99 68.03 751.82 64.54 7353.53 62.19 14,362.25
2 j60_2 55.09 327.22 57.39 79.39 56.57 806.38 55.60 8448.72 55.21 15,263.11
3 j60_3 57.73 897.56 58.85 66.93 58.34 662.83 57.96 5861.45 57.73 14,900.88
4 j60_4 56.97 0.87 56.95 63.63 56.95 660.33 56.95 6341.98 56.95 14,766.54
5 j60_5 N/A 8926.37 88.41 73.98 84.23 733.13 80.99 7386.01 78.21 14,908.26
6 j60_6 56.89 14,128.38 59.53 76.12 58.05 735.20 57.09 7255.06 56.98 14,866.57
7 j60_7 57.76 230.03 59.01 64.54 58.48 635.99 58.32 6447.55 57.96 14,004.26
8 j60_8 56.50 25.09 56.53 67.46 56.53 654.08 56.53 6512.90 56.50 13,994.45
9 j60_9 N/A 15,389.13 98.64 72.17 95.44 701.72 90.55 6881.58 86.49 13,958.22
10 j60_10 59.95 21,836.5 63.43 73.04 62.22 716.05 61.49 7288.70 61.06 14,696.55
11 j60_11 54.91 3721.25 55.30 72.94 55.08 732.79 54.99 7044.60 53.89 14,776.45
12 j60_12 53.10 122.26 53.09 69.31 53.09 683.41 53.09 6567.98 53.09 13,980.22
13 j60_13 N/A 3369.7 102.71 74.19 99.83 725.54 98.67 7120.30 92.36 14,378.93
14 j60_14 60.48 4490.7 58.99 73.64 57.77 728.28 57.64 7157.34 57.59 14,425.78
15 j60_15 60.60 1871.2 61.13 70.70 60.79 706.77 60.74 7215.42 60.65 14,680.23
16 j60_16 53.02 253.22 53.16 66.01 53.16 640.05 53.16 6830.72 53.09 13,457.65
17 j60_17 61.42 11,746.37 73.17 70.59 71.13 703.39 70.67 7026.26 68.54 14,030.49
18 j60_18 63.37 124.58 67.41 69.86 66.79 695.68 66.78 7083.53 64.86 14,365.32
19 j60_19 59.86 27.45 61.19 68.40 61.15 665.94 61.06 6577.94 59.86 13,908.25
20 j60_20 60.87 0.56 61.13 65.41 60.97 637.68 60.95 6355.65 60.87 13,963.24
21 j60_21 N/A 17,342.3 99.55 73.13 92.13 720.93 84.20 7480.96 81.29 14,805.46
22 j60_22 N/A 213,782.2 64.45 71.86 62.55 715.67 61.20 7067.81 60.14 14,069.19
23 j60_23 59.04 147.28 60.17 70.81 60.02 694.64 60.02 6883.10 59.04 13,904.29
24 j60_24 58.30 22.41 58.33 64.73 58.33 638.03 58.33 6329.22 58.30 14,334.45
25 j60_25 N/A 8937.23 107.67 66.41 103.13 692.33 93.38 7030.44 83.65 14,288.71
26 j60_26 52.97 4138 65.53 70.28 63.81 704.45 63.64 7062.02 63.64 14,375.12
27 j60_27 61.60 5026.36 62.37 71.01 62.10 720.64 62.08 7100.68 61.73 14,322.45
28 j60_28 61.91 54.86 61.90 68.76 61.90 691.77 61.89 6825.07 61.89 13,864.22
29 j60_29 N/A 16,283.7 120.46 72.71 117.04 720.55 104.47 7159.03 95.33 14,364.66
30 j60_30 66.46 12,562.18 68.88 74.41 67.82 723.68 67.44 7076.12 67.44 13,949.28
31 j60_31 58.24 6221.54 58.62 70.58 58.38 704.59 58.29 6975.94 58.29 13,761.44
32 j60_32 65.12 178.37 65.13 67.10 65.13 687.44 65.13 6867.81 65.12 14,076.16
33 j60_33 73.02 4605.7 82.74 76.02 80.56 717.23 80.08 7141.38 74.26 14,792.13
34 j60_34 62.51 1398.67 65.81 69.77 65.24 692.57 65.19 7051.22 63.48 14,041.46
35 j60_35 63.10 13.5 65.52 71.23 65.40 701.63 65.16 6895.33 64.26 13,908.26
36 j60_36 60.44 0.62 60.48 71.15 60.48 697.73 60.42 6923.23 60.42 13,983.23
37 j60_37 N/A 11,231.45 104.77 76.35 100.03 732.17 90.98 7292.32 88.49 14,720.47
38 j60_38 63.59 7525.78 67.00 71.17 66.02 724.42 65.87 7105.25 65.55 14,853.73
39 j60_39 64.34 4845.14 65.71 72.71 65.22 718.27 64.67 7216.23 64.36 14,315.29
40 j60_40 64.43 5.25 64.41 73.52 64.41 746.35 64.41 7051.77 64.41 13,952.16
41 j60_41 N/A 14,651.5 124.31 74.07 120.49 752.74 112.17 7243.21 99.28 14,762.11
42 j60_42 N/A 7638.2 70.65 78.28 68.63 747.88 67.39 7271.19 66.16 14,236.19
43 j60_43 65.34 7834.66 66.57 73.42 66.32 713.17 66.32 7035.51 65.34 14,729.10
44 j60_44 62.08 45.82 62.14 68.07 62.12 685.93 62.08 6906.80 62.08 13,942.72
45 j60_45 N/A 19,456.3 118.43 77.00 119.22 820.96 105.45 7362.46 98.22 14,326.30
46 j60_46 N/A 6738.4 72.14 75.49 70.54 744.04 68.16 7203.48 66.28 14,235.16
47 j60_47 60.67 11,851.27 61.50 74.32 60.94 732.21 60.91 7161.23 60.64 13,992.15
48 j60_48 64.37 149.32 64.36 71.65 64.36 698.52 64.35 7036.00 64.35 14,233.20

with some large margins occurring for groups j30_6 in 111, 137, and 98 instances, respectively. With more
(2.28%) and j30_33 (1.7%). For all the groups SADESP schedules evaluated, the algorithm improved its perfor-
was able to find solutions within 3% of the exact solution. mance and worked well on about 72.08% (i.e., 346 out of
The average margin between the results returned by the 480) of the problems. The performance of the algorithm
two algorithms was 0.29% in favour of SADESP. improved further with the 50,000 schedule stopping cri-
In the case of 500 computed schedules, SADESP could teria. It could get better results than CPLEX for 126 out
find better objective values than CPLEX for 97 out of of 480 problems; the objective values of both algorithms
480 problems and the objective values for 120 out of 480 were equal in 157 instances, and close (by a margin of 2%
problems were the same for both algorithms, while in 96 or less) in 105 instances. Therefore, with regards to the
instances SADESP values were close (by a margin of 2% stopping criteria of 50,000 schedules, SADESP worked
or less) to those of CPLEX. Therefore, with regards to the well on about 80.84% (i.e., 388 out of 480) of the prob-
stopping criteria of 500 schedules, the proposed SADESP lems. With 100,000 computed schedules, objective values
algorithm worked well on about 65.21% (i.e., 313 out of of SADESP were better than, equal to, and close to (by a
480) of the problems. For the 5000 schedule stopping cri- margin of 2% or less) those of CPLEX in 165, 246, and 54
teria, objective values of SADESP were better than, equal instances, respectively. Therefore, SADESP worked well
to, and close to (by a margin of 2% or less) those of CPLEX on about 96.88% (i.e., 465 out of 480) of the problems.
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 415

5.3.2.  Results for J30 (i.e., 390 out of 480) of the problems. The performance of
Table 6 reports the results obtained on the more chal- the algorithm improved further with the 50,000 schedule
lenging J60 problem set. Only integer solutions were stopping criteria. It could get better results than CPLEX
considered in the calculation of the results. The CPLEX for 188 out of 480 problems; the objective values of both
was unable to find a solution for all problem instances algorithms were equal in 133 instances, and close (by a
in several groups resulting in a N/A entry. For 8 other margin of 2% or less) in 83 instances. Therefore, with
groups, CPLEX was not able to solve all problems in regards to the stopping criteria of 50,000 schedules,
the group (the largest instance being 6 of 10 unsolved SADESP worked well on about 84.17% (i.e., 404 out of
problems in j60_10). In Table 6, the results of CPLEX for 480) of the problems. With 100,000 computed schedules,
these eight groups are only for those problem instances objective values of SADESP were better than, equal to,
for which it was able to find integer solutions and are and close to (by a margin of 2% or less) those of CPLEX
differentiated in italics from other results. In contrast, in 203, 158, and 96 instances, respectively. Therefore,
SADESP was again able to find integer solutions for all SADESP worked well on about 95.21% (i.e., 457 out of
480 instances of J60. The computational time taken by 480) of the problems.
SADESP to solve J60 problems was fairly uniform, from
a low of 63.63s to a high of 73.39s for 500 schedule evalu- 6. Conclusion
ations. However, the computation time taken by CPLEX
was again highly variable, from a low of 0.56s to a high In this study, we proposed a self-adaptive differential
of 213,782.20 s. evolution hyper-heuristic algorithm, named SADESP,
Bold numbers in the columns of Table 6 show where for solving the fuzzy stochastic resource-constrained
either CPLEX or SADESP has performed better. In 28 project scheduling problem (FS-RCPSP). The main
of the 48 groups, SADESP performed better in terms objective was to minimise the expected makespan of the
of the mean of the schedules for problem instances project subject to precedence and resource constraints
in these groups, whilst for the remaining 20 groups, when randomness and fuzziness co-exist in the esti-
CPLEX performed better in 11 of the groups, and both mates of the durations of activities. These uncertainties
algorithms were tied in 9 groups. In groups j60_11 and were represented by fuzzy random variables and opti-
j60_47, SADESP was only able to do better than CPLEX mised schedules were constructed from three estimates
with 100,000 trials, although the margin between the of the expected duration of activities. A new solution
two results was small. For those groups where CPLEX representation scheme for policy-based scheduling
did better, with more trials SADESP was able to come was also proposed. The proposed hyper-heuristic was
within 2% of the exact solution in 16 of the 22 groups tested on an extensive set of 960 problems created by the
(indicated by entries in greyed cells of Table 6). For all ProGen benchmark scheduling problem generator and
the groups, SADESP was able to find solutions within benchmarked against numerical results obtained with
3% of the exact solution. Where SADESP beat CPLEX, the CPLEX solver. The results showed that SADESP
the average margin between the mean results was 0.26%. can obtain very good solutions (within a 2% margin of
Where CPLEX beat SADESP, the average margin was solutions from an exact solver) with low and predictable
0.8% with some large margins occurring for groups computational effort. This makes it a promising can-
j60_18 (2.35%), j60_33 (1.7%), j60_34 (1.55%), and didate for use on real-world problems which involve
j60_35 (1.84%). The average margin between the results uncertain estimates of activity durations.
returned by the two algorithms for problem set J60 was The results also indicate the efficacy of a policy-based
0.24% in favour of CPLEX. approach to dynamic scheduling. SADESP was able to
In the case of 500 computed schedules, SADESP could perform well across a wide variety of problem instances
find better objective values than CPLEX for 183 out of with non-trivial complexity without the need for custom-
480 problems and the objective values for 96 out of 480 ising heuristics or control parameters. Future research
problems were the same for both algorithms, while in 92 should consider testing the DE based hyper-heuristic
instances SADESP values were close (by a margin of 2% on a wider variety of benchmark problems in order to
or less) to those of CPLEX. Therefore, with regards to the validate both the generality and robustness of this pol-
stopping criteria of 500 schedules, the proposed SADESP icy-based hyper-heuristic approach to fuzzy stochastic
algorithm worked well on about 77.29% (i.e., 371 out of resource-constrained project scheduling. Currently, only
480) of the problems. For the 5000 schedule stopping the mean of the activity durations, modelled as fuzzy
criteria, objective values of SADESP were better than, random variables, is used in the calculations of the pro-
equal to, and close to (by a margin of 2% or less) com- posed algorithm. Future studies can consider modelling
pared to those of CPLEX in 187, 107, and 96 instances, other project parameters (e.g., the resource requirements
respectively. Thus, in comparison to its performance of activities) as fuzzy random variables and include the
using 500 computed schedules, the algorithm improved variance of uncertain parameters along with the mean
its performance and could work well on about 81.25% value in the model.
416 Y. ALIPOURI ET AL.

Disclosure statement scheduling problem. Mathematical Methods of Operations


Research (ZOR), 52, 413–439.
No potential conflict of interest was reported by the authors. Elsayed, S., Sarker, R., Ray, T., & Coello, C. C. (2017).
Consolidated optimization algorithm for resource-
constrained project scheduling problems. Information
References
Sciences, 418–419, 346–362.
Alcaraz, J., & Maroto, C. (2001). A robust genetic algorithm Fang, C., Kolisch, R., Wang, L., & Chundi, M. (2015).
for resource allocation in project scheduling. Annals of An estimation of distribution algorithm and new
Operations Research, 102, 83–109. computational results for the stochastic resource-
Alipouri, Y., Sebt, M. H., Ardeshir, A., & Fazel Zarandi, constrained project scheduling problem. Flexible Services
M. H. (2017). A mixed-integer linear programming and Manufacturing Journal, 27(4), 585–605.
model for solving fuzzy stochastic resource constrained Fleszar, K., & Hindi, K. (2004). Solving the resource-
project scheduling problem. Operational Research: An constrained project scheduling problem by a variable
International Journal, 1–12. doi:10.1007/s12351-017- neighbourhood search. European Journal of Operational
0321-x Research, 155, 402–413.
Anagnostopoulos, K., & Koulinas, G. (2012). Resource- Herroelen, W., & Leus, R. (2005). Project scheduling under
constrained critical path scheduling by a GRASP-based uncertainty: Survey and research potentials. European
hyperheuristic. Journal of Computing in Civil Engineering, Journal of Operational Research, 165, 289–306.
26(2), 204–213. Hirota, K. (1981). Concepts of probabilistic sets. Fuzzy event.
Anagnostopoulos, K. P., & Koulinas, G. K. (2010). A genetic Journal of Mathematical Analysis and Applications, 23,
hyperheuristic algorithm for the resource constrained 421–427.
project scheduling problem. In Proceedings of the 2010 Huang, W., Ding, L., Wen, B., & Cao, B. (2009). Project
IEEE Congress on Evolutionary Computation, CEC 2010. scheduling problem for software development with random
Barcelona: IEEE Computer Society Press. fuzzy activity duration times. Berlin Heidelberg: Springer-
Artigues, C., Leus, R., & Talla Nobibon, F. T. (2013). Robust Verlag.
optimization for resource-constrained project scheduling Itoh, T., & Ishii, H. (2005). One machine scheduling problem
with uncertain activity durations. Flexible Services and with fuzzy random due-dates. Fuzzy Optimization and
Manufacturing Journal, 25(1–2), 175–205. Decision Making, 4, 71–78.
Artigues, C., Michelon, P., & Reusser, S. (2003). Insertion Ke, H., & Liu, B. (2007). Project scheduling problem with
techniques for static and dynamic resource-constrained mixed uncertainty of randomness and fuzziness. European
project scheduling. European Journal of Operational Journal of Operational Research., 183, 135–147.
Research, 149, 249–267. Koulinas, G., Kotsikas, L., & Anagnostopoulos, K. (2014).
Boctor, F. F. (1990). Some efficient multi-heuristic procedures A particle swarm optimization based hyper-heuristic
for resource-constrained project scheduling. European algorithm for the classic resource constrained project
Journal of Operational Research, 49, 3–13. scheduling problem. Information Sciences, 277, 680–693.
Bruni, M. E., Di Puglia, L., Beraldi, P., & Guerriero, F. (2017). Kruse, R., & Meyer, K. D. (1987). Statistics with vague data.
An adjustable robust optimization model for the resource- Dordrecht: D. Reidel Publishing Company.
constrained project scheduling problem with uncertain Liu, B. (2002a). Theory and practice of uncertainty
activity durations. Omega, 71, 66–84. programming. Heidelberg: Physica-Verlag.
Buckley, J. J. (2005). Fuzzy probability: New approach and Liu, B. (2002b). Random fuzzy dependent-chance
applications. Studies in Fuzziness and Soft Computing programming and its hybrid intelligent algorithm.
Series. Berlin Heidelberg: Springer-Verlag. Information Sciences, 141, 259–271.
Buckley, J. J., & Feuring, T. (2000). Evolutionary algorithm Mahalleh, M. K. K., Ashjari, B., Yousefi, F., & Saberi, M.
solution to fuzzy problems: Fuzzy linear programming. (2017). A robust solution to resource-constraint project
Fuzzy Sets and Systems, 109, 35–53. scheduling problem. International Journal of Fuzzy Logic
Burke, E. K., Gendreau, M., Hyde, M., Kendall, G., Ochoa, and Intelligent Systems, 17(3), 221–227.
G., Özcan, E., & Qu, R. (2013). Hyper-heuristics: A survey Nematian, J., Eshghi, K., & Eshragh-Jahromi, A. (2010). A
of the state of the art. Journal of the Operational Research resource-constrained project scheduling problem with
Society, 64, 1695–1724. fuzzy random duration. Journal of Uncertain Systems, 4(2),
Chakrabortty, R. K., Sarker, R. A., & Essam, D. L. (2017). 123–132.
Resource constrained project scheduling with uncertain Özdamar, L., & Ulusoy, G. (1994). A local constraint based
activity durations. Computers and Industrial Engineering, analysis approach to project scheduling under general
112, 537–550. resource constraints. European Journal of Operational
Damay, J., Quilliot, A., & Sanlaville, E. (2007). Linear Research, 79, 287–298.
programming based algorithms for preemptive and non- Palpant, M., Artigues, C., & Michelon, P. (2004). LSSPER:
preemptive RCPSP. European Journal of Operational Solving the resource-constrained project scheduling
Research, 182, 1012–1022. problem with large neighbourhood search. Annals of
Davari, M., & Demeulemeester, E. (2017). The proactive and Operations Research, 131, 237–257.
reactive resource-constrained project scheduling problem. Paraskevopoulos, D. C., Tarantilis, C. D., & Ioannou, G.
Journal of Scheduling, 1–27. doi:10.1007/s10951-017- (2012). Solving project scheduling problems with resource
0553-x constraints via an event list-based evolutionary algorithm.
Demeulemeester, E. L., & Herroelen, W. S. (2002). Project Expert Systems with Applications, 39, 3983–3994.
scheduling: A research handbook. In International series Puri, M. L., & Ralescu, D. A. (1986). Fuzzy random variables.
in operations research and management science (Vol. 49). Journal of Mathematical Analysis and Applications, 114,
Kluwer Academic Publishers (now Springer). 409–422.
Dorndorf, U., Pesch, E., & Phan-Huy, T. (2000). A branch- Qin, A. K., Huang, V. L., & Suganthan, P. N. (2009).
and-bound algorithm for the resource-constrained project Differential evolution algorithm with strategy adaptation
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 417

for global numerical optimization. IEEE Transactions on Valls, V., Ballestín, F., & Quintanilla, S. (2008). A hybrid
Evolutionary Computation, 13(2), 398–417. genetic algorithm for the resource-constrained project
Ranjbar, M. (2008). Solving the resource-constrained project scheduling problem. European Journal of Operational
scheduling problem using filter-and-fan approach. Applied Research, 185, 495–508.
Mathematics and Computation, 201, 313–318. Xu, J., & Zhang, Z. (2012). A fuzzy random resource-
Roghanian, E., Alipour, M., & Rezaei, M. (2018). An constrained scheduling model with multiple projects and
improved fuzzy critical chain approach in order to face its application to a working procedure in  a  large-scale
uncertainty in project scheduling. International Journal of water conservancy and hydropower construction project.
Construction Management, 18(1), 1–13. Journal of Scheduling, 15, 253–272.
Rostami, S., Creemers, S., & Leus, R. (2017). New strategies Ying, K. C., Lin, S. W., & Lee, Z. J. (2009). Hybrid-
for stochastic resource-constrained project scheduling. directional planning: Improving improvement heuristics
Journal of Scheduling, 1–17. doi:10.1007/s10951-016- for scheduling resource-constrained projects. The
0505-x International Journal of Advanced Manufacturing
Sebt, M. H., Alipouri, Y., & Alipouri, Y. (2013). Solving Technology, 41(3–4), 358–366.
resource-constrained project scheduling problem with Yousefli, A. (2017). A fuzzy ant colony approach to fully
evolutionary programming. Journal of the Operational fuzzy resource constrained project scheduling problem.
Research Society, 64, 1327–1335. Industrial Engineering and Management Systems, 16(3),
Steeneck, D. W., & Sarin, S. C. (2015). Resource-constrained 307–315.
project scheduling with concave processing rate functions. Zadeh, L. A. (1968). Probability measures of Fuzzy events.
Journal of the Operational Research Society, 66(5), 794–806. Journal of Mathematical Analysis and Applications, 23,
Storn, R., & Price, K. (1997). Differential evolution-A 421–427.
simple and efficient heuristic for global optimization over Zheng, X. L., & Wang, L. (2015). A multi-agent optimization
continuous Spaces. Journal of Global Optimization, 11, algorithm for resource constrained project scheduling
341–359. problem. Expert Systems with Applications, 42, 6039–6049.
Tormos, P., & Lova, A. (2001). A competitive heuristic Zoulfaghari, H., Nematian, J., & Nezhad, A. A. K. (2016).
solution technique for resource-constrained project A resource-constrained project scheduling problem with
scheduling. Annals of Operations Research, 102, 65–81. fuzzy activity times. International Journal of Fuzzy System
Applications, 5(4), 1–15.
418 Y. ALIPOURI ET AL.

Appendix A. Notations

1. Notations in problem formulation

Z    Objective function value of FS-RCPSP


ω1, ω2, ω3  User-defined weights in Z
n  Number of non-dummy activities
i, j, κ    Activity index, i = 0, …, n + 1, j = 0,…, n + 1, κ = 0,…, n + 1
V       Set of all activities
T      Planning horizon
t      Time index, t = 1, …, T
B(t)     Set of activities being processed at time t
L      Number of renewable resources
l      Renewable resource index l = 1, …, L
E       Set of all precedence relations
IPj      Immediate predecessors of activity j
Rl      Capacity of resource l, l = 1, …, L
rjl      Resource requirement of activity j from resource l, l = 1, …, L, j = 0, …, n + 1
d̃ j      Fuzzy random processing time of activity j, j = 0, …, n + 1
s̃j      Fuzzy random start time of activity j, j = 0, …, n + 1
f̃      
j Fuzzy random finish time of activity j, j = 0, …, n + 1
Cijl      Amount of resource l directly transferred from activity i to activity j
xij     Binary variable that equals 1 if activity j is started immediately after completion of activity i, otherwise
it equals 0
𝜇̄ dj     Mean of fuzzy random duration of activity j, j = 0, …, n + 1
𝜇̄ fj      Mean of fuzzy random finish time of activity j, j = 0, …, n + 1
dj,1     The most optimistic point of fuzzy number 𝜇̄ d , j = 0, …, n + 1
j

dj,2     The most likely point of fuzzy number 𝜇̄ d , j = 0, …, n + 1


j

dj,3     The most pessimistic point of fuzzy number 𝜇̄ d , j = 0, …, n + 1


j

fj,1      The most optimistic point of fuzzy number 𝜇̄ f , j = 0, …, n + 1
j

fj,2      The most likely point of fuzzy number 𝜇̄ f , j = 0, …, n + 1
j

fj,3      The most pessimistic point of fuzzy number 𝜇̄ f , j = 0, …, n + 1
j

2. Notations in solution representation

NP  Number of population


k   Individual index, k = 1, …, NP
G  Generation index
IkG   Individual k in generation G, k = 1, …, NP
HkG   Heuristic sequence vector in individual IkG, k = 1, …, NP
CkG  Heuristic call vector in individual IkG, k = 1, …, NP
D  Length of each individual
d  Individual length index, d = 1, …, D
HCLGk   Heuristic call list corresponding individual IkG, k = 1, …, NP
HP  Low-level heuristics pool
TL  Tabu list
JOURNAL OF THE OPERATIONAL RESEARCH SOCIETY 419

τ  Maximum number of times a low-level heuristic can be called successively


n  Number of non-dummy activities
, ,  
IrG1 IrG2 IrG3 Mutually different individuals, being also different from IkG
VIkG+1  Mutant solution derived from IrG, IrG, and Ir3G
1 2

UIkG+1  Trial solution derived from IkG and VIkG+1 using crossover process
FkG     random number selected in the range (0,2] with normal distribution of mean 0.5 and standard deviation
A
0.3 for mutation
CRkG   Crossover constant randomly selected in the range[0, 1]
rndd(k)  A random number for crossover index position
randh(d)  A random number for HkG compared to CRkG
randc(d)  A random number for CkG compared to CRkG
Z(IkG )   Value of objective function for individual k of generation G
LP    Learning period

You might also like