som-tsp

Solving the Traveling Salesman Problem using Self-Organizing Maps

Github星跟蹤圖

#+TITLE: Solving the Traveling Salesman Problem using Self-Organizing Maps
#+AUTHOR: Diego Vicente Martín
#+EMAIL: mail@diego.codes

This repository contains an implementation of a Self Organizing Map that can be
used to find sub-optimal solutions for the Traveling Salesman Problem. The
instances of the problems that the program supports are =.tsp= files, which is
a widespread format in this problem. All the source code can be found in the
=src= directory, while a report and brief presentation slides (in Spanish) can
be found in the =report= folder. However, for a complete read on the topic, you
can read [[https://diego.codes/post/som-tsp/][my blog post explaining this implementation and its evaluation]].

To run the code, only Python 3 and the dependencies (=matplotlib=, =numpy= and =pandas=,
which are included in the Anaconda distribution by default) are needed. In case
you are not using Anaconda, you can install all the dependencies with:

#+BEGIN_SRC sh
pip install -r requirements.txt
#+END_SRC

To run the code, simply execute:

#+BEGIN_SRC sh
cd som-tsp
python src/main.py assets/.tsp
#+END_SRC

The images generated will be stored in the =diagrams= folder. Using a tool like
=convert=, you can easily generate an animation like the one in this file by
running:

#+BEGIN_SRC sh
convert -delay 10 -loop 0 *.png animation.gif
#+END_SRC

This code is licensed under MIT License, so feel free to modify and/or use it
in your projects. If you have any doubts, feel free to contact me or contribute
to this repository by creating an issue.


This code was presented for the Bio-Inspired Artificial Intelligence course in
the Computer Science & Technology master's degree @ UC3M. A previous version of
this code can be found in [[https://github.com/DiegoVicen/ntnu-som][this repository]]. Special thanks to [[https://github.com/leo-labs][Leonard Kleinans]],
who worked with me in that previous version.

主要指標

概覽
名稱與所有者diego-vicente/som-tsp
主編程語言Python
編程語言Python (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2017-11-06 20:30:12
推送於2023-12-24 16:40:59
最后一次提交2018-06-10 13:39:14
發布數0
用户参与
星數3.9k
關注者數115
派生數605
提交數62
已啟用問題?
問題數7
打開的問題數0
拉請求數3
打開的拉請求數0
關閉的拉請求數4
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?