【问题标题】:multiple instance of SLSQP optimizer not possible?SLSQP 优化器的多个实例不可能?
【发布时间】:2020-09-23 04:32:18
【问题描述】:

我使用协作优化架构解决了我的问题。那就是我有一个组件,它使用 SLSQP 包装并运行自己的优化。该组件由更高级别的问题调用。如果我选择 COBYLA 作为顶级优化器,但不是 SLSQP,它就足够了。据我了解,这是因为 scipy 优化器不是可重入的——没有多个实例同时运行。

有什么办法可以解决这个问题,即让 scipy SLSQP 优化器的两个实例在一个问题中独立运行? OpenMDAO 1.x 中的 Subproblem 类是否旨在解决这个问题?

【问题讨论】:

    标签: openmdao


    【解决方案1】:

    SLSQP 的不可重入特性实际上无法通过 python 层中的任何类结构技巧来解决。这是在fortran层中如何分配内存的问题,最终无论哪个对象调用它,您都会到达那里。

    这里有一些选项:

    1. 在一个级别使用 SLSQP,在另一个级别使用 COBYLA
    2. 将 SLSQP 修改为可重入
    3. 改为尝试 IPOPT

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 2018-11-20
      • 1970-01-01
      • 2020-05-05
      • 2015-01-25
      • 2018-03-05
      • 1970-01-01
      相关资源
      最近更新 更多