主要内容

使用检查点文件

检查点重启

一个检查点文件包含的数据优化的过程。获得一个检查点文件,使用CheckpointFile选择。

一个基本使用检查点文件恢复优化时过早地停止。过早停止的原因可能是电源故障或事故等事件,或当你按下停止按钮在一块功能窗口。

无论过早停止的原因,再启动过程就是调用surrogateopt检查点文件的名字。

例如,假设您的优化运行“check1”检查点文件,然后单击停止按钮优化后不久就开始了。

选择= optimoptions (“surrogateopt”,“CheckpointFile”,“check1.mat”);磅= (6、8);乌兰巴托=磅;有趣= @ (x) 100 * (x (2) - (1) ^ 2) ^ 2 + (1 - x (1)) ^ 2;[x, fval exitflag、输出]= surrogateopt(有趣,磅、乌兰巴托、期权)
优化停在一块函数或输出函数。x = 0 0 fval = 1 exitflag = 1输出=结构体字段:elapsedtime: 15.3330 funccount: 30 constrviolation: 0 ineq:[1×0双]rngstate: [1×1 struct]消息:一块函数或输出函数的优化停止。”

请注意

检查点是需要时间的。这个函数的开销尤其明显,否则采取一些时间来评估。

继续优化,电话surrogateopt“check1.mat”论点。

[x, fval exitflag,输出]= surrogateopt (“check1.mat”)
Surrogateopt停止,因为它超过了设定的评价函数极限“options.MaxFunctionEvaluations”。x = 1.0186 - 1.0377 fval = 3.4902 e-04 exitflag = 0 =输出结构体字段:elapsedtime: 181.5824 funccount: 200 constrviolation: 0 ineq:[1×0双]rngstate: [1×1 struct]消息:“Surrogateopt停止,因为它超过了函数评估限制由↵options.MaxFunctionEvaluations’。”

改变选项来扩展或监控优化

您可以扩展一个优化,是否停止由于不可预见的事件,通过改变的停止标准选择。你也可以监控显示信息在每个迭代的优化。

请注意

surrogateopt只允许你改变一组有限的选项。对于可靠性、更新原来的选项结构而不是创建新选项。

列表的选项你可以改变重新启动时,看到的选择

例如,假设您想要扩展前面的优化运行400功能评估。另外,您希望监视的优化使用“surrogateoptplot”图的功能。

选择= optimoptions(选项,“MaxFunctionEvaluations”,400,“PlotFcn”,“surrogateoptplot”);[x, fval exitflag,输出]= surrogateopt (“check1.mat”选择)
Surrogateopt停止,因为它超过了设定的评价函数极限“options.MaxFunctionEvaluations”。x = 1.0186 - 1.0377 fval = 3.4902 e-04 exitflag = 0 =输出结构体字段:elapsedtime: 959.7619 funccount: 400 constrviolation: 0 ineq:[1×0双]rngstate: [1×1 struct]消息:“Surrogateopt停止,因为它超过了函数评估限制由↵options.MaxFunctionEvaluations’。”

新的情节函数优化的情节从一开始,即使你开始情节功能只有在解算器停在功能评估200号。的“surrogateoptplot”情节功能还显示优化的评估数字从检查点文件停止和重新启动。

健壮的代理代码优化

重新启动代理优化从检查点文件只有在文件存在,使用下面的代码逻辑。通过这种方式,您可以编写脚本继续优化,即使崩溃或其他意外事件。

%认为myfun磅,乌兰巴托存在如果isfile (“saveddata.mat”)[x, fval exitflag、输出]= surrogateopt (“saveddata.mat”);其他的选择= optimoptions (“surrogateopt”,“CheckpointFile”,“saveddata.mat”);[x, fval exitflag、输出]= surrogateopt (myfun、磅、乌兰巴托、期权);结束

另请参阅

相关的话题