Release notes
What’s new in Knitro 15.0 ?
Knitro 15.0 offers a new Augmented Lagrangian (AL) algorithm for nonlinear optimization models. This new algorithm uses the nonlinearly constrained (i.e. NCL) approach and may still make use of second derivatives. It may be preferable for difficult problems with degenerate constraints where the Linear Independence Constraint Qualification (LICQ) is not satisfied. This algorithm can be selected by setting the user option
nlp_algorithm
=6 (al). The initial penalty parameter value and maximum penalty parameter value for the AL algorithm can be set through the new user optionsal_initpenalty
andal_maxpenalty
.Knitro 15.0 introduces a new Primal-Dual Hybrid Gradient algorithm for linear programming (LP) problems. This new algorithm only uses first order information to converge and avoids matrix factorizations. It may be preferable for extremely large-scale models when the default interior-point method struggles. This algorithm can be selected by setting the new user option
lp_algorithm
=4 (pdlp).Knitro 15.0 offers significant performance improvements when using the limited-memory BFGS Hessian approximation (
hessopt
=6), particularly on large-scale problems.Knitro 15.0 updates the API to allow for re-solving with the same Knitro solver object after model modifications of quadratic structures and nonlinear (callback) structures. Previously, re-solving with the same solver object was only permitted after changes to linear structures. The new API functions
KN_del_obj_quadratic_struct()
,KN_del_con_quadratic_struct()
,KN_del_eval_callbacks()
, andKN_del_obj_eval_callback()
have been added to support this new functionality.Knitro 15.0 offers the option to use the Apple Sparse Solvers from Apple Accelerate on Mac-ARM platforms to solve linear systems inside Knitro via the user option
linsolver
=9 (apple). This may improve performance when solving large-scale models.Knitro 15.0 introduces updated user options to choose the algorithm used for linear optimization problems versus nonlinear optimization problems. The generic “algorithm” option has been renamed
nlp_algorithm
and should be used for nonlinear problems, while a newlp_algorithm
option has been introduced to choose the algorithm (such as the new PDLP algorithm) used for linear programming problems.Knitro 15.0 introduces updated user options to choose the algorithms used for various node subproblems in mixed-integer problems when using the branch-and-bound method. The option “mip_rootalg” has been renamed
mip_root_nlpalg
and should be used for nonlinear root node subproblems, while the new optionmip_root_lpalg
should be used for linear root node subproblems. Similarly, the option “mip_nodealg” has been renamedmip_node_nlpalg
and should be used for nonlinear non-root node subproblems, while the new optionmip_node_lpalg
should be used for linear non-root node subproblems. The user option “mip_lpalg” has been deprecated and should no longer be used.Knitro 15.0 introduces new cutoff improvement options
mip_cutoff_abs
andmip_cutoff_rel
for the branch-and-bound algorithm.Knitro 15.0 introduces a new API function
KN_get_obj_goal()
to get the objective goal (minimize or maximize). In addition, a “const” keyword was added to the user-specified variable/constraint/objective name parameter in the “KN_set_*_names()” API functions.Knitro 15.0 has been updated to use Intel MKL and OpenMP version 2024.2 on Windows and Linux AMD64 or Intel64 machines.
Knitro 15.0 offers performance improvements from presolve (bound propagation, reduced cost fixing, coefficient strenghtening, parallel row detection), particularly for mixed-integer nonlinear programs (MINLP) problems having linear structures.
Bug Fixes in Knitro 15.0.0
Fixed bug that sometimes prevented custom feasibility tolerances from being active when the Knitro presolver was active.
Fixed bug returning the correct Lagrange multipliers/dual variables when using multi-start.
Fixed bug using
KN_get_best_feasible_iterate()
or user optionsoltype
=1 with barrier crossover.Fixed bug that prevented the use of the
ncvx_qcqp_init
user option through certain interfaces.Fixed bugs in
KN_load_mps_file()
andKN_write_mps_file()
with quadratic structures and fixed variables.
Deprecations in Knitro 15.0.0
Support for Mac Intel platform has been deprecated. This platform will be removed from future Knitro releases.
Hybrid Quesada-Grossman method for convex, mixed-integer, nonlinear problems, corresponding to
mip_method
=2, is deprecated from Knitro version 14.2 and is removed in Knitro 15.0.