Releases: coin-or/Ipopt
Releases · coin-or/Ipopt
3.14.17
- Added
Ipopt::RegisterInterruptHandler()
andIpopt::UnregisterInterruptHandler()
toIpUtils.hpp
to wrap handling of interrupt signals.
Added parametercheckinterrupt
(default false) toAmplTNLP
constructor to enable check for interrupt signal inintermediate_callback
. - The
ipopt
andipopt_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
andsprintf
. AddedIpoptData::Append_info_string(std::string,double)
. - Removed use of
strcpy
,strncpy
,strdup
, andsscanf
. - Using
fopen_s
andgetenv_s
instead offopen
andgetenv
, 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 definingIPOPT_NO_MKLVERSIONCHECK
.
3.14.16
3.14.15
3.14.14
- 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
- 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 tooutput_file
instead of truncating it.
Added default argumentfile_append
toJournalist::AddFileJournal()
, added default argumentfappend
toFileJournal::Open()
, and added default argumentfile_append
toIpoptApplication::OpenOutputFile()
. [#720]
3.14.12
- Fix that a source file was installed and install more header files. [#641, #642, by Joao Sousa Pinto]
- Fixed crash of
GetIpoptCurrentIterate()
andGetIpoptCurrentViolations()
in C interface when called before or afterIpoptSolve()
. [#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
- 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
- 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()
andOrigIpoptNLP::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
3.14.8
- 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.