What is the output when Particle Swarm Optimization exceeds MaxTime

10 次查看(过去 30 天)
I ran the following PSO code and the MaxTime was exceeded. The code spit out a result, but I don't know: Is it the best solution so far? Is it the one that was currently being solved when the time ran out? Is it the last completed function evaluation?
SwarmSize = 500;
FunctionTolerance = 0.001;
MaxIterations = 500;
MaxTime = 57600; % seconds
options = optimoptions("particleswarm","UseParallel",true,'SwarmSize',SwarmSize,'InitialSwarmMatrix',InitialSwarmMatrix,'Display','iter','FunctionTolerance',FunctionTolerance,'MaxIterations',MaxIterations,'MaxTime',MaxTime);
dwellT = particleswarm(@(dwellT) condToEdge_fnc(dwellT),numZones,lb,ub,options)
Optimization ended: the total optimization time in seconds exceeded OPTIONS.MaxTime.
dwellT =
0.9026 0.9199 0.8728 0.9822 1.0000 0.8732 0.9660 0.8537 0.8557 0.8841

采纳的回答

Alan Weiss
Alan Weiss 2022-11-15
I believe that the code returns the point giving the best (lowest) objective function value encountered.
Alan Weiss
MATLAB mathematical toolbox documentation

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle Swarm 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by