Next Article in Journal
Maker Math: Exploring Mathematics through Digitally Fabricated Tools with K–12 In-Service Teachers
Next Article in Special Issue
Multi-Objective Multi-Scale Optimization of Composite Structures, Application to an Aircraft Overhead Locker Made with Bio-Composites
Previous Article in Journal
Existence and Uniqueness of Solutions for Fractional Integro-Differential Equations Involving the Hadamard Derivatives
Previous Article in Special Issue
Balancing Cost and Demand in Electricity Access Projects: Case Studies in Ecuador, Mexico and Peru
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Dynamic Optimization of the Multi-Skilled Resource-Constrained Project Scheduling Problem with Uncertainty in Resource Availability

1
College of Business Administration, Fujian Jiangxia University, Fuzhou 350108, China
2
Business School, Renmin University of China, Beijing 100872, China
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(17), 3070; https://doi.org/10.3390/math10173070
Submission received: 12 July 2022 / Revised: 13 August 2022 / Accepted: 22 August 2022 / Published: 25 August 2022

Abstract

:
Multi-skilled resources have brought more flexibility to resource scheduling and have been a key factor in the research of resource-constrained project scheduling problems. However, existing studies are mainly limited to deterministic problems and neglect some uncertainties such as resource breakdowns, while resource availability may change over time due to unexpected risks such as the COVID-19 pandemic. Therefore, this paper focuses on the multi-skilled project scheduling problem with uncertainty in resource availability. Different from previous assumptions, multi-skilled resources are allowed a switch in their skills, which we call dynamic skill assignment. For this complex problem, a nested dynamic scheduling algorithm called GA-PR is proposed, which includes three new priority rules to improve the solving efficiency. Moreover, the algorithm’s effectiveness is verified by an example, and the modified Project Scheduling Problem Library (PSPLIB) is used for numerical experimental analysis. Numerical experiments show that when the uncertainty in resource availability is considered, the more skills the resource has and the more resources are supplied, the better the dynamic scheduling method performs; on the other hand, the higher the probability of resource unavailability and the more skills are required, the worse the dynamic scheduling method performs.The results are helpful for improved decision making.

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 n + 2 activities. The duration of activity j ( j V ,   V = { 0 , 1 , 2 , , j , n + 1 } ) is d j ( d j N 0 ) and d 0 = d n + 1 = 0 . We assume that the project needs K types of renewable resources, the set is R ( R = { 1 , 2 , , k , , K } ) , and the availability of each type of resource is | R k | ;   that is, R k = { r k 1 , r k 2 , r k 3 , , r k i , } . Moreover, the project needs s K types of skills, and the set is S k ( S k = { s 1 , s 2 , , s k , , s K } ) . The skill(s) mastered by each resource is predefined, and we assume that all resources in the set of R k master skill s k , which we call the initial skill of resource r k i . Whether there is mastery of other skills or not is randomly generated, and it is indicated by x r k i , s k , where x r k i , s k = 1 indicates that resource r k i has mastery of skill s k . When s k S k x r k i , s k > 1 , resource r k i 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 Z t ( Z t = { z t r 11 , z t r 12 , , z t r 1 i , , z t r k i , | t = 1 , 2 , , T } ) , where T is the deadline of project and z t r k i represents whether resource r k i is available or not at time t . If it is available, z t r k i = 1 ; otherwise, it is 0. We assume that the project starts at time zero; thus, Z 0 denotes the initial available/unavailable status of all resources, and we set z 0 r k i = 1 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 r k i is p k i , and the state transition matrix of r k i can be denoted as follows:
P k i = ( 1 0 p k i 1 p k i )  
p k i cannot be changed in per unit time, and the state z t r k i is subject to the Bernoulli distribution of p k i . If u t k i represents the state probability vector of resource r k i at period t , then u t + 1 k i = u t k i P k i , 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.
M i n   k = 1 K c s k R s k , t + e M  
S j S g d j   ( j V , g S U C C j )  
S n + 1 T  
t [ S j , S j + d j ] x j , t = d j   ( j V )  
t ( 0 , S j )   ( S j + d j , S n + 1 ] x j , t = 0   ( j V )  
t T t ( x j , t x j , t 1 ) = S j   ( j V )  
s k S k j V x r k i , j , s k , t 1   ( k K ,   t T )  
j V r j , s k r k i R k x r k i , s k z t r k i x r k i , j , s k , t + R s k , t   ( k K , s k S k ,   t T )
u t + 1 r k i = u t r k i i P r k i   ( r k i R k , k K ,   t T )
x j , t , x r k i , j , s k , x r k i , j , s k , t { 0 , 1 }  
R s k , t 0  
Objective Function (2) minimizes the cost of additional resources, and a penalty value of e M 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 n + 1 activities, there are n + 1 genes on each chromosome, representing the start time ( S T ) of each activity. The earliest start time ( E S ) of the dummy activity 0 is 1, and the project deadline is set as the latest start time ( L S ) of the dummy activity n + 1 . According to the forward and backward iteration algorithms in the critical path theory (CPM), the start time interval of activity j is [ E S j , L S j ] . The initial S T j is a random value among [ E S j , L S j ] .
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 e M , where M is a sufficiently large penalty coefficient, and e 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 p k i ( k = 1 , 2 , K ,   i = 1 , 2 , ) of each resource and generate the resource state matrix Z t based on the Markov process.
Step 2.
Internal resources ranking
Assume that the project requires s K types of skill, and there are K 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 A k . 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 t is O t , generated based on activity scheduling, which is the outer layer’s solution. Calculate the total demand of each type of skill at moment D s t , and calculate the total initial supply of each type of skill at moment S s t according to the resources’ initial skills and their available state. The gap between D s t and S s t is defined as skill-demand tension L s t . The smaller the gap, the smaller the demand tension of s . We rank these skills according to the demand tension in ascending order, and the external skill order at moment t is W t .
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 W 1 t is A W 1 t . For each resource, it is necessary to determine whether it is available. If available, it is removed from A W 1 t and added to the resource profile of the task in O t . If it is unavailable, it is removed directly from A W 1 t .
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 W 1 t , as its demand tension is the smallest, if A W 1 t is a non-empty set, then merge A W 1 t into A W 2 t to schedule skill W 2 t 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: R 1 , R 2 ,   and R 3 , i.e., K = 3 , 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: R 1 = { r 11 , r 12 , r 13 , r 14 , r 15 , r 16 , r 17 , r 18 , r 19 , r 110 } ; R 2 = { r 21 , r 22 , r 23 , r 24 , r 25 , r 26 , r 27 , r 28 , r 29 , r 210 } ; R 3 = { r 31 , r 32 , r 33 , r 34 , r 35 , r 36 , r 37 , r 38 , r 39 , r 310 } . All resources in R 1 master initial skill s 1 , all resources in R 2 master initial skill s 2 , all resources in R 3 master initial skill s 3 , 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, T = 26 ). 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 C d e a d l i n e . to represent the buffer coefficient, which is used to reflect the margin of buffer duration interval— C d e a d l i n e = T / D u e D a t e , and the D u e D a t e refers to the makspan of the critical path of the project. The larger C d e a d l i n e 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 ( R 1 , R 2 , R 3 ,   and   R 4 ) , the project in this paper needs four types of skills in which all resources in R 1 have initial skill s 1 , those in R 2 have initial skill s 1 , 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 R 1 , R 2 , R 3 ,   and   R 4 for activity 1 in a case of PSPLIB is 4, 5, 7, and 8, respectively, then the skill requirements of s 1 , s 2 , s 3 ,   and   s 4 for activity 1 is 4, 5, 7, and 8 in this paper.
Network complexity ( N C ) reflects the precedence relations of activities. Resource Strength ( R S ) reflects the intensity of resources, where the larger the value is, the more resources are supplied. Resource Factor ( R F ) reflects the activity’s skill requirement, where the larger the value is, the more skills are needed. In addition, we defined Modified Resource Strength ( M R S ) based on the Resource Strength ( R S ), which reflects the skill strength mastered by resources. The formula of M R S is shown in Equation (13). The larger the value, the more the skills are mastered by resources. The Rate of Resource Unavailability ( R R U ) is introduced to reflect the unavailability of resources. The larger the value, the greater the probability that the resource is unavailable.
  M R S = ( i k = 1 K X k i s k ) ( i k = 1 K r k i ) K  
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 O p t ( % ) 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 ( N C ) 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 N C changes, the results are relatively stable. With the increase in Resource factor ( R F ), 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 R S , the proportion of the optimal solution of dynamic scheduling gradually increases. This is because the greater R S 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, M R S reflects the strength of skills. The greater the M R S , 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 R R U 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 R R U , 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.

Author Contributions

All authors contributed to the study conception and design. Material preparation, data collection, and analysis were performed by G.L., M.W. and X.L. The first draft of the manuscript was written by M.W., and all authors commented on previous versions of the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data of PSPLIB can be downloaded from “http://www.omdb.wi.tum.de/psplib/getdata_sm.html” (accessed on 17 June 2015).

Acknowledgments

We are grateful to anonymous reviewers for their thorough reviews and valuable comments.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. The skill matrix mastered by resources.
Table A1. The skill matrix mastered by resources.
Skill s 1 s 2 s 3 Skill s 1 s 2 s 3 Skill s 1 s 2 s 3
Resource Resource Resource
r 11 101 r 21 110 r 31 111
r 12 110 r 22 010 r 32 101
r 13 111 r 23 011 r 33 101
r 14 100 r 24 110 r 34 001
r 15 100 r 25 111 r 35 101
r 16 101 r 26 110 r 36 001
r 17 110 r 27 010 r 37 001
r 18 101 r 28 110 r 38 111
r 19 111 r 29 010 r 39 001
r 110 100 r 210 011 r 310 111
Table A2. The resource state matrix.
Table A2. The resource state matrix.
Resourcet
1234567891011121314151617181920212223
r 11 11111001111110100110111
r 12 10111110101111111110111
r 13 11111011111111111101111
r 14 11110111110111101110110
r 15 10111011111101011111111
r 16 11000101001110111010111
r 17 11111101111111110111111
r 18 11111111111111111111111
r 19 11111111111111111111111
r 110 11111101110101111100011
r 21 10011110101101000111111
r 22 11111111111011111111111
r 23 10111111111111101111111
r 24 11001001011101001001111
r 25 11110111111101111111111
r 26 10011111110100111110110
r 27 10101111111101110111001
r 28 11111111010010100010011
r 29 11111111111011111110111
r 210 11111101100101110111111
r 31 10110111101111110010100
r 32 11011110101011010011101
r 33 11111111110111111111111
r 34 10111001001011011001011
r 35 11011011101011011110000
r 36 11111111111111111111011
r 37 11101110111111111111111
r 38 11111111111111111110110
r 39 10111011101101111010011
r 310 11011011111111110101111

Appendix B

Algorithm for Dynamic SchedulingAlgorithm for Random SchedulingAlgorithm for Static Scheduling
Begin
Input   d j , r j s k , R ,   S , p k i , Z t = 1
While it < MaxIt
for   j = 1 : n
  Calculate [ E S j , L S j ]
end
Initialize S T j
Resource ranking (Priority rule 1)
If S T j + d j S T g , g S U C C j ,   j  
 Then
for t = 1 : T
   Calculate L s t   (Priority rule 2)
   Update O t ,   W t
   Case 1 L s t 0 , K
   Resource scheduling
   Case 2 L s t > 0 , K (Priority rule 3)
   Resource scheduling
   Case 3 others (Priority rule 3)
   Resource scheduling
   Update Z t + 1
end
 Calculate R s and Output Result
Else
  Output Result
Update S T j (Select, Crossover, Mutate)
End
Begin
Input d j , r j s k , R ,   S , p k i , Z t = 1
While it < MaxIt
for j = 1 : n
  Calculate [ E S j , L S j ]
end
Initialize S T j
If S T j + d j S T g , g S U C C j ,   j
 Then
for t = 1 : T
 Update O t
 Resource scheduling (No order)
 Update Z t + 1
end
  Calculate R s and Output Result
Else
  Output Result
  Update S T j (Select, Crossover, Mutate)
End
Begin
Input d j , r j s k , R ,   S , p k i , Z t = 1
While it < MaxIt
for j = 1 : n
Calculate [ E S j , L S j ]
end
Initialize S T j ,   S K i
If S T j + d j S T g , g S U C C j ,   j
Then
Calculate R s
Else
Output Result
Update S T j ,   S K i (Select, Crossover, Mutate)
End

References

  1. Afshar-Nadjafi, B. Multi-skilling in scheduling problems: A review on models, methods and applications. Comput. Ind. Eng. 2021, 151, 107004. [Google Scholar]
  2. Bellenguez, O.; Néron, E. A Branch-and-Bound method for solving Multi-Skill Project Scheduling Problem. RAIRO-Oper. Res. 2007, 41, 155–170. [Google Scholar] [CrossRef]
  3. Benavides, A.J.; Ritt, M.; Miralles, C. Flow shop scheduling with heterogeneous workers. Eur. J. Oper. Res. 2014, 237, 713–720. [Google Scholar] [CrossRef]
  4. Heimerl, C.; Kolisch, R. Scheduling and staffing multiple projects with a multi-skilled workforce. OR Spectr. 2010, 32, 343–368. [Google Scholar] [CrossRef]
  5. Isah, M.A.; Kim, B.S. Integrating cchedule risk analysis with multi-skilled resource scheduling to improve resource-constrained project scheduling problems. Appl. Sci. 2021, 11, 650. [Google Scholar] [CrossRef]
  6. Chen, R.; Liang, C.Y.; Gu, D.X.; Joseph, Y.-T.L. A multi-objective model for multi-project scheduling and multi-skilled staff assignment for IT product development considering competency evolution. Int. J. Prod. Res. 2017, 55, 6207–6234. [Google Scholar] [CrossRef]
  7. Polo-Mejía, O.; Artigues, C.; Lopez, P.; Basini, V. Mixed-integer/linear and constraint programming approaches for activity scheduling in a nuclear research facility. Int. J. Prod. Res. 2020, 58, 7149–7166. [Google Scholar] [CrossRef]
  8. Filip, D. Applying to the mathematical methods to optimize the launching process in manufacturing. Acta Tech. Napoc. Ser.-Appl. Math. Mech. Eng. 2018, 61, 585–592. [Google Scholar]
  9. Filip, D. Modern methods and tools to improve the production processes from small series and unique production. Acta Tech. Napoc. Ser.-Appl. Math. Mech. Eng. 2018, 61, 575–584. [Google Scholar]
  10. Li, H.; Womer, K. Scheduling projects with multi-skilled personnel by a hybrid MILP/CP benders decomposition algorithm. J. Sched. 2009, 12, 281–298. [Google Scholar] [CrossRef]
  11. Correia, I.; Saldanha-da-Gama, F. The impact of fixed and variable costs in a multi-skill project scheduling problem: An empirical study. Comput. Ind. Eng. 2014, 72, 230–238. [Google Scholar] [CrossRef]
  12. Fırat, M.; Hurkens, C. An improved MIP-based approach for a multi-skill workforce scheduling problem. J. Sched. 2012, 15, 363–380. [Google Scholar] [CrossRef]
  13. Snauwaert, J.; Vanhoucke, M. A new algorithm for resource-constrained project scheduling with breadth and depth of skills. Eur. J. Oper. Res. 2021, 292, 43–59. [Google Scholar] [CrossRef]
  14. Snauwaert, J.; Vanhoucke, M. Mathematical formulations for project scheduling problems with categorical and hierarchical skills. Comput. Ind. Eng. 2022, 169, 108147. [Google Scholar] [CrossRef]
  15. Buddhakulsomsiri, J.; Kim, D.S. Priority rule-based heuristic for multi-mode resource-constrained project scheduling problems with resource vacations and activity splitting. Eur. J. Oper. Res. 2007, 178, 374–390. [Google Scholar] [CrossRef]
  16. Goldratt, E. Critical Chain; North River Press: Great Barrington, MA, USA, 1997. [Google Scholar]
  17. Herroelen, W.; Demeulemeester, E.; De Reyck, B. A classification scheme for project scheduling. In International Series in Operations Research and Management Science; Project Scheduling: Recent Models, Algorithms and Applications; Weglarz, J., Ed.; Kluwer Academic: Boston, MA, USA, 1998. [Google Scholar]
  18. Lambrechts, O.; Demeulemeester, E.; Herroelen, W. Proactive and reactive strategies for resource-constrained project scheduling with uncertain resource availabilities. J. Sched. 2008, 11, 121–136. [Google Scholar] [CrossRef]
  19. Lambrechts, O.; Demeulemeester, E.; Herroelen, W. Time slack-based techniques for robust project scheduling subject to resource uncertainty. Ann. Oper. Res. 2011, 186, 443–464. [Google Scholar]
  20. Ahmadpour, S.; Ghezavati, V. Modeling and solving multi-skilled resource-constrained project scheduling problem with calendars in fuzzy condition. J. Ind. Eng. Int. 2019, 15, 179–197. [Google Scholar] [CrossRef]
  21. Azizi, N.; Liang, M. An integrated approach to worker assignment, workforce flexibility acquisition, and task rotation. J. Oper. Res. Soc. 2013, 64, 260–275. [Google Scholar] [CrossRef]
  22. Wongwai, N.; Malaikrisanachalee, S. Augmented heuristic algorithm for multi-skilled resource scheduling. Autom. Construct. 2011, 20, 429–445. [Google Scholar]
  23. Kher, H.V.; Malhotra, M.K.; Philipoom, P.R.; Fry, T.D. Modelling simultaneous worker learning and forgetting in dual resource constrained systems. Eur. J. Oper. Res. 1999, 115, 158–172. [Google Scholar] [CrossRef]
  24. Yue, H.; Slomp, J.; Molleman, E.; Vanderzee, D.J. Worker flexibility in a parallel dual resource constrained job shop. Int. J. Prod. Res. 2008, 46, 451–467. [Google Scholar] [CrossRef]
  25. Gans, N.; Zhou, Y. Managing Learning and Turnover in Employee Staffing. Oper. Res. 2002, 50, 991–1006. [Google Scholar] [CrossRef]
  26. De Bruecker, P.; Ven den Bergh, J.; Beliën, J.; Demeulemeester, E. Workforce planning incorporating skills: State of the art. Eur. J. Oper. Res. 2015, 243, 1–16. [Google Scholar] [CrossRef]
  27. Bard, J.F.; Purnomo, H.W. Preference scheduling for nurses using column generation. Eur. J. Oper. Res. 2005, 164, 510–534. [Google Scholar] [CrossRef]
  28. Lagodimos, A.G.; Leopoulos, V. Greedy heuristic algorithms for manpower shift planning. Int. J. Prod. Econ. 2000, 68, 95–106. [Google Scholar] [CrossRef]
  29. Lagodimos, A.G.; Mihiotis, A.N. Overtime vs. regular shift planning decisions in packing shops. Int. J. Prod. Econ. 2006, 101, 246–258. [Google Scholar] [CrossRef]
  30. Correia, I.; Lourenço, L.L.; Saldanha-da-Gama, F. Project scheduling with flexible resources: Formulation and inequalities. OR Spectr. 2012, 34, 635–663. [Google Scholar] [CrossRef]
Figure 1. Flowchart of the GA-PR.
Figure 1. Flowchart of the GA-PR.
Mathematics 10 03070 g001
Figure 2. Project Network Example.
Figure 2. Project Network Example.
Mathematics 10 03070 g002
Figure 3. The schedule solution. Note: The red dots indicate the makespan and additional cost of 4 scheduling schemes respectively.
Figure 3. The schedule solution. Note: The red dots indicate the makespan and additional cost of 4 scheduling schemes respectively.
Mathematics 10 03070 g003
Figure 4. The scheduling of scheme 1.
Figure 4. The scheduling of scheme 1.
Mathematics 10 03070 g004
Figure 5. (a) Dynamic scheduling. (b) Random scheduling. (c) Static scheduling.
Figure 5. (a) Dynamic scheduling. (b) Random scheduling. (c) Static scheduling.
Mathematics 10 03070 g005
Figure 6. (a) Comparison results of NC. (b) Comparison results of RF. (c) Comparison results of RS. (d) Comparison results of MRS. (e) Comparison results of RRU.
Figure 6. (a) Comparison results of NC. (b) Comparison results of RF. (c) Comparison results of RS. (d) Comparison results of MRS. (e) Comparison results of RRU.
Mathematics 10 03070 g006
Table 1. Variables and parameters.
Table 1. Variables and parameters.
Variables and Parameters
x j , t Binary   variable ,   if   activity   j   is   executed   in   period   [ t , t + 1 ) or not.
x r k i , j , s k Binary   variable ,   if   resource   r k i   is   assigned   in   activity   j   with   skill   s k or not.
x r k i , j , s k , t Binary   variable ,   if   resource   r k i   is   assigned   in   activity   j   with   skill   s k   in   period   [ t , t + 1 ) or not.
R s k , t The   additional   amount   of   the   resource   with   skill   s k   at   period   t .
V = { 1 , 2 , , j , , n + 1 } The set of activities.
S U C C j The   immediate   successor   set   of   activity   j .
Z t = { z t r 11 , z t r 12 , , z t r 1 i , , z t r k i , | t = 1 , 2 , , T } The set of resources state.
z t r k i Binary   parameters ,   if   the   resource   r k i   is   available   at   time   t or not.
S j The   start   time   of   activity   j .
d j The   duration   of   activity   j .
R = { 1 , 2 , , k , , K } The   set   of   K types of renewable resources.
R k = { r k 1 , r k 2 , r k 3 , , r k i , } The   set   of   R k .
| R k | The   availability   of   R k .
S k = { s 1 , s 2 , , s k , , s K } The set of skills.
x r k i , s k Binary   parameters ,   if   resource   r k i   has   mastery   of   the   skill   s k or not.
r j , s k The   requirements   of   skill   s k   for   executing   activity   j .
p r k i The   unavailability   probability   of   resource   r k i
c s k The   cos t   of   the   resource   with   skill   s k .
T The deadline of the project.
P r k i The   state   transition   matrix   of   r k i .
u t r k i The   state   probability   vector   of   resource   r k i   at   period   t .
e The degree of infeasibility.
M A sufficiently large penalty coefficient.
Table 2. Project information.
Table 2. Project information.
ActivistsSuccessors   d i     s 1     s 2     s 3  
01, 20000
132566
24, 53754
366644
465463
573776
686564
78, 104855
895343
9114654
10112636
11-0000
c s k 10812
Table 3. Optimization Schedules.
Table 3. Optimization Schedules.
SchemeMakespanObjective Value
(Costs of Temporary Resources)
Schedule
1231032[0, 1, 1, 3, 4, 8, 9, 11, 15, 20, 15, 23]
224934[0, 1, 2, 3, 5, 9, 10, 12, 16, 21, 18, 24]
325888[0, 3, 1, 5, 4, 9, 11, 12, 17, 22, 21, 25]
426802[0, 3, 1, 5, 7, 4, 12, 12, 18, 23, 21, 26]
Table 4. Multi-skilled resource scheduling of scheme 1.
Table 4. Multi-skilled resource scheduling of scheme 1.
  j   t   s 1   s 2   s 3
11r11; r12; r14; r15; r110r21; r22; r23; r24; r27; r29r32; r33; r34; r36; r37; r39
2r14; r17; r110; 2 temporaryr22; r29; 4 temporaryr32; r35; r37; r38; r13; r210
21r13; r16; r17; r18; r19; 2 temporaryr25; r26; r28; r210; 1 temporaryr31; r35; r38; r310
2r16; r18; r19; r24; r25; r28; 1 temporary5 temporaryr33; r36; r310; r11
3r12; r14; r17; r110; 3 temporaryr22; r23; r29; r210; 1 temporaryr13; r34; r37; r38
33r11; r15; r18; r19; r25; r28r27; 3 temporaryr31; r33; r36; r39
4r11; r12; r14; r15; r17; r110r21; r22; r23; r29r32; r34; r36; r39
5r11; r12; r15; r17; r18; r110r21; r22; r27; r29r34; r36; r37; r39
6r12; r14; r17; r110; r26; 1 temporaryr22; r29; r210; 1 temporaryr23; r32; r37; r38
7r12; r13; r14; r15; r18; r19r21; r22; r27; r29r32; r36; r37; r39
8r13; r16; r110; r28; 2 temporaryr23; r27; 2 temporaryr34; r35; r39; r310
44r13; r18; r19; r38r25; r26; r28; r210; r310; 1 temporaryr31; r33; r35
5r13; r19; r310; 1 temporaryr23; r24; r26; r28; r210; r38r32; r33; r35
6r16; r18; r19; r21r25; r27; r28; 3 temporaryr31; r33; r36
74 temporaryr23; r25; r26; r28; r38; r310r31; r33; r35
8r14; r17; r19; r24r29; r210; 4 temporaryr11; r31; r36
58r15; r26; 5 temporaryr22; 6 temporaryr18; r25; r33; r38; 2 temporary
9r12; r14; r17; r110; r26; 2 temporaryr22; r29; r210; 4 temporaryr13; r23; r32; r35; r37; r38
10r14; r17; r110; r26; 3 temporaryr22; r29; 5 temporaryr13; r23; r37; r38; 2 temporary
69r11; r15; r18; r19; r310r21; r25; r27; 3 temporaryr31; r33; r36; r39
10r15; r18; r19; r24; r28r25; r27; 4 temporaryr11; r33; r36; r310
11r11; r12; r15; r15; r17r21; r22; r23; r24; r27; r29r34; r36; r37; r39
12r12; r14; r17; r110; r26r210; 5 temporaryr37; r38; r23; r13
13r11; r12; r14; r16; r17r22; r23; r28; r29; 2 temporaryr32; r34; r36; r37
14r12; r14; r15; r17; r110r21; r22; r23; r24; r27; r29r34; r36; r37; r39
711r13; r18; r19; 5 temporaryr25; 4 temporaryr31; r32; r35; r38; r310
12r11; r15; r16; r18; r19; r21; r24; r25r27; 4 temporaryr31; r33; r36; r39; r310
13r13; r18; r19; 5 temporary5 temporaryr31; r33; r35; r38; r310
14r13; r18; r19; 5 temporaryr25; r210; r310; 2 temporaryr31; r32; r33; r35; r38
815r11; r14; r110r22; r23; r27; r29r36; r37; r310
16r12; r15; r110r22; r26; r27; r29r34; r36; r37
17r14; r15; r110r22; r23; r24; r29r34; r36; r37
18r14; r15; r110r21; r22; r27; r29r34; r36; r37
19r14; r15; r110r21; r22; r27; r29r36; r37; r310
920r13; r15; r17; r18; r19; r25r21; r22; r23; r24; r27r32; r34; r36; r37
21r11; r12; r14; r15; r16; r17r21; r22; r23; r24; r29r31; r32; r33; r37
22r11; r12; r14; r15; r16; r110r21; r22; r23; r24; r29r34; r36; r37; r39
23r11; r12; r15; r16; r17; r110r21; r22; r23; r27; r29r34; r36; r37; r39
1015r12; r13; r16; r17; r18; r19r26; r28; r210r25; r31; r33; r38; r310; 1 temporary
16r13; r16; r17; r18; r19; 1 temporaryr25; r210; r310r31; r32; r33; r35; r38; r39
Table 5. The effect of the buffer period.
Table 5. The effect of the buffer period.
ParameterDynamicRandomStatic
Best Cost
C d e a d l i n e 1.195211541076
1.3538802556
1.5364476402
1.7250406270
Table 6. Parameters and values.
Table 6. Parameters and values.
ParametersValues
N C 1.51.82.1
R S 0.20.50.71
R F 0.250.50.751
M R S 0.250.6251
R R U 0.10.20.30.40.5
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wang, M.; Liu, G.; Lin, X. Dynamic Optimization of the Multi-Skilled Resource-Constrained Project Scheduling Problem with Uncertainty in Resource Availability. Mathematics 2022, 10, 3070. https://doi.org/10.3390/math10173070

AMA Style

Wang M, Liu G, Lin X. Dynamic Optimization of the Multi-Skilled Resource-Constrained Project Scheduling Problem with Uncertainty in Resource Availability. Mathematics. 2022; 10(17):3070. https://doi.org/10.3390/math10173070

Chicago/Turabian Style

Wang, Min, Guoshan Liu, and Xinyu Lin. 2022. "Dynamic Optimization of the Multi-Skilled Resource-Constrained Project Scheduling Problem with Uncertainty in Resource Availability" Mathematics 10, no. 17: 3070. https://doi.org/10.3390/math10173070

APA Style

Wang, M., Liu, G., & Lin, X. (2022). Dynamic Optimization of the Multi-Skilled Resource-Constrained Project Scheduling Problem with Uncertainty in Resource Availability. Mathematics, 10(17), 3070. https://doi.org/10.3390/math10173070

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop