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]. A summary of the algorithms and techniques implemented in the Knitro software product is given in Byrd et al., 2006b [6].

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

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.

We also recommend the following papers: Byrd et al., 2003 [9], Fourer et al., 2003 [10], Hock and Schittkowski, 1981 [11], and Nocedal and Wright, 1999 [12].

To solve linear systems arising at every iteration of the algorithm, Knitro may utilize routines MA27 or MA57 [14], 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.


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.