Abstract
Cardinality constraints have received considerable attention from the Constraint Programming community as (socalled) global constraints that appear in the formulation of several reallife problems, while also having an interesting combinatorial structure. After discussing the relation of cardinality constraints with wellknown 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 facetdefining 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.
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
Bergman D, Hooker JN (2014) Graph coloring inequalities from alldifferent systems. Constraints 19:404–433
Bulatov AA, Marx D (2010) Constraint satisfaction problems and global cardinality constraints. Commun ACM 53:99–106
Ford LR Jr, Fulkerson DR (1958) Network flow and systems of representatives. Can J Math 10:78–84
Grötschel M, Lovász L, Schrijver A (1981) The ellipsoid method and its consequences in combinatorial optimization. Combinatorica 1:169–197
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
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
Magos D, Mourtos I (2011) On the facial structure of the AllDifferent system. SIAM J Discrete Math 25:130–158
Magos D, Mourtos I, Appa G (2012) A polyhedral approach to the alldifferent system. Math Program 132:209–260
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
Mirsky L (1971) Transversal theory. Math. Sci. Eng., vol 75. Academic Press, London
Mourtos I (2013) Tight LPrelaxations of overlapping global cardinality constraints. Proceedings of CPAIOR’13. Lect. Notes Comput. Sci., vol 7874, pp 362–368
Quimper CG, Golynski A, LópezOrtiz A, van Beek P (2005) An efficient bounds consistency algorithm for the global cardinality constraint. Constraints 10:115–135
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 AAAI96, Portland, OR, pp 209–215
Regin JC (2002) Costbased Arc consistency for global cardinality constraints. Constraints 7:387–405
Samer M, Szeider S (2011) Tractable cases of the extended global cardinality constraint. Constraints 16:1–24
Schrijver A (2004) Polyhedra and efficiency (algorithms and combinatorics). Springer, Berlin
van Beek P, Wilken K (2001) Fast optimal instruction scheduling for singleissue processors with arbitrary latencies. Proceedings of CP01. Paphos, Cyprus, pp 625–639
Williams HP, Yan H (2001) Representations of the alldifferent predicate of constraint satisfaction in integer programming. INFORMS J Comput 13:96–103
Yan H, Hooker JN (1999) Tight representation of logic constraints as cardinality rules. Math Program 85:363–377
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
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 cofinanced by the European Union (European Social FundESF) 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
Corresponding author
Appendix
Appendix
Proof of Lemma 19

(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}.\)

(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
About this article
Cite this article
Mourtos, I. Cardinality constraints and systems of restricted representatives. J Comb Optim 31, 1061–1089 (2016). https://doi.org/10.1007/s1087801498105
Published:
Issue Date:
DOI: https://doi.org/10.1007/s1087801498105