Constraints

pp 1–22 | Cite as

Linear-time filtering algorithms for the disjunctive constraint and a quadratic filtering algorithm for the cumulative not-first not-last

Article
  • 15 Downloads

Abstract

We present new filtering algorithms for Disjunctive and Cumulative constraints, each of which improves the complexity of the state-of-the-art algorithms by a factor of log n. We show how to perform Time-Tabling and Detectable Precedences in linear time on the Disjunctive constraint. Furthermore, we present a linear-time Overload Checking for the Disjunctive and Cumulative constraints. Finally, we show how the rule of Not-first/Not-last can be enforced in quadratic time for the Cumulative constraint. These algorithms rely on the union find data structure, from which we take advantage to introduce a new data structure that we call it time line. This data structure provides constant time operations that were previously implemented in logarithmic time by the Θ-tree data structure. Experiments show that these new algorithms are competitive even for a small number of tasks and outperform existing algorithms as the number of tasks increases. We also show that the time line can be used to solve specific scheduling problems.

Keywords

Scheduling Global constraint Filtering algorithms Disjunctive Cumulative Data structure 

References

  1. 1.
    Baptiste, P., & Le Pape, C. (2000). Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems. Constraints, 5(1-2), 119–139.MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Baptiste, P., Le Pape, C., Nuijten, W. (2001). Constraint-based scheduling. Kluwer Academic Publishers.Google Scholar
  3. 3.
    Beldiceanu, N., & Carlsson, M. (2002). A new multi-resource cumulatives constraint with negative heights. In: Proceedings of the 8th international conference on principles and practice of constraint programming (CP 2002) (pp. 63–79).Google Scholar
  4. 4.
    Beldiceanu, N., Carlsson, M., Poder, E. (2008). New filtering for the cumulative constraint in the context of non-overlapping rectangles. In: Proceedings of the 5th international conference on integration of AI and OR techniques in constraint programming for combinatorial optimisation problems (CPAIOR 2008) (pp. 21–35).Google Scholar
  5. 5.
    Belov, G., Boland, N., Savelsbergh, M.W.P., Stuckey, P.J. (2015). Exploration of models for a cargo assembly planning problem. ArXiv e-prints.Google Scholar
  6. 6.
    Caseau, Y., & Laburthe, F. (1996). Cumulative scheduling with task intervals. In: Proceedings of the joint international conference and symposium on logic programming (JICSLP) (pp. 369–383).Google Scholar
  7. 7.
    Cormen, T.H., Stein, C., Rivest, R.L., Leiserson, C.E. (2001). Introduction to Algorithms, 2nd edn. McGraw-Hill Higher Education.Google Scholar
  8. 8.
    Fahimi, H., & Quimper, C.G. (2014). Linear-time filtering algorithms for the disjunctive constraint. In: AAAI (pp. 2637–2643).Google Scholar
  9. 9.
    Gabow, H.N., & Tarjan, R.E. (1983). A linear-time algorithm for a special case of disjoint set union. In: Proceedings of the 15th annual ACM symposium on theory of computing (pp. 246–251).Google Scholar
  10. 10.
    Gay, S., Hartert, R., Schaus, P. (2015). Simple and scalable time-table filtering for the cumulative constraint. In: Principles and practice of constraint programming (pp. 149–157). Springer.Google Scholar
  11. 11.
    Gay, S., Schaus, P., Smedt, V.D. (2014). Continuous casting scheduling with constraint programming. In: International conference on principles and practice of constraint programming (pp. 831–845). Springer.Google Scholar
  12. 12.
    Guéret, C., Jussien, N., Boizumault, P., Prins, C. (1995). Building university timetables using constraint logic programming. International conference on the practice and theory of automated timetabling, (pp. 130–145). Springer.Google Scholar
  13. 13.
    Horn, W. (1974). Some simple scheduling algorithms. Naval Research Logistics Quarterly, 21(1), 177–185.MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Kameugne, R., & Fotso, L.P. (2013). A cumulative not-first/not-last filtering algorithm in o (n 2log (n)). Indian Journal of Pure and Applied Mathematics, 44(1), 95–115.MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Letort, A., Beldiceanu, N., Carlsson, M. (2012). A scalable sweep algorithm for the cumulative constraint. In: Proceedings of the 18th international conference on principles and practice of constraint programming (CP 2012) (pp. 439–454).Google Scholar
  16. 16.
    López-Ortiz, A., Quimper, C.G., Tromp, J., van Beek, P. (2003). A fast and simple algorithm for bounds consistency of the alldifferent constraint. In: Proceedings of the 18th international joint conference on artificial intelligence (IJCAI-03) (pp. 245–250).Google Scholar
  17. 17.
    Le Pape, C. (1988). Des systèmes d’ordonnancement flexibles et opportunistes. Ph.D. thesis Universit Paris IX.Google Scholar
  18. 18.
    Mehlhorn, K., & Thiel, S. (2000). Faster algorithms for bound-consistency of the sortedness and the alldifferent constraint. CP, 2, 306–319.MATHGoogle Scholar
  19. 19.
    Nuijten, W.W. (1994). Time and resource constrained scheduling: a constraint satisfaction approach. Technische Universiteit Eindhoven: Ph.D. thesis.MATHGoogle Scholar
  20. 20.
    Ouellet, P., & Quimper, C.G. (2013). Time-table-extended-edge-finding for the cumulative constraint. In: Proceedings of the 19th international conference on principles and practice of constraint programming (CP 2013) (pp. 562–577).Google Scholar
  21. 21.
    Puget, J.F. (1998). A fast algorithm for the bound consistency of alldiff constraints. In: Proceedings of the 15th national conference on artificiel intelligence (AAAI-98) and the 10th conference on innovation applications of artificial intelligence (IAAI-98) (pp. 359–366).Google Scholar
  22. 22.
    Quimper, C.G., López-Ortiz, A., Pesant, G. (2006). A quadratic propagator for the inter-distance constraint. In: Proc. of the 21st nat. conf. on artificial intelligence (AAAI 06) (pp. 123–128).Google Scholar
  23. 23.
    Schutt, A., Feydy, T., Stuckey, P.J. (2013). Explaining time-table-edge-finding propagation for the cumulative resource constraint. In: Integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR 2013) (pp. 234–250).Google Scholar
  24. 24.
    Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G. (2013). Solving rcpsp/max by lazy clause generation. Journal of Scheduling, 16(3), 273–289.MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Schutt, A., Stuckey, P., Verden, A. (2011). Optimal carpet cutting, pp. 69–84.Google Scholar
  26. 26.
    Schutt, A., Wolf, A., Schrader, G. (2006). Not-first and not-last detection for cumulative scheduling in \(\mathcal {O}(n^{3}\log n)\). In: Declarative programming for knowledge management (INAP 2005) (pp. 66–80).Google Scholar
  27. 27.
    Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal Opererational Research, 64(2), 278–285.CrossRefMATHGoogle Scholar
  28. 28.
    Vilím, P. (2002). Batch processing with sequence dependent setup times: New results. In: Proceedings of the 4th workshop of constraint programming for decision and control (CPDC’02).Google Scholar
  29. 29.
    Vilím, P. (2004). O(n log n) filtering algorithms for unary resource constraint. In: Integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR 2004) (pp. 335–347).Google Scholar
  30. 30.
    Vilím, P. (2007). Global constraints in scheduling. Ph.D. thesis: Charles University in Prague.Google Scholar
  31. 31.
    Vilím, P.E. (2009). Finding filtering algorithm for discrete cumulative resources in O(k n log n). In: Principles and Practice of Constraint Programming (CP 2009) (pp. 802–816).Google Scholar
  32. 32.
    Vilím, P. (2009). Max energy filtering algorithm for discrete cumulative resources. In: Integration of AI and OR techniques in constraint programming for combinatorial optimization problems (pp. 294–308). Springer.Google Scholar
  33. 33.
    Vilím, P. (2011). Timetable edge finding filtering algorithm for discrete cumulative resources. In: Proceedings of the 8th international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR 2011) (pp. 230–245).Google Scholar
  34. 34.
    Vilím, P., Barták, R., Čepek, O. (2004). Unary resource constraint with optional activities. In: Proceedings of the 10th international conference on principles and practice of constraint programming (pp. 62–76).Google Scholar
  35. 35.
    Wolf, A., & Schrader, G. (2006). O(n log n) overload checking for the cumulative constraint and its application. In: Declarative programming for knowledge management (INAP 2005) (pp. 88–101).Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Université LavalQuébecCanada

Personalised recommendations