设计变量超出其界限和约束的值似乎被忽略

时间:2016-07-27 14:45:57

标签: openmdao

多次出现设计变量的值超出其范围(例如,低限0.0,设计变量值被优化器设置为-0.004),并且约束似乎被忽略(例如,不满足输出变量的最小1.0约束。

我使用的是openMDAO 1.6.4版,ScipyOptimizer,SLSQP,force_fd,step_size 1.0e-4。

关于为什么会发生这些事情的任何想法?我做错了吗?可能的错误?如果没有,该如何避免?

感谢任何反馈。

2 个答案:

答案 0 :(得分:0)

没有看到任何代码,很难确定。但是已知SLSQP违反变量边界,特别是当设计变量缩小时。尝试缩放内容,使您的设计变量在0到1之间变化。这应该有助于它更好地工作。

答案 1 :(得分:0)

我花了很长时间用缩放变量重新运行我的代码。

我得到了收敛结果,并且所有设计变量的值都在它们的范围内,但是,仍然不满足一个约束。我将参数的约束设置为[0,1.5],但最终结果为1.73。

我正在考虑应用更严格的收敛标准并重新运行我的代码以查看是否满足约束条件。

您认为较小的收敛标准是否有助于满足所有约束条件?您的建议将不胜感激。