Release notes

What’s new in Knitro 15.1 ?

  • Knitro 15.1 provides significant performance improvements when using the Augmented Lagrangian (AL) algorithm (nlp_algorithm =6).

  • Knitro 15.1 introduces new presolve operations aimed mainly at binary variables in MILP. A new presolveop_probing option is added, which controls the effort spent probing binary variables to deduce reductions. Knitro now exploits the cliques present in MIP models to fix binary variables and merge overlapping cliques to reduce model size and strengthen the relaxation. A new presolveop_clique_merging option enables/disables this clique merging operation. Other minor improvements were made to the MILP presolve.

  • Knitro 15.1 introduces a new MIP heuristic via the new mip_heuristic_fixpropagate option. This fast heuristic runs parallel to the root relaxation and allows Knitro’s Branch and Bound to start with good feasible solutions more often.

  • Knitro 15.1 adds a new API function “KN_write_problem()” to write an optimization problem to a file in MPS and LP formats. Also, the function KN_read_problem() is now able to read LP format. Other file formats may be supported in the future.

  • Knitro 15.1 adds a new command-line interface (CLI), with an executable named “knitro”, which accepts MPS and LP formats as well as any Knitro user options. It is functionally equivalent to the sequence of calling KN_read_problem(), setting any provided options, then calling KN_solve().

  • Knitro 15.1 adds a new API function KN_get_obj_name() to retrieve the name associated with the objective function in the model.

  • Knitro 15.1 adds a new API function KN_del_con_linear_struct_all() to delete all linear terms from a set of constraints.

  • Knitro 15.1 adds two new feasible return codes: KN_RC_FEAS_BEST(-104) is used when returning the best feasible solution (when soltype =1), and KN_RC_FEAS_MULTISTART(-105) is used when returning a feasible solution from the multi-start procedure.

  • Knitro 15.1 has been updated to use Intel MKL and OpenMP version 2025.3 on Windows and Linux AMD64 or Intel64 machines.

Bug Fixes in Knitro 15.1.0

  • Fixed bug that could cause a segfault when using the default interior- point algorithm (nlp_algorithm =1) in Knitro with the limited-memory BFGS Hessian option (hessopt =6).

  • Fixed bug preventing the use of the “newpoint” callback when using the Augmented Lagrangian algorithm (nlp_algorithm =6), or the PDLP algorithm (lp_algorithm =4).

  • Fixed bug using the “multi-alg” solver in Knitro when the presolver was enabled.

  • Fixed bug using Apple Accelerate linear solver (linsolver =9) on MacOS with crossover enabled (bar_maxcrossit >=1).

  • Fixed bug caused by MKL 2024.2 integration in Knitro 15.0 that could cause Knitro to hang when using Intel MKL on machines with AMD processors running Windows OS.