微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenMDAO + PyOptSparse SLSQP 边界

如何解决OpenMDAO + PyOptSparse SLSQP 边界

在 OpenMDAO 中使用 SciPyOptimize SLSQP 驱动程序时,设计变量的界限似乎得到了强有力的执行(即优化器似乎永远不会选择超出这些界限的值)。然而,使用 PyOptSparse SLSQP 驱动程序,边界仍被视为约束,但它似乎确实尝试评估边界之外的情况。有没有办法强制 PyOptSparse 驱动程序在这个意义上更像 SciPyOptimize 驱动程序?

解决方法

尽管都具有 SLSQP 名称,但 Scipy 和 pyoptsparse 使用不同的算法实现。几年前,Scipy 更新了更严格的边界执行,但 pyoptsparse 中的没有。

为了解决这个问题,有人需要花一些时间更新 SLSQP fortran 代码 pyoptsparse 本身。 Jacob Williams 在创建 updated SLSQP codebase 方面做得不错。也许您可以与他合作,将他的算法版本添加到 pyoptsparse 中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。