Skip to content

Releases: coin-or/Ipopt

3.14.17

14 Dec 15:03
Compare
Choose a tag to compare
  • Added Ipopt::RegisterInterruptHandler() and Ipopt::UnregisterInterruptHandler() to IpUtils.hpp to wrap handling of interrupt signals.
    Added parameter checkinterrupt (default false) to AmplTNLP constructor to enable check for interrupt signal in intermediate_callback.
  • The ipopt and ipopt_sens executables and scalable problems C++ examples can now be interrupted by SIGINT/SIGHUP (systems with sigaction()) or SIGINT/SIGTERM/SIGABRT (Windows systems).
  • New option mumps_mpi_communicator to specify the MPI communicator when using an MPI-enabled build of MUMPS [#790, by Alex Tyler Chapman].
  • Updated build system to current autotools versions; initial support for icx/ifx and flang.
  • Removed use of vsprintf and sprintf. Added IpoptData::Append_info_string(std::string,double).
  • Removed use of strcpy, strncpy, strdup, and sscanf.
  • Using fopen_s and getenv_s instead of fopen and getenv, respectively, if available.
  • Added workaround for using Pardiso from Intel MKL 2025.0.1 [#799].
    This requires checking the MKL version at runtime and can be disabled by defining IPOPT_NO_MKLVERSIONCHECK.

3.14.16

22 Apr 12:48
43a6341
Compare
Choose a tag to compare
  • Fixed load of linear solver libraries at runtime on Windows, which was broken for relative paths in 3.14.15 [#759, #760].

3.14.15

10 Apr 13:12
Compare
Choose a tag to compare
  • Fixed include guard of IpGenAugSystemSolver.hpp [#756, by Christopher Wellons].
  • Improved finding dependencies of linear solver libraries loaded at runtime on Windows [#755, by Yue Yang].

3.14.14

18 Jan 03:59
Compare
Choose a tag to compare
  • Fixed build of MA57 interface when FUNNY_MA57_FINT is defined (MA57 with long integers).
  • Fixed that initial dual values for fixed variables (z_L, z_U) were ignored when doing a warm start with fixed_variable_treatment = make_constraint [#728].
  • Fixed that the last argument when calling MA27C[D] in MA27 interface was wrong [#738].

3.14.13

08 Nov 10:43
Compare
Choose a tag to compare
  • Reduced priority for making Spral the default value for option linear_solver [#677].
  • Adapted to change of integer types in Spral interface. Minimal required Spral version is now v2023.03.29.
  • Fixed that return code from TNLP::eval_jac_g() was ignored at first call [#697, by Christoph Hansknecht].
  • Print additional messages when reallocation of MA27 working space failed [#671, by Daniel Oliveira].
  • Added option file_append to specify whether to append to output_file instead of truncating it.
    Added default argument file_append to Journalist::AddFileJournal(), added default argument fappend to FileJournal::Open(), and added default argument file_append to IpoptApplication::OpenOutputFile(). [#720]

3.14.12

05 Apr 09:21
Compare
Choose a tag to compare
  • Fix that a source file was installed and install more header files. [#641, #642, by Joao Sousa Pinto]
  • Fixed crash of GetIpoptCurrentIterate() and GetIpoptCurrentViolations() in C interface when called before or after IpoptSolve(). [#644, #645, by Robbybp]
  • Updated HSL_MA97 header file to the one from HSL MA97 2.8.0 [#646, by Jari Fowkes].
  • Fixed crash when trying to solve problem without variables and constraints. [#648]
  • Added optional argument to AlgorithmBuilder constructor to provide name of custom solver. [#618]
  • Changed handling of dual solution for square problems: When solving a problem with as many equations as variables, Ipopt used to ignore the violation of dual feasibility and complementarity in the convergence check and computed a final dual solution via a least-square estimate. If this failed, Ipopt would claim a square problem to be solved to optimality without providing a solution that satisfies optimality conditions. With this version, the behavior has been changed so that dual feasibility is no longer ignored by the convergence check, the least-square estimate is only computed if optimality is not proven already, and the normal Ipopt algorithm continues if the least-square estimate does not satisfy optimality conditions.
  • Updated HSL_MC86 header file to the one from HSL MC68 3.3.3 [#653, by Jari Fowkes].

3.14.11

07 Feb 04:12
Compare
Choose a tag to compare
  • Added IpoptData::TimingStats() const [#611]
  • Assume DLL library extension in linear solver library loader on Windows also when building with other compiler than MSVC/Intel [#628].
  • Updated buildsystem files after upgrading to most recent versions of autotools.
  • Install some additional header files [#637].

3.14.10

11 Oct 08:16
Compare
Choose a tag to compare
  • Added option grad_f_constant to specify that objective function is linear. If set, the gradient of the objective will be requested by Ipopt only once. [#597]
  • Added OrigIpoptNLP::orig_d_L() and OrigIpoptNLP::orig_d_U() to get original constraint sides (before relaxation due to bound_relax_factor > 0).
  • TNLP::get_curr_violations() now returns the constraint violation and complementarity with respect to the original (non-relaxed) constraint sides. [#603]

3.14.9

21 Jul 08:40
Compare
Choose a tag to compare
  • Fixed mapping of meta data for variable bounds, e.g., variable names, from TNLP to Ipopts internal NLP [#590].

3.14.8

13 Jul 18:59
Compare
Choose a tag to compare
  • Added options ma27_print_level, ma57_print_level, and mumps_print_level to enable output from these linear solvers.

For Windows libraries, use the one from the 3.14.7 release.