Provided implementations of mentined algorithms are capable of reading different xlsx files with changed size and numbers. In order to obtain optimal solution there is need to set proper file and sheet names. The purpose of this project is creation of 5 algorithms without usage of significant Python libraries.
Every algorithm has implemented two types of neighborhood: an exchange and an insertion (which is set as default neighborhood). Moreover, the genetic algorithm, apart from the 2 implemented neighborhood types, contains 2 methods of choosing parents: Tournament selection and Rank selection. It also has 2 implemented methods of parent crossing: a Random complement operator (set as default) and the PMX operator.
- Tabu Search
- Hill Climbing with Multi-Start
- Nearest Neighbour
- Simulated Annealing
- Genetic Algorithm