Why are the computations take longer computational time as the one set in property 'MaxTime' throughout the iterations when using functions from the Optimization Toolbox?

1 view (last 30 days)
For a particular optimization task it is sought to have the optimization finished before a particular time threshold. For this reason it is defined property 'MaxTime' as follows,
options = optimoptions('patternsearch', 'Display', 'final', 'MaxTime', 0.01, 'MaxFunctionEvaluations', 10);
 
However, it takes considerably longer time to finish the optimization task than the specified time of 0.01 seconds.
 
Why are the computations take longer computational time as the one set in property 'MaxTime' throughout the iterations when using functions from the Optimization Toolbox?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Dec 2021
The functions from the Optimization Toolbox check the latter threshold by means of property 'MaxTime' only after the cost function evaluation has been finished. This means, that the functions from the Optimization Toolbox do not take the computational time needed for the custom cost function into consideration when checking the defined threshold 'MaxTime'. In other words, the computational time for the optimization iterations might be affected by the computational time needed by the custom cost function and this cannot be constrained by means of property 'MaxTime'.
In this case one needs to manually check if the computation of the cost function may exceed the desirable limit and stop it with a default value accordingly.

More Answers (0)

Tags

No tags entered yet.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!