Safely Stop a Pareto Search

3 Ansichten (letzte 30 Tage)
Ayman Al-Sukhon
Ayman Al-Sukhon am 14 Mai 2020
Kommentiert: Ameer Hamza am 14 Mai 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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Multiobjective Optimization finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by