On handling indicator constraints in mixed integer programming
- 683 Downloads
Mixed integer programming (MIP) is commonly used to model indicator constraints, i.e., constraints that either hold or are relaxed depending on the value of a binary variable. Unfortunately, those models tend to lead to weak continuous relaxations and turn out to be unsolvable in practice; this is what happens, for e.g., in the case of Classification problems with Ramp Loss functions that represent an important application in this context. In this paper we show the computational evidence that a relevant class of these Classification instances can be solved far more efficiently if a nonlinear, nonconvex reformulation of the indicator constraints is used instead of the linear one. Inspired by this empirical and surprising observation, we show that aggressive bound tightening is the crucial ingredient for solving this class of instances, and we devise a pair of computationally effective algorithmic approaches that exploit it within MIP. One of these methods is currently part of the arsenal of IBM-Cplex since version 12.6.1. More generally, we argue that aggressive bound tightening is often overlooked in MIP, while it represents a significant building block for enhancing MIP technology when indicator constraints and disjunctive terms are present.
KeywordsMixed-integer linear programming Mixed-integer quadratic programming Indicator constraints
The research of Fischetti, Monaci and Salvagnin was supported by the University of Padova (Progetto di Ateneo “Exploiting randomness in Mixed Integer Linear Programming”). The research of Fischetti, Lodi, Monaci and Salvagnin was supported by MiUR, Italy (PRIN Project “Mixed-Integer Nonlinear Optimization: Approaches and Applications”). The work of Nogales-Gómez was supported by an STSM Grant from COST Action TD1207. The authors are grateful to Andrea Tramontani and Sven Wiese for many interesting discussions on the subject and to two anonymous referees for a careful reading and many useful comments that helped improving the paper.
- 7.Bonmin, v. 1.7.4. https://projects.coin-or.org/Bonmin
- 10.Cbc, v. 2.9. https://projects.coin-or.org/Cbc
- 12.Collobert, R., Sinz, F., Weston, J., Bottou, L.: Trading convexity for scalability. In: Proceedings of the 23rd International Conference on Machine Learning, pp. 201–208 (2006)Google Scholar
- 13.Couenne, v. branch/CouenneClassifier, r1046. https://projects.coin-or.org/Couenne
- 17.FICO Xpress Optimization Suite, v. 7.8. http://www.fico.com/xpress
- 20.Gurobi, v. 6.0.2. http://www.gurobi.com
- 21.IBM-Cplex, v. 12.6.1. http://www.ibm.com/software/products/en/ibmilogcpleoptistud
- 22.Ipopt, v. 3.9.2. http://projects.coin-or.org/Ipopt
- 24.Lodi, A., Tramontani, A.: Performance variability in mixed-integer programming. In: Topaloglu, H. (ed.) TutORials in Operations Research: Theory Driven by Influential Applications, pp. 1–12. INFORMS, Catonsville (2013)Google Scholar