Abstract
A linear program with linear complementarity constraints (LPCC) requires the minimization of a linear objective over a set of linear constraints together with additional linear complementarity constraints. This class has emerged as a modeling paradigm for a broad collection of problems, including bilevel programs, Stackelberg games, inverse quadratic programs, and problems involving equilibrium constraints. The presence of the complementarity constraints results in a nonconvex optimization problem. We develop a branch-and-cut algorithm to find a global optimum for this class of optimization problems, where we branch directly on complementarities. We develop branching rules and feasibility recovery procedures and demonstrate their computational effectiveness in a comparison with CPLEX. The implementation builds on CPLEX through the use of callback routines. The computational results show that our approach is a strong alternative to constructing an integer programming formulation using big-M terms to represent bounds for variables, with testing conducted on general LPCCs as well as on instances generated from bilevel programs with convex quadratic lower level problems.
Similar content being viewed by others
References
Achterberg, T.: Constraint integer programming. Ph.D. thesis, Technische University Berlin (2007)
Achterberg, T., Koch, T., Martin, A.: Branching rules revisited. Oper. Res. Lett. 33(1), 42–54 (2005)
Applegate, D., Bixby, R., Chvátal, V., Cook, W.: The Traveling Salesman Problem: A Computational Study. Princeton University Press, Princeton (2006)
Audet, C., Haddad, J., Savard, G.: Disjunctive cuts for continuous bilevel programming. Optim. Lett. 1(3), 259–267 (2006)
Audet, C., Hansen, P., Jaumard, B., Savard, G.: A symmetrical linear maxmin approach to disjoint bilinear programming. Math. Program. 85(3), 573–592 (1999)
Audet, C., Savard, G., Zghal, W.: New branch-and-cut algorithm for bilevel linear programming. J. Optim. Theory Appl. 38(2), 353–370 (2007)
Bai, L., Mitchell, J.E., Pang, J.: On convex quadratic programs with linear complementarity constraints. Comput. Optim. Appl. 54(3), 517–554 (2013)
Bai, L., Mitchell, J.E., Pang, J.: On conic QPCCs, conic QCQPs and completely positive programs. Math. Program. 159(1–2), 109–136 (2016)
Balas, E.: Disjunctive programming. Ann. Discrete Math. 5, 3–51 (1979)
Bard, J.F., Moore, J.T.: A branch and bound algorithm for the bilevel programming program. SIAM J. Sci. Stat. Comput. 11(2), 281–292 (1990)
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.) Proceedings of the Fifth International Conference on Operational Research, pp. 447–454. Travistock Publications, London (1970)
Benichou, M., Gauthier, J.M., Girodet, P., Hentges, G., Ribiere, G., Vincent, O.: Experiments in mixed-integer linear programming. Math. Program. 1(1), 76–94 (1970)
Burdakov, O., Kanzow, C., Schwartz, A.: Mathematical programs with cardinality constraints: reformulation by complementarity-type conditions and a regularization method. SIAM J. Optim. 26(1), 397–425 (2016)
Cottle, R.W., Pang, J., Stone, R.S.: The Linear Complementarity Problem. Academic Press, Cambridge (1992)
Dolan, E., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91, 201–213 (2002)
de Farias Jr., I.R., Johnson, E.L., Nemhauser, G.L.: A generalized assignment problem with special ordered sets: a polyhedral approach. Math. Program. 89(1), 187–203 (2000)
de Farias Jr., I.R., Johnson, E.L., Nemhauser, G.L.: Branch-and-cut for combinatorial optimisation problems without auxiliary binary variables. Knowl. Eng. Rev. 16(1), 25–39 (2001)
de Farias Jr., I.R., Kozyreff, E., Zhao, M.: Branch-and-cut for complementarity-constrained optimization. Math. Program. Comput. 6(4), 365–403 (2014)
Facchinei, F., Pang, J.: Finite-Dimensional Variational Inequalities and Complementarity Problems, vol. I,II. Springer, New York (2003)
Fang, H., Leyffer, S., Munson, T.S.: A pivoting algorithm for linear programs with complementarity constraints. Optim. Methods Softw. 27(1), 89–114 (2012)
Feng, M., Mitchell, J.E., Pang, J., Shen, X., Wächter, A.: Complementarity formulations of $\ell _0$-norm optimization problems. Pac. J. Optim. 14(2), 273–305 (2018)
Fischer, T., Pfetsch, M.E.: Branch-and-cut for linear programs with overlapping SOS1 constraints. Math. Program. Comput. 10(1), 33–68 (2018)
Fischetti, M., Salvagnin, D.: Feasibility pump 2.0. Math. Program. Comput. 1(2–3), 201–222 (2009)
Fomeni, F.D., Gabriel, S.A., Anjos, M.F.: An RLT approach for solving the binary-constrained mixed linear complementarity problem. Tech. Rep. G-2015-60, GERAD, HEC Montréal, Canada (2015). https://www.gerad.ca/en/papers/G-2015-60
Fügenschuh, A., Martin, A.: Computational integer programming and cutting planes. In: Handbooks in Operations Research and Management, vol. 12, chapter. 2, pp. 69–122. Elsevier (2005)
Fukushima, M., Tseng, P.: An implementable active-set algorithm for computing a B-stationary point of a mathematical program with linear complementarity constraints. SIAM J. Optim. 12(3), 724–739 (2002)
Giannessi, F., Tomasin, E.: Nonconvex quadratic programs, linear complementarity problems, and integer linear programs. In: Conti, R., Ruberti, A. (eds.) Fifth Conference on Optimization Techniques (Rome 1973), Part I, Lecture Notes in Computer Science, vol. 3, pp. 437–449. Springer, Berlin (1973)
Gleixner, A.M., Berthold, T., Müller, B., Weltge, S.: Three enhancements for optimization-based bound tightening. J. Glob. Optim. 67, 731–757 (2017)
Hansen, P., Jaumard, B., Savard, G.: New branch-and-bound rules for linear bilevel programming. SIAM J. Sci. Stat. Comput. 13(5), 1194–1217 (1992)
Hooker, J.N., Osorio, M.A.: Mixed logical-linear progrmaming. Discrete Appl. Math. 96–97, 395–442 (1999)
Hu, J., Mitchell, J.E., Pang, J.: An LPCC approach to nonconvex quadratic programs. Math. Program. 133(1–2), 243–277 (2012)
Hu, J., Mitchell, J.E., Pang, J., Bennett, K.P., Kunapuli, G.: On the global solution of linear programs with linear complementarity constraints. SIAM J. Optim. 19(1), 445–471 (2008)
Hu, J., Mitchell, J.E., Pang, J., Yu, B.: On linear programs with linear complementarity constraints. J. Glob. Optim. 53(1), 29–51 (2012)
Ibaraki, T.: The use of cuts in complementary programming. Oper. Res. 21, 353–359 (1973)
ILOG Inc, Mountain View, California: ILOG CPLEX Callable Library C API 11.0 Reference Manual (2007)
Izmailov, A.F., Solodov, M.V.: An active-set Newton method for mathematical programs with complementarity constraints. SIAM J. Optim. 19(3), 1003–1027 (2009)
Jara-Moroni, F., Pang, J.S., Wächter, A.: A study of the difference-of-convex approach for solving linear programs with complementarity constraints. Math. Program. 169(1), 221–254 (2018)
Jeroslow, R.G.: Cutting-planes for complementarity constraints. SIAM J. Control Optim. 16(1), 56–62 (1978)
Júdice, J.J.: Algorithms for linear programming with linear complementarity constraints. TOP 20(1), 4–25 (2012)
Júdice, J.J., Faustino, A.M.: A sequential LCP method for bilevel linear programming. Ann. Oper. Res. 34, 89–106 (1992)
Keha, A.B., de Farias Jr, I.R., Nemhauser, G.L.: A branch-and-cut algorithm without binary variables for nonconvex piecewise linear optimization. Oper. Res. 54(5), 847–858 (2006)
Kunapuli, G., Pang, J., Bennett, K.P.: Bilevel cross-validation-based model selection. In: Guyon, I., Crawley, G., Dror, G., Saffari, A. (eds.) Hands-On Pattern Recognition: Challenges in Machine Learning, vol. 1, chapter. 15, pp. 345–370. Mikrotone Publishing, Brookline, MA (2011)
Lee, Y., Pang, J., Mitchell, J.E.: Global resolution of the support vector machine regression parameters selection problem with LPCC. EURO J. Comput. Optim. 3(1), 197–261 (2015)
Leyffer, S., Lopez-Calva, G., Nocedal, J.: Interior methods for mathematical programs with complementarity constraints. SIAM J. Optim. 17(1), 52–77 (2006)
Linderoth, J.T., Savelsbergh, M.W.P.: A computational study of strategies for mixed integer programming. INFORMS J. Comput. 11, 173–187 (1999)
Luo, Z.Q., Pang, J., Ralph, D.: Mathematical Programs with Equilibrium Constraints. Cambridge University Press, Cambridge (1996)
Maranas, C.D., Floudas, C.A.: Global optimization in generalized geometric programming. Comput. Chem. Eng. 21, 351–569 (1997)
McCormick, G.P.: Computability of global solutions to factorable nonconvex programs: part I—convex underestimating problems. Math. Program. 10, 147–175 (1976)
Mitchell, J.E., Pang, J., Yu, B.: Obtaining tighter relaxations of mathematical programs with complementarity constraints. In: Terlaky, T., Curtis, F. (eds.) Modeling and Optimization: Theory and Applications, Springer Proceedings in Mathematics and Statistics, vol. 21, chapter. 1, pp. 1–23. Springer, New York (2012)
Mitchell, J.E., Pang, J., Yu, B.: Convex quadratic relaxations of nonconvex quadratically constrained quadratic programs. Optim. Methods Softw. 29(1), 120–136 (2014)
Pang, J.: Three modeling paradigms in mathematical programming. Math. Program. 125(2), 297–323 (2010)
Pang, J., Fukushima, M.: Some feasibility issues in mathematical programs with equilibrium constraints. SIAM J. Optim. 8, 673–681 (1998)
Pang, J., Leyffer, S.: On the global minimization of the Value-at-Risk. Optim. Methods Softw. 19(5), 611–631 (2004)
Scholtes, S.: Convergence properties of a regularisation scheme for mathematical programs with complementarity constraints. SIAM J. Optim. 11(4), 918–936 (2001)
Stackelberg, H.V.: The Theory of the Market Economy. Oxford University Press, Oxford (1952)
Vandenbussche, D., Nemhauser, G.L.: A branch-and-cut algorithm for nonconvex quadratic programs with box constraints. Math. Program. 102(3), 559–575 (2005)
Watson, L.T., Billups, S.C., Mitchell, J.E., Easterling, D.R.: A globally convergent probability-one homotopy for linear programs with linear complementarity constraints. SIAM J. Optim. 23(2), 1167–1188 (2013)
Zamora, J.M., Grossmann, I.E.: A branch and contract algorithm for problems with concave univariate, bilinear and linear fractional terms. J. Glob. Optim. 14(3), 217–249 (1999)
Author information
Authors and Affiliations
Corresponding author
Additional information
Yu and Mitchell were supported in part by the Air Force Office of Sponsored Research under Grants FA9550-08-1-0081 and FA9550-11-1-0260 and by the National Science Foundation under Grant Numbers CMMI-1334327 and DMS-1736326. Pang was supported in part by the National Science Foundation under Grant Number CMMI-1333902 and by the Air Force Office of Scientific Research under Grant Number FA9550-11-1-0151.
The software that was reviewed as part of this submission was given in https://doi.org/10.5281/zenodo.1419515
Appendices
A LPCC test instances
In order to test the effectiveness of different type of valid constraints, a series of LPCC instances was randomly generated, and Procedure 4 gives a detailed description of the generator.
Remark 1
In the initialization step of the procedure, n is the dimension of x variable; m is the dimension of y variable; k is the dimension of b; rankM is the rank of matrix M; dense is the density of generated matrices; we assume all instances have the non-negativity constraint \(x\ge 0\) which are not included in the constraint \(Ax+By\ge b\); step 1 and step 2 are used to generate a feasible LPCC solution; step 8 is to generate matrix M to be a non-symmetric positive semidefinite matrix with rank rankM.
We generated 60 LPCC instances with 100, 150, 200 complementaries, 20 instances of each size, and with the same parameter, we randomly generated 5 instances. For CPLEX solving LPCC instances, we used indicator constraints in CPLEX C callable library [35] to formulate the complementarity constraints, and the CPLEX setting is default. The time limit for CPLEX is 3600 s. Notice that default CPLEX is unable to solve most of our LPCC instances when \(m=200\) within 3600 s.
Table 5 contains objective function value information for the 60 instances, including the effectiveness of the preprocessing routines. Table 6 contains performance data.
B Bilevel test instances
Our code solved all 63 of the instances with dimension of v equal to 50 and 18 / 35 of the larger instances. With extended time, default CPLEX was able to solve all but one problem with \(n=50\); it still has a gap of 16.56% for problem 60 after more than 7200 s of wall clock time and 47304 s of processor time. It solved just 6 / 35 of the larger instances. Run time information can be found in Tables 9 and 10.
C Inverse QP instances
See Table 11.
Computational results on 25 inverse QP instances can be found in Table 11. For each set of 5 instances, the average CPU time is listed if all the instances were solved or the number of solved instances is noted.
Rights and permissions
About this article
Cite this article
Yu, B., Mitchell, J.E. & Pang, JS. Solving linear programs with complementarity constraints using branch-and-cut. Math. Prog. Comp. 11, 267–310 (2019). https://doi.org/10.1007/s12532-018-0149-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-018-0149-2