/Christofides-Algorithm

In this project, Christofides Algorithm can be found in several different implementations to achieve approximate solution of Travelling Salesman Problem.

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

Christofides-Algorithm

One popular approximate solution of Travelling Salesman Problem is Christofides Algorithm. In this code, one can found several different ways, which are applied on matching and spanning tree parts, of implementing successful Christofides algorithm.

In the project folder, there are one Jupyter Notebook file, which is named as main_program.ipynb and three python files, which are named as Christofides_Algorithm.py, run_functions.py and main_program.py. Both options, which are main_program.ipynb and main_program.py, work exactly same. In the main_program, the graphical user interface is implemented, and it calls the functions, which are imported from created python files. There are two created python files, one for the Christofides algorithm and one calling imported Christofides’ functions in an ordered way, hence user can directly run main_program.ipynb or main_program.py, choose the desired algorithm and input way. main_program calls the functions from imported python script that is run_functions.py and that script will call the functions from Christofide_Algorithm.py file in an ordered way.