A collection of the state-of-the-art MEta-heuristics ALgorithms in PYthon (mealpy)
Project description
A collection of the state-of-the-art MEta-heuristics ALgorithms in PYthon (mealpy)
mealpy
mealpy is a python module for the most of cutting-edge population meta-heuristic algorithms and is distributed under MIT license.
Installation
Dependencies
- Python (>= 3.6)
- Numpy (>= 1.15.1)
User installation
Install the current PyPI release:
pip install mealpy
pip install --upgrade mealpy
Or install the development version from GitHub:
pip install git+https://github.com/thieunguyen5991/mealpy
Example
python examples/simple_run.py
The documentation includes more detailed installation instructions.
Changelog
- See the "ChangeLog.md" for a history of notable changes to mealpy.
Important links
-
Official source code repo: https://github.com/thieunguyen5991/mealpy
-
Download releases: https://pypi.org/project/mealpy/
-
Issue tracker: https://github.com/mealpy/mealpy/issues
-
This project also related to my another projects which are "meta-heuristics" and "neural-network", check it here
Contributions
Citation
If you use mealpy in your project, I would appreciate citations:
@software{thieu_nguyen_2020_3711949,
author = {Thieu Nguyen},
title = {A collection of the state-of-the-art MEta-heuristics ALgorithms in PYthon: Mealpy},
month = march,
year = 2020,
publisher = {Zenodo},
doi = {10.5281/zenodo.3711948},
url = {https://doi.org/10.5281/zenodo.3711948}
}
-
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.
-
Nguyen, T., Tran, N., Nguyen, B. M., & Nguyen, G. (2018, November). A Resource Usage Prediction System Using Functional-Link and Genetic Algorithm Neural Network for Multivariate Cloud Metrics. In 2018 IEEE 11th Conference on Service-Oriented Computing and Applications (SOCA) (pp. 49-56). IEEE.
-
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.
Documents
-
Group:
- Evolu: Evolutionary-based
- Swarm: Swarm-based
- Physi: Physics-based
- Human: Human-based
-
Levy: Using levy-flight technique or not
-
Version:
- original: Taken exactly from the paper
- changed: I changed the flow or equation to make algorithm works
-
Type:
- weak: working fine with uni-modal and some multi-modal functions
- strong: working good with uni-modal, multi-modal, some hybrid and some composite functions
- best: working well with almost all kind of functions
-
Some algorithm with original version and no levy techniques still belong to the best type such as:
- Whale Optimization Algorithm
- Bird Swarm Algorithm
- Swarm Robotics Search And Rescue
- Manta Ray Foraging Optimization
- Henry Gas Solubility Optimization
- Atom Search Optimization
- Equilibrium Optimizer
-
Paras: The number of parameters in the algorithm (Don't count the fixed number in the original paper)
- Almost algorithms has 2 (epoch, population_size) and plus some paras depend on each algorithm.
- Some algorithms belong to "best" type and have only 2 paras meaning that algorithm is very good
-
Difficulty: Objective observation from author.
- Depend on the number of parameters, number of equations, the original ideas, time spend for coding, source lines of code (SLOC)
- Easy: A few paras, few equations, SLOC very short
- Medium: more equations than Easy level, SLOC longer than Easy level
- Hard: Lots of equations, SLOC longer than Medium level, the paper hard to read.
- Very hard: Lots of equations, SLOC too long, the paper is very hard to read.
** For newbie, I recommend to read the paper of algorithms belong to "best or strong" type, "easy or medium" difficulty level.
| Group | STT | Name | Short | Year | Version | Levy | Type | Paras | Difficulty |
|---|---|---|---|---|---|---|---|---|---|
| Evolu | 1 | Genetic Algorithm | GA | 1992 | original | no | weak | 4 | easy |
| 2 | Differential Evolution | DE | 1997 | original | no | weak | 4 | easy | |
| 3 | |||||||||
| Swarm | 1 | Particle Swarm Optimization | PSO | 1995 | original | no | strong | 6 | easy |
| 2 | Bacterial Foraging Optimization | BFO | 2002 | orginal | no | weak | 11 | hard | |
| 3 | Cat Swarm Optimization | CSO | 2006 | original | no | weak | 9 | hard | |
| 4 | Artificial Bee Colony | ABC | 2007 | changed | no | strong | 6 | easy | |
| 5 | Bat Algorithm | BA | 2010 | original | no | weak | 5 | easy | |
| 6 | Social Spider Optimization | SSO | 2013 | changed | no | weak | 3 | very hard | |
| 7 | Grey Wolf Optimizer | GWO | 2014 | original | no | strong | 2 | easy | |
| 8 | Social Spider Algorithm | SSA | 2015 | original | no | strong | 5 | easy | |
| 9 | Ant Lion Optimizer | ALO | 2015 | original | no | weak | 2 | medium | |
| 10 | Moth Flame Optimization | MFO | 2015 | changed | no | strong | 2 | easy | |
| 11 | Whale Optimization Algorithm | WOA | 2016 | original | no | best | 2 | easy | |
| 12 | Bird Swarm Algorithm | BSA | 2016 | original | no | best | 9 | medium | |
| 13 | Swarm Robotics Search And Rescue | SRSR | 2017 | original | no | best | 2 | very hard | |
| 14 | Grasshopper Optimisation Algorithm | GOA | 2017 | original | no | weak | 3 | easy | |
| 15 | Earthworm Optimisation Algorithm | EOA | 2018 | original | no | weak | 8 | medium | |
| 16 | Moth Search Algorithm | MSA | 2018 | changed | no | weak | 5 | easy | |
| 17 | Rhino Herd Optimization | RHO | 2018 | original | no | weak | 6 | easy | |
| 18 | Emperor Penguin Optimizer | EPO | 2018 | changed | no | strong | 2 | easy | |
| 19 | Nake Mole-rat Algorithm | NMRA | 2019 | original | no | strong | 3 | easy | |
| 20 | Bald Eagle Search | BES | 2019 | changed | no | best | 7 | medium | |
| 21 | Pathfinder Algorithm | PFA | 2019 | original | no | strong | 2 | easy | |
| 22 | Sailfish Optimizer | SFO | 2019 | original | no | strong | 5 | medium | |
| 23 | Harris Hawks Optimization | HHO | 2019 | original | yes | best | 2 | medium | |
| 24 | Manta Ray Foraging Optimization | MRFO | 2020 | original | no | best | 3 | easy | |
| 25 | |||||||||
| Physi | 1 | Wind Driven Optimization | WDO | 2013 | original | no | strong | 7 | easy |
| 2 | Multi-Verse Optimizer | MVO | 2016 | changed | no | strong | 3 | easy | |
| 3 | Tug of War Optimization | TWO | 2016 | original | no | strong | 2 | easy | |
| 4 | Electromagnetic Field Optimization | EFO | 2016 | original | no | strong | 6 | easy | |
| 5 | Nuclear Reaction Optimization | NRO | 2019 | original | yes | best | 2 | very hard | |
| 6 | Henry Gas Solubility Optimization | HGSO | 2019 | original | no | best | 3 | medium | |
| 7 | Atom Search Optimization | ASO | 2019 | original | no | best | 4 | medium | |
| 8 | Equilibrium Optimizer | EO | 2019 | original | no | best | 2 | easy | |
| 9 | |||||||||
| Human | 1 | Teaching Learning Optimization | TLO | 2011 | original | no | strong | 2 | easy |
| 2 | Queuing Search Algorithm | QSA | 2019 | original | no | strong | 2 | hard | |
| 3 | Search And Rescue Optimization | SARO | 2019 | original | no | strong | 4 | medium | |
| 4 | Life Choice-Based Optimization | LCBO | 2019 | original | no | strong | 2 | easy | |
| 5 | Social Ski-Driver Optimization | SSDO | 2019 | changed | no | BEST | 2 | easy | |
| 6 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mealpy-0.4.1.tar.gz.
File metadata
- Download URL: mealpy-0.4.1.tar.gz
- Upload date:
- Size: 56.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9ac57dccb2a3d6445ad84071dd5fc9dfa518771223f3b492e7ff7d5412a32c6
|
|
| MD5 |
ad3b5ba9150f3208f703e13d9bca486f
|
|
| BLAKE2b-256 |
1f12fbe57495a76e052382bd83e62844ff624a00a2768178f7a26ec2db6f6930
|
File details
Details for the file mealpy-0.4.1-py3-none-any.whl.
File metadata
- Download URL: mealpy-0.4.1-py3-none-any.whl
- Upload date:
- Size: 82.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ff18d16951a47e6dfec67b34400ded4583e98e7e3a0c2fc79f85a4de565b3bf
|
|
| MD5 |
fa542299d6e9dff4c59c208cf6fc6da4
|
|
| BLAKE2b-256 |
4bb030a610c64708f72ef3904ca1de20dd8effc80eeebd5b503864396c49b224
|