This repository contains a Java project implementing several metaheuristic algorithms and problem models. It is designed to serve as a comprehensive toolkit for researchers, educators, and practitioners in the field of optimization.
The following metaheuristic algorithms are included:
- Ant Colony Optimization (ACO)
- Honey Bee Optimization
- Differential Evolution (DE)
- Genetic Algorithm (GA)
- Simulated Annealing (SA)
- Local Search (LS)
- Guided Local Search (GLS)
- Iterated Local Search (ILS)
- Migrating Birds Optimization (MBO)
- Particle Swarm Optimization (PSO)
- Self-Organizing Scouts (SOS)
- Tabu Search
- Scatter Search
- Beam Search
The repository also includes implementations of various problem models:
- Multi-objective Task Allocation Problem
- Moving Peaks
- Reliability Assignment Problem
- Team Orientiering Problem
- N-Queens Problem
- Sudoku Solver
To support diverse optimization problems, the following generic representations are provided:
- Integer Vector
- Double Vector
- Integer Matrix
- Permutation
- Modular and extensible design for adding new algorithms and problem models.
- Comprehensive examples demonstrating the application of algorithms to various problems.
- Suitable for solving single-objective and multi-objective optimization problems.
- Clone the repository:
git clone https://github.com/ozdindar/Metaheuristics.git
- Import the project into your favorite Java IDE.
- Explore the
examplesdirectory for usage demonstrations.
- Java 8 or higher
Contributions are welcome! Please feel free to submit issues or pull requests for bug fixes, new features, or additional problem models.
This project is licensed under the MIT License.
Feel free to explore, use, and contribute to this project. Happy optimizing!