Open jbytecode opened 1 year ago
That's a great idea. Let's work on it. I may start by suggesting:
There is a huge set of works included in the literature and I think it is not that straightforward to end up with super-comprehensive comparisons with tons of algorithms.
What is possible?
These are my first thoughts after taking a look at the references you provided.
Regarding your last comments:
I may suggest the following Julia packages to perform this study:
Some questions:
HypothesisTest.jl
package?HardTestProblems.jl
includes vast majority of test functions and thank you for listing this software, too!Do we really need a project assistant for this? I suggest using separate files for each test function. In those files we can iterate a function, say that it is Ackley, for different p
(number of variables). The results can be simultaneously written in a csv
file or an sqlite
file. Ackley.sqlite
would hold all of the information such like
p | f | algorithm | etc... |
---|---|---|---|
5 | 0.002 | Whale | ... |
5 | 0.004 | Whale | ... |
5 | 0.029 | Whale | ... |
... | ........ | ........... | ....... |
for different p (number of parameters), algorithms, and algorithm configurations so we can later perform reports using SQL statements.
p = 5
, p = 10
, p = 25
, p = 50
, different popsizes such as 50, 100, 150, 200? (numbers are in random).I agree with you. IMO, we can answer the remaining questions once we are ready to begin the benchmarking.
Let's implement new metaheuristics.
My suggestions (listed in the EC-Bestiary with available source code):
Related software: mealpy a python library implementing some metaheuristics.
I've just taken a look the code provided for the "Battle royale optimization algorithm". What is the best option? Directly converting the Matlab code into the corresponding Julia code? Or reading the papers and preparing our own implementations?
PS: I am not a good Matlab programmer nor ever used it. It seems the code uses an object of a soldier
data type which is not implemented elsewhere.
This journal paper can be followed for implementing new algorithms:
https://ieeexplore.ieee.org/abstract/document/9344597
After implementing some crucial methods, Metaheuristics.jl can also be used in a novel survey article that measures the performances of the algorithms using a set of well-known test functions.