
MEALPY is the world’s largest Python library, offering a comprehensive collection of cutting-edge meta-heuristic algorithms.
These include nature-inspired algorithms, bio-inspired algorithms, black-box optimization, global search optimizers, iterative learning algorithms,
continuous optimization, derivative-free optimization, gradient-free optimization, zeroth-order optimization,
stochastic search optimization, and random search optimization. All these methods fall under the category of
population-based metaheuristics (PBMs), which are among the most popular algorithms in the field of approximate optimization.
For detailed updates in each new version, please refer to the ChangeLog file.
- Free software: MIT license
- Total algorithms: 233 (206 official (original, hybrid, variants), 27 developed)
- Documentation: https://mealpy.readthedocs.io/en/latest/
- Python versions: >=3.8x
- Dependencies: numpy, scipy, pandas, matplotlib, tqdm
📌 Goals
Our goals are to implement all classical as well as the state-of-the-art nature-inspired algorithms, create a simple interface that helps researchers access optimization algorithms as quickly as possible, and share knowledge of the optimization field with everyone without a fee. What you can do with mealpy:
- Analyse parameters of meta-heuristic algorithms.
- Perform Qualitative and Quantitative Analysis of algorithms.
- Analyse rate of convergence of algorithms.
- Test and Analyse the scalability and the robustness of algorithms.
- Save results in various formats (csv, json, pickle, png, pdf, jpeg)
- Export and import models can also be done with Mealpy.
- Solve any optimization problem
📄 Citation Request
Please include these citations if you plan to use this library:
@article{van2023mealpy,
title={MEALPY: An open-source library for latest meta-heuristic algorithms in Python},
author={Van Thieu, Nguyen and Mirjalili, Seyedali},
journal={Journal of Systems Architecture},
year={2023},
publisher={Elsevier},
doi={10.1016/j.sysarc.2023.102871}
}
@article{van2023groundwater,
title={Groundwater level modeling using Augmented Artificial Ecosystem Optimization},
author={Van Thieu, Nguyen and Barma, Surajit Deb and Van Lam, To and Kisi, Ozgur and Mahesha, Amai},
journal={Journal of Hydrology},
volume={617},
pages={129034},
year={2023},
publisher={Elsevier},
doi={https://doi.org/10.1016/j.jhydrol.2022.129034}
}
@article{ahmed2021comprehensive,
title={A comprehensive comparison of recent developed meta-heuristic algorithms for streamflow time series forecasting problem},
author={Ahmed, Ali Najah and Van Lam, To and Hung, Nguyen Duy and Van Thieu, Nguyen and Kisi, Ozgur and El-Shafie, Ahmed},
journal={Applied Soft Computing},
volume={105},
pages={107282},
year={2021},
publisher={Elsevier},
doi={10.1016/j.asoc.2021.107282}
}
⚙️ Usage
🛠️ Installation
$ pip install mealpy --upgrade
- Install the alpha/beta version from PyPi
$ pip install mealpy==2.5.4a6
- Install the pre-release version directly from the source code:
$ git clone https://github.com/thieu1995/mealpy.git
$ cd mealpy
$ python setup.py install
- In case, you want to install the development version from Github:
$ pip install git+https://github.com/thieu1995/mealpy
After installation, check the version to ensure successful installation:
$ python
>>> import mealpy
>>> mealpy.__version__
>>> print(mealpy.get_all_optimizers())
>>> model = mealpy.get_optimizer_by_name("OriginalWOA")(epoch=100, pop_size=50)
💬 Decision Variables
Before we dive into some examples, let’s briefly consider the type of problem you’re aiming to solve with MEALPY.
Understanding your specific problem and its desired solution can help you select the most appropriate approach.
To assist you in choosing the right tools, refer to the table below. It outlines different types of decision variables available in MEALPY,
along with their syntax and common problem applications. This will guide you in defining your search space effectively.
| Class |
Syntax |
Problem Types |
| FloatVar |
FloatVar(lb=(-10., )*7, ub=(10., )*7, name="delta") |
Continuous Problem |
| IntegerVar |
IntegerVar(lb=(-10., )*7, ub=(10., )*7, name="delta") |
LP, IP, NLP, QP, MIP |
| StringVar |
StringVar(valid_sets=(("auto", "backward", "forward"), ("leaf", "branch", "root")), name="delta") |
ML, AI-optimize |
| BinaryVar |
BinaryVar(n_vars=11, name="delta") |
Networks |
| BoolVar |
BoolVar(n_vars=11, name="delta") |
ML, AI-optimize |
| PermutationVar |
PermutationVar(valid_set=(-10, -4, 10, 6, -2), name="delta") |
Combinatorial Optimization |
| CategoricalVar |
CategoricalVar(valid_sets=(("auto", 2, 3, "backward", True), (0, "tournament", "round-robin")), name="delta") |
MIP, MILP |
| SequenceVar |
SequenceVar(valid_sets=((1, ), {2, 3}, [3, 5, 1]), return_type=list, name='delta') |
Hyper-parameter tuning |
| TransferBoolVar |
TransferBoolVar(n_vars=11, name="delta", tf_func="sstf_02") |
ML, AI-optimize, Feature |
| TransferBinaryVar |
TransferBinaryVar(n_vars=11, name="delta", tf_func="vstf_04") |
Networks, Feature Selection |
📚 Optimizer Classification

To explore the complete, up-to-date registry of supported optimizers and their categorical breakdown,
please check out our Official Classification Table
or consult the foundational research paper.
❌ Warning: Algorithms Suspected of Plagiarism
During our implementation and classification of metaheuristic optimization algorithms, we identified a set of methods that raise
serious concerns regarding scientific integrity and originality. These algorithms are typically published under different names,
but they appear to share:
- The same core mathematical models, equations, and update rules.
- Only superficial changes in naming, metaphors, or biological analogies.
- Publications authored by the same or overlapping research groups.
- Heavy criticism on public academic forums such as PubPeer, where many of these papers are flagged for self-plagiarism, redundant publication, or lack of novelty.
- Some of these papers may be withdrawn or retracted in the future, as investigations unfold.
For these reasons, we strongly advise the exclusion of the following algorithms from scientific benchmarking,
comparative studies, or any applications unless their originality is transparently validated.
I have personally implemented these algorithms, which is why I can confidently say that they are nearly identical
and likely cases of plagiarism. For this reason, I will no longer spend time coding such algorithms in the future.
This warning is intended to help others avoid using or relying on these methods in their work.
| Group |
Name |
Module |
Class |
Year |
Paras |
| Swarm |
Coati Optimization Algorithm |
CoatiOA |
OriginalCoatiOA |
2023 |
2 |
| Swarm |
Fennec For Optimization |
FFO |
OriginalFFO |
2022 |
2 |
| Swarm |
Northern Goshawk Optimization |
NGO |
OriginalNGO |
2021 |
2 |
| Swarm |
Osprey Optimization Algorithm |
OOA |
OriginalOOA |
2023 |
2 |
| Swarm |
Pelican Optimization Algorithm |
POA |
OriginalPOA |
2023 |
2 |
| Swarm |
Serval Optimization Algorithm |
ServalOA |
OriginalServalOA |
2022 |
2 |
| Swarm |
Siberian Tiger Optimization |
STO |
OriginalSTO |
2022 |
2 |
| Swarm |
Tasmanian Devil Optimization |
TDO |
OriginalTDO |
2022 |
2 |
| Swarm |
Walrus Optimization Algorithm |
WaOA |
OriginalWaOA |
2022 |
2 |
| Swarm |
Zebra Optimization Algorithm |
ZOA |
OriginalZOA |
2022 |
2 |
| Human |
Teamwork Optimization Algorithm |
TOA |
OriginalTOA |
2021 |
2 |
⚠️ Ethical Reminder
Researchers and students are urged to exercise caution when referencing or applying the algorithms listed above.
Using unoriginal or unethical work can compromise the scientific credibility of any downstream research and introduce misleading experimental results.
🔗 Check PubPeer1 and PubPeer2 to
find ongoing discussions and critiques from the academic community.
💻 Define All Optimizers
from mealpy import (StringVar, FloatVar, BoolVar, PermutationVar, CategoricalVar, IntegerVar, BinaryVar,
TransferBinaryVar, TransferBoolVar)
from mealpy import Tuner, Multitask, Problem, Optimizer, Termination, ParameterGrid
from mealpy import get_all_optimizers, get_optimizer_by_name
from mealpy import BBO, PSO, GA, ALO, AO, ARO, AVOA, BA, BBOA, BMO, EOA, IWO
from mealpy import GJO, FOX, FOA, FFO, FFA, FA, ESOA, EHO, DO, DMOA, CSO, CSA, CoatiOA, COA, BSA
from mealpy import HCO, ICA, LCO, WarSO, TOA, TLO, SSDO, SPBO, SARO, QSA, ArchOA, ASO, CDO, EFO, EO, EVO, FLA
from mealpy import HGSO, MVO, NRO, RIME, SA, WDO, TWO, ABC, ACOR, AGTO, BeesA, BES, BFO, ZOA, WOA, WaOA, TSO
from mealpy import PFA, OOA, NGO, NMRA, MSA, MRFO, MPA, MGO, MFO, JA, HHO, HGS, HBA, GWO, GTO, GOA
from mealpy import SBO, SMA, SOA, SOS, TPO, TSA, VCS, WHO, AOA, CEM, CGO, CircleSA, GBO, HC, INFO, PSS, RUN, SCA
from mealpy import SHIO, TS, HS, AEO, GCO, WCA, CRO, DE, EP, ES, FPA, MA, SHADE, BRO, BSO, CA, CHIO, FBIO, GSKA, HBO
from mealpy import TDO, STO, SSpiderO, SSpiderA, SSO, SSA, SRSR, SLO, SHO, SFO, ServalOA, SeaHO, SCSO, POA
## Newly added module in version 3.0.3
from mealpy import ESO, EPC, SMO, AFT, CDDO, SquirrelSA, FDO, LSHADEcnEpSin, IMODE
if __name__ == "__main__":
model = BBO.OriginalBBO(epoch=10, pop_size=30, p_m=0.01, n_elites=2)
model = PSO.OriginalPSO(epoch=100, pop_size=50, c1=2.05, c2=20.5, w=0.4)
model = PSO.LDW_PSO(epoch=100, pop_size=50, c1=2.05, c2=20.5, w_min=0.4, w_max=0.9)
model = PSO.AIW_PSO(epoch=100, pop_size=50, c1=2.05, c2=20.5, alpha=0.4)
model = PSO.P_PSO(epoch=100, pop_size=50)
model = PSO.HPSO_TVAC(epoch=100, pop_size=50, ci=0.5, cf=0.1)
model = PSO.C_PSO(epoch=100, pop_size=50, c1=2.05, c2=2.05, w_min=0.4, w_max=0.9)
model = PSO.CL_PSO(epoch=100, pop_size=50, c_local=1.2, w_min=0.4, w_max=0.9, max_flag=7)
model = GA.BaseGA(epoch=100, pop_size=50, pc=0.9, pm=0.05, selection="tournament", k_way=0.4, crossover="multi_points", mutation="swap")
model = GA.SingleGA(epoch=100, pop_size=50, pc=0.9, pm=0.8, selection="tournament", k_way=0.4, crossover="multi_points", mutation="swap")
model = GA.MultiGA(epoch=100, pop_size=50, pc=0.9, pm=0.8, selection="tournament", k_way=0.4, crossover="multi_points", mutation="swap")
model = GA.EliteSingleGA(epoch=100, pop_size=50, pc=0.95, pm=0.8, selection="roulette", crossover="uniform", mutation="swap", k_way=0.2, elite_best=0.1,
elite_worst=0.3, strategy=0)
model = GA.EliteMultiGA(epoch=100, pop_size=50, pc=0.95, pm=0.8, selection="roulette", crossover="uniform", mutation="swap", k_way=0.2, elite_best=0.1,
elite_worst=0.3, strategy=0)
model = ABC.OriginalABC(epoch=1000, pop_size=50, n_limits=50)
model = ACOR.OriginalACOR(epoch=1000, pop_size=50, sample_count=25, intent_factor=0.5, zeta=1.0)
model = AGTO.OriginalAGTO(epoch=1000, pop_size=50, p1=0.03, p2=0.8, beta=3.0)
model = AGTO.MGTO(epoch=1000, pop_size=50, pp=0.03)
model = ALO.OriginalALO(epoch=100, pop_size=50)
model = ALO.DevALO(epoch=100, pop_size=50)
model = AO.OriginalAO(epoch=100, pop_size=50)
model = ARO.OriginalARO(epoch=100, pop_size=50)
model = ARO.LARO(epoch=100, pop_size=50)
model = ARO.IARO(epoch=100, pop_size=50)
model = AVOA.OriginalAVOA(epoch=100, pop_size=50, p1=0.6, p2=0.4, p3=0.6, alpha=0.8, gama=2.5)
model = BA.OriginalBA(epoch=100, pop_size=50, loudness=0.8, pulse_rate=0.95, pf_min=0.1, pf_max=10.0)
model = BA.AdaptiveBA(epoch=100, pop_size=50, loudness_min=1.0, loudness_max=2.0, pr_min=-2.5, pr_max=0.85, pf_min=0.1, pf_max=10.)
model = BA.DevBA(epoch=100, pop_size=50, pulse_rate=0.95, pf_min=0., pf_max=10.)
model = BBOA.OriginalBBOA(epoch=100, pop_size=50)
model = BMO.OriginalBMO(epoch=100, pop_size=50, pl=4)
model = EOA.OriginalEOA(epoch=100, pop_size=50, p_c=0.9, p_m=0.01, n_best=2, alpha=0.98, beta=0.9, gama=0.9)
model = IWO.OriginalIWO(epoch=100, pop_size=50, seed_min=3, seed_max=9, exponent=3, sigma_start=0.6, sigma_end=0.01)
model = SBO.DevSBO(epoch=100, pop_size=50, alpha=0.9, p_m=0.05, psw=0.02)
model = SBO.OriginalSBO(epoch=100, pop_size=50, alpha=0.9, p_m=0.05, psw=0.02)
model = SMA.OriginalSMA(epoch=100, pop_size=50, p_t=0.03)
model = SMA.DevSMA(epoch=100, pop_size=50, p_t=0.03)
model = SOA.OriginalSOA(epoch=100, pop_size=50, fc=2)
model = SOA.DevSOA(epoch=100, pop_size=50, fc=2)
model = SOS.OriginalSOS(epoch=100, pop_size=50)
model = TPO.DevTPO(epoch=100, pop_size=50, alpha=0.3, beta=50., theta=0.9)
model = TSA.OriginalTSA(epoch=100, pop_size=50)
model = VCS.OriginalVCS(epoch=100, pop_size=50, lamda=0.5, sigma=0.3)
model = VCS.DevVCS(epoch=100, pop_size=50, lamda=0.5, sigma=0.3)
model = WHO.OriginalWHO(epoch=100, pop_size=50, n_explore_step=3, n_exploit_step=3, eta=0.15, p_hi=0.9, local_alpha=0.9, local_beta=0.3, global_alpha=0.2,
提示:代码过长已自动截断
✅ Examples
Simple Benchmark Function
MEALPY allows you to define your optimization problem in a couple of ways.
1. Define Problem as a Dictionary
You can quickly define your problem using a Python dictionary. However, this approach is only valid for problems with float decision variables.
from mealpy import FloatVar, SMA
import numpy as np
def objective_function(solution):
return np.sum(solution**2)
problem = {
"obj_func": objective_function,
"bounds": FloatVar(lb=(-100., )*30, ub=(100., )*30),
"minmax": "min",
"log_to": "console",
}
## Run the algorithm
model = SMA.OriginalSMA(epoch=100, pop_size=50, pr=0.03)
g_best = model.solve(problem)
print(f"Best solution: {g_best.solution}, Best fitness: {g_best.target.fitness}")
2. Define a Custom Problem Class
For more complex scenarios, especially when your decision variables are not exclusively FloatVar,
we recommend defining a custom class that inherits from the Problem class.
Let’s demonstrate this with a simple “Squared” class.
In the __init__ method of your custom Problem class (e.g., Squared class), you must set the bounds and minmax attributes of the problem.
-
bounds: Defines the search space and the type of decision variables (e.g., FloatVar, IntegerVar).
-
minmax: A string indicating whether the problem is a minimization (“min”) or maximization (“max”) problem.
After defining the initialization, you must override the abstract method obj_func(). This method is the core of your problem definition:
The resulting code structure for a custom problem class would look similar to the snippet below.
You can include any additional parameters you need in your custom class (like ‘data’ or ‘name’ in this example).
from mealpy import Problem, FloatVar, BBO
import numpy as np
# Our custom problem class
class Squared(Problem):
def __init__(self, bounds=None, minmax="min", data=None, **kwargs):
super().__init__(bounds, minmax, **kwargs)
self.data = data # This is additional variable use for passing data to objective function
def obj_func(self, solution):
return np.sum(solution ** 2)
## Now, we define an algorithm, and pass an instance of our *Squared* class as the problem argument.
bound = FloatVar(lb=(-10., )*20, ub=(10., )*20, name="my_var") # The `name` of variable is important when decoding.
problem = Squared(bounds=bound, minmax="min", name="Squared", data="Amazing")
model = BBO.OriginalBBO(epoch=100, pop_size=20)
g_best = model.solve(problem)
## Show some attributes
print(g_best.solution)
print(g_best.target.fitness)
print(g_best.target.objectives)
print(g_best)
print(model.get_parameters())
print(model.get_name())
print(model.get_attributes()["g_best"])
print(model.problem.get_name())
print(model.problem.n_dims)
print(model.problem.bounds)
print(model.problem.lb)
print(model.problem.ub)
We provide many examples for complicated applications that can use Mealpy to solve.
🚀 Mealpy Applications
MEALPY is a versatile library capable of solving a wide array of complex optimization problems across various domains. Below are examples showcasing its diverse applications.
1. General Optimization Problems
These examples demonstrate MEALPY’s use in common optimization scenarios.
- Large-Scale Optimization example
- Distributed Optimization / Parallelization Optimization example
- Constrained Benchmark Function example
- Multi-objective Benchmark Function example
2. Machine Learning & AI Optimization
MEALPY can be effectively used to optimize various aspects of Machine Learning and AI models.
- Optimize Machine Learning Model (SVM) Hyperparameters example
- Optimize Linear Regression Model with Pytorch: example
3. Combinatorial Optimization Problems
MEALPY excels at solving complex combinatorial problems, which involve finding an optimal object from a finite set of objects.
- Traveling Salesman Problem (TSP) example
- Job Shop Scheduling Problem example
- Shortest Path Problem example
- Location Optimization example
- Supply Chain Optimization example
- Healthcare Workflow Optimization Problem example
- Production Optimization Problem example
- Employee Rostering Problem example
- Maintenance Scheduling example
- Cloud task scheduling example
4. Advanced Integration Examples
MEALPY’s flexibility allows for integration into more specialized systems and workflows.
MEALPY + Neural Networks (Replacing Gradient Descent)
- Time-series Problem:
- Traditional MLP Link
- Hybrid code (Mealpy + MLP): Link
- Classification Problem:
- Traditional MLP Link
- Hybrid code (Mealpy + MLP): Link
MEALPY + Neural Network (Optimize Neural Network Hyper-parameter)
Code: Link
5. Dedicated Utility Classes
MEALPY includes specialized classes to streamline common optimization tasks.
- Tuner class (GridSearchCV/ParameterSearch, Hyper-parameter tuning) example
- Multitask class (Multitask solver) example
- Visualization Tutorials
6. External Projects & More Examples
Explore additional advanced examples and dedicated projects showcasing MEALPY’s capabilities.
- Travelling Salesman Problem: link
- Feature selection problem: link
For more usage examples please look at examples folder.
More advanced examples can also be found in the Mealpy-examples repository.
7. Tutorial Videos & Resources
All tutorial videos: Link
All code examples: Link
All visualization examples: Link
📚 Documents
📎 Official channels
🌟 MEALPY ecosystem
References
A
-
ABC - Artificial Bee Colony
- OriginalABC: Karaboga, D. (2005). An idea based on honey bee swarm for numerical optimization (Vol. 200, pp. 1-10). Technical report-tr06, Erciyes university, engineering faculty, computer engineering department.
-
ACOR - Ant Colony Optimization.
- OriginalACOR: Socha, K., & Dorigo, M. (2008). Ant colony optimization for continuous domains. European journal of operational research, 185(3), 1155-1173.
-
ALO - Ant Lion Optimizer
- OriginalALO: Mirjalili S (2015). “The Ant Lion Optimizer.” Advances in Engineering Software, 83, 80-98. doi: 10.1016/j.advengsoft.2015.01.010
- BaseALO: The developed version
-
AEO - Artificial Ecosystem-based Optimization
- OriginalAEO: Zhao, W., Wang, L., & Zhang, Z. (2019). Artificial ecosystem-based optimization: a novel nature-inspired meta-heuristic algorithm. Neural Computing and Applications, 1-43.
- AugmentedAEO: Van Thieu, N., Barma, S. D., Van Lam, T., Kisi, O., & Mahesha, A. (2022). Groundwater level modeling using Augmented Artificial Ecosystem Optimization. Journal of Hydrology, 129034.
- ImprovedAEO: Rizk-Allah, R. M., & El-Fergany, A. A. (2020). Artificial ecosystem optimizer for parameters identification of proton exchange membrane fuel cells model. International Journal of Hydrogen Energy.
- EnhancedAEO: Eid, A., Kamel, S., Korashy, A., & Khurshaid, T. (2020). An Enhanced Artificial Ecosystem-Based Optimization for Optimal Allocation of Multiple Distributed Generations. IEEE Access, 8, 178493-178513.
- ModifiedAEO: Menesy, A. S., Sultan, H. M., Korashy, A., Banakhr, F. A., Ashmawy, M. G., & Kamel, S. (2020). Effective parameter extraction of different polymer electrolyte membrane fuel cell stack models using a modified artificial ecosystem optimization algorithm. IEEE Access, 8, 31892-31909.
-
ASO - Atom Search Optimization
- OriginalASO: Zhao, W., Wang, L., & Zhang, Z. (2019). Atom search optimization and its application to solve a hydrogeologic parameter estimation problem. Knowledge-Based Systems, 163, 283-304.
-
ArchOA - Archimedes Optimization Algorithm
- OriginalArchOA: Hashim, F. A., Hussain, K., Houssein, E. H., Mabrouk, M. S., & Al-Atabany, W. (2021). Archimedes optimization algorithm: a new metaheuristic algorithm for solving optimization problems. Applied Intelligence, 51(3), 1531-1551.
-
AOA - Arithmetic Optimization Algorithm
- OriginalAOA: Abualigah, L., Diabat, A., Mirjalili, S., Abd Elaziz, M., & Gandomi, A. H. (2021). The arithmetic optimization algorithm. Computer methods in applied mechanics and engineering, 376, 113609.
-
AO - Aquila Optimizer
- OriginalAO: Abualigah, L., Yousri, D., Abd Elaziz, M., Ewees, A. A., Al-qaness, M. A., & Gandomi, A. H. (2021). Aquila Optimizer: A novel meta-heuristic optimization Algorithm. Computers & Industrial Engineering, 157, 107250.
- AAO: Al-Selwi, S. M., Hassan, M. F., Abdulkadir, S. J., Ragab, M. G., Alqushaibi, A., & Sumiea, E. H. (2024). Smart grid stability prediction using adaptive aquila optimizer and ensemble stacked bilstm. Results in Engineering, 24, 103261.
-
AVOA - African Vultures Optimization Algorithm
- OriginalAVOA: Abdollahzadeh, B., Gharehchopogh, F. S., & Mirjalili, S. (2021). African vultures optimization algorithm: A new nature-inspired metaheuristic algorithm for global optimization problems. Computers & Industrial Engineering, 158, 107408.
-
AGTO - Artificial Gorilla Troops Optimization
- OriginalAGTO: Abdollahzadeh, B., Soleimanian Gharehchopogh, F., & Mirjalili, S. (2021). Artificial gorilla troops optimizer: a new nature‐inspired metaheuristic algorithm for global optimization problems. International Journal of Intelligent Systems, 36(10), 5887-5958.
-
ARO - Artificial Rabbits Optimization:
- OriginalARO: Wang, L., Cao, Q., Zhang, Z., Mirjalili, S., & Zhao, W. (2022). Artificial rabbits optimization: A new bio-inspired meta-heuristic algorithm for solving engineering optimization problems. Engineering Applications of Artificial Intelligence, 114, 105082.
-
AFT - Ali baba and the Forty Thieves:
- OriginalAFT: Braik, M., Ryalat, M. H., & Al-Zoubi, H. (2022). A novel meta-heuristic algorithm for solving numerical optimization problems: Ali Baba and the forty thieves. Neural Computing and Applications, 34(1), 409-455.
B
-
BFO - Bacterial Foraging Optimization
- OriginalBFO: Passino, K. M. (2002). Biomimicry of bacterial foraging for distributed optimization and control. IEEE control systems magazine, 22(3), 52-67.
- ABFO: Nguyen, T., Nguyen, B. M., & Nguyen, G. (2019, April). Building resource auto-scaler with functional-link neural network and adaptive bacterial foraging optimization. In International Conference on Theory and Applications of Models of Computation (pp. 501-517). Springer, Cham.
-
BeesA - Bees Algorithm
- OriginalBeesA: Pham, D. T., Ghanbarzadeh, A., Koc, E., Otri, S., Rahim, S., & Zaidi, M. (2005). The bees algorithm. Technical Note, Manufacturing Engineering Centre, Cardiff University, UK.
- ProbBeesA: The probabilitic version of: Pham, D. T., Ghanbarzadeh, A., Koç, E., Otri, S., Rahim, S., & Zaidi, M. (2006). The bees algorithm—a novel tool for complex optimisation problems. In Intelligent production machines and systems (pp. 454-459). Elsevier Science Ltd.
-
BBO - Biogeography-Based Optimization
- OriginalBBO: Simon, D. (2008). Biogeography-based optimization. IEEE transactions on evolutionary computation, 12(6), 702-713.
- BaseBBO: The developed version
-
BA - Bat Algorithm
- OriginalBA: Yang, X. S. (2010). A new metaheuristic bat-inspired algorithm. In Nature inspired cooperative strategies for optimization (NICSO 2010) (pp. 65-74). Springer, Berlin, Heidelberg.
- AdaptiveBA: Wang, X., Wang, W. and Wang, Y., 2013, July. An adaptive bat algorithm. In International Conference on Intelligent Computing(pp. 216-223). Springer, Berlin, Heidelberg.
- ModifiedBA: Dong, H., Li, T., Ding, R. and Sun, J., 2018. A novel hybrid genetic algorithm with granular information for feature selection and optimization. Applied Soft Computing, 65, pp.33-46.
-
BSO - Brain Storm Optimization
- OriginalBSO: . Shi, Y. (2011, June). Brain storm optimization algorithm. In International conference in swarm intelligence (pp. 303-309). Springer, Berlin, Heidelberg.
- ImprovedBSO: El-Abd, M., 2017. Global-best brain storm optimization algorithm. Swarm and evolutionary computation, 37, pp.27-44.
-
BSA - Bird Swarm Algorithm
- OriginalBSA: Meng, X. B., Gao, X. Z., Lu, L., Liu, Y., & Zhang, H. (2016). A new bio-inspired optimisation algorithm:Bird Swarm Algorithm. Journal of Experimental & Theoretical Artificial Intelligence, 28(4), 673-687.
-
BMO - Barnacles Mating Optimizer:
- OriginalBMO: Sulaiman, M. H., Mustaffa, Z., Saari, M. M., Daniyal, H., Daud, M. R., Razali, S., & Mohamed, A. I. (2018, June). Barnacles mating optimizer: a bio-inspired algorithm for solving optimization problems. In 2018 19th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD) (pp. 265-270). IEEE.
-
BES - Bald Eagle Search
- OriginalBES: Alsattar, H. A., Zaidan, A. A., & Zaidan, B. B. (2019). Novel meta-heuristic bald eagle search optimisation algorithm. Artificial Intelligence Review, 1-28.
-
BRO - Battle Royale Optimization
- OriginalBRO: Rahkar Farshi, T. (2020). Battle royale optimization algorithm. Neural Computing and Applications, 1-19.
- BaseBRO: The developed version
C
-
CA - Culture Algorithm
- OriginalCA: Reynolds, R.G., 1994, February. An introduction to cultural algorithms. In Proceedings of the third annual conference on evolutionary programming (Vol. 24, pp. 131-139). River Edge, NJ: World Scientific.
-
CEM - Cross Entropy Method
- OriginalCEM: Rubinstein, R. (1999). The cross-entropy method for combinatorial and continuous optimization. Methodology and computing in applied probability, 1(2), 127-190.
-
CSO - Cat Swarm Optimization
- OriginalCSO: Chu, S. C., Tsai, P. W., & Pan, J. S. (2006, August). Cat swarm optimization. In Pacific Rim international conference on artificial intelligence (pp. 854-858). Springer, Berlin, Heidelberg.
-
CSA - Cuckoo Search Algorithm
- OriginalCSA: Yang, X. S., & Deb, S. (2009, December). Cuckoo search via Lévy flights. In 2009 World congress on nature & biologically inspired computing (NaBIC) (pp. 210-214). Ieee.
-
CRO - Coral Reefs Optimization
- OriginalCRO: Salcedo-Sanz, S., Del Ser, J., Landa-Torres, I., Gil-López, S., & Portilla-Figueras, J. A. (2014). The coral reefs optimization algorithm: a novel metaheuristic for efficiently solving optimization problems. The Scientific World Journal, 2014.
- OCRO: Nguyen, T., Nguyen, T., Nguyen, B. M., & Nguyen, G. (2019). Efficient time-series forecasting using neural network and opposition-based coral reefs optimization. International Journal of Computational Intelligence Systems, 12(2), 1144-1161.
-
COA - Coyote Optimization Algorithm
- OriginalCOA: Pierezan, J., & Coelho, L. D. S. (2018, July). Coyote optimization algorithm: a new metaheuristic for global optimization problems. In 2018 IEEE congress on evolutionary computation (CEC) (pp. 1-8). IEEE.
-
CHIO - Coronavirus Herd Immunity Optimization
- OriginalCHIO: Al-Betar, M. A., Alyasseri, Z. A. A., Awadallah, M. A., & Abu Doush, I. (2021). Coronavirus herd immunity optimizer (CHIO). Neural Computing and Applications, 33(10), 5011-5042.
- BaseCHIO: The developed version
-
CGO - Chaos Game Optimization
- OriginalCGO: Talatahari, S., & Azizi, M. (2021). Chaos Game Optimization: a novel metaheuristic algorithm. Artificial Intelligence Review, 54(2), 917-1004.
-
CSA - Circle Search Algorithm
- OriginalCSA: Qais, M. H., Hasanien, H. M., Turky, R. A., Alghuwainem, S., Tostado-Véliz, M., & Jurado, F. (2022). Circle Search Algorithm: A Geometry-Based Metaheuristic Optimization Algorithm. Mathematics, 10(10), 1626.
-
CDDO - Child Drawing Development Optimization
- OriginalCDDO: Abdulhameed, S., Rashid, T.A. Child Drawing Development Optimization Algorithm Based on Child’s Cognitive Development. Arab J Sci Eng 47, 1337–1351 (2022). https://doi.org/10.1007/s13369-021-05928-6
D
-
DE - Differential Evolution
- BaseDE: Storn, R., & Price, K. (1997). Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces. Journal of global optimization, 11(4), 341-359.
- JADE: Zhang, J., & Sanderson, A. C. (2009). JADE: adaptive differential evolution with optional external archive. IEEE Transactions on evolutionary computation, 13(5), 945-958.
- SADE: Qin, A. K., & Suganthan, P. N. (2005, September). Self-adaptive differential evolution algorithm for numerical optimization. In 2005 IEEE congress on evolutionary computation (Vol. 2, pp. 1785-1791). IEEE.
- SHADE: Tanabe, R., & Fukunaga, A. (2013, June). Success-history based parameter adaptation for differential evolution. In 2013 IEEE congress on evolutionary computation (pp. 71-78). IEEE.
- L_SHADE: Tanabe, R., & Fukunaga, A. S. (2014, July). Improving the search performance of SHADE using linear population size reduction. In 2014 IEEE congress on evolutionary computation (CEC) (pp. 1658-1665). IEEE.
- SAP_DE: Teo, J. (2006). Exploring dynamic cls-adaptive populations in differential evolution. Soft Computing, 10(8), 673-686.
-
DSA - Differential Search Algorithm (not done)
- BaseDSA: Civicioglu, P. (2012). Transforming geocentric cartesian coordinates to geodetic coordinates by using differential search algorithm. Computers & Geosciences, 46, 229-247.
-
DO - Dragonfly Optimization
- OriginalDO: Mirjalili, S. (2016). Dragonfly algorithm: a new meta-heuristic optimization technique for solving single-objective, discrete, and multi-objective problems. Neural Computing and Applications, 27(4), 1053-1073.
-
DMOA - Dwarf Mongoose Optimization Algorithm
- OriginalDMOA: Agushaka, J. O., Ezugwu, A. E., & Abualigah, L. (2022). Dwarf mongoose optimization algorithm. Computer methods in applied mechanics and engineering, 391, 114570.
- DevDMOA: The developed version
E
-
ES - Evolution Strategies .
- OriginalES: Schwefel, H. P. (1984). Evolution strategies: A family of non-linear optimization techniques based on imitating some principles of organic evolution. Annals of Operations Research, 1(2), 165-167.
- LevyES: Zhang, S., & Salari, E. (2005). Competitive learning vector quantization with evolution strategies for image compression. Optical Engineering, 44(2), 027006.
-
EP - Evolutionary programming .
- OriginalEP: Fogel, L. J. (1994). Evolutionary programming in perspective: The top-down view. Computational intelligence: Imitating life.
- LevyEP: Lee, C.Y. and Yao, X., 2001, May. Evolutionary algorithms with adaptive lévy mutations. In Proceedings of the 2001 congress on evolutionary computation (IEEE Cat. No. 01TH8546) (Vol. 1, pp. 568-575). IEEE.
-
EHO - Elephant Herding Optimization .
- OriginalEHO: Wang, G. G., Deb, S., & Coelho, L. D. S. (2015, December). Elephant herding optimization. In 2015 3rd International Symposium on Computational and Business Intelligence (ISCBI) (pp. 1-5). IEEE.
-
EFO - Electromagnetic Field Optimization .
- OriginalEFO:Abedinpourshotorban, H., Shamsuddin, S. M., Beheshti, Z., & Jawawi, D. N. (2016). Electromagnetic field optimization: A physics-inspired metaheuristic optimization algorithm. Swarm and Evolutionary Computation, 26, 8-22.
- BaseEFO: The developed version
-
EOA - Earthworm Optimisation Algorithm .
- OriginalEOA: Wang, G. G., Deb, S., & dos Santos Coelho, L. (2018). Earthworm optimisation algorithm: a bio-inspired metaheuristic algorithm for global optimisation problems. IJBIC, 12(1), 1-22.
-
EO - Equilibrium Optimizer .
- OriginalEO: Faramarzi, A., Heidarinejad, M., Stephens, B., & Mirjalili, S. (2019). Equilibrium optimizer: A novel optimization algorithm. Knowledge-Based Systems.
- ModifiedEO: Gupta, S., Deep, K., & Mirjalili, S. (2020). An efficient equilibrium optimizer with mutation strategy for numerical optimization. Applied Soft Computing, 96, 106542.
- AdaptiveEO: Wunnava, A., Naik, M. K., Panda, R., Jena, B., & Abraham, A. (2020). A novel interdependence based multilevel thresholding technique using adaptive equilibrium optimizer. Engineering Applications of Artificial Intelligence, 94, 103836.
-
ESO - Electrical Storm Optimization .
- OriginalESO: Soto Calvo, M., & Lee, H. S. (2025). Electrical Storm Optimization (ESO) Algorithm: Theoretical Foundations, Analysis, and Application to Engineering Problems. Machine Learning and Knowledge Extraction, 7(1), 24. https://doi.org/10.3390/make7010024
-
EPC - Emperor Penguins Colony .
- DevEPC: Harifi, S., Khalilian, M., Mohammadzadeh, J. and Ebrahimnejad, S., 2019. Emperor Penguins Colony: a new metaheuristic algorithm for optimization. Evolutionary intelligence, 12(2), pp.211-226.
F
-
FFA - Firefly Algorithm
- OriginalFFA: Łukasik, S., & Żak, S. (2009, October). Firefly algorithm for continuous constrained optimization tasks. In International conference on computational collective intelligence (pp. 97-106). Springer, Berlin, Heidelberg.
-
FA - Fireworks algorithm
- OriginalFA: Tan, Y., & Zhu, Y. (2010, June). Fireworks algorithm for optimization. In International conference in swarm intelligence (pp. 355-364). Springer, Berlin, Heidelberg.
-
FPA - Flower Pollination Algorithm
- OriginalFPA: Yang, X. S. (2012, September). Flower pollination algorithm for global optimization. In International conference on unconventional computing and natural computation (pp. 240-249). Springer, Berlin, Heidelberg.
-
FOA - Fruit-fly Optimization Algorithm
- OriginalFOA: Pan, W. T. (2012). A new fruit fly optimization algorithm: taking the financial distress model as an example. Knowledge-Based Systems, 26, 69-74.
- BaseFOA: The developed version
- WhaleFOA: Fan, Y., Wang, P., Heidari, A. A., Wang, M., Zhao, X., Chen, H., & Li, C. (2020). Boosted hunting-based fruit fly optimization and advances in real-world problems. Expert Systems with Applications, 159, 113502.
-
FDO - Fitness Dependent Optimizer
- OriginalFDO: Abdullah, J. M., & Ahmed, T. (2019). Fitness dependent optimizer: inspired by the bee swarming reproductive process. IEEe Access, 7, 43473-43486.
-
FBIO - Forensic-Based Investigation Optimization
- OriginalFBIO: Chou, J.S. and Nguyen, N.M., 2020. FBI inspired meta-optimization. Applied Soft Computing, p.106339.
- BaseFBIO: Fathy, A., Rezk, H. and Alanazi, T.M., 2021. Recent approach of forensic-based investigation algorithm for optimizing fractional order PID-based MPPT with proton exchange membrane fuel cell.IEEE Access,9, pp.18974-18992.
-
FHO - Fire Hawk Optimization
- OriginalFHO: Azizi, M., Talatahari, S., & Gandomi, A. H. (2022). Fire Hawk Optimizer: a novel metaheuristic algorithm. Artificial Intelligence Review, 1-77.
G
-
GA - Genetic Algorithm
- BaseGA: Holland, J. H. (1992). Genetic algorithms. Scientific american, 267(1), 66-73.
- SingleGA: De Falco, I., Della Cioppa, A. and Tarantino, E., 2002. Mutation-based genetic algorithm: performance evaluation. Applied Soft Computing, 1(4), pp.285-299.
- MultiGA: De Jong, K.A. and Spears, W.M., 1992. A formal analysis of the role of multi-point crossover in genetic algorithms. Annals of mathematics and Artificial intelligence, 5(1), pp.1-26.
- EliteSingleGA: Elite version of Single-point mutation GA
- EliteMultiGA: Elite version of Multiple-point mutation GA
-
GWO - Grey Wolf Optimizer
- OriginalGWO: Mirjalili, S., Mirjalili, S. M., & Lewis, A. (2014). Grey wolf optimizer. Advances in engineering software, 69, 46-61.
- RW_GWO: Gupta, S., & Deep, K. (2019). A novel random walk grey wolf optimizer. Swarm and evolutionary computation, 44, 101-112.
- GWO_WOA: Obadina, O. O., Thaha, M. A., Althoefer, K., & Shaheed, M. H. (2022). Dynamic characterization of a master–slave robotic manipulator using a hybrid grey wolf–whale optimization algorithm. Journal of Vibration and Control, 28(15-16), 1992-2003.
- IGWO: Kaveh, A. & Zakian, P… (2018). Improved GWO algorithm for optimal design of truss structures. Engineering with Computers. 34. 10.1007/s00366-017-0567-1.
- ChaoticGWO: Kohli, M., & Arora, S. (2018). Chaotic grey wolf optimization algorithm for constrained optimization problems. Journal of computational design and engineering, 5(4), 458-472.
- FuzzyGWO: Rodríguez, Luis, Oscar Castillo, José Soria, Patricia Melin, Fevrier Valdez, Claudia I. Gonzalez, Gabriela E. Martinez, and Jesus Soto. “A fuzzy hierarchical operator in the grey wolf optimizer algorithm.” Applied Soft Computing 57 (2017): 315-328.
- IncrementalGWO: Seyyedabbasi, A., & Kiani, F. (2021). I-GWO and Ex-GWO: improved algorithms of the Grey Wolf Optimizer to solve global optimization problems. Engineering with Computers, 37(1), 509-532.
- ExGWO: Seyyedabbasi, A., & Kiani, F. (2021). I-GWO and Ex-GWO: improved algorithms of the Grey Wolf Optimizer to solve global optimization problems. Engineering with Computers, 37(1), 509-532.
- DS_GWO: Jiang, Jianhua, Ziying Zhao, Yutong Liu, Weihua Li, and Huan Wang. “DSGWO: An improved grey wolf optimizer with diversity enhanced strategy based on group-stage competition and balance mechanisms.” Knowledge-Based Systems 250 (2022): 109100.
- IOBL_GWO: Bansal, J. C., & Singh, S. (2021). A better exploration strategy in Grey Wolf Optimizer. Journal of Ambient Intelligence and Humanized Computing, 12(1), 1099-1118.
- OGWO: Yu, X., Xu, W., & Li, C. (2021). Opposition-based learning grey wolf optimizer for global optimization. Knowledge-Based Systems, 226, 107139.
- ER_GWO: Long, W., Cai, S., Jiao, J. et al. An efficient and robust grey wolf optimizer algorithm for large-scale numerical optimization. Soft Comput 24, 997–1026 (2020).
- CG_GWO: Li, K., Li, S., Huang, Z. et al. Grey Wolf Optimization algorithm based on Cauchy-Gaussian mutation and improved search strategy. Sci Rep 12, 18961 (2022).
-
GOA - Grasshopper Optimisation Algorithm
- OriginalGOA: Saremi, S., Mirjalili, S., & Lewis, A. (2017). Grasshopper optimisation algorithm: theory and application. Advances in Engineering Software, 105, 30-47.
-
GCO - Germinal Center Optimization
- OriginalGCO: Villaseñor, C., Arana-Daniel, N., Alanis, A. Y., López-Franco, C., & Hernandez-Vargas, E. A. (2018). Germinal center optimization algorithm. International Journal of Computational Intelligence Systems, 12(1), 13-27.
- BaseGCO: The developed version
-
GSKA - Gaining Sharing Knowledge-based Algorithm
- OriginalGSKA: Mohamed, A. W., Hadi, A. A., & Mohamed, A. K. (2019). Gaining-sharing knowledge based algorithm for solving optimization problems: a novel nature-inspired algorithm. International Journal of Machine Learning and Cybernetics, 1-29.
- BaseGSKA: Mohamed, A.W., Hadi, A.A., Mohamed, A.K. and Awad, N.H., 2020, July. Evaluating the performance of adaptive GainingSharing knowledge based algorithm on CEC 2020 benchmark problems. In 2020 IEEE Congress on Evolutionary Computation (CEC) (pp. 1-8). IEEE.
-
GBO - Gradient-Based Optimizer
- OriginalGBO: Ahmadianfar, I., Bozorg-Haddad, O., & Chu, X. (2020). Gradient-based optimizer: A new metaheuristic optimization algorithm. Information Sciences, 540, 131-159.
H
-
HC - Hill Climbing .
- OriginalHC: Talbi, E. G., & Muntean, T. (1993, January). Hill-climbing, simulated annealing and genetic algorithms: a comparative study and application to the mapping problem. In [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences (Vol. 2, pp. 565-573). IEEE.
- SwarmHC: The developed version based on swarm-based idea (Original is single-solution based method)
-
HS - Harmony Search .
- OriginalHS: Geem, Z. W., Kim, J. H., & Loganathan, G. V. (2001). A new heuristic optimization algorithm:harmony search. simulation, 76(2), 60-68.
- BaseHS: The developed version
-
HHO - Harris Hawks Optimization .
- OriginalHHO: Heidari, A. A., Mirjalili, S., Faris, H., Aljarah, I., Mafarja, M., & Chen, H. (2019). Harris hawks optimization: Algorithm and applications. Future Generation Computer Systems, 97, 849-872.
-
HGSO - Henry Gas Solubility Optimization .
- OriginalHGSO: Hashim, F. A., Houssein, E. H., Mabrouk, M. S., Al-Atabany, W., & Mirjalili, S. (2019). Henry gas solubility optimization: A novel physics-based algorithm. Future Generation Computer Systems, 101, 646-667.
-
HGS - Hunger Games Search .
- OriginalHGS: Yang, Y., Chen, H., Heidari, A. A., & Gandomi, A. H. (2021). Hunger games search:Visions, conception, implementation, deep analysis, perspectives, and towards performance shifts. Expert Systems with Applications, 177, 114864.
-
HHOA - Horse Herd Optimization Algorithm (not done) .
- BaseHHOA: MiarNaeimi, F., Azizyan, G., & Rashki, M. (2021). Horse herd optimization algorithm: A nature-inspired algorithm for high-dimensional optimization problems. Knowledge-Based Systems, 213, 106711.
-
HBA - Honey Badger Algorithm:
- OriginalHBA: Hashim, F. A., Houssein, E. H., Hussain, K., Mabrouk, M. S., & Al-Atabany, W. (2022). Honey Badger Algorithm: New metaheuristic algorithm for solving optimization problems. Mathematics and Computers in Simulation, 192, 84-110.
I
-
IWO - Invasive Weed Optimization .
- OriginalIWO: Mehrabian, A. R., & Lucas, C. (2006). A novel numerical optimization algorithm inspired from weed colonization. Ecological informatics, 1(4), 355-366.
-
ICA - Imperialist Competitive Algorithm
- OriginalICA: Atashpaz-Gargari, E., & Lucas, C. (2007, September). Imperialist competitive algorithm: an algorithm for optimization inspired by imperialistic competition. In 2007 IEEE congress on evolutionary computation (pp. 4661-4667). Ieee.
-
IMODE - Improved Multi-operator Differential Evolution Algorithm:
- OriginalIMODE: Sallam, K. M., Elsayed, S. M., Chakrabortty, R. K., & Ryan, M. J. (2020, July). Improved multi-operator differential evolution algorithm for solving unconstrained problems. In 2020 IEEE congress on evolutionary computation (CEC) (pp. 1-8). IEEE.
-
INFO - weIghted meaN oF vectOrs:
- OriginalINFO: Ahmadianfar, I., Heidari, A. A., Gandomi, A. H., Chu, X., & Chen, H. (2021). RUN beyond the metaphor: An efficient optimization algorithm based on Runge Kutta method. Expert Systems with Applications, 181, 115079.
J
- JA - Jaya Algorithm
- OriginalJA: Rao, R. (2016). Jaya: A simple and new optimization algorithm for solving constrained and unconstrained optimization problems. International Journal of Industrial Engineering Computations, 7(1), 19-34.
- BaseJA: The developed version
- LevyJA: Iacca, G., dos Santos Junior, V. C., & de Melo, V. V. (2021). An improved Jaya optimization algorithm with Levy flight. Expert Systems with Applications, 165, 113902.
K
L
README 内容过长,已截取前 64 KB。完整内容请前往 GitHub 仓库查看。
评论