Next Article in Journal
The Psychological Mechanism of Moral Leadership Influencing Responsible Subordinate Behavior
Next Article in Special Issue
Optimizing Multi-Stage Project Portfolio Selection Considering Integrating Lifecycle and Interactions
Previous Article in Journal
An Integrated Framework for Estimating Origins and Destinations of Multimodal Multi-Commodity Import and Export Flows Using Multisource Data
Previous Article in Special Issue
Using Task Support Requirements during Socio-Technical Systems Design
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Preemptive Software Project Scheduling Considering Personality Traits

School of Management, Shanghai University, Shanghai 200444, China
*
Author to whom correspondence should be addressed.
Systems 2024, 12(10), 407; https://doi.org/10.3390/systems12100407
Submission received: 28 August 2024 / Revised: 27 September 2024 / Accepted: 29 September 2024 / Published: 30 September 2024
(This article belongs to the Special Issue System of Systems Engineering)

Abstract

:
The success of software projects is inseparable from the effective scheduling of multi-skilled human resources. In software development, employees’ personality traits often affect the performance of their work. Additionally, software developers are usually multi-tasking, which makes software development tasks preemptive. In view of this, we investigate the preemptive software project scheduling problem considering personality traits (PSPSP-PT), which aims at assigning employees with different skills and personality traits to suitable tasks and determining the start time of each task with the consideration of preemption, multi-skill, and precedence relations such that the total cost of the project is minimized. We formulate a mixed-integer linear programming model for the PSPSP-PT and design a dual priority rules-based heuristic (DPRH). Based on a benchmark dataset that is generated using a full factorial design, computational experiments are conducted to analyze the performance of our DPRH. Comparative analysis with existing algorithms reveals that our DPRH is competitive in terms of efficiency and effectiveness.

1. Introduction

As a strategic high-tech industry, the software industry is an important support for social informatization. In 2023, the global software market size reached $74.2 billion and is expected to reach $378.6 billion by 2033 [1]. However, due to the increasing complexity of software development business logic, the increasing cross-border and cross-regional collaboration of project teams, and the complexity and volatility of user needs, software development projects still face the challenge of low success rates [2], and a large number of software development projects are difficult to deliver on time and within budget. According to the research results of the Standish Group on 23,000 software development projects, 46% of the projects exceeded the budget or schedule, and only 26% of the projects could be delivered on time and within budget [3]. An important reason for the failure of many software development projects is the lack of effective scheduling [4].
Software project scheduling aims to develop a baseline schedule that specifies when each employee should perform specific tasks while satisfying constraints such as precedence relationships and human resource skill requirements. In other words, software project scheduling lies in determining who undertakes what tasks throughout the lifespan of a software project. This schedule seeks to achieve optimal matching between employees with certain skills and tasks requiring those skills, thereby minimizing performance measures such as project makespan and cost. This is a crucial matter in the practice of software engineering, as the total budget and human resources involved need to be managed in an optimal way to ensure a successful project outcome.
The software project scheduling problem (SPSP) has been extensively studied. As an early representative study, Alba and Chicano (2007) [5] applied the genetic algorithm to optimize task scheduling and staff employee assignment, with subsequent research building upon this foundation [6,7,8]. Li and Womer (2009) proposed a hybrid benders decomposition algorithm that combines integer linear programming and constraint programming to model and solve the SPSP [9].
Software development is a typical intelligence-intensive process. Whether multi-skilled employees can be effectively assigned is an important factor affecting the scheduling effect of software projects. Based on the model proposed by Alba and Chicano (2007) [5], Wang and Zheng (2018) [10], Rodríguez et al. (2011) [11], and Akbar et al. (2024) [12] considered varying skill levels among employees, proposing multi-objective fruit fly optimization algorithms, multi-objective simulation optimization algorithms, and greedy and parallel scheduling algorithms, respectively. García and Gómez (2014) further set differentiated salaries for different employees according to their skill levels so that “experts” and “novices” enjoy salary levels that match their skill levels [13]. Li et al. (2023) explored the software project scheduling problem with variable activity durations in which the task duration depends on the assigned employees and their skill levels [14]. Janiak and Rudek (2009) [15], Kuo and Yang (2011) [16], Wang and Wang (2013) [17], Niu et al. (2014) [18], Lin (2014) [19], and Korytkowski and Malachowski (2019) [20] considered the learning effects during software project scheduling, i.e., the phenomenon that employees’ familiarity with skills gradually increases with the length of use. Additionally, due to the complexity and volatility of user needs in software development projects, employees may need to acquire new skills not previously mastered. Shen et al. (2024) developed a dynamic model incorporating mechanisms for new skill acquisition and designed a predictive–reactive scheduling method based on a multi-population coevolutionary algorithm to solve this problem [4]. Guo et al. (2019) comprehensively considered the learning and forgetting effects, dynamically evaluated the skill level of employees, and used a multi-objective fireworks algorithm to solve the problem to minimize project cost and duration [21]. Shen et al. (2018) introduced a novel perspective on learning effects, suggesting that learning outcomes are influenced by employees’ motivation and learning ability. They also included employee satisfaction with the personnel assignment as one of the objectives and proposed a multi-objective, two-archive memetic algorithm based on a Q-learning algorithm for solving this problem [22]. Nigar et al. (2022) accounted for the improvement in employees’ learning abilities over time along with the evolution of their experience and reassigned tasks in a dynamic environment. To solve this problem, they employed various heuristic algorithms [23].
The above studies focus mostly on individual skills and do not take into account the synergistic utility between team members. Kosztyán et al. (2022) examined not only individual skill efficiency but also pairwise synergy effects among employees, analyzing the impact of synergy on project cost [24]. Building on this, Kosztyán et al. (2024) further studied the effect of autonomous team role selection and model and analyzed team roles and their synergy through a matrix-based project planning method [25]. Zhang et al. (2023) argued that interpersonal relationships within a team can affect the performance of software development projects. Consequently, they investigated the software project scheduling problem considering team dynamics, introducing communication cost as a factor and quantifying its relationship with changes in interpersonal interactions and improvements in skill proficiency. To solve this problem, they proposed an improved bi-population discrete evolutionary algorithm [26]. Chend et al. (2019) targeted the dynamic complexity of team collaboration and considered the employees’ leave and return during the software development process as well as the specific constraints on rework tasks caused by different programming habits among employees, thereby enhancing the robustness of the scheduling scheme [27].
Although scholars have conducted extensive research on software project scheduling from many perspectives of human resources, few studies have incorporated employee personality factors into the scheduling process of software projects, which undoubtedly affects the effectiveness of scheduling software projects that are significantly intelligence intensive. Personality reflects people’s behavior patterns, thinking patterns, and emotional reactions, which affect employees’ work performance [28]. Dhani and Sharma (2018) showed that personality traits have a significant impact on the work performance of IT employees and can serve as predictors of work performance [29]. Furthermore, the risks associated with employee performance are a critical component of project risk. Enhancing employee performance is an effective strategy for reducing project risks and improving project success rates [30,31]. Jones et al. (2023) noted that many software development teams have abandoned the use of planning poker for workload estimation during the development of minimum viable products [32]. This is due to the method’s failure to account for the heterogeneity of team members, making it difficult to achieve the expected effect [33]. It is worth noting that some scholars have considered personality traits in areas other than project scheduling. For example, Hamid et al. (2019) took the decision-making styles of surgical team members (as personality traits) into consideration to improve the efficiency of cooperation among surgical team members [34].
Therefore, to close the gap that employee personality has not been considered in the field of software project scheduling, we consider the matching of employee personality traits with different types of tasks during the software project scheduling process, which will help improve employees’ work performance and thereby increase the success rate of software projects. At the same time, our study provides a valuable reference for software project managers to formulate scientific and effective employee assignment plans, optimize human resource allocation and team division, and promote collaboration based on factors such as employee personality traits and skill levels.
Additionally, due to external disruptions and management demands, tasks in software development may experience temporary interruptions, such as developers switching between different tasks. This implies that tasks in software project scheduling are preemptive. Existing studies have shown that considering preemption during scheduling can lead to better project makespan [35] and more balanced resource utilization [36]. However, in software project scheduling, few studies consider preemption.
Therefore, given the lack of consideration of task preemption and employee personality traits in software project scheduling, we propose and study the preemptive software project scheduling problem considering personality traits (PSPSP-PT). Our main contributions are as follows: (1) We formulate a mixed-integer linear programming model for the PSPSP-PT, which incorporates multiple factors, such as task preemption, employee personality traits, and uncertain workload, in the project scheduling process; (2) to efficiently solve the PSPSP-PT, we design a dual priority rules-based heuristic algorithm (DPRA) that can achieve effective scheduling through task selection and employee assignment; (3) we conduct computational experiments and compare the proposed algorithm with an estimation of distribution algorithm (EDA). The comparison results demonstrate the effectiveness and efficiency of our algorithm.
Our study provides software project managers with a flexible and effective scheduling tool that optimizes the allocation of human resources by comprehensively considering employee skills, personality traits, and task preemption. This will help improve project execution efficiency and reduce overall costs. The rest of this paper is structured as follows. We describe the PSPSP-PT in Section 2. In Section 3, we formulate a mixed-integer programming for the PSPSP-PT. In Section 4, we design a dual priority rules-based heuristic (DPRA). Section 5 evaluates the performance of the DPRA through computational experiments and compares it with the baseline algorithm. Finally, Section 6 concludes this paper and discusses future directions.

2. The Preemptive Software Project Scheduling Problem Considering Personality Traits

This section describes the PSPSP-PT and illustrates the problem with an example.

2.1. Problem Statement

The PSPSP-PT is described as follows.
Task A software project is represented by a directed graph G = N , A , where N = { 0,1 , , n + 1 } is the set of nodes, representing the tasks in the project. The dummy tasks 0 and N stand for the beginning and the end of the project, respectively. The arc set A N × N is the set of precedence relationships. If ( i , j ) A , there is a precedence relationship between tasks i and j , which means the start time of task j should not be earlier than the finish time of task i . We call task i the predecessor of task j , and task j is the successor of task i . I P j and I S j represent the immediate predecessor and immediate successor task sets of task j , respectively. The duration d j , the start time s t j , and the finish time f t j of each task j are all integers. Note that the duration of dummy tasks is 0. The deadline of the project is d ¯ .
Preemption During execution, each task j can be preempted at any integer timepoint and can be preempted at most d j times. After task j is preempted, it can continue to be executed at any subsequent timepoint. Consequently, each non-dummy task j can be decomposed into d j unit-duration subtasks j q { j 1 , j 2 , , j d j } . There exists a precedence relationship between adjacent subtasks ( j q j q + 1 , q { 1,2 , , d j 1 } ). Each subtask j q must be executed exactly once.
Skills Each task requires at least one skill during execution. The set S denotes the skills required in the project, and S j q S represents the skills involved in subtask j q . The main resources in a software project are multi-skilled employees, and the employee set is denoted as E . The subset E s E contains employees equipped with skill s S . The workload of skill s in subtask j q is denoted by r j q s . If employee e is assigned to subtask j q , then x j q s e represents the workload contributed by this employee using skill s on subtask j q . Dummy tasks do not consume any resources. For the same skill, different employees have different proficiency levels. The efficiency of employee e in skill s is denoted by η e s , with 1 / η e s representing the time required for employee e to complete a unit workload using skill s . If employee e does not possess skill s , then η e s = 0 .
Work Intensity We let parameter ρ denote the estimated upper bound of work intensity that all employees must endure per unit time, where ρ 0,1 . A higher ρ implies a greater workload for the employees. ρ is calculated as follows:
ρ = E ( r j q s ) × j N N u m ( S j ) e E R e m a x
where R e m a x represents the maximum working time of employee e per unit time; E ( r j q s ) represents the average workload demand of all tasks for the skills required, E ( r j q s ) = j N s S j r j q s j N N u m ( S j ) ; and N u m ( S j ) represents the number of skill types required by task j .
Personality Traits From the perspective of how personality traits affect employee work efficiency, we comprehensively consider the impact of the degree of match between employee personality traits and the skills they use on their work efficiency. For instance, tasks such as user experience analysis are often performed more effectively by extroverted employees due to their inherent strengths in social interaction and communication.
We introduce the matching coefficient μ e s [ 0,2 ] , which represents the degree of match between employee e ’s personality traits and the task requiring skill s . When μ e s = 1 , it indicates that employee e ’s performance in personality traits just meets the requirements of skill s , with no effect on work efficiency. When μ e s > 1 , employee e’s performance in personality traits exceeds the requirements of skill s, which has a positive impact on work efficiency. Conversely, when μ e s < 1 , employee e ’s performance in personality traits does not meet the requirements of skill s , resulting in reduced work efficiency. The matching coefficient μ e s is calculated based on the study by Santos et al. (2013) [37], incorporating personality traits into the calculation process. First, using the Big Five Personality Traits model, employees’ personality traits are measured on five dimensions, neuroticism (N), extraversion (E), openness to experience (O), agreeableness (A), and conscientiousness (C), with results denoted as p i e [ 0,10 ] , representing employee e ’s score on dimension i . Then, ϖ i s is introduced as the weight of dimension i ’s impact on skill s , with its value obtained through expert scoring. The matching coefficient μ e s of employee e using skill s can be expressed as follows [37]:
μ e s = i = 1 5 φ i ϖ i γ i s e
where γ i s e measures the degree of match between employee e and skill s on dimension i , γ i s e = 1 + p i s p i e . γ i s e = 1 indicates that employee e ’s score on dimension i just meets the demand level of skill s , that is, p i s = p i e ; γ i s e < 1 indicates that employee e does not meet the demand level of skill s on dimension i ; γ i s e > 1 indicates that employee e ’s score exceeds the demand level of skill s on dimension i . φ i is a scaling factor, which is used to reduce the matching coefficient more when the attributes with higher weights do not match. It is calculated as follows [37]:
φ i = φ i 1 ,                                                     i f   p i e p i s φ i 1 ϖ i / i = 1 5 ϖ i ,         i f   p i e < p i s
Subsequently, we consider the effect of personality matching on employee efficiency, resulting in the adjusted efficiency η e s = μ e s × η e s .
Scheduling objective The task of the PSPSP-PT is to generate a schedule that indicates the start time of each task and assign multi-skilled employees with varying personality traits to appropriate tasks while satisfying constraints such as skill matching, precedence relationships, and the project deadline such that the total project cost is minimized. The total cost of the project consists of two items: (1) The total basic salary of employees ( e E c e × s t n + 1 ), where c e is the basic salary of employee e per unit time, and s t n + 1 is the start time of the dummy task n + 1 , which corresponds to the project makespan (regardless of whether employees are assigned tasks, they are entitled to receive their basic salary); (2) the total performance salary of an employee ( e E j N q = 1 d j s S e ( 1 η e s × μ e s × x j q s e × c ) ), where c is the performance salary of employee e per unit time, and 1 η e s × μ e s   × x j q s e is the actual working duration of employee e (employees will only receive performance pay if they participate in the tasks).

2.2. Example

This section shows an example that demonstrates our problem. We assume that a software system development project consists of three non-dummy tasks. The project network graph is shown in Figure 1, where solid circles indicate non-dummy tasks, dashed circles indicate dummy tasks, the numbers inside the circles are task indexes, and the numbers above the circles are task durations. The skills required in the project are programming ( s 1 ), database design ( s 2 ), and web design ( s 3 ). Table 1 shows the information about the skills required in each task, the workload required at each stage, and the duration. For example, task 3 requires one employee with programming skills, where the efficiency of programming skills is 1, to work 1.6 man-hours per day for a total of three days to complete. The project involves three employees, and their basic information (maximum working hours per day, performance salary, basic salary, skill efficiency, matching coefficient) is shown in Table 2.

3. Mixed-Integer Linear Programming Model

In this section, we formulate a mixed-integer linear programming model for the PSPSP-PT. In addition to the decision variable x j q s e mentioned above, we further introduce the decision y t j q { 0,1 } , which indicates whether the q th subtask of task j ( j q ) starts at instant t . Specifically, when the duration d j of task j is zero, indicating it is a dummy task with no subtasks, the decision variables simplify to y t 0 and y t ( n + 1 ) , with the subscript q omitted. The value rules for y t j q are as follows:
y t j q = 1 , i f   t h e   q t h   s u b t a s k   o f   t a s k   j   s t a r t s   a t   t i m e   t 0 , o t h e r w i s e
Thus, the start time of subtask j q is given by s t j q = t = 1 d ¯ ( y t j q × t ) . For non-dummy tasks j , the start time s t j = s t j 1 , and the end time f t j = s t j d j . The project start time s t 0 = t = 1 d ¯ y t 0 t = 0 , and the project duration T = s t n + 1 = f t n d j = t = 1 d ¯ y t ( n + 1 ) t = max j N { n + 1 } t = 1 d ¯ y t j d j + 1 . Based on the above description, the mixed-integer linear programming model for the PSPSP-PT is formulated as follows:
M i n         w k e E j N q = 1 d j s S e ( 1 η e s × μ e s × x j q s e × c ) + w b e E c e t = 1 d ¯ y t ( n + 1 ) t
S . T .     t = 1 d ¯ y t j q = 1 ,           j N
t = 1 d ¯ y t j 1 t t = 1 d ¯ y t i d i t + 1 ,           ( i , j ) A
t = 1 d ¯ y t j ( q + 1 ) t t = 1 d ¯ y t j q t + 1 ,         j N , q = 1 , , d j 1
e E s x j q s e r j q s y τ j q ,           j N ; q = 1 , , d j ; τ = 0 , , d ¯ 1 ; s S j q
s S e 1 η e s × μ e s × x j q s e R e m a x ,           j N ; q = 1 , , d j ; e E
y t j q 0,1 ,           j N ; q = 1 , , d j ; t = 0 , , d ¯ 1
x j q s e 0 ,           j N ; q = 1 , , d j ; s S ; e E s
In the above model, the objective function (5) minimizes the total cost of the project, where e E c e × t = 1 d ¯ y t ( n + 1 ) t represents the sum of the basic salary for all employees with a weighting factor of w b . e E j N q = 1 d j s S e ( 1 η e s × μ e s × x j q s e × c ) represents the performance salary of employees with a weight coefficient w k , considering that, in practice, the basic salary of employees is a fixed cost of the enterprise. In addition to undertaking project tasks, employees also have to undertake other work, such as the daily affairs of the enterprise. The basic salary cost of employees during the project period should be allocated to other affairs of the company, so w b = 0.3 , and the performance salary as the performance reward for employees participating in the project is completely part of the human cost of the project, so w k = 1 .
Constraint (6) ensures that each subtask j q has exactly one start time throughout the project. Constraint (7) describes the precedence relationship constraint between tasks, i.e., the start time t = 1 d ¯ y t j 1 t of the first subtask j 1 of the subsequent task j should be no earlier than the finish time t = 1 d ¯ y t i d i t + 1 of the last subtask i d i of the preceding task i . Constraint (8) describes the precedence relationship constraint between subtasks in task j . Constraint (9) indicates that, for any instant τ = 0 , , d ¯ 1 , if subtask j q starts at instant τ ( y τ j q = 1 ), then the workload demand r j q s of subtask j q for various skills s ( s S j q ) needs to be allocated. The allocation object is the employee e with skill s , i.e., e E s , and the allocated workload is x j q s e . Constraint (10) is a resource constraint. The time required for any employee e to complete the assigned workload in any subtask j q cannot exceed the maximum working time of the employee per unit time R e m a x . Constraints (11) and (12) define the value range of decision variables y t j q and x j q s e .
Note that the impact of employee personality is considered in our model. Specifically, in our objective function (5), personality trait-related factor μ e s is considered. The same factor is also considered in constraint (10) when dealing with the resource constraint. It is also worth noting that the establishment of the mixed-integer linear programming model enables a clearer articulation of the decision variables, objectives, and constraints of the problem.
The PSPSP-PT in this paper is NP-hard. Specifically, consider a special case of the PSPSP-PT. First, let the duration of each task be 1. Second, assume that each employee possesses only one skill with identical skill efficiency and matching coefficients and that the maximum working time for each employee is the same, i.e., S e = 1 , η s e = 1 , μ e s = 1 , R e m a x = 1 . Then, let the basic salary per unit time of each employee be 1, and do not consider the employee’s performance salary, i.e., c e = 1 , c = 0 , w = 0 . Under the above conditions, the PSPSP-PT becomes the classic resource-constrained project scheduling problem (RCPSP) with the objective of minimizing the project makespan. The RCPSP is NP-hard [38]. Consequently, as a generalization of the RCPSP, the PSPSP-PT is also NP-hard. Therefore, in order to efficiently solve large-scale instances, we will design a heuristic scheduling algorithm in the next section.

4. A Dual Priority Rules-Based Heuristic

By analyzing our problem and model, we find that the following two factors significantly affect the total cost of software projects: (1) project duration—the shorter the project duration, the smaller the total basic salary of employees; (2) employee efficiency. When assigning employees to meet the workload requirement for skill s in subtask j q (i.e., r j q s ), prioritizing the employee with higher skill efficiency can help reduce the project duration, thereby minimizing the costs associated with performance salary.
Based on the above analysis, we design a dual priority rules-based heuristic scheduling algorithm (DPRH) to efficiently solve the PSPSP-PT. The algorithm addresses two key problems (i.e., task selection problem and employee assignment problem) that need to be solved in the PSPSP-PT and designs task selection priority rules and employee assignment priority rules, respectively, making full use of the above two factors to construct a schedule that can minimize the total cost of the project. In our DPRH, different priority rules related to task selection and employee assignment can be flexibly embedded.
The main process of our DPRH is as follows. First, the project network is converted into a unit-time project network (Section 4.1) to cope with the task preemption. Then, the following steps are repeated until all tasks are scheduled: (a) select the next task to be executed based on task selection priority rules (Section 4.2); (b) determine the start time of the selected task and assign employees to it based on employee assignment priority rules (Section 4.3).

4.1. Generation of Unit-Time Project Network

The purpose of generating a unit-time project network is to address the task preemption. The basic idea of converting the project network G into the unit-time project network G is to divide each task j in G into subtasks j q with a duration of one time unit. These subtasks are renumbered as nodes, and the precedence relationships between subtasks in the same task are added. These subtasks, the newly added priority relationships, and the original priority relationships in G together constitute G. Specifically, each node in G, i.e., subtask j q , is renumbered starting from 0 (0 denotes a dummy start task) to create a new task set I , and the number of the subtask j q in the set I is m = 0 j 1 d j + q . The precedence relationship i j in the project network G is converted into the precedence relationship n m between the first subtask j 1 (with numbering m = 0 j 1 d j + 1 ) of the subsequent task j and the last subtask i d i (with numbering n = 0 i 1 d i + d i ) of the predecessor task i . Additionally, precedence relationships between the subtasks of task j are incorporated. Based on the above method, the example project network in Section 2.2 can be converted into the unit-time network shown in Figure 2. The duration of each subtask in Figure 2 is one unit, and the resource requirements of the subtask are the same as the original task.
Subsequent scheduling will be based on G. The advantage is that there is no need to consider the task preemption separately because each subtask already has a unit duration. If there is no time delay between all subtasks of a task, it means that the task has not been preempted; if there is a time delay between two or more subtasks, it means that the task has been preempted at least once.
After obtaining the unit-time network G, initialize the DPRH by setting the start time of the dummy start task s t 0 = 0 . Define the set of scheduled tasks S k d = { 0 } , and the set of schedulable tasks D is an empty set. Initialize the resource availability matrix R E S d ¯ × | E | , where each element R E S d ¯ × | E | represents the available work capacity of employee e in period t .

4.2. Task Selection Based on Priority Rules

Our DPRH offers a variety of priority rules for task selection. With the objective of minimizing the total project cost as much as possible, six different priority rules are incorporated, with their definitions provided in Table 3. During the execution of our DPRH, any of the priority rules can be applied.

4.3. Employee Assignment Based on Priority Rules

In the DPRH, we design an employee assignment algorithm based on priority rules (Algorithm 1). Given a task that requires employee assignment, the algorithm first determines the employee assignment order based on the priority rules and then determines the start time of the task as early as possible while satisfying various constraints.
Algorithm 1. Employee assignment algorithm
Input: task j q , earliest start time e s j q , latest start time l s j q , resource availability matrix R E S , employee assignment priority rules p R A
Output: start time s t j q , workload x j q s e of employee e using skill s on subtask j q , remaining resource availability matrix R E S
1Initiation:  l a g = 0 ;   s t j q = e s j q ; calculate the earliest/latest start time e s j q / l s j q for j q based on the Critical Path Method
2While  s t j q + l a g l s j q
3     s t j q = s t j q + l a g
4    R E S = R E S
5    i s F e a s i b l e = T r u e
6     For s = 1 to |S|
7       Select skill s from S according to the skill scheduling order
8        r e q u i r e = r j q s
9       If  r e q u i r e 0
10         For e = 1 to | R s |
11           Select employee e from R s according to the priority rule p R A
12           If  R E S s t j q e η s e       r e q u i r e  
13              R E S s t j q e = R E S s t j q e r e q u i r e / η s e
14              x j q s e = x j q s e + r e q u i r e
15              r e q u i r e = 0
16              b r e a k
17           else
18              x j q s e = x j q s e + R E S s t j q e η s e
19              r e q u i r e = r e q u i r e R E S s t j q e η s e
20              R E S s t j q e = 0
21         End For
22         If  R E S E s = 0 and r e q u i r e 0
23           Taks j q cannot start at instant s t j q
24            i s F e a s i b l e = F a l s e
25            l a g = l a g + 1
26            b r e a k
27End For
28     If  i s F e a s i b l e
29       Return the current start time s t j q and the updated resource availability R E S
30     else
31        c o n t i n u e
32End while
In Algorithm 1, given a task j q , starting from its earliest start time ( s t j q = e s j q ), the requirements of task j q for various skills are met in descending order according to the skill scarcity ( | E s | ). If, during the assignment process, it is discovered that resources are insufficient (i.e., when R E S E s = 0 and the skill requirement r j q s remains unmet), the time delay l a g is incremented (lines 22–26 of Algorithm 1, where the sum of l a g and e s j q determines the earliest feasible start time for task j q ) until a suitable start time is found that ensures all skill requirements within the duration of task j q are met. The algorithm ultimately outputs the start time of task j q , the assigned employees, and the workload of these employees.
Table 4 shows the priority rules used for employee assignment in Algorithm 1. During the execution of Algorithm 1, any priority rule can be selected from Table 4. There are two approaches to reducing project cost during employee assignment: prioritizing employees with higher efficiency and those with better personality matching. For this purpose, we design the maximum initial skill efficiency priority rule ( p R A 2 ) and the maximum personality matching coefficient priority rule ( p R A 3 ). Combining the above two factors, i.e., considering the influence of personality traits on employee efficiency, we also design the hybrid priority rule: the maximum adjusted skill efficiency priority rule ( p R A 1 ). In addition, the random priority rule p R A r randomly selects one of the three priority rules mentioned above. In the case of multiple employees with the same priority value, the employee with the smallest number will be selected.
Applying our DPRH to solve the example project in Section 2.2, the resulting schedule is shown in Figure 3. In Figure 3, the vertical axis is the employee index, and the horizontal axis is the time. Each rectangle in Figure 3 represents a subtask. Inside the rectangle, we give the subtask number of the task that the rectangle belongs to and the skills used in the task. Looking at Figure 3 horizontally, we can observe which tasks each employee is assigned to. As can be observed in Figure 3, the task web design and implementation (task 1) is preempted after its first subtask is completed, and its subsequent subtasks continue to be executed at instant 4. In this schedule, the total project cost is 402.

4.4. Computational Complexity Analysis

The worst-case running time complexity of our dual priority rules-based heuristic algorithm is analyzed as follows. The complexity of generating the unit-time project network is O N + A + n . The complexity of determining the task scheduling order based on priority rules is O ( N + A + n ) , where N is the total number of subtasks in the unit-time project network and A is the number of precedence relationships. The complexity of calculating the employee assignment priority is O ( | S | × | E | ( log E + 1 ) ) . Therefore, Algorithm 1 is characterized by a complexity of O ( S L × | S | × | E | ) , where S L is the maximum slack time across all subtasks.
Based on the above estimation, the complexity of our DPRH is acceptable and does not involve non-polynomial computational complexity.

5. Computational Experiments

This section analyzes the performance of our DPRH through computational experiments. Our algorithm has been implemented in Python 3.7. Computational experiments were conducted on an Intel i5 Core PC with 3.20 GHz CPU and Windows 7 64-bit. In the following subsections, we first introduce the benchmark dataset, comparison algorithm, and performance measures used in the computational experiments. We then evaluate the performance of our DPRH by comparing it with the EDA. Finally, we discuss the robustness of our DPRH based on a sensitivity analysis.

5.1. Benchmark Dataset

The construction of the benchmark dataset follows Heimerl and Kolisch (2010) [39], which conducts a full factorial experimental design based on five characteristic parameters, the number of tasks n , order strength (OS), work intensity ρ , the number of skills possessed by each employee | S e |, and the personality matching coefficient μ e s , to construct a benchmark dataset for computational experiments. Among them, OS (0,1) reflects the number of precedence relationships in the project network, and a larger OS indicates more priority relationships.
First, we use the project scheduling problem instance generator RanGen to generate project networks with different n and OS [40]. Then, for each project network generated by RanGen, we determine its ρ , | S e |, and μ e s . As shown in Table 5, for ρ , a value of 0.3 (0.7) corresponds to a low (high) workload for employees. A value of 2(4) for | S e | indicates fewer and more types of skills mastered by each employee. When μ e s follows the truncated normal distribution T N 0.5,1.0 ( 0.75,0.25 ) and T N 1.0,1.5 ( 1.25,0.25 ) , it means that the degree of match between employee personality traits and their skills is low and high, respectively. We set some different values for the five factors (i.e., n , OS, ρ , | S e |, and μ e s ) in Table 5 and generate five instances for each parameter combination. We thus obtain 4 × 2 × 2 × 2 × 2 × 5 = 320 project instances in total.
Then, for each project instance described above, the total number of employees is set to R = 10 . The maximum working time of employee e per unit time R e m a x is selected randomly from the interval [ 0.8,1.2 ] . The skill efficiency η e s is drawn from the truncated normal distribution T N 0.5,1.5 ( 1,0.25 ) . The basic salary per unit time c e is drawn from the truncated normal distribution T N 8.75,13.75 ( 11.25,2.5 ) . Let the unit performance salary c = 30 and the total number of skills involved in each project S = 6 . Each task requires, at most, four of these skills, which are randomly drawn from all skills. The demand for each skill r j q s for each task follows a normal distribution with a mean of E r j q s and a standard deviation of σ = 0.1 × E ( r j q s ) , where E r j q s is derived and calculated based on Formula (1). Table 6 shows the values of fixed parameters in the benchmark dataset.

5.2. Baseline Algorithm and Performance Measure

We evaluate the performance of our DPRH through experiments by comparing it with a baseline algorithm. The estimation of distribution algorithm (EDA), which is a population evolutionary algorithm based on statistical learning theory, is selected as the baseline algorithm for comparison [41]. It has been widely applied in the multi-mode resource-constrained project scheduling problem (MRCPSP) and achieved better solution results [42].
The EDA algorithm in this paper is based on Wang and Fang (2012) [42]. In order to make the EDA able to solve the PSPSP-PT, we made the following modifications to the EDA: (1) Solution Encoding. The encoding of solutions consists of two main parts: AL represents the execution order of subtask j q . Γ represents the employee assignment scheme. For each skill s S , γ s Γ , γ s = R A , S K , where RA is the employee number sequence and S K is the random key vector, describing the workload ratio assigned to the corresponding employee in R A . Thus, for any subtask j q requiring skill s , the employee assignment scheme is γ s = R A , S K . (2) Probability matrix. The EDA contains two probability matrices, P r o b A L ( G E N ) and P r o b T A ( G E N ) . P r o b A L ( G E N ) is the same as Wang and Fang (2012) [36], P r o b T A ( G E N ) is a matrix of |S|×|E|, and P r o b T A t G E N [ s , e ] represents the probability that employee e uses skill s to perform the task at the GENth iteration. For P r o b T A ( G E N ) , each iteration is updated with the number of employees in the elite set who use skill s to perform the task.
To evaluate the performance of the DPRH, we define the improvement ratio of the mean performance (Imp) as follows:
I m p = i S e t ( o b j i E D A o b j i ) / o b j i E D A | S e t | × 100 %
where o b j i represents the objective function value of the i th instance in the dataset obtained by the DPRH, o b j i E D A is the optimal objective function value of instance i obtained by the comparison algorithm EDA, and I m p represents the degree of improvement of the DPRH relative to the EDA. According to Formula (12), a higher I m p value signifies a greater improvement of the DPRH over the EDA.

5.3. Experimental Result

(1)
Discussion on Priority Rules
For the DPRH, combining different task selection and employee assignment priority rules results in 20 distinct heuristic scheduling algorithms. We apply these 20 heuristic algorithms to solve the benchmark dataset in order to determine the best combination of priority rules. Table 7 shows the objective function values of the schedule obtained by the DPRH under different combinations of priority rules.
As shown in Table 7, among the task selection priority rules, the critical path priority rule ( p A L 6 ) performs best in terms of the mean objective function value, but its performance is not much different from that of other priority rules. The performance of the DPRH is more affected by the employee assignment priority rule, among which the maximum adjustment skill efficiency priority rule ( p R A 1 ) is significantly better than other single priority rules and random priority rules. Therefore, in subsequent experiments, our DPRH uses p A L 6 as the task selection priority rule and p R A 1 as the employee assignment priority rule.
(2)
Comparative experiment results
The DPRH and EDA are used to solve the benchmark dataset, respectively. The parameters of the EDA are set as follows: the population size is 40, the elite probability is 10%, the learning speed is 0.2, and the algorithm termination condition is when 520 schedules are generated or when the calculation time reaches 1500 s. The comparative results of the algorithms are presented in Table 8.
As can be observed in Table 8, for all project instances, the DPRH outperforms the EDA in both solution quality and computational time, showing its significant advantages. In particular, as the number of tasks n increases, the advantage of the DPRH in computation time becomes more and more significant, indicating that it is more competitive in solving large-scale instance problems. This is due to the DPRH employing predefined priority rules for task scheduling and staff assignment, which effectively reduces the search space. Unlike the EDA, which requires constructing complex probability models and numerous iterations, the DPRH’s direct approach reduces computational complexity and improves solution speed.
For instances with the same number of tasks, the greater the number of skills | S e | possessed by each employee, the more obvious the improvement of the DPRH over the EDA, that is, the DPRH is less sensitive to the complexity of human resources ( | S e | ) and can flexibly adapt to different resource allocation situations. This is primarily because the DPRH is always based on a rule-driven mechanism regardless of changes in resource allocation. In contrast, the EDA requires the construction and updating of more complex probabilistic models when dealing with higher-dimensional resource attributes, which greatly impacts the computational quality.

5.4. Sensitivity Analysis

Based on the benchmark dataset, this section examines the impact of order strength (OS), employee work intensity ( ρ ), and personality matching coefficient ( μ e s ) on the performance of our DPRH. The results are shown in Figure 4. In Figure 4, the vertical axis is I m p , which is the degree of improvement of the DPRH relative to the EDA, and the horizontal axis represents work intensity ρ . In the left figure, the personality matching coefficient μ e s follows the truncated normal distribution T N 0.5,1.0 0.75,0.25 , which represents that, in these project examples, the degree of match between the employee personality traits and their mastered skills is generally low. Conversely, in the right figure, the personality matching coefficient μ e s follows the truncated normal distribution T N 1.0 , 1.5 ( 1.25,0.25 ) , which indicates that, in these project examples, the degree of match between the employee personality traits and their mastered skill is relatively ideal.
Figure 4 illustrates that, under different levels of the personality matching coefficient, when the order strength is given, the greater the workload, the better the solution effect of the DPRH. This indicates that our DPRH can more effectively handle projects with tight resources, particularly in scenarios where there are fewer employees and a greater task workload. Compared to the EDA, the improvement in the performance of the DPRH algorithm is more pronounced. This result further reveals that the DPRH is not sensitive to changes in workload parameters. Conversely, the order strength negatively impacts the performance of our DPRH, indicating that the DPRH is better suited for software project scheduling problems with fewer dependencies between tasks. In such cases, the algorithm can more effectively allocate resources and improve scheduling efficiency. Comparing the two sub-graphs on the left and right, our DPRH has a better improvement effect in the problem instances with a lower personality matching coefficient. This suggests that our DPRH is capable of effectively handling scenarios where the degree of match between the employee personality traits and their mastered skill is relatively ideal while also achieving satisfactory scheduling effects in situations with the degree of match being generally low.

6. Conclusions and Future Research

In this paper, we have studied the preemptive software project scheduling problem considering personality traits in which employees with varying skills and personality traits are scheduled facing constraints such as skills and precedence relationships such that the project cost is minimized. We formulate a mixed-integer programming model for the problem and design a dual priority rules-based heuristic algorithm. Based on computational experiments on a benchmark dataset containing 320 instances, the performance of our algorithm is analyzed and compared with the EDA. The results reveal that our algorithm outperforms the EDA in both solution quality and time. In terms of the mean objective function values of the obtained schedules, our algorithm is 14.63% higher than the EDA. In the meantime, the average calculation time of our algorithm (4.97 s) is much shorter than that (723.44 s) of the EDA. The sensitivity analysis further indicates that our algorithm is robust and can be effective, especially when there are few employees and large task workloads. In addition, our DPRH can achieve satisfactory scheduling results whether the employee skills are ideally matched with their personality traits or the matching degree is low.
Compared with existing studies that deal with planning a project [8], our study provides important references for software project managers in their practical work to create a more comprehensive plan. Our results indicate that, in software project management, project managers should pay attention to the understanding and evaluation of the personality traits of team members. By rationally scheduling team members with different skills and personality traits, the schedule and human resource allocation can be optimized, thereby reducing the overall cost of the project. In addition, project managers should effectively utilize the task preemption and arrange tasks in an interspersed manner to shorten the project duration.
The limitation of our study is that, although our algorithm can yield satisfactory solutions in a short time, it may not achieve optimal solutions in some cases. Future research will consider designing a branch-and-bound algorithm for the PSPSP-PT to obtain the optimal solution for small-scale instances. Additionally, our study assumes a deterministic environment and does not account for uncertainties, such as employee resignation and uncertain activity duration. Therefore, investigating the PSPSP-PT problem in uncertain environments represents a valuable area for further study.

Author Contributions

Conceptualization, H.L.; methodology, H.L. and Q.H.; validation, H.L., Q.H. and Y.W.; writing—original draft preparation, H.L. and Q.H.; writing—review and editing, H.L., Q.H. and Y.W.; visualization, H.L. and Q.H.; supervision, H.L.; project administration, H.L.; funding acquisition, H.L. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Key Laboratory of Medical Electronics and Digital Health of Zhejiang Province (Grant Number MEDC202308).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original data presented in this study are openly available at https://github.com/isWYC/PSPSP-PT (accessed on 27 September 2024).

Acknowledgments

The authors thank the editor and reviewers for providing valuable suggestions that have improved the quality of this paper.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Precedence Research. ICT: Software-Defined Anything (SDx) Market (By Type: Software-Defined Networking (SDN), Software-Defined Wide Area Network (SD-WAN), Software-Defined Data Center; By End-User: Service Provider, Enterprises, Banking, Financial Services, and Insurance (BFSI), Manufacturing, Retail, Healthcare, Government, Education, Others)-Global Industry Analysis, Size, Share, Growth, Trends, Regional Outlook, and Forecast 2024–2033. 2024. Available online: https://www.precedenceresearch.com/software-defined-anything-market (accessed on 10 July 2024).
  2. Teslyuk, V.; Batyuk, A.; Voityshyn, V. Method of Software Development Project Duration Estimation for Scrum Teams with Differentiated Specializations. Systems 2022, 10, 123. [Google Scholar] [CrossRef]
  3. Li, H.; Zhu, H.; Zheng, L.; Xie, F. Software project scheduling under activity duration uncertainty. Ann. Oper. Res. 2024, 338, 477–512. [Google Scholar] [CrossRef]
  4. Shen, X.; Yao, C.; Song, L.; Xu, J.; Mao, M. Coevolutionary scheduling of dynamic software project considering the new skill learning. Autom. Softw. Eng. 2024, 31, 14. [Google Scholar] [CrossRef]
  5. Xiao, J.; Gao, M.-L.; Huang, M.-M. Empirical study of multi-objective ant colony optimization to software project scheduling problems. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, Madrid, Spain, 11–15 July 2015; pp. 759–766. [Google Scholar]
  6. Xiao, J.; Ao, X.T.; Tang, Y. Solving software project scheduling problems with ant colony optimization. Comput. Oper. Res. 2013, 40, 33–46. [Google Scholar] [CrossRef]
  7. Wu, X.L.; Consoli, P.; Minku, L.; Ochoa, G.; Yao, X. An Evolutionary Hyper-heuristic for the Software Project Scheduling Problem. In Proceedings of the 14th International Conference on Parallel Problem Solving from Nature (PPSN), Edinburgh, UK, 17–21 September 2016; Springer International Publishing Ag: Cham, Switzerland, 2016; Volume 9921, pp. 37–47. [Google Scholar]
  8. Vega-Velázquez, M.A.; García-Nájera, A.; Cervantes, H. A survey on the Software Project Scheduling Problem. Int. J. Prod. Econ. 2018, 202, 145–161. [Google Scholar] [CrossRef]
  9. Li, H.T.; 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]
  10. Wang, L.; Zheng, X.L. 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. Rodríguez, D.; Ruiz, M.; Riquelme, J.C.; Harrison, R. Multiobjective simulation optimisation in software project management. In Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, Dublin, Ireland, 12–16 July 2011; pp. 1883–1890. [Google Scholar]
  12. Akbar, S.; Zubair, M.; Khan, R.; Ul Akbar, U.; Ullah, R.; Zheng, Z.L. Weighted Multi-Skill Resource Constrained Project Scheduling: A Greedy and Parallel Scheduling Approach. IEEE Access 2024, 12, 29824–29836. [Google Scholar] [CrossRef]
  13. García-Nájera, A.; Gómez-Fuentes, M.D. A Multi-objective Genetic Algorithm for the Software Project Scheduling Problem. In Proceedings of the 13th Mexican International Conference on Artificial Intelligence (MICAI), Tuxtla Gutierrez, Mexico, 16–22 November 2014; Springer: Berlin, Germany, 2014; Volume 8857, pp. 13–24. [Google Scholar]
  14. Li, H.; Zhu, H.; Zheng, L.; Liu, Y. Software project scheduling with multitasking. Econ. Comput. Econ. Cybern. Stud. Res. 2023, 57, 153–170. [Google Scholar]
  15. Janiak, A.; Rudek, R. Experience-based approach to scheduling problems with the learning effect. IEEE Trans. Syst. Man Cybern. Paat A-Syst. Hum. 2009, 39, 344–357. [Google Scholar] [CrossRef]
  16. Kuo, W.H.; Yang, D.L. A note on due-date assignment and single-machine scheduling with deteriorating jobs and learning effects. J. Oper. Res. Soc. 2011, 62, 206–210. [Google Scholar] [CrossRef]
  17. Wang, X.Y.; Wang, J.J. Scheduling problems with past-sequence-dependent setup times and general effects of deterioration and learning. Appl. Math. Model. 2013, 37, 4905–4914. [Google Scholar] [CrossRef]
  18. Niu, Y.-P.; Wang, J.; Yin, N. Scheduling problems with effects of deterioration and truncated job-dependent learning. J. Appl. Math. Comput. 2015, 47, 315–325. [Google Scholar] [CrossRef]
  19. Lin, Y.K. Scheduling Identical Jobs on Uniform Parallel Machines Under Position-Based Learning Effects. Arab. J. Sci. Eng. 2014, 39, 6567–6574. [Google Scholar] [CrossRef]
  20. Korytkowski, P.; Malachowski, B. Competence-based estimation of activity duration in IT projects. Eur. J. Oper. Res. 2019, 275, 708–720. [Google Scholar] [CrossRef]
  21. Guo, Y.N.; Ji, J.J.; Ji, J.H.; Gong, D.W.; Cheng, J.; Shen, X.N. Firework-based software project scheduling method considering the learning and forgetting effect. Soft Comput. 2019, 23, 5019–5034. [Google Scholar] [CrossRef]
  22. Shen, X.N.; Minku, L.L.; Marturi, N.; Guo, Y.N.; Han, Y. A Q-learning-based memetic algorithm for multi-objective dynamic software project scheduling. Inf. Sci. 2018, 428, 1–29. [Google Scholar] [CrossRef]
  23. Nigar, N.; Shahzad, M.K.; Islam, S.; Kumar, S.; Jaleel, A. Modeling human resource experience evolution for multiobjective project scheduling in large scale software projects. IEEE Access 2022, 10, 44677–44690. [Google Scholar] [CrossRef]
  24. Kosztyán, Z.T.; Bogdány, E.; Szalkai, I.; Kurbucz, M.T. Impacts of synergies on software project scheduling. Ann. Oper. Res. 2022, 312, 883–908. [Google Scholar] [CrossRef]
  25. Kosztyán, Z.T.; Harta, P.; Szalkai, I. The effect of autonomous team role selection in flexible projects. Comput. Ind. Eng. 2024, 190, 110079. [Google Scholar] [CrossRef]
  26. Zhang, J.; Shen, X.; Yao, C. Evolutionary algorithm for software project scheduling considering team relationships. IEEE Access 2023, 11, 43690–43706. [Google Scholar] [CrossRef]
  27. Cheng, J.; Ji, J.; Guo, Y.-n.; Ji, J. Dynamic multiobjective software project scheduling optimization method based on firework algorithm. Math. Probl. Eng. 2019, 2019, 8405961. [Google Scholar] [CrossRef]
  28. Ishitani, T.T. Exploring the effects of congruence and Holland’s personality codes on job satisfaction: An application of hierarchical linear modeling techniques. J. Vocat. Behav. 2010, 76, 16–24. [Google Scholar] [CrossRef]
  29. Dhani, P.; Sharma, T. Emotional intelligence and personality traits as predictors of job performance of it employees. In Human Performance Technology: Concepts, Methodologies, Tools, and Applications; IGI Global: Hershey, PA, USA, 2019; pp. 1604–1619. [Google Scholar]
  30. Goonawardene, N.; Subashini, S.; Boralessa, N.; Premaratne, L. A Neural Network Based Model for Project Risk and Talent Management. In Proceedings of the 7th International Symposium on Neural Networks, ISNN 2010, Shanghai, China, 6–9 June 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 532–539. [Google Scholar]
  31. Kishore, N.; Pretorius, J.; Chattopadhyay, G. The Roles of Functional Managers and Project Managers in a Matrix Organization. In Proceedings of the 2019 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM), Macao, China, 15–18 December 2019; IEEE: New York, NY, USA, 2019; pp. 784–788. [Google Scholar]
  32. Jones, W.; Gun, P.; Foumani, M. An MVP approach to developing complex hybrid simulation models. In 2022 Winter Simulation Conference (WSC); IEEE: New York, NY, USA, 2022; pp. 1176–1187. [Google Scholar]
  33. Alonso, S.; Kalinowski, M.; Ferreira, B.; Barbosa, S.D.; Lopes, H. A systematic mapping study and practitioner insights on the use of software engineering practices to develop MVPs. Inf. Softw. Technol. 2023, 156, 107144. [Google Scholar] [CrossRef]
  34. Hamid, M.; Nasiri, M.M.; Werner, F.; Sheikhahmadi, F.; Zhalechian, M. Operating room scheduling by considering the decision-making styles of surgical team members: A comprehensive approach. Comput. Oper. Res. 2019, 108, 166–181. [Google Scholar] [CrossRef]
  35. Richter, L.K.; Yano, C.A. A Comparison of Heuristics for Preemptive Resource-Constrained Project Scheduling; Technical Report 86-39; Department of Industrial and Operations Engineering, University of Michigan: Ann Arbor, MI, USA, 1986. [Google Scholar]
  36. Hossein Hashemi Doulabi, S.; Seifi, A.; Shariat, S.Y. Efficient hybrid genetic algorithm for resource leveling via activity splitting. J. Constr. Eng. Manag. 2011, 137, 137–146. [Google Scholar] [CrossRef]
  37. Santos, C.; Gonzalez, T.; Li, H.; Chen, K.-Y.; Beyer, D.; Biligi, S.; Feng, Q.; Kumar, R.; Jain, S.; Ramanujam, R. HP enterprise services uses optimization for resource planning. Interfaces 2013, 43, 152–169. [Google Scholar] [CrossRef]
  38. Demeulemeester, E.; Herroelen, W. Project Scheduling: A Research Handbook; Kluwer Academic Publishers: New York, NY, USA, 2002; pp. 203–206. [Google Scholar]
  39. Heimerl, C.; Kolisch, R. Scheduling and staffing multiple projects with a multi-skilled workforce. OR Spectr. 2010, 32, 343–368. [Google Scholar] [CrossRef]
  40. Demeulemeester, E.; Vanhoucke, M.; Herroelen, W. RanGen: A random network generator for activity-on-the-node networks. J. Sched. 2003, 6, 17–38. [Google Scholar] [CrossRef]
  41. Lemtenneche, S.; Bensayah, A.; Cheriet, A. An Estimation of Distribution Algorithm for Permutation Flow-Shop Scheduling Problem. Systems 2023, 11, 389. [Google Scholar] [CrossRef]
  42. Wang, L.; Fang, C. An effective estimation of distribution algorithm for the multi-mode resource-constrained project scheduling problem. Comput. Oper. Res. 2012, 39, 449–460. [Google Scholar] [CrossRef]
Figure 1. Network of the example project.
Figure 1. Network of the example project.
Systems 12 00407 g001
Figure 2. Unit-time project network diagram example.
Figure 2. Unit-time project network diagram example.
Systems 12 00407 g002
Figure 3. Gantt chart of the example project.
Figure 3. Gantt chart of the example project.
Systems 12 00407 g003
Figure 4. Impact of workload and order strength.
Figure 4. Impact of workload and order strength.
Systems 12 00407 g004
Table 1. The task attributes.
Table 1. The task attributes.
Task IndexTask NameDurationWorkload Demand
Programming ( s 1 )Database Design ( s 2 )Web Design ( s 3 )
0Dummy start task0000
1Web design and implementation30.701.2
2Database design and implementation11.51.60
3System backend design and implementation31.600
4Dummy end task0000
Table 2. The employee attributes.
Table 2. The employee attributes.
Employee IndexMaximum Daily Working TimePerformance SalaryBasic SalarySkill Efficiency η e s Matching Coefficient μ e s
s 1 s 2 s 3 s 1 s 2 s 3
11.230101.500.80.510.1
2130121.50.611.50.51.5
31.230801.51.5011.5
Table 3. Task selection priority rules.
Table 3. Task selection priority rules.
Priority RuleSymbolDefinition
Earliest start time first p A L 3 Max   e s j q
Latest finish time first p A L 4 Max   l s j q
Maximum resource demand first p A L 5 Max   q = 0 d j s S r j q s
Critical path priority p A L 6 Max frequency of j on the critical path
Random rule p A L r Randomly select one rule from the above priority rules
Table 4. Employee assignment priority rules.
Table 4. Employee assignment priority rules.
Priority RuleSymbolDefinition
Maximum adjusted skill efficiency priority rule p R A 1 Max   η s e × μ e s
Maximum initial skill efficiency priority rule p R A 2 Max   η s e
Maximum personality matching coefficient priority rule p R A 3 Max   μ e s
Random rule p R A r Randomly select one rule from the above priority rules
Table 5. Parameter settings for the benchmark dataset.
Table 5. Parameter settings for the benchmark dataset.
ParameterValues
n 10, 20, 30, 60
O S 0.3, 0.7
| S e |2, 4
ρ 0.3, 0.7
μ e s T N 0.5,1.0 ( 0.75,0.25 ) , T N 1.0 , 1.5 ( 1.25,0.25 )
Table 6. Fixed parameter values in the benchmark dataset.
Table 6. Fixed parameter values in the benchmark dataset.
ParameterValues
R 10
S 6
| S j | 4
R e m a x Randomly sampled from the interval [0.8, 1.2]
c e Sampled from the truncated normal distribution T N 8.75,13.75 ( 11.25,2.5 )
c 30
Table 7. Objective function values of the DPRH under different priority rule combinations.
Table 7. Objective function values of the DPRH under different priority rule combinations.
Task Selection RuleEmployee Assignment Priority RuleAverageRank
p R A 1 p R A 2 p R A 3 p R A r
p A L r 2057.58 2104.97 2643.92 2260.49 2266.74 4
p A L 3 2057.39 2104.73 2643.86 2251.97 2264.49 2
p A L 4 2059.22 2106.51 2646.65 2255.72 2267.02 5
p A L 5 2057.48 2104.91 2643.37 2253.09 2264.71 3
p A L 6 2057.73 2104.67 2643.01 2252.33 2264.43 1
Average2057.88 2105.16 2644.16 2254.72 2265.48 -
Rank1 2 4 3- -
Table 8. Comparative results of our DPRH and the EDA.
Table 8. Comparative results of our DPRH and the EDA.
n | S e | ImpCPU Time (s)
DPRHEDA
10214.07%0.08 31.74
419.99%0.09 40.73
20212.40%0.69 367.04
417.35%0.66 380.68
30211.46%2.20 1101.22
416.14%1.86 1020.27
6029.82%16.18 1510.18
415.85%18.00 1510.15
Average14.63%4.97 723.44
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

Li, H.; Hui, Q.; Wang, Y. Preemptive Software Project Scheduling Considering Personality Traits. Systems 2024, 12, 407. https://doi.org/10.3390/systems12100407

AMA Style

Li H, Hui Q, Wang Y. Preemptive Software Project Scheduling Considering Personality Traits. Systems. 2024; 12(10):407. https://doi.org/10.3390/systems12100407

Chicago/Turabian Style

Li, Hongbo, Qianrong Hui, and Yuechen Wang. 2024. "Preemptive Software Project Scheduling Considering Personality Traits" Systems 12, no. 10: 407. https://doi.org/10.3390/systems12100407

APA Style

Li, H., Hui, Q., & Wang, Y. (2024). Preemptive Software Project Scheduling Considering Personality Traits. Systems, 12(10), 407. https://doi.org/10.3390/systems12100407

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