What is the output when Particle Swarm Optimization exceeds MaxTime

3 views (last 30 days)
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

Accepted Answer

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

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!