Professional Documents
Culture Documents
Solving The FS RCPSP With Hyper Heuristics A Policy Driven Approach
Solving The FS RCPSP With Hyper Heuristics A Policy Driven Approach
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
ORIGINAL ARTICLE
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
(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.
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.
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
(a)
(b)
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
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 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.
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
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
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