how to store the intermediate result when using fmincon

Dear fellows, I am using fmincon to do optmization. Could you tell me how to look at and store the intermediate result when fmincon is trying different value? Well, I need to give an initial value for fmincon to start, and after that, it will try different value to find the optimized one. I want to check all those values that it tried and the corresponding results. Cheers

 Respuesta aceptada

Shashank Prasanna
Shashank Prasanna el 30 de En. de 2013
You can use OutputFcn to access values at each iteration.
See the following link for more information:
In the optionset you can use the function as below:
options = optimset('OutputFcn',@outfun)

9 comentarios

xueqi
xueqi el 30 de En. de 2013
Hi Thanks. A further question is, it seems fmincon keeps doing the iterations at the initial value, do you know what are the possible reasons?
I will have to see the code and output to answer that. How is your objective surface? What does the display say about the values of gradient, First Order optimality constraints etc. Is there a code I can run to try it?
xueqi
xueqi el 5 de Feb. de 2013
Hi sorry about late reply. And also sorry that I am not quite understand your sugguestions. For objective surface I think it is flat in the top but still there will be a top value. It doesnt say anything about the values of gradient and first order optimality constraint. In what direction you suggest I should look into?
I would like to show you the code, but it is really a big one and include around 10 different files and may need loads of introducation...
xueqi
xueqi el 5 de Feb. de 2013
oh wait I think I can get the gradient
I want to understand what you mean by "keeps doing the iterations at the initial value" Use the options
optimset('Display','iter')
and paste the output so that we can get an idea.
xueqi
xueqi el 5 de Feb. de 2013
I have dont that but the seems the program is keeps working and so I cant get the final input. Can I know you email then I can send you all the functions and dataset?
xueqi
xueqi el 5 de Feb. de 2013
Sorry it is final out not final input
Shashank Prasanna
Shashank Prasanna el 5 de Feb. de 2013
Editada: Shashank Prasanna el 5 de Feb. de 2013
I am not sure I follow you. I don't want the final output.
Just run your optimization and and even if it is stuck at an iteration, can you please paste what is on the screen? If you post it in the forum there may be other who may be able to help you better. If you don't provide enough information, no one will be able to help you.
xueqi
xueqi el 5 de Feb. de 2013
It needs to read in data in excel file. I can I also put into excel file here? Thanks!

Iniciar sesión para comentar.

Más respuestas (3)

xueqi
xueqi el 5 de Feb. de 2013
It needs to read in data in excel file. I can I also put into excel file here? Thanks!
Alan Weiss
Alan Weiss el 5 de Feb. de 2013
Use the xlswrite function to export data to an Excel file.
Alan Weiss
MATLAB mathematical toolbox documentation
Daniel Frisch
Daniel Frisch el 7 de Oct. de 2020
You can use my function outputFcn_global that saves all the intermediate results in a global variable, so you can inspect them later on.

Categorías

Más información sobre Data Import from MATLAB en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 30 de En. de 2013

Respondida:

el 7 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by