Skip to content

Update IPOPT version to 3.14 #1248

Open

Description

@andrewlee94

We should try to update the version of IPOPT we distribute and use as one of the first things after the August release. This will give us three months to work out any kinks that come up during the change over.

Activity

  1. Robbybp commented on Oct 9, 2023

    @Robbybp
    Member

    My understanding of what needs to happen for this is:

    • Add branch to IDAES-Ipopt tracking coin-or Ipopt stable/3.14 branch. Create new stable/idaes-3.14 branch.
    • Merge our changes to Ipopt 3.13 into stable/idaes-3.14 (i.e. the diff between stable/idaes-3.13 and stable/3.13)
    • Update branch that we checkout in the idaes-ext compile_solvers.sh script

    I'm not sure exactly what changes we've made to Ipopt 3.13 and why these changes are necessary, but our Ipopt 3.13 is about 30 commits ahead of coin-or Ipopt 3.13. Also, when I merge stable/3.14 into our stable/idaes-3.13 branch and test the resulting binaries, I don't see the "IDAES header" that we display along with the Ipopt header. I'm not exactly sure where this header comes from.

  2. Robbybp commented on Oct 9, 2023

    @Robbybp
    Member

    The compile_solvers.sh script checks out an idaes-3.13 branch of our Ipopt repo:

    # Set a few basic things
    export IPOPT_BRANCH="idaes-3.13"
    export IPOPT_REPO="https://github.com/idaes/Ipopt"
    export IPOPT_L1_BRANCH="restoration_mod"
    export IPOPT_L1_REPO="https://github.com/idaes/Ipopt"
    export PYNU_BRANCH="main"
    export PYNU_REPO="https://github.com/pyomo/pyomo"
    export K_AUG_BRANCH="default"
    export K_AUG_REPO="https://github.com/idaes/k_aug"
    export CC="gcc"
    export CXX="g++"

    This branch seems not to exist? The branch I see on https://github.com/IDAES/Ipopt is stable/idaes-3.13.

  3. ksbeattie commented on Nov 2, 2023

    @ksbeattie
    Member

    This is waiting for IDAES/idaes-ext#262

  4. Robbybp commented on Nov 3, 2023

    @Robbybp
    Member

    The IDAES-Ipopt copyright header is included in print_copyright_message in IpIpoptAlg.cpp. We need to make sure this makes it into the 3.14 branch that we checkout and compile. As mentioned above, our 3.13 branch is about 30 commits ahead of coin-or:stable/3.13, and I don't know what these commits are doing. It would be nice if they were documented.

  5. Robbybp commented on Nov 3, 2023

    @Robbybp
    Member

    This is waiting for IDAES/idaes-ext#262

    Correct. Updating the Ipopt version raises the following questions:

    • Why does compile_solvers.sh checkout a branch called idaes-3.13 when the "idaes" branch on our fork is called stable/idaes-3.13?
    • What are the changes we have made in the Ipopt source code and, other than the copyright message, why are they necessary?

    Because these questions make updating the version not completely trivial, we will make the idaes-ext updates in two stages:

    1. Update distributed libraries to be linkable by cyipopt
    2. Update Ipopt version
  6. Robbybp commented on Dec 13, 2023

    @Robbybp
    Member

    Why does compile_solvers.sh checkout a branch called idaes-3.13 when the "idaes" branch on our fork is called stable/idaes-3.13?

    The Ipopt source actually gets pulled down with coinbrew fetch $REPO@$BRANCH, which I guess automatically searches for branches named stable/*?

  7. added and removed on Mar 7, 2024
  8. dallan-keylogic commented on Apr 23, 2025

    @dallan-keylogic
    Contributor

    @Robbybp @mrmundt , is this issue still relevant?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions