Learn R Programming

⚠️There's a newer version (1.2-4) of this package.Take me there.

R package TSP - Traveling Salesperson Problem (TSP)

This package provides the basic infrastructure and some algorithms for the traveling salesman problems (symmetric, asymmetric and Euclidean TSPs). The package provides some simple algorithms and an interface to the Concorde TSP solver and its implementation of the Chained-Lin-Kernighan heuristic.

Installation

Stable CRAN version: Install from within R with

install.packages("TSP")

Current development version: Install from r-universe.

install.packages("TSP", repos = "https://mhahsler.r-universe.dev")

Usage

Load a data set with 312 cities (USA and Canada) and create a TSP object.

library("TSP")
data("USCA312")

tsp <- TSP(USCA312)
tsp
## object of class 'TSP' 
## 312 cities (distance 'euclidean')

Find a tour using the default heuristic.

tour <- solve_TSP(tsp)
tour
## object of class 'TOUR' 
## result of method 'arbitrary_insertion+two_opt' for 312 cities
## tour length: 40743

Show the first few cities in the tour.

head(tour, n = 10)
##  Sheboygan, WI  Milwaukee, WI     Racine, WI    Kenosha, WI South Bend, IN 
##            253            165            214            135            259 
##       Gary, IN    Chicago, IL   Rockford, IL    Madison, WI    Dubuque, IA 
##            104             58            224            158             78

An online example application of TSP can be found on shinyapps.

References

Copy Link

Version

Install

install.packages('TSP')

Monthly Downloads

31,617

Version

1.2-1

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Michael Hahsler

Last Published

July 14th, 2022

Functions in TSP (1.2-1)

USCA

USCA312/USCA50 -- 312/50 cities in the US and Canada
solve_TSP

TSP solver interface
reformulate_ATSP_as_TSP

Reformulate a ATSP as a symmetric TSP
tour_length

Calculate the length of a tour
ATSP

Class ATSP -- Asymmetric traveling salesperson problem
Concorde

Using the Concorde TSP Solver
cut_tour

Cut a tour to form a path
insert_dummy

Insert dummy cities into a distance matrix
TOUR

Class TOUR -- Solution to a traveling salesperson problem
ETSP

Class ETSP -- Euclidean traveling salesperson problem
TSPLIB

Read and write TSPLIB files
TSP-package

TSP: Traveling Salesperson Problem (TSP)
TSP

Class TSP -- Symmetric traveling salesperson problem