You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello. I tried to use the BAT Optimization Algorithm and I expected to get approximately 0, with such benchmark functions as Rosebrock and Ackley, a number of iterations 66000. But the result I get is much higher. I wanted to know is it because of code, or by the algorithm itself?
The text was updated successfully, but these errors were encountered:
Here I used 1000 iterations, just because the value doesn't decrease after certain point.
from NiaPy.task import StoppingTask, OptimizationType
from NiaPy.algorithms.basic import BatAlgorithm
for i in range(1000):
task = StoppingTask(D=30, nFES=1000, benchmark='ackley')
algorithm = BatAlgorithm(NP=30)
best = algorithm.run(task)
print(best[-1])
BA has some limits in solving such benchmarks. It is recommended that you approach with other well-known solvers, e. g. DE or jDE.
Just a remark - You are not running your algorithm using 1000 iterations, but you operate with number of function evaluations. You could use nGEN instead of nFES. However, I believe there will not be any special difference in final solution.
Hello. I tried to use the BAT Optimization Algorithm and I expected to get approximately 0, with such benchmark functions as Rosebrock and Ackley, a number of iterations 66000. But the result I get is much higher. I wanted to know is it because of code, or by the algorithm itself?
The text was updated successfully, but these errors were encountered: