KNITRO  Authors  Richard Byrd
Email: richard@cs.colorado.edu Jorge Nocedal Northwestern University, Evanston, Illinois. Email: jlavelle@ece.nwu.edu Richard Waltz Northwestern University, Evanston, Illinois. Email: rwaltz@ece.northwestern.edu Mary Beth Hribar Guanghui Lui with assistance from: Todd Plantenga, Sandia National Laboratories Marcelo Marazzi Northwestern University, Evanston, Illinois Email: marazzi@northwestern.edu 
Language  FORTRAN 77  
Algorithm  The algorithm belongs to the class of interior (or barrier) methods, and uses trust regions to promote convergence.  
Input Format  AMPL; Special Fortran interface (4 subroutines);  
Modeling Languages link  AMPL  
Commercial Status  free (ask the author)  
Platform  Any machine with a reasonable amount of memory and a Fortran compiler.  
Remarks  KNITRO implements an interior point method for nonlinear programming.
The nonlinear programming problem is replaced by a series of barrier subproblems controlled by a barrier parameter.
The algorithm uses trust regions and a merit function to promote convergence. Each step is a sum of two components:
(i) a normal step whose objective is to improve feasibility; and (ii) a tangential step that aims toward optimality. The tangential step is computed using a projected conjugate gradient iteration. KNITRO does not compute each step by solving a linear algebraic system involving the KKT matrix. Instead, it factors (using MA27 subroutines) a projection matrix, and uses the conjugate gradient method to aproximately minimize a quadratic model of the barrier problem. KNITRO is interfaced with AMPL. For the Fortran interface the user must provide four Fortran subroutines describing: (i) data about the problem, (ii) the objective function and the constraints, (iii) the gradient of the objective function and the Jacobian matrix of the constraints, (iv) the Hessian of the Lagrangian function.  
References 
