Safely Stop a Pareto Search

9 次查看(过去 30 天)
Hi,
I am running a Pareto search with an expensive cost function. I limited the time to 39600 s using the 'MaxTime' option however it has been more than 12 hours (43200 s):
fun = @CostFunctionOptim_Pareto;
options = optimoptions('paretosearch','ParetoSetSize',200,'InitialPoints',x_seed,'PlotFcn','psplotparetof','MaxTime',39600);
[x,fval,exitflag,output] = paretosearch(fun,4,Aineq,bineq,Aeq,beq,lb,ub,nonlcon,options);
I don't know why it's still going, but I don't want to stop it for fear that it will erase all the progress it has so far (I am happy with the results it has so far and don't need more points in the Pareto front). Is there any way to safely stop the optimzer and still get the output values?
Thanks

采纳的回答

Ameer Hamza
Ameer Hamza 2020-5-14
I hope you haven't interrupted the optimization already. The safest way I can think of is to add a breakpoint inside your objective function. The optimizer will stop at that point, and you will have access to the current values of the optimization variables. You can then use save() to save the values of optimization variables in a .mat file, and then you can interrupt the paretosearch. Now you have the latest optimal values of the variable in a mat file, load that file and use those those values.
  4 个评论
Ayman Al-Sukhon
Ayman Al-Sukhon 2020-5-14
Ameer,
Your MVP title is well deserved. Thank you for this, it helps a whole lot.
Ameer Hamza
Ameer Hamza 2020-5-14
Thanks for your comment :) I am glad to be of help!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multiobjective Optimization 的更多信息

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by