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.
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.>
Issue Type
POEM #___ <N/A or POEM number at https://github.com/OpenMDAO/POEMs>
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
orconda list
here.>