A Quadratic Edge-Finding Filtering Algorithm for Cumulative Resource Constraints

  • Roger Kameugne
  • Laure Pauline Fotso
  • Joseph Scott
  • Youcheu Ngo-Kateu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6876)

Abstract

The cumulative scheduling constraint, which enforces the sharing of a finite resource by several tasks, is widely used in constraint-based scheduling applications. Propagation of the cumulative constraint can be performed by several different filtering algorithms, often used in combination. One of the most important and successful of these filtering algorithms is edge-finding. Recent work by Vilím has resulted in a \(\mathcal{O}(kn \log n)\) algorithm for cumulative edge-finding, where n is the number of tasks and k is the number of distinct capacity requirements. In this paper, we present a sound \(\mathcal{O}(n^2)\) cumulative edge-finder. This algorithm reaches the same fixpoint as previous edge-finding algorithms, although it may take additional iterations to do so. While the complexity of this new algorithm does not strictly dominate Vilím’s for small k, experimental results on benchmarks from the Project Scheduling Problem Library suggest that it typically has a substantially reduced runtime. Furthermore, the results demonstrate that in practice the new algorithm rarely requires more propagations than previous edge-finders.

Keywords

Schedule Problem Release Date Outer Loop Project Schedule Problem Early Start Time 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baptiste, P., Le Pape, C.: Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems. In: Smolka, G. (ed.) CP 1997. LNCS, vol. 1330, pp. 375–389. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  2. 2.
    Baptiste, P., Le Pape, C., Nuijten, W.: Constraint-based scheduling: applying constraint programming to scheduling problems. Kluwer, Boston (2001)CrossRefMATHGoogle Scholar
  3. 3.
    Carlier, J., Pinson, E.: Adjustment of heads and tails for the job-shop problem. European Journal of Operational Research 78, 146–161 (1994)CrossRefMATHGoogle Scholar
  4. 4.
    Caseau, Y., Laburthe, F.: Improved CLP scheduling with task intervals. In: Van Hentenryck, P. (ed.) ICLP94, pp. 369–383. MIT Press, Boston (1994)Google Scholar
  5. 5.
    Gecode Team: Gecode, a generic constraint development environment (2006), http://www.gecode.org
  6. 6.
    Kameugne, R., Fotso, L.P.: A not-first/not-last algorithm for cumulative resource in \(\mathcal{O}(n^2\log n)\) (2010) (accepted to CP 2010 Doctoral Program)Google Scholar
  7. 7.
    Kolisch, R., Sprecher, A.: PSPLIB – A project scheduling problem library. European Journal of Operational Research 96(1), 205–216 (1997)CrossRefMATHGoogle Scholar
  8. 8.
    Mercier, L., Van Hentenryck, P.: Edge finding for cumulative scheduling. INFORMS Journal on Computing 20(1), 143–153 (2008)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Nuijten, W.: Time and resource constrained scheduling: a constraint satisfaction approach. PhD thesis, Eindhoven University of Technology (1994)Google Scholar
  10. 10.
    Schutt, A., Wolf, A.: A New \(\mathcal{O}(n^2\log n)\) Not-First/Not-Last Pruning Algorithm for Cumulative Resource Constraints. In: Cohen, D. (ed.) CP 2010. LNCS, vol. 6308, pp. 445–459. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Vilím, P.: Global constraints in scheduling. PhD thesis, Charles University, Prague (2007)Google Scholar
  12. 12.
    Vilím, P.: Max energy filtering algorithm for discrete cumulative resources. In: van Hoeve, W.-J., Hooker, J.N. (eds.) CPAIOR 2009. LNCS, vol. 5547, pp. 66–80. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Vilím, P.: Edge Finding Filtering Algorithm for Discrete Cumulative Resources in \(\mathcal{O}(kn\log n)\). In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 802–816. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Wolf, A., Schrader, G.: \(\mathcal{O}(n \log n)\) overload checking for the cumulative constraint and its application. In: Umeda, M., Wolf, A., Bartenstein, O., Geske, U., Seipel, D., Takata, O., et al. (eds.) INAP 2005. LNCS (LNAI), vol. 4369, pp. 88–101. Springer, Heidelberg (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Roger Kameugne
    • 1
    • 2
  • Laure Pauline Fotso
    • 3
  • Joseph Scott
    • 4
  • Youcheu Ngo-Kateu
    • 3
  1. 1.Dept. of MathematicsUniversity of Maroua, Higher Teachers’ Training CollegeMarouaCameroon
  2. 2.Faculty of Sciences, Dept. of MathematicsUniversity of Yaoundé IYaoundéCameroon
  3. 3.Faculty of Sciences, Dept. of Computer SciencesUniversity of Yaoundé IYaoundéCameroon
  4. 4.Dept. of Information Technology, Computing Science DivisionUppsala UniversityUppsalaSweden

Personalised recommendations