Abstract
We present an overview of the main algorithms in the literature for convex mixed integer nonlinear programming and discuss aspects of their implementation in a new open source computational package called Muriqui Optimizer. We provide extensive computational results comparing the implementations of all approaches considered on a set of 343 benchmark test problems. Finally, we present to the technical and scientific community the new software Muriqui Optimizer.


Similar content being viewed by others
References
Berthold, T. (2014). Rens. Mathematical Programming Computation, 6(1), 33–54.
Bonami, P., Kilinç, M., & Linderoth, J. 2009). Algorithms and software for convex mixed integer nonlinear programs. Technical Report 1664, Computer Sciences Department, University of Wisconsin-Madison.
Bonami, P., Biegler, L. T., Conn, A. R., Cornuéjols, G., Grossmann, I. E., Laird, C. D., et al. (2008). An algorithmic framework for convex mixed integer nonlinear programs. Discrete Optimization, 5(2), 186–204.
Bonami, P., Cornuéjols, G., Lodi, A., & Margot, F. (2009). A feasibility pump for mixed integer nonlinear programs. Mathematical Programming, 119, 331–352. https://doi.org/10.1007/s10107-008-0212-2.
Bonami, P., & Gonçalves, J. P. (2008). Heuristics for convex mixed integer nonlinear programs. Computational Optimization and Applications,. https://doi.org/10.1007/s10589-010-9350-6.
Bonami, P., Lee, J., Leyffer, S., & Wächter, A. (2013). On branching rules for convex mixed-integer nonlinear optimization. Journal of Experimental Algorithmics, 18, 2.6:2.1–2.6:2.31.
Borchers, B., & Mitchell, J. E. (1994). An improved branch and bound algorithm for mixed integer nonlinear programs. Computers & Operations Research, 21, 359–367.
Bussieck, M. R., & Vigerske, S. (2011). MINLP Solver Software. In J. J. Cochran, L. A. Cox, P. Keskinocak, J. P. Kharoufeh & J. C. Smith (Eds.), Wiley encyclopedia of operations research and management science. https://doi.org/10.1002/9780470400531.eorms0527.
CMU-IBM. (2012). Open source Minlp project. http://egon.cheme.cmu.edu/ibm/page.htm.
D’Ambrosio, C., & Lodi, A. (2011). Mixed integer nonlinear programming tools: A practical overview. 4OR, 9(4), 329–349.
Dash Optimization (2003). Getting Started with Xpress. http://www.fico.com/xpress.
Duran, M., & Grossmann, I. (1986). An outer-approximation algorithm for a class of mixed-integer nonlinear programs. Mathematical Programming, 36, 307–339. https://doi.org/10.1007/BF02592064.
Fampa, M., Lee, J., & Melo, W. (2016). A specialized branch-and-bound algorithm for the Euclidean Steiner tree problem in n-space. Computational Optimization and Applications, 65(1), 47–71. https://doi.org/10.1007/s10589-016-9835-z.
Fletcher, R., & Leyffer, S. (1994). Solving mixed integer nonlinear programs by outer approximation. Mathematical Programming, 66, 327–349. https://doi.org/10.1007/BF01581153.
GAMS World. (2014). Minlp library 2. http://www.gamsworld.org/minlp/minlplib2/html/.
Geoffrion, A. M. (1972). Generalized benders decomposition. Journal of Optimization Theory and Applications, 10, 237–260. https://doi.org/10.1007/BF00934810.
Gu, Z., Rothberg, E., & Bixby, R. E. Gurobi 4.6.1. Houston, TX.
Gupta, O. K., & Ravindran, A. (1985). Branch and bound experiments in convex nonlinear integer programming. Management Science, 31(12), 1533–1546.
Hemmecke, R., Köppe, M., Lee, J., & Weismantel, R. (2010). Nonlinear integer programming. In M. Jünger, T. M. Liebling, D. Naddef, G. L. Nemhauser, W. R. Pulleyblank, G. Reinelt, G. Rinaldi, & L. A. Wolsey (Eds.), 50 Years of integer programming 1958–2008 (pp. 561–618). Berlin: Springer. https://doi.org/10.1007/978-3-540-68279-0_15.
IBM Corporation. (2015). IBM ILOG CPLEX V12.6 User’s Manual for CPLEX.
Intel Corporation. (2016). Intel C++ Compiler 16.0 User and Reference Guide.
Kronqvist, J., Lundell, A., & Westerlund, T. (2016). The extended supporting hyperplane algorithm for convex mixed-integer nonlinear programming. Journal of Global Optimization, 64(2), 249–272.
Leyffer, S. (2003). MacMINLP: Test problems for mixed integer nonlinear programming. https://wiki.mcs.anl.gov/leyffer/index.php/macminlp.
Leyffer, S. (2001). Integrating SQP and branch-and-bound for mixed integer nonlinear programming. Computational Optimization and Applications, 18, 295–309.
Leyffer, S., Linderoth, J., Luedtke, J., Miller, A., & Munson, T. (2009). Applications and algorithms for mixed integer nonlinear programming. Journal of Physics: Conference Series, 180(1), 012014.
Li, D., Wang, J., & Sun, X. L. (2007). Computing exact solution to nonlinear integer programming: Convergent lagrangian and objective level cut method. Journal of Global Optimization, 39, 127–154.
Massachusetts Institute of Technology. The mit license. https://mit-license.org.License.
Melo, W., Fampa, M., & Raupp, F. (2014). Integrating nonlinear branch-and-bound and outer approximation for convex mixed integer nonlinear programming. Journal of Global Optimization, 60(2), 373–389.
Melo, W., Fampa, M., & Raupp, F. (2018). Integrality gap minimization heuristics for binary mixed integer nonlinear programming. Journal of Global Optimization. https://doi.org/10.1007/s10898-018-0623-4.
MOSEK ApS. (2017). The MOSEK optimization toolbox for MATLAB manual. Version 8.0.
Murray, W., & Ng, K.-M. (2010). An algorithm for nonlinear optimization problems with binary variables. Computational Optimization and Applications, 47, 257–288. https://doi.org/10.1007/s10589-008-9218-1.
Quesada, I., & Grossmann, I. E. (1992). An LP/NLP based branch and bound algorithm for convex minlp optimization problems. Computers & Chemical Engineering, 16(10–11), 937–947.
Science Technology Facilities Council. (2014). Hsl. a collection of fortran codes for large scale scientific computation. Software.
Still, C., & Westerlund, T. (2006). A sequential cutting plane algorithm for solving convex NLP problems. European Journal of Operational Research, 173(2), 444–464.
Still, C., & Westerlund, T. (2006). Solving convex minlp optimization problems using a sequential cutting plane algorithm. Computational Optimization and Applications, 34, 63–83. https://doi.org/10.1007/s10589-005-3076-x.
Stubbs, R. A., & Mehrotra, S. (1999). A branch-and-cut method for 0–1 mixed convex programming. Mathematical Programming, 86, 515–532. https://doi.org/10.1007/s101070050103.
Trespalacios, F., & Grossmann, I. E. (2014). Review of mixed-integer nonlinear and generalized disjunctive programming methods. Chemie Ingenieur Technik, 86(7), 991–1012.
Veinott, A. F. (1967). The supporting hyperplane method for unimodal programming. Operations Research, 15(1), 147–152.
Wächter, A., & Biegler, L. T. (2006). On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical Programming, 106, 25–57. https://doi.org/10.1007/s10107-004-0559-y.
Westerlund, T., & Pettersson, F. (1995). An extended cutting plane method for solving convex MINLP problems. Computers & Chemical Engineering, 19(Supplement 1), 131–136.
Wolsey, L. A. (1998). Integer programming., Series in discrete mathematics and optimization New York: Wiley.
Acknowledgements
Marcia Fampa was partially supported by CNPq (National Council for Scientific and Technological Development) Grant 303898/2016-0, as Fernanda Raupp was partially supported by CNPq Grant 307679/2016-0. The authors are grateful to the anonymous referees for their helpful insight.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Melo, W., Fampa, M. & Raupp, F. An overview of MINLP algorithms and their implementation in Muriqui Optimizer. Ann Oper Res 286, 217–241 (2020). https://doi.org/10.1007/s10479-018-2872-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-018-2872-5