0

When using the SciPyOptimize SLSQP driver in OpenMDAO, bounds on design variables seem to be strongly enforced (i.e. the optimizer does not seem to ever pick values that are outside those bounds). However, with the PyOptSparse SLSQP driver, the bounds are still treated as constraints, but it does seem to try to evaluate cases outside the bounds. Is there a way to force the PyOptSparse driver to behave more like the SciPyOptimize one in this sense?

1 Answer 1

1

despite both having the SLSQP name, Scipy and pyoptsparse use different implementations of the algorithm. The Scipy one was updated with stricter bounds enforcement a few years ago, but the one in pyoptsparse was not.

To fix this, someone would need to spend some time updating the SLSQP fortran code pyoptsparse itself. Jacob Williams has done a decent job of creating an updated SLSQP codebase. Perhaps you could collaborate with him to add his version of the algorithm to pyoptsparse.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.