Modelling with Option Types in MiniZinc

  • Christopher Mears
  • Andreas Schutt
  • Peter J. Stuckey
  • Guido Tack
  • Kim Marriott
  • Mark Wallace
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8451)

Abstract

Option types are a powerful abstraction that allows the concise modelling of combinatorial problems where some decisions are relevant only if other decisions are made. They have a wide variety of uses: for example in modelling optional tasks in scheduling, or exceptions to a usual rule. Option types represent objects which may or may not exist in the constraint problem being modelled, and can take an ordinary value or a special value ⊤ indicating they are absent. The key property of variables of option types is that if they take the value ⊤ then the constraints they appear in should act as if the variable was not in the original definition. In this paper, we explore the different ways that basic constraints can be extended to handle option types, and we show that extensions of global constraints to option types cover existing and common variants of these global constraints. We demonstrate how we have added option types to the constraint modelling language MiniZinc. Constraints over variables of option types can either be handled by transformation into regular variables without extending the requirements on underlying solvers, or they can be passed directly to solvers that support them natively.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Beldiceanu, N., Carlsson, M., Demassey, S., Petit, T.: Global constraint catalogue: Past, present and future. Constraints 12(1), 21–62 (2007)CrossRefMATHMathSciNetGoogle Scholar
  2. 2.
    Bochvar, D., Bergmann, M.: On a three-valued logical calculus and its application to the analysis of the paradoxes of the classical extended functional calculus. History and Philosophy of Logic 2, 87–112 (1981)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Caballero, R., Stuckey, P.J., Tenoria-Fornes, A.: Finite type extensions in constraint programming. In: Schrijvers, T. (ed.) PPDP 2013, pp. 217–228. ACM Press (2013)Google Scholar
  4. 4.
    Castro, C., Manzano, S.: Variable and value ordering when solving balanced academic curriculum problems (2001), http://arxiv.org/abs/cs/0110007
  5. 5.
    Feydy, T., Stuckey, P.J.: Lazy clause generation reengineered. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 352–366. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Frisch, A.M., Stuckey, P.J.: The proper treatment of undefinedness in constraint languages. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 367–382. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Frisch, A.M., Harvey, W., Jefferson, C., Hernández, B.M., Miguel, I.: Essence: A constraint language for specifying combinatorial problems. Constraints 13(3), 268–306 (2008)CrossRefMATHMathSciNetGoogle Scholar
  8. 8.
    Geller, F., Veksler, M.: Assumption-based pruning in conditional CSP. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 241–255. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    van Hoeve, W.J., Régin, J.C.: Open constraints in a closed world. In: Beck, J.C., Smith, B.M. (eds.) CPAIOR 2006. LNCS, vol. 3990, pp. 244–257. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Kleene, S.C.: Introduction to Metamathematics. North Holland (1952)Google Scholar
  11. 11.
    Laborie, P., Rogerie, J.: Reasoning with conditional time-intervals. In: Wilson, D.C., Lane, H.C. (eds.) FLAIRS 2008, pp. 555–560. AAAI Press (2008)Google Scholar
  12. 12.
    Laborie, P., Rogerie, J., Shaw, P., Vilím, P.: Reasoning with conditional time-intervals part II: An algebraical model for resources. In: Lane, H.C., Guesgen, H.W. (eds.) FLAIRS 2009, pp. 201–206. AAAI Press (2009)Google Scholar
  13. 13.
    Mittal, S., Falkenhainer, B.: Dynamic constraint satisfaction problems. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 25–32 (1990)Google Scholar
  14. 14.
    Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: Towards a standard CP modelling language. In: Bessiere, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)CrossRefMATHMathSciNetGoogle Scholar
  16. 16.
    Sabin, M., Freuder, E.C., Wallace, R.J.: Greater efficiency for conditional constraint satisfaction. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 649–663. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Schutt, A., Feydy, T., Stuckey, P.J.: Scheduling optional tasks with explanation. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 628–644. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  18. 18.
    Łukasiewicz, J.: On three-valued logic. In: Borkowski, L. (ed.) Selected works by Jan Łukasiewicz, pp. 87–88. North Holland (1970)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Christopher Mears
    • 3
  • Andreas Schutt
    • 1
    • 2
  • Peter J. Stuckey
    • 1
    • 2
  • Guido Tack
    • 1
    • 3
  • Kim Marriott
    • 1
    • 3
  • Mark Wallace
    • 1
    • 3
  1. 1.National ICT Australia (NICTA)Australia
  2. 2.University of MelbourneAustralia
  3. 3.Faculty of ITMonash UniversityAustralia

Personalised recommendations