fmincon does not respect MaxIter
古いコメントを表示
Hello,
I do not understand why fmincon does not respect the maximum number of iteration I specify and does whatever it
l;ikes to do. My cod is very long to show you but I show the main part which I believe is enough:
Max_iter=solver{2};
par0=lb+(ub-lb).*rand(1,dim);
options=optimoptions('fmincon','MaxFunEvals',realmax,'MaxIterations',Max_iter,'OutputFcn',@(x,A,state)myoutput_fmincon_Spline(x,A,state));
problem = createOptimProblem('fmincon','objective',cost,'x0',par0,'lb',lb,'ub',ub,'options',options);
ms=MultiStart('UseParallel',UseParallel);
myCluster=parcluster('local');NumWorkers=myCluster.NumWorkers;
[EstimatedNoise_par, f_best]=run(ms,problem,NumWorkers);
I try Max_tier = 1 and I expect the code to stop fast but fminbcon ignore it.
Any idea?
Thanks in advance,
Babak
8 件のコメント
Walter Roberson
2023 年 11 月 18 日
Note that the initial iteration requires evaluating the objective function (dim+1) times.
Mohammad Shojaei Arani
2023 年 11 月 18 日
Walter Roberson
2023 年 11 月 18 日
My dim is 8. So, it means that even if I set MaxIter=1 fmincon still considers 9 iterations.
Not exactly. For iteration 0, fmincon would evaluate the function 8+1 = 9 times, in order to establish initial values to estimate the jacobian.
The iteration counts you are observing, are for each time fmincon() starts. You are using MultiStart, which runs several independent fmincon() from different starting points.
Mohammad Shojaei Arani
2023 年 11 月 18 日
移動済み: Torsten
2023 年 11 月 18 日
Mohammad Shojaei Arani
2023 年 11 月 18 日
移動済み: Torsten
2023 年 11 月 18 日
Mohammad Shojaei Arani
2023 年 11 月 18 日
Walter Roberson
2023 年 11 月 18 日
outputfcn returns a value. That value can directly signal stop (that is, it is a fundamental part of the design, easily done, not something obscure)
So your outputfcn could evaluate the solution at hand and somehow decide that it is good enough.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Global or Multiple Starting Point Search についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!