1. Introduction
The resource-constrained project scheduling problem (RCPSP) has been an important topic within project management over the past few decades. Extensive focus has been placed on single-skilled resources, while multi-skilled resources are becoming increasingly common with the development of the economy [
1]. This extension of the RCPSP is known as the multi-skilled resource-constrained project scheduling problem (MSRCPSP). It was inspired by a problem in the software development industry, where employees had several skills relating to programming, data analysis, debugging and so on [
2]. MSRCPSP is suitable in projects with multi-skilled human resources or multi-functional machines. It has been a prevalent topic in recent years and has been gradually applied in production scheduling [
3], research and development [
4], construction engineering [
5] and other projects [
6,
7]. Although multi-skilled resource increases scheduling flexibility and expands alternatives for project scheduling, it makes the problem more challenging. One needs to decide not only resource scheduling matters but also skill assignments.
In practice, resource unavailability is a frequent occurrence, especially in the wake of COVID-19, such as staff turnover, equipment maintenance, and transportation interruption. In this situation, project managers are forced to take a series of measures to make the project scheduling more efficient and to adapt quickly as possible to uncertainties [
8]. Therefore, we focus on the MSRCPSP with uncertainty in resource availability in this paper. Moreover, distinct from previous assumptions, multi-skilled resources are allowed to switch their skills, which we call dynamic skill assignment. This means that when some resources with one skill are unavailable, the impact of resource shortage can be alleviated by skill switching from other idle resources with the same skill. If dynamic skill assignment still fails to make up for the shortage of resources, additional resources will be considered under the constraint of deadlines, such as the recruitment of temporary workers, equipment renting and so on. According toWEC (Word Employment Confederation), temporary employment accounts for 70 percent of the global HR market, which is worth nearly USD 4 hundred billion. It plays an important role in reducing the cost and relieving the shortage of resources. Methods for optimizing project scheduling and dynamic skill assignment with uncertainty in resource availability so as to achieve the goal of minimum additional resource costs are the focus of this paper.
This paper has the following three contributions. First, we extend the MSRCPSP with uncertainty in resource availability, and the uncertainty is described by the Markov process. Second, dynamic skill assignment is proposed, which allows multi-skilled resources to switch skills. Third, a nested dynamic scheduling algorithm called GA-PR is proposed, which includes three new priority rules to improve the solving efficiency, and the effectiveness of the algorithm is proved by comparing the existing static and random scheduling method.
The remainder of this paper is organized as follows. A literature review is presented in
Section 2. Definitions of the MSRCPSP with uncertainty in resource availability are discussed in
Section 3. The nested dynamic scheduling algorithm is explained in detail in
Section 4. A numerical example is provided in
Section 5 to illustrate the new model and the new algorithm. The computational experiments and results analysis are shown in
Section 6.
Section 7 is the conclusion.
2. Literature Review
Although multi-skilled resource make solving MSRCPSP more flexible, it also renders the scheduling procedure more complex and difficult; thus, modern methods and tools are usually used to improve scheduling processes [
9]. Methods for designing more effective scheduling procedures with modern methods have become important topics in the MSRCPSP. Bellenguez and Néron (2007) [
2] proposed that each activity needs a specific set of skills, and the resources are staff members who possess fixed skill(s). Moreover, these staff members have unavailable periods. To minimize the makespan, a Branch-and-Bound method is proposed. Generally, the more skills a staff member possesses, the more costs are incurred. To minimize the total costs for multi-skilled personnel, Li and Womer (2009) [
10] develop a hybrid Benders decomposition (HBD) algorithm that combines the complementary strengths of mixed-integer linear programming and constraint programming. Correia and Saldanha-da-Gama (2014) [
11] consider that the costs associated with resources include fixed and variable costs. The fixed costs are incurred simply by using resources, while variable costs depend on the final makespan of the project. For this problem, a mathematical programming modeling framework is proposed, and a non-linear objective function is included, which can be linearized at the expense of an additional set of continuous variables. For resources considering skills, in addition to the cost, the skill level also directly affects the project scheduling scheme such that the higher the skill, the shorter the task duration. Heimerl and Kolisch (2010) [
4] consider the MSRCPSP in a multi-project-environment (i.e., the processing of the projects’ external and internal resources with different skills and at different performance levels). Thus, the question is how projects are scheduled and how resources are assigned to a project such that different requirements are met, keeping the costs minimal. To address the complex project-scheduling problem, a mixed-integer linear program with a tight LP-relaxation, which makes solving real-world problems possible, is proposed. A related problem was examined by Fırat and Hurkens (2012) [
12]. The authors consider a mixed-integer-based approach for a multi-skill work-load problem and where skill levels are not homogeneous. Each activity has requirements for each skill-level combination. The goal is to maximize the number of tasks processed in each workday. Snauwaert and Vanhoucke (2021) [
13] addressed an MSRCPSP with breadth and depth of skills, where the breadth of a resource is perceived as the amount of skills an employee masters and the depth of a skill is the efficiency level at which work can be performed by a resource that masters that skill. After that, in 2022, they studied how hierarchical skills (depth of skills) affect project scheduling from aspects of efficiency, cost, and quality [
14].
Although the above studies provide references for the model and algorithmic design of MSRCPSP, they assume that the availability of renewable resources remains constant over time and rarely consider uncertainties in resource availability [
1]. This assumption may be too strict. Resource availability might change in response to the availability of labor due to vacation days or varying availability of equipment due to maintenance [
15]. A relatively common type of research is the project scheduling problem under uncertainties in project duration, including proactive scheduling [
16] and reactive scheduling [
17]. Once resources are unavailable (staff turnover, machine failure, etc.), the original scheduling is no longer feasible, especially for key resources. Therefore, the uncertainty in resource availability has gradually become an important and difficult point in project scheduling. Lambrechts et al. (2008) [
18] introduced a variant of the RCPSP, for which the uncertainty in resource availability is considered. The objective is to find a robust schedule that minimizes the schedule’s instability cost. The schedule’s instability cost is the expected weighted sum of the absolute deviations between the planned and the actual starting times of the activity during the execution of proposed proactive and reactive strategies. Furthermore, to determine the impact of unexpected resource breakdowns on activity durations, they developed an approach for inserting explicit idle time into the project schedule. This was also implemented to protect it from disruptions caused by resource unavailability [
19].
The literature cited above indicates that regardless of whether project scheduling considers uncertainties in terms of duration or resource availability, the idea is to set a buffer, namely time or resource buffer. The buffer can effectively protect the scheduling benchmark and improve the robustness of the solution. However, considering multi-skilled resources, effectively using this attribute to deal with the disturbance caused by uncertainties in resource availability has become a noteworthy problem. To our knowledge, there are only a few authors that incorporate uncertainty in resource availability in MSRCPSP, thus making this topic an interesting and novel path for research.
Ahmadpour and Ghezavati (2019) [
20] provide a fuzzy scheduling model for the RCPSP, which considers fuzzy conditions for the calendar of the project. Multi-skilled human resources are also being considered to cope with the risk of resource shortages and delays in project completion. The results obtained from the fuzzy model for the value of objective function were evaluated under the influence of the resource calendar, consequently showing its benefits. The results provide a research idea for the MSRCPSP with resources uncertainty. However, this study assumes that once resources are assigned to a specific skill, they will be completely unchangeable until the end of the project. However, when a resource is unavailable due to resource uncertainty, other resources with the same skill are often recruited to continue the activity and avoid delay. When the resource is available again, the resource may be required to use other skills and perform other tasks to avoid information asymmetry caused by the resource transition. This multi-skilled resource dynamic skill assignment realizes the rotation of different resources with different skills among different tasks and alleviates the disturbance caused by the uncertainty in resource availability [
21]. Compared with the situation that skills cannot be changed, this scheduling is closer to real-world issues, thus making resource scheduling more flexible and effective in dealing with absenteeism [
22]. Moreover, as multi-skilled resources are often acquired through cross-training, a worker who does not frequently practice one skill may tend to forget it [
23,
24]. In the long run, multi-skill can be easily transformed into single-skill. Therefore, in this study, we relax the assumption that resources are allowed to change skills.
Compared to the existing literature, uncertainties in resource availability and dynamic skill assignment of multi-skilled resources are considered on the basis of MSRCPSP in this paper. When a resource is unavailable, it can be replaced by skill switching relative to other multi-skilled resources; alternatively, the external supplement of resources is another method. The uncertainty in resource availability is described by the Markov process. This is mainly because the evolution of availability or unavailability of resources is a discrete stochastic process that evolves with time. In other words, only the present determines the future, and the past is irrelevant. This corresponds to the Markov chain [
25]. Then, we designed a nested scheduling algorithm combined with three new priority rules to solve this complex problem to minimize additional resource costs. Finally, the effectiveness of the proposed algorithm is verified by experimental analysis. The results of this research are helpful in the decision making of multi-skilled project scheduling. It is also valuable for expanding the project scheduling research in an uncertain environment, especially since uncertainty appears to be an extremely difficult element to deal with. Although most researchers recognize the importance and ubiquity of uncertainty, it remains the most popular topic of future research sections in many papers [
26].
3. Problem Description
In the MSRCPSP, we employ the activity-on-node (AoN) representation and assume a zero time lag for precedence relations. The project consists of activities. The duration of activity is and . We assume that the project needs types of renewable resources, the set is , and the availability of each type of resource is that is, . Moreover, the project needs types of skills, and the set is . The skill(s) mastered by each resource is predefined, and we assume that all resources in the set of master skill , which we call the initial skill of resource . Whether there is mastery of other skills or not is randomly generated, and it is indicated by , where = 1 indicates that resource has mastery of skill . When , resource masters more than one skill. We describe the uncertainty in resource availability by the Markov stochastic process, and we set the state of the resource as , where is the deadline of project and represents whether resource is available or not at time . If it is available, ; otherwise, it is 0. We assume that the project starts at time zero; thus, denotes the initial available/unavailable status of all resources, and we set for each resource.
The variables and parameters are shown in
Table 1.
General RCPSP’s goal is to study how to schedule activities under the constraint of resources and precedence relations in order to minimize the makespan of the project. While in the MSRCPSP, as resources are multi-skilled, it is necessary to decide not only activity scheduling but also the skill assignment of resources. To ensure that activities remain uninterrupted and to avoid delays in the project, we allow other idle resources with the same skill to replace the unavailable resources when the skill requirements of activities cannot be met. If this still does not work, additional resources with the same skill would be considered (purchasing, renting, or overtime). Adopting additional resources is an easy and popular method to increase flexibility [
26]. According to some studies, it is a proper assumption where there is no difference in performance between temporary and permanent resources [
27,
28,
29]. Given this situation, a problem arises as to which idle resource will be selected and how to assign them, how many additional resources are needed to meet skill requirements. To solve this, we set the goal to minimize additional costs. Thus, the MSRCPSP with uncertainties in resource availability studied in this paper can be described as follows: Under the constraints of precedence relations, resource availability, and project deadline, determine activity scheduling and dynamic skill assignment of multi-skilled resources to minimize additional costs of the project. The research assumptions of this paper is as follows:
- (1)
There are many types of multi-skilled resources needed by the project. Each resource can possess one or more skills, and the initial skill of the resource has priority in scheduling. Skill levels are homogeneous among resources.
- (2)
The availability or unavailability of different resources is independent of each other.
- (3)
The idle resources are allowed to switch skills to replace unavailable resources.
- (4)
The unavailability probability of resource
is
, and the state transition matrix of
can be denoted as follows:
cannot be changed in per unit time, and the state is subject to the Bernoulli distribution of . If represents the state probability vector of resource at period , then =, and the initial state probability vectors of all resources are (0,1).
- (5)
The initial resource cost of the project is fixed; in other words, it will not decrease or increase because of the unavailability of resources. Thus, the objective function does not consider the initial sunk cost of the resource and only considers additional costs.
Mathematically, the MSRCPSP with uncertainty in resource availability can be conceptually formulated as follows.
Objective Function (2) minimizes the cost of additional resources, and a penalty value of is considered if scheduling is infeasible. Constraint (3) ensures that the precedence relations among activities need to be satisfied. Constraint (4) ensures that the makespan of the project should not exceed the deadline. Equations (5) and (6) ensure that the activity cannot be interrupted. Equation (7) is a representation of the activity’s start time. Constraint (8) ensures that every resource can be assigned only in one activity at any time. Constraint (9) guarantees that the activity’s skills need need to be met. Equation (10) is the state probability vector of each resource. Equations (11) and (12) describe the domain of decision variables.
4. The GA-PR Algorithm
As the MSRCPCP is NP-Hard [
30], the possibility of solving the problem optimally using exact solution procedures is limited by the size of instances. However, real instances of project scheduling problems are considerably large. Therefore, having efficient heuristics for finding good quality solutions is of great relevance, especially when considering the dynamic skill assignment of multi-skilled resources with uncertainties in resource availability.
The proposed model not only optimizes activity scheduling (the start time of each activity) but also resource scheduling (dynamic skill assignment of multi-skilled resources). To solve the new model, we designed a modified genetic algorithm combined with priority rules, called GA-PR. Based on the characteristics of the model, the algorithm is divided into two layers. The outer layer comprises activity scheduling optimization according to genetic algorithm, and the inner layer comprises resource scheduling optimizations according to priority rules.
4.1. The Outer Algorithm-GA
- Step 1.
Initialization of activity scheduling
In the outer layer, activity scheduling is the decision maker. Assuming that the project consists of activities, there are genes on each chromosome, representing the start time () of each activity. The earliest start time () of the dummy activity 0 is 1, and the project deadline is set as the latest start time () of the dummy activity . According to the forward and backward iteration algorithms in the critical path theory (CPM), the start time interval of activity is . The initial is a random value among .
- Step 2.
Calculation of objective function
The objective is to minimize the additional resource cost. First, if the activity scheduling is subjected to precedence constraints, insert it into the inner algorithm. If not, the fitness value is a relatively large penalty value , where is a sufficiently large penalty coefficient, and reflects the degree of infeasibility—the degree of violating constraints. All individuals in the population are listed in a descending order of fitness value, and the individual with the minimum fitness value is set as the optimal individual.
- Step 3.
Selection, crossover, and mutation
The binary tournament method is used to select parent individuals from the population. Subsequently, crossover and mutation are carried out to generate the new population. Then the optimal individual is updated. This step is iterated until the maximum number of iterations has been reached, and then the final optimal individual is output. (Parameters, such as crossover probability and mutation probability, are determined after many tests.)
4.2. The Inner Algorithm-PR
- Step 1.
Identify the unavailability probability of each resource and generate the resource state matrix based on the Markov process.
- Step 2.
Internal resources ranking
Assume that the project requires types of skill, and there are types of resource. For each type of resource, we rank the internal resource’s scheduling order according to their skill number in ascending order, and the internal resource’s scheduling order is . Here, we define the first resource-scheduling priority rule.
Priority Rule 1: Within each type of resource, the one with the lowest skill number is scheduled preferentially because the one with more skills can replace unavailable resources.
- Step 3.
External skills ranking
The set of activities that are executed at moment is , generated based on activity scheduling, which is the outer layer’s solution. Calculate the total demand of each type of skill at moment , and calculate the total initial supply of each type of skill at moment according to the resources’ initial skills and their available state. The gap between and is defined as skill-demand tension . The smaller the gap, the smaller the demand tension of . We rank these skills according to the demand tension in ascending order, and the external skill order at moment is .
When the scheduling of the skill with the smallest demand tension is completed, the unscheduled resources with this skill can convert its skill to the next skill that needs to be scheduled and so on. Thus, the demand tension of the next skill can be alleviated. Therefore, here, we define the second skill scheduling priority rule.
Priority Rule 2: Among different skills, the one with the smaller demand tension is scheduled preferentially.
- Step 4.
Feasibility analysis of activity scheduling with resource constraints
There are three cases for resource scheduling with constraints.
Case 1: The skill demand tensions are all negative, indicating that the initial skill provided by resources can satisfy the demand under the given activity scheduling (see Step 5).
Case 2: The skill demand tensions are all positive, indicating that the initial skills provided by resources cannot satisfy the demand under the given activity scheduling. This means that every skill needs to be complemented by additional resources (see Step 6).
Case 3: In other cases, it indicates that the initial skills provided by the resources cannot satisfy the demand under the given activity scheduling, but multi-skilled resources may satisfy skill needs through skill switching (see Step 6).
- Step 5.
Resource scheduling without multi-skill
First, the skill with the smallest demand tension is scheduled. The scheduling order of resources with initial skill is . For each resource, it is necessary to determine whether it is available. If available, it is removed from and added to the resource profile of the task in . If it is unavailable, it is removed directly from .
- Step 6.
Resource scheduling with multi-skill
The cost of skill is used as the basis of the skill scheduling order; the skill with high cost is scheduled first to satisfy its demand as far as possible and to minimize the cost of additional resources as much as possible. Here, we define the third skill scheduling priority rule.
Priority rule 3: When the skill’s demand tension is positive at a certain moment, the skill with high costs has priority.
For other cases, based on step 5, after completing the scheduling of skill , as its demand tension is the smallest, if is a non-empty set, then merge into to schedule skill and so on. If it is still unable to satisfy the skills demand, to ensure that activity scheduling is feasible, additional resources should be considered, and the project’s cost will increase.
- Step 7.
Inner iteration
Steps 4–6 are iterated before resource scheduling is completed. Then, output the final fitness, activity scheduling, and resource scheduling.
The flow chart of GA-PR algorithm is shown in
Figure 1.
5. A Numerical Example
A project with 12 activities is defined to illustrate the new model and the new algorithm. The duration of each activity is known, and precedence relations are shown in
Figure 2 as finish-to-start relations. Assume that the project needs three types of renewable resources:
, i.e.,
, and the total number of each type of resources was considered be 10; then, the set of each type of resources can be described as follows:
;
;
. All resources in
master initial skill
, all resources in
master initial skill
, all resources in
master initial skill
, and whether these resources master other skill(s) is generated randomly. The resource state matrix is generated by a Markov process (see
Table A2 in
Appendix A for details). Each activity demands different skills.
Table 2 shows the number of skills required for performing activities and other information.
5.1. The Effectiveness of Dynamic Scheduling
According to the critical path method, the shortest makespan of the project is 23. Considering the unavailability of resources, we assume that the deadline of the project is 26 (any number greater than 23 is allowed) (that is,
). According to the GA-PR algorithm, the optimized scheduling scheme can be obtained, as shown in
Figure 3 and
Table 3. Taking scheme 1 as an example, the detailed project scheduling is shown in
Figure 4 and the detailed resource scheduling is shown in
Table 4.
According to
Figure 3, it can be found that with the extension of the project deadline, the cost of the additional resources becomes increasingly smaller. In other words, the buffer period plays a role in alleviating resource unavailability. Resource scheduling in
Table 3 shows that multiple resources have performed more than one skill. This gives scheduling more flexibility. Therefore, the dynamic scheduling considering multi-skilled resources can effectively alleviate the impact of uncertainty in resource availability on a project’s makespan and cost.
5.2. Comparison of Three Scheduling Methods
As shown in
Section 4, we know that scheduling multi-skilled resources is mainly determined by the priority rules in the inner algorithm, which we call dynamic scheduling. To further analyze the effectiveness of these priority rules, we set up two groups of experiments to compare with the dynamic scheduling method proposed in this paper—random scheduling and static scheduling. Random scheduling means that the priority rules designed in
Section 4.2 and the skill scheduling order and resource scheduling order are random. Static scheduling means that once a resource is assigned a skill, it cannot be changed. The pseudo-codes of dynamic, random and static scheduling are shown in
Appendix B, and the results relative to three different scheduling methods are shown in
Figure 5a–c, respectively. The figures indicate that the objective of dynamic scheduling is the best: There is minimum additional cost, followed by random scheduling and static scheduling. This is because of the design of scheduling priority rules. This proves the effectiveness of the proposed dynamic scheduling method. The operation times of the three scheduling methods are 19.44 s, 16.39 s, and 0.57 s, respectively.
5.3. The Effect of the Buffer Period
We can know that a project’s deadline affects the objective value from the results of
Figure 3. Therefore, we define parameter
. to represent the buffer coefficient, which is used to reflect the margin of buffer duration interval—
, and the
refers to the makspan of the critical path of the project. The larger
is, the larger the buffer period. The objective values of three scheduling methods with different parameters are shown in
Table 5.
Table 5 shows that with the increase in buffer period, the objective values decrease for three different scheduling programs. This is because when the activities cannot be started due to the unavailable resources, the larger the buffer period, the more likely that activity can be allowed to delay, and fewer additional resources will be added. Thus, the cost will be reduced.
6. Experiment Analysis
In this section, a computational experiment is designed to assess the performance of the heuristic algorithm proposed in this paper. The algorithm was coded in Matlab R2018b and ran in the environment of Microsoft Windows 10 (CPU 1.68 GHZ, RAM 8 GB).
6.1. Test Data
Considering that the resources are multi-skilled and their availabilities are uncertain, the following changes are made to the dataset from PSPLIB (
http://www.om-db.wi.tum.de/psplib/, accessed on 17 June 2020):
- (1)
The number of skill types required by the project corresponds to that of resource types required by the project in the original PSPLIB. Each type of resource has a corresponding initial skill. Assuming that the original PSPLIB J30 needs four types of resources , the project in this paper needs four types of skills in which all resources in have initial skill , those in have initial skill , and so on. Except for the initial skills, whether every resource has other skill(s) is randomly generated.
- (2)
The skill requirements of activities correspond to the resource requirements in PSPLIB—assuming that the resource requirements of for activity 1 in a case of PSPLIB is 4, 5, 7, and 8, respectively, then the skill requirements of for activity 1 is 4, 5, 7, and 8 in this paper.
Network complexity (
) reflects the precedence relations of activities. Resource Strength (
) reflects the intensity of resources, where the larger the value is, the more resources are supplied. Resource Factor
() reflects the activity’s skill requirement, where the larger the value is, the more skills are needed. In addition, we defined Modified Resource Strength (
) based on the Resource Strength (
), which reflects the skill strength mastered by resources. The formula of
is shown in Equation (13). The larger the value, the more the skills are mastered by resources. The Rate of Resource Unavailability (
) is introduced to reflect the unavailability of resources. The larger the value, the greater the probability that the resource is unavailable.
As the problem studied in this paper adds uncertainty in resource availability and dynamic skill assignment to the classical MSRCPSP, this improves scheduling flexibility while increasing the difficulty for solutions. As such, solution times increase exponentially. Therefore, this paper only selected the J30-dataset from the PSPLIB. The parameters of dataset are shown in
Table 6 below.
6.2. Computational Results
In this section, dynamic, random, and static scheduling are compared based on the same dataset. The comparison results under different parameters are shown in
Figure 6a–e, where
is the proportion of the optimal solution. The optimal solution refers to the minimum cost of the three scheduling methods (dynamic, stochastic, and static). The proportion of the optimal solution refers to that of the number of optimal solutions in all 480 instances.
As
Figure 6a–e indicate, regardless of how parameters change, the performance of dynamic scheduling is always superior than random and static scheduling. Moreover, compared to static scheduling, random scheduling is superior. This is because static scheduling limits the resource’s skill switching; thus, more additional resources need to be supplied to reach skill requirements, leading to an increase in costs. This shows that multi-skilled scheduling can effectively alleviate the disturbance caused by resource uncertainty, and the design of priority rules in dynamic scheduling leads to improved optimization results, which further shows the effectiveness of the proposed algorithm.
As shown in
Figure 6a, network complexity (
) has no obvious impact on the results of the three scheduling schemes. This is because the three types of scheduling mainly optimize results from the perspective of resources and skills. Therefore, regardless of how
changes, the results are relatively stable. With the increase in Resource factor (
), the proportion of optimal solution of dynamic scheduling gradually decreases, as shown in
Figure 6b. With limited resources, when the activity skill requirements increase, project scheduling is more easily affected by resources. With the increase in skill requirements, the flexibility of multi-skilled resources is limited. As such, more additional resources are needed, which leads to an increase in costs. Therefore, compared with random and static scheduling, the optimal proportion of the target value decreases. As observed in
Figure 6c, with the increase in
, the proportion of the optimal solution of dynamic scheduling gradually increases. This is because the greater
is, the more resources are likely to meet the skill requirements of activities, and the replacement of idle resources is easier. Thus, there is less necessity for additional resources, and costs will be less. In other words, the increase in
RS weakens the impact of uncertainty in resource availability. Similarly,
reflects the strength of skills. The greater the
, the more skills the resources can master. There is more flexibility in resources scheduling, and it is more likely to produce improved solutions compared with static scheduling. Consequently, costs are lower, as shown in
Figure 6d. As
reflects the state of resources, the higher the value, the greater the probability of resource unavailability. At this time, the role of multi-skilled resources will be weakened, and there are fewer resources that can meet skill requirements. Therefore, with the increase in
, more additional resources are needed, and the optimal proportion of dynamic scheduling will also decrease, as shown in
Figure 6e.
Therefore, as a project manager, to reduce the additional cost of the project in an uncertain environment, it is necessary to improve the multi-skilled level of resources, avoid the unavailability of resources, and pay attention to the order in which skills and resources are scheduled, which have certain guiding significance for maximizing project benefits.
7. Conclusions
This paper studies the MSRCPSP with uncertainty in resource availability, and dynamic skill assignment and additional resource replenishment are considered simultaneously when resources are not available. Although extensive research has been conducted for the MSRCPSP, little research focused on uncertainty in resource availability. In an uncertain environment, it is easy to encounter resource shortage or conflict. Idle resources can replace unavailable resources to complete activities through skill switching; thus, dynamic skill assignment has become a method for alleviating resource conflict. If it still does not work, additional resources are considered to ensure that activities are not interrupted. To solve this complex problem, a new model is built and a nested GA-PR dynamic scheduling algorithm is proposed. Finally, an example and numerical experiments are used to verify the performance of the algorithm. Simultaneously, the performance of the algorithm is illustrated by comparing the solution efficiency of static and random scheduling, and the influences of different parameters on the algorithm scheduling are analyzed.
Numerical experiments show that, although the running time of the proposed dynamic scheduling is not optimal, its solution is always superior compared to the other two scheduling methods. When uncertainties in resource availability are considered, the resource has more skills and more resources are supplied, and the dynamic scheduling method has improved performance; on the other hand, the higher the probability of resource unavailability and the more skills are required, the worse the dynamic scheduling method performs. Moreover, by comparing the performance of dynamic scheduling and random scheduling, we can find that the scheduling order has a significant impact on the results and the three new priority rules contribute to the optimization of costs. By comparing the performance of dynamic scheduling and static scheduling, we can find that the skill switching of multi-skill resources also plays an important role.
Our research findings can also provide project managers with some guidance when scheduling projects in an uncertain environment. First, at the start-up stage of the project, mangers should select as many multi-skilled resources as possible when establishing the project team. Second, at the project planning stage, it is important to decide which skill should be scheduled first and which resource should be scheduled first. Moreover, dynamic skill assignment and additional resource replenishment are great methods for alleviating resource shortages. Third, during the project-execution period, managers can take some incentives to encourage single-skilled person to learn from multi-skilled persons to master more skills.
However, it should be noted that this paper has still some limitations. First, this paper assumes that the skill level of each resource is homogeneous. For future research, the heterogeneity of skill level can be considered. Second, when the splitting of activity is allowed, resource conflicts can also be solved by interrupting activities so as to reduce the additional cost of resources. In this case, scheduling will be a more interesting and difficult problem. Finally, in this paper, the costs of resource skill switching are not taken into account, which will render MSRCPSP a trade-off problem between additional resource costs and skill-switching costs.