feat(swarm_based): Add OriginalICSA algorithm and integration tests #258
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📑 Description
This PR introduces the Improved Chameleon Swarm Algorithm (ICSA) to the
swarm_basedmodule. ICSA is a nature-inspired metaheuristic based on the 2024 paper published in Biomimetics. The implementation focuses on multi-strategy fusion to enhance population diversity and avoid local optima, utilizing fully vectorized NumPy operations for maximum efficiency within the Mealpy framework.✨ Key Features Implemented
🛠 Implementation Checklist
mealpy/swarm_based/ICSA.pymealpy/swarm_based/__init__.pyandmealpy/__init__.pytests/swarm_based/test_ICSA.py✅ Checks
ℹ️ Additional Information
The algorithm's robustness was verified on a 16-core system using two benchmark suites.
1. Classic Benchmark Results (F1 - F18)
The implementation matches the global optima and convergence characteristics of the original article.
2. High-Complexity Benchmarks (CEC 2017 via opfunu)
ICSA performance comparison against Mealpy's PSO on shifted and rotated functions.
Verification Result:
1 passed in 1.09s📚 References
*Submitted by Kazan Ulaş Görkem