我有一个很大的程序,从根本上解决了优化问题。我将fminunc
用于此目的。但是由于某种原因,当达到最大迭代次数并且该函数应该返回时,字面会卡住。我尝试遵循一些建议,这些建议本质上是在使用嵌套函数的地方,以避免动态分配等(每次调用cost函数时,我都从文件中加载)。
但那似乎仍不能解决问题。
我应该注意些什么?就像一些我可能不知道的已知问题。
谢谢。 (让我知道我可以发布什么样的详细信息。)
更多信息:
输出应该是15876 double的数组,RAM是32 GB。实际的设置是:
option = optimoptions(@fminunc,...
'Display','iter','GradObj','on','MaxIter',10,...
'ObjectiveLimit',10e-10,'Algorithm','quasi-newton');
我将迭代次数设置得较低,只是为了检查迭代次数是否是问题所在,但事实并非如此。我得到的输出是:
Solver stopped prematurely.
fminunc stopped because it exceeded the iteration limit,
options.MaxIterations = 10 (the selected value)
但它不会返回。