Skip to content

The theme of the project is the symmetrical traveling salesman problem. The repository contains 5 optimization algorithms: Tabu Search, Hill Climbing with Multi-Start, Nearest Neighbor, Simulated Annealing and Genetic Algorithm.

License

Notifications You must be signed in to change notification settings

bjam24/traveling-salesman-problem

Repository files navigation

Traveling-Salesman-Problem

Instruction

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.

Detailed description

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.

Listed optimization algorithms

  • Tabu Search
  • Hill Climbing with Multi-Start
  • Nearest Neighbour
  • Simulated Annealing
  • Genetic Algorithm

Example

image

Results

image image image image

About

The theme of the project is the symmetrical traveling salesman problem. The repository contains 5 optimization algorithms: Tabu Search, Hill Climbing with Multi-Start, Nearest Neighbor, Simulated Annealing and Genetic Algorithm.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages