Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update IPOPT version to 3.14 #1248

Open
andrewlee94 opened this issue Aug 24, 2023 · 6 comments
Open

Update IPOPT version to 3.14 #1248

andrewlee94 opened this issue Aug 24, 2023 · 6 comments
Assignees
Labels
enhancement New feature or request idaes-ext Priority:Normal Normal Priority Issue or PR

Comments

@andrewlee94
Copy link
Member

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.

@andrewlee94 andrewlee94 added enhancement New feature or request Priority:High High Priority Issue or PR idaes-ext labels Aug 24, 2023
@Robbybp
Copy link
Member

Robbybp commented Oct 9, 2023

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.

@Robbybp
Copy link
Member

Robbybp commented Oct 9, 2023

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.

@ksbeattie
Copy link
Member

This is waiting for IDAES/idaes-ext#262

@Robbybp
Copy link
Member

Robbybp commented Nov 3, 2023

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.

@Robbybp
Copy link
Member

Robbybp commented Nov 3, 2023

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

@Robbybp
Copy link
Member

Robbybp commented Dec 13, 2023

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/*?

@ksbeattie ksbeattie added Priority:Normal Normal Priority Issue or PR and removed Priority:High High Priority Issue or PR labels Mar 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request idaes-ext Priority:Normal Normal Priority Issue or PR
Projects
None yet
Development

No branches or pull requests

5 participants