OpenMDAO / OpenMDAO

OpenMDAO repository.
http://openmdao.org
Other
551 stars 251 forks source link

Linear constraints on the pyoptsparse driver do not account for non-zero y-intercepts. #2507

Closed Kenneth-T-Moore closed 2 years ago

Kenneth-T-Moore commented 2 years ago

Issue Type

Description

Pyoptsparse assumes that a linear constraint has a 0 y-intercept (i.e., its value is zero when all design variables are at 0.) We need to account for a non-zero y-intercept by shifting the upper and lower bounds when we add the ConstraintGroup to pyoptsparse.

Further discussion on the pyoptsparse side here.

Example

Example is in the comments here, but I recommend tweaking the desvar bounds so that the optimization succeeds when the bug is fixed, and fails when it doesn't.

Environment

<For bugs, otherwise N/A>

Operating System: <i.e. OS X 10.14.6, Windows 10, Ubuntu 16.04>

Python environment: <i.e. Anaconda Python 3.7.1>

Packages: <versions of Dymos, OpenMDAO, and other pertinent Python packages. You can just paste the output of pip freeze or conda list here.>

robfalck commented 2 years ago

Need to modify OpenMDAO to account for nonzero intercepts.