 KNITRO

Knitro Solver for (Mixed Integer) Nonlinear Programming

Knitro from Artelys is a solver for Nonlinear Programming (NLP) problems, including problems with complementarity constraints (MPCC, MCP), equality and inequality constraints (both convex and nonconvex), and bound constraints. Special handling is provided for LPs, QPs, systems of nonlinear equations, and nonlinear least squares problems. Knitro can also be used to solve Mixed Integer Nonlinear Programming (MINLP) problems.

Nonlinear Programming

Knitro provides four (4) different state-of-the-art algorithms to address the wide range of nonlinear optimization applications:

1) a barrier method with direct factorization,
2) a barrier method using the conjugate gradient method,
3) an active set method, and
4) a sequential quadratic programming method.

This equips the user with a range of tools to achieve the best performance for a particular problem. For example, approximate solution points determined by a barrier algorithm can be converged to more accurate solutions by crossing over to the active set algorithm.

All algorithms use exact second order derivatives from AIMMS, and scale efficiently to solve nonlinear problems with tens or even hundreds of thousands of variables and constraints.

Nonlinear programming problems are often non-convex and in that case there may be many locally optimal solutions. Normally Knitro returns the first locally optimal solution found but Knitro offers a multi-start algorithm that searches for a better optimal solution by restarting Knitro from different initial points.

Mixed Integer Nonlinear Programming

Knitro features two algorithms for solving mixed integer nonlinear programming (MINLP) problems. The first is a nonlinear branch-and-bound method and the second implements the hybrid Quesada-Grossman method for convex MINLP. The Knitro MINLP code is designed for convex mixed integer nonlinear programming and is a heuristic for non-convex problems. Knitro is developed and supported by Artelys, and has been solving commercial optimization applications since 2001. Knitro is a registered trademark of Artelys.