Annals of Operations Research

, Volume 248, Issue 1–2, pp 209–237 | Cite as

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

Original Paper

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.

Keywords

Scheduling algorithms Project scheduling General temporal constraints Backward scheduling Additional resources 

List of symbols

\(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

  1. Artigues, C., & Briand, C. (2009). The resource-constrained activity insertion problem with minimum and maximum time lags. Journal of Scheduling, 12(5), 447–460.CrossRefGoogle Scholar
  2. 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.CrossRefGoogle Scholar
  3. Bartels, J. H., Gather, T., & Zimmermann, J. (2011). Dismantling of nuclear power plants at optimal NPV. Annals of Operations Research, 186(1), 407–427.CrossRefGoogle Scholar
  4. 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.Google Scholar
  5. 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.CrossRefGoogle Scholar
  6. Brucker, P., & Kampmeyer, T. (2008). Cyclic job shop scheduling problems with blocking. Annals of Operations Research, 159(1), 161–181.CrossRefGoogle Scholar
  7. 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.CrossRefGoogle Scholar
  8. 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.CrossRefGoogle Scholar
  9. Demeulemeester, E.L., Herroelen, W. (2002). Project scheduling: A research handbook. KluwerGoogle Scholar
  10. 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
  11. 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.CrossRefGoogle Scholar
  12. 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.CrossRefGoogle Scholar
  13. 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 ElsevierGoogle Scholar
  14. 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.CrossRefGoogle Scholar
  15. 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 AtlantiqueGoogle Scholar
  16. 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.CrossRefGoogle Scholar
  17. Laborie, P. (2003). Algorithms for propagating resource constraints in AI planning and scheduling: Existing approaches and new results. Artificial Intelligence, 143(2), 151–188.CrossRefGoogle Scholar
  18. 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.CrossRefGoogle Scholar
  19. Li, K., & Willis, R. (1992). An iterative scheduling technique for resource-constrained project scheduling. European Journal of Operational Research, 56(3), 370–379.CrossRefGoogle Scholar
  20. Mascis, A., & Pacciarelli, D. (2002). Job-shop scheduling with blocking and no-wait constraints. European Journal of Operational Research, 143(3), 498–517.CrossRefGoogle Scholar
  21. Mellentien, C., Schwindt, C., & Trautmann, N. (2004). Scheduling the factory pick-up of new cars. OR Spectrum, 26(4), 579–601.CrossRefGoogle Scholar
  22. Neumann, K., Schwindt, C., & Zimmermann, J. (2003). Project scheduling with time windows and scarce resources. Berlin: Springer.CrossRefGoogle Scholar
  23. Neumann, K., & Schwindt, C. (2002). Project scheduling with inventory constraints. Mathematical Methods of Operations Research, 56(3), 513–533.CrossRefGoogle Scholar
  24. 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.CrossRefGoogle Scholar
  25. Rau, B.R. (2000). Iterative modulo scheduling. In: PROGRESS 2000 Workshop on Embedded Systems, Utrecht, The Netherlands.Google Scholar
  26. Schwindt, C. (2005). Resource allocation in project management. Berlin: Springer.Google Scholar
  27. 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.CrossRefGoogle Scholar
  28. 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.Google Scholar
  29. 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.CrossRefGoogle Scholar
  30. 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.Google Scholar
  31. Tormos, P., & Lova, A. (2001). A competitive heuristic solution technique for resource-constrained project scheduling. Annals of Operations Research, 102(1–4), 65–81.CrossRefGoogle Scholar
  32. 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.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Faculty of Electrical Engineering and Czech Institute of Informatics, Robotics and CyberneticsCzech Technical University in PraguePrague 6Czech Republic
  2. 2.Department of Control Engineering, Faculty of Electrical EngineeringCzech Technical University in PraguePrague 6Czech Republic

Personalised recommendations