Save all the optimization results from MultiStart and Global Search

4 次查看(过去 30 天)
Hello Matlab Community,
I have a questio about the Matlab Global Optimization features.
I would like to get, at the end of the optimization, all the solutions, also the ones with negative exit flags and respective parameters values.
I use the following syntax
[x,fval,exitflag,output,solutions] = run(...)
but I only get, in [solutions], the local minima with a positive exit flag, and I would like to check all the others as well.
Is there a way to accomplish what I need, that I have missed?
Many thanks and best regards.

采纳的回答

Alan Weiss
Alan Weiss 2018-12-14
Sorry, no, GlobalSearch and MultiStart do not consider the points corresponding to negative local exit flags as being solutions, and so do not store them in the returned GlobalOptimSolution object.
Why do you want these points?
Alan Weiss
MATLAB mathematical toolbox documentation
  3 个评论
Alan Weiss
Alan Weiss 2018-12-14
Certainly, use your output function to save the point.
Alan Weiss
MATLAB mathematical toolbox documentation

请先登录,再进行评论。

更多回答(1 个)

Kurt Stewart
Kurt Stewart 2019-3-20
You can make your solutions as global variables that get saved into a matrix
  1 个评论
Maria Angela Agizza
Hello, thanks for the advice.
I actually solved the problem with an output function, where I exploit the "state" of the optimization to get the parameters when the calculation reaches the maximum number of iterations (attached code).
switch state
case 'done'
save('myParametersVector','parameters');
otherwise
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by