在 openMDAO 中,消除非活动约束有多重要?
In openMDAO, how important is it to eliminate inactive constraints?
如果移除非活动约束(比如机翼刚度主导机翼最大应力,因此应力约束处于非活动状态),求解速度是否会显着提高?对于优化驱动程序本身来说这是一个更大的问题,还是 openMDAO 有什么技巧可以帮助解决这个问题?
OpenMDAO 在执行期间不会改变优化问题的大小(设计变量和约束的数量),大多数优化器不允许这样做。
许多优化器已经采用了活动集方法。虽然需要框架来计算部分可能不活动的约束,但这通常不会对性能造成重大影响。
显然这取决于所涉及问题的规模和计算约束的成本。有一些技巧可以将大向量约束聚合为单个约束 (http://openmdao.org/twodocs/versions/latest/features/building_blocks/components/ks_comp.html),但我不会担心这个,除非您确信您的约束评估是性能瓶颈。
如果移除非活动约束(比如机翼刚度主导机翼最大应力,因此应力约束处于非活动状态),求解速度是否会显着提高?对于优化驱动程序本身来说这是一个更大的问题,还是 openMDAO 有什么技巧可以帮助解决这个问题?
OpenMDAO 在执行期间不会改变优化问题的大小(设计变量和约束的数量),大多数优化器不允许这样做。
许多优化器已经采用了活动集方法。虽然需要框架来计算部分可能不活动的约束,但这通常不会对性能造成重大影响。
显然这取决于所涉及问题的规模和计算约束的成本。有一些技巧可以将大向量约束聚合为单个约束 (http://openmdao.org/twodocs/versions/latest/features/building_blocks/components/ks_comp.html),但我不会担心这个,除非您确信您的约束评估是性能瓶颈。