Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package Ipopt for openSUSE:Factory checked in at 2024-01-25 18:41:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/Ipopt (Old) and /work/SRC/openSUSE:Factory/.Ipopt.new.1815 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Ipopt" Thu Jan 25 18:41:07 2024 rev:20 rq:1141262 version:3.14.14 Changes: -------- --- /work/SRC/openSUSE:Factory/Ipopt/Ipopt.changes 2023-11-30 22:01:14.264875217 +0100 +++ /work/SRC/openSUSE:Factory/.Ipopt.new.1815/Ipopt.changes 2024-01-25 18:41:13.798709981 +0100 @@ -1,0 +2,13 @@ +Sat Jan 20 15:21:24 UTC 2024 - Atri Bhattacharya <badshah...@gmail.com> + +- Update to version 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 + [gh#coin-or/Ipopt#728]. + * Fixed that the last argument when calling MA27C[D] in MA27 + interface was wrong [gh#coin-or/Ipopt#738]. + +------------------------------------------------------------------- Old: ---- Ipopt-3.14.13.tar.gz New: ---- Ipopt-3.14.14.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Ipopt.spec ++++++ --- /var/tmp/diff_new_pack.sb50EO/_old 2024-01-25 18:41:14.422732244 +0100 +++ /var/tmp/diff_new_pack.sb50EO/_new 2024-01-25 18:41:14.422732244 +0100 @@ -1,7 +1,7 @@ # # spec file for package Ipopt # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define sover 3 %define shlib libipopt%{sover} Name: Ipopt -Version: 3.14.13 +Version: 3.14.14 Release: 0 Summary: A software package for large-scale nonlinear optimization methods License: EPL-2.0 ++++++ Ipopt-3.14.13.tar.gz -> Ipopt-3.14.14.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/ChangeLog.md new/Ipopt-releases-3.14.14/ChangeLog.md --- old/Ipopt-releases-3.14.13/ChangeLog.md 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/ChangeLog.md 2024-01-18 04:56:59.000000000 +0100 @@ -7,6 +7,13 @@ ## 3.14 +### 3.14.14 (2024-01-18) + +- 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 MA27CD/MA27C in MA27 interface was wrong [#738]. + ### 3.14.13 (2023-11-08) - Reduced priority for making Spral the default value for option linear_solver [#677]. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/README.md new/Ipopt-releases-3.14.14/README.md --- old/Ipopt-releases-3.14.13/README.md 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/README.md 2024-01-18 04:56:59.000000000 +0100 @@ -7,17 +7,16 @@ Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale [nonlinear optimization](http://wiki.mcs.anl.gov/NEOS/index.php/Nonlinear_Programming_FAQ). It is designed to find (local) solutions of mathematical optimization problems of the form -``` - min f(x) - x â Râ¿ - -s.t. g_L ⤠g(x) ⤠g_U - x_L ⤠x ⤠x_U -``` -where ```f(x): Râ¿ --> R``` is the objective function, and ```g(x): Râ¿ --> Ráµ``` -are the constraint functions. The vectors `g_L` and `g_U` denote the lower and upper bounds on the constraints, and the vectors `x_L` and `x_U` are the bounds on the variables `x`. -The functions `f(x)` and `g(x)` can be nonlinear and nonconvex, but should be twice continuously differentiable. -Note that equality constraints can be formulated in the above formulation by setting the corresponding components of `g_L` and `g_U` to the same value. +$$\begin{align} +\min_{x \in R^n}\ & f(x), \\ +\text{s.t.}\ & g_L \le g(x) \le g_U, \\ +& x_L \le x \le x_U, +\end{align}$$ + +where $f: R^n \rightarrow R$ is the objective function, +and $g: R^n \rightarrow R^m$ are the constraint functions. The vectors $g_L$ and $g_U$ denote the lower and upper bounds on the constraints, and the vectors $x_L$ and $x_U$ are the bounds on the variables $x$. +The functions $f(x)$ and $g(x)$ can be nonlinear and nonconvex, but should be twice continuously differentiable. +Note that equality constraints can be formulated in the above formulation by setting the corresponding components of $g_L$ and $g_U$ to the same value. Ipopt is part of the [COIN-OR Initiative](http://www.coin-or.org). The Ipopt project webpage is <https://github.com/coin-or/Ipopt>. @@ -62,8 +61,8 @@ Ipopt requires at least one of the following solvers for systems of linear equations: - MA27, MA57, HSL_MA77, HSL_MA86, or HSL_MA97 from the [Harwell Subroutines Library](http://hsl.rl.ac.uk) (HSL). - It is recommended to use project [ThirdParty-HSL](https://github.com/coin-or-tools/ThirdParty-HSL) to build a HSL library for use by Ipopt. - Alternatively, prebuild libraries are available from JuliaHSL, see the [Ipopt installation instruction](https://coin-or.github.io/Ipopt/INSTALL.html#DOWNLOAD_HSL). + It is recommended to use project [ThirdParty-HSL](https://github.com/coin-or-tools/ThirdParty-HSL) to build a HSL library for use by Ipopt + or to use [prebuild macOS/Windows libraries from STFC](https://licences.stfc.ac.uk/product/libhsl), see the [Ipopt installation instruction](https://coin-or.github.io/Ipopt/INSTALL.html#DOWNLOAD_HSL). - [Parallel Sparse Direct Linear Solver](http://www.pardiso-project.org) (Pardiso). Note, that the Intel Math Kernel Library (MKL) also includes a version of Pardiso, but the one from Pardiso Project often offers better performance. - [Sparse Parallel Robust Algorithms Library](https://github.com/ralna/spral) (SPRAL). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/configure new/Ipopt-releases-3.14.14/configure --- old/Ipopt-releases-3.14.13/configure 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/configure 2024-01-18 04:56:59.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Ipopt 3.14.13. +# Generated by GNU Autoconf 2.71 for Ipopt 3.14.14. # # Report bugs to <https://github.com/coin-or/Ipopt/issues/new>. # @@ -627,8 +627,8 @@ # Identity of this package. PACKAGE_NAME='Ipopt' PACKAGE_TARNAME='ipopt' -PACKAGE_VERSION='3.14.13' -PACKAGE_STRING='Ipopt 3.14.13' +PACKAGE_VERSION='3.14.14' +PACKAGE_STRING='Ipopt 3.14.14' PACKAGE_BUGREPORT='https://github.com/coin-or/Ipopt/issues/new' PACKAGE_URL='https://github.com/coin-or/Ipopt' @@ -1499,7 +1499,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Ipopt 3.14.13 to adapt to many kinds of systems. +\`configure' configures Ipopt 3.14.14 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1570,7 +1570,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Ipopt 3.14.13:";; + short | recursive ) echo "Configuration of Ipopt 3.14.14:";; esac cat <<\_ACEOF @@ -1773,7 +1773,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Ipopt configure 3.14.13 +Ipopt configure 3.14.14 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2658,7 +2658,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Ipopt $as_me 3.14.13, which was +It was created by Ipopt $as_me 3.14.14, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4279,7 +4279,7 @@ -printf "%s\n" "#define IPOPT_VERSION \"3.14.13\"" >>confdefs.h +printf "%s\n" "#define IPOPT_VERSION \"3.14.14\"" >>confdefs.h printf "%s\n" "#define IPOPT_VERSION_MAJOR 3" >>confdefs.h @@ -4288,7 +4288,7 @@ printf "%s\n" "#define IPOPT_VERSION_MINOR 14" >>confdefs.h -printf "%s\n" "#define IPOPT_VERSION_RELEASE 13" >>confdefs.h +printf "%s\n" "#define IPOPT_VERSION_RELEASE 14" >>confdefs.h @@ -4399,7 +4399,7 @@ # Define the identity of the package. PACKAGE='ipopt' - VERSION='3.14.13' + VERSION='3.14.14' # Some tools Automake needs. @@ -22297,9 +22297,9 @@ - LT_LDFLAGS="$LT_LDFLAGS -version-number 3:14:13" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: libtool version info: -version-number 3:14:13" >&5 -printf "%s\n" "$as_me: libtool version info: -version-number 3:14:13" >&6;} + LT_LDFLAGS="$LT_LDFLAGS -version-number 3:14:14" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: libtool version info: -version-number 3:14:14" >&5 +printf "%s\n" "$as_me: libtool version info: -version-number 3:14:14" >&6;} LT_LDFLAGS="$LT_LDFLAGS -no-undefined" @@ -27980,7 +27980,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Ipopt $as_me 3.14.13, which was +This file was extended by Ipopt $as_me 3.14.14, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -28053,7 +28053,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Ipopt config.status 3.14.13 +Ipopt config.status 3.14.14 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/configure.ac new/Ipopt-releases-3.14.14/configure.ac --- old/Ipopt-releases-3.14.13/configure.ac 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/configure.ac 2024-01-18 04:56:59.000000000 +0100 @@ -8,7 +8,7 @@ # Names and other basic things # ############################################################################# -AC_INIT([Ipopt],[3.14.13],[https://github.com/coin-or/Ipopt/issues/new],[],[https://github.com/coin-or/Ipopt]) +AC_INIT([Ipopt],[3.14.14],[https://github.com/coin-or/Ipopt/issues/new],[],[https://github.com/coin-or/Ipopt]) AC_COPYRIGHT([ Copyright 2004, 2011 International Business Machines and others. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/AmplSolver/ampl_sipopt.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/AmplSolver/ampl_sipopt.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/AmplSolver/ampl_sipopt.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/AmplSolver/ampl_sipopt.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -22,7 +22,7 @@ app_ipopt->RethrowNonIpoptException(false); SmartPtr<SensApplication> app_sens = new SensApplication(app_ipopt->Jnlst(), app_ipopt->Options(), - app_ipopt->RegOptions()); + app_ipopt->RegOptions()); // Register sIPOPT options RegisterOptions_sIPOPT(app_ipopt->RegOptions()); @@ -124,7 +124,7 @@ // create AmplSensTNLP from argc. SmartPtr<TNLP> sens_tnlp = new SensAmplTNLP(ConstPtr(app_ipopt->Jnlst()), app_ipopt->RegOptions(), app_ipopt->Options(), argc, suffix_handler, - false, ampl_options_list); + false, ampl_options_list); app_sens->Initialize(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_cpp/parametricTNLP.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_cpp/parametricTNLP.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_cpp/parametricTNLP.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_cpp/parametricTNLP.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -308,7 +308,7 @@ // Get access to the metadata, where the solutions are stored. The metadata is part of the DenseVectorSpace. SmartPtr<const DenseVectorSpace> x_owner_space = dynamic_cast<const DenseVectorSpace*>(GetRawPtr( - ip_data->curr()->x()->OwnerSpace())); + ip_data->curr()->x()->OwnerSpace())); if( !IsValid(x_owner_space) ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_cpp/parametric_driver.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_cpp/parametric_driver.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_cpp/parametric_driver.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_cpp/parametric_driver.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -21,7 +21,7 @@ SmartPtr<IpoptApplication> app_ipopt = new IpoptApplication(); SmartPtr<SensApplication> app_sens = new SensApplication(app_ipopt->Jnlst(), app_ipopt->Options(), - app_ipopt->RegOptions()); + app_ipopt->RegOptions()); // Register sIPOPT options RegisterOptions_sIPOPT(app_ipopt->RegOptions()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametricTNLP.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametricTNLP.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametricTNLP.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametricTNLP.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -309,7 +309,7 @@ // Get access to the metadata, where the solutions are stored. The metadata is part of the DenseVectorSpace. SmartPtr<const DenseVectorSpace> x_owner_space = dynamic_cast<const DenseVectorSpace*>(GetRawPtr( - ip_data->curr()->x()->OwnerSpace())); + ip_data->curr()->x()->OwnerSpace())); if( !IsValid(x_owner_space) ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametric_dsdp_driver.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametric_dsdp_driver.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametric_dsdp_driver.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/parametric_dsdp_cpp/parametric_dsdp_driver.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -21,7 +21,7 @@ SmartPtr<IpoptApplication> app_ipopt = new IpoptApplication(); SmartPtr<SensApplication> app_sens = new SensApplication(app_ipopt->Jnlst(), app_ipopt->Options(), - app_ipopt->RegOptions()); + app_ipopt->RegOptions()); // Register sIPOPT options RegisterOptions_sIPOPT(app_ipopt->RegOptions()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/redhess_cpp/redhess_cpp.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/redhess_cpp/redhess_cpp.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/examples/redhess_cpp/redhess_cpp.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/examples/redhess_cpp/redhess_cpp.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -22,7 +22,7 @@ SmartPtr<IpoptApplication> app_ipopt = new IpoptApplication(); SmartPtr<SensApplication> app_sens = new SensApplication(app_ipopt->Jnlst(), app_ipopt->Options(), - app_ipopt->RegOptions()); + app_ipopt->RegOptions()); // Register sIPOPT options RegisterOptions_sIPOPT(app_ipopt->RegOptions()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/src/SensAlgorithm.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/src/SensAlgorithm.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/src/SensAlgorithm.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/src/SensAlgorithm.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -119,7 +119,7 @@ statevalue = "sens_init_constr"; SmartPtr<const DenseVectorSpace> x_owner_space_ = dynamic_cast<const DenseVectorSpace*>( - GetRawPtr(IpData().curr()->y_c()->OwnerSpace())); + GetRawPtr(IpData().curr()->y_c()->OwnerSpace())); const std::vector<Index> idx_ipopt = x_owner_space_->GetIntegerMetaData(state.c_str()); np_ = 0; @@ -220,7 +220,7 @@ statevalue = "sens_init_constr"; SmartPtr<const DenseVectorSpace> x_owner_space_ = dynamic_cast<const DenseVectorSpace*>( - GetRawPtr(IpData().curr()->y_c()->OwnerSpace())); + GetRawPtr(IpData().curr()->y_c()->OwnerSpace())); //= dynamic_cast<const DenseVectorSpace*>(GetRawPtr(IpData().curr()->x()->OwnerSpace())); const std::vector<Index> idx_ipopt = x_owner_space_->GetIntegerMetaData(state.c_str()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/contrib/sIPOPT/src/SensApplication.cpp new/Ipopt-releases-3.14.14/contrib/sIPOPT/src/SensApplication.cpp --- old/Ipopt-releases-3.14.13/contrib/sIPOPT/src/SensApplication.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/contrib/sIPOPT/src/SensApplication.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -163,7 +163,7 @@ SmartPtr<SensBuilder> schur_builder = new SensBuilder(); const std::string prefix = ""; // I should be getting this somewhere else... SmartPtr<ReducedHessianCalculator> red_hess_calc = schur_builder->BuildRedHessCalc(*jnlst_, *options_, prefix, - *ip_nlp_, *ip_data_, *ip_cq_, *pd_solver_); + *ip_nlp_, *ip_data_, *ip_cq_, *pd_solver_); red_hess_calc->ComputeReducedHessian(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/doc/install.dox new/Ipopt-releases-3.14.14/doc/install.dox --- old/Ipopt-releases-3.14.13/doc/install.dox 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/doc/install.dox 2024-01-18 04:56:59.000000000 +0100 @@ -230,18 +230,11 @@ \attention The build system of %Ipopt currently requires that MA27 is part of a HSL library, if a HSL library is provided. -Next to the HSL source packages, also **prebuild libraries** of HSL are -available in the HSL_Jll.jl package (directory `override`) from -https://licences.stfc.ac.uk/product/julia-hsl. -While these libraries are intended for use with Julia, they can also be -used by %Ipopt without Julia when using the shared library loading mechanism +Next to the HSL source packages, also **prebuild libraries** of HSL for macOS and Windows are +available in the libHSL package from https://licences.stfc.ac.uk/product/libhsl +and the Coin-HSL package from https://licences.stfc.ac.uk/product/coin-hsl. +Both can be used by %Ipopt when using the shared library loading mechanism described \ref LINEARSOLVERLOADER "below". -The HSL libs from HSL_Jll.jl have additional dependencies. If installing -the package via Julia, the latter will automatically determine and install -the dependencies. Without Julia, one can install the dependencies manually: -[OpenBLAS32](https://github.com/JuliaBinaryWrappers/OpenBLAS32_jll.jl/releases), -[METIS](https://github.com/JuliaBinaryWrappers/METIS_jll.jl/releases), -[CompilerSupportLibraries](https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl/releases). \note Whereas it is essential to have at least one linear solver, the package MC19 could be omitted (with the consequence that you cannot use diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/Inexact/IpInexactAlgBuilder.cpp new/Ipopt-releases-3.14.14/src/Algorithm/Inexact/IpInexactAlgBuilder.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/Inexact/IpInexactAlgBuilder.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/Inexact/IpInexactAlgBuilder.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -211,18 +211,18 @@ SmartPtr<InexactNewtonNormalStep> NewtonNormalStep = new InexactNewtonNormalStep(AugSolver); SmartPtr<InexactNormalStepCalculator> normal_step_calculator = new InexactDoglegNormalStep(NewtonNormalStep, - NormalTester); + NormalTester); SmartPtr<PDPerturbationHandler> perturbHandler = new PDPerturbationHandler(); SmartPtr<InexactPDSolver> inexact_pd_solver = new InexactPDSolver(*AugSolver, *perturbHandler); SmartPtr<SearchDirectionCalculator> SearchDirCalc = new InexactSearchDirCalculator(normal_step_calculator, - inexact_pd_solver); + inexact_pd_solver); // Create the main algorithm SmartPtr<IpoptAlgorithm> alg = new IpoptAlgorithm(SearchDirCalc, GetRawPtr(lineSearch), MuUpdate, convCheck, - IterInitializer, IterOutput, HessUpdater, NULL, linear_solver); + IterInitializer, IterOutput, HessUpdater, NULL, linear_solver); return alg; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpAlgBuilder.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpAlgBuilder.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpAlgBuilder.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpAlgBuilder.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -755,7 +755,7 @@ MuUpdate_ = BuildMuUpdate(jnlst, options, prefix); SmartPtr<IpoptAlgorithm> alg = new IpoptAlgorithm(SearchDirCalc_, LineSearch_, MuUpdate_, ConvCheck_, - IterInitializer_, IterOutput_, HessUpdater_, EqMultCalculator_, linear_solver); + IterInitializer_, IterOutput_, HessUpdater_, EqMultCalculator_, linear_solver); return alg; } @@ -851,7 +851,7 @@ SmartPtr<IterateInitializer> WarmStartInitializer = new WarmStartIterateInitializer(); SmartPtr<IterateInitializer> IterInitializer = new DefaultIterateInitializer(EqMultCalculator_, WarmStartInitializer, - GetAugSystemSolver(jnlst, options, prefix)); + GetAugSystemSolver(jnlst, options, prefix)); return IterInitializer; } @@ -911,7 +911,7 @@ resto_LSacceptor = new PenaltyLSAcceptor(GetRawPtr(resto_PDSolver)); } SmartPtr<LineSearch> resto_LineSearch = new BacktrackingLineSearch(resto_LSacceptor, GetRawPtr(resto_resto), - GetRawPtr(resto_convCheck)); + GetRawPtr(resto_convCheck)); // Create the mu update that will be used by the restoration phase // algorithm @@ -1007,8 +1007,8 @@ } SmartPtr<IpoptAlgorithm> resto_alg = new IpoptAlgorithm(resto_SearchDirCalc, GetRawPtr(resto_LineSearch), - GetRawPtr(resto_MuUpdate), GetRawPtr(resto_convCheck), resto_IterInitializer, resto_IterOutput, - resto_HessUpdater, resto_EqMultCalculator, linear_solver); + GetRawPtr(resto_MuUpdate), GetRawPtr(resto_convCheck), resto_IterInitializer, resto_IterOutput, + resto_HessUpdater, resto_EqMultCalculator, linear_solver); // Set the restoration phase resto_phase = new MinC_1NrmRestorationPhase(*resto_alg, EqMultCalculator_); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpAugRestoSystemSolver.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpAugRestoSystemSolver.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpAugRestoSystemSolver.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpAugRestoSystemSolver.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -355,7 +355,7 @@ } neg_omega_c_plus_D_c_cache_.AddCachedResult3Dep(retVec, GetRawPtr(sigma_tilde_n_c_inv), - GetRawPtr(sigma_tilde_p_c_inv), D_c); + GetRawPtr(sigma_tilde_p_c_inv), D_c); } } return ConstPtr(retVec); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpIpoptData.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpIpoptData.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpIpoptData.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpIpoptData.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -140,8 +140,8 @@ new_s = new_y_d->MakeNew(); // same dimension as d iterates_space_ = new IteratesVectorSpace(*(new_x->OwnerSpace()), *(new_s->OwnerSpace()), *(new_y_c->OwnerSpace()), - *(new_y_d->OwnerSpace()), *(new_z_L->OwnerSpace()), *(new_z_U->OwnerSpace()), *(new_v_L->OwnerSpace()), - *(new_v_U->OwnerSpace())); + *(new_y_d->OwnerSpace()), *(new_z_L->OwnerSpace()), *(new_z_U->OwnerSpace()), *(new_v_L->OwnerSpace()), + *(new_v_U->OwnerSpace())); curr_ = iterates_space_->MakeNewIteratesVector(*new_x, *new_s, *new_y_c, *new_y_d, *new_z_L, *new_z_U, *new_v_L, *new_v_U); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpLimMemQuasiNewtonUpdater.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpLimMemQuasiNewtonUpdater.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpLimMemQuasiNewtonUpdater.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpLimMemQuasiNewtonUpdater.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -644,7 +644,7 @@ if( IsValid(Qminus) ) { SmartPtr<MultiVectorMatrixSpace> U_space = new MultiVectorMatrixSpace(Qminus->NCols(), - *s_new->OwnerSpace()); + *s_new->OwnerSpace()); U_ = U_space->MakeNewMultiVectorMatrix(); U_->AddRightMultMatrix(1., *Vtilde, *Qminus, 0.); DBG_PRINT_MATRIX(3, "U", *U_); @@ -658,7 +658,7 @@ if( IsValid(Qplus) ) { SmartPtr<MultiVectorMatrixSpace> V_space = new MultiVectorMatrixSpace(Qplus->NCols(), - *s_new->OwnerSpace()); + *s_new->OwnerSpace()); V_ = V_space->MakeNewMultiVectorMatrix(); V_->AddRightMultMatrix(1., *Vtilde, *Qplus, 0.); DBG_PRINT_MATRIX(3, "V", *V_); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpLowRankSSAugSystemSolver.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpLowRankSSAugSystemSolver.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpLowRankSSAugSystemSolver.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpLowRankSSAugSystemSolver.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -248,13 +248,13 @@ DBG_ASSERT(dynamic_cast<const ExpansionMatrix*>(GetRawPtr(P_LM))); } SmartPtr<ExpandedMultiVectorMatrixSpace> expanded_vu_space = new ExpandedMultiVectorMatrixSpace(max_rank_, - *LR_VecSpace, exp_matrix); + *LR_VecSpace, exp_matrix); expanded_vu_ = expanded_vu_space->MakeNewExpandedMultiVectorMatrix(); // Create extended y_c quantities to include the V and U matrices DBG_ASSERT(IsNull(J_c_ext_)); SmartPtr<CompoundMatrixSpace> J_c_ext_space = new CompoundMatrixSpace(2, 1, proto_rhs_c.Dim() + max_rank_, - proto_rhs_x.Dim()); + proto_rhs_x.Dim()); J_c_ext_space->SetBlockRows(0, proto_rhs_c.Dim()); J_c_ext_space->SetBlockRows(1, max_rank_); J_c_ext_space->SetBlockCols(0, proto_rhs_x.Dim()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpOrigIpoptNLP.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpOrigIpoptNLP.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpOrigIpoptNLP.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpOrigIpoptNLP.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -263,7 +263,7 @@ { DBG_ASSERT(IsValid(P_approx)); h_space_ = new LowRankUpdateSymMatrixSpace(x_space_->Dim(), ConstPtr(P_approx), ConstPtr(approx_vecspace), - true); + true); jnlst_->Printf(J_DETAILED, J_INITIALIZATION, "Hessian approximation will be done in smaller space of dimension %" IPOPT_INDEX_FORMAT " (instead of %" IPOPT_INDEX_FORMAT ")\n\n", P_approx->NCols(), P_approx->NRows()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/IpRestoIpoptNLP.cpp new/Ipopt-releases-3.14.14/src/Algorithm/IpRestoIpoptNLP.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/IpRestoIpoptNLP.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/IpRestoIpoptNLP.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -298,10 +298,10 @@ if( hessian_approximation_ == LIMITED_MEMORY ) { const LowRankUpdateSymMatrixSpace* LR_h_space = static_cast<const LowRankUpdateSymMatrixSpace*>(GetRawPtr( - orig_h_space)); + orig_h_space)); DBG_ASSERT(LR_h_space); SmartPtr<LowRankUpdateSymMatrixSpace> new_orig_h_space = new LowRankUpdateSymMatrixSpace(LR_h_space->Dim(), - NULL, orig_x_space, false); + NULL, orig_x_space, false); h_space_->SetCompSpace(0, 0, *new_orig_h_space, true); } else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.cpp new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -681,6 +681,7 @@ Index N = dim_; Number* W = new Number[maxfrt_]; Index* IW1 = new Index[nsteps_]; + Index INFO[20]; // For each right hand side, call MA27CX for( Index irhs = 0; irhs < nrhs; irhs++ ) @@ -692,7 +693,7 @@ DBG_PRINT((2, "rhs[%5d] = %23.15e\n", i, rhs_vals[irhs * dim_ + i])); } } - ma27c(&N, a_, &la_, iw_, &liw_, W, &maxfrt_, &rhs_vals[irhs * dim_], IW1, &nsteps_, icntl_, cntl_); + ma27c(&N, a_, &la_, iw_, &liw_, W, &maxfrt_, &rhs_vals[irhs * dim_], IW1, &nsteps_, icntl_, INFO); if( DBG_VERBOSITY() >= 2 ) { for( Index i = 0; i < dim_; i++ ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.hpp new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.hpp --- old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.hpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa27TSolverInterface.hpp 2024-01-18 04:56:59.000000000 +0100 @@ -61,7 +61,7 @@ ipindex* IW1, \ ipindex* NSTEPS, \ ipindex* ICNTL, \ - ipnumber* CNTL \ + ipindex* INFO \ ) /// @since 3.14.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.cpp new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.cpp --- old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -580,8 +580,8 @@ wd_lfact_ = 0; wd_lifact_ = 0; - ComputeMemIncrease(wd_lfact_, (Number)wd_info_[8] * ma57_pre_alloc_, 0, "double working space for MA57"); - ComputeMemIncrease(wd_lifact_, (Number)wd_info_[9] * ma57_pre_alloc_, 0, "integer working space for MA57"); + ComputeMemIncrease(wd_lfact_, (Number)wd_info_[8] * ma57_pre_alloc_, (ma57int)0, "double working space for MA57"); + ComputeMemIncrease(wd_lifact_, (Number)wd_info_[9] * ma57_pre_alloc_, (ma57int)0, "integer working space for MA57"); // XXX MH: Why is this necessary? Is `::Factorization' called more // than once per object lifetime? Where should allocation take @@ -652,7 +652,7 @@ Number* temp; ma57int ic = 0; - ComputeMemIncrease(wd_lfact_, (Number)wd_info_[16] * ma57_pre_alloc_, 0, "double working space for MA57"); + ComputeMemIncrease(wd_lfact_, (Number)wd_info_[16] * ma57_pre_alloc_, (ma57int)0, "double working space for MA57"); Jnlst().Printf(J_WARNING, J_LINEAR_ALGEBRA, "Reallocating memory for MA57: lfact (%" IPOPT_INDEX_FORMAT ")\n", wd_lfact_); @@ -684,7 +684,7 @@ ma57int* temp; ma57int ic = 1; - ComputeMemIncrease(wd_lifact_, (Number)wd_info_[17] * ma57_pre_alloc_, 0, "integer working space for MA57"); + ComputeMemIncrease(wd_lifact_, (Number)wd_info_[17] * ma57_pre_alloc_, (ma57int)0, "integer working space for MA57"); temp = new ma57int[wd_lifact_]; Jnlst().Printf(J_DETAILED, J_LINEAR_ALGEBRA, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.hpp new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.hpp --- old/Ipopt-releases-3.14.13/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.hpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Algorithm/LinearSolvers/IpMa57TSolverInterface.hpp 2024-01-18 04:56:59.000000000 +0100 @@ -22,35 +22,35 @@ /// @since 3.14.0 #define IPOPT_DECL_MA57A(x) void (x)( \ - ipindex* n, /**< Order of matrix. */ \ - ipindex* ne, /**< Number of entries. */ \ - const ipindex* irn, /**< Matrix nonzero row structure */ \ - const ipindex* jcn, /**< Matrix nonzero column structure */ \ - ipindex* lkeep, /**< Workspace for the pivot order of lenght 3*n */ \ - ipindex* keep, /**< Workspace for the pivot order of lenght 3*n */ \ + ma57int* n, /**< Order of matrix. */ \ + ma57int* ne, /**< Number of entries. */ \ + const ma57int* irn, /**< Matrix nonzero row structure */ \ + const ma57int* jcn, /**< Matrix nonzero column structure */ \ + ma57int* lkeep, /**< Workspace for the pivot order of lenght 3*n */ \ + ma57int* keep, /**< Workspace for the pivot order of lenght 3*n */ \ /* Automatically iflag = 0; ikeep pivot order iflag = 1 */ \ - ipindex* iwork, /**< Integer work space. */ \ - ipindex* icntl, /**< Integer Control parameter of length 30 */ \ - ipindex* info, /**< Statistical Information; Integer array of length 20 */ \ + ma57int* iwork, /**< Integer work space. */ \ + ma57int* icntl, /**< Integer Control parameter of length 30 */ \ + ma57int* info, /**< Statistical Information; Integer array of length 20 */ \ ipnumber* rinfo /**< Double Control parameter of length 5 */ \ ) /// @since 3.14.0 #define IPOPT_DECL_MA57B(x) void (x)( \ - ipindex* n, /**< Order of matrix. */ \ - ipindex* ne, /**< Number of entries. */ \ - ipnumber* a, /**< Numerical values. */ \ - ipnumber* fact, /**< Entries of factors. */ \ - ipindex* lfact, /**< Length of array `fact'. */ \ - ipindex* ifact, /**< Indexing info for factors. */ \ - ipindex* lifact, /**< Length of array `ifact'. */ \ - ipindex* lkeep, /**< Length of array `keep'. */ \ - ipindex* keep, /**< Integer array. */ \ - ipindex* iwork, /**< Workspace of length `n'. */ \ - ipindex* icntl, /**< Integer Control parameter of length 20. */ \ - ipnumber* cntl, /**< Double Control parameter of length 5. */ \ - ipindex* info, /**< Statistical Information; Integer array of length 40. */ \ - ipnumber* rinfo /**< Statistical Information; Real array of length 20. */ \ + ma57int* n, /**< Order of matrix. */ \ + ma57int* ne, /**< Number of entries. */ \ + ipnumber* a, /**< Numerical values. */ \ + ipnumber* fact, /**< Entries of factors. */ \ + ma57int* lfact, /**< Length of array `fact'. */ \ + ma57int* ifact, /**< Indexing info for factors. */ \ + ma57int* lifact, /**< Length of array `ifact'. */ \ + ma57int* lkeep, /**< Length of array `keep'. */ \ + ma57int* keep, /**< Integer array. */ \ + ma57int* iwork, /**< Workspace of length `n'. */ \ + ma57int* icntl, /**< Integer Control parameter of length 20. */ \ + ipnumber* cntl, /**< Double Control parameter of length 5. */ \ + ma57int* info, /**< Statistical Information; Integer array of length 40. */ \ + ipnumber* rinfo /**< Statistical Information; Real array of length 20. */ \ ) /* Solution job: Solve for... @@ -61,42 +61,42 @@ */ /// @since 3.14.0 #define IPOPT_DECL_MA57C(x) void (x)( \ - ipindex* job, /**< Solution job. */ \ - ipindex* n, /**< Order of matrix. */ \ + ma57int* job, /**< Solution job. */ \ + ma57int* n, /**< Order of matrix. */ \ ipnumber* fact, /**< Entries of factors. */ \ - ipindex* lfact, /**< Length of array `fact'. */ \ - ipindex* ifact, /**< Indexing info for factors. */ \ - ipindex* lifact, /**< Length of array `ifact'. */ \ - ipindex* nrhs, /**< Number of right hand sides. */ \ + ma57int* lfact, /**< Length of array `fact'. */ \ + ma57int* ifact, /**< Indexing info for factors. */ \ + ma57int* lifact, /**< Length of array `ifact'. */ \ + ma57int* nrhs, /**< Number of right hand sides. */ \ ipnumber* rhs, /**< Numerical Values. */ \ - ipindex* lrhs, /**< Leading dimensions of `rhs'. */ \ + ma57int* lrhs, /**< Leading dimensions of `rhs'. */ \ ipnumber* work, /**< Real workspace. */ \ - ipindex* lwork, /**< Length of `work', >= N*NRHS. */ \ - ipindex* iwork, /**< Integer array of length `n'. */ \ - ipindex* icntl, /**< Integer Control parameter array of length 20. */ \ - ipindex* info /**< Statistical Information; Integer array of length 40. */ \ + ma57int* lwork, /**< Length of `work', >= N*NRHS. */ \ + ma57int* iwork, /**< Integer array of length `n'. */ \ + ma57int* icntl, /**< Integer Control parameter array of length 20. */ \ + ma57int* info /**< Statistical Information; Integer array of length 40. */ \ ) /// @since 3.14.0 #define IPOPT_DECL_MA57E(x) void (x)( \ - ipindex* n, \ - ipindex* ic, /**< 0: copy real array. >=1: copy integer array. */ \ - ipindex* keep, \ + ma57int* n, \ + ma57int* ic, /**< 0: copy real array. >=1: copy integer array. */ \ + ma57int* keep, \ ipnumber* fact, \ - ipindex* lfact, \ + ma57int* lfact, \ ipnumber* newfac, \ - ipindex* lnew, \ - ipindex* ifact, \ - ipindex* lifact, \ - ipindex* newifc, \ - ipindex* linew, \ - ipindex* info \ + ma57int* lnew, \ + ma57int* ifact, \ + ma57int* lifact, \ + ma57int* newifc, \ + ma57int* linew, \ + ma57int* info \ ) /// @since 3.14.0 #define IPOPT_DECL_MA57I(x) void (x)( \ ipnumber* cntl, \ - ipindex* icntl \ + ma57int* icntl \ ) namespace Ipopt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Common/IpRegOptions.cpp new/Ipopt-releases-3.14.14/src/Common/IpRegOptions.cpp --- old/Ipopt-releases-3.14.13/src/Common/IpRegOptions.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Common/IpRegOptions.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -863,7 +863,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Number); option->SetDefaultNumber(default_value); AddOption(option); @@ -880,7 +880,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Number); option->SetDefaultNumber(default_value); option->SetLowerNumber(lower, strict); @@ -898,7 +898,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Number); option->SetDefaultNumber(default_value); option->SetUpperNumber(upper, strict); @@ -918,7 +918,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Number); option->SetDefaultNumber(default_value); option->SetLowerNumber(lower, lower_strict); @@ -935,7 +935,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Integer); option->SetDefaultInteger(default_value); AddOption(option); @@ -951,7 +951,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Integer); option->SetDefaultInteger(default_value); option->SetLowerInteger(lower); @@ -968,7 +968,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Integer); option->SetDefaultInteger(default_value); option->SetUpperInteger(upper); @@ -986,7 +986,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_Integer); option->SetDefaultInteger(default_value); option->SetLowerInteger(lower); @@ -1005,7 +1005,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); DBG_ASSERT(settings.size() == descriptions.size()); @@ -1027,7 +1027,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1047,7 +1047,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1070,7 +1070,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1096,7 +1096,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1125,7 +1125,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1157,7 +1157,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1192,7 +1192,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1230,7 +1230,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1271,7 +1271,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1315,7 +1315,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value); option->AddValidStringSetting(setting1, description1); @@ -1341,7 +1341,7 @@ ) { SmartPtr<RegisteredOption> option = new RegisteredOption(name, short_description, long_description, - current_registering_category_, next_counter_++, advanced); + current_registering_category_, next_counter_++, advanced); option->SetType(OT_String); option->SetDefaultString(default_value ? "yes" : "no"); option->AddValidStringSetting("yes", ""); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Common/config_ipopt_default.h new/Ipopt-releases-3.14.14/src/Common/config_ipopt_default.h --- old/Ipopt-releases-3.14.13/src/Common/config_ipopt_default.h 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Common/config_ipopt_default.h 2024-01-18 04:56:59.000000000 +0100 @@ -5,7 +5,7 @@ /***************************************************************************/ /* Version number of project */ -#define IPOPT_VERSION "3.14.13" +#define IPOPT_VERSION "3.14.14" /* Major Version number of project */ #define IPOPT_VERSION_MAJOR 3 @@ -14,7 +14,7 @@ #define IPOPT_VERSION_MINOR 14 /* Release Version number of project */ -#define IPOPT_VERSION_RELEASE 13 +#define IPOPT_VERSION_RELEASE 14 /* Define to the C type corresponding to Fortran INTEGER * @deprecated Use ipindex instead. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Interfaces/IpStdCInterface.cpp new/Ipopt-releases-3.14.14/src/Interfaces/IpStdCInterface.cpp --- old/Ipopt-releases-3.14.13/src/Interfaces/IpStdCInterface.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Interfaces/IpStdCInterface.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -261,13 +261,13 @@ { // Create the original nlp ipopt_problem->tnlp = new Ipopt::StdInterfaceTNLP(ipopt_problem->n, ipopt_problem->x_L, ipopt_problem->x_U, - ipopt_problem->m, ipopt_problem->g_L, ipopt_problem->g_U, - ipopt_problem->nele_jac, ipopt_problem->nele_hess, ipopt_problem->index_style, - start_x, start_lam, start_z_L, start_z_U, - ipopt_problem->eval_f, ipopt_problem->eval_g, ipopt_problem->eval_grad_f, ipopt_problem->eval_jac_g, ipopt_problem->eval_h, - ipopt_problem->intermediate_cb, - x, mult_x_L, mult_x_U, g, mult_g, obj_val, user_data, - ipopt_problem->obj_scaling, ipopt_problem->x_scaling, ipopt_problem->g_scaling); + ipopt_problem->m, ipopt_problem->g_L, ipopt_problem->g_U, + ipopt_problem->nele_jac, ipopt_problem->nele_hess, ipopt_problem->index_style, + start_x, start_lam, start_z_L, start_z_U, + ipopt_problem->eval_f, ipopt_problem->eval_g, ipopt_problem->eval_grad_f, ipopt_problem->eval_jac_g, ipopt_problem->eval_h, + ipopt_problem->intermediate_cb, + x, mult_x_L, mult_x_U, g, mult_g, obj_val, user_data, + ipopt_problem->obj_scaling, ipopt_problem->x_scaling, ipopt_problem->g_scaling); status = ipopt_problem->app->OptimizeTNLP(ipopt_problem->tnlp); } catch( Ipopt::INVALID_STDINTERFACE_NLP& exc ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/src/Interfaces/IpTNLPAdapter.cpp new/Ipopt-releases-3.14.14/src/Interfaces/IpTNLPAdapter.cpp --- old/Ipopt-releases-3.14.13/src/Interfaces/IpTNLPAdapter.cpp 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/src/Interfaces/IpTNLPAdapter.cpp 2024-01-18 04:56:59.000000000 +0100 @@ -1570,7 +1570,7 @@ Number* full_z_u = new Number[n_full_x_]; Number* full_lambda = new Number[n_full_g_]; bool init_x = need_x; - bool init_z = need_z_L || need_z_U; + bool init_z = need_z_L || need_z_U || (fixed_variable_treatment_ == MAKE_CONSTRAINT && n_x_fixed_ > 0 && need_y_c); bool init_lambda = need_y_c || need_y_d; bool retvalue = tnlp_->get_starting_point(n_full_x_, init_x, full_x, init_z, full_z_l, full_z_u, n_full_g_, @@ -1617,9 +1617,10 @@ } if( fixed_variable_treatment_ == MAKE_CONSTRAINT ) { - // ToDo maybe use info from z_L and Z_U here? - const Number zero = 0.; - IpBlasCopy(n_x_fixed_, &zero, 0, &values[P_c_g_->NCols()], 1); + for( Index i = 0; i < n_x_fixed_; i++ ) + { + values[P_c_g_->NCols() + i] = full_z_u[x_fixed_map_[i]] - full_z_l[x_fixed_map_[i]]; + } } } @@ -2386,7 +2387,7 @@ else { SmartPtr<ExpansionMatrixSpace> ex_sp = new ExpansionMatrixSpace(n_x_free, nonfixed_nonlin_vars, - nonfixed_pos_nonlin_vars); + nonfixed_pos_nonlin_vars); P_approx = ex_sp->MakeNew(); approx_space = new DenseVectorSpace(nonfixed_nonlin_vars); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Ipopt-releases-3.14.13/tutorial/CodingExercise/C/1-skeleton/TutorialC.c new/Ipopt-releases-3.14.14/tutorial/CodingExercise/C/1-skeleton/TutorialC.c --- old/Ipopt-releases-3.14.13/tutorial/CodingExercise/C/1-skeleton/TutorialC.c 2023-11-08 11:24:21.000000000 +0100 +++ new/Ipopt-releases-3.14.14/tutorial/CodingExercise/C/1-skeleton/TutorialC.c 2024-01-18 04:56:59.000000000 +0100 @@ -142,17 +142,17 @@ /* Number of nonzeros in the Jacobian of the constraints * each constraint has three nonzeros */ - nele_jac = FILLME + nele_jac = FILLME; - /* Number of nonzeros in the Hessian of the Lagrangian (lower or - * upper triangual part only) - * We have the full diagonal, and the first off-diagonal except for - * the first and last variable. - */ - nele_hess = FILLME + /* Number of nonzeros in the Hessian of the Lagrangian (lower or + * upper triangual part only) + * We have the full diagonal, and the first off-diagonal except for + * the first and last variable. + */ + nele_hess = FILLME; - /* indexing style for matrices */ - index_style = FILLME; /* C-style; start counting of rows and column indices at 0 */ + /* indexing style for matrices */ + index_style = FILLME; /* C-style; start counting of rows and column indices at 0 */ /* create the IpoptProblem */ nlp = CreateIpoptProblem(n, x_L, x_U, m, g_L, g_U, nele_jac, nele_hess, index_style, &eval_f, &eval_g, &eval_grad_f,