• Stars
    star
    278
  • Rank 147,589 (Top 3 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implement the-state-of-the-art meta-heuristic algorithms using python (numpy)

How to read my repository

  1. utils: includes helper functions
  2. script: includes file runs (main files)
  3. models: includes all algorithms
    • single_solution:
    • multiple_solution: 4 folders
      • human_based
      • physics_based
      • swarm_based
      • evolutionary_based
  4. How to run?
    • run files in script folder, your environment need 2 package: copy and numpy
    • also change the parameters of models in scripts's file

Notes

  • This repository includes all optimization algorithms coded in python (Numpy) in my research time

  • If you want to know how to implement optimization with neural networks, take a look at this repos:

  • If you see my code and data useful and use it, please cites us here

    • 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.

  • If you want to know more about code, or want a pdf of both above paper, contact me: [email protected]

Meta-heuristics

  • Implement algorithms based on papers

Single Solution

None

Multiple Solution

1._. Physics-based

  • Tug Of War Optimization: Kaveh, A., & Zolghadr, A. (2016). A novel meta-heuristic algorithm: tug of war optimization. Iran University of Science & Technology, 6(4), 469-492.
  • Nuclear Reaction Optimization: Wei, Z., Huang, C., Wang, X., Han, T., & Li, Y. (2019). Nuclear Reaction Optimization: A novel and powerful physics-based algorithm for global optimization. IEEE Access.
    + So many equations and loops - take time to run on larger dimension 
    + General O (g * n * d) 
    + Good convergence curse because the used of gaussian-distribution and levy-flight trajectory
    + Use the variant of Differential Evolution
  • Henry Gas Solubility Optimization: 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.
    + Too much constants and variables
    + Still have some unclear point in Eq. 9 and Algorithm. 1
    + Can improve this algorithm by opposition-based and levy-flight
    + A wrong logic code in line 91 "j = id % self.n_elements" => to "j = id % self.n_clusters" can make algorithm converge faster. I don't know why?
    + Good results come from CEC 2014

2._. Evolutionary-based

  • Genetic Algorithms: Holland, J. H. (1992). Genetic algorithms. Scientific american, 267(1), 66-73.
  • Differential Evolution: 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.
  • Coral Reefs Optimization Algorithm: 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.

3._. Swarm-based

  • Particle Swarm Optimization: Eberhart, R., & Kennedy, J. (1995, October). A new optimizer using particle swarm theory. In MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science (pp. 39-43). Ieee.
  • Cat Swarm Optimization: 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.
  • Whale Optimization: Mirjalili, S., & Lewis, A. (2016). The whale optimization algorithm. Advances in engineering software, 95, 51-67.
  • Bacterial Foraging Optimization: Passino, K. M. (2002). Biomimicry of bacterial foraging for distributed optimization and control. IEEE control systems magazine, 22(3), 52-67.
  • Adaptive Bacterial Foraging Optimization: Yan, X., Zhu, Y., Zhang, H., Chen, H., & Niu, B. (2012). An adaptive bacterial foraging optimization algorithm with lifecycle and social learning. Discrete Dynamics in Nature and Society, 2012.
  • Artificial Bee Colony: Karaboga, D., & Basturk, B. (2007, June). Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems. In International fuzzy systems association world congress (pp. 789-798). Springer, Berlin, Heidelberg.
  • Pathfinder Algorithm: Yapici, H., & Cetinkaya, N. (2019). A new meta-heuristic optimizer: Pathfinder algorithm. Applied Soft Computing, 78, 545-568.
  • Harris Hawks Optimization: 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.
  • Sailfish Optimizer: Shadravan, S., Naji, H. R., & Bardsiri, V. K. (2019). The Sailfish Optimizer: A novel nature-inspired metaheuristic algorithm for solving constrained engineering optimization problems. Engineering Applications of Artificial Intelligence, 80, 20-34.

4._. Human activity-based

  • Queuing Search Algorithm: Zhang, J., Xiao, M., Gao, L., & Pan, Q. (2018). Queuing search algorithm: A novel metaheuristic algorithm for solving engineering optimization problems. Applied Mathematical Modelling, 63, 464-490.

List of trash meta-heuristics (totally fake and unethical)

1._. Physics-based

2._. Evolutionary-based

3._. Swarm-based

  • Sandpiper Optimization Algorithm: Kaur, A., Jain, S., & Goel, S. (2019). Sandpiper optimization algorithm: a novel approach for solving real-life engineering problems. Applied Intelligence, 1-38.
  • Sooty Tern Optimization Algorithm: Dhiman, G., & Kaur, A. (2019). STOA: A bio-inspired based optimization algorithm for industrial engineering problems. Engineering Applications of Artificial Intelligence, 82, 148-174.
+ Cant even update the position itself
+ So many unclear operators and unclear parameters
+ Can't converge
  • Butterfly Optimization Algorithm: Arora, S., & Singh, S. (2019). Butterfly optimization algorithm: a novel approach for global optimization. Soft Computing, 23(3), 715-734.
+ Cant converge as the paper said
+ The code public from the author different with the pseudo-code in the paper
+ Totally trash and unethical, plagiarize from Flower Pollination Algorithm developed by Yang
  • Butterfly Optimization Algorithm: Arora, S., & Singh, S. (2019). Butterfly optimization algorithm: a novel approach for global optimization. Soft Computing, 23(3), 715-734.
+ Cant converge as the paper said
+ The code public from the author different with the pseudo-code in the paper
+ Totally trash and unethical, plagiarize from Flower Pollination Algorithm developed by Yang
+ Really? The idea look like "Chicken Swarm Optimization"
+ The pseudo-code totally shit in my opinion, just read the paper you will understand.
+ The unclear point here is the "Rate equation": really confuse because It's contain the position. As you know,
    The position is the vector, but finally, the author conclude that Rate is random number in range [0, 1]
    Luckily, using number we can plus/add number and vector or vector and vector.
    So at first, Rate is random number then after the 1st loop, its become vector. 
+ Morever, both equtions movement of blue monkey and children is the same.
+ In addition, they don't check the bound after update position.
+ Keep going, they don't tell you the how to find the global best (I mean from blue monkey group or child group)
+ The code I have done here is the version which I used my knowledge about meta-heuristics to do it. 
+ The results good for some CEC2014 functions, but can't even converge with the square function.
+ Can't get the results same at the paper.
After all, I think this is completely trash algorithm, need to remove from our comunity.

4._. Human activity-based

The list will continue update...

More Repositories

1

mealpy

A Collection Of The State-of-the-art Metaheuristic Algorithms In Python (Metaheuristic/Optimizer/Nature-inspired/Biology)
Python
605
star
2

opfunu

A collection of Benchmark functions for numerical optimization problems
Python
75
star
3

mafese

Feature Selection using Metaheuristics Made Easy: Open Source MAFESE Library in Python
Python
57
star
4

permetrics

Artificial intelligence (AI, ML, DL) performance metrics implemented in Python
Python
49
star
5

iot_dataset

24
star
6

pfevaluator

pfevaluator: A library for evaluating performance metrics of Pareto fronts in multiple/many objective optimization problems
Python
24
star
7

MHA-FS

The biggest module developed with complete focus on Feature Selection (FS) using Meta-Heuristic Algorithm / Nature-inspired evolutionary / Swarm-based computing.
Python
17
star
8

IFCB

(Code) Multi-objective Sparrow Search Optimization for Task Scheduling in Fog-Cloud-Blockchain Systems
Python
16
star
9

IntelELM

IntelELM: A Python Framework for Intelligent Metaheuristic-based Extreme Learning Machine
Jupyter Notebook
11
star
10

enoppy

ENOPPY: A Python Library for Engineering Optimization Problems
Python
6
star
11

MHA-TSP

Meta-Heuristic Algorithm for Travelling Salesman Problem
Python
6
star
12

reflame

reflame: Revolutionizing Functional Link Neural Network by Metaheuristic Optimization
Python
6
star
13

thieu1995

Python
5
star
14

mealpy_examples

Python
5
star
15

MetaPerceptron

MetaPerceptron: Unleashing the Power of Metaheuristic-optimized Multi-Layer Perceptron - A Python Library
Python
4
star
16

AI_training

Jupyter Notebook
4
star
17

code_master_thesis

Python
3
star
18

reservoir-operation-optimization

Python
3
star
19

mealpy-text-classification

Text classification with Machine Learning and Mealpy
Python
3
star
20

EvoRBF

EvoRBF: A Python Library for Evolving Radial Basis Function Network by Intelligent Nature-inspired Algorithms
Python
3
star
21

NicANFIS

NicANFIS: An Open Source Library for Supercharging ANFIS Network by Nature-inspired Computing
2
star
22

MetaCluster

MetaCluster: An Open-Source Python Library for Metaheuristic-based Clustering Problems
Python
2
star
23

neural-network

Implementation of several Neural Network
Python
2
star
24

foodemo

testing
Python
2
star
25

mealpy-classification

Hyper-parameter tuning of classification model with Mealpy
Python
2
star
26

mealpy-timeseries

Hyper-parameter tuning of Time series forecasting models with Mealpy
Python
2
star
27

GrafoRVFL

GrafoRVFL: A Python Library for Maximizing Performance of Random Vector Functional Link Network with Gradient-Free Optimization
Python
2
star
28

SO-MO-ILCO-FCB

(Code) A Novel Nature-inspired Algorithm for Optimal Task Scheduling in Fog-Cloud Blockchain System
Python
1
star
29

csv-files

Python
1
star
30

tn_weather_reporter

The first published library (learning and testing purposes)
Python
1
star
31

python_tutorial

How to study Python in the fast and effective way
1
star
32

seed-project-mean-v2

Project was created by integration of Angular 2, Angular Cli, MaterializeCss, Express, MongoDb, Nodejs
TypeScript
1
star
33

mafese_examples

Python
1
star
34

seed-project-mean

JavaScript
1
star
35

spring_contact_app

Java
1
star
36

LapTrinhAI

Jupyter Notebook
1
star
37

java_spring_project

Java
1
star
38

action-playground

1
star
39

mean4-market

TypeScript
1
star
40

thieu1995.github.io

HTML
1
star
41

mpoc_code

Python
1
star
42

data_science

Python
1
star
43

cec2011-real-world

CEC 2011 real-world problem with Python environment
MATLAB
1
star
44

.github

1
star
45

multiprocessor

Python
1
star
46

pandas

Jupyter Notebook
1
star
47

parallels

C
1
star