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.
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 all-different 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 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
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
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 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
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 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
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/s10878-014-9810-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10878-014-9810-5