Practical Guidelines for Solving Difficult Nonlinear (Integer) Programs

Published Online:https://doi.org/10.1287/inte.2025.0266

Even with advances in state-of-the-art hardware and software, large (mixed-integer) nonlinear programs can require hours, or even days, of runtime and are not guaranteed to yield an optimal (or near-optimal, or any!) solution. Nonetheless, with progress in software designed from its inception to handle nonlinear optimization models, such as IPopt, Knitro and BARON, and that which has evolved into incorporating algorithms that handle nonlinearities, such as those contained in CPLEX and Gurobi, the past decade has seen performance improvements from the determination of local optimality on models containing a few thousand variables and constraints to proof of global optimality on instances that are two orders of magnitude larger. Assuming basic knowledge of (mixed-integer) nonlinear programming formulation and a conceptual understanding of the algorithms applicable to these models, this paper provides a tutorial on efficiently solving large-scale nonlinear programs, which includes: (i) guidelines for careful formulation, (ii) the use of initial solutions, (iii) the provision of bounds, (iv) the principles of numerical stability, and (v) the use of the solvers to improve performance. Although applicable to all domains, we draw on three practical examples, one each from civil, mechanical, and electrical engineering.

History: This paper was refereed.

INFORMS site uses cookies to store information on your computer. Some are essential to make our site work; Others help us improve the user experience. By using this site, you consent to the placement of these cookies. Please read our Privacy Statement to learn more.