繁体   English   中英

pyOptSparseDriver中的退出标志

[英]Exit flag in pyOptSparseDriver

如果出现故障,我需要能够指定退出标志。 对于该OpenMDAO文档pyoptsparse_driver有一个出口标志的选项。 但是,当我将退出标志作为选项运行时,它表示Option 'exit_flag' has not been added 另外我也不确定如何实际指定是否失败。 我是否需要将标志传递出solve_nonlinear()失败的组件,并以某种方式使用它来在pyoptsparse_driver上设置选项? 我想做这样的事情,但是我不确定语法,也找不到示例:

def solve_nonlinear(self, params, unknowns, resids):
    unknowns['y'], exit_flag = function(params['x'])
    self.exit_flag = exit_flag

这里有很多问题:

1) “如何将故障信息从组件传播到优化器?” 我们目前尚无处理方法。 尽管这是我们不久将要进行的工作

2)如果组件确实发生故障,正确的响应是什么? 取决于您在做什么。 对于DOE,您应该只记录失败的案例并继续进行。 对于无梯度方法,可能需要某种客观的惩罚。 对于基于梯度的算法,您可能需要在行搜索中回溯(或使用其他类似的回溯机制)。

3)万一全部失败,驱动程序可以报告整体退出状态。 同样,我们还没有以一般的方式实现这一目标。 您在pyopt_sparse驱动程序中找到的选项是文档字符串中的错误。 但是有一个exit_flag属性是根据内部pyopt状态设置的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM