Abstract
This paper describes a unified global constraint to model scheduling problems with unary resources, i.e., each resource can process only a single activity at a time. In addition, the constraint enforces sequence-dependent transition times between activities. It often happens that activities are grouped into families with zero transition times within a family. Moreover, some of the activities might be optional from the resource viewpoint (typically in the case of alternative resources). The global constraint unifies reasoning with both optional activities and families of activities. The scalable filtering algorithms we discuss keep a low time complexity of \(\mathcal {O}(n \cdot \log (n) \cdot \log (f))\), where n is the number of tasks on the resource and f is the number of families. This results from the fact that we extend the \(\varTheta \)-tree data structure used for the Unary Resource constraint without transition times. Our experiments demonstrate that our global constraint strengthens the pruning of domains as compared with existing approaches, leading to important speedups. Moreover, our low time complexity allows maintaining a small overhead, even for large instances. These conclusions are particularly true when optional activities are present in the problem.
Similar content being viewed by others
Notes
In this paper we assume without loss of generality that \(p_{i}\) is constant.
A more general case is when a positive transition \( tt _{f, f}^\mathcal {F}\) must occur between activities of the same family f. In this case, one can fall back to zero transition times within a family, assuming \( tt _{f, f}^\mathcal {F} \le tt _{f', f}^\mathcal {F} \forall f' \in tt ^\mathcal {F}\). One can artificially: (1) increase the duration of activities of the family f with \( tt _{f, f}^\mathcal {F}\); and (2) decrease the transition times from family f by \( tt _{f, f}^\mathcal {F}\). Yet, one cannot always perform this trick, so we keep the hypothesis in the rest of the paper that \( tt _{f, f}^\mathcal {F} = 0\).
The approach of Grimes and Hebrard (2010) does not actually use a precedence graph structure explicitly, but reifies the precedence constraints and branches on the associated boolean variables.
Practical implementations apply the symmetric rules by applying the original rules on mirrors of the original activities. The mirror activity m of an activity i is modeled with the variables \(s_{m} = - c_{i}\), \(c_{m} = - s_{i}\) and \(p_{m} = p_{i}\).
Alternatively, as proposed in Vilım (2009a, b) in the case of the Edge-Finding algorithm, one could consider all activities of \(T\) and pretend the latest start time of optional activities amounts to \(+\infty \). All activities (including optionals) are then inserted in Q and the rest of the algorithm remains unchanged.
Or as for the Detectable Precedence algorithm, one can pretend the latest start time of optional activities amounts to \(+\infty \) and insert all of them in Q.
Some processors also have a dedicated machine instruction.
The approach can also be used for sets of activities. The description focuses here on families since it was initially used in the context of family-based transition times.
Typically maximum 10.
Accessible at http://sites.uclouvain.be/performance-profile/.
The instances are available at http://becool.info.ucl.ac.be/resources/uttf-instances.
Still, if it is available at a low cost, it can be beneficial to use it.
References
Allahverdi, A., Ng, C., Cheng, T. E., & Kovalyov, M. Y. (2008). A survey of scheduling problems with setup times or costs. European Journal of Operational Research, 187(3), 985–1032.
Artigues, C., Belmokhtar, S., & Feillet, D. (2004). A new exact solution algorithm for the job shop problem with sequence-dependent setup times. In J. C. Régin, & M. Rueher (Eds.), Integration of AI and OR techniques in constraint programming for combinatorial optimization problems (pp. 37–49). Springer.
Artigues, C., & Feillet, D. (2008). A branch and bound method for the job-shop problem with sequence-dependent setup times. Annals of Operations Research, 159(1), 135–159.
Baptiste, P., Laborie, P., Le Pape, C., & Nuijten, W. (2006). Constraint-based scheduling and planning. In F. Rossi, P. van Beek, & T. Walsh (Eds.), Handbook of constraint programming, Chap. 22 (pp. 759–797). Amsterdam: Elsevier.
Baptiste, P., Le Pape, C., & Nuijten, W. (2001). Constraint-based scheduling: Applying constraint programming to scheduling problems, International Series in Operations Research & Management Science (Vol. 39). Berlin: Springer.
Barták, R. (2008). Search strategies for scheduling problems with optional activities. In Proceedings of CSCLP 2008 annual ERCIM workshop on constraint solving and constraint logic programming, Rome.
Barták, R., & Čepek, O. (2010). Incremental propagation rules for a precedence graph with optional activities and time windows. Transactions of the Institute of Measurement and Control, 32(1), 73–96.
Bellman, R. (1956). On a routing problem. DTIC Document: Technical report.
Brucker, P. (1999). Complex scheduling problems. Zeitschrift Operations Research. 30, 99.
Brucker, P., & Thiele, O. (1996). A branch & bound method for the general-shop problem with sequence dependent setup-times. Operations-Research-Spektrum, 18(3), 145–161.
Cappart, Q., Thomas, C., Schaus, P., & Rousseau, L. M. (2018). A constraint programming approach for solving patient transportation problems. In International conference on principles and practice of constraint programming (pp. 490–506). Springer.
Christofides, N., Mingozzi, A., & Toth, P. (1981). State-space relaxation procedures for the computation of bounds to routing problems. Networks, 11(2), 145–164.
Dejemeppe, C. (2016). Constraint programming algorithms and models for scheduling applications. Ph.D. thesis, Université catholique de Louvain, Louvain-la-Neuve
Dejemeppe, C., Van Cauwelaert, S., & Schaus, P. (2015). The unary resource with transition times. In International conference on principles and practice of constraint programming (pp. 89–104). Springer
Dolan, E. D., & Moré, J. J. (2002). Benchmarking optimization software with performance profiles. Mathematical programming, 91(2), 201–213.
Focacci, F., Laborie, P., & Nuijten, W. (2000). Solving scheduling problems with setup times and alternative resources. In AIPS (pp. 92–101).
Gay, S., Hartert, R., Lecoutre, C., & Schaus, P.(2015). Conflict ordering search for scheduling problems. In International conference on principles and practice of constraint programming (pp. 140–148). Springer.
Gay, S., Schaus, P., & De Smedt, V. (2014). Continuous casting scheduling with constraint programming. In B. O’Sullivan (Ed.), Principles and practice of constraint programming (pp. 831–845). Springer.
Grimes, D., & Hebrard, E. (2010). Job shop scheduling with setup times and maximal time-lags: A simple constraint programming approach. In Integration of AI and OR techniques in constraint programming for combinatorial optimization problems (pp. 147–161). Springer.
Kruskal, J. B. (1956). On the shortest spanning subtree of a graph and the traveling salesman problem. Proceedings of the American Mathematical society, 7(1), 48–50.
Laborie, P. (2018). An update on the comparison of MIP, CP and hybrid approaches for mixed resource allocation and scheduling. In International conference on the integration of constraint programming, artificial intelligence, and operations research (pp. 403–411). Springer.
Laborie, P., & Rogerie, J. (2008). Reasoning with conditional time-intervals. In FLAIRS conference (pp. 555–560).
Laborie, P., Rogerie, J., Shaw, P., & Vilím, P. (2018). IBM ILOG CP optimizer for scheduling. Constraints, 23(2), 210–250.
Moore, E. (1959). The shortest path through a maze. In Proceedings international symposium on switching theory.
Team, Osca R. (2012). OscaR: Scala in OR. Retrieved from https://bitbucket.org/oscarlib/oscar.
Ozolins, A. (2018). Bounded dynamic programming algorithm for the job shop problem with sequence dependent setup times. Operational Research,. https://doi.org/10.1007/s12351-018-0381-6.
Van Cauwelaert, S., Lombardi, M., & Schaus, P. (2015) Understanding the potential of propagators. In International conference on integration of artificial intelligence (AI) and operations research (OR) techniques in constraint programming (pp. 427–436). Springer.
Van Cauwelaert, S., Lombardi, M., & Schaus, P. (2016). A visual web tool to perform what-if analysis of optimization approaches. Technical report, UCLouvain.
Van Cauwelaert, S., Lombardi, M., & Schaus, P. (2017). How efficient is a global constraint in practice? Constraints, 23, 210–250.
Vilım, P. (2007). Global constraints in scheduling. Ph.D. thesis, Charles University in Prague, Faculty of Mathematics and Physics, Department of Theoretical Computer Science and Mathematical Logic, KTIML MFF, Universita Karlova, Malostranské námestı 2/25, 118 00 Praha 1, Czech Republic.
Vilım, P. (2009a). Edge finding filtering algorithm for discrete cumulative resources in o (kn log n). In I. P. Gent (Ed.), Principles and practice of constraint programming-CP (Vol. 5732, pp. 802–816). Springer.
Vilím, P. (2009b). Max energy filtering algorithm for discrete cumulative resources. In International conference on AI and OR techniques in constriant programming for combinatorial optimization problems (pp. 294–308). Springer.
Vilım, P., & Barták, R. (2012). Filtering algorithms for batch processing with sequence dependent setup times. In Proceedings of the 6th international conference on AI planning and scheduling, AIPS.
Warren, H. S. (2013). Hacker’s delight. London: Pearson Education.
Wolf, A. (2009). Constraint-based task scheduling with sequence dependent setup times, time windows and breaks. GI Jahrestagung, 154, 3205–3219.
Zampelli, S., Vergados, Y., Van Schaeren, R., Dullaert, W., & Raa, B. (2013). The berth allocation and quay crane assignment problem using a CP approach. In C. Schulte (Ed.), Principles and practice of constraint programming (pp. 880–896). Springer.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Van Cauwelaert, S., Dejemeppe, C. & Schaus, P. An Efficient Filtering Algorithm for the Unary Resource Constraint with Transition Times and Optional Activities. J Sched 23, 431–449 (2020). https://doi.org/10.1007/s10951-019-00632-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-019-00632-8