Skip to main content
Log in

Time symmetry of resource constrained project scheduling with general temporal constraints and take-give resources

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

A Correction to this article was published on 21 November 2017

This article has been updated

Abstract

The paper studies a lacquer production scheduling problem formulated as a resource constrained project scheduling problem with general temporal constraints (i.e., positive and negative time-lags). This real-world scheduling problem requires so-called take-give resources that are needed from the beginning of an activity to the completion of another activity of the production process. Furthermore, we consider sequence dependent changeover times on take-give resources. We formulate this problem by mixed integer linear programming and we suggest a parallel heuristic to solve the problem. This heuristic exploits a time symmetry mapping which allows an easy construction of a schedule in the backward time orientation. In the second part of the paper, it is proven that the time symmetry mapping is bijective and involutive even for the problem with general temporal constraints, changeover times, and take-give resources. The motivation to use this mapping is to improve the performance of the heuristic and to simplify its implementation. Finally, the performance of the heuristic algorithm is evaluated on a set of lacquer production benchmarks requiring take-give resources and on standard benchmarks for the resource constrained project scheduling problem with general temporal constraints where we found new better solutions in 16 and 12 instances out of 90 for UBO500 and UBO1000 respectively.

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.

Institutional subscriptions

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

Similar content being viewed by others

Change history

  • 21 November 2017

    Due to some technical issues with article HTML, Algorithm 1 appeared twice and there was no ILP formulation.

Notes

  1. The inequality holds for both the immediate and non-immediate precedence, due to the satisfaction of the triangular inequality, i.e., \(o_{{ ij}} \le o_{il} + o_{lj} \ \forall (i,l,j)\, \in \mathcal {V}^3\).

  2. Available at https://www.wiwi.tu-clausthal.de/en/chairs/produktion/research/research-areas/project-generator/rcpspmax/.

Abbreviations

\(a_{{ ilk}}\) :

Binary constant indicating the requirement of take-give resource k for occupation i i.e., \(a_{{ ilk}}=1\) iff take-give resource k is taken at \(s_i\) and given (released) at \(C_l\)

b :

Number of take-give resources

\(C_i\) :

Completion time of activity i

\(C_{{ max}}\) :

Schedule makespan

\(d_{{ ij}}\) :

Length of the longest path from node i to node j

G :

Graph

ijlh :

Activity indices

I :

Instance, given by the input parameters of the scheduling problem

k :

Resource index

m :

Number of resources

n :

Number of activities

\(o_{{ ij}}\) :

Changeover time (sequence dependent set-up time) from activity i to activity j

\(\tilde{o}_{{ ij}}\) :

Changeover time (sequence dependent set-up time) from occupation i to occupation j

\(p_i\) :

Processing time of activity i

\(\tilde{p}_i\) :

Processing time of occupation i i.e., \(\tilde{p}_{i}=C_l - s_i\) iff exists take-give resource k taken at \(s_i\) and given at \(C_l\)

\(Q_k\) :

Capacity of take-give resource k in number of units

\(r_{{ ik}}\) :

Requirement of resource k for activity i

\(R_k\) :

Capacity of resource k in number of units

S :

Schedule, given by variables sz

\(s_i\) :

Start time of activity i

\({ UB}\) :

Upper bound on schedule makespan

v :

Unit index

\(x_{{ ij}}\) :

Binary variable indicating whether activity i precedes activity j on one resource unit

\(\tilde{x}_{{ ij}}\) :

Binary variable indicating whether occupation i precedes occupation j on one take-give resource unit

\(y_{{ ij}}\) :

Binary variable indicating whether activity i and activity j must be assigned to different units of common resources i.e. if \(y_{{ ij}}=1\) then \(\forall k \in \left\{ 1,\ldots ,m\right\} , \forall v \in \left\{ 1,\ldots ,R_k\right\} ; z_{{ ivk}} \cdot z_{jvk} \ne 1 \)

\(\tilde{y}_{{ ij}}\) :

Binary variable indicating whether occupation i and occupation j must be assigned to different units of common take-give resource i.e., if \(\tilde{y}_{{ ij}}=1\) then \(\forall k \in \left\{ 1,\ldots ,b\right\} , \forall v \in \left\{ 1,\ldots ,Q_k\right\} ; \tilde{z}_{{ ivk}} \cdot \tilde{z}_{jvk} \ne 1 \)

\(z_{{ ivk}}\) :

assignment binary variable i.e., \(z_{{ ivk}}=1\) iff activity i is assigned to unit v of resource k

\(\tilde{z}_{{ ivk}}\) :

Take-give assignment binary variable i.e., \(\tilde{z}_{{ ivk}}=1\) iff occupation i is assigned to unit v of take-give resource k

\(\delta _{{ ij}}\) :

Length of edge \(e_{{ ij}}\)

\(\mathcal {E}\) :

Set of edges \(e_{{ ij}}\)

\(\mathcal {M}\) :

Set of resource conflicts between two activities i.e., unordered couple \(\left\{ i,j\right\} \in \mathcal {M}\) iff \(\exists k \in \left\{ 1,\ldots ,m \right\} ; r_{{ ik}} \cdot r_{jk} \ge 1\) and \(R_k < \infty \) and \((~d_{{ ij}} < (p_i + o_{{ ij}})\) and \(~d_{ji} < (p_j + o_{ji}))\)

\(\mathcal {Q}\) :

Set of take-give resources

\(\mathcal {R}\) :

Set of resources

\(\mathcal {S}\) :

Set of feasible schedules

\(\mathcal {V}\) :

Set of activities

References

  • Artigues, C., & Briand, C. (2009). The resource-constrained activity insertion problem with minimum and maximum time lags. Journal of Scheduling, 12(5), 447–460.

    Article  Google Scholar 

  • Ballestín, F., Barrios, A., & Valls, V. (2011). An evolutionary algorithm for the resource-constrained project scheduling problem with minimum and maximum time lags. Journal of Scheduling, 14(4), 391–406.

    Article  Google Scholar 

  • Bartels, J. H., Gather, T., & Zimmermann, J. (2011). Dismantling of nuclear power plants at optimal NPV. Annals of Operations Research, 186(1), 407–427.

    Article  Google Scholar 

  • Behrmann, G., Brinksma, E., Hendriks, M., Mader, A. (2005). Production scheduling by reachability analysis - a case study. In: Workshop on parallel and distributed real-time systems, p. 140. IEEE Computer Society Press.

  • Brucker, P., Hilbig, T., & Hurink, J. (1999). A branch and bound algorithm for a single-machine scheduling problem with positive and negative time-lags. Discrete Applied Mathematics, 94(1–3), 77–99.

    Article  Google Scholar 

  • Brucker, P., & Kampmeyer, T. (2008). Cyclic job shop scheduling problems with blocking. Annals of Operations Research, 159(1), 161–181.

    Article  Google Scholar 

  • Bukata, L., Sucha, P., & Hanzalek, Z. (2015). Solving the resource constrained project scheduling problem using the parallel tabu search designed for the CUDA platform. Journal of Parallel and Distributed Computing, 77, 58–68.

    Article  Google Scholar 

  • Cesta, A., Oddi, A., & Smith, S. F. (2002). A constraint-based method for project scheduling with time windows. Journal of Heuristics, 8(1), 109–136.

    Article  Google Scholar 

  • Demeulemeester, E.L., Herroelen, W. (2002). Project scheduling: A research handbook. Kluwer

  • El Hachemi, N., El Hallaoui, I., Gendreau, M., & Rousseau, L. M. (2015). Flow-based integer linear programs to solve the weekly log-truck scheduling problem. Annals of Operations Research, 232(1), 87–97.

    Google Scholar 

  • Franck, B., Neumann, K., & Schwindt, C. (2001). Truncated branch-and-bound, schedule-construction, and schedule-improvement procedures for resource-constrained project scheduling. OR Spektrum, 23(3), 297–324.

    Article  Google Scholar 

  • Gafarov, E., Lazarev, A., & Werner, F. (2014). Approximability results for the resource-constrained project scheduling problem with a single type of resources. Annals of Operations Research, 213(1), 115–130.

    Article  Google Scholar 

  • Herroelen, W., De Reyck, B., Demeulemeester, E. (1998). Resource-constrained project scheduling : A survey of recent developments. Computers and Operations Research 25(4), 279–302 Elsevier

  • Hurink, J., Kok, A., Paulus, J., & Schutten, J. (2011). Time-constrained project scheduling with adjacent resources. Computers and Operations Research, 38(1), 310–319. Elsevier.

    Article  Google Scholar 

  • Kelbel, J., Hanzálek, Z. (2006) A case study on earliness/tardiness scheduling by constraint programming. In: Twelfth International Conference on Principles and Practice of Constraint Programming, pp. 108–113. Laboratoire d’Informatique de Nantes Atlantique

  • 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.

    Article  Google Scholar 

  • Laborie, P. (2003). Algorithms for propagating resource constraints in AI planning and scheduling: Existing approaches and new results. Artificial Intelligence, 143(2), 151–188.

    Article  Google Scholar 

  • Lambrechts, O., Demeulemeester, E., & Herroelen, W. (2011). Time slack-based techniques for robust project scheduling subject to resource uncertainty. Annals of Operations Research, 186(1), 443–464.

    Article  Google Scholar 

  • Li, K., & Willis, R. (1992). An iterative scheduling technique for resource-constrained project scheduling. European Journal of Operational Research, 56(3), 370–379.

    Article  Google Scholar 

  • Mascis, A., & Pacciarelli, D. (2002). Job-shop scheduling with blocking and no-wait constraints. European Journal of Operational Research, 143(3), 498–517.

    Article  Google Scholar 

  • Mellentien, C., Schwindt, C., & Trautmann, N. (2004). Scheduling the factory pick-up of new cars. OR Spectrum, 26(4), 579–601.

    Article  Google Scholar 

  • Neumann, K., Schwindt, C., & Zimmermann, J. (2003). Project scheduling with time windows and scarce resources. Berlin: Springer.

    Book  Google Scholar 

  • Neumann, K., & Schwindt, C. (2002). Project scheduling with inventory constraints. Mathematical Methods of Operations Research, 56(3), 513–533.

    Article  Google Scholar 

  • Palpant, M., Artigues, C., & Michelon, P. (2004). LSSPER: Solving the resource-constrained project scheduling problem with large neighbourhood search. Annals of Operations Research, 131(1–4), 237–257.

    Article  Google Scholar 

  • Rau, B.R. (2000). Iterative modulo scheduling. In: PROGRESS 2000 Workshop on Embedded Systems, Utrecht, The Netherlands.

  • Schwindt, C. (2005). Resource allocation in project management. Berlin: Springer.

    Google Scholar 

  • Schwindt, C., & Trautmann, N. (2003). Scheduling the production of rolling ingots: Industrial context, model and solution method. International Transactions in Operational Research, 10(6), 547–563.

    Article  Google Scholar 

  • Smith, T.B. (2004) An effective algorithm for project scheduling with arbitrary temporal constraints. In: Proceedings of the 19th National Conference on Artificial Intelligence., pp. 544–549. AAAI Press, Menlo Park, California, San Jose, California, USA.

  • Sobeyko, O., & Mönch, L. (2015). Grouping genetic algorithms for solving single machine multiple orders per job scheduling problems. Annals of Operations Research, 235(1), 709–739.

    Article  Google Scholar 

  • Terada, J., Vo, H., Joslin, D. (2006). Combining genetic algorithms with squeaky-wheel optimization. In: GECCO ’06: Proceedings of the 8th annual conference on Genetic and evolutionary computation, pp. 1329–1336. ACM Press, New York, NY, USA.

  • Tormos, P., & Lova, A. (2001). A competitive heuristic solution technique for resource-constrained project scheduling. Annals of Operations Research, 102(1–4), 65–81.

    Article  Google Scholar 

  • Valls, V., Ballestin, F., & Quintanilla, S. (2005). Justification and RCPSP: A technique that pays. European Journal of Operational Research, 165(2), 375–386. Project Management and Scheduling.

    Article  Google Scholar 

Download references

Acknowledgments

The authors would like to thank Mirko Navara from the Czech Technical University and anonymous reviewers for their valuable comments and inspirational suggestions. This work was supported by the Grant Agency of the Czech Republic under the Project GACR P103-16-23509S.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zdeněk Hanzálek.

Additional information

A correction to this article is available online at https://doi.org/10.1007/s10479-017-2704-z.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hanzálek, Z., Šůcha, P. Time symmetry of resource constrained project scheduling with general temporal constraints and take-give resources. Ann Oper Res 248, 209–237 (2017). https://doi.org/10.1007/s10479-016-2184-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-016-2184-6

Keywords

Navigation