Research Article  Open Access
Qingyou Yan, Qian Zhang, Xin Zou, "A Cost Optimization Model for Multiresource Leveling Problem without Project Duration Constraint", Discrete Dynamics in Nature and Society, vol. 2016, Article ID 1514959, 8 pages, 2016. https://doi.org/10.1155/2016/1514959
A Cost Optimization Model for Multiresource Leveling Problem without Project Duration Constraint
Abstract
The study of traditional resource leveling problem aims at minimizing the resource usage fluctuations and obtaining sustainable resource supplement, which is accomplished by adjusting noncritical activities within their start and finish time. However, there exist limitations in terms of the traditional resource leveling problem based on the fixed project duration. This paper assumes that the duration can be changed in a certain range and then analyzes the relationship between the scarce resource usage fluctuations and project cost. This paper proposes an optimization model for the multiresource leveling problem. We take into consideration five kinds of cost: the extra hire cost when the resource demand is greater than the resource available amount, the idle cost of resource when the resource available amount is greater than the resource demand, the indirect cost related to the duration, the liquidated damages when the project duration is extended, and the incentive fee when the project duration is reduced. The optimal objective of this model is to minimize the sum of the aforementioned five kinds of cost. Finally, a case study is examined to highlight the characteristic of the proposed model at the end of this paper.
1. Introduction
One of the important reasons for evaluating the effectiveness of the feasible scheduling scheme is the judgment of the resource reasonable utilization. Resource reasonable utilization not only plays a major role in the sustainability of the earth but also must be sustained in order to afford all the people access to the economic and social opportunities necessary for meaningful life. Resource management is an intrinsic element of project management [1], and it can be defined as a discrete dynamic problem. Resource management can ensure that the project is completed on time and that the cost and quality are as previously defined [2]. However, because resources are scarce, the use of resources in the activities of the project leads to conflicts in the schedule [3]. Therefore, the resource management has been widely studied by researchers and applied by practitioners. Generally, there are two models for resource management and scheduling: one is resource leveling, and the other is resource allocation. The resource allocation problem is focused on the project scheduling problem with the resource constraint, and it aims at minimizing the total duration. The resource leveling problem strives to counterbalance the resource utilization throughout the whole project life cycle with fixed project duration and unlimited resource condition [4, 5]. According to the resource types, resource leveling problem can be divided into single resource and multiresource leveling problem [6], and this paper belongs to the latter.
Most existing optimization models for the resource leveling problem assume that the project duration is fixed. To achieve a smooth distribution of resource, the critical activities remain unchanged, and, meanwhile, noncritical activities are adjusted within their start and finish time. However, this assumption, in a manner, limited the optimization results of resource leveling. In particular, when most of the activities in the network are critical activities, the resource leveling can only rely on a few noncritical activities and the optimization effect is not obvious [7, 8].
There is no doubt that there are one or more kinds of rare resources in some projects. This kind of resource determines the project scheduling, and it also influences the decisionmakers’ strategies for the resource utilization. Moreover, there are no appropriate substitutes for these critical resources in the external market. Generally, this kind of resource is called scarce resourcein this paper.
On one hand, the available amount of scarce resource is greater than its demand, which is defined as resourceunderloading. If this kind of resource belongs to scarce resource, we should keep the amount of surplus scarce resources, because it is difficult to temporarily reemploy scarce resource (e.g., professional technicians and the core equipment) during the project construction, and the high extra hiring cost (including the cost of redrafting the employment contract and the resource transportation) also needs to be charged. Therefore, when it is resourceunderloading, the decisionmaker will decide whether to continue keeping the amount of surplus scarce resources based on the original construction schedule. If the answer is affirmative, these scarce resources will be idle with a relatively low idle cost.
On the other hand, the available amount of scarce resource is less than its demand, which is defined as resourceoverloading, and the decisionmakers need to hire additional resources from the external market immediately to avoid the impact on the project scheduling. The scarcer resource will have higher hire cost. The feasible scheduling with the unreasonable resource distribution always leads to large resource usage fluctuations among the different time periods and the high cost for the extra hiring and resource idle cost. Thus, the total return of the project is affected. In this paper, the extra hiring cost and the idle cost are considered as the standards for ensuring resource leveling problem. Furthermore, for practical application, this paper also incorporates the indirect cost which is related to the duration, the liquidated damages when the duration is extended, and the incentive fee when the duration is reduced in a cost optimization model.
The balance of this paper is organized as follows. Section 2 describes the current researches about the models and algorithms of the resource leveling problem. Section 3 proposes a cost optimization model for solving the multiresource leveling problem with consideration of alterable project duration. Section 4 provides a case study to illustrate the proposed model and discusses the results. Section 5 concludes the paper.
2. Literature Review
There are several mathematical methods proposed to optimize the resource leveling problem. The optimization models of the resource leveling problem that existed are either based on exact optimization methods, such as numeration, integer programming, dynamic programming, and branchandbound method, or based on heuristic procedures with dissimilar priority rule. Ahjua [9] firstly proposed an explicit numeration method to level construction resources. Similar contributions were made by Easa [10] which was based on integer programming, Bandelloni et al. [11] which was based on dynamic programming, and Neumann and Zimmermann [12] which was based on branchandbound approach. Rodrigues and Yamashita [13] suggested an exact algorithm which is an improvement of the procedure of Demeulemeester [14]. Drexl and Kimms [15] presented lower bound methods for the resource availability cost problem using Lagrangian relaxation and column generation methods. Rieck et al. [16] presented new mixedinteger linear model formulations and domainreducing preprocessing techniques and used CPLEX 12.1 to solve mediumscale instances. However, exact methods have difficulty in dealing with largescale project. Yin et al. provided a dynamic programming algorithm to solve the resource utilization problem [17].
Burgess and Killebrew [18] proposed the earliest heuristic procedure by readjusting the starting time of each operation until the variability in activity level has been reduced to a near optimum. Harris [19] presented the most commonly heuristic method which was referred to as Minimum Moment Method. This method assumes that resource consumption is constant and once an activity is started, it cannot be interrupted. Martinez and Ioannou [20] proposed the Modified Minimum Moment Method to level resources in construction projects. Jeetendra et al. [21] proposed the Petri nets and a matrix to solve the resource leveling problem. Leu et al. [22] developed a decision support system for construction resource leveling based on GA. Hossein Hashemi Doulabi et al. [23] presented a GAbased cost optimization model for largescale resource leveling problem. To enhance the genetic algorithm (GA), it was equipped with a local search heuristic and a repair mechanism. Leu and Hung [24] analyzed a resource leveling problem under uncertainty of activity duration using Monte Carlo simulation. Two new criteria were presented by ElRayes and Jun [8] to evaluate the negative impact of resource fluctuations on construction productivity. PonzTienda et al. [25] presented an adaptive genetic algorithm for the resource leveling problem, and the extension of the project deadline with a penalty is allowed, avoiding the increase of the project criticality. Koulinas and Anagnostopoulos [26] presented a tabu searchbased hyperheuristic algorithm for solving construction resource leveling problem under resource constraints with the prescribed maximum project duration to be equal to or higher than the initial duration. The above models take full advantage of their high efficiency for solving largescale problems, but these models cannot guarantee the optimality. Additionally, minimizing the resource fluctuations is the main criterion used in these models.
With regard to the linear resource problem, Mattila and Abraham [27] first used integer programming to level linear schedules by minimizing the deviation between actual resource usage and the desirable or uniform resource usage. Activities in the programming model are allowed for interruption. The model in Georgy [7] has the same optimization objective as Mattila and Abraham [27], and then GA for linear projects was developed with the activities in linear projects which was needed to satisfy the demand for work continuity and resource consistency. Tran et al. [28] introduced a novel optimization model called the Fuzzy Clustering ChaoticBased Different Evolution for solving multiple resources leveling in the multiple project scheduling problem. Recently, a metaheuristic approach has been intensively studied to solve nonlinear resource leveling problem [29–31]. Alsayegh and Hariga [32] proposed hybrid metaheuristic methods which combine particle swarm optimization and simulated annealing search procedures to generate nearoptimal project schedules in less computational time than exact optimization procedure. Premature convergence and poor exploitation are the main obstacles for this method. Geng et al. [33] introduced an improved ant colony optimization algorithm for solving nonlinear resource leveling problems.
Many studies about the optimization strategy consider resource leveling and allocation simultaneously [16, 34–37]. These models introduced various criteria to search for optimal schedules, in which the resource leveling and the minimum of project duration must be taken into consideration. Additionally, some realistic constraints, such as precedence relation, resource availability, and the project duration also should be considered in the model. However, all the aforementioned methods have the same assumption that the project duration is nonfixed.
In summary, existing literatures about the resource leveling problem are mainly concentrated on improving the resource usage profile, optimizing costs under the nonlimited project duration, and minimizing the resource fluctuations and project duration simultaneously. However, few papers systemically analyzed and described the relations between reasonable expenditure and the desirable resource usage profile under the unfixed project duration, where the expenses consist of extra hire costs, idle resources costs, indirect costs, early completion incentives, and late completion penalties. In practical construction projects, the most direct significance results from the undesirable resource usage profile which is an increase of expenses. Therefore, a systemic cost optimization model which is used to optimize the resource fluctuations under the alterable project duration should be created. This improved cost model is also the main contribution of this paper.
The model is formulated under the following assumptions:(1)The project duration can be alterable in a certain time period.(2)The initial available amount of the resources equals the resource demand in the preliminary stage, and the required resources are scarce resources.(3)When the available amount of resources is less than the resource demand, the decisionmakers should pay higher money to get more resources.(4)When the available amount of resource is greater than the resource demand, the resource usage strategies should be adjusted based on some additional scheduling, such as continuing employment strategy, partial dismissal strategy, and complete dismissal strategy. If the continuing employment strategy is selected, the decisionmakers should pay relatively lower resource idle cost. The choice for these strategies is shown in Section 3.(5)When the project duration is reduced, the contractor will be rewarded. On the contrary, when the project duration is extended, the contractor must pay a certain amount of compensation cost.
3. The Cost Optimization Model
Considering a construction project with activities, each activity has a fixed duration , where . The required resources set is , and denotes the demand for resource for operating activity . represents that activity is the succeeding activity of activity . For each activity , the earliest start time is , the latest finish time is , and the shortest project duration is calculated based on forward pass calculation in the critical path method (CPM) network [38]. Assuming the project duration can be changed in the time interval , let , and then all the latest finish time is obtained through the backward pass calculation [38]. The latest start time can be calculated by , and is the duration of activity . Therefore, for each activity , start time belongs to the set when the project duration can be changed in the interval . In order to build the model, the decision variable will be presented, and it can be expressed as follows: is the demand for resource at time . It can be written as
3.1. Resource Available Amount
The amount of available resource at time can be defined as the amount of resource that the project can control. We assume that the available amount of resource equals the demand for resource at time . When the demand for the resource is greater than its available amount at time , the decisionmakers have to pay extra employment cost and hire more resources from the external market to ensure the construction process operates as normal. When the demand for the resource is less than its available amount at time , the decisionmakers should select the strategies of resource based on the scheduling. The specific strategies are shown as follows: () if , then we will use the continuing employment strategy; () if , partial dismissal strategy may be a good choice, and the maximum dismissal resource is ; () if the resource is no longer required after the time , the complete dismissal strategy will be adopted, and the amount of dismissal resource is . Thus, the available amount of resource at time can be written as
3.2. The Extra Employment Cost
When the demand for resource is greater than its available amount at time , the extra employment cost will be incurred. represents the hire cost rate of resource . represents the extra hire cost of resource at time , and it can be calculated as follows:
3.3. The Resource Idle Cost
When the demand for resource is less than its available amount at time , the resource idle cost is incurred. represents the idle cost rate of resource . represents the idle cost of resource at time , and it can be formulated as
Figure 1 shows a project, and its duration is 15 days. We assume that the hire cost rate and the idle resource cost equal 1. The demand for resource at time is shown in Figure 1. According to (3), we can get . For (4), the decisionmakers should pay extra hire cost at time 3 which is the peak of the resource distribution as shown in Figure 1. According to (5), the decisionmakers must pay the resource idle cost at times 4, 5, 6, 11, 12, and 13 which are the valley of the resource distribution. Therefore, minimizing the extra hire cost and resource idle cost can achieve the purpose of resource leveling.
3.4. The Indirect Cost, Liquidated Damages, and Incentive Fee
To make the model more flexible and closer to the actual project, the indirect cost, the liquidated damages, and the incentive fee are considered in this paper. Let = indirect cost, = daily liquidated damages, and = daily early completion incentives. These costs can be calculated as follows:where represents agreed duration.
3.5. The Objective Function
The sum of the extra hire cost, idle resource cost, indirect cost, liquidated damages, and the incentive fee can be written as
In this paper, the objective function of the optimization model is to minimize . According to (1)–(7), the cost optimization model for the multiresource leveling problem with the variable duration (MRLPCOM) can be described as follows:
MRLPCOM
This model contains 01 variables and constraints, and = the amount of immediate successor activities of activity . is decided by the decisionmaker, which is greater than . When , the model will become the multiresource leveling problem with the fixed duration. MRLPCOM is attributed to integer nonlinear programming model, which can be solved by LINGO.
4. Case Study
A project from Hariga and ElSayegh [39], which is designed such that the duration can vary from 17 days to 20 days, will be used as the case study in this part. The data about the situation of this project is shown in Table 1 and the initial scheduling of this project is shown in Figure 2. Table 1 shows that this project needs three kinds of resource, R1, R2, and R3. The extra hire costs of R1, R2, and R3 are $20, $10, and $5, respectively, the idle costs of R1, R2, and R3 are $10, $5, and $3, respectively, the project indirect cost is $5, the liquidated damages is $30, and incentive cost is $20.

Figure 2 shows that the project duration is 15 days and the total cost is $425 in the initial scheduling. The demand for R1 reaches a peak of 11 units at time 5 and drops to two valleys of 1 unit at times 9 and 10. And the results of resource leveling are shown in Figure 3.
In Figure 3, the project duration is still 15 days, but the total cost is reduced to $186. From Figures 2 and 3, we can find that the reduced cost results from the cost reduction of extra hire cost and idle cost for R1. For R1, the extra hire cost is $60, and the reduction of idle resource cost is $120. The cost of R2 and R3 also declines in this resource leveling. The effect of this optimization model is obvious.
5. Conclusion
In this paper, we have proposed a cost optimization model for the multiresource leveling problem without project duration constraint, considering the assumption that all the resources are scarce resources. When the available amount of resources is less than their demand in some time periods, the decisionmaker must employ additional resources from the external market to ensure the project scheduling. However, it may cause severe extra hire cost. When the resource available amount is higher than its demand in some periods, we proposed three strategies to deal with this situation: continuing employment and partial dismissal and complete dismissal strategy. If the continuing employment strategy is selected, the project should pay some idle resource cost. Minimizing the extra hire cost and idle resource cost can achieve the purpose of resource leveling.
In addition, the optimization model also considers the indirect cost and liquidated damages when the duration is put off and the incentive fee when the duration is reduced. These costs make the model closer to the actual project, and the objective function of the optimization model is to make the summation of all the above costs minimum in this paper. At the end of this paper, a project from the pertinent literature has been demonstrated.
However, this model assumes that all the activities are only the execution mode and the decision variable is the start time of each activity. So, it is necessary to extend the model into multimode model which will be covered by our followup work.
Competing Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This research is supported by the China Scholarship Council, project of the productionstudybuilding for joint training of graduated students in Beijing and fundamental research funds for the central universities (2016XS77, 2015XS46).
References
 J. R. Turner, “Towards a theory of project management: the nature of the project,” International Journal of Project Management, vol. 24, no. 1, pp. 1–3, 2006. View at: Publisher Site  Google Scholar
 J. R. Turner, “Towards a theory of project management: the functions of project management,” International Journal of Project Management, vol. 24, no. 3, pp. 187–189, 2006. View at: Publisher Site  Google Scholar
 S. AlJibouri, “Effects of resource management regimes on project schedule,” International Journal of Project Management, vol. 20, no. 4, pp. 271–277, 2002. View at: Publisher Site  Google Scholar
 J. J. O'Brien and F. L. Plotnick, CPM in Construction Management, McGrawHill Education, New York, NY, USA, 7th edition, 2009.
 M. R. Nosbisch and R. M. Winter, “Managing resource leveling,” Cost Engineering Journal, vol. 48, no. 7, pp. 24–34, 2006. View at: Google Scholar
 J. L. PonzTienda, V. Yepes, E. Pellicer, and J. MorenoFlores, “The resource leveling problem with multiple resources using an adaptive genetic algorithm,” Automation in Construction, vol. 29, pp. 161–172, 2013. View at: Publisher Site  Google Scholar
 M. E. Georgy, “Evolutionary resource scheduler for linear projects,” Automation in Construction, vol. 17, no. 5, pp. 573–583, 2008. View at: Publisher Site  Google Scholar
 K. ElRayes and D. H. Jun, “Optimizing resource leveling in construction projects,” Journal of Construction Engineering and Management, vol. 135, no. 11, pp. 1172–1180, 2009. View at: Publisher Site  Google Scholar
 H. N. Ahjua, Construction Performance Control by Networks, John Wiley & Sons, New York, NY, USA, 1976.
 S. M. Easa, “Resource leveling in construction by optimization,” Journal of Construction Engineering and Management, vol. 115, no. 2, pp. 302–316, 1989. View at: Publisher Site  Google Scholar
 M. Bandelloni, M. Tucci, and R. Rinaldi, “Optimal resource leveling using nonserial dyanamic programming,” European Journal of Operational Research, vol. 78, no. 2, pp. 162–177, 1994. View at: Publisher Site  Google Scholar
 K. Neumann and J. Zimmermann, “Procedures for resource leveling and net present value problems in project scheduling with general temporal and resource constraints,” European Journal of Operational Research, vol. 127, no. 2, pp. 425–443, 2000. View at: Publisher Site  Google Scholar
 S. B. Rodrigues and D. S. Yamashita, “An exact algorithm for minimizing resource availability costs in project scheduling,” European Journal of Operational Research, vol. 206, no. 3, pp. 562–568, 2010. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 E. Demeulemeester, “Minimizing resource availability costs in timelimited project networks,” Management Science, vol. 41, no. 10, pp. 1590–1598, 1995. View at: Publisher Site  Google Scholar
 A. Drexl and A. Kimms, “Optimization guided lower and upper bounds for the resource investment problem,” Journal of the Operational Research Society, vol. 52, no. 3, pp. 340–351, 2001. View at: Publisher Site  Google Scholar
 J. Rieck, J. Zimmermann, and T. Gather, “Mixedinteger linear programming for resource leveling problems,” European Journal of Operational Research, vol. 221, no. 1, pp. 27–37, 2012. View at: Publisher Site  Google Scholar  MathSciNet
 Y. Yin, T. C. E. Cheng, C.C. Wu, and S.R. Cheng, “Singlemachine common duedate scheduling with batch delivery costs and resourcedependent processing times,” International Journal of Production Research, vol. 51, no. 17, pp. 5083–5099, 2013. View at: Publisher Site  Google Scholar
 A. B. Burgess and J. B. Killebrew, “Variation in activity level on a cyclic arrow diagram,” Journal of Industrial Engineering, vol. 13, no. 2, pp. 76–83, 1962. View at: Google Scholar
 R. B. Harris, Precedence and Arrow Networking Techniques for Construction, John Wiley & Sons, New York, NY, USA, 1978.
 J. Martinez and P. Ioannou, “Resource leveling based on the modified minimum moment heuristic,” in Proceedings of the 5th International Conference on Computing in Civil and Building Engineering, pp. 287–294, Anaheim, Calif, USA, June 1993. View at: Google Scholar
 V. A. Jeetendra, O. V. Krishnaiah Chetty, and J. P. Reddy, “Petri nets for project management and resource levelling,” International Journal of Advanced Manufacturing Technology, vol. 16, no. 7, pp. 516–520, 2000. View at: Publisher Site  Google Scholar
 S.S. Leu, C.H. Yang, and J.C. Huang, “Resource leveling in construction by genetic algorithmbased optimization and its decision support system application,” Automation in Construction, vol. 10, no. 1, pp. 27–41, 2000. View at: Publisher Site  Google Scholar
 S. Hossein Hashemi Doulabi, A. Seifi, and S. Y. Shariat, “Efficient hybrid genetic algorithm for resource leveling via activity splitting,” Journal of Construction Engineering and Management, vol. 137, no. 2, pp. 137–146, 2011. View at: Publisher Site  Google Scholar
 S.S. Leu and T.H. Hung, “An optimal construction resource leveling scheduling simulation model,” Canadian Journal of Civil Engineering, vol. 29, no. 2, pp. 267–275, 2002. View at: Publisher Site  Google Scholar
 J. L. PonzTienda, V. Yepes, E. Pellicer, and J. MorenoFlores, “The Resource Leveling Problem with multiple resources using an adaptive genetic algorithm,” Automation in Construction, vol. 29, pp. 161–172, 2013. View at: Publisher Site  Google Scholar
 G. K. Koulinas and K. P. Anagnostopoulos, “A new tabu searchbased hyperheuristic algorithm for solving construction leveling problems with limited resource availabilities,” Automation in Construction, vol. 31, pp. 169–175, 2013. View at: Publisher Site  Google Scholar
 K. G. Mattila and D. M. Abraham, “Resource leveling of linear schedules using integer linear programming,” Journal of Construction Engineering and Management, vol. 124, no. 3, pp. 232–244, 1998. View at: Publisher Site  Google Scholar
 D. H. Tran, M. Y. Cheng, and A. D. Pham, “Using Fuzzy Clustering Chaoticbased Differential Evolution to solve multiple resources leveling in the multiple projects scheduling problem,” Alexandria Engineering Journal, vol. 55, no. 2, pp. 1541–1552, 2016. View at: Publisher Site  Google Scholar
 M. Dorigo and L. M. Gambardella, “Ant colony system: a cooperative learning approach to the traveling salesman problem,” IEEE Transactions on Evolutionary Computation, vol. 1, no. 1, pp. 53–66, 1997. View at: Publisher Site  Google Scholar
 D. Merkle, M. Middendorf, and H. Schmeck, “Ant colony optimization for resourceconstrained project scheduling,” IEEE Transactions on Evolutionary Computation, vol. 6, no. 4, pp. 333–346, 2002. View at: Publisher Site  Google Scholar
 W. Chen, Y.J. Shi, H.F. Teng, X.P. Lan, and L.C. Hu, “An efficient hybrid algorithm for resourceconstrained project scheduling,” Information Sciences, vol. 180, no. 6, pp. 1031–1039, 2010. View at: Publisher Site  Google Scholar
 H. Alsayegh and M. Hariga, “Hybrid metaheuristic methods for the multiresource leveling problem with activity splitting,” Automation in Construction, vol. 27, pp. 89–98, 2012. View at: Publisher Site  Google Scholar
 J.Q. Geng, L.P. Weng, and S.H. Liu, “An improved ant colony optimization algorithm for nonlinear resourceleveling problems,” Computers and Mathematics with Applications, vol. 61, no. 8, pp. 2300–2305, 2011. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 P. Ghoddousi, E. Eshtehardian, S. Jooybanpour, and A. Javanmardi, “Multimode resourceconstrained discrete timecostresource optimization in project scheduling using nondominated sorting genetic algorithm,” Automation in Construction, vol. 30, pp. 216–227, 2013. View at: Publisher Site  Google Scholar
 J. Roca, E. Pugnaghi, and G. Libert, “Solving an extended resource leveling problem with multiobjetive evolutionary algorithms,” International Journal of Computational Intelligence, vol. 4, no. 4, pp. 289–300, 2008. View at: Google Scholar
 Q. Wang and J.X. Qi, “Research on resource leveling problem under resource constrained condition,” in Proceedings of the 8th International Conference on Machine Learning and Cybernetics, pp. 901–906, Baoding, China, July 2009. View at: Publisher Site  Google Scholar
 D. H. Jun and K. ElRayes, “Multiobjective optimization of resource leveling and allocation during construction scheduling,” Journal of Construction Engineering and Management, vol. 137, no. 12, pp. 1080–1088, 2011. View at: Publisher Site  Google Scholar
 M. Lu and S. M. AbouRizk, “Simplified CPM/PERT simulation model,” Journal of Construction Engineering and Management, vol. 126, no. 3, pp. 219–226, 2000. View at: Publisher Site  Google Scholar
 M. Hariga and S. M. ElSayegh, “Cost optimization model for the multiresource leveling problem with allowed activity splitting,” Journal of Construction Engineering and Management, vol. 137, no. 1, pp. 56–64, 2011. View at: Publisher Site  Google Scholar
Copyright
Copyright © 2016 Qingyou Yan et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.