【发布时间】:2021-06-08 13:49:11
【问题描述】:
在 OpenMDAO 中使用 SciPyOptimize SLSQP 驱动程序时,设计变量的界限似乎被强制执行(即优化器似乎永远不会选择超出这些界限的值)。但是,对于 PyOptSparse SLSQP 驱动程序,边界仍被视为约束,但它似乎确实试图评估边界之外的情况。有没有办法强制 PyOptSparse 驱动程序在这个意义上更像 SciPyOptimize 驱动程序?
【问题讨论】:
标签: openmdao
在 OpenMDAO 中使用 SciPyOptimize SLSQP 驱动程序时,设计变量的界限似乎被强制执行(即优化器似乎永远不会选择超出这些界限的值)。但是,对于 PyOptSparse SLSQP 驱动程序,边界仍被视为约束,但它似乎确实试图评估边界之外的情况。有没有办法强制 PyOptSparse 驱动程序在这个意义上更像 SciPyOptimize 驱动程序?
【问题讨论】:
标签: openmdao
尽管都具有 SLSQP 名称,但 Scipy 和 pyoptsparse 使用不同的算法实现。几年前,Scipy 更新了更严格的边界执行,但 pyoptsparse 中的那个没有。
要解决这个问题,有人需要花一些时间来更新 SLSQP fortran 代码 pyoptsparse 本身。 Jacob Williams 在创建updated SLSQP codebase 方面做得不错。也许您可以与他合作,将他的算法版本添加到 pyoptsparse。
【讨论】: