A summary of the algorithms and techniques implemented in the Knitro software product is given in Byrd et al., 2006b 6. Any publications referencing the Knitro software should cite this paper (along with any other relevant citations mentioned below).

For a detailed description of the algorithm implemented in Interior/CG see Byrd et al., 1999 1 and for the global convergence theory see Byrd et al., 2000 2. The method implemented in Interior/Direct is described in Waltz et al., 2006 3. The Active Set algorithm is described in Byrd et al., 2004 4 and the global convergence theory for this algorithm is in Byrd et al., 2006a 5.

The implementation of the CG preconditioner makes use of the icfs software, which is described in details in Lin and Moré, 1999 15.

For mixed-integer nonlinear optimization, the hybrid Quesada-Grossman (HQG) method in Knitro is based on the algorithm described in 7. The MISQP algorithm in Knitro is Artelys’ own implementation of the MISQP algorithm described in 8 but differs in some details.

In order to strengthen MINLP formulations Knitro generates cuts. Especially, Knitro generates lifted cover inequalities which requires solving efficiently a knapsack problem. For solving this problem, we use the Combo algorithm from Martello et al., 1997 9. Zero-half cuts are generated using heuristics from Andreello et al., 2007 10.

We also recommend the following papers: Byrd et al., 2003 11, Fourer et al., 2003 12, Hock and Schittkowski, 1981 13, and Nocedal and Wright, 1999 14.

To solve linear systems arising at every iteration of the algorithm, Knitro may utilize routines MA27 or MA57 16, a component package of the Harwell Subroutine Library (HSL). HSL, a collection of Fortran codes for large-scale scientific computation. See

In addition, the Active Set algorithm in Knitro may make use of the COIN-OR Clp linear programming solver module. The version used in Knitro may be downloaded from

Lastly, Knitro may make use of the Intel(R) Math Kernel Library ( for some linear algebra computations.


R. H. Byrd, M. E. Hribar, and J. Nocedal, “An interior point algorithm for large scale nonlinear programming”, SIAM Journal on Optimization, 9(4):877–900, 1999.


R. H. Byrd, J.-Ch. Gilbert, and J. Nocedal, “A trust region method based on interior point techniques for nonlinear programming”, Mathematical Programming, 89(1):149–185, 2000.


R. A. Waltz, J. L. Morales, J. Nocedal, and D. Orban, “An interior algorithm for nonlinear optimization that combines line search and trust region steps”, Mathematical Programming A, 107(3):391–408, 2006.


R. H. Byrd, N. I. M. Gould, J. Nocedal, and R. A. Waltz, “An algorithm for nonlinear optimization using linear programming and equality constrained subproblems”, Mathematical Programming, Series B, 100(1):27–48, 2004.


R. H. Byrd, N. I. M. Gould, J. Nocedal, and R. A. Waltz, “On the convergence of successive linear-quadratic programming algorithms”, SIAM Journal on Optimization, 16(2):471–489, 2006.


R. H. Byrd, J. Nocedal, and R.A. Waltz, “KNITRO: An integrated package for nonlinear optimization”, In G. di Pillo and M. Roma, editors, Large-Scale Nonlinear Optimization, pages 35–59. Springer, 2006.


I. Quesada, and I. E. Grossmann, “An LP/NLP based branch and bound algorithm for convex MINLP optimization problems”, Computers and Chemical Engineering, 16(10-11):937–947, 1992.


O. Exler, and K. Schittkowski, “A trust-region SQP algorithm for mixed-integer nonlinear programming”, Optimization Letters, Vol. 1:269–280, 2007.


S. Martello, D. Pisinger, and P. Toth, “Dynamic Programming and Strong Bounds for the 0-1 Knapsack Problem”, Management Science, 45(3):414-424, 1997.


G. Andreello, A. Caprara, and M. Fischetti, “Embedding {0, ½}-Cuts in a Branch-and-Cut Framework: A Computational Study” INFORMS Journal on Computing, 19(2):229–238, 2007.


R. H. Byrd, J. Nocedal, and R. A. Waltz, “Feasible interior methods using slacks for nonlinear optimization”, Computational Optimization and Applications, 26(1):35–61, 2003.


R. Fourer, D. M. Gay, and B. W. Kernighan, “AMPL: A Modeling Language for Mathematical Programming”, 2nd Ed., Brooks/Cole – Thomson Learning, 2003.


Hock, W. and Schittkowski, K. “Test Examples for Nonlinear Programming Codes”, volume 187 of Lecture Notes in Economics and Mathematical Systems, Springer-Verlag, 1981.


J. Nocedal and S. J. Wright, “Numerical Optimization”, Springer Series in Operations Research, Springer, 1999.


C.-J. Lin and J. J. Moré, “Incomplete Cholesky factorizations with limited memory”, SIAM J. Sci. Comput., 21(1):24–45, 1999.


Harwell Subroutine Library, “A catalogue of subroutines (HSL 2002)”, AEA Technology, Harwell, Oxfordshire, England, 2002.