Safely Stop a Pareto Search

10 views (last 30 days)
Ayman Al-Sukhon
Ayman Al-Sukhon on 14 May 2020
Commented: Ameer Hamza on 14 May 2020
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

Accepted Answer

Ameer Hamza
Ameer Hamza on 14 May 2020
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 Comments
Ayman Al-Sukhon
Ayman Al-Sukhon on 14 May 2020
Ameer,
Your MVP title is well deserved. Thank you for this, it helps a whole lot.
Ameer Hamza
Ameer Hamza on 14 May 2020
Thanks for your comment :) I am glad to be of help!

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!