How to extract the information in plot functions @saplotbes​tx,@saplot​bestf of Simulated annealing inside output function?

Hello,
I need to use simulated anealing as my optimization solver. Unfortunately & very sadly, I do not see 2 important pieces of information in
output function or in OptimValues structure. I noticed that such information are, instead, available in 'plot functon' and you can plot them by
a command as bellow:
options = optimoptions('simulannealbnd','PlotFcns',...
{@saplotbestx,@saplotbestf,@saplotx,@saplotf});
I DO NOT WANT TO PLOT ANYTHING. I just need to have access to the information contained in @saplotbestx,@saplotbestf. Actually, I DID expect the output function to contain such very important pieces of information.
So, my question:
How can I find the information contained in the functions @saplotbestx,@saplotbestf INSIDE output function?
I look forward to hearing from you!
Thank you!
Babak

 Accepted Answer

4 Comments

Hi Walter,
But, this does not work unfortunately.
I tried both 'optimValues.bestx' and 'bestx' inside my output function in bellow. But, MATLAB throws error message.
function [stop,options,optchanged]=myoutput_SA_Parametric(optimValues,options,flag,Max_iter)
stop = false;
optchanged = false;
optimValues.bestx ----> MATLAB throws error
bestx --->MATLAB throws error
...
SOME OTHER STUFF
...
end
The calling order is
options, optimValues, flag
not
optimValues, options, flag, Max_iter
No 4th parameter is expected (or accepted), and the order of parameters is not the same as what you had.
In order to use your myoutput_SA_Parametric as coded, you would have had to have defined 'OutputFcn' as something like
@(options,optimValues,flag) myoutput_SA_Parametric(optimValues,options,flag,Max_iter)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!