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

Consider updating SLSQP to a modern and maintained implementation #303

Open
ewu63 opened this issue Jun 4, 2022 · 0 comments
Open

Consider updating SLSQP to a modern and maintained implementation #303

ewu63 opened this issue Jun 4, 2022 · 0 comments
Labels
maintenance This is for maintaining the repo

Comments

@ewu63
Copy link
Collaborator

ewu63 commented Jun 4, 2022

Description of feature

Currently, the version of SLSQP provided is quite old, and suffers from several bugs that have been fixed elsewhere. See #301 for some discussion. Since SLSQP remains a rather popular optimizer, to maintain long term viability, I think it would be best to switch to using a version that is better maintained. This would also avoid any duplication in maintenance efforts.

Potential solution

As far as I'm aware, there are three versions out there:

  • Scipy: well maintained and widely available, plus we already depend on scipy so there will be no additional dependencies. However seems to lack things such as fetching the optimal Lagrange multipliers that exist in pyOptSparse (though what we have might be broken, I don't really remember)
  • slsqp: much more modern than the old F77 code, seems to be very well maintained. Lacks Python interface
  • NLopt: given that it's built into an entire optimization framework, we will not consider this option further

This thread will serve as a place to discuss future plans regarding SLSQP.

@ewu63 ewu63 added the maintenance This is for maintaining the repo label Jun 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance This is for maintaining the repo
Projects
None yet
Development

No branches or pull requests

1 participant