Coder Social home page Coder Social logo

samashi47 / metaheuristics Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 53 KB

Implementation of various metaheuristic algorithms in C++ and Python

C++ 68.46% C 0.61% Python 30.93%
cpp metaheuristics optimization python3 ant-lion-optimizer genetic-algorithm grey-wolf-optimizer multi-verse-optimizer simulated-annealing tabu-search

metaheuristics's Introduction

Metaheuristics

This repository contains code and resources for a university course on Metaheuristics and stochastic search algorithms.

Author: Ahmed Samady

Supervised by: Pr. Khalid Jebari

Overview

The purpose of this repository is to provide implementations of various metaheuristic algorithms in Python and C++. It covers topics such as Genetic Algorithms, Simulated Annealing, Multi-Verse Optimizer, and more.

Note

The Python implementations in this repository for GWO [1][2], MVO [3][4], and ALO [5][6] are adapted from the MATLAB implementations by Dr. Seyedali Mirjalili.

Hashing Algorithms

Algorithm Python C++
Genetic Algorithms (incomplete)
Tabu Search
Simulated Annealing
Grey Wolf Optimizer
Multi-Verse Optimizer
Ant Lion Optimizer

Getting Started

To get started with this repository, follow these steps: Clone the repository:

git clone -b main --single-branch [https://github.com/Samashi47/Metaheuristics]

Navigate to the directory of the cloned repository:

cd Metaheuristics

Python

Create a virtual environment in the repository by typing the followwing command:

python -m venv /path/to/repo/on/your/local/machine

After cloning the project and creating your venv, activate the venv by:

.venv\Scripts\activate

You can run the following command to install the dependencies:

pip3 install -r requirements.txt

C++

Compile the C++ files. For example, to run the Simulated Annealing implementation, you can compile the sa.cpp file in the Simulated Annealing folder using g++:

g++ -o sa sa.cpp

Run the compiled file:

./sa

Contributing

Contributions to this repository are welcome. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

Contact

For any questions or inquiries, please contact the owner of this repository or open an issue.

Happy coding!

Cite me

Bibtex generic citation

@misc{Samady,
  title={Samashi47/metaheuristics: Implementation of various metaheuristic algorithms in C++ and python},
  url={https://github.com/Samashi47/Metaheuristics},
  journal={GitHub},
  author={Samady, Ahmed}
}

APA7

Samady, A. Samashi47/metaheuristics: Implementation of various metaheuristic algorithms in C++ and python. GitHub. https://github.com/Samashi47/Metaheuristics

References

[1] Seyedali Mirjalili (2024). Grey Wolf Optimizer (GWO) MATLAB Central File Exchange. Retrieved April 22, 2024.
[2] Mirjalili, S., Mirjalili, S. M., & Lewis, A. (2014). Grey Wolf Optimizer. Advances in Engineering Software, 69, 46–61. doi:10.1016/j.advengsoft.2013.12.007 
[3] Seyedali Mirjalili (2024). Multi-Verse Optimizer (MVO) MATLAB Central File Exchange. Retrieved April 22, 2024.
[4] Mirjalili, S., Mirjalili, S. M., & Hatamlou, A. (2015). Multi-Verse Optimizer: a nature-inspired algorithm for global optimization. Neural Computing and Applications, 27(2), 495–513. doi:10.1007/s00521-015-1870-7 
[5] Seyedali Mirjalili (2024). Ant Lion Optimizer (ALO) MATLAB Central File Exchange. Retrieved April 22, 2024.
[6] Mirjalili, S. (2015). The Ant Lion Optimizer. Advances in Engineering Software, 83, 80–98. doi:10.1016/j.advengsoft.2015.01.010 \

metaheuristics's People

Contributors

samashi47 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.