【发布时间】:2018-02-09 14:00:22
【问题描述】:
我正在通过 OpenMDAO 使用 SLSQP 来解决优化问题。优化工作正常;最后的 SLSQP 输出为:
Optimization terminated successfully. (Exit mode 0)
Current function value: [-0.07475851]
Iterations: 44
Function evaluations: 87
Gradient evaluations: 44
Optimization Complete
我现在正在尝试对结果进行后处理并检查优化在整个迭代过程中的收敛性。当我通过sqlite字典访问迭代时
db = sqlitedict.SqliteDict('opt_record.sqlite','iterations')
db.keys()
然后我看到 87 条记录。所以这里的“迭代”实际上是指功能评估。显然,这也可以给出收敛的想法,但是有没有办法真正访问 iteration 信息,无论是通过某种输出机制还是通过回算哪些函数评估指的是迭代的结束?
【问题讨论】: