Designed by | Richard Waltz Jorge Nocedal Todd Plantenga Richard Byrd |
---|---|
Developer | Artelys |
First appeared | 2001 |
Stable release |
10.2.0 / December 21, 2016
|
OS | Cross-platform |
License | Proprietary |
Website | www |
Artelys Knitro is a commercial software package for solving large scale mathematical optimization problems. Knitro is specialized for nonlinear optimization, but also solves linear programming problems, quadratic programming problems, systems of nonlinear equations, and problems with equilibrium constraints (complementarities). The unknowns in these problems must be continuous variables in continuous functions; however, functions can be convex or nonconvex. Knitro computes a numerical solution to the problem—it does not find a symbolic mathematical solution.
Knitro can also solve mixed integer linear, quadratic or nonlinear programming problems, i.e. problems with variables that take integer values.
Optimization problems must be presented to Knitro in mathematical form, and should provide a way of computing function derivatives using sparse matrices. Problems may be written in C, C++, C#, Fortran, Java, or Python, in which case Knitro is called as a software routine to solve the problem. An often easier approach is to develop the optimization problem in an algebraic modeling language (AML) like AIMMS, AMPL, GAMS, Mathematica, MATLAB, R, Mosel (through the Xpress-NonLinear module), etc. The modeling environment computes function derivatives, and Knitro is called as a "solver" from within the environment.