openmdao - OpenMDAO + PyOptSparse SLSQP 边界
问题描述
在 OpenMDAO 中使用 SciPyOptimize SLSQP 驱动程序时,设计变量的界限似乎被强制执行(即优化器似乎永远不会选择超出这些界限的值)。但是,对于 PyOptSparse SLSQP 驱动程序,边界仍被视为约束,但它似乎确实试图评估边界之外的情况。在这个意义上,有没有办法强制 PyOptSparse 驱动程序表现得更像 SciPyOptimize 驱动程序?
解决方案
尽管都具有 SLSQP 名称,但 Scipy 和 pyoptsparse 使用不同的算法实现。几年前,Scipy 更新了更严格的边界执行,但 pyoptsparse 中的那个没有。
为了解决这个问题,有人需要花一些时间来更新 SLSQP fortran 代码 pyoptsparse 本身。Jacob Williams 在创建更新的 SLSQP 代码库方面做得不错。也许您可以与他合作,将他的算法版本添加到 pyoptsparse。
推荐阅读
- pandas - 用索引名称标记 pandas 标头
- oracle - Oracle:如何将 char(16) 转换为日期
- android - Android QtService 不会在单独的进程上调用像 onCreate 这样的覆盖方法
- javascript - 将提取的值数组处理为 JMeter 中的格式化字符串值
- linux - 在 lua 中检查每月的日期
- makefile - 如何使用 $(info) 打印前导空格
- python - 填充 xarray 数据数组中缺少的索引位置
- python - 如何检查用户是否登录?烧瓶
- javascript - 通过使用JS单击按钮来显示div
- php - 服务帐户 - 上传的 PPTX 文件未显示在我的 Google 云端硬盘中