All Projects → jhackshaw → Tspvis

jhackshaw / Tspvis

Licence: mit
🗺️ Visualize and control algorithms for the traveling salesman problem

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Tspvis

Deep Learning Machine Learning Stock
Stock for Deep Learning and Machine Learning
Stars: ✭ 240 (-13.98%)
Mutual labels:  algorithms, data-visualization
Dataviz
Build and Visualize data structures in Golang
Stars: ✭ 348 (+24.73%)
Mutual labels:  algorithms, data-visualization
Quadtree Js
A lightweight quadtree implementation for javascript
Stars: ✭ 265 (-5.02%)
Mutual labels:  algorithms
Algorithms
My Algorithms and Data Structures studies. https://leandrotk.github.io/series/algorithms-problem-solving
Stars: ✭ 275 (-1.43%)
Mutual labels:  algorithms
Cheat Sheet
Data structures & algorithms cheat sheet
Stars: ✭ 271 (-2.87%)
Mutual labels:  algorithms
Cpp
Repository for C++/C codes and algos.
Stars: ✭ 265 (-5.02%)
Mutual labels:  algorithms
Javascript Patterns
A collection of javascript algorithms, patterns, and techniques
Stars: ✭ 273 (-2.15%)
Mutual labels:  algorithms
Stanford Algs
Example Test Cases for Stanford's Algorithms Coursera Specialization
Stars: ✭ 261 (-6.45%)
Mutual labels:  algorithms
Grokkingalgorithms
java samples of Grokking Algorithm book by Aditya Y. Bhargava
Stars: ✭ 278 (-0.36%)
Mutual labels:  algorithms
Hackerrank Solutions
HackerRank concepts & solutions
Stars: ✭ 267 (-4.3%)
Mutual labels:  algorithms
Codinginterviews
This repository contains coding interviews that I have encountered in company interviews
Stars: ✭ 2,881 (+932.62%)
Mutual labels:  algorithms
Openms
The codebase of the OpenMS project
Stars: ✭ 270 (-3.23%)
Mutual labels:  algorithms
Datagear
数据可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持SQL、CSV、Excel、HTTP接口、JSON等多种数据源
Stars: ✭ 266 (-4.66%)
Mutual labels:  data-visualization
Data Science Hacks
Data Science Hacks consists of tips, tricks to help you become a better data scientist. Data science hacks are for all - beginner to advanced. Data science hacks consist of python, jupyter notebook, pandas hacks and so on.
Stars: ✭ 273 (-2.15%)
Mutual labels:  data-visualization
Floweaver
View flow data as Sankey diagrams
Stars: ✭ 266 (-4.66%)
Mutual labels:  data-visualization
Knowage Server
Knowage is the professional open source suite for modern business analytics over traditional sources and big data systems.
Stars: ✭ 276 (-1.08%)
Mutual labels:  data-visualization
Leetcode
Leetcode solutions
Stars: ✭ 2,894 (+937.28%)
Mutual labels:  algorithms
Sankeymatic
A Sankey diagram builder for everyone
Stars: ✭ 268 (-3.94%)
Mutual labels:  data-visualization
Php
All Algorithms implemented in Php
Stars: ✭ 272 (-2.51%)
Mutual labels:  algorithms
Idatav
大屏数据可视化 Big screen data visualization demo
Stars: ✭ 3,913 (+1302.51%)
Mutual labels:  data-visualization

Netlify Status code style: prettier Live Demo Contributors GitHub

Traveling Salesman Problem

The traveling salesman problem (TSP) asks the question, "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city and returns to the origin city?".

This project

  • Live at tspvis.com
  • The goal of this site is to be an educational resource to help visualize, learn, and develop different algorithms for the traveling salesman problem in a way that's easily accessible
  • As you apply different algorithms, the current best path is saved and used as input to whatever you run next. The order in which you apply different algorithms to the problem is sometimes referred to the meta-heuristic strategy.
  • For example, apply nearest neighbor, then 2-opt inversion, then branch and bound

Heuristic algorithms

Heuristic algorithms attempt to find a good approximation of the optimal path within a more reasonable amount of time.

Construction - Build a path

  • Nearest Neighbor
  • Arbitrary Insertion
  • Furthest Insertion
  • Nearest Insertion
  • Convex Hull Insertion*

Improvement - Attempt to take an existing constructed path and improve on it

  • 2-Opt Reciprocal Exchange
  • 2-Opt Inversion*

Exhaustive algorithms

Exhaustive algorithms will always find the best possible solution by evaluating every possible path. These algorithms are typically significantly more expensive then the heuristic algorithms discussed above. The exhaustive algorithms implemented so far include:

  • Random Paths
  • Depth First Search (Brute Force)
  • Branch and Bound (Cost)
  • Branch and Bound (Cost, Intersections)*

Dependencies

These are the main tools used to build this site:

Contributing

Pull requests are always welcome! Also, feel free to raise any ideas, suggestions, or bugs as an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].