Open SevgiAkten opened 3 weeks ago
Reviewer Comment Response
Hi @jbussemaker,
Thank you for your feedback regarding the term "machine-coded." We have clarified this terminology in the documentation to provide a more precise understanding. In this context, "machine-coded" refers to a specialized encoding technique optimized for real-parameter optimization, originally introduced by Satman (2013). This approach focuses on efficient data processing through byte-level manipulation, which is particularly advantageous for real-valued optimization tasks. We have also included a reference to the IEEE 754 standard for floating-point arithmetic, further enhancing precision and effectiveness in optimizing continuous functions.
Please let us know if this update aligns with your expectations or if further clarification is needed.
All right, if you indeed make it clear that "machine-coded" is actually the name of some encoding technique that you reference to, then for the paper it is fine.
However just for my understanding: there have been many efforts over the past decades to support real-valued design variables in evolutionary algorithms, mostly through the development of specialized crossover and mutation operators (instead of relying on operators developed for byte strings). Why don't you use these well-tested operators?
We decided to implement machine-coded, byte-based operators due to their effectiveness in handling real-valued optimization tasks. Byte-level manipulations provide computational efficiency and have shown promising results in finding optimal solutions compared to traditional floating-point operators. In our previous study, we demonstrated these advantages with an Improved Cellular Genetic Algorithm using machine-coded operators, showing better performance on benchmark functions like Ackley, Bohachevsky, and Rastrigin (Akten Karakaya & Satman, 2024).
As part of my doctoral dissertation, I expanded the test benchmarks to include 20 functions, where machine-coded CGAs outperformed classical real-valued operators in 16 cases, including complex functions like Bent Cigar and Zakharov (Akten Karakaya, 2024). To give users more flexibility, pycellga also includes traditional operators, such as Arithmetic, Linear, and BLX-alpha crossover, allowing for comparisons within the same framework.
References:
Thank you for the explanation. For the JOSS review this is sufficient, especially because you also include the traditional operators for comparison.
This is linked to the review feedback in Issue #65 and part of the JOSS review: openjournals/joss-reviews#7322