Skip to main content
Log in

Cardinality constraints and systems of restricted representatives

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

Cardinality constraints have received considerable attention from the Constraint Programming community as (so-called) global constraints that appear in the formulation of several real-life problems, while also having an interesting combinatorial structure. After discussing the relation of cardinality constraints with well-known combinatorial problems (e.g., systems of restricted representatives), we study the polytope defined by the convex hull of vectors satisfying two such constraints, in the case where all variables share a common domain. We provide families of facet-defining inequalities that are polytime separable, together with a condition for when these families of inequalities define a convex hull relaxation. Our results also hold for the case of a single such constraint.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  • Balas E, Bockmayr A, Pisaruk N, Wolsey L (2004) On unions and dominants of polytopes. Math Program 99:223–239

    Article  MathSciNet  MATH  Google Scholar 

  • Bergman D, Hooker JN (2014) Graph coloring inequalities from all-different systems. Constraints 19:404–433

    Article  MathSciNet  MATH  Google Scholar 

  • Bulatov AA, Marx D (2010) Constraint satisfaction problems and global cardinality constraints. Commun ACM 53:99–106

    Article  Google Scholar 

  • Ford LR Jr, Fulkerson DR (1958) Network flow and systems of representatives. Can J Math 10:78–84

    Article  MathSciNet  MATH  Google Scholar 

  • Grötschel M, Lovász L, Schrijver A (1981) The ellipsoid method and its consequences in combinatorial optimization. Combinatorica 1:169–197

    Article  MathSciNet  MATH  Google Scholar 

  • Hooker JN (2012) Integrated methods for optimization, international series in operations research & management science, vol 170. Springer

  • Hooker JN, Yan H (2002) A relaxation of the cumulative constraint. Proceedings of CP2002. Lect. Notes Comput. Sci., vol. 2470, pp 80–92

  • Katriel I, Thiel S (2005) Complete bound consistency for the global cardinality constraint. Constraints 10:191–217

    Article  MathSciNet  MATH  Google Scholar 

  • Kaya LG, Hooker JN (2011) The circuit polytope. http://wpweb2.tepper.cmu.edu/jnh/CircuitPolytope

  • Kutz M, Elbassioni K, Katriel I, Mahajan M (2008) Simultaneous matchings: hardness and approximation. J Comput Syst Sci 74:884–897

    Article  MathSciNet  MATH  Google Scholar 

  • Magos D, Mourtos I (2011) On the facial structure of the AllDifferent system. SIAM J Discrete Math 25:130–158

    Article  MathSciNet  MATH  Google Scholar 

  • Magos D, Mourtos I, Appa G (2012) A polyhedral approach to the alldifferent system. Math Program 132:209–260

    Article  MathSciNet  MATH  Google Scholar 

  • Milano M, Ottosson G, Refalo P, Thorsteinsson E (2002) The role of integer programming techniques in constraint programming’s global constraints. INFORMS J Comput 14:387–402

    Article  MathSciNet  MATH  Google Scholar 

  • Mirsky L (1971) Transversal theory. Math. Sci. Eng., vol 75. Academic Press, London

  • Mourtos I (2013) Tight LP-relaxations of overlapping global cardinality constraints. Proceedings of CPAIOR’13. Lect. Notes Comput. Sci., vol 7874, pp 362–368

  • Quimper CG, Golynski A, López-Ortiz A, van Beek P (2005) An efficient bounds consistency algorithm for the global cardinality constraint. Constraints 10:115–135

    Article  MathSciNet  MATH  Google Scholar 

  • Quimper CG, Walsh T (2006) The all different and global cardinality constraints on set, multiset and tuple variables. In: Hnich B et al (eds) CSCLP 2005. Lect. Notes Artificial Intelligence, vol 3978. Springer pp 1–13

  • Regin JC (1996) Generalized arc consistency for global cardinality constraint. Proceedings of AAAI-96, Portland, OR, pp 209–215

  • Regin JC (2002) Cost-based Arc consistency for global cardinality constraints. Constraints 7:387–405

    Article  MathSciNet  MATH  Google Scholar 

  • Samer M, Szeider S (2011) Tractable cases of the extended global cardinality constraint. Constraints 16:1–24

    Article  MathSciNet  MATH  Google Scholar 

  • Schrijver A (2004) Polyhedra and efficiency (algorithms and combinatorics). Springer, Berlin

    MATH  Google Scholar 

  • van Beek P, Wilken K (2001) Fast optimal instruction scheduling for single-issue processors with arbitrary latencies. Proceedings of CP-01. Paphos, Cyprus, pp 625–639

  • Williams HP, Yan H (2001) Representations of the all-different predicate of constraint satisfaction in integer programming. INFORMS J Comput 13:96–103

    Article  MathSciNet  MATH  Google Scholar 

  • Yan H, Hooker JN (1999) Tight representation of logic constraints as cardinality rules. Math Program 85:363–377

    Article  MathSciNet  MATH  Google Scholar 

  • Yunes TH (2002) On the sum constraint: relaxation and applications. In: van Hentenryck P (ed) Proceedings of CP2002. Lect. Notes Comput. Sci., vol 2470, pp 80–92

Download references

Acknowledgments

We would like to thank a reviewer, whose valuable and constructive comments have helped simplifying certain proofs and improving the readability of several others. This research has been co-financed by the European Union (European Social Fund-ESF) and Greek national funds through the Operational Program “Education and Lifelong Learning” of the National Strategic Reference Framework (NSRF)—Research Funding Program: Thales. Investing in knowledge society through the European Social Fund.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ioannis Mourtos.

Appendix

Appendix

Proof of Lemma 19

  1. (i)

    \(x_{i_{1}}^{\prime }=\) \(d_{k},i\in I_{1}^{*}\)

Assume to the contrary that some value \(d_{k^{\prime }}<d_{k}\) appears fewer than \(u_{k^{\prime }}\) times in \(J_{1}^{*}\cup T.\) If \(o(x^{\prime };1,k^{\prime })<u_{k^{\prime }}\) and given \(l_{k}=0,\) derive the vertex \(\tilde{x}=x^{\prime }(i_{1};d_{k}\rightarrow d_{k^{\prime }})\in P_{I};\) \(\alpha \tilde{x}-\alpha x^{\prime }=\alpha _{i_{1}}\cdot (d_{k^{\prime }}-d_{k})<0\) since \(i_{1}\in I_{1}^{*}\) yields \(\alpha _{i_{1}}>0\) (by Lemma 18i) and \(d_{k^{\prime }}<d_{k}.\)

Otherwise, \(o(x^{\prime };1,k^{\prime })=u_{k^{\prime }}.\) Then, value \(d_{k^{\prime }}\) appearing fewer than \(u_{k^{\prime }}\) times in \(J_{1}^{*}\cup T\) implies that \(d_{k^{\prime }}\) appears in \(I_{1}\backslash I_{1}^{*};\) i.e., \(x_{i_{2}}^{\prime }=d_{k^{\prime }}\) for some \(i_{2}\in I_{1}\backslash I_{1}^{*}.\) Then, for the vertex \(\tilde{x}=x^{\prime }(i_{1}\leftrightarrow i_{2})\in P_{I},\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{i_{1}}-\alpha _{i_{2}})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{i_{1}}>\alpha _{i_{2}}\) (by Lemma 18ii) and \(d_{k^{\prime }}<d_{k}.\)

  1. (ii)

    \(x_{t_{1}}^{\prime }=\) \(d_{k},t_{1}\in T^{*}\)

Assume to the contrary that some value \(d_{k^{\prime }}<d_{k}\) appears fewer than \(u_{k^{\prime }}\) times in \(J_{1}^{*}.\)

If \(x_{t_{2}}^{\prime }=d_{k^{\prime }}\) for some \(t_{2}\in T\backslash T^{*},\) then for the vertex \(\tilde{x}=x^{\prime }(t_{1}\leftrightarrow t_{2})\in P_{I},\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{t_{1}}-\alpha _{t_{2}})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{t_{1}}>\alpha _{t_{2}}\) (by Lemma 18iii) and \(d_{k^{\prime }}<d_{k}.\)

Otherwise, \(x_{t}^{\prime }\ne d_{k^{\prime }}\) for all \(t\in T\backslash T^{*}\). Then, four cases are defined by whether \(o(x^{\prime };1,k^{\prime })\) or \(o(x^{\prime };2,k^{\prime })\) is less than \(u_{k^{\prime }}\) (recall that \(l_{k}=0\)).

Case 19.1 :

(\(o(x^{\prime };1,k^{\prime })<u_{k^{\prime }},o(x^{\prime };2,k^{\prime })<u_{k^{\prime }}\)):] For \(\tilde{x}=x^{\prime }(t_{1};d_{k}\rightarrow d_{k^{\prime }}),\alpha \tilde{x}-\alpha x^{\prime }=\alpha _{t_{1}}\cdot (d_{k^{\prime }}-d_{k})<0\) since \(t_{1}\in T^{*}\) yields \(\alpha _{t_{1}}>0\) (by Lemma 18i).

Case 19.2 :

(\(o(x^{\prime };1,k^{\prime })<u_{k^{\prime }},o(x^{\prime };2,k^{\prime })=u_{k^{\prime }}\)): Since \( d_{k^{\prime }}\) appears more times in \(J_{2}\) than in \(J_{1}\), it appears in \(I_{2}; \) i.e., \(x_{i_{2}}^{\prime }=d_{k^{\prime }}\) for some \(i_{2}\in I_{2}.\) For \(\tilde{x}=x^{\prime }(t_{1}\leftrightarrow i_{2}),\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{t_{1}}-\alpha _{i_{2}})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{t_{1}}>\alpha _{i_{2}}.\) The latter follows from Lemma 18vii for \(I_{2}^{*}\ne \emptyset \) (since \(\alpha _{t_1}>\gamma _{2}\ge \alpha _{i_{2}}\)) and from Lemma 18i and 18vi for \(I_{2}^{*}= \emptyset \) (since \(\alpha _{t_{1}}>0\ge \alpha _{i_{2}}\)).

Case 19.3 :

(\(o(x^{\prime };1,k^{\prime })=u_{k^{\prime }},o(x^{\prime };2,k^{\prime })<u_{k^{\prime }}\)): Since value \(d_{k^{\prime }}\) appears \(u_k\) times in \(J_1\) but not in \(T \backslash T^{*}\) and appears fewer than \(u_k\) times in \(J_{1}^{*}= I_{1}^{*} \cup T^{*}\), it must appear in \(I_{1}\backslash I_{1}^{*};\) i.e., \(x_{i_{1}}^{\prime }=d_{k^{\prime }}\) for some \( i_{1}\in I_{1}\backslash I_{1}^{*}.\) For \(\tilde{x}=x^{\prime }(t_{1}\leftrightarrow i_{1}),\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{t_{1}}-\alpha _{i_{1}})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{t_{1}}>\alpha _{i_{1}}\). The latter holds because the opposite, i.e., \(\alpha _{t_{1}}\le \alpha _{i_{1}}\), implies \(\gamma \le \alpha _{i_{1}}\) hence \(i_{1}\in I_{1}^{*},\) a contradiction to \(i_{1}\in I_{1}\backslash I_{1}^{*}\).

Case 19.4 :

(\(o(x^{\prime };1,k^{\prime })=u_{k^{\prime }},o(x^{\prime };2,k^{\prime })=u_{k^{\prime }}\)): As in Case 19.3, \(o(x^{\prime };1,k^{\prime })=u_{k^{\prime }}\) implies that \(x_{i_{1}}^{\prime }=d_{k^{\prime }}\) for some \(i_{1}\in I_{1}\backslash I_{1}^{*}.\) This, together with \(o(x^{\prime };1,k^{\prime })=u_{k^{\prime }}=o(x^{\prime };2,k^{\prime })\) imply that \(x_{i_{2}}^{\prime }=d_{k^{\prime }}\) for some \(i_{2}\in I_{2}.\) For \(\tilde{x}=x^{\prime }(t\leftrightarrow \{i_{1},i_{2}\}),\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{t_{1}}-\alpha _{i_{1}}-\alpha _{i_{2}})\cdot (d_{k^{\prime }}-d_{k})<0,\) since \(\alpha _{t_{1}}-\alpha _{i_{1}}-\alpha _{i_{2}}>0.\) If \(i_{2}\in I_{2}\backslash I_{2}^{*},\) the latter holds by Lemma 18iv. If \(i_{2}\in I_{2}^{*}\), it holds because the opposite, i.e., \(\alpha _{t_{1}}\le \alpha _{i_{1}}+\alpha _{i_{2}},\) implies \(i_{1}\in I_{1}^{*},\) a contradiction to \(i_{1}\in I_{1}\backslash I_{1}^{*}.\)

\(\square \)

Proof of Lemma 20

Let \(x_{i_{2}}^{\prime }=d_{k}\) for some \(i_{2}\in I_{2}^{\prime }\). \(J_{2}^{*}\subset J_{1}^{*}\) implies \(I_{1}^{*}\ne \emptyset \) and \(I_{2}^{*}=\emptyset ,\) hence \(i_{2}\in I_{2}^{\prime }\) implies \(\alpha _{i_{2}}<0\) (by Lemma 18vi and the definition of \(I_{2}^{\prime }\)). Assume to the contrary that some value \(d_{k^{\prime }}>d_{k}\) appears fewer than \(u_{k^{\prime }}\) times in \(J_{2}^{\prime }\backslash T_{2}^{*}.\) Recall that \(l_k=0\).

If \(o(x^{\prime };2,k^{\prime })<u_{k^{\prime }},\) the vertex \(\tilde{x}\) \(=x^{\prime }(i_{2};d_{k}\rightarrow d_{k^{\prime }})\in P_{I}\) since \(l_{k}=0\). Then, \(\alpha \tilde{x}-\alpha x^{\prime }=\alpha _{i_{2}}\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{i_{2}}<0\) and \(d_{k^{\prime }}>d_{k}.\)

Otherwise, \(o(x^{\prime };2,k^{\prime })=u_{k^{\prime }}.\) Then, value \(d_{k^{\prime }}\) appears \(u_{k^{\prime }}\) times in \(J_{2}\) but fewer than \(u_{k^{\prime }}\) times in \(J_{2}^{\prime }\backslash T^{*},\) hence it appears in \(I_{2}\backslash I_{2}^{\prime }=\{i\in I_{2}:\alpha _{i}=0\}\) or in \(T^{*}.\)

Case 20.1 :

(\(x_{i_{3}}^{\prime }=d_{k^{\prime }},i_{3}\in I_{2}\backslash I_{2}^{\prime }\)): Recall that \(x_{i_{2}}^{\prime }=d_{k}\), \(i_{2}\in I_{2}^{\prime }\). For \(\tilde{x}=x^{\prime }(i_{2}\leftrightarrow i_{3}),\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{i_{2}}-\alpha _{i_{3}})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{i_{2}}<0=\alpha _{i_{3}}\) and \(d_{k^{\prime }}>d_{k}.\)

Case 20.2 :

(\(x_{t}^{\prime }=d_{k^{\prime }},t\in T^{*} \)): If value \(d_{k}\) appears also in \(I_{1}\), let \(i_{1}\in I_{1}\) be an index where this occurs; i.e., \(x_{i_{1}}^{\prime }=d_{k}\). Also, \(\alpha _{t_{1}}=\gamma _{1}\) by Lemma 18vii (because \(I_{1}^{*}\ne \emptyset = I_{2}^{*}\)) and \(\alpha _{i_{1}} \le \gamma _{1}\) by (28), thus \(\alpha _{i_{1}} \le \alpha _{t_{1}}\). Then, for \(\tilde{x}=x^{\prime }(t\leftrightarrow \{i_{1},i_{2}\}),\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{i_{1}}+\alpha _{i_{2}}-\alpha _{t_{1}})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{i_{1}} \le \alpha _{t_{1}},\alpha _{i_{2}}<0\) and \(d_{k^{\prime }}>d_{k}.\)

Otherwise, value \(d_{k}\) appears not in \(I_{1}\) but appears in \(I_2\) (because \(x_{i_{2}}^{\prime }=d_{k},i_{2}\in I_{2}^{\prime }\)) hence \(o(x^{\prime };1,k)<u_{k}\). Then, the vertex \(\tilde{x}=x^{\prime }(i_{2}\leftrightarrow t)\in P_{I}\) yields \(\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{i_{2}}-\alpha _{t})\cdot (d_{k^{\prime }}-d_{k})<0\) since \(\alpha _{i_{2}}<0\) and \(\alpha _{t}>0\) by Lemma 18i (because \(t \in T^{*}\)).

\(\square \)

Proof of Theorem 17

Observe that \(J_{1}^{*}\supset J_{2}^{*}\) implies \(I_{1}^{*}\ne \emptyset \) and \(I_{2}^{*}=\emptyset ,\) hence \(\alpha _{i}\le 0\) for all \(i\in I_{2}\) by Lemma 18vi. The result holds if and only if all values \(d_{k},k\in K\) appear \(q(|J_{2}^{\prime }\backslash T^{*}|,k)\) times in \(J_{2}^{\prime }\backslash T^{*},\) at all vertices of \(P^{(\alpha ,\beta )}.\)

Assume to the contrary that there is a vertex \(x^{\prime }\in P^{(\alpha ,\beta )}\) with \(\sum _{j\in J_{2}^{\prime }\backslash T^{*}}x_{j}^{\prime }<\mathop {\sum }\nolimits _{k\in K}q(|J_{2}^{\prime }\backslash T^{*}|,k)\cdot d_{k}.\) Then, at vertex \(x^{\prime },\) some value \(d_{\tilde{k}}\) appears fewer than \(q(|J_{2}^{\prime }\backslash T^{*}|,\tilde{k})\) times in \(J_{2}^{\prime }\backslash T^{*}\), whereas some other value \(d_{k}<d_{\tilde{k}}\) appears more than \(q(|J_{2}^{\prime }\backslash T^{*}|,k)\) times in \(J_{2}^{\prime }\backslash T^{*}.\) Then, if \(d_{k^{\prime }}=\min \{x_{j}^{\prime }:j\in J_{2}^{\prime }\backslash T^{*}\}\) it must be \(d_{k^{\prime }}<d_{\tilde{k}}.\) Since \(q(|J_{2}^{\prime }\backslash T^{*}|,\tilde{k})\le u_{\tilde{k}},\) value \(d_{\tilde{k}}\) appears fewer than \(u_{\tilde{k}} \) times in \(J_{2}^{\prime }\backslash T^{*}.\) Thus, if \(d_{k^{\prime }}\) appears in \(I_{2}^{\prime }\) (i.e., if \(x_{i_{2}}^{\prime }=d_{k^{\prime }}\) for some \(i_{2}\in \) \(I_{2}^{\prime }\)), Lemma 20 is contradicted.

Hence let \(x_{t_{2}}^{\prime }=d_{k^{\prime }},t_{2}\in T\backslash T^{*}.\) The hypothesis \(|J_{1}^{*}|+|J_{2}^{\prime }\backslash T^{*}|\ge \mathop {\sum }\nolimits _{k\in K}u_{k}\) yields that each value \(d_{k}\) occurs \(u_{k}\) times in \(J_{1}^{*}\cup (J_{2}^{\prime }\backslash T^{*}).\) Therefore, value \(d_{\tilde{k}},\) since appearing fewer than \(u_{\tilde{k}}\) times in \(J_{2}^{\prime }\backslash T^{*}\) must appear in \(J_{1}^{*};\) i.e., \(x_{t_{1}}^{\prime }=d_{\tilde{k}}\) for some \(t_{1}\in T^{*}\) or \(x_{i_{1}}^{\prime }=d_{\tilde{k}}\) for some \(i_{1}\in I_{1}^{*}.\) In the former case, for \(\tilde{x}=x^{\prime }(t_{1}\leftrightarrow t_{2}),\alpha \tilde{x}-\alpha x^{\prime }=(\alpha _{t_{2}}-\alpha _{t_{1}})\cdot (d_{\tilde{k}}-d_{k^{\prime }})<0\) since \(\alpha _{t_{1}}>\alpha _{t_{2}}\) (by Lemma 18iii) and \(d_{\tilde{k}}>d_{k^{\prime }}.\) In the latter case, \(\alpha _{t_2} < \alpha _{i_1}\) (by Lemma 18vi) and the contradiction is established by using the vertex \(\tilde{x}=x^{\prime }(t_{2}\leftrightarrow \{i_{1},i_{2}\})\) (if \(x_{i_{2}}^{\prime }=d_{\tilde{k}},\) for some \(i_{2}\in I_{2}\)) or the vertex \(\tilde{x}=x^{\prime }(t_{2}\leftrightarrow i_{1})\) (if \(d_{\tilde{k}}\,\ \)appears not in \(I_{2}\)). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mourtos, I. Cardinality constraints and systems of restricted representatives. J Comb Optim 31, 1061–1089 (2016). https://doi.org/10.1007/s10878-014-9810-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-014-9810-5

Keywords

Navigation