Skip to main content
Log in

On cutting planes for cardinality-constrained linear programs

  • Full Length Paper
  • Series A
  • Published:
Mathematical Programming Submit manuscript

Abstract

We derive cutting planes for cardinality-constrained linear programs. These inequalities can be used to separate any basic feasible solution of an LP relaxation of the problem, assuming that this solution violates the cardinality requirement. To derive them, we first relax the given simplex tableau into a disjunctive set, expressed in the space of nonbasic variables. We establish that coefficients of valid inequalities for the closed convex hull of this set obey ratios that can be computed directly from the simplex tableau. We show that a transportation problem can be used to separate these inequalities. We then give a constructive procedure to generate violated facet-defining inequalities for the closed convex hull of the disjunctive set using a variant of Prim’s algorithm.

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

Access this article

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Avella, P., Sassano, A.: On the \(p\)-median polytope. Math. Program. 89(3), 395–411 (2001)

    MathSciNet  MATH  Google Scholar 

  2. Balas, E.: Intersection cuts—a new type of cutting planes for integer programming. Oper. Res. 19(1), 19–39 (1971)

    MathSciNet  MATH  Google Scholar 

  3. Balas, E.: Disjunctive programming. Ann. Discrete Math. 5, 3–51 (1979)

    MathSciNet  MATH  Google Scholar 

  4. Balas, E., Perregaard, M.: A precise correspondence between lift-and-project cuts, simple disjunctive cuts, and mixed integer gomory cuts for 0–1 programming. Math. Program. 94(2–3), 221–245 (2003)

    MathSciNet  MATH  Google Scholar 

  5. Bazaraa, M.S., Sherali, H.D.: On the use of exact and heuristic cutting plane methods for the quadratic assignment problem. J. Oper. Res. Soc. 33(11), 991–1003 (1982)

    MathSciNet  MATH  Google Scholar 

  6. Beale, E.M.L., Tomlin, J.A.: Special facilities in a general mathematical programming system for non-convex problems using ordered sets of variables. In: Lawrence, J. (ed.) Prodeedings of the Fifth International Conference on Operational Research, pp. 447–454. Tavistock Publications, London (1970)

    Google Scholar 

  7. Beasley, J.E.: A note on solving large \(p\)-median problems. Eur. J. Oper. Res. 21(2), 270–273 (1985)

    MathSciNet  MATH  Google Scholar 

  8. Beasley, J.E., Meade, N., Chang, T.J.: An evolutionary heuristic for the index tracking problem. Eur. J. Oper. Res. 148(3), 621–643 (2003)

    MathSciNet  MATH  Google Scholar 

  9. Bertsimas, D., King, A., Mazumder, R.: Best subset selection via a modern optimization lens. Ann. Stat. 44(2), 813–852 (2016)

    MathSciNet  MATH  Google Scholar 

  10. Bertsimas, D., Shioda, R.: Algorithm for cardinality-constrained quadratic optimization. Comput. Optim. Appl. 43(1), 1–22 (2009)

    MathSciNet  MATH  Google Scholar 

  11. Bienstock, D.: Computational study of a family of mixed-integer quadratic programming problems. Math. Program. 74(2), 121–140 (1996)

    MathSciNet  MATH  Google Scholar 

  12. Brøndsted, A.: An Introduction to Convex Polytopes, vol. 90. Springer, Berlin (1983)

    MATH  Google Scholar 

  13. Chang, T.J., Meade, N., Beasley, J.E., Sharaiha, Y.M.: Heuristics for cardinality constrained portfolio optimisation. Comput. Oper. Res. 27(13), 1271–1302 (2000)

    MATH  Google Scholar 

  14. Christof, T.: Ein verfahren zur transformation zwischen polyederdarstellungen. Ph.D. thesis, Diplomarbeit, Universität Augsburg (1991)

  15. Christof, T., Löbel, A.: PORTA—polyhedron representation transformation algorithm. Available at https://comopt.ifi.uni-heidelberg.de/software/PORTA/ (2008)

  16. Christofides, N., Beasley, J.E.: A tree search algorithm for the \(p\)-median problem. Eur. J. Oper. Res. 10(2), 196–204 (1982)

    MathSciNet  MATH  Google Scholar 

  17. Crama, Y., Schyns, M.: Simulated annealing for complex portfolio selection problems. Eur. J. Oper. Res. 150(3), 546–571 (2003)

    MATH  Google Scholar 

  18. d’Aspremont, A., El Ghaoui, L., Jordan, M.I., Lanckriet, G.R.: A direct formulation for sparse PCA using semidefinite programming. SIAM Rev. 49(3), 434–448 (2007)

    MathSciNet  MATH  Google Scholar 

  19. Ehrgott, M., Klamroth, K., Schwehm, C.: An MCDM approach to portfolio optimization. Eur. J. Oper. Res. 155(3), 752–770 (2004)

    MathSciNet  MATH  Google Scholar 

  20. de Farias Jr, I.R.: A family of facets for the uncapacitated \(p\)-median polytope. Oper. Res. Lett. 28(4), 161–167 (2001)

    MathSciNet  MATH  Google Scholar 

  21. de Farias Jr, I.R., Johnson, E.L., Nemhauser, G.L.: Branch-and-cut for combinatorial optimization problems without auxiliary binary variables. Knowl. Eng. Rev. 16(1), 25–39 (2001)

    MATH  Google Scholar 

  22. de Farias Jr, I.R., Nemhauser, G.L.: A polyhedral study of the cardinality constrained knapsack problem. Math. Program. 96(3), 439–467 (2003)

    MathSciNet  MATH  Google Scholar 

  23. Gilli, M., Këllezi, E.: The threshold accepting heuristic for index tracking. In: Pardalos, P.M., Tsitsiringos, V.K. (eds.) Financial Engineering, E-Commerce and Supply Chain, pp. 1–18. Springer, Berlin (2002)

    MATH  Google Scholar 

  24. Glover, F.: Convexity cuts and cut search. Oper. Res. 21(1), 123–134 (1973)

    MathSciNet  MATH  Google Scholar 

  25. Gomory, R.: An algorithm for the mixed integer problem. Tech. Rep. RM-2597, The Rand Corporation (1960)

  26. Gomory, R.E.: Some polyhedra related to combinatorial problems. Linear Algebra Appl. 2, 341–375 (1969)

    MathSciNet  MATH  Google Scholar 

  27. Guan, Y., Dy, J.G.: Sparse probabilistic principal component analysis. In: International Conference on Artificial Intelligence and Statistics, pp. 185–192 (2009)

  28. Güler, O.: Foundations of Optimization, vol. 258. Springer, Berlin (2010)

    MATH  Google Scholar 

  29. Ibaraki, T.: The use of cuts in complementary programming. Oper. Res. 21(1), 353–359 (1973)

    MathSciNet  MATH  Google Scholar 

  30. Järvinen, P., Rajala, J., Sinervo, H.: A branch-and-bound algorithm for seeking the \(p\)-median. Oper. Res. 20(1), 173–178 (1972)

    MATH  Google Scholar 

  31. Jeurissen, R., Van den Berg, J.: Index tracking using a hybrid genetic algorithm. In: 2005 ICSC Congress on Computational Intelligence Methods and Applications, pp. 1–6. IEEE (2005)

  32. Jeurissen, R., van den Berg, J.: Optimized index tracking using a hybrid genetic algorithm. In: IEEE Congress on Evolutionary Computation (CEC 2008), pp. 2327–2334. IEEE (2008)

  33. Jobst, N.J., Horniman, M.D., Lucas, C.A., Mitra, G.: Computational aspects of alternative portfolio selection models in the presence of discrete asset choice constraints. Quant. Finance 1(5), 489–501 (2001)

    MathSciNet  MATH  Google Scholar 

  34. Journée, M., Nesterov, Y., Richtárik, P., Sepulchre, R.: Generalized power method for sparse principal component analysis. J. Mach. Learn. Res. 11, 517–553 (2010)

    MathSciNet  MATH  Google Scholar 

  35. Kariv, O., Hakimi, S.L.: An algorithmic approach to network location problems. II: the \(p\)-medians. SIAM J. Appl. Math. 37(3), 539–560 (1979)

    MathSciNet  MATH  Google Scholar 

  36. Kis, T.: Lift-and-project for general two-term disjunctions. Discrete Optim. 12, 98–114 (2014)

    MathSciNet  MATH  Google Scholar 

  37. Laundy, R.: Some logically constrained mathematical programming problems. Ph.D. thesis, University of Southampton (1983)

  38. Loraschi, A., Tomassini, M., Tettamanzi, A., Verda, P.: Distributed genetic algorithms with an application to portfolio selection problems. In: Pearson, D.W., Steele, N.C., Albrecht, R.F. (eds.) Artificial Neural Nets and Genetic Algorithms, pp. 384–387. Springer, Berlin (1995)

    Google Scholar 

  39. Mansini, R., Speranza, M.G.: Heuristic algorithms for the portfolio selection problem with minimum transaction lots. Eur. J. Oper. Res. 114(2), 219–233 (1999)

    MATH  Google Scholar 

  40. Moral-Escudero, R., Ruiz-Torrubiano, R., Suarez, A.: Selection of optimal investment portfolios with cardinality constraints. In: IEEE Congress on Evolutionary Computation (CEC 2006), pp. 2382–2388. IEEE (2006)

  41. Narula, S.C., Ogbu, U.I., Samuelsson, H.M.: An algorithm for the \(p\)-median problem. Oper. Res. 25(4), 709–713 (1977)

    MathSciNet  MATH  Google Scholar 

  42. Nguyen, T.T.: Convexification techniques for complementarity and multilinear constraints. Ph.D. thesis, University of Florida (2013)

  43. Prim, R.C.: Shortest connection networks and some generalizations. Bell Syst. Tech. J. 36(6), 1389–1401 (1957)

    Google Scholar 

  44. Raghavachari, M.: On connections between zero-one integer programming and concave programming under linear constraints. Oper. Res. 17(4), 680–684 (1969)

    MathSciNet  MATH  Google Scholar 

  45. Rockafellar, R.T.: Convex Analysis, vol. 28. Princeton University Press, Princeton (1997)

    MATH  Google Scholar 

  46. Ruiz-Torrubiano, R., Suárez, A.: A hybrid optimization approach to index tracking. Ann. Oper. Res. 166(1), 57–71 (2009)

    MathSciNet  MATH  Google Scholar 

  47. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1998)

    MATH  Google Scholar 

  48. Shapcott, J.: Index Tracking: Genetic Algorithms for Investment Portfolio Selection. Edinburgh Parallel Computing Centre, Edinburgh (1992)

    Google Scholar 

  49. Tuy, H.: Concave programming under linear constraints. Sov. Math. 5, 1437–1440 (1964)

    MATH  Google Scholar 

  50. Zeng, B., Richard, J.-P.P.: A polyhedral study on 0–1 knapsack problems with disjoint cardinality constraints: facet-defining inequalities by sequential lifting. Discrete Optim. 8(2), 277–301 (2011)

    MathSciNet  MATH  Google Scholar 

  51. Zeng, B., Richard, J.-P.P.: A polyhedral study on 0–1 knapsack problems with disjoint cardinality constraints: strong valid inequalities by sequence-independent lifting. Discrete Optim. 8(2), 259–276 (2011)

    MathSciNet  MATH  Google Scholar 

  52. Zhang, Y., Burer, S., Street, W.N.: Ensemble pruning via semi-definite programming. J. Mach. Learn. Res. 7, 1315–1338 (2006)

    MathSciNet  MATH  Google Scholar 

  53. Ziegler, G.M.: Lectures on Polytopes, vol. 152. Springer, Berlin (1995)

    MATH  Google Scholar 

  54. Zou, H., Hastie, T., Tibshirani, R.: Sparse principal component analysis. J. Comput. Graph. Stat. 15(2), 265–286 (2006)

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Jinhak Kim or Mohit Tawarmalani.

Additional information

This work was supported by NSF CMMI Grants 1234897, 1235236, 1727989 and 1728031.

Appendix: Proof of Theorem 4

Appendix: Proof of Theorem 4

Proof

For a given node set \(X\subseteq \mathbf{{\mathcal {N}}_0}\), the operation Extract-Min(X) (resp. Extract-Max(X)) removes and returns the element of X with the smallest (resp. largest) key. We also define \(\text {Min}(X):=\min _{i\in X}\text {key}[i]\) and \(\text {Max}(X):=\max _{i\in X}\text {key}[i]\). We denote by \({\mathcal {Q}}_+\) (resp. \({\mathcal {Q}}_-\)) the max-priority queue in \({\mathcal {I}}_+\) (resp. min-priority queue in \({\mathcal {I}}_-\)) whose keys are not yet finalized. We let \({\mathcal {Q}}={\mathcal {Q}}_+\cup {\mathcal {Q}}_-\). For a node v, \(\text {Adj}[v]\) is the set of nodes adjacent to v in \({\mathcal {Q}}\).

Let H represent the sequence of nodes extracted during the successive iterations of the while loop. For nodes i and j, we write \(j \prec i\) if j occurs in H before i. We define \(\text {key}[0]=0\). Then, for \(i\in {\mathcal {Q}}_+\) (resp. \({\mathcal {Q}}_-\backslash \{0\}\)), we define \(\text {key}[i]\) to be \(\max _{j\in {\mathcal {I}}_-\backslash {\mathcal {Q}}_-, j \prec i} -s_{ij} + \text {key}[j]\) (resp. \(\min _{j\in {\mathcal {I}}_+\backslash {\mathcal {Q}}_+, j\prec i} s_{ij}+\text {key}[j]\)). We use induction to show that keys follow this definition. The base case can be verified via the initial assignment of keys and the convention that \(\min \{\emptyset \}=\infty \). If we assume that the keys satisfy the above definition before the iteration, then since \(k\prec i\) for any \(i\in {\mathcal {Q}}\backslash \{k\}\), the definition remains valid after the step 11 (resp. step 13). It is clear that once a node is extracted, the key of the node never changes in the remainder of the algorithm.

We first show that \(\min ({\mathcal {Q}}_-)-\text {key}[k]\ge 0\) and \(\text {key}[k] - \max ({\mathcal {Q}}_+)\ge 0\) at step 4 of the algorithm. This is clearly true for the base case. We assume that these inequalities are true and we choose to extract \(k'\) at either step 5 or step 7. We will only argue that the above inequalities hold for \(k'\) selected at step 5 because the other case is similar. We first argue that the result holds before step 9. If \(k'\) was selected at step 5, i.e., \(k'\in {\mathcal {Q}}_-\), then the first inequality holds because \(k'\) was chosen to be the node with minimum key in \({\mathcal {Q}}_-\). The second inequality holds because \(\text {key}[k']-\text {key}[k]\ge 0\) and \(\text {key}[k]-\max ({\mathcal {Q}}_+)\ge 0\) by induction hypothesis. Now, we show that these inequalities continue to hold until the step 4 of the next iteration. In particular, observe that for \(j\in {\mathcal {Q}}_-\) (resp. \(j\in {\mathcal {Q}}_+\)), since \(\text {key}[j]\ge \text {key}[k']\) (resp. \(\text {key}[j]\le \text {key}[k']\)) before the update in step 13 (resp. step 11) and \(s_{jk'}\ge 0\), it remains so after the update as well.

Now, we show that at each iteration of the algorithm where node \(k'\) is extracted, \(\delta + \sum _{j \preceq k'} \text {key}[j]\chi (\{j\}) + \text {key}[k']\chi ({\mathcal {Q}})\) defines a valid cut. This is trivially true for the base case. We now consider the case when \(k'\) is extracted. The incremental change to the vector is \((\text {key}[k']-\text {key}[k])\chi ({\mathcal {Q}}\cup \{k'\})\), where k immediately precedes \(k'\) in H. Clearly, this change does not affect any inequality in \(D_{1}\) expressed for nodes i and j which both precede \(k'\) or both succeed \(k'\). Therefore, we only need to concern ourselves with an inequality with respect to i and j where \(i\preceq k'\preceq j\). Assume \(j\in {\mathcal {Q}}_+\). If \(k'\in {\mathcal {I}}_+\), then the result follows because \(0\le s_{ij} + \text {key}[j] - \text {key}[i] \le s_{ij} + \text {key}[k'] - \text {key}[i]\) because \(k'\) is the maximizer in \({\mathcal {Q}}_+\). On the other hand, if \(k'\in {\mathcal {I}}_-\), then \(s_{ij} + \text {key}[k'] - \text {key}[i] \ge 0\) if \(k'=i\) and \(s_{ij} + \text {key}[k'] - \text {key}[i] \ge s_{ij} + \text {key}[k] - \text {key}[i] \ge 0\), where the first inequality follows because \(\text {key}[k']-\text {key}[k]\ge 0\) by our earlier proof and the second inequality by the induction hypothesis and because \(\text {key}[i]\) was not updated. The proof for the case \(j\in {\mathcal {Q}}_-\) is similar.

It follows from the definition of keys that at least one of the inequalities with respect to \(k'\) and its predecessors becomes tight. Since the procedure only stops when all the nodes are visited, it follows that the graph of tight inequalities is connected at the end and \(\delta + \sum _{j\in \mathbf{{\mathcal {N}}_0}} \text {key}^*[j]\chi (\{j\})\) defines a facet-defining inequality.

We now show that all the tight inequalities remain tight during the procedure. In particular, assume \(s_{ij} = 0\). Assume \(j\preceq i\) where \(j\in {\mathcal {I}}_-\) (the proof for \(j \in {\mathcal {I}}_+\) is similar). Clearly, when \(k=j\) at step 4, \(\text {key}[j]\ge \text {key}[i]\). However, \(\text {key}[i]\ge \text {key}[j]\) because of the previous update at step 11. Therefore, \(\text {key}[j]-\text {key}[i]=0\). Then, because of the condition in step 4, the keys added match \(\text {key}[i]\). Therefore, there is no update to \(\text {key}[i]\) because \(\text {key}[i]\ge -s_{ik} + \text {key}[k]\) follows from \(s_{ik}\ge 0\) and \(\text {key}[i]=\text {key}[k]\).

The above algorithm can be implemented using heaps for both \({\mathcal {Q}}_+\) and \({\mathcal {Q}}_-\). If the graph \(G({\mathcal {I}}_+,{\mathcal {I}}_-)\) has n nodes and e edges, it requires O(n) Insert, O(n) Min, O(n) Max, O(n) Extract-Min and Extract-Max, and O(e) Decrease-Key operations. With Fibonacci heaps, the running time is \(O(e+n\log n)\) which exactly matches that of Prim’s algorithm. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kim, J., Tawarmalani, M. & Richard, JP.P. On cutting planes for cardinality-constrained linear programs. Math. Program. 178, 417–448 (2019). https://doi.org/10.1007/s10107-018-1306-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-018-1306-0

Keywords

Mathematics Subject Classification

Navigation