Next Article in Journal
Harvesting Insights from the Sky: Satellite-Powered Automation for Detecting Mowing Based on Predicted Compressed Sward Heights
Previous Article in Journal
Design of a Compressor Test Rig for Immobilization of the Stall Cell
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-Objective Multi-Skill Resource-Constrained Project Scheduling Considering Flexible Resource Profiles

1
School of Mechanical and Electronic Engineering, Wuhan University of Technology, Wuhan 430070, China
2
Hubei Digital Manufacturing Key Laboratory, Wuhan 430070, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2024, 14(5), 1921; https://doi.org/10.3390/app14051921
Submission received: 8 January 2024 / Revised: 5 February 2024 / Accepted: 6 February 2024 / Published: 26 February 2024
(This article belongs to the Section Mechanical Engineering)

Abstract

:
This paper addresses a novel multi-skill resource-constrained project scheduling problem with flexible resource profiles (F-MSRCPSP), in which the resource allocation of each activity consists of a certain number of discrete resources and is allowed to be adjusted over its duration. The F-MSRCPSP aims, therefore, to determine the flexible resource profile of each activity to minimize the make-span and total cost simultaneously. Then, a hybrid multi-objective fruit fly optimization algorithm is proposed to handle the concerned problem. In the proposed algorithm, two flexible parallel and serial schedule generation schemes are introduced, aiming to schedule activities and adjust allocated resource combinations. Additionally, two heuristic strategies are proposed to effectively select suitable resource combinations for activities. Moreover, a series of operators has been developed, including the rejoining operator, empirical re-arrangement operator, and empirical re-selection operator. These operators aim to accelerate the convergence speed and enhance the exploration of the proposed algorithm. Finally, the orthogonal test is used to select the optimal parameter combination, and comparative experiments based on tests with different scales are conducted, along with a t-test. The experimental results demonstrate that MOFOA-HS is effective in solving the F-MSRCPSP.

1. Introduction

As the most common production scheduling problem, the resource-constrained project scheduling problem (RCPSP) is widespread in various fields [1,2,3]. The RCPSP is meant to schedule activities without preemption under precedence constraints and limited resource availability to optimize the given objectives, such as the make-span and total cost [4,5,6,7,8]. In realistic situations, both the manpower and multipurpose machine master several skills, and the level of each skill is differentiated [9]. The execution of each activity requires a resource that masters a certain skill at a standard level [10]. Thus, the multi-skill resource-constrained project scheduling problem (MSRCPSP) is proposed to deal with these situations.
As an extension of the RCPSP, the MSRCPSP has attracted more and more attention of researchers recently [11]. Almeida et al. [6] developed a MSRCPSP with a new heuristic framework to cooperate with resource weight and activity grouping. Lin et al. [12] proposed a genetic programming hyper-heuristic approach to handle the MSRCPSP, where genetic programming as a high-level strategy managed the low-level heuristics. Dai et al. [13] used a function of the starting time and a specific deteriorating date to express the duration of each activity for the MSRCPSP. Tian et al. [14] studied a MSRCPSP with skill switches, where a new encoding scheme was used to reduce search space and a greedy-like decoding scheme was used to reorder activities to reduce skill switches. Hosseinian and Baradaran [15] proposed a MSRCPSP considering transfer times. Najafzad et al. [16] addressed a MSRCPSP considering manpower under shift differential payments and equipment with time-of-use electricity tariffs. Ahmadpour and Ghezavati [17] studied a MSRCPSP considering project members’ skill factor.
In the above studies on MSRCPSPs, most of them assumed that the resource allocation of the activity is normally given in advance and constant over its duration. However, it is often the case that in real projects, the resource allocation for the activity is unknown beforehand; it is generated in real-time according to the process of the scheduling plan. Relevant literature about RCPSPs considering flexible resource allocation is rather scarce. Naber and Kolisch [18] introduced a concept of the activity’s “resource profile”, in which resource quantities allocated to activities may vary for the entire duration, and the duration of each activity indeed resulted from the resource quantities at each time period during its processing. Based on this, Naber [19] studied a RCPSP with a flexible resource profile in continuous periods. Tritschler et al. [20] proposed a RCPSP considering a flexible resource profile in discrete time periods. However, there is one thing to point out: the above literature on flexible resource profiles is entirely limited to a single resource, without considering multi-skill resources. Considering the flexible resource profiles in MSRCPSP, it is not only more in line with a real project but also has greater flexibility in generating a scheduling plan, so as to obtain a more perfect scheduling plan. To the best of our knowledge, this paper is the first attempt to present the multi-skill resource-constrained project scheduling problem with flexible resource profiles (F-MSRCPSP).
Given the MSRCPSP is an NP-hard problem [21], as an extension of the MSRCPSP, the F-MSRCPSP is more complicated. It not only needs to consider the selection of multi-skill resources, but it must also adjust the resource allocation of each time period for each activity on the basis of the MSRCPSP. In recent years, many meta-heuristics algorithms have been applied to solve RCPSP-like optimization problems [22,23,24,25,26,27,28,29,30,31]. Among them, the multi-objective fruit fly optimization algorithm (MOFOA), as an effective optimization algorithm, has shown promising potential for solving complex engineering optimization problems. Inspired by the successful hybrid strategies and applications in the foregoing research, this paper proposes a hybrid MOFOA combined with heuristic strategies (MOFOA-HS). The solution representation scheme is designed to include an activity sequence list and a resource pattern list. Two flexible parallel and serial schedule generation schemes are proposed to arrange activities in sequence to enter the scheduling plan and adjust resource combinations for activities. Then, two heuristics are employed to select appropriate resource combinations for activities. In addition, a series of operators are adopted to enhance the exploration by searching the feasible solution space in different ways.
The main contributions of this paper are as follows:
(1) The existing problem formulation of the RCPSP is extended by considering the utilization of multi-skilled resources with flexible resource profiles. This is called a multi-skill resource-constrained project scheduling problem with flexible resource profiles (F-MSRCPSP).
(2) A new MOFOA-HS is proposed for the F-MSRCPSP. The solution representation scheme is designed to include an activity sequence list and a resource pattern list. Two parallel and serial schedule generation schemes are proposed, where two heuristic strategies are applied to select appropriate resource combinations for activities.
The rest of this paper is organized as follows: Section 2 describes the F-MSRCPSP. The proposed MOFOA-HS is discussed in Section 3. Section 4 presents the results and analysis of a series of experiments. Finally, some conclusions and prospects for future work are described in Section 5.

2. Problem Description and Model Setting

In this section, the problem description is first presented. Then, the model of the F-MSRCPSP is proposed. Moreover, an example is given to further illustrate the problem.

2.1. Problem Description

To enhance the description of the model, the symbols employed in this paper are explicitly defined in Table 1 for better comprehension.
A project consists of a set of activities A with A = { A 1 , A 2 , , A n j } , where each activity   A j A   is processed without preemption. An activity cannot be executed until all of its predecessor activities are completed due to precedence constraints between some activities. The activities are accomplished by a set of renewable resources   R   with   R = { R 1 , R 2 , , R n r } . Each resource   R r R   masters several skills with certain familiarity levels from the set of skills   S   with S = { S 1 , S 2 , , S n k } . Each activity   A j A   requires a certain unit of skill requirement rather than resources. Hence, the resource requirement of each activity is now transformed into the skill requirement. For each resource   R r R , it can be allocated to an activity   A j   only if it masters the required skill of   A j . In addition, the unit salary   c r   of each resource R r is constant no matter which skill is performed.
The execution of each activity requires a resource combination   p j   , which consists of several resources that match the skill demand of the activity. The resource combination may vary in terms of resource quantity or specific composition in each discrete time period T t T over the duration of the activity. The schedule for the F-MSRCPSP is to determine a start time period and a resource profile, which is composed of resource combinations at each time period. The duration of the activity is unpredictable and depends on the allocated resource combination per time period during its processing. The resource profile observes the following constraints:
(1) The quantity of resource combination in the resource profile should be between the lower and upper usage bounds of the activity. In addition, it also cannot exceed the current leftover quantity of resources that meets the skill demand of the activity in each discrete time period over its duration:
q _ j q j k t = r R z j r t m i n ( q ¯ j , φ k t = n R k r R k y r t ) ; t [ s j , f j ] , j A
(2) The resource combination should remain unchanged for at least one contiguous time period:
l j r = 1 ; j A , r R
(3) The total planned skill requirement allocated to the activity must reach or exceed the skill requirement, because exceeding the skill requirement vs. the activity demands might be necessary in order to guarantee the previous constraint:
t [ s j , f j ] r p j t x r k t z j r t R K r k A K j k ; k S , j A

2.2. Problem Formulation

The mathematical model of the F-MSRCPSP is as follows.
M i n   M a k e s p a n = max j A ( f j )
M i n   C o s t = r = 1 n r t = 1 T c r y r t
Subject to:
k x r k t 1 ; j A , r R , t T
A K j k R K r k x r k t z j r t > 0 ; j A , r R , k S , t [ s j , f j ]
0 < f i < s j ; j A , i P j
z j r t = 1 ; j A , r R , t T
r = 1 n r k = 1 n k x r k t z j r t 1 ; t T
The first objective function in Equation (4) minimizes the project make-span. The second objective function in Equation (5) minimizes the total cost, which consists of the cost of using resources in each time period. Constraint (6) guarantees that only one skill is required to complete an activity, and constraint (7) ensures that only the resources that master the required skill of the activity can be allocated to the activity in each discrete period. The precedence constraints among activities of the project are ensured by constraint (8). Each activity should be processed once, and each resource can only use one skill to deal with one activity in one time period. The constraints are shown by constraints (9) and (10), respectively.
To further illustrate the F-MSRCPSP, an illustrative project with five activities, three resources, and three skills is described as follows. Table 2 represents the skill distribution and corresponding mastery level of each resource, as well as its unit salary. Table 3 shows the lower and upper usage bounds, the skill requirements, and their predecessors. The comparison Gantt chart of a feasible solution to the MSRCPSP and F-MSRCPSP is depicted in Figure 1. In the MSRCPSP, a single resource is allocated to an activity and remains constant during the processing of the activity, such as allocate   R 2   to   A 1 ,   R 3   to   A 3 ,   R 1   to   A 5 , and so on. In the F-MSRCPSP, a resource combination could be allocated to an activity without violating constraints and may change with the implementation of activities and the use of resources, such as for the resource combination,   A 1   changes from   R 2   to   [ R 2 , R 3 ] during the 12th time period,   A 3   changes from   R 1   to   R 3   during the 7th time period, and   A 5   also changes the resource combination in the 8th and 11th time period, respectively. Compared with the MSRCPSP, the F-MSRCPSP can obtain a better scheduling plan with a shorter make-span and lower total cost.

3. The MOFOA-HS for the Multi-Objective F-MSRCPSP

In this section, we present a hybrid multi-objective fruit fly optimization algorithm combined with heuristic strategies (MOFOA-HS) to solve the concerned problem. In the MOFOA-HS, each individual is represented with the solution representation in Section 3.1 and evaluated with the schedule generation scheme in Section 3.2 by applying heuristic strategies in Section 3.3. Population initialization is in Section 3.4, and a series of operators are adopted to enhance exploration and exploitation of the population in Section 3.5. The main procedure of the MOFOA-HS is detailed as follows:
Step 1: Parameter setting. Population size NS, number of searches per individual in the local search maximum S, the learning rate of the experience base c.
Step 2: Population initialization. The double-layer solution representation is based on activity sequence and resource allocation; the length of both layers is the number of activities.
Step 3: Rejoining operator. S individuals are generated by searching the solution space near each individual for S times, and such generated individuals construct the new population.
Step 4: Contraposition selection operator. Randomly select an activity to replace the two heuristic strategies for resource combination selection with the other for each individual in the new population.
Step 5: Local balanced operator. Calculate the objective values of the new population. Merge original and new population and sort them by a non-dominated sorting technique (NST). Then, select the first NS individuals to form the population and continue the following search.
Step 6: Empirical rearrangement operator. The operator is implemented by the experience base, which is completed by the dominant individuals of the initial population. The experience base consists of two parts: the activity sequence experience base (ASB) and the resource pattern knowledge base (RPB). At every iteration, update the experience base of the activity sequence with dominant individuals of the current population. Then, select a continuous segment in the activity sequence list of each individual and reorder it using the information of the activity sequence experience base, which forms the new population.
Step 7: Empirical reselection operator. Similarly, update the experience base of resource patterns with dominant individuals of the original population. Then, reselect the resource pattern of each activity for each individual of the new population according to the empirical value of resource pattern choice in the resource pattern experience base on a roulette strategy.
Step 8: Global balanced operator. After completing the above two searches, each individual generates an individual through experience learning, resulting in a new population of NS. Therefore, we also need to evaluate NS new individuals. Then, update the population by selecting NS individuals from the merged population with NST, and record the Pareto set simultaneously.
Step 9: Update the Pareto set. Merge original and newly generated Pareto set, and select non-dominated individuals as new Pareto set.
Step 10: Iteration criteria. With the iteration of the population, it can be guaranteed that the Pareto set will be better than the previous generation or remain unchanged. Therefore, when the Pareto set remains unchanged in a certain number of consecutive iterations, it can be considered that the algorithm has converged, and the iteration stops. If the Pareto set is superior to the previous generation of the Pareto set, this indicates that the population is still close to the theoretical optimal solution. Go back to Step 3.

3.1. Solution Representation

The F-MSRCPSP consists of two sub-problems: activity sequencing and resource allocating. Each solution consists of two lists, i.e., an activity sequence list ( λ ) and a resource pattern list ( σ ), as shown in Figure 2.
The parameter   λ   determines the order to process the activity, where each element denotes a specific activity.   σ   determines which strategy the activity chooses from two designed heuristics strategies in Section 3.3. In detail, each activity chooses the greedy selection strategy (GSS) when the resource pattern value is 0; otherwise, select the non-greedy selection strategy (NGSS). In order not to violate all the constraints, it is ensured that the predecessors of each activity in the list must be in front of it during initialization.

3.2. Schedule Generation Scheme

Each solution obtains two results through two scheduling generation schemes in Section 3.2.1 and Section 3.2.2. To determine the dominant solution, a comparison method is utilized. If one solution clearly outperforms another across all criteria, it is selected as the superior choice. However, if there is no definitive dominance, both solutions are retained. Importantly, the scheduling generation schemes implemented ensure that all generated solutions are capable of producing feasible scheduling outcomes.

3.2.1. Flexible Parallel Schedule Generation Scheme (FPSGS)

The current partial schedule with an associated decision point is extended in each iteration based on the time period. Each iteration is a decision point at   T t   with a set   A t f   of finished activities that have been completed up to   T t 1 , a set   A t a   of active activities that have already started the execution but are not yet completed at   T t   , as well as a set   A t e   of eligible activities that have not yet started and whose predecessors have been completed up to   T t 1 . For each activity   A j , p ¯ j is the minimum cost resource combination   p   of   A j ; q _ j k   and q ¯ j k represent the lower and upper usage bounds, respectively;   q j k t   denotes the resource quantity;   ρ j   indicates the current allocated resource combination; w j k t   expresses the completed requirement; ξ j k t   shows the remaining requirement; and φ k t means the set of current leftover resources. In addition,   ξ ρ k   states the requirement of   S k   that   p   supplies per time period. After each operation, variables and sets are constantly updated. The pseudo code of the FPSGS is depicted as in Algorithm 1.
Algorithm 1 The pseudo code of the FPSGS
1.
Initializing parameters: T t = 1 ; A t e = [ ] ; A t a = [ ] ; A t f = [ ]
2.
While there are activities not completed yet do
3.
 For   A j   in sequence of λ    do
   If   A j A t f , A j P j  then
    Break
   Else
    move   A j   from   λ   to   A t e
4.
For   A j   in sequence of   A t a    do
     p j = p j
    If σ   [ j ] = = 0 and   A j   could be completed with fewer resources then
  For p in sequence of Ω do
    If  ξ p k < ξ j k t   then
     Eliminate the   p   from Ω
        Get   p j   from Ω
       If    A j   is completed then
         Move   A j   from   A t a   to   A t f
5.
For   A j   in sequence of   A t e    do
p j =
     If σ   [ j ] = = 0  then
   If   n φ k t q _ j  then
    Get   p j   from Ω
Else if All resources of   p ¯ j are available then
    p j = p ¯ j
If p j  then
Move   A j   from   A t e to   A t a  
6.
For   A j   in sequence of   A t a    do
  If   A j   could continue to allocate resources then
    If  m a x ( ξ p k ) ξ j k t , p Ω   then
    For p in sequence of Ω do
      If   ξ p k < ξ j k t   then
       Eliminate the   p   from Ω
    Get the combination from Ω with GSS
If  ξ j k t 0  then
      Move   A j   from   A t a   to   A t f
7.
T t = T t + 1
Step 1: Initialize   T t , A t e , A t a , A t f .
Step 2: Execute the flexible resource profiles’ parallel schedule. Judge whether all activities have been completed: if yes, the resource scheduling plan of all activities is completed; if not, continue to execute the flexible resource profiles’ parallel schedule at the current time period.
Step 3: Update   A t e . Judge whether all predecessor activities of   A j   in sequence of   λ   have been completed. If so, move   A j   from   λ   to   A t e ; if not, stop judging and go to Step 4.
Step 4: Continue active activities. In order to prevent the execution interruption caused by resource preemption during the activity, the basic principle of resource allocation is conservative in this step. Therefore, the operation of this step is to remain constant or delete part of the resources in the resource combination   p j   of the last time period. The   A j   will continue the   p j . In particular, there are some activities that adopt the GSS. The   ξ j k t   is less than the   ξ ρ k   of   p j , and the quantity of   p j   is greater than its lower usage bound, which means that the activity could be completed with fewer resources. For the resource of these activities, it is necessary to recombine the   p j : Firstly, obtain the set   Ω   that consists of all possible combinations whose number of resources is larger than   q _ j from   p j . Then, eliminate the combinations whose   ξ ρ k   is less than   ξ j k t from   Ω with GSS. Finally, obtain   p j   from the   Ω   . Move the activity from   A t a   to   A t f   if the remaining requirement is met by   p j .
Step 5: Start eligible activities. Use the remaining available resources to start the activity with   q _ j . For activities that adopt the GSS, judge the size relationship between the quantity of   φ k t   and   q _ j . If n φ k t q _ j , obtain the set   Ω   that consists of all possible combinations whose resource number is equal to   q _ j from   φ k t , then extra allocate   p j   from   Ω   to the activity. If the NGSS is adopted, allocate   p ¯ j to   A j   after ensuring that all resources of   p ¯ j are available. Update related sets and variables, and move   A j   from   A t e   to   A t a if   p j   is not empty.
Step 6: Utilize leftover resources. After completing the resource allocation in Step 4 and 5, some eligible activities are added to the schedule, and all the active activities continue to be executed. However, due to the non-greedy manner, there are available resources that are not fully utilized. Hence, in this step, we take advantage of these remaining resources by expanding the resource combination for activities that belong to   A t a . In order for the activities to participate in secondary resource allocation to utilize leftover resources, there must be some combination of adopting the GSS for the available leftover resources remaining, and the quantity of p j   is no more than   q ¯ j . First, in order to control the number of resource combinations not to exceed   q ¯ j k   after expansion, the set Ω consists of all possible combinations whose quantity of resources is in the range of 1 and   m i n ( n φ k t ,   q ¯ j n p j ) from   φ k t . If the activity can be completed at   T t , that is to say, the maximum   ξ ρ k   in the   Ω   is not less than the   ξ j k t , then filter out the resource combination   p   whose   ξ ρ k   is less than   ξ j k t . Afterwards, additionally allocate the combination from   Ω   with the GSS to the activity. Move the activity from   A t a   to   A t f if   ξ j k t   is met.
Step 7: Enter the next time period. The resource allocation at the current time period   T t   has ended and enters the next time period   T t + 1 .
To further illustrate FPSGS, take the example in Section 2.2. Initialize   T t = 1 , A a = ( ) , A f = ( ) , A e = ( 4 , 3 , 2 ) , because there are precedence constraints between   A 4   and   A 5 . Skip Step 4, because A a = ( ) . During Step 3, firstly allocate resources to   A 4   due to their position in λ. As   σ ( 4 ) = 1 , allocate   R 2   to   A 4   with NGSS. Allocate   R 1   to   A 3   from   R 1   and   R 3   with NGSS, because   σ ( 3 ) = 0   , and start eligible activities with the lower usage bound. Similarly, allocate the remaining resource   R 2   to   A 2 . End this step with A e = ( ) and   A a = ( 4 , 3 , 2 ) . Then, skip Step 6, because there are no resources left. In time period 2, continue the previous resource combination for   A a .   A 4   is completed and transfers from A a   to   A f in time period 4. Then, in time period 5, due to the completion of   A 4 ,   A 5 could be eligible. Update A e = ( 5 , 1 ) and A a = ( 3 ) . Allocate   R 2   to   A 1   , because both   R 1   and   R 3   required for   A 5   are occupied.   A 2   is completed in time period 6. In time period 7, allocate   R 3   to   A 5   in Step 5, and   A 3   is completed. In time period 8, utilize leftover   R 2   for   A 5   in Step 6, because   σ ( 5 ) = 0   , and   A 5   does not reach its upper usage bound. In time period 11, in Step 4,   A 5   could be completed with fewer resources, so the occupation of   R 1   is released. The   A 1   utilizes leftover   A 3   in Step 6 and is completed in time period 12. Given λ = (4,2,3,1,5) and σ = (0, 0, 0, 1, 0), the Gantt chart generated using the FPSGS is shown in Figure 3.

3.2.2. Flexible Serial Schedule Generation Scheme (FSSGS)

In each iteration, the current partial schedule is extended by scheduling one activity. Each iteration is a decision point of   A j   with the latest end time period   T p l   and the earliest time period   T r e   of each activity. The remaining parameters are the same as FPSGS. The pseudo code of the FSSGS is shown in Algorithm 2.
Algorithm 2 The pseudo code of the FSSGS
1. A e = [ ]
For    A j   in sequence of λ  do
If  A e P j  then
   Break
Else
   A e = [ A e , A j ]
2. If  P j  then
  T p l = max j P j ( f j ) + 1
Else
    T p l = 1 , T r e = 1
  While  n φ k t < q _ j   do
    T r e = T r e + 1
T t = m a x ( T p l , T r e )
3. While  ξ j k t > 0  do
(a)
if  σ   [ j ] = = 0  then
   if  φ k t q _ j then
    if  φ k t   q ¯ j  and  m a x ( ξ p k ) ξ j k t , p Ω  then
    for p in sequence of Ω do
      if   ξ p k < ξ j k t   then
        Eliminate the   p   from Ω
      Get   p j   from Ω
      else
     Initialize the resource profile and requirement of the activity
(b)
else
if All resources of   p ¯ j are available then
p j = p ¯ j
      else
       Initialize the resource profile and requirement of the activity
T t = T t + 1
Step 1: Initialize λ , A e . Select the first activity in order from the activity sequence list   λ   as   A j   and delete it from   λ   . Then, initialize the set   A e : select the activities without predecessor activity constraints or whose predecessor activities have been completed from   λ   and add them to   A e .
Step 2: Find the earliest start time without violating the constraints. The   A j   must be started after all its predecessor activities are completed if there are predecessor activities. Since the quantity of available resources should not be less than the lower usage bound, the earliest start time of   A j   should be the largest of the next time period of the latest end time period of all the predecessor activities. Meanwhile, the earliest time period should also meet the lower usage bound.
Step 3: Resource allocation. Judge whether the activity has been completed. If not, resources are allocated to activities in different ways.
(a) Greedy selection strategy. For the   A j   that adopts the GSS, judge whether the quantity of   φ k t   is not less than   q _ j . If so, obtain the set Ω , which consists of all possible combinations whose quantity of resources is in the range of   q _ j   and   m i n ( n φ k t ,   q ¯ j ) from   φ k t . Filter the   p   whose   ξ p k   is less than   ξ j k t   when the activity could be completed, then allocate   p j   from   Ω   to   A j . Otherwise, abandon all previous resource allocation of   A j and reallocate the resource profile from the next time period.
(b) Non-greedy allocation strategy. For the   A j   adopting the NGSS, allocate the   p ¯ j to   A j   after ensuring that all resources in   p ¯ j are available. If there are any resources in   p ¯ j occupied by other activities, abandon all previous resource allocation of   A j , and reallocate resource profile from the next time period.
To further illustrate the FSSGS, take the example in Section 2.2 again. Firstly, resource scheduling is carried out for   A 2   due to its position in λ. In the Step 2, the latest end time period   T p l   of all the predecessor activities is 1, and the earliest time period   T r e   to meet the lower usage bound is 1, so the earliest start time T t = m a x ( T p l , T r e ) is 1. As   σ ( 2 ) = 1 , allocate   R 3   to   A 2   from   R 2 ,   R 3   , and   [ R 2 ,   R 3 ]   with the NGSS. Then, repeat Step 3a until the   A 2   is completed in time period 6. Then, for   A 4 , T t is also 0, and allocate   R 2   to   A 4   with NGSS, because   σ ( 4 ) = 1 . Repeat Step 3b until the   A 4   is completed in time period 4. For   A 3 , allocate   R 1   in time period 1–6, and then allocate   R 3   , because the occupation of   R 3   is released in time period 7, and   R 3   is considered the optimal combination among   R 1 ,   R 3   , and   [ R 1 ,   R 3 ]   with the NGSS. After   A 3   is completed,   A 1   starts in T t which is 5. Allocate   R 2   in time periods 5–6, and then allocate   [ R 2 ,   R 3 ]   , because the occupation of   R 3   is released in time period 7. Finally, the   A 5   starts in time period, 7 because   T r e   is 7 and   T p l   is 5 due to precedence constraints between   A 4   and   A 5 . Similarly, only allocate   R 1   in time period 7–10, and then allocate   [ R 1 ,   R 3 ]   , because the occupation of   R 3   is released in time period 11. Finally, the schedule results in a make-span of 12. Given λ = (2,4,3,5,1) and σ = (0,0,0,1,0), the Gantt chart generated using the FPSGS is shown in Figure 4.

3.3. Heuristic Strategies for Resource Combination Selection

The idea of a flexible resource profile is not to allocate a constant resource combination to an activity before its execution but to keep adjusting the resource combination at different time periods during its execution according to a combination of factors, i.e., the remaining requirement of the activity, the implementation of other parallel activities, and the quantities and supple value of available resources. Therefore, it is inevitable that there will be resource conflict, in which parallel activities compete for a certain resource at the same time period. The greedy selection strategy (GSS) is designed to solve the resource conflict and avoid the randomness of resource combinations’ allocation to activities.
The GSS is bound to ensure that a feasible resource combination is allocated to the activity, so it may appear that an inappropriate resource combination is allocated to the activity. For example,   R 1   and   R 3   have the same skill requirement in   S 2 , and both of them are 1, but the salary is different, i.e., 56 and 28.9, respectively. Therefore, for an activity that needs   S 2 , it is obvious that   R 3   should be selected if only one is selected. However, if   R 1   is idle and   R 3   is occupied at the current time period, the GSS will inevitably select   R 1   , which greatly increases the cost. Therefore, we propose a non-greedy selection strategy (NGSS) to delay the scheduling of the activities.

3.3.1. Greedy Selection Strategy

The idea of the GSS is to calculate the two weight values of each feasible resource combination and then select the best one from all feasible resource combinations by using TOPSIS [32] to analyze the weight values of each combination. The two calculation formulas of the weight value are defined as follows.
Calculation formula (1):
Calculate the overall cost   a = r ρ j t c r of the resource combination   p j t . The larger   a   is, the higher the cost value of   p j t , and the lower the priority; otherwise, the priority is higher.
Calculation formula (2):
Calculate   the   complexity b = k S j A r ρ j t R K r k ξ j k t z j r t r R R K r k
where R is the set of idle resources in the current time period. It includes three aspects of resource combination: the diversity and mastery level of skills mastered by each resource of the combination, as well as the degree of skill demand of the active and eligible activities of the project. The larger   b   is, the higher the impact on the start or execution of other activities, and the lower the priority; otherwise, the lower the impact, the higher the priority.

3.3.2. Non-Greedy Selection Strategy

In order to achieve the goal of non-greedy selection, it is not necessary to start as soon as possible but at as low a cost as possible. We determine a fixed resource combination with the lowest cost and then give up scheduling if there are occupied resources. By analyzing the characteristics of the F-MSRCPSP, we obtain a property that the total cost is minimized if and only if the resource combination with the lowest sum of unit salary for each activity is allocated.
Property 1.
Cost(Π) is the lowest cost, where Π expresses a solution if and only if  j , Π ( j ) = arg min p j   Ω j   ( A K j k r p j R K r k · r p j c r ) .
Proof. 
 
Sufficiency.
C o s t ( Π ) = j C Π ( j ) = j t r p j c r = j ( d j r p j c r ) = j ( A K j k r p j R K r k r p j c r ) = j min p j   Ω j   ( A K j k r p j R K r k · r p j c r )
Therefore, Cost(Π) is the optimal cost.
Necessity. By contradiction, suppose there exists a solution Π , such that Cost ( Π ) < C o s t Π .
Cost Π = j t r p j c r = j A K j k r p j c r r p j R K r k < Cost Π = j A K j k r p j R K r k r p j c r
which means     j , such that A K j k r p j R K r k r p j c r < A K j k r p j R K r k r p j c r .
This contradicts the condition that   j , Π ( j ) = arg min p j   Ω j   ( A K j k r p j R K r k · r p j c r ) and completes the proof. □
Therefore, the NGSS means that the specific resource combination is given for each activity before execution, and it remains unchanged in each time period of the whole execution. In addition, all resources of the given resource combination need to be idle before they can be allocated to the activity. Once allocated to the activity, they will be occupied until the activity is completed. The principle of minimum cost according to the above is the only criterion for the selection of the resource combination that can reduce the cost. Flatten the Pareto front curve, and approach the optimal solution more closely.
p ¯ j = arg min p j   Ω j   ( A K j k r p j R K r k · r p j c r )
The generated minimum cost resource combination associated with each activity is unchanged during the execution of the algorithm and can be computed in advance.

3.4. Population Initialization

During population initialization, a multiple individual strategy is adopted. The population consists of NS individuals, which are represented by a two-list, i.e., activity sequence list   λ   and resource pattern list σ . In addition, employ the Pareto archive (PA) to store and update the Pareto solutions generated by each iteration. In order to realize the uniform distribution of the solution in the solution space but not affect the quality of the solution, we adopt the random and the heuristic strategies, as well as propose an activity list extension algorithm to generate the activity sequence list.
For the resource pattern list, there are three initialization methods: GSS is chosen for all activities of the solution ( j J σ ( j ) = 0 ); all activities of the solution choose NGSS ( j J σ ( j ) = n j ); some activities choose GSS, and the others choose NGSS ( 0 < j J σ ( j ) < n j ). Randomly select one of the three initialization methods to a generate resource pattern list.
The basic idea of the activity list extension algorithm is that an activity is selected in sequence from the candidate set and inserted into the list, where the constraint is not violated until all the activities are ordered. The candidate set   A   is obtained by disorderly arranging the active set   A . Before starting the algorithm, we need to classify all activities according to   P j   and   S j   of activities and divide them into the following four activity categories: the set   S 1 ( P j , S j = ) with predecessor constraints only, the set S 2 ( P j = , S ) with successor constraints only, the set S 3 ( P j = , S j = ) with both predecessor and successor constraints, and the set   S 4 ( P j , S j ) with no constraint. The pseudo code of the activity sequence list extension algorithm is shown in Algorithm 3.
Algorithm 3 Activity sequence list extension algorithm
1. λ = [ ]
2. For A j in sequence of   A    do
3. If A j S 1  then
   If  P j λ  then
     I j [ max j P j λ I j + 1 , n λ + 1 ]
    Else
     I j [ 1 , n λ + 1 ]
4.
If  A j S 2  then
   If  S j λ then
     I j [ 1 , min j S j λ I j + 1 ]
    Else
     I j [ 1 , n λ + 1 ]
5.
If  A j S 3  then
I j [ 1 , n λ + 1 ]
6.
If  A j S 4  then
   If  P j λ  then
    If  S j λ  then
      I j [ max j P j λ I j + 1 , min j S j λ I j ]
     Else
      I j [ max j P j λ I j + 1 , n λ + 1 ]
    Else
    If  S j λ then
      I j [ 1 , min j S j λ I j ]
     Else
      I j [ 1 , n λ + 1 ]
7.
λ = [ λ ( 1 : I j 1 ) , A j , λ ( I j : n λ ) ]
Step 1: Initialize the activity list. The activity list   λ   is initialized as .
Step 2: Determine where the activity is inserted, and extend the activity list. Select an activity from   A   that is the random one of   A   in order to achieve the purpose of randomness and judge its activity category. Due to the different activity categories of 3–6, four disjunct cases apply.
Step 3: The activity   A j   belongs to S1. The insertion position   I j   of   A j   can be any position after the last predecessor activity of   A j   if it is in   λ   . Otherwise, it can be anywhere.
Step 4: The activity   A j   belongs to S2. The insertion position   I j   of   A j   can be any position before the first successor activity of   A j   if it is in   λ   . Otherwise, it can be anywhere.
Step 5: The activity   A j   belongs to S3. The insertion position   I j   of   A j   can be anywhere in   λ   .
Step 6: The activity   A j   belongs to S4. The insertion position   I j   of   A j   should be any position anywhere between the last predecessor activity and the first successor activity of   A j   in   λ   . If there is only no successor activity in   λ   , the procedure is similar to Step 3; if there is only no predecessor activity in   λ   , the procedure is similar to Step 4; if neither, the procedure is similar to Step 5.
Step 7: Insert the activity   A j   into the specified position   I j   in the list, and then go back to Step 3 until all activities are in   λ   .

3.5. Improved Operation Operators

3.5.1. Rejoining Operator

An effective method to implement a neighborhood search of the activity sequence is proposed, which employs an operator by rejoining any activity in   λ   without violating the activity constraint. Randomly select an activity   A j   from   λ   , and rejoin the activity to any position within the scope that is determined by the category of the activity. Then, the following four disjunctive cases apply:
I j ( max j P j ( I j ) , J + 1 ] ,   A j S 1  
I j [ 1 , min j S j ( I j ) ] ,   A j S 2  
I j ( max j P j ( I j ) , min j S j ( I j ) ] ,   A j S 3  
I j [ 1 , J + 1 ] ,   A j S 4  
Figure 5 shows a project with four situations.   λ   and the local search of   λ are shown, where the black arrows represent a selectable location rejoined in   λ   for four categories of activities.

3.5.2. Empirical Re-Arrangement Operator

The initialization of the activity sequence experience base is as follows:
A S B 0 ( j , j ) = n = 1 N E I n , j I n , j N E ; j , j A
where 0 represents the initialization status of ASB,   N E   is the number of superior individuals in the Pareto set to provide the experience value about the activity sequence, and   I n , j   is the position of   A j   in the   λ   of the n t h individual.
Record the relative position of one activity and the other activities in ASB. In each generation, relative positions are updated with the experiences of the activity sequence provided by   N E   superior individuals among the population, which is as follows:
A S B g ( j , j ) = ( 1 c ) A S B g 1 ( j , j ) + c N E n = 1 N E I n , j I n , j
where   g   represents the generation number, and   c   is the updating rate of the experience base.
Each individual adjusts its activity sequence to obtain a new activity list   λ under the guidance of ASB. The step is as follows:
Step 1: Randomly generate two numbers   1 p < q n j .
Step 2: Generate   λ   by inheriting the subsequence from   λ   as Equation (21).
π ( j ) = π j ; j 1 , p 1 q + 1 , n j , π λ , π λ
Step 3: Calculate the sum   R P j   of the relative position value in the knowledge base of the activity   λ to the non-sorted activities as Equation (22).
R P j = j A S B π j , π j ; j , j [ p , q ]
Step 4: Fill in the position from p to q in   λ   from small to large according to the   R P j .

3.5.3. Empirical Re-Selection Operator

The experiential possibility of the resource pattern sub-knowledge base (RPB) is initialized as follows:
R P B 0 = n = 1 N E ρ n N E
where   ρ n   is the resource pattern list of the n t h individual in   N E   superior individuals, and   R P B 0 represents the probability of elite individuals selecting the GSS or the NGSS in the initial population phase.
In each generation, update the experiences of the resource pattern provided by superior individuals among the population as follows:
R P B g = ( 1 c ) R P B g 1 + c N E n = 1 N E ρ n

4. Experiment Study

This paper chooses the intelligent multi-objective project scheduling environment (iMOPSE) benchmark dataset [21] for numerical tests, which is available at http://imopse.ii.pwr.wroc.pl/ (accessed on 8 January 2024). In order to adapt to the F-MSRCPSP problem, the following modifications are made to the definition of parameters in instances: the duration of the activity in instances is equal to   A K j k ; the skill level of resources is equal to   R K r k ; the   q _ j k   and   q ¯ j k   are randomly generated; and it is ensured that   q ¯ j k   will not exceed the number of resources with corresponding skills. In addition, the dataset consists of 42 project instances, including six small sample instances with 10 and 15 activities, as well as 36 large sample instances with 78, 100, and 200 activities. Due to the lack of medium sample instances, we use intercept activities and preserve other parameters of certain large sample instances to generate them. The hardware and software platform parameters are listed as follows: Windows 10, AMD Ryzen 7 4800U CPU, 1.8 GHz, 16G RAM, and MATLAB R2016b. We select and modify 21 instances with various scales as experimental samples. In all the subsequent tests, each algorithm will run independently ten times.

4.1. Parameter Setting

There are three key parameters in the MOFOA-HS, i.e., the number of individuals (NS), the number of searches per individual in the rejoining operator (S), and the learning rate of the experiences (c). To investigate the influence of these parameters on the MOFOA-HS, the design-of-experiment (DOE) method [33] is employed. Table 4 shows the four levels of each parameter, and the orthogonal array L 16 ( 4 3 ) is selected. This is shown in Table 5.
For each parameter combination in Table 5, the MOFOA-HS is performed 10 times independently on the instance 50_10_15_13, which is a moderate-scale instance.   P A i ( i = 1 , 2 , , 16 ) represents the obtained Pareto solutions, and the final solutions (FS) are the union of all sets   P A i   with non-dominated sorting. Then, the relevance value (RV) of each parameter combination is calculated as   R V ( i ) = | P A i F S | / | F S | . Thus, a larger RV means a better correlation. The relevance ranks of each parameter can be determined in Table 6. Moreover, the changing trend of each factor parameter level for 50_10_15_13 can be depicted in Figure 6.
From Figure 6, it can be seen that a greater NS and a smaller S are preferred, which implies that good results need strong exploration and moderate exploitation. As for c, a value that is too large may cause premature convergence. According to the above analysis, the recommended parameter combination for the following numerical experiments is NS = 100, S = 15, and c = 0.05.

4.2. Validation of the Mathematical Model

The software CPLEX 12.9.0 is used to verify the correctness of the F-MSRCPSP model. First, the nonlinear variables are linearized in the F-MSRCPSP model. Then, the ε-constraint method is adopted for multi-objective optimization of the transformed linear model. Since it is difficult for the CPLEX solver to reach the ideal solution in a reasonable amount of time in the larger scale case, the small instance 10_3_4_3 is employed to verify the correctness of the mathematical model in this paper. It can be seen that the optimal solution obtained by the F-MSRCPSP is the same as the exact solution solved by the CPLEX solver, as shown in Figure 7, which validates the effectiveness of the proposed model.

4.3. Comparative Analysis

Next, we compare the MOFOA-HS to other algorithms including the non-dominated sorting genetic algorithm(NSGA-II) [34], the multi-objective fruit fly optimization algorithm (MOFOA) [10], and the multi-objective evolutionary algorithm based on decomposition (MOEA/D) [35]. Two evaluation indicators, Inverted Generational Distance (IGD) [36] and Hypervolume (HV) [37], are used to evaluate the performance of the algorithms. For fair comparisons, the NSGA-II, MOFOA, and MOEA/D also adopt the same solution representation, schedule generation scheme, and initialization mechanism as the MOFOA-HS. Based on the above parameter setting, comparative experiments are carried out by running 10 times independently in all the instances.
The results of the comparative experiments are listed in Table 7, where the best results for each instance are marked in bold. Then, we use HV and IGD evaluation indicators to analyze the above obtained results. The results of the comparative experiment are determined in Table 8 and Table 9. Figure 8 illustrates the boxplots of HV and IGD values among the MOFOA-HS, NSGAII, MOFOA, and MOEA/D in all instances.
It can be clearly seen that the computational results of MOFOA-HS are significantly better than those of the other algorithms. Specifically, MOFOA-HS has a larger HV value and a smaller IGD value in both the average and best situation. This indicates that MOFOA-HS has a better comprehensive performance than others to a great extent in all the instances.
What is more, the performance of MOFOA-HS, NSGAII, MOFOA, and MOEA/D are analyzed with a t-test according to the above HV and IGD values.
Example 1.
The mean value of HV of MOFOA-HS is more than that of the other algorithms.
H 0 : θ m e a n > θ m e a n
H 1 : θ m e a n θ m e a n
Example 2.
The mean value of IGD of MOFOA-HS is less than that of the other algorithms.
H 0 : θ m e a n < θ m e a n
H 1 : θ m e a n θ m e a n
Regarding the above example,   H 0   is the null hypothesis, and   H 1   is the alternative hypothesis;   θ   and   θ   , respectively, represent the evaluation indicator values of MOFOA-HS and the other algorithms. All tests are carried out at the default α = 0.05 significance level, and the test results for the examples are shown in Table 10, where “Y” and “N” mean, respectively, that the null hypothesis is accepted, and the null hypothesis fails to be accepted.
As the t-test results show, there are only six tests that fail to accept the null hypothesis for 22, and all tests accept the null hypothesis for 22. In general, based on the above experimental results, the MOFOA-HS algorithm is more effective than NSGAII, MOFOA, and MOEA/D in solving the proposed F-MSRCPSP.

5. Conclusions and Future Works

This study proposes a novel F-MSRCPSP, where the execution of an activity requires a combination of multiple resources. In the F-MSRCPSP, the resource combination may vary over a time period, which results in changes in the duration and cost of the activity. To solve the concerned problem, a hybrid multi-objective fruit fly optimization algorithm with heuristic strategies is proposed. A novel solution representation based on an activity sequence list and a resource pattern list is designed. Two scheduling generation schemes, i.e., the FPSGS and the FSSGS, are introduced. Two heuristic strategies, i.e., the GSS and the NGSS, are adopted for specific resource allocation. Then, an initialization method is designed to balance the uniform distribution of the population. Additionally, a series of operators are designed to accelerate the convergence speed and strengthen the exploration of the algorithm, such as a rejoining operator, a contraposition selection operator, an empirical rearrangement and reselection operator, a local and global balanced operator, and so on. We have compared the MOFOA-HS to other excellent algorithms, i.e., NSGAII, MOFOA, and MOEA/D. The results of the comparative experiment and t-test statistical analysis show that the proposed MOFOA-HS algorithm obtains the best performance among the compared algorithms.
In future work, it is important to consider the preemptive F-MSRCPSP. In real-world projects, we often encounter a complex and uncertain environment, which can result in a reduction in available resources and the need to temporarily add external activities. Furthermore, the integration of solutions derived from heuristic algorithms should be explored as an initial solution to accelerate the exact solution of the mathematical model.

Author Contributions

Methodology, X.L. (Xu Luo) and B.D.; Software, X.L. (Xinhao Luo); Validation, J.G.; Investigation, J.G.; Writing—original draft, X.L. (Xu Luo) and X.L. (Xinhao Luo); Supervision, S.G. and B.D. 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 presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Yang, S.; Fu, L. Critical chain and evidence reasoning applied to multi-project resource schedule in automobile R&D process. Int. J. Proj. Manag. 2014, 32, 166–177. [Google Scholar]
  2. Isah, M.A.; Kim, B.S. Integrating Schedule Risk Analysis with Multi-Skilled Resource Scheduling to Improve Resource-Constrained Project Scheduling Problems. Appl. Sci. 2021, 11, 650. [Google Scholar] [CrossRef]
  3. Arabnejad, V.; Bubendorfer, K.; Ng, B. Scheduling deadline constrained scientific workflows on dynamically provisioned cloud resources. Future Gener. Comput. Syst. 2017, 75, 348–364. [Google Scholar] [CrossRef]
  4. Zaman, F.; Elsayed, S.; Sarker, R.; Essam, D.; Coello, C.A.C. An evolutionary approach for resource constrained project scheduling with uncertain changes. Comput. Oper. Res. 2021, 125, 105104. [Google Scholar] [CrossRef]
  5. Almeida, B.F.; Correia, I.; Saldanha-da-Gama, F. A biased random-key genetic algorithm for the project scheduling problem with flexible resources. Top 2018, 26, 283–308. [Google Scholar] [CrossRef]
  6. Almeida, B.F.; Correia, I.; Saldanha-da-Gama, F. Priority-based heuristics for the multi-skill resource constrained project scheduling problem. Expert Syst. Appl. 2016, 57, 91–103. [Google Scholar] [CrossRef]
  7. Chand, S.; Singh, H.; Ray, T. Evolving heuristics for the resource constrained project scheduling problem with dynamic resource disruptions. Swarm Evol. Comput. 2019, 44, 897–912. [Google Scholar] [CrossRef]
  8. Du, B.; Tan, T.; Guo, J.; Li, Y.; Guo, S. Energy-cost-aware resource-constrained project scheduling for complex product system with activity splitting and recombining. Expert Syst. Appl. 2021, 173, 114754. [Google Scholar] [CrossRef]
  9. Afshar-Nadjafi, B. Multi-skilling in scheduling problems: A review on models, methods and applications. Comput. Ind. Eng. 2021, 151, 107004. [Google Scholar] [CrossRef]
  10. Wang, L.; Zheng, X. A knowledge-guided multi-objective fruit fly optimization algorithm for the multi-skill resource constrained project scheduling problem. Swarm Evol. Comput. 2018, 38, 54–63. [Google Scholar] [CrossRef]
  11. Snauwaert, J.; Vanhoucke, M.A. classification and new benchmark instances for the multi-skilled resource-constrained project scheduling problem. Eur. J. Oper. Res. 2023, 307, 1–19. [Google Scholar] [CrossRef]
  12. Lin, J.; Zhu, L.; Gao, K. A genetic programming hyper-heuristic approach for the multi-skill resource constrained project scheduling problem. Expert Syst. Appl. 2020, 140, 112915. [Google Scholar] [CrossRef]
  13. Dai, H.; Cheng, W.; Guo, P. An improved tabu search for multi-skill resource-constrained project scheduling problems under step-deterioration. Arab. J. Sci. Eng. 2018, 43, 3279–3290. [Google Scholar] [CrossRef]
  14. Tian, Y.; Xiong, T.; Liu, Z.; Mei, Y.; Wan, L. Multi-Objective multi-skill resource-constrained project scheduling problem with skill switches: Model and evolutionary approaches. Comput. Ind. Eng. 2022, 167, 107897. [Google Scholar] [CrossRef]
  15. Hosseinian, A.H.; Baradaran, V. A multi-objective multi-agent optimization algorithm for the multi-skill resource-constrained project scheduling problem with transfer times. RAIRO-Oper. Res. 2021, 55, 2093–2128. [Google Scholar] [CrossRef]
  16. Najafzad, H.; Davari-Ardakani, H.; Nemati-Lafmejani, R. Multi-skill project scheduling problem under time-of-use electricity tariffs and shift differential payments. Energy 2019, 168, 619–636. [Google Scholar] [CrossRef]
  17. 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]
  18. Naber, A.; Kolisch, R. MIP models for resource-constrained project scheduling with flexible resource profiles. Eur. J. Oper. Res. 2014, 239, 335–348. [Google Scholar] [CrossRef]
  19. Naber, A. Resource-constrained project scheduling with flexible resource profiles in continuous time. Comput. Oper. Res. 2017, 84, 33–45. [Google Scholar] [CrossRef]
  20. Tritschler, M.; Naber, A.; Kolisch, R. A hybrid metaheuristic for resource-constrained project scheduling with flexible resource profiles. Eur. J. Oper. Res. 2017, 262, 262–273. [Google Scholar] [CrossRef]
  21. Myszkowski, P.B.; Skowronksi, M.E.; Olech, L.P.; Oślizło, K. Hybrid ant colony optimization in solving multi-skill resource-constrained project scheduling problem. Soft Comput. 2015, 19, 3599–3619. [Google Scholar] [CrossRef]
  22. Berthaut, F.; Pellerin, R.; Hajji, A.; Perrier, N. A path relinking-based scatter search for the resource-constrained project scheduling problem. Int. J. Proj. Organ. Manag. 2018, 10, 1–36. [Google Scholar] [CrossRef]
  23. Joy, J.; Rajeev, S.; Narayanan, V. Particle swarm optimization for resource constrained-project scheduling problem with varying resource levels. Procedia Technol. 2016, 25, 948–954. [Google Scholar] [CrossRef]
  24. Liu, J.; Liu, Y.; Shi, Y.; Li, J. Solving resource-constrained project scheduling problem via genetic algorithm. J. Comput. Civ. Eng. 2020, 34, 04019055. [Google Scholar] [CrossRef]
  25. Tao, S.; Dong, Z.S. Multi-mode resource-constrained project scheduling problem with alternative project structures. Comput. Ind. Eng. 2018, 125, 333–347. [Google Scholar] [CrossRef]
  26. VO, T.M.N. Centrifugal pump design: An optimization. Eurasia Proc. Sci. Technol. Eng. Math. 2022, 17, 136–151. [Google Scholar]
  27. Roslon, J.H.; Kulejewski, J.E. A hybrid approach for solving multi-mode resource-constrained project scheduling problem in construction. Open Eng. 2019, 9, 7–13. [Google Scholar] [CrossRef]
  28. Tran, V.T.; Le, M.H.; Vo, M.T.; Le, Q.T.; Hoang, V.H.; Tran, N.T.; Nguyen, T.T. Optimization design for die-sinking EDM process parameters employing effective intelligent method. Cogent Eng. 2023, 10, 2264060. [Google Scholar] [CrossRef]
  29. Nemati-Lafmejani, R.; Davari-Ardakani, H.; Najafzad, H. Multi-mode resource constrained project scheduling and contractor selection: Mathematical formulation and metaheuristic algorithms. Appl. Soft Comput. 2019, 81, 105533. [Google Scholar] [CrossRef]
  30. Pellerin, R.; Perrier, N.; Berthaut, F. A survey of hybrid metaheuristics for the resource-constrained project scheduling problem. Eur. J. Oper. Res. 2020, 280, 395–416. [Google Scholar] [CrossRef]
  31. Sun, L.; Shi, W.; Wang, J.; Mao, H.; Tu, J.; Wang, L. Research on Production Scheduling Technology in Knitting Workshop Based on Improved Genetic Algorithm. Appl. Sci. 2023, 13, 5701. [Google Scholar] [CrossRef]
  32. Maghsoudlou, H.; Afshar-Nadjafi, B.; Niaki, S.T.A. A multi-objective invasive weeds optimization algorithm for solving multi-skill multi-mode resource constrained project scheduling problem. Comput. Chem. Eng. 2016, 88, 157–169. [Google Scholar] [CrossRef]
  33. Du, B.; Guo, S. Production planning conflict resolution of complex product system in group manufacturing: A novel hybrid approach using ant colony optimization and Shapley value. Comput. Ind. Eng. 2016, 94, 158–169. [Google Scholar] [CrossRef]
  34. Hou, Y.; Wu, N.Q.; Zhou, M.C.; Li, Z. Pareto-optimization for scheduling of crude oil operations in refinery via genetic algorithm. IEEE Trans. Syst. Man Cybern. Syst. 2015, 47, 517–530. [Google Scholar] [CrossRef]
  35. Cao, J.; Zhang, J.; Zhao, F.; Chen, Z. A two-stage evolutionary strategy based MOEA/D to multi-objective problems. Expert Syst. Appl. 2021, 185, 115654. [Google Scholar] [CrossRef]
  36. Sun, Y.; Yen, G.G.; Yi, Z. IGD indicator-based evolutionary algorithm for many-objective optimization problems. IEEE Trans. Evol. Comput. 2018, 23, 173–187. [Google Scholar] [CrossRef]
  37. Groz, B.; Maniu, S. Hypervolume subset selection with small subsets. Evol. Comput. 2019, 27, 611–637. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Gantt chart of two models.
Figure 1. Gantt chart of two models.
Applsci 14 01921 g001
Figure 2. Representation of a feasible solution.
Figure 2. Representation of a feasible solution.
Applsci 14 01921 g002
Figure 3. The Gantt chart generated by the FPSGS.
Figure 3. The Gantt chart generated by the FPSGS.
Applsci 14 01921 g003
Figure 4. The Gantt chart generated by the FSSGS.
Figure 4. The Gantt chart generated by the FSSGS.
Applsci 14 01921 g004
Figure 5. The rejoining operator.
Figure 5. The rejoining operator.
Applsci 14 01921 g005
Figure 6. Level trend of the parameters.
Figure 6. Level trend of the parameters.
Applsci 14 01921 g006
Figure 7. Comparisons of the obtained Pareto fronts.
Figure 7. Comparisons of the obtained Pareto fronts.
Applsci 14 01921 g007
Figure 8. Boxplots of HV and IGD values for comparisons.
Figure 8. Boxplots of HV and IGD values for comparisons.
Applsci 14 01921 g008
Table 1. The notations used in the optimization model for the F-MSRCPSP.
Table 1. The notations used in the optimization model for the F-MSRCPSP.
Indices
j Index of the activity, where   j = 1 , 2 , , n j .
r Index of the resource, where   r = 1 , 2 , , n r .
t Index of the time period, where   t = 1 , 2 , , T .
k Index of the skill where,   k = 1 , 2 , , n k .
p Index of the resource combination.
Parameters
A The set of activities.
R The set of resources.
S The set of skills.
n j Number of activities.
n r Number of resources.
n k Number of skills.
T Discrete time horizon.
A j Activity j .
R r Resource r .
T t Time period t .
S k Skill k .
p j t Resource combination   p   of   A j   at   T t .
c r The fixed-unit salary of   R r   .
l j r Minimum working period of   R r   in the execution process of   A j .
  f m a x Project make-span.
A K j k The requirement of   S k   for   A j .
R K r k The requirement of   S k   that   R r   supplies per time period.
s j   f j Start and finished period of   A j .
q _ j   q ¯ j The lower and upper usage bounds allocated to   A j   for   S k .
l j r Working length of   R r   in the execution cycle of   A j .
φ k t The set of current leftover resources that masters   R k at   T t .
w j k t Completed requirement of   A j   for   S k at   T t .
Decision Variables
D i j D i j = 1 , if   A i   is the predecessor of   A j ; else D i j = 0 .
x r k t Decision variable, x r k t = 1 , if   R r   , use   S k   at   T t ; else x r k t = 0 .
y r t Decision variable, y r t = 1 , if   R r   is assigned at   T t ; else y r t = 0 .
z j r t Decision variable, z j r t = 1 , if   R r is assigned to   A j   at   T t ; else z j r t = 0 .
Table 2. Example of resource.
Table 2. Example of resource.
Skill
ResourceSalary   S 1     S 2     S 3  
  R 1   56013
  R 2   53.6203
  R 3   28.9210
Table 3. Example of activity.
Table 3. Example of activity.
Usage BoundSkill
Activity q _ j k q ¯ j k   S 1     S 2     S 3   Predecessors
  A 1   121800   A 0  
  A 2   111200   A 0  
  A 3   12070   A 0  
  A 4   110012   A 0  
  A 5   12080   A 4  
Table 4. Factor levels.
Table 4. Factor levels.
ParametersFactor Level
1234
NS1050100150
S151015
c0.050.10.150.2
Table 5. Orthogonal array and RVs.
Table 5. Orthogonal array and RVs.
Experiment No.Factor LevelRV (%)
123
11110.011
21220.016
31330.000
41440.027
52120.045
62210.059
72340.050
82430.077
93130.067
103240.092
113310.111
123420.100
134140.062
144230.048
154320.110
164410.123
Table 6. The significant rank of each parameter for instance 50_10_15_13.
Table 6. The significant rank of each parameter for instance 50_10_15_13.
LevelNSSc
10.01356 0.04618 0.07614
20.05792 0.05396 0.06813
30.09137 0.06785 0.04809
40.08592 0.08201 0.05764
Delta0.07781 0.03584 0.02805
Rank123
Table 7. Computational results of four algorithms.
Table 7. Computational results of four algorithms.
InstanceMOFOA-HSNSGAIIMOFOAMOEA/D
Make-SpanCostMake-SpanCostMake-SpanCostMake-SpanCost
10_3_4_364.55920.071.86044.170.76076.472.06034.3
10_5_7_527.14348.330.14379.128.54480.429.04420.5
10_7_8_625.04853.528.44920.928.54930.128.14873.4
15_3_4_364.77682.467.57734.666.67816.567.17743.5
15_6_10_945.94718.753.24722.351.04763.554.14755.1
15_9_11_935.56401.739.96525.739.36670.139.96492.6
25_4_8_974.722,245.878.222,392.078.122,419.478.822,342.2
25_5_3_1569.324,576.672.624,778.673.624,759.673.824,712.6
25_5_9_977.710,731.082.211,040.282.611,089.281.711,015.4
50_4_14_9177.336,463.7199.736,949.8196.637,154.3195.937,024.5
50_5_4_14194.360,726.8203.561,233.9197.861,974.0203.661,167.7
50_10_15_13104.129,148.4116.029,229.1115.930,487.8113.829,423.8
78_5_44_15245.455,637.0260.856,947.0269.856,799.5258.656,685.0
78_5_52_9207.613,390.4226.813,483.5222.613,918.6226.113,443.8
78_10_42_15158.757,923.0178.259,373.3177.060,398.7173.059,620.7
100_5_22_14353.173,721.0366.973,872.4369.174,172.3364.973,937.5
100_10_64_9197.036,470.8247.537,616.3234.939,363.7236.538,151.7
100_15_65_9187.347,130.3216.851,331.7223.653,176.0213.751,605.0
200_10_50_9362.8112,705.0391.0121,011.7409.4122,590.3405.1119,423.3
200_15_54_15314.8120,070.0339.4126,526.3339.3130,886.0329.5128,378.3
200_20_145_15213.2104,455.3242.3112,647.7260.1113,600.7245.3112,363.7
Table 8. HV results of four algorithms.
Table 8. HV results of four algorithms.
InstanceMOFOA-HSNSGAIIMOFOAMOEA/D
BestAvgBestAvgBestAvgBestAvg
10_3_4_30.51260.51250.50410.48640.50090.48270.50630.4968
10_5_7_50.70220.69210.46250.43210.54470.48570.68580.6563
10_7_8_60.65350.62520.64600.61560.64660.62210.60260.5818
15_3_4_30.58810.57740.54170.52290.51610.50040.55330.5389
15_6_10_90.85820.84500.83990.82400.85460.83710.84830.8219
15_9_11_90.72180.71530.69940.67120.70660.66320.70660.6722
25_4_8_90.46190.42220.32150.20010.20950.05710.30210.2259
25_5_3_150.60070.49180.47610.31790.32940.24580.41130.2303
25_5_9_90.74610.73200.67790.65370.64630.62640.68900.6713
50_4_14_90.67520.66200.45120.31590.37640.25290.44500.3065
50_5_4_140.78520.77790.73880.72120.68870.67120.73320.7186
50_10_15_130.83800.81820.76320.74790.65490.63050.76670.7481
78_5_44_150.75000.74190.68180.66730.62220.60480.69930.6848
78_5_52_90.74160.72180.70910.66970.66850.61760.71730.6783
78_10_42_150.79930.78320.72870.70440.65880.63450.72120.7039
100_5_22_140.68720.66450.67130.57950.63310.52950.66620.5769
100_10_64_90.76070.72860.72320.68300.68560.64010.73710.6931
100_15_65_90.80220.79280.73810.72410.68110.64590.74000.7238
200_10_50_90.69800.67770.54730.52530.47430.44540.55090.5320
200_15_54_150.75130.74980.68430.67140.61600.59910.68580.6725
200_20_145_150.72910.71530.64850.63520.58480.56060.63980.6288
Table 9. IGD results of four algorithms.
Table 9. IGD results of four algorithms.
InstanceMOFOA-HSNSGAIIMOFOAMOEA/D
BestAvgBestAvgBestAvgBestAvg
10_3_4_30.46830.46830.46900.47330.47350.47760.46880.4714
10_5_7_50.24060.24970.51140.53090.36640.39630.25760.2728
10_7_8_60.28760.30880.28870.31230.28890.30990.33740.3451
15_3_4_30.36880.37760.41200.42290.43630.44480.40110.4116
15_6_10_90.11510.12470.12840.13790.11630.13100.12630.1416
15_9_11_90.23940.24290.25080.26440.24190.26480.24660.2635
25_4_8_90.38630.42260.53830.60650.62130.67470.54910.5961
25_5_3_150.32460.42480.43080.53110.52420.55810.45130.5511
25_5_9_90.20190.21200.25940.27680.26970.29070.25650.2647
50_4_14_90.28620.29820.48540.54580.53820.59050.47590.5370
50_5_4_140.18270.18580.21970.22710.25020.26140.22140.2291
50_10_15_130.14310.15390.19200.20380.27240.28900.19510.2033
78_5_44_150.21130.21710.26990.27790.31680.32290.25420.2628
78_5_52_90.22560.23870.24770.27470.27950.31710.24010.2685
78_10_42_150.17570.18570.21830.24140.29580.30880.25390.2569
100_5_22_140.29660.30890.30370.36480.33130.40130.31000.3661
100_10_64_90.20810.22970.23520.26800.26720.30120.22290.2571
100_15_65_90.17890.18510.23060.23840.27730.29400.22580.2356
200_10_50_90.28090.29110.39820.41590.46910.48330.39310.4077
200_15_54_150.22270.22320.28390.29400.33480.34060.28510.2946
200_20_145_150.23620.24490.30750.31240.36040.36860.32300.3280
Table 10. t-test results at a = 0.05 significance level.
Table 10. t-test results at a = 0.05 significance level.
Instance HVIGD
NSGA-IIMOFOAMOEA/DNSGA-IIMOFOAMOEA/D
10_3_4_3p-value0.310.290.010.750.791.00
Null hypothesisYYNYYY
10_5_7_5p-value0.961.000.950.140.931.00
Null hypothesisYYYYYY
10_7_8_6p-value0.480.060.010.660.941.00
Null hypothesisYYNYYY
15_3_4_3p-value0.720.620.780.770.810.61
Null hypothesisYYYYYY
15_6_10_9p-value0.980.441.000.530.820.78
Null hypothesisYYYYYY
15_9_11_9p-value0.870.700.470.780.910.92
Null hypothesisYYYYYY
25_4_8_9p-value0.410.690.670.830.950.85
Null hypothesisYYYYYY
25_5_3_15p-value0.931.000.950.911.000.84
Null hypothesisYYYYYY
25_5_9_9p-value0.070.600.900.920.800.31
Null hypothesisYYYYYY
50_4_14_9p-value0.790.880.610.571.000.86
Null hypothesisYYYYYY
50_5_4_14p-value0.970.000.200.201.000.78
Null hypothesisYNYYYY
50_10_15_13p-value0.810.800.990.611.000.44
Null hypothesisYYYYYY
78_5_44_15p-value0.290.760.150.890.930.91
Null hypothesisYYYYYY
78_5_52_9p-value1.000.271.000.171.000.29
Null hypothesisYYYYYY
78_10_42_15p-value0.540.440.130.991.001.00
Null hypothesisYYYYYY
100_5_22_14p-value1.001.001.000.070.940.20
Null hypothesisYYYYYY
100_10_64_9p-value0.150.150.080.960.970.96
Null hypothesisYYYYYY
100_15_65_9p-value0.670.030.580.741.000.77
Null hypothesisYNYYYY
200_10_50_9p-value0.450.400.880.790.990.83
Null hypothesisYYYYYY
200_15_54_15p-value0.110.000.010.961.000.96
Null hypothesisYNNYYY
200_20_145_15p-value0.870.130.550.081.000.97
Null hypothesisYYYYYY
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Luo, X.; Guo, S.; Du, B.; Luo, X.; Guo, J. Multi-Objective Multi-Skill Resource-Constrained Project Scheduling Considering Flexible Resource Profiles. Appl. Sci. 2024, 14, 1921. https://doi.org/10.3390/app14051921

AMA Style

Luo X, Guo S, Du B, Luo X, Guo J. Multi-Objective Multi-Skill Resource-Constrained Project Scheduling Considering Flexible Resource Profiles. Applied Sciences. 2024; 14(5):1921. https://doi.org/10.3390/app14051921

Chicago/Turabian Style

Luo, Xu, Shunsheng Guo, Baigang Du, Xinhao Luo, and Jun Guo. 2024. "Multi-Objective Multi-Skill Resource-Constrained Project Scheduling Considering Flexible Resource Profiles" Applied Sciences 14, no. 5: 1921. https://doi.org/10.3390/app14051921

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