European Journal of Operational Research: Jakob Snauwaert, Mario Vanhoucke
European Journal of Operational Research: Jakob Snauwaert, Mario Vanhoucke
Invited Review
a r t i c l e i n f o a b s t r a c t
Article history: This paper studies and analyses the multi-skilled resource-constrained project scheduling problem (MSR-
Received 31 May 2021 CPSP). We present a new classification scheme based on an existing classification scheme for project
Accepted 30 May 2022
scheduling problems. This allows researchers to classify all multi-skilled project scheduling problems and
Available online 8 June 2022
its extensions. Furthermore, we propose a new data generation procedure for the MSRCPSP and introduce
Keywords: multiple artificial datasets for varying research purposes. The new datasets are generated based on new
Project scheduling multi-skilled resource parameters and are compared to existing benchmark datasets in the literature. A
Resource-constrained scheduling set of 7 empirical multi-skilled project instances from software and railway construction companies are
Skills collected in order to validate the quality of the artificial datasets. Solutions are obtained through a genetic
algorithm and by solving a mixed-integer linear programming formulation with CPLEX 12.6. The hardness
of the multi-skilled project instances is investigated in the computational experiments. An experimental
analysis studies the impact of skill availability, workforce size and multi-skilling on the makespan of the
project.
© 2022 The Author(s). Published by Elsevier B.V.
This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/)
https://doi.org/10.1016/j.ejor.2022.05.049
0377-2217/© 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license
(http://creativecommons.org/licenses/by-nc-nd/4.0/)
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
example and a mixed-integer linear programming formulation. A 2.2. MSRCPSP vs. RCPSP
classification scheme for multi-skilled project scheduling problems
and extensions is given in Section 3. Related literature is presented As can be seen from the example, there are quite a few differ-
in Section 4. Section 5 describes a data generation procedure for ences between the RCPSP and the MSRCPSP. The most prominent
the MSRCPSP. The computational experiments and some manage- difference is that the requirement for resources is now expressed
rial insights are discussed in Section 6. as a requirement for skills. Hence, in the MSRCPSP, there is an in-
direct demand for resources that is conveyed through skills. This
becomes even more clear when we consider two special cases of
the MSRCPSP. If the number of mastered skills for all resources,
2. Problem description
or breadth, is equal to 1 ( j b j,k = 1), the MSRCPSP is equivalent
to the RCPSP with |S| resource types. Similarly, if all resources
The multi-skilled resource-constrained project scheduling prob-
k ∈ R master all skills ( j b j,k = |S|), the MSRCPSP is reduced to
lem (MSRCPSP) can be represented by a topologically ordered
the RCPSP. In these two special cases of the MSRCPSP, the indirect
acyclic activity-on-the-node network G = (N, A ), where N (=
demand of resources through skills can be ignored, and therefore
{1, . . . , |N|}) is the set of nodes in the graph that stand for the ac-
they can be represented as the RCPSP. The resource demand in the
tivities in the project. In total, |N| activities are considered, consist-
RCPSP can be represented by ri,k , which is the number of resources
ing of the dummy start node, end node and |N| − 2 project activ-
that are required of type k by activity i. An activity i in the MSR-
ities. The dummy nodes have a duration of zero and no resource
CPSP requires ri, j resources which master skill j. If and only if the
or skill usage. Each activity i has a processing time pi that is pre-
resource k masters the required skill j can it work on the activity
defined and can not be pre-empted. A is the set of arcs that rep-
i. Since multi-skilled resources can master multiple required skills,
resent the finish-start precedence relations between the activities
we have to define multi-skilled constraints that specify that a re-
in the project with a time-lag of zero. The renewable multi-skilled
source k can only perform 1 skill j in an activity i, even if he mas-
project workforce that will execute the activities is specified by the
ters multiple required skills that can be utilised in activity i. The
resource set R, with R = {1, . . . , |R|}. The skills of the multi-skilled
RCPSP deals with resource scarceness, while the MSRCPSP deals
resources are defined by the skill set S, with S = {1, . . . , |S|}. We
with both resource scarceness and skill scarceness. This stems from
assume in this problem that the workforce consists of homoge-
the fact that an activity in the MSRCPSP requires skills as well
neous resources, meaning that the efficiency is equal for all re-
as resources. On the one hand, there might be enough resources
sources. However, the mastered skills of the resources, also called
to perform the activity, however they do not master the right set
the categorical skills, can vary across the workforce. The categorical
of skills. In this case, the skill scarceness causes an infeasibility.
skills are represented by the skill distribution b j,k , which is equal
On the other hand, the multi-skilled workforce might have the re-
to 1 if resource k masters skill j and 0 otherwise. The number of
quired set of skills to perform the activity, however there are not
skills that a resource k masters (= j b j,k ) is called the breadth
enough resources in the workforce. This can be due to the fact that
of the resource. To create a feasible baseline schedule with start
1 resource masters 2 skills that are required to feasibly execute the
times si and finish times fi , each activity i ∈ N \ {1, |N|} requires
activity. Therefore, the resource scarceness causes an infeasibility.
ri, j resources for one or more skills j ∈ S to be executed. These re-
The example in Fig. 2 below displays that if there are enough re-
quirements are called the skill requirements. Each resource k ∈ R
sources available for the total requirement ( j ri, j ) of an activity
can only perform one skill per activity i and is disjunctive, mean-
i, it does not imply that the activity can be finished. Fig. 2 shows
ing that a resource k is not able to work on two activities at
the skill requirements ri, j and skill distribution b j,k of an infeasible
the same time. The objective is to minimize the makespan, calcu-
instance. Activity 1 requires 1 resource for every skill j ∈ {1, 2, 3}
lated by the finish time of the final activity. All the data in the
and activity 2 only requires skill 3. From the b j,k -matrix, we can
MSRCPSP studied in this paper is assumed to be deterministic,
see that resource 1 is multi-skilled and masters skills 1 and 2. Re-
and hence, no stochastic features have been incorporated in our
sources 2 and 3 are both single-skilled and master skill 3. This
models.
instance is infeasible because it is not possible to execute every
activity i while ensuring that every resource k only performs one
skill per activity i. In this example, activity 1 can not be exe-
2.1. Example of the MSRCPSP cuted since skill 1 and 2 are mastered by the same resource, i.e.
resource 1.
Fig. 1 displays a complete example of the MSRCPSP. The activ- Each resource k possesses an integer amount of categorical
ities and their precedence relations are shown in the network on skills from set S. The categorical skills of the resources are as-
the top left. The activity characteristics show the skill requirements sumed to be static and do not change over time. The more skills
for both skills and the processing times of all 5 activities. For ex- the resource k masters, the more flexible it is. The flexibility of a
ample, activity 1 requires 1 resource with skill 1 and 2 resources resource is measured by its number of assignment possibilities to
with skill 2. The resource characteristics show how the skills are activities in the project. Usually, there are three sets of resources
distributed over the 4 resources. Resource 1 is multi-skilled, while in a multi-skilled workforce. The first set are the single-skilled re-
the other 3 resources each master 1 skill. Below that, the optimal sources Rs , which only master a single skill ( j b j,k = 1). These
schedule and an optimal assignment are presented. We start the are the least flexible resources. Second, the completely-skilled re-
project off by scheduling activity 1 and 2 in parallel. Resources 1 sources Rc can perform all skills in the set S ( j b j,k = |S|). These
and 2 perform skill 2 and resource 3 performs skill 1 in activity resources can be assigned to all skills and all activities in the
1. Resource 4 performs skill 1 in activity 2. Important to realise is project. Finally, the multi-skilled resources Rm are the resources
that if resource 1 would be assigned to activity 2, then activity 1 that master from 2 up to |S| − 1 skills ( j b j,k ∈ {2, . . . , |S| − 1}).
and 2 can not be scheduled in parallel because the required skills The union of these 3 sets leads to the set of resources, Rs ∪ Rm ∪
are not available. Once activity 1 finishes at t = 5, activity 3 and Rc = R. Importantly, the value of a resource k in a project does
4 can be started in parallel. Resources 2 and 3 are assigned to ac- not necessarily coincide with the number of skills it masters. In-
tivity 3 and resource 1 to activity 4. At t = 10 activity 2 and 3 are stead, the value of a mastered skill depends on the availability
finished and activity 5 is started by resources 2 and 4. The project of that skill in the workforce and the skill requirements in the
is finalised when activities 4 and 5 finish at t = 15. project.
2
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Table 1
Mathematical model details.
3
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Table 2
Details and classification of multi-skilled resource-constrained project scheduling literature.
Hegazy et al. (2000) Heuristic Case Study m,1,Flex|cpm|Cmax Resource substitution rules
Néron (2002) Lower bound / ms,1,TR|cpm|Cmax
Bellenguez & Néron (2004) Lower bound / ms,1,va,H,TR,Flex|cpm|Cmax
Bellenguez & Néron (2007) B&B Own ms,1,va,TR|cpm|Cmax
Drezet & Billaut (2008) Heuristic/TS Own ms,1,va,TR|pmtn,cpm,ρi , δi ,Rvr,Svr|Lmax Assignment changes during execution
Yannibelli & Amandi (2011) GA Own(ProGen) ms,1,H,TR,E|cpm|E
Chen & Zhang (2012) ACO Own(PSPLIB) ms,1,va,H,TR,{Cost,Eff}|cpm,δi ,Rvr,dl|C
Correia et al. (2012) MILP/Heuristic Own(PSPLIB) ms,1,TR|cpm|Cmax
Kolisch & Heimerl (2012) GA-TS Own ms,1,H,TR,Eff|gpr,cont,Rvr,dl|C Multi-project, External resources
Yannibelli & Amandi (2013) SA-GA Own(PSPLIB) ms,1,H,TR,E|cpm|Cmax ,E
Montoya et al. (2014) B&P Own(PSPLIB,...) ms,1,TR|cpm|Cmax
Myszkowski et al. (2015) ACO iMOPSE ms,1,H,TR,Flex|cpm,1|Cmax ,C
Maghsoudlou et al. (2016) IWO/NSGA-II/PSO Own ms,1,TR|cpm,mu|Cmax ,C,Q
Javanmard et al. (2017) MIP/GA/PSO Own ms,1,H,TR,{Cost,Eff}|pmtn,cpm,δn |C Level switching
Maghsoudlou et al. (2017) Cuckoo Search Own(RanGen) ms,1,H,TR,{Cost,Q}|cpm|C,Q
Almeida et al. (2019) MILP Correia et al. (2012) ms,1,TR|cpm|Cmax
Maghsoudlou et al. (2019) MILP/ACO Own(ProGen) ms,1,{TR, Cost}|pmtn,cpm,δi |C
Najafzad et al. (2019) DM Own ms,1,H,TR,{Cost,R}|cpm,Rvr,dl|Cmax ,C Skill level switching
Polo-Mejía et al. (2019) MILP/CP Own ms,1,va,TR|pmtn,cpm,δi |Cmax
Zabihi et al. (2019) TLBO iMOPSE/Own ms,1,H,TR,{Cost,Eff},LF|cpm|Cmax ,C,E
Chen et al. (2020) ACO Case Study ms,1,H,TR,Eff,LF|cpm,1,cont|Cmax ,Q,E Project portfolio management
Hematian et al. (2020) MILP Own ms,1,H,TR,{Cost,Eff,Flex},|cpm,ρi |C Multi-project, under- & overcoverage
Dang Quoc et al. (2020) Cuckoo Search iMOPSE ms,1,H,TR,{Flex,Eff}|cpm,1|Cmax
Snauwaert & Vanhoucke (2021) GA-LS Own(RanGen) ms,1,H,TR,Eff|cpm, cont |Cmax
Zhu et al. (2021) GP-HH iMOPSE ms,1,H,TR,Flex|cpm,1|Cmax ,C
a
B&B = branch-and-bound; GA = genetic algorithm; TS = tabu search algorithm; ACO = ant colony optimisation; MI(L)P = mixed-integer (linear) programming; SA =
simulated annealing; B&P = branch-and-price; IWO = invasive weeds optimisation; NSGA-II = non-dominated sorting genetic algorithm; PSO = particle swarm optimi-
sation; DM = decision making methods; CP = constraint programming; TLBO = teaching-learning-based optimisation; LS = local search; GP-HH = genetic programming
hyper-heuristic.
two activities in parallel. The categorical skill constraints (7) spec- Table 2). The specifics of the classification scheme, that extends the
ify that a resource k can only perform a mastered skill j, with classification scheme of Herroelen, Demeulemeester, & De Reyck
b j,k = 1. Finally, constraints (8)–(10) display the domain of the de- (1999), are presented in Appendix A.
cision variables.
4. Related literature
3. Classification
MSRCPSP: Hegazy, Shabeeb, Elbeltagi, & Cheema (20 0 0) were
In this section, we present a classification scheme that allows the first to propose a multi-skilled project scheduling problem.
the representation of multi-skilled resource-constrained project In order to include resources that can deal with multiple skills,
scheduling problems and their extensions. Scouting the literature their paper implemented resource substitution rules. These rules
for multi-skilled project scheduling problems we found that there allowed each resource of a certain type to substitute for another
is an immense variety in research regarding these problems. On type of resources, which implied that the complete workforce mas-
top of this, many of the researched problems tend to propose so- ters all skills. In Néron (2002), skillsets are proposed to charac-
lution procedures for problems with characteristics that were pre- terise multi-skilled resources instead of resource substitution rules.
viously unconsidered. This is mainly due to the variable nature of This was the first paper to define the MSRCPSP how it is defined in
multi-skilled resources. More specifically, the introduction of indi- the current paper. Néron (2002) also presents two possible lower
vidual resources that can each impact the project in a different bounds. More recently, multiple exact approaches and heuristic algo-
manner generates a great amount of extensions and research op- rithms have been published for the MSRCPSP. A branch-and-bound
portunities. For these reasons, an accurate and rigorous notation algorithm for the MSRCPSP is presented in Bellenguez & Néron
is necessary that can represent all project scheduling problems (2007) that uses a branching scheme that is based on reduction
that deal with multi-skilled resources. The classification scheme of the slack of activities. Montoya, Bellenguez-Morineau, Pinson, &
proposed in this section establishes a systemic method to clas- Rivreau (2014) constructed a column generation algorithm within
sify these problems. The purpose of this classification scheme is to a branch-and-price procedure. Their branching strategy was based
make it more accessible and straightforward for authors to high- on reducing the time windows of the activities. In Drezet & Bil-
light (and for readers to identify) the characteristics of the project laut (2008), a greedy heuristic and a tabu search algorithm are
scheduling problem at hand. Especially since project scheduling proposed for a multi-skilled scheduling problem with preemption,
problems with multi-skilled resources regularly have many char- deadlines, daily legal working restrictions and a maximal lateness
acteristics which always need to be spelled out in great detail in objective. Correia et al. (2012) propose a continuous time mathe-
current research papers. With the ever-expanding research on the matical formulation for the MSRCPSP with binary sequencing vari-
MSRCPSP, this classification scheme promotes easier verification of ables and integer natural date variables for the starting times of
which parts of the literature are left unconsidered and unstudied. the activities. Furthermore, they present valid inequalities to sim-
It also allows for researchers to situate their new problems into plify the mathematical formulation and a two-step approach that
the current literature. Finally, it facilitates comparing the different combines a heuristic and a local search procedure. Maghsoudlou,
multi-skilled problems and their solution procedures. We demon- Afshar-Nadjafi, & Niaki (2016) address a multi-skill multi-mode
strate the potential of this new multi-skilled classification scheme project scheduling problem with makespan, cost and quality min-
by applying it to all papers in our literature study in Section 4 (see imisation objectives. In their paper, they compare the results of
4
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
an invasive weeds algorithm, a non-dominated sorting genetic al- view of the literature on scheduling problems with multi-skilled
gorithm and a particle swarm algorithm. Maghsoudlou, Afshar- resources is addressed in Afshar-Nadjafi (2020). This review paper
Nadjafi, & Niaki (2019) created a hybrid ant colony metaheuris- includes published articles that deal with multi-skilled resources in
tic with local searches for the MSRCPSP with preemption and due project scheduling, staff scheduling, production scheduling, work-
date intervals. The objective in their problem is to minimise the force composition and other disciplines.
total costs, which includes preemption and due date penalty costs Multi-project scheduling and project portfolio management:
as well as processing costs. Polo-Mejía et al. (2019) solve a multi- Multi-skilled resources have also been used in the multi-project
skilled project scheduling problem with partial and full preemp- and project portfolio literature. Kolisch & Heimerl (2012) present
tion, deadlines and variable resource availability in a nuclear re- a hybrid genetic algorithm - tabu search procedure for a multi-
search facility with multiple programming approaches. Multiple in- project scheduling problem with skilled resources with variable ef-
teger and mixed-integer linear programming formulations are de- ficiencies that influence activity durations. Chen et al. (2020) sug-
signed for the MSRCPSP in Almeida, Correia, & Saldanha-da Gama gest a multi-objective Pareto ant colony optimisation algorithm for
(2019). Although the RCPSP has been addressed in a stochastic en- a problem with multi-skilled resources that are characterised by
vironment in a multitude of research papers (Herroelen & Leus, learning and forgetting in a project portfolio problem for IT prod-
2005), the research on stochastic project scheduling problems with uct development. Hematian, Seyyed Esfahani, Mahdavi, Mahdavi-
multi-skilled resources is very limited. Alvanchi, Lee, & Abou Rizk Amiri, & Rezaeian (2020) address a multi-project multi-skill project
(2012) presented a simulation-based approach that focusses on the scheduling problem with learning and uncertain activity durations
dynamic evolution of skills during a project scheduling problem. that are represented by fuzzy numbers.
More recently, Felberbauer, Gutjahr, & Doerner (2019) proposed Summary and classification: Table 2 presents a list with pa-
two different optimization approaches for a multi-skilled project pers of this section that deal with the MSRCPSP or an exten-
scheduling and personnel planning problem with stochastic de- sion to the MSRCPSP. The column “Reference” in Table 2 presents
mand. the paper reference, while column “Method” displays the pro-
Extensions of the MSRCPSP: Bellenguez & Néron (2004) ex- posed method to solve the problem at hand. The column “Dataset”
tended the MSRCPSP by introducing hierarchical levels of skill. In shows the used dataset, followed by the classification of the stud-
their work, multi-skilled resources were not only differentiated by ied multi-skilled project scheduling problem in column “Classifica-
the skills they possess, but also by the level of that skill. Skill- tion”. The column “Other” indicates whether the study deals with
levels had an impact on the activity requirements, i.e. an activity some other specific extensions not explained in its classification.
requires a skill with a certain level to be executed. Myszkowski, Literature growth: Fig. 3 displays the recent growth pattern
Skowroński, Olech, & Oślizło (2015) also study this extension and of research on the MSRCPSP. At the start of this century, the
exhibit an ant colony optimisation procedure. In their paper they first peer-reviewed articles studying the MSRCPSP were published.
propose the iMOPSE dataset that includes instances for the MSR- However, the MSRCPSP only gained traction in the academic world
CPSP with hierarchical skills. Zhu, Lin, Li, & Wang (2021) con- from 2010 onwards. This can be due to the fact that the improv-
structed a genetic programming hyper-heuristic approach for the ing computational power allows researchers to study more difficult
MSRCPSP with hierarchical skills that is tested on the iMOPSE and larger problems. Furthermore, a substantial part of the new
dataset of Myszkowski et al. (2015). Other papers have focussed research after 2015 is a result of the iMOPSE dataset published in
their research on the MSRCPSP with hierarchical skill levels that Myszkowski et al. (2015). Since the publication of this dataset, a
have a different impact on the scheduling problem than the ac- myriad of meta-heuristic procedures for the MSRCPSP and its ex-
tivity requirements. In Dang Quoc, Nguyen Doan, & Xiong (2020), tensions were developed and compared.
the hierarchical skill levels represent efficiency levels of the multi- Multi-skilled resources in other scheduling problems: In this
skilled resources that have an impact on their speed of work paper, we study skills in a resource-constrained project schedul-
and therefore the activity durations. For this problem, they set ing problem, which is only a restricted view on the possibility
out a cuckoo search algorithm. Their solution approach was also of skills in scheduling problems. Apart from resource-constrained
tested on the iMOPSE dataset. A similar problem is researched project scheduling problems, multi-skilled resources have been
in Snauwaert & Vanhoucke (2021), they developed a genetic al- featured abundantly in other scheduling problems such as work-
gorithm with activity-based and resource-based local searches. force scheduling, production scheduling and multi-skilled work as-
Javanmard, Afshar-Nadjafi, & Niaki (2017) address a multi-skilled signment problems applied to various types of working sectors. An
resource investment problem, in which the availability of skills is a important overview paper was published recently for workforce
decision variable. In their problem, there is an impact of hierarchi- scheduling problems with multi-skilled resources. De Bruecker,
cal skills on the activity durations as well as the usage cost of the Van den Bergh, Beliën, & Demeulemeester (2015) present a lit-
resources. Chen & Zhang (2012) and Zabihi, Kahag, Maghsoudlou, & erature review with both technical and managerial papers of
Afshar-Nadjafi (2019), respectively, propose an ant colony optimisa- workforce planning problems that regarded resources with skills.
tion and a teaching-learning based metaheuristic for an extension Among other things, they set out the determinants and conse-
of the MSRCPSP where hierarchical levels of skills are used to dis- quences of skills in the literature. Cai & Li (20 0 0) introduce a ge-
tinguish the efficiency and the cost of the resources in the project. netic algorithm for a staff scheduling problem with cost and staff
Yannibelli & Amandi (2011) implement a genetic algorithm to solve surplus objectives for a cargo forwarding case. Avramidis, Chan,
the MSRCPSP with the hierarchical levels of skills in order to max- Gendreau, L’ecuyer, & Pisacane (2010) study a multi-skilled staffing
imise the total employee effectiveness in the final schedule of the and scheduling problem with agents in a call center, for which
project. In Yannibelli & Amandi (2013) a hybrid meta-heuristic ap- they created an approach based on simulation techniques. Dynamic
proach is established for this problem. In the problem suggested multi-agent systems were used in Othman et al. (2016) to deal
in Najafzad, Davari-Ardakani, & Nemati-Lafmejani (2019), hierarchi- with a multi-skilled task scheduling problem in a health organisa-
cal skills are used to differentiate the consumption of a commod- tion with stochastic patient arrivals. De Bruecker, Beliën, Van den
ity and the cost of the resources. In Maghsoudlou, Afshar-Nadjafi, Bergh, & Demeulemeester (2018) constructed a three-stage mixed
& Niaki (2017) hierarchical skills determine a difference in cost integer programming approach for a team-composition and staff
and rework risk of the resources. They present three different hy- scheduling problem with working and training costs at an aircraft
brid cuckoo search algorithms in order to minimise the cost and maintenance company.
total rework risk of the activities. An extensive and essential re-
5
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
6
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Fig. 5. Example of various SSα − RAα workforce combinations (given |S| = 3, |R| = 6 and j a j = 12).
number of resources needed to create a feasible workforce Rmin : Fig. 4 displays the skill requirements ri, j and various different feasi-
ble workforces that can be generated based on these skill require-
RA = R|max
R|−Rmin
−Rmin
(16) ments, the project skill strength SS and the resource availability
RA. This example contains 4 activities, two of which require two
b a
The Rmax (= j min k j,k j j
= min ) is the number of resources over resources that master skill 1, the other two activities require two
b b
which all skills can be distributed if all resources mastered the resources that master skill 2. Hence, the workforce needs to be
minimum amount of skills bmin . Rmin cannot be determined in an comprised of at least 2 resources (= maxi ( j ri, j ) = Rmin ) and the
equivalent manner as Rmax , with bmax instead of bmin , because than requirements demand a skill availability of at least 2 for both skill
infeasible combinations of skills |S| and resources |R| can occur. 1 and skill 2 (= amin
j
). If we set SS = 0 and RA = 0, we generate the
Therefore, we calculate Rmin by solving a small assignment prob- most left workforce in Fig. 4. This is the smallest possible feasible
lem that takes the total number of skills ( j k b j,k ) into account. workforce in terms of mastered skills and available resources. For
If Rmax = Rmin , then we assume that RA = 1. On the one hand, if the second workforce we increase the RA value, which means that
RA is equal to 0, then the instance has the minimum number of we need to increase the number of resources given the number
possible resources and hence the workforce is in its most multi- of mastered skills. Seeing that the latter is equal to 4, we gen-
skilled state. On the other hand, an RA = 1 signifies that the work- erate a single-skilled workforce with a total of 4 resources. The
force contains the maximum number of resources, which means third workforce is generated using a high project skill strength.
j b j,k = 1, ∀k ∈ R. If the
that all resources will be single-skilled, In this case, the number of available skills j a j is equal to the
RA lies between 0 and 1, the breadth of the resources can vary number of required skills i j ri, j = 8. Since the resource avail-
from single-skilled to completely-skilled. Similarly to the SSα , the ability is set to 0, we generate the most multi-skilled workforce
resource availability variability RAα is introduced by use of αmax α . with a total of 4 resources. The last workforce on the right has the
If RAα = 0, the breadth of all multi-skilled resources in the work- same project skill strength as the third workforce and therefore the
force will be the same. For an RAα of 1 the workforce will consist number of mastered skills is equal to 8. However, the ressource
of a combination of single-skilled and completely-skilled resources. availability is high and the number of resources is maxed out to
Therefore, we can now analyse workforces for which the breadth 8 single-skilled resources. To summarise, the project skill strength
across all resources is equal and workforces for which the breadth SS determines the number of mastered skills bounded by the to-
varies from 1 to |S|. tal skill requirement. An RA = 0 (RA = 1) then creates the small-
In Figs. 4 and 5 we present workforces with different param- est (largest) workforce in terms of resources constrained by the
eter settings to further explain the aforementioned parameters. number of mastered skills determined by the SS. The following
7
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Fig. 5 sets out workforces for various values of the skill strength Algorithm 2 GenerateRequirements(|N|, |S|, SF , rimax , ri,max
j
).
variability SSα and the resource availability variability RAα . In this
figure, it is assumed that the number of skills |S| is 3 and the 1: Select random SF α ∈ {0, 0.5, 1}
number of resources |R| is equal to 6. Moreover, in this exam- 2: SFi , ∀i ∈ N ∗ ← GenerateAlpha(SF · |S| · |N |, |N |, SF α )
ple there are 12 mastered skills to be divided over the resources 3: for i ∈ N ∗ do
4: for {1 . . . SFi · |S|} do
(= j a j ). The workforce on the left has low skill strength variabil-
ity and low resource availability variability. This shows in the fact 5: do
that the skill availability is equal to 4 for all skills and all resources 6: Select random skill j ∈ S
7: while ri, j = 0
have a breadth j b j,k equal to 2. In the second workforce, we in-
crease the variability over the resources (RAα ↑). As a result, there 8: ri, j ← random value [1, ri,max
j
]
is large disparity among the breadth of the resources. The first 3 9: end for
max do
resources have breadth equal to 3 and the latter 3 resources are 10: while j ri, j > ri
single-skilled. Next, we only increase the skill strength variability 11: Select random skill j ∈ S
for the third workforce. In this case, the breadth remains 2 for all 12: if ri, j > 1 then
resources, but skill 1 and 2 have a high skill availability compared 13: ri, j ← ri, j − 1
to skill 3. Lastly, for the fourth workforce both variabilities are set 14: end if
to high. The workforce consists of completely-skilled and single- 15: end while
skilled resources and the availability of skill 1 is a lot higher than 16: end for
the availability of the other 2 skills.
Table 3
5.2. Data creation procedure Example: generation of skill availability a j using weights w j .
Skill 1 Skill 2 Skill 3 Skill 4
In this section, we will present the multi-skilled project
amin
j
4 3 4 4 15
scheduling problem data generator. Algorithm 1 describes the out- amax 12 10 15 18 55
j
amax
j
− amin
j
8 7 11 14 40
Algorithm 1 MSRCPSP instance generation. wj 0.57 0.3 0.13 0 1
a
1: ReadNetwork(|N|, SP ) wj
wa
4.56 2.1 1.43 0 8.09
are determined in Algorithm 2. A value for the variation in the 6: end for
skill factor along all activities in N ∗ is randomly generated, repre- 7: for j ∈ S do
sented by SF α ∈ {0, 0.5, 1}. Based on the project skill factor SF and 8: while a j > amax
j
do
the desired variation in skill requirements SF α , a set of possible 9: aj ← aj − 1
skill factors SFi is generated for each i ∈ N ∗ using algorithms pre- 10: do
sented in Van Eynde & Vanhoucke (2022). Each activity i randomly 11: Select random skill l ∈ S
receives a skill factor SFi from this set. Hence, we know for each 12: while j = l or al ≥ amax
l
activity i how many of the |S| skills it will request in the project. 13: al ← al + 1
If SF α = 0, the skill factor will be equal across all activities and 14: end while
SFi = SF , ∀i ∈ N ∗ . If SF α > 0, then the skill factor will vary over the 15: end for
activities. The higher the value of SF α , the higher the disparity in
skill factor between the activities. This SF α has no impact on the we are able to calculate the total number of skills in the work-
skill requirements if the project skill factor has an extreme value, force ( j k b j,k = j a j ). A set of weights w j ∈ [0, 1] is created
i.e. SF = 0.25 or SF = 1. For each activity i ∈ N ∗ , we loop over the based on SSα to introduce the desired variation in the skill avail-
number of skills it requires and randomly select a new skill j ∈ S α metric (Van Eynde & Vanhoucke, 2022).
abilities based on the αmax
each time. For this skill j, we then generate a random value be- The sum of these weights w j is equal to 1 and determine how
tween 1 and ri,max
j
to determine the skill requirement ri, j . Lines 10– the available skills in the workforce will be divided over the skills
15 of Algorithm 2 are implemented to guarantee that for an ac- in the project, as shown in the following example (Table 3). Obvi-
tivity i the sum of the skill requirements ( j ri, j ) is not greater ously, the skill availability a j is not allowed to be greater than its
8
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
maximum availability amax j
. Therefore, we implemented a method (a j = k b j,k ) from Algorithm 3, we can generate the multi-skilled
(line 7–15) that randomly shifts the superfluous availability of skill workforce. The skill distribution matrix is left-filled as shown in
j to other skills l. the left matrix of Fig. 6. In this example, we assign the first and
In Table 3, we show an example of how the skill availability second skill to resources 1–3. Then, the third skill is assigned to
a j is determined for each skill j ∈ S. In this example, we assume resources 1 and 4, seeing that resources 2 and 3 have already
that the project skill strength SS is equal to 0.3 and that the values reached their number of mastered skills. Finally, skill 4 is assigned
for the minimum and maximum skill availability are as shown in to resource 1. Afterwards, the skill distribution is scrambled, while
rows 2 and 3 of Table 3. As explained in Section 5.1, amax j
and amin
j
keeping the row- and column-sums equal, by swapping skills of
can be derived from the skill requirements ri, j . The skill require- two random resources many times. In Fig. 6, we swap skills 1 and
ments are not provided in this example. Next, we generate the 3 of resources 3 and 4 without changing the row- or column-sums.
weights w j for each of the four skills based on the value of SSα . The LeftfillMatrix()-procedure can sometimes lead to
The weights generated in this example coincide with an SSα of 0.5. a LeftfillError(). This is due to the Gale-Ryser theorem
If SSα = 0, then w j = 0.25, ∀ j ∈ S. If SSα = 1, then a single weight (Brualdi, 1980), which states that for a certain set of row-sums and
w j will be equal to 1 and the other weights wl , l ∈ S \ { j}, will be a set column-sums a feasible matrix exists if and only if the con-
equal to 0. In order to take the possible range of available number jugate form of the row-sums dominate the column-sums, or vice-
of skills for each skill into account, adjusted weights waj are created versa. From the example in Fig. 7, we can show how in certain
by multiplying the weights w j with the possible number of skills cases the conditions of the row-sums and column-sums can not be
satisfied at the same time. On the one hand, if we conform to the
for skill j (amax
j
− amin
j
). As follows for skill 1, 0.57 · 8 = 4.56. Since
row-sums and assign skill 4 to resource 2, then the skill availability
we know the value of SS, amax j
and amin
j
, we are able to determine of skill 2 will be 1 skill short and skill 4 will have one superfluous
the total skill availability ( j a j = 0.3 · 40 + 15 = 27). Subtracting skill. On the other hand, assigning skill 2 to resource 3 will lead to
the minimum skill availability from this total skill availability pro- correct skill availabilities, but the breadth of resources 2 and 3 will
duces the number of skills that can be distributed over the skills be incorrect. To deal with this situation and make sure that we cre-
( j (a j − amin
j
)). In this example, the number of skills that we can ate a feasible matrix, we start over with the GenerateSkills()
assign on top of the minimum availability is equal to 12. This value in Algorithm 3 when a LeftfillError() occurs (Algorithm 1).
is now multiplied with the relative fraction of the adjusted weights If no feasible matrix has been generated after 500 iterations, then
wa
j a to establish the skill availability a j . For skill 1, we calculate we decrement the value of SSα or RAα with 0.05, until a feasible
j wj matrix has been found. The chance of infeasible matrices is lower
as follows, a1 = 0.56 · 12 + 4 = 10.76 ≈ 11 (formula shown on line for decremented values of SSα and RAα because of the decreased
5 of Algorithm 3). Since SSα = 0.5, the skill strengths SS j display disparity in the values of the row-sums and column-sums.
substantial variation in this example. FeasibilityCheck(): The generation procedure ends with
GenerateResources(): When the skill availabilities are the FeasibilityCheck() procedure, which checks whether the
known, the skill distribution b j,k can be generated in order to generated instance is feasible. This FeasibilityCheck() works
create the final multi-skilled workforce (Algorithm 4). The min- as a rejection method in order to find feasible instances since the
problem that addresses finding a feasible multi-skilled workforce
Algorithm 4 GenerateResources(|N|, |S|, ri, j , RA, RAα , bmin , bmax , a j ). given a skill availability j∈S a j for a fixed number of resources
aj |R| is NP-hard. A concise version of the complexity proof for this
1: Rmax ← j
bmin problem is provided in Appendix B. As explained in Section 2.2,
2: Rmin ← GetMinResources(ri, j , a j , bmin , bmax ) the example in Fig. 2 shows the skill requirements ri, j and skill
3: |
R| ← RA · (Rmax − Rmin ) + Rmin
distribution b j,k of an infeasible instance. FeasibilityCheck()
4: j b j,k , ∀k ∈ R ← GenerateAlpha( j a j , |R|, RAα ) makes use of an assignment problem to check the feasibility of the
5: for j ∈ S do instance. Since the serial scheduling of all activities in N can lead
6: for k ∈ R do to a feasible solution of the MSRCPSP, the feasibility of instance can
7: b j,k ← LeftfillMatrix(a j , j b j,k ) be checked by confirming the feasibility of each activity separately.
8: end for The mathematical formulation displayed below is solved for every
9: end for activity i ∈ N ∗ . If this mathematical problem turns out to be infea-
10: if LeftfillError then sible for any activity, the skills and resources are generated anew.
11: infeasibilitycounter ← infeasibilitycounter +1 The problem specified below is similar to the fixed job scheduling
12: if infeasibilitycounter > 500 then problem used in Bellenguez & Néron (2007) to ensure the validity
13: DecrementAlpha(SSα , RAα ) of a solution to the MSRCPSP.
14: infeasibilitycounter ← 0
Min x j,k (17)
15: end if
j∈S k∈R
16: go to GenerateSkills()
17: else
18: b j,k ← Scramble(b j,k ) s.t. x j,k ≤ b j,k ∀ j ∈ S, k ∈ R (18)
19: end if
x j,k = ri, j ∀j ∈ S (19)
imum Rmin
and maximum Rmax
number of resources are calcu-
k∈R
lated first as explained in Section 5.1. These values, together with
the resource availability RA, can determine the total number of re-
x j,k ≤ 1 k∈R (20)
sources |R| in the workforce. In order to introduce variability in
j∈S
the mastered skills of the resources, a set for the breadth j b j,k
of all resources k ∈ R is generated according to the skill avail-
x j,k ∈ {0, 1} ∀ j ∈ S, k ∈ R (21)
abilities and the RAα (Van Eynde & Vanhoucke, 2022). Since we
know the row-sums of the skill distribution matrix ( j b j,k ) from Decision variable x j,k is equal to 1 if resource k performs skill j.
Algorithm 4 and the column-sums of the skill distribution matrix Constraints (18) ensures that the resources only perform mastered
9
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Fig. 6. Left: A leftfilled b j,k -matrix, Right: b j,k -matrix after the scramble.
5.3. Generator settings In this section, we will evaluate the generated instances of
our data generator. In Fig. 8 we set out the parameters ex-
Table 4 shows the values of the parameters for our gener- plained in Section 5 on two-dimensional scatterplots to analyse
ated data instances. The instances include projects with |N| ∈ how the dataset covers the feature space of multi-skilled work-
{30, 60, 90}. For the SP, we have decided to take a wide range of forces in project scheduling problems. The scatterplots on the top
values to be able to analyse the impact of the project network row present the combinations of values included in the current
in multi-skilled project scheduling problems. We generated 500 dataset. These plots clearly show the discrete values that were de-
networks per SP ∈ {0.1, 0.3, 0.5, 0.7, 0.9} and then randomly picked cided upon and are revealed in Table 4. Obviously, it would take us
from the according 500 networks for every instance. The number too far to generate instances for all possible parameter values. To
of skills |S| in each instance is set at 4, which is the same as in the that regard we generated a representative reference set that con-
dataset of Almeida, Correia, & Saldanha-da Gama (2015). We have tains values for a substantially larger amount of discrete values in
included the parameter value ri,maxj
which determines that the max- order to show the range of possibilities for our data generator. The
imum number of resources that can be required by a single skill in scatterplots of the reference set are presented in the bottom row of
an activity is equal to 4. Similarly, we incorporated the rimax , which Fig. 8. The leftmost plot exhibits the skills and resources, in terms
sets the maximum number of resources that can be required by of SS and RA. The second and third scatterplot set out the skill
a single activity to 12. Obviously, ri, j ≤ ri,max
j
and max . In
j ri, j ≤ ri strength SS and resource availability RA to their variabilities SSα
and RAα . The scatterplot on the right shows what combinations of
other datasets the ri max is not specified and is left unbounded in
the instances, which means that rimax = ri,max j
· |S|. However, we de- variability are included in this dataset.
cided against this since an unbounded rimax substantially increases The (SS − RA ) scatterplots reveal that for all discrete values of
the chance that the skill requirements of a single activity would project skill strength and resource availability combinations work-
dominate the skill requirements of most other activities in the forces have been generated in this dataset. This means that we
project. Consequently, this would imply that Rmin ≈ Rmax for low have created a great range of workforces with different sizes and
values of SS. This, in turn, means that only a very limited number characteristics. The (SS − SSα ) plot shows that we have a clear
of workforces can be generated across all RA values, which reduces spread over most SS and SSα values except for workforces with
10
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Fig. 8. Parameter scatterplots of the complete dataset and the representative scatterplots.
high SS and high SSα values. This is due to the fact that it is hard theless, it seems that no instances with high AvgSC and high AvgRC
to create disparity (high SSα ) between the skill availabilities when are covered. Since a high AvgSC means that the number of required
there is a high number of mastered skills j a j (high SS). More- skills is close to the number of mastered skills at every point in
over, the skill availability a j per skill j is bounded by its amax j
the project, this occurs generally when the project skill factor is
and therefore the availability is distributed over more than 1 skill equal to 1. Consequently, the minimum number of resources in the
which prevents great disparity between the skills. The (RA − RAα ) workforce Rmin will be high, which means that the resources will
scatter graph displays a slightly different parameter distribution as be predominantly single-skilled and that the average resource crit-
for the (SS − SSα ) plot. Namely, only for RA values close or equal icality will remain rather low. The second plot sets out the min-
to 1 no workforces are featured in the dataset. The reason for this imum and maximum skill criticality. This shows that there are
is that if RA 1 the number of resources is close to the number instances without critical skills (bottom-left), instances with only
of mastered skills (|R| = Rmax = j a j ). From this it follows that critical skills (top-right) and instances with both low and highly
most or all resources will be single-skilled, which reduces the pos- critical skills (top-left). From the scatterplot on the right we can
sible disparity in the breadth of the resources. Lastly, from the make the same conclusions. Our dataset features instances with
(SSα − RAα ) scatterplot we can extract that for higher values of only single-skilled resources (bottom-left), instances in which all
SSα it becomes gradually more difficult to generate instances. Since resources are completely-skilled and highly critical (top-right) and
a workforce with high SSα possesses, in most cases, one skill that also instances in which there is a mix in the criticality of the work-
has a substantially larger availability than the other skills, the vari- force (top-left).
ability in the breadth of the resources will be very restricted. Nev- In the last part of this section, we will parametrically com-
ertheless, we still generated workforces for almost all (SSα − RAα )- pare the feature space of our current dataset to existing bench-
combinations. mark datasets in the literature. There are currently 3 datasets
In order to further evaluate our dataset, we implement the skill available in the literature for the MSRCPSP. We were able to re-
criticality and advanced resource criticality of Snauwaert & Van- trieve the data used in Montoya et al. (2014) from Young, Feydy,
houcke (2021) as evaluating parameters for our new dataset. The & Schutt (2017). We implemented the data generator of Almeida
skill criticality SC j of a skill j is a metric for the importance of et al. (2015) to generate the dataset used in Almeida, Correia, &
each skill in the project. Saldanha-da Gama (2016) and in Correia et al. (2012). Their gen-
erator utilises a modified resource strength MRS to facilitate the
(ri, j · pi )
SC j = i (22) skill requirement and workforce generation. This MRS is fairly sim-
k j,k ·
b i pi ilar to the skill strength in our proposed research. However one
On the one hand, a skill that is required a lot in the activities, value of the MRS corresponds to different values of the SS and
but not mastered frequently in the workforce will have a very high SSα . Myszkowski et al. (2015) proposed their iMOPSE dataset for
skill criticality. On the other hand, skills that are mastered by many the MSRCPSP. Their dataset has some specifics, including 1 skill re-
resources but not required a lot will be not very critical. The ad- quirement per activity ( j ri, j = 1) and the breadth j b j,k of all
vanced resource criticality RCka of a resource k measures the signif- resources is equal to 6. As is clear from Fig. 10, our new dataset
icance of a resource by the sum of the skill criticality of its mas- covers a larger range of the feature space in terms of resources
tered skills. Therefore, a resource that masters more critical skills and skills than other datasets from the literature. This may allude
will be a more critical resource. The ranked skill criticality RSC j or- to the fact that these datasets did not focus on multi-skilled work-
ders the skills in terms of skill criticality such that the most critical force analysis. However, our data generator also considers a greater
skill gets a value of |S|. The formula for the advanced resource crit- range of project networks (determined by SP -value). Namely, we
icality is slightly modified here because this paper does not deal consider SP -values in the range [0.1; 0.9], while Almeida et al.
with the depth of the resources: (2015) considers networks in the range [0.17; 0.52], Montoya et al.
(2014) networks in the range [0.1; 0.38] and Myszkowski et al.
RCka = (RSC j · b j,k ) (23) (2015) networks in the range [0.01; 0.2]. In terms of multi-skilled
j workforce generation, we can identify from the scatterplots that
the current datasets in the literature do not include instances
Fig. 9 presents the average skill criticality AvgSC of all skills in S
with high resource availabilities. Therefore, multi-skilled project
and the average resource criticality AvgRC of all resources in R. This
scheduling problems with low-skilled workforces are not repre-
graph clearly shows that our dataset includes instances with low
sented. The dataset of Montoya et al. (2014) contains some in-
and high average skill criticality and resources criticality. Never-
11
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Fig. 10. Comparison of the workforce variety in literature datasets and validation with empirical instances.
stances for high skills strength values, while this is not the case availability RA (because the number of resources is reduced) are
for Almeida et al. (2015). Myszkowski et al. (2015) generated in- highly probable in real-life projects. If we redistribute the skills in
stances with a project skill strength higher than 1, which means the workforces of the empirical instances with single-skilled work-
that the number of mastered skills is higher than the total skill re- forces, we can create more representative instances that can be
quirement in the project. Most notably is that all literature datasets situated in the SS − RA graph. Some of these derivative instances
only contain instances with low SS and low RA and none of them are clearly featured in the benchmark datasets of Montoya et al.
generated instances for high SS and RA. In Section 6 we analyse (2014) and Almeida et al. (2015), while others are left unconsid-
if these newly covered parts are as difficult as other parts of the ered.
feature space and can yield interesting insights. In summary, we can state these empirical instances show the
In addition to artificial instances, we have also gathered 7 em- value of our artificial datasets and validate the data generation
pirical instances for the MSRCPSP that are collected from a soft- procedure of Section 5 and its assumptions. The complete set of
ware company and companies that operate in the railway con- empirical instances (MSLIB5), together with the instances of the
struction industry. These empirical instances are also shown on 3 benchmark datasets, are available on our website https://www.
Fig. 10. Of these instances, 4 have a workforce with only single- projectmanagement.ugent.be/research/data.
skilled resources (shown as squares on the plots), while the other
3 projects were executed by a multi-skilled workforce (shown as 5.5. Dataset design
circles on the plots). The 4 data points at the top of the scatter-
plots of Fig. 10 are the instances with a single-skilled workforce, In this section, we propose several subsets of the complete
i.e. single-skilled workforces have a resource availability RA equal dataset presented in Section 5.2. The aim of these different subsets
to 1. The 3 empirical instances with multi-skilled workforces have is to create multi-skilled datasets that fit the research requirements
a RA equal to 0.32. This remains the same for all 3 instances be- of each researcher in the field of multi-skilled project scheduling.
cause the exact same workforce executed 3 different projects in The specifics and characteristics of the datasets will be presented
these instances. Of course, the skill strength SS varies because it along the following lines. The datasets of this section are also
depends on the skill requirements of the activities in the project. available on our website https://www.projectmanagement.ugent.
These real-world applications show the relevance and importance be/research/data.
of our new data generation procedure. Not only is it clear that the Table 5 displays an overview of the dataset design of the dif-
benchmark datasets do not consider single-skilled workforces in ferent sets that will be published online. In MSLIB1, we have as-
project scheduling problems, Fig. 10 also reveals that some empiri- sembled a basic set for research on the MSRCPSP. It consists of a
cal multi-skilled workforces are not considered by the datasets that varying set of projects with different project characteristics and of
are currently available. size |N| = 30. The instances in this set possess a large spread of
On top of these 7 empirical instances, we discussed with one of multi-skilled workforces, both in terms of skills and in terms of
the companies if some of the single-skilled workers could actually resources. However, no considerable variability is included in the
perform any of the other skills in order to create a multi-skilled workforces. Hence, SSα and RAα are locked on the lowest setting.
workforce. Based on the degrees of freedom set by the company, MSLIB2 focusses more on the project than on the workforce. This
we were able to create 12 derivative empirical instances based on set is useful for researchers that would like to solve the MSRCPSP
3 of the 4 single-skilled instances by removing some of the re- for a wide range of projects with a smaller but still diversified set
sources and adding their mastered skills to other resources (shown of multi-skilled workforces. More specifically, it contains diverse
as triangles on Fig. 10). For example, in these software projects the projects of 30, 60 and 90 activities and workforces with a wide
jobs of the project engineer and the signalling system engineer are range of skills and resources. As in MSLIB1, the variability in the
fairly similar and could be performed by the same resource. As workforce is set to the lowest range. MSLIB3 is created specifically
such, we found that empirical instances with equal skill strength for research on multi-skilled workforce analysis. Therefore it con-
SS (because the number of skills remains equal) and lower resource tains a substantial set of small and large workforces with variabil-
12
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Table 5
Parameter settings of the datasets.
Table 6
Overview of the parametric analyses in the computational experiments.
Table 7
Overview of the managerial insights.
SS # of mastered skills - Parallel networks: average # of mastered skills ≤ 40% total skill requirement
- Serial networks: average # of mastered skills ≤ 20% total skill requirement
RA # of resources - Parallel networks: average # of resources ≤ 60% mastered skills
- Serial networks: # of resources has no impact on makespan
%MS Multi-skilled % in workforce - Multi-skilled workforces need on average 18% more skills to achieve the
same makespan as a single-skilled workforce
ity in both the skill availability and the breadth of the resources. • Infeasible 100-%OPT-%FNO: the percentage of instances for
This set only considers projects of 30 activities. which no feasible solution was found within the time limit of
60 seconds (results not shown in Table 8).
6. Computational experiments
Additionally, Table 8 displays the average gap percentage
(%GAP) of the solutions from CPLEX and from a genetic algorithm
In the following section, we analyse the results from solving the
(GA) based on the procedure proposed in Snauwaert & Vanhoucke
MILP model of Section 2.3 for all instances of the complete dataset
(2021):
using CPLEX 12.6 with a time limit of 60 seconds and solving
the same instances with a meta-heuristic algorithm. The compu- %GAP = BestSol − LBCPLEX )/BestSol (24)
tational experiments consist of two main parts. A quick overview
BestSol is the lowest feasible integer solution generated by
of the computational experiments is displayed in Tables 6 and 7.
CPLEX or the GA. For the instances in %OPT this is an optimal
First, we will analyse the impact of all parameters presented in
solution, for the instances in %FNO this is the best feasible solu-
Section 5 using the obtained solutions (see Table 6). The results
tion. LBCPLEX is the lower bound determined by CPLEX by relaxing
will reveal the relation between the difficulty of an instance and
the integrality constraints, which is the default lower bound cal-
the values of the instance parameters. Second, we provide man-
culation in CPLEX. Note that the quality of the %GAP will depend
agerial insights regarding important research questions for multi-
greatly on the lower bound LBCPLEX found by CPLEX. Table 8 also
skilled workforces (see Table 7). More specifically, the size of the
exhibits the average CPU time (in seconds) for the GA. Lastly, we
workforce in terms of skills and resources is investigated as well
have also added a column that explains whether the corresponding
as the multi-skilling in the workforce.
parametric values per row lead to instances that were not part of
other benchmark datasets. “” means that this group of instances
6.1. Parametric dataset analysis
is new (and was not considered previously) and “≈” signifies that
the group of instances was partially considered or nearby paramet-
In this section, we compare the results for the projects with 30,
ric values were generated. A blank cell means that at least one of
60 and 90 activities for several values of the serial-parallel indi-
the benchmark datasets generated instances for parameters with
cator SP , the project skill strength SS and the resource availability
the according values.
RA (see Table 8). In this table the solutions are classified into three
SP-SS-RA Analysis: Table 8 shows that for increasing values of
main groups:
SP the number of optimal and feasible solutions for CPLEX in-
• Optimal %OPT: the percentage of instances for which CPLEX creases. From these results, it appears that more serial projects can
could provide an optimal solution within the time limit. be solved to optimality more easily in most cases, which is in line
• Feasible %FNO: the percentage of instances for which a feasi- with other research. For an SP = 0.1, there are groups for which
ble but no guaranteed optimal solution was found. In this case, the %GAP is higher than 70%, for projects with an SP value of 0.5
CPLEX provided the best found solution within the time limit, or higher this significantly decreases to averages of at most 14.8%.
together with a lower bound. For the project skill strength SS, it is clear that the lower its value
13
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Table 8
Comparison between instances of different sizes for various SP, SS and RA values.
%OPT %FNO %Gap %Gap CPU %OPT %FNO %Gap %Gap CPU %OPT %FNO %Gap %Gap CPU
0.1 0 0 ≈ 0.0% 100.0% 78.9% 63.6% 12.6 0.0% 100.0% 92.8% 73.3% 45.9 0.0% 46.1% 97.6% 73.7% 110.1
0.4 0.0% 100.0% 77.1% 67.0% 13.4 0.0% 96.1% 96.3% 71.9% 47.7 0.0% 22.2% 99.8% 72.2% 113.8
0.6 ≈ 0.0% 100.0% 75.3% 66.3% 13.4 0.0% 96.7% 97.6% 70.2% 47.5 0.0% 23.9% 99.9% 72.5% 111.9
1 1.1% 98.9% 71.3% 68.8% 13.4 0.0% 79.4% 94.0% 67.9% 49.1 0.0% 11.7% 99.9% 69.8% 116.0
0.5 0 13.9% 76.7% 61.3% 31.1% 13.4 26.7% 13.9% 68.7% 3.7% 51.2 24.4% 20.0% 70.8% 2.5% 132.1
0.4 50.6% 45.6% 32.2% 20.7% 13.5 67.8% 16.6% 30.6% 6.6% 51.2 75.6% 22.8% 24.5% 4.5% 128.7
0.6 71.1% 23.3% 20.5% 19.9% 13.4 85.6% 12.8% 14.5% 7.3% 51.0 99.4% 0.6% 0.6% 5.2% 128.2
1 93.3% 5.6% 4.1% 8.5% 13.2 100.0% 0.0% 0.0% 10.8% 51.3 100.0% 0.0% 0.0% 8.5% 123.7
1 0 34.4% 59.4% 50.1% 22.3% 14.4 51.1% 9.4% 46.3% 16.4% 49.5 48.9% 28.3% 50.6% 14.8% 126.7
0.4 98.9% 1.1% 0.7% 0.0% 14.4 100.0% 0.0% 0.0% 0.0% 49.3 100.0% 0.0% 0.0% 0.0% 118.2
0.6 100.0% 0.0% 0.0% 0.0% 14.8 100.0% 0.0% 0.0% 0.0% 49.0 77.8% 22.2% 22.2% 0.0% 126.5
1 100.0% 0.0% 0.0% 0.0% 14.8 100.0% 0.0% 0.0% 0.0% 49.2 56.7% 18.3% 43.3% 0.0% 126.3
0.5 0 0 ≈ 38.3% 61.7% 14.8% 8.9% 14.4 13.9% 86.1% 35.6% 15.9% 51.1 3.3% 96.7% 44.2% 20.1% 134.9
0.4 ≈ 55.6% 44.4% 11.7% 12.8% 14.4 42.8% 57.2% 34.0% 18.6% 51.1 25.0% 75.0% 43.4% 22.5% 135.3
0.6 ≈ 58.3% 41.7% 12.3% 14.8% 14.5 40.0% 60.0% 31.1% 17.7% 50.9 29.4% 70.6% 37.3% 21.2% 136.0
1 58.3% 41.7% 10.2% 23.5% 13.3 46.7% 53.3% 28.9% 25.3% 47.8 31.7% 68.3% 35.9% 26.6% 128.9
0.5 0 ≈ 100.0% 0.0% 0.0% 0.5% 13.6 100.0% 0.0% 0.0% 0.3% 52.1 100.0% 0.0% 0.0% 0.0% 129.7
0.4 100.0% 0.0% 0.0% 0.8% 13.6 100.0% 0.0% 0.0% 0.5% 52.1 100.0% 0.0% 0.0% 0.1% 128.9
0.6 100.0% 0.0% 0.0% 0.7% 13.8 100.0% 0.0% 0.0% 0.3% 52.2 100.0% 0.0% 0.0% 0.4% 130.3
1 100.0% 0.0% 0.0% 1.6% 13.6 100.0% 0.0% 0.0% 1.0% 52.3 100.0% 0.0% 0.0% 1.1% 129.1
1 0 99.4% 0.6% 0.1% 0.0% 13.6 100.0% 0.0% 0.0% 0.0% 51.1 99.4% 0.6% 0.1% 0.0% 136.1
0.4 100.0% 0.0% 0.0% 0.0% 13.8 100.0% 0.0% 0.0% 0.0% 50.8 100.0% 0.0% 0.0% 0.0% 134.3
0.6 100.0% 0.0% 0.0% 0.0% 13.8 100.0% 0.0% 0.0% 0.0% 50.8 95.6% 3.9% 4.4% 0.0% 131.3
1 100.0% 0.0% 0.0% 0.0% 14.0 100.0% 0.0% 0.0% 0.0% 50.9 77.8% 13.9% 22.2% 0.0% 132.1
0.9 0 0 99.4% 0.6% 0.1% 0.0% 12.0 78.9% 21.1% 1.3% 0.6% 46.3 70.6% 29.4% 1.5% 1.1% 133.7
0.4 98.9% 1.1% 0.1% 0.0% 12.1 85.0% 15.0% 0.9% 0.9% 47.3 80.0% 20.0% 2.2% 1.3% 131.6
0.6 98.3% 1.7% 0.2% 0.1% 11.9 87.8% 12.2% 0.7% 0.6% 47.6 76.7% 23.3% 2.5% 1.4% 131.8
1 97.2% 2.8% 0.1% 2.5% 11.8 83.9% 16.1% 0.7% 3.1% 47.6 81.1% 19.9% 0.8% 3.5% 129.7
0.5 0 100.0% 0.0% 0.0% 0.1% 13.5 100.0% 0.0% 0.0% 0.0% 48.2 100.0% 0.0% 0.0% 0.0% 131.5
0.4 100.0% 0.0% 0.0% 0.0% 14.0 100.0% 0.0% 0.0% 0.0% 49.3 100.0% 0.0% 0.0% 0.0% 131.2
0.6 100.0% 0.0% 0.0% 0.1% 13.9 100.0% 0.0% 0.0% 0.0% 49.3 100.0% 0.0% 0.0% 0.0% 131.5
1 100.0% 0.0% 0.0% 0.2% 13.9 100.0% 0.0% 0.0% 0.1% 49.6 100.0% 0.0% 0.0% 0.1% 133.8
1 0 100.0% 0.0% 0.0% 0.0% 13.7 100.0% 0.0% 0.0% 0.0% 51.3 100.0% 0.0% 0.0% 0.0% 147.9
0.4 100.0% 0.0% 0.0% 0.0% 14.0 100.0% 0.0% 0.0% 0.0% 51.2 99.4% 0.6% 0.6% 0.0% 146.1
0.6 100.0% 0.0% 0.0% 0.0% 14.1 100.0% 0.0% 0.0% 0.0% 51.3 99.4% 0.0% 0.6% 0.0% 146.3
1 100.0% 0.0% 0.0% 0.0% 14.1 100.0% 0.0% 0.0% 0.0% 51.4 74.4% 13.3% 25.5% 0.0% 146.6
the more difficult it is to find an optimal solution. Seeing that the stances for extreme values (e.g. SS = 0 & RA = 0) are generated in
SS determines the number of available skills in the workforce, we the benchmark instances, which seem the most difficult to solve
can state that there is direct relation between the number of mas- with both CPLEX and a meta-heuristic approach. Finally, this new
tered skills and the difficulty of the instance. There is a similar re- dataset also generates a lot of instances for high SP , high SS and
lation between the instance difficulty and the resource availability, high RA values, but, as can be seen from the results in Table 8,
albeit less convincing. Often, we find that the higher the number these instances are rather easy to solve with either a commercial
of resources, the lower the average %GAP is for the group of in- solver or a heuristic approach. However, some of these instances
stances. A comparison of the project sizes revealed that the num- that are fairly easy to solve for the MSRCPSP might become diffi-
ber of optimal and feasible solutions decreased with an increas- cult when the instances are used for extended variants of the MSR-
ing number of activities. Nevertheless, for some groups the num- CPSP.
ber of optimal solutions increased for larger projects (e.g. SP = 0.1, From the previous paragraph we gather that multiple in-
SS = 0.5 and RA = 0), however in these cases the total number of stances for the MSRCPSP with varying multiskilledness and vary-
feasible solutions still decreased. Looking at the results for the GA, ing workforce size have not been studied, which could provoke
we find that these are very consistent with the results for CPLEX. new methodological implementations different from the current
There are some groups for which there is a substantial difference state-of-the-art approaches. An analysis of the results of the GA
in %GAP. More specifically, projects in the groups with an SP = 0.1, for this group of instances revealed that the procedure seemed
an SS = 0.5 or 1 and a low RA seem harder to solve for CPLEX for to find equally satisfactory workforce assignments in the same
all project sizes. However, we can state that the hardness of solv- timeframe as for instances generated from other parameter values.
ing these instances does not vary drastically between a commercial However, it could be interesting to see what the effect would be of
solver and a (meta-)heuristic approach. pre-processing or other techniques to deal with larger workforces.
Table 8 reveals that some parts of the feature space that were Furthermore, we found that the genetic algorithm could run into
not considered by the benchmark datasets are difficult to solve problems finding feasible resource assignments for certain activi-
(see Section 5.4). For example, instances with SP = 0.1, SS = 0 and ties when the number of skills and resources are at extreme val-
RA = 1 and instances with SS = 0.5 and RA ≈ 0.5 are reasonably ues close to 0. This is because, for these instances the amount of
difficult and left unconsidered. Moreover, we can see that more feasible resource assignments for activities are highly restricted.
parallel instances with SS = 0 are fairly difficult to solve to opti- SF-SS α -RA α Analysis: An analysis of the results for the other
mality, while only a handful of instances for these values were parameters presented in this research is exhibited in Table 9. The
previously generated. From Fig. 10 we can also see that no in- results prove that the %GAP of CPLEX increases with the project
14
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Table 9
%Gap analysis for SF , SSα and RAα parameters.
SF %OPT %FNO %Gap SSα %OPT %FNO %Gap RAα %OPT %FNO %Gap
0.25 92.8% 3.1% 5.0% 0 83.8% 8.4% 13.5% 0 84.8% 8.1% 12.5%
0.5 88.8% 5.1% 8.9% 0.5 85.2% 7.9% 12.3% 0.5 85.2% 8.0% 12.3%
0.75 82.8% 9.8% 14.7% 1 86.0% 7.8% 11.6% 1 85.0% 8.0% 12.5%
1 75.7% 14.0% 21.1%
Table 10 Table 11
%Gap analysis for datasets of Section 5.5. Parameter settings for the hard MSLIB4.
15
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
ting (independent) variable as well as the splitting value that will Fig. 11 the SP , SF , SS, SSα and RA are included independent vari-
be most effective in reducing the variation in the groups of in- ables. Of these the SP , SF and SS are the highest influencing inde-
stances. The splitting variables and the split values with the low- pendent parameters.
est p-value will comprise the split values of the CHAID regres-
sion. The main reason for using an F -test is that our dependent • The serial-parallel network indicator value SP has a high im-
variable %GAP is continuous. For this F -test, we use a signifi- pact on the hardness of the instances, which is why it is utilised
cance level α = 0.05. The tested hypothesis is the null hypothe- as the first splitting variable. From the legend below Fig. 11, this
sis that tests whether the model without independent variables predictive analysis shows that instances with lower SP values
fits the data as well as the model with the parameters. After- are more likely to be harder. It is confirmed in previous litera-
wards, the same process is performed for the created subgroups ture that the structure of the network is known to influence the
until no more significant subgroups can be created. An end node hardness of project scheduling instances. For more information
in the CHAID regression tree is reached when no p-value is lower on the impact of SP on the hardness of project scheduling in-
than 0.05, which means that no significant difference in variation stances, we refer the reader to Vanhoucke et al. (2008).
is found. Other stopping criteria are that the minimum number • The project skill factor SF studies the impact of the size of the
of instances per parent node in the CHAID regression tree is set skill requirements of the instance hardness. The CHAID regres-
at 50, per child node it is set at 15 and the maximum depth is sion tree predicts that instances with higher SF values will be
equal to 4. harder to solve, as can be seen by the increasing %GAP in end
Fig. 11 displays the CHAID regression tree for instances of the nodes 1 to 4 and end nodes 5 to 8.
MSRCPSP with a total of 47 nodes, 30 of which are end nodes. • The project skill strength SS has substantial predictive power
Each square node in the tree represents a split value of the men- for the hardness of MSRCPSP instances. A lower number of
tioned independent variable, each diamond node represents an end available skills in the instance (i.e. a low SS) seems to correlate
node. In the legend below the regression tree, we provide the aver- with high %GAP values.
age %GAP and the standard deviation of the subgroup of instances • The skill strength variability SSα only appears once in the
that coincide with the end node. In the CHAID regression tree of CHAID regression tree. Therefore, we can state the disparity in
16
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Fig. 12. Impact of parameters on project makespan: (a) SS, (b) RA, (c) % of multi-skilled resources in the workforce.
skill availability is not a good measurement to predict to hard- makespan is only affected by the number of skills, but how they
ness of instances. are divided over the resources has no impact. As long as the num-
• The impact of the resource availability RA is limited because ber of mastered skills remains the same, the workforce can be both
its range is highly dependent on the SS. If the SS is low, then single-skilled or completely-skilled without influencing the project
the number of available skills will be low. In that case, the im- makespan.
pact of the RA is minimal since the number of possible work- Multi-skilling: Finally, we investigated what the impact is of
force sizes will be small and their range will be narrow. If the the number of multi-skilled resources in the workforce on the
SS is high, then there will be a high number of skills and the makespan. To calculate the percentage of multi-skilled resources
RA can have a larger impact on the instance hardness. In the in a workforce, we use the definition of multi-skilled resources as
CHAID regression tree, we can see that the SF has an impact presented in Section 2, namely, a resource is multi-skilled if it mas-
on the subgroups with low SS while RA has an impact on the ters 2 or more skills. The results reveal that the lower the % of
subgroups with high SS. multi-skilled workers is, the higher the makespan is (see graph (c)
• The resource availability variability RAα is not included in the of Fig. 12). Therefore, we can state that multi-skilled workforces
CHAID regression tree, which means that the multiskilledness have a positive impact on the makespan in comparison to single-
of the workforce has little to no impact on the hardness of the skilled workforces. These results are also confirmed as being sig-
instance. nificant through statistical regression.
17
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
ministic side of the MSRCPSP, a clear future research perspective is Drezet, L.-E., & Billaut, J. C. (2008). A project scheduling problem with labour con-
to study the impact of stochasticity on the MSRCPSP. Finally, based straints and time-dependent activities requirements. International Journal of Pro-
duction Economics, 112(1), 217–225.
on the framework in this paper, new empirical data instances and Felberbauer, T., Gutjahr, W. J., & Doerner, K. F. (2019). Stochastic project manage-
empirical validation can be done in the future for project schedul- ment: Multiple projects with multi-skilled human resources. Journal of Schedul-
ing problems with multi-skilled resources. ing, 22(3), 271–288.
Fırat, M., & Hurkens, C. A. (2012). An improved MIP-based approach for a multi-skill
workforce scheduling problem. Journal of Scheduling, 15(3), 363–380.
Hartmann, S., & Briskorn, D. (2010). A survey of variants and extensions of the re-
Acknowledgments
source-constrained project scheduling problem. European Journal of Operational
Research, 207(1), 1–14.
We acknowledge the support provided by the Nationale Bank Hartmann, S., & Briskorn, D. (2021). An updated survey of variants and extensions
of the resource-constrained project scheduling problem. In European journal of
van BelgiȽ (NBB) and the Bijzonder Onderzoeksfonds (BOF) for the
operational research.
project, under contract number BOF12GOA021. Hegazy, T., Shabeeb, A. K., Elbeltagi, E., & Cheema, T. (20 0 0). Algorithm for schedul-
The computational resources (Stevin Supercomputer Infrastruc- ing with multiskilled constrained resources. Journal of Construction Engineering
ture) and services used in this work were provided by the VSC and Management, 126(6), 414–421.
Hematian, M., Seyyed Esfahani, M. M., Mahdavi, I., Mahdavi-Amiri, N., & Reza-
(Flemish Supercomputer Center), funded by Ghent University, FWO eian, J. (2020). A multiobjective integrated multiproject scheduling and mul-
and the Flemish Government - department EWI. tiskilled workforce assignment model considering learning effect under uncer-
tainty. Computational Intelligence, 36(1), 276–296.
Herroelen, W., Demeulemeester, E., & De Reyck, B. (1999). A classification scheme
Supplementary material for project scheduling. In Project scheduling (pp. 1–26). Springer.
Herroelen, W., & Leus, R. (2005). Project scheduling under uncertainty: Survey and
research potentials. European Journal of Operational Research, 165(2), 289–306.
Supplementary material associated with this article can be Javanmard, S., Afshar-Nadjafi, B., & Niaki, S. T. A. (2017). Preemptive multi-skilled
found, in the online version, at doi:10.1016/j.ejor.2022.05.049. resource investment project scheduling problem: Mathematical modelling and
solution approaches. Computers & Chemical Engineering, 96, 55–68.
Kass, G. V. (1980). An exploratory technique for investigating large quantities of cat-
References egorical data. Journal of the Royal Statistical Society: Series C (Applied Statistics),
29(2), 119–127.
Afshar-Nadjafi, B. (2020). Multi-skilling in scheduling problems: A review on mod- Kolisch, R., & Heimerl, C. (2012). An efficient metaheuristic for integrated scheduling
els, methods and applications. Computers & Industrial Engineering, 107004. and staffing it projects based on a generalized minimum cost flow network.
Almeida, B., Correia, I., & Saldanha-da Gama, F. (2015). An instance generator for Naval Research Logistics, 59(2), 111–127.
the multi-skill resource-constrained project scheduling problem. Faculdade de Kolisch, R., Sprecher, A., & Drexl, A. (1995). Characterization and generation of a
Ciências da Universidade de Lisboa-Centro de Matemática, Aplicações Fundamentais general class of resource-constrained project scheduling problems. Management
e Investigação Operacional. Science, 41(10), 1693–1703.
Almeida, B. F., Correia, I., & Saldanha-da Gama, F. (2016). Priority-based heuristics Labro, E., & Vanhoucke, M. (2008). Diversity in resource consumption patterns and
for the multi-skill resource constrained project scheduling problem. Expert Sys- robustness of costing systems to errors. Management Science, 54(10), 1715–1730.
tems with Applications, 57, 91–103. Liu, S.-S., & Wang, C. J. (2012). Optimizing linear project scheduling with multi-
Almeida, B. F., Correia, I., & Saldanha-da Gama, F. (2019). Modeling frameworks -skilled crews. Automation in Construction, 24, 16–23.
for the multi-skill resource-constrained project scheduling problem: A theoreti- Maghsoudlou, H., Afshar-Nadjafi, B., & Niaki, S. T. A. (2016). A multi-objective inva-
cal and empirical comparison. International Transactions in Operational Research, sive weeds optimization algorithm for solving multi-skill multi-mode resource
26(3), 946–967. constrained project scheduling problem. Computers & Chemical Engineering, 88,
Alvanchi, A., Lee, S., & Abou Rizk, S. M. (2012). Dynamics of workforce skill evolution 157–169.
in construction projects. Canadian Journal of Civil Engineering, 39(9), 1005–1017. Maghsoudlou, H., Afshar-Nadjafi, B., & Niaki, S. T. A. (2019). Preemptive multi-skilled
Avramidis, A. N., Chan, W., Gendreau, M., L’ecuyer, P., & Pisacane, O. (2010). Op- resource constrained project scheduling problem with hard/soft interval due
timizing daily agent scheduling in a multiskill call center. European Journal of dates. RAIRO-Operations Research, 53(5), 1877–1898.
Operational Research, 200(3), 822–832. Maghsoudlou, H., Afshar-Nadjafi, B., & Niaki, S. T. A. (2017). Multi-skilled project
Bellenguez, O., & Néron, E. (2004). Lower bounds for the multi-skill project schedul- scheduling with level-dependent rework risk; three multi-objective mechanisms
ing problem with hierarchical levels of skills. In International conference on the based on cuckoo search. Applied Soft Computing, 54, 46–61.
practice and theory of automated timetabling (pp. 229–243). Springer. Montoya, C., Bellenguez-Morineau, O., Pinson, E., & Rivreau, D. (2014).
Bellenguez, O., & Néron, E. (2007). A branch-and-bound method for solving multi- Branch-and-price approach for the multi-skill project scheduling problem.
-skill project scheduling problem. RAIRO-Operations Research, 41(2), 155–170. Optimization Letters, 8(5), 1721–1734.
Blazewicz, J., Lenstra, J. K., & Kan, A. R. (1983). Scheduling subject to resource con- Myszkowski, P., Skowroński, M., Olech, L., & Oślizło, K. (2015). Hybrid ant colony op-
straints: classification and complexity. Discrete Applied Mathematics, 5(1), 11–24. timization in solving multi-skill resource-constrained project scheduling proble.
Brualdi, R. A. (1980). Matrices of zeros and ones with fixed row and column sum Soft Computing, 19(12), 3599–3619.
vectors. Linear Algebra and its Applications, 33, 159–231. Najafzad, H., Davari-Ardakani, H., & Nemati-Lafmejani, R. (2019). Multi-skill project
Cai, X., & Li, K. N. (20 0 0). A genetic algorithm for scheduling staff of mixed skills scheduling problem under time-of-use electricity tariffs and shift differential
under multi-criteria. European Journal of Operational Research, 125(2), 359–369. payments. Energy, 168, 619–636.
Certa, A., Enea, M., Galante, G., & Manuela La Fata, C. (2009). Multi-objective human Néron, E. (2002). Lower bounds for the multi-skill project scheduling problem.
resources allocation in r&d projects planning. International Journal of Production In Proceeding of the eighth international workshop on project management and
Research, 47(13), 3503–3523. scheduling (pp. 274–277).
Chen, R., Liang, C., Gu, D., & Leung, J. Y. (2017). A multi-objective model for mul- Othman, S. B., Hammadi, S., & Quilliot, A. (2015). Multi-objective evolutionary for
ti-project scheduling and multi-skilled staff assignment for it product develop- multi-skill health care tasks scheduling. IFAC-PapersOnLine, 48(3), 704–709.
ment considering competency evolution. International Journal of Production Re- Othman, S. B., Zgaya, H., Hammadi, S., Quilliot, A., Martinot, A., & Re-
search, 55(21), 6207–6234. nard, J. M. (2016). Agents endowed with uncertainty management behaviors to
Chen, R., Liang, C., Gu, D., & Zhao, H. (2020). A competence-time-quality schedul- solve a multiskill healthcare task scheduling. Journal of Biomedical Informatics,
ing model of multi-skilled staff for it project portfolio. Computers & Industrial 64, 25–43.
Engineering, 139, 106183. Polo-Mejía, O., Artigues, C., Lopez, P., & Basini, V. (2019). Mixed-integer/linear and
Chen, W.-N., & Zhang, J. (2012). Ant colony optimization for software project constraint programming approaches for activity scheduling in a nuclear re-
scheduling and staffing with an event-based scheduler. IEEE Transactions on search facility. International Journal of Production Research, 1–18.
Software Engineering, 39(1), 1–17. Snauwaert, J., & Vanhoucke, M. (2021). A new algorithm for resource-constrained
Correia, I., Lampreia-Lourenço, L., & Saldanha-da Gama, F. (2012). Project schedul- project scheduling with breadth and depth of skills. European Journal of Opera-
ing with flexible resources: formulation and inequalities. OR Spectrum, 34(3), tional Research, 292(1), 43–59.
635–663. Valls, V., Pérez, A., & Quintanilla, S. (2009). Skilled workforce scheduling in service
Dang Quoc, H., Nguyen Doan, C., Xiong, N., et al., (2020). Effective evolutionary al- centres. European Journal of Operational Research, 193(3), 791–804.
gorithm for solving the real-resource-constrained scheduling problem. Journal of Van Eynde, R., & Vanhoucke, M. (2022). New summary measures and datasets for
Advanced Transportation, 2020. the multi-project scheduling problem. European Journal of Operational Research,
De Bruecker, P., Beliën, J., Van den Bergh, J., & Demeulemeester, E. (2018). A three- 299(3), 853–868.
-stage mixed integer programming approach for optimizing the skill mix and Vanhoucke, M., Coelho, J., Debels, D., Maenhout, B., & Tavares, L. V. (2008). An eval-
training schedules for aircraft maintenance. European Journal of Operational Re- uation of the adequacy of project network generators with systematically sam-
search, 267(2), 439–452. pled networks. European Journal of Operational Research, 187(2), 511–524.
De Bruecker, P., Van den Bergh, J., Beliën, J., & Demeulemeester, E. (2015). Workforce Yannibelli, V., & Amandi, A. (2011). A knowledge-based evolutionary assistant
planning incorporating skills: State of the art. European Journal of Operational to software development project scheduling. Expert Systems with Applications,
Research, 243(1), 1–16. 38(7), 8403–8413.
18
J. Snauwaert and M. Vanhoucke European Journal of Operational Research 307 (2023) 1–19
Yannibelli, V., & Amandi, A. (2013). Hybridizing a multi-objective simulated anneal- Zabihi, S., Kahag, M. R., Maghsoudlou, H., & Afshar-Nadjafi, B. (2019). Multi-objective
ing algorithm with a multi-objective evolutionary algorithm to solve a multi- teaching-learning-based meta-heuristic algorithms to solve multi-skilled project
-objective project scheduling problem. Expert Systems with Applications, 40(7), scheduling problem. Computers & Industrial Engineering, 136, 195–211.
2421–2434. Zhu, L., Lin, J., Li, Y.-Y., & Wang, Z. J. (2021). A decomposition-based multi-objective
Young, K. D., Feydy, T., & Schutt, A. (2017). Constraint programming applied to the genetic programming hyper-heuristic approach for the multi-skill resource con-
multi-skill project scheduling problem. In International conference on principles strained project scheduling problem. In Knowledge-based systems (p. 107099).
and practice of constraint programming (pp. 308–317). Springer.
19