Skip to content

Commit 09ca9ac

Browse files
authored
Merge pull request #741 from gunbaz/master
Feat: implement Mantis Shrimp Optimization Algorithm (MShOA)
2 parents a7da071 + 08a7e84 commit 09ca9ac

File tree

5 files changed

+600
-0
lines changed

5 files changed

+600
-0
lines changed

Algorithms.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Harris hawks optimization |HHO| Heidari et al. "Harris hawks optimization:
3131
|Monarch Butterfly Algorithm |MBO|Wang, G. G., Deb, S., & Cui, Z. (2019). Monarch butterfly optimization. Neural computing and applications, 31(7), 1995-2014.
3232
|Moth-flame Optimization |MFO|Mirjalili, Seyedali. "Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm." Knowledge-Based Systems 89 (2015): 228-249.
3333
|Monkey King Evolution |MKE|Zhenyu Meng, Jeng-Shyang Pan, Monkey King Evolution: A new memetic evolutionary algorithm and its application in vehicle fuel consumption optimization, Knowledge-Based Systems, Volume 97, 2016, Pages 144-157.
34+
|Mantis Shrimp Optimization Algorithm|MShOA|Sánchez Cortez et al., 2025, [DOI](https://doi.org/10.3390/math13091500)|
3435
|Particle Swarm Optimization |PSO|Kennedy, J. and Eberhart, R. "Particle Swarm Optimization". Proceedings of IEEE International Conference on Neural Networks. IV. pp. 1942--1948, 1995.
3536
|Sine Cosine Algorithm |SCA|Seyedali Mirjalili, SCA: A Sine Cosine Algorithm for solving optimization problems, Knowledge-Based Systems, Volume 96, 2016, Pages 120-133,
3637

examples/run_mshoa.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# encoding=utf8
2+
# This is temporary fix to import module from parent folder
3+
# It will be removed when package is published on PyPI
4+
import sys
5+
6+
sys.path.append('../')
7+
# End of fix
8+
9+
from niapy.algorithms.basic import MantisSearchAlgorithm
10+
from niapy.task import Task
11+
from niapy.problems import Sphere
12+
13+
# we will run Mantis Shrimp Optimization Algorithm for 20 iterations
14+
task = Task(problem=Sphere(dimension=10), max_iters=20)
15+
algo = MantisSearchAlgorithm(population_size=30, k_value=0.3)
16+
best = algo.run(task)
17+
print('Best solution: %s' % best[0])
18+
print('Best fitness: %f' % best[1])
19+

niapy/algorithms/basic/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from niapy.algorithms.basic.mbo import MonarchButterflyOptimization
3131
from niapy.algorithms.basic.mfo import MothFlameOptimizer
3232
from niapy.algorithms.basic.mke import MonkeyKingEvolutionV1, MonkeyKingEvolutionV2, MonkeyKingEvolutionV3
33+
from niapy.algorithms.basic.mshoa import MantisSearchAlgorithm, MShOA
3334
from niapy.algorithms.basic.pso import ParticleSwarmAlgorithm, ParticleSwarmOptimization, \
3435
CenterParticleSwarmOptimization, ComprehensiveLearningParticleSwarmOptimizer, \
3536
OppositionVelocityClampingParticleSwarmOptimization, MutatedCenterParticleSwarmOptimization, \
@@ -76,6 +77,8 @@
7677
'DynamicFireworksAlgorithmGauss',
7778
'GravitationalSearchAlgorithm',
7879
'MothFlameOptimizer',
80+
'MantisSearchAlgorithm',
81+
'MShOA',
7982
'FishSchoolSearch',
8083
'CuckooSearch',
8184
'CoralReefsOptimization',

0 commit comments

Comments
 (0)