Skip to main content

Advertisement

Log in

Resource leveling in projects with flexible structures

  • Original Research
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

Project resource leveling, which is usually performed in the project planning phase, aims to minimize fluctuations in resource usage such that the project success probability is enhanced. The existing studies on resource leveling mainly assume a fixed project structure, i.e., the activities and precedence relationships are given in advance. However, in real-world projects, the project structure is usually flexible, i.e., not all activities are implemented, and the precedence relationships exist only between the activities that are implemented. Aiming at providing support for project managers to make effective resource leveling decisions when facing flexible project structures, we study the resource leveling problem with flexible structures (RLP-PS). We present a nonlinear integer programming model for the RLP-PS and a linearization method to transform the nonlinear model into a linear model. To efficiently solve the RLP-PS, we devise two problem-specific algorithms: a two-stage heuristic algorithm and a customized genetic algorithm. Based on the PSPLIB benchmark dataset, extensive computational experiments are performed to analyze the performances of our algorithms. The experimental results reveal the effectiveness and competitiveness of our algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  • Ballestín, F., Schwindt, C., & Zimmermann, J. (2007). Resource leveling in make-to-order production: Modeling and heuristic solution method. International Journal of Operations Research, 4(1), 50–62.

    Google Scholar 

  • Bandelloni, M., Tucci, M., & Rinaldi, R. (1994). Optimal resource leveling using non-serial dyanamic programming. European Journal of Operational Research, 78(2), 162–177.

    Article  Google Scholar 

  • Barták, R., Čepek, O., & Hejna, M. (2007). Temporal reasoning in nested temporal networks with alternatives. In International workshop on constraint solving and constraint logic programming (pp. 17–31). Springer, Berlin, Heidelberg.

  • Beck, J. C., & Fox, M. S. (2000). Constraint-directed techniques for scheduling alternative activities. Artificial Intelligence, 121(1–2), 211–250.

    Article  Google Scholar 

  • Belhe, U., & Kusiak, A. (1995). Resource constrained scheduling of hierarchically structured design activity networks. IEEE Transactions on Engineering Management, 42(2), 150–158.

  • Benjaoran, V., Tabyang, W., & Sooksil, N. (2015). Precedence relationship options for the resource levelling problem using a genetic algorithm. Construction Management and Economics, 33(9), 711–723.

    Article  Google Scholar 

  • Bianco, L., & Caramia, M. (2012). An exact algorithm to minimize the makespan in project scheduling with scarce resources and generalized precedence relations. European Journal of Operational Research, 219(1), 73–85.

    Article  Google Scholar 

  • Burgess, A., & Killebrew, J. B. (1962). Variation in activity level on a cyclical arrow diagram. Journal of Industrial Engineering, 13(2), 76–83.

    Google Scholar 

  • Čapek, R., Šůcha, P., & Hanzálek, Z. (2012). Production scheduling with alternative process plans. European Journal of Operational Research, 217(2), 300–311.

    Article  Google Scholar 

  • Caramia, M. (2020). Project management and scheduling. Annals of Operations Research, 285(1), 1–8.

    Article  Google Scholar 

  • Chan, W.-T., Chua, D. K., & Kannan, G. (1996). Construction resource scheduling with genetic algorithms. Journal of Construction Engineering and Management, 122(2), 125–132.

    Article  Google Scholar 

  • Christodoulou, S. E., Ellinas, G., & Michaelidou-Kamenou, A. (2010). Minimum moment method for resource leveling using entropy maximization. Journal of Construction Engineering and Management, 136(5), 518–527.

    Article  Google Scholar 

  • Cooper, D. F. (1976). Heuristics for scheduling resource-constrained projects: An experimental investigation. Management Science, 22(11), 1186–1194.

    Article  Google Scholar 

  • Davari, M., & Demeulemeester, E. (2019). Important classes of reactions for the proactive and reactive resource-constrained project scheduling problem. Annals of Operations Research, 274(1), 187–210.

    Article  Google Scholar 

  • Davis, E. W. (1975). Project network summary measures constrained-resource scheduling. AIIE Transactions, 7(2), 132–142.

    Article  Google Scholar 

  • Demeulemeester, E. L. & Herroelen, W. S. (2002). Project Scheduling: A Research Handbook.

  • El-Rayes, K., & Jun, D. H. (2009). Optimizing resource leveling in construction projects. Journal of Construction Engineering and Management, 135(11), 1172–1180.

    Article  Google Scholar 

  • Gather, T., Zimmermann, J., & Bartels, J.-H. (2011). Exact methods for the resource levelling problem. Journal of Scheduling, 14(6), 557–569.

    Article  Google Scholar 

  • Gillies, D. W., & Liu, J.W.-S. (1995). Scheduling tasks with AND/OR precedence constraints. SIAM Journal on Computing, 24(4), 797–810.

    Article  Google Scholar 

  • Goldberg, D. E., Korb, B., & Deb, K. (1989). Messy genetic algorithms: Motivation, analysis, and first results. Complex Systems, 3(5), 493–530.

    Google Scholar 

  • He, L., & Zhang, L. (2013). Dynamic priority rule-based forward-backward heuristic algorithm for resource levelling problem in construction project. Journal of the Operational Research Society, 64(8), 1106–1117.

    Article  Google Scholar 

  • Kellenbrink, C., & Helber, S. (2015). Scheduling resource-constrained projects with a flexible project structure. European Journal of Operational Research, 246(2), 379–391.

    Article  Google Scholar 

  • Kolisch, R., & Hartmann, S. (2006). Experimental investigation of heuristics for resource-constrained project scheduling: An update. European Journal of Operational Research, 174(1), 23–37.

  • Kolisch, R., & Sprecher, A. (1996). PSPLIB—a project scheduling problem library. European Journal of Operational Research, 96, 205–216.

    Article  Google Scholar 

  • Koulinas, G., & Anagnostopoulos, K. (2013). A new tabu search-based hyper-heuristic algorithm for solving construction leveling problems with limited resource availabilities. Automation in Construction, 31, 169–175.

    Article  Google Scholar 

  • Li, H., Zhang, X., Sun, J., & Dong, X. (2020). Dynamic resource levelling in projects under uncertainty. International Journal of Production Research, 1–21. https://www.tandfonline.com/doi/full/10.1080/00207543.2020.1788737

  • Li, H., & Demeulemeester, E. (2016). A genetic algorithm for the robust resource leveling problem. Journal of Scheduling, 19(1), 43–60.

    Article  Google Scholar 

  • Li, H., Hu, Z., Zhu, H., & Liu, Y. (2021). Preemptive resource leveling in projects. Economic Computation and Economic Cybernetics Studies and Research, 55(4), 51–68.

    Google Scholar 

  • Li, H., Xiong, L., Liu, Y., & Li, H. (2018). An effective genetic algorithm for the resource levelling problem with generalised precedence relations. International Journal of Production Research, 56(5), 2054–2075.

    Article  Google Scholar 

  • Mavrotas, G. (2009). Effective implementation of the ε-constraint method in multi-objective mathematical programming problems. Applied Mathematics and Computation, 213(2), 455–465.

    Article  Google Scholar 

  • Neumann, K., Schwindt, C., & Zimmermann, J. (2012). Project scheduling with time windows and scarce resources: temporal and resource-constrained project scheduling with regular and nonregular objective functions. Springer.

    Google Scholar 

  • Neumann, K., & Zimmermann, J. (1999). Resource levelling for projects with schedule-dependent time windows. European Journal of Operational Research, 117(3), 591–605.

    Article  Google Scholar 

  • Neumann, K., & Zimmermann, J. (2000). Procedures for resource leveling and net present value problems in project scheduling with general temporal and resource constraints. European Journal of Operational Research, 127(2), 425–443.

    Article  Google Scholar 

  • Peng, W., Zhang, J., & Chen, L. (2022). A bi-objective hierarchical program scheduling problem and its solution based on NSGA-III. Annals of Operations Research, 308(1), 389–414.

    Article  Google Scholar 

  • Ponz-Tienda, J. L., Salcedo-Bernal, A., & Pellicer, E. (2017a). A parallel branch and bound algorithm for the resource leveling problem with minimal lags. Computer-Aided Civil and Infrastructure Engineering, 32(6), 474–498.

    Article  Google Scholar 

  • Ponz-Tienda, J. L., Salcedo-Bernal, A., Pellicer, E., & Beniloch-Marco, J. (2017b). Improved adaptive Harmony Search algorithm for the resource leveling problem with minimal lags. Automation in Construction, 77, 82–92.

    Article  Google Scholar 

  • Rieck, J., Zimmermann, J., & Gather, T. (2012). Mixed-integer linear programming for resource leveling problems. European Journal of Operational Research, 221(1), 27–37.

    Article  Google Scholar 

  • Servranckx, T., & Vanhoucke, M. (2019). A tabu search procedure for the resource-constrained project scheduling problem with alternative subgraphs. European Journal of Operational Research, 273(3), 841–860.

    Article  Google Scholar 

  • Son, J., & Skibniewski, M. J. (1999). Multiheuristic approach for resource leveling problem in construction engineering: Hybrid approach. Journal of Construction Engineering and Management, 125(1), 23–31.

    Article  Google Scholar 

  • Tao, S., & Dong, Z. S. (2017). Scheduling resource-constrained project problem with alternative activity chains. Computers & Industrial Engineering, 114, 288–296.

    Article  Google Scholar 

  • Torabi Yeganeh, F., & Zegordi, S. H. (2020). A multi-objective optimization approach to project scheduling with resiliency criteria under uncertain activity duration. Annals of Operations Research, 285(1), 161–196.

    Article  Google Scholar 

  • Vanhoucke, M., & Coelho, J. (2016). An approach using SAT solvers for the RCPSP with logical constraints. European Journal of Operational Research, 249(2), 577–591.

    Article  Google Scholar 

  • Wu, I.-C., Borrmann, A., Beißert, U., König, M., & Rank, E. (2010). Bridge construction schedule generation with pattern-based construction methods and constraint-based simulation. Advanced Engineering Informatics, 24(4), 379–388.

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported by the National Natural Science Foundation of China (Grant Number 71602106) and the Key Soft Science Project of Shanghai Science and Technology Innovation Action Plan (Grant Number 20692192400).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Linwen Zheng.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: Calculation of the lower bounds

Appendix: Calculation of the lower bounds

Lower bound \({\varvec{l}}{{\varvec{b}}}_{{\varvec{i}}}\_{\varvec{M}}\). \(l{b}_{i}\_M\) is the lower bound of the objective function value of instance \(i\) in the most ideal situation. Specifically, for each instance \(i\), we consider only the mandatory activities, then the average usage of resource \(k\) at each time period is \({\overline{u}}_{k}= ({\sum }_{i\in M}{r}_{ik}\times {d}_{i})/\overline{d}\). This corresponds to the most ideal situation in resource leveling. In this case, the objective function value can be used as the lower bound \(l{b}_{i}\_\text{M}={\sum }_{k=1}^{K}{\sum }_{t=1}^{\overline{d}}{({\overline{u}}_{k})}^{2}\).

Lower bound \({\varvec{l}}{{\varvec{b}}}_{{\varvec{i}}}\_{\varvec{L}}{\varvec{a}}{\varvec{g}}{\varvec{r}}\). \(l{b}_{i}\_Lagr\) is obtained by applying Lagrangian relaxation to model M1. Specifically, we first relax M1 by moving its constraint (11) to the objective function (10) and the resulting new objective function is

$$\left\{{\sum }_{k=1}^{K}{c}_{k}\sum_{t=1}^{\overline{d} }\sum_{h=1}^{{H}_{kt}}(2h-1){y}_{kth}-{\sum }_{k=1}^{K}{\sum }_{t=1}^{\overline{d}}{\lambda }_{kt}({\sum }_{i\in N}{r}_{ik}{\sum }_{\tau =\mathrm{max}\left\{{es}_{i},t-{d}_{i}+1\right\}}^{\mathrm{min}\left\{t,{ls}_{i}\right\}}{x}_{i\tau }-{\sum }_{h=1}^{{H}_{kt}}{y}_{kth})\right\}$$
(19)

where the multiplier \({\lambda }_{kt}\ge 0\), \(k=1,\dots ,K, t=1,\dots ,\overline{d }\). We further rewrite (A1) as:

$$\left\{{\sum }_{k=1}^{K}\sum_{t=1}^{\overline{d} }\sum_{h=1}^{{H}_{kt}}\left[{c}_{k}\left(2h-1\right)-{\lambda }_{kt}\right]{y}_{kth}-{\sum }_{k=1}^{K}{\sum }_{t=1}^{\overline{d}}{\sum }_{i\in N}{\sum }_{\tau =\mathrm{max}\left\{{es}_{i},t-{d}_{i}+1\right\}}^{\mathrm{min}\left\{t,{ls}_{i}\right\}}{\lambda }_{kt}{r}_{ik}{x}_{i\tau }\right\}$$
(20)

Now we obtain the relaxed model LR(\(\lambda \)):

Minimize (20).

Subject to: (2)-(6), (8), (12).

Then \(l{b}_{i}\_Lagr\) is obtained by solving the Lagrangian dual of LR(\(\lambda \)) using the subgradient method (Bianco & Caramia, 2012). In each iteration, the Lagrangian multipliers are updated according to the following steps:

  1. (a)

    The subgradient values for each relaxed constraint related to resource \(k\) and time period \(t\) is determined as \({SG}_{kt}={\sum }_{i\in N}{r}_{ik}{\sum }_{\tau =\mathrm{max}\left\{{es}_{i},t-{d}_{i}+1\right\}}^{\mathrm{min}\left\{t,{ls}_{i}\right\}}{x}_{i\tau }-{\sum }_{h=1}^{{H}_{kt}}{y}_{kth}\).

  2. (b)

    The step \(ST=\beta ({Z}_{UB}-{Z}_{LB}^{*})/{\sum }_{k=1}^{K}\sum_{t=1}^{\overline{d}}S{G }_{kt}^{2}\), where the upper bound \({Z}_{UB}\) is obtained by using the GA to solve the same instance,\({Z}_{LB}^{*}\) is the current best lower bound that is obtained by solving LR(λ) with CPLEX, and \(\beta \) is a scaling factor with an initial value of 2. If \({Z}_{LB}^{*}\) is not improved after five consecutive iterations, the value of \(\beta \) is reduced to half of its current value.

  3. (c)

    The Lagrange multiplier \({\lambda }_{kt}=\mathrm{max}(0, {\lambda }_{kt}+ST\bullet {SG}_{kt})\).

    The Lagrangian relaxation algorithm stops when any of the following conditions are met: 300 iterations, or 1800s, or \(\beta <0.0001\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Li, H., Zheng, L. & Zhu, H. Resource leveling in projects with flexible structures. Ann Oper Res 321, 311–342 (2023). https://doi.org/10.1007/s10479-022-04797-y

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-022-04797-y

Keywords

Navigation