Artelys Knitro
Original author(s) |
|
---|---|
Developer(s) | Artelys |
Initial release | 2001 |
Stable release | 14.2
/ December 19, 2024 |
Operating system | Cross-platform |
Type | Algebraic modeling language, Nonlinear Programming |
License | Proprietary |
Website | Artelys Knitro |
Artelys Knitro is a commercial software package for solving large scale nonlinear mathematical optimization problems.
KNITRO – (the original solver name) short for "Nonlinear Interior point Trust Region Optimization" (the "K" is silent) – was co-created by Richard Waltz, Jorge Nocedal, Todd Plantenga and Rich Byrd. It was first introduced in 2001, as a derivative of academic research at Northwestern University.[1] Subsequently, it was developed by Ziena Optimization LLC, which has been bought by Frech Artelys.
Optimization problems must be presented to Knitro in mathematical form, and should provide a way of computing function derivatives using sparse matrices (Knitro can compute derivatives approximation but in most cases providing the exact derivatives is beneficial). An often easier approach is to develop the optimization problem in an algebraic modeling language. The modeling environment computes function derivatives, and Knitro is called as a "solver" from within the environment.[2]
Problem classes solved by Artelys Knitro
[edit]Knitro is specialized for nonlinear optimization but also solves a wide range of optimization problems:[3]
- General nonlinear problems (NLP), including non-convex
- Systems of nonlinear equations
- Linear problems (LP)
- Quadratic problems (QP/QCQP/SOCP), both convex and non-convex
- Least squares problems / regression, both linear and nonlinear
- Mathematical programs with complementarity constraints (MPCC/MPEC)
- Mixed-integer nonlinear problems (MIP/MINLP)
- Derivative-free optimization problems (DFO)
Algorithms
[edit]Artelys Knitro contains a wide range of optimization algorithms.
NonLinear Programming (NLP) solver
[edit]Knitro offers four different optimization algorithms for solving optimization problems.[4] Two algorithms are of the interior point type, and two are of the active set type. These algorithms are known to have fundamentally different characteristics; for example, interior point methods follow a path through the interior of the feasible region while active set methods tend to stay at the boundaries. Knitro provides both types of algorithm for greater flexibility in solving problems, and allows crossover during the solution process from one algorithm to another. The code also provides a multistart option for promoting the computation of the global minimum.
- Interior/Direct algorithm
- Interior/Conjugate Gradient algorithm
- Active Set algorithm
- Sequential Quadratic Programming (SQP) algorithm
Mixed-Integer NonLinear Programming (MINLP) solver
[edit]Knitro provides tools for solving optimization models (both linear and nonlinear) with binary or integer variables. The Knitro mixed integer programming (MIP) code offers three algorithms for mixed-integer nonlinear programming (MINLP):[5]
- Nonlinear Branch and Bound
- Quesada-Grossmann algorithm
- Mixed-Integer Sequential Quadratic Programming (MISQP)
Features
[edit]Artelys Knitro supports a variety of programming and modeling languages including.[6]
- Object-oriented interfaces for C++, C#, Java and Python
- Matrix-oriented interfaces for Julia, C, Fortran, MATLAB, and R
- Links to modeling languages: AIMMS, AMPL, GAMS, JuMP and MPL
- Links to Excel through Frontline Solvers
Artelys Knitro also includes a number of key features:
- A large set of well-documented user options[7] and automatic tuner
- (Parallel) multi-start for global optimization
- Derivatives approximation and checker
- Internal presolver
Supported platforms
[edit]Artelys Knitro is available on the following platforms:
- Windows 64-Bit
- Linux x86_64
- MacOS 64
- ARM processors for embedded optimization[8]
References
[edit]- ^ Ziena Background (PDF)
- ^ Richard H. Byrd; Jorge Nocedal; Richard A. Waltz (2006), Knitro: An Integrated Package for Nonlinear Optimization, pp. 35–59, doi:10.1007/0-387-30065-1_4, Wikidata Q60016580
- ^ Jorge Nocedal; Stephen J. Wright (2006). Numerical Optimization. Springer Science+Business Media. doi:10.1007/978-0-387-40065-5. ISBN 978-0-387-30303-1. Wikidata Q97664816.
- ^ Artelys Knitro NLP algorithms
- ^ Artelys Knitro MINLP algorithms
- ^ Artelys Knitro Features
- ^ Artelys Knitro User's Manual
- ^ Artelys Knitro and ARM processors
External links
[edit]- Jorge Nocedal, profile at EECS department of McCormick School of Engineering