Nothing
### R code from vignette source 'TSP.Rnw'
###################################################
### code chunk number 1: TSP.Rnw:81-84
###################################################
options(width = 75, useFancyQuotes=FALSE, prompt="R> ")
### for sampling
set.seed(1234)
###################################################
### code chunk number 2: TSP.Rnw:645-648
###################################################
library("TSP")
data("USCA50")
USCA50
###################################################
### code chunk number 3: TSP.Rnw:661-662
###################################################
set.seed(1234)
###################################################
### code chunk number 4: dotchart_USCA50
###################################################
methods <- c("nearest_insertion", "farthest_insertion", "cheapest_insertion",
"arbitrary_insertion", "nn", "repetitive_nn", "two_opt")
tours <- sapply(methods, FUN = function(m) solve_TSP(USCA50, method = m),
simplify = FALSE)
## tours$concorde <- solve_TSP(tsp, method = "concorde")
tours[[1]]
dotchart(sort(c(sapply(tours, tour_length), optimal = 14497)),
xlab = "tour length", xlim = c(0, 20000))
###################################################
### code chunk number 5: TSP.Rnw:703-704
###################################################
set.seed(1234)
###################################################
### code chunk number 6: TSP.Rnw:707-711
###################################################
library("TSP")
data("USCA312")
tsp <- insert_dummy(USCA312, label = "cut")
tsp
###################################################
### code chunk number 7: TSP.Rnw:717-719
###################################################
tour <- solve_TSP(tsp, method="farthest_insertion")
tour
###################################################
### code chunk number 8: TSP.Rnw:728-731
###################################################
path <- cut_tour(tour, "cut")
head(labels(path))
tail(labels(path))
###################################################
### code chunk number 9: map1
###################################################
if(require(maps)) {
library("maps")
data("USCA312_GPS")
plot_path <- function(path) {
plot((USCA312_GPS[, c("long", "lat")]), cex = .3, col = "red")
map("world", col = "gray", add = TRUE)
lines(USCA312_GPS[, c("long", "lat")][path,], col = "black")
points(USCA312_GPS[c(head(path, 1), tail(path, 1)), c("long", "lat")], pch = 19, col = "black")
}
plot_path(path)
} else {
plot(NA, xlim= c(0,1), ylim = c(0,1))
text(.5, .5, "Suggested packages not available")
}
###################################################
### code chunk number 10: TSP.Rnw:792-793
###################################################
set.seed(1234)
###################################################
### code chunk number 11: TSP.Rnw:796-807
###################################################
atsp <- as.ATSP(USCA312)
ny <- which(labels(USCA312) == "New York, NY")
atsp[, ny] <- 0
initial_tour <- solve_TSP(atsp, method="nn")
initial_tour
tour <- solve_TSP(atsp, method ="two_opt", control = list(tour = initial_tour))
tour
path <- cut_tour(tour, ny, exclude_cut = FALSE)
head(labels(path))
tail(labels(path))
###################################################
### code chunk number 12: map2
###################################################
plot_path(path)
###################################################
### code chunk number 13: TSP.Rnw:831-833
###################################################
tsp <- reformulate_ATSP_as_TSP(atsp)
tsp
###################################################
### code chunk number 14: TSP.Rnw:845-847 (eval = FALSE)
###################################################
## tour <- solve_TSP(tsp, method = "concorde")
## tour <- as.TOUR(tour[tour <= n_of_cities(atsp)])
###################################################
### code chunk number 15: TSP.Rnw:869-870
###################################################
set.seed(1234)
###################################################
### code chunk number 16: TSP.Rnw:873-883
###################################################
m <- as.matrix(USCA312)
ny <- which(labels(USCA312) == "New York, NY")
la <- which(labels(USCA312) == "Los Angeles, CA")
atsp <- ATSP(m[-c(ny,la), -c(ny,la)])
atsp <- insert_dummy(atsp, label = "LA/NY")
la_ny <- which(labels(atsp) == "LA/NY")
atsp[la_ny, ] <- c(m[-c(ny,la), ny], 0)
atsp[, la_ny] <- c(m[la, -c(ny,la)], 0)
###################################################
### code chunk number 17: TSP.Rnw:888-897
###################################################
tour <- solve_TSP(atsp, method ="nearest_insertion")
tour
path_labels <- c("New York, NY",
labels(cut_tour(tour, la_ny)), "Los Angeles, CA")
path_ids <- match(path_labels, labels(USCA312))
head(path_labels)
tail(path_labels)
###################################################
### code chunk number 18: map3
###################################################
plot_path(path_ids)
###################################################
### code chunk number 19: TSP.Rnw:941-942
###################################################
set.seed(4444)
###################################################
### code chunk number 20: TSP.Rnw:944-948
###################################################
data("iris")
tsp <- TSP(dist(iris[-5]), labels = iris[, "Species"])
tsp_dummy <- insert_dummy(tsp, n = 3, label = "boundary")
tour <- solve_TSP(tsp_dummy)
###################################################
### code chunk number 21: clustering
###################################################
## plot the distance matrix
image(tsp_dummy, tour, xlab = "objects", ylab ="objects")
## draw lines where the dummy cities are located
abline(h = which(labels(tour)=="boundary"), col = "red")
abline(v = which(labels(tour)=="boundary"), col = "red")
###################################################
### code chunk number 22: TSP.Rnw:986-990
###################################################
out <- rle(labels(tour))
data.frame(Species = out$values,
Lenghts = out$lengths,
Pos = cumsum(out$lengths))
###################################################
### code chunk number 23: clustering2
###################################################
prc <- prcomp(iris[1:4])
plot(prc$x, pch = as.numeric(iris[,5]), col = as.numeric(iris[,5]))
paths <- cut_tour(tour, cut = "boundary")
for(p in paths) lines(prc$x[p, ])
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.