Uses tsp to find the best hamiltonian on the complete graph on 1..n

Description

Returns shortest cycle or path via tsp solver from package TSP

Usage

1
order_tsp(d, method = "nearest", cycle=TRUE,improve=FALSE,path_dir = path_cor,...)

Arguments

d

A dist, used to provide edge weights.

method

Options are nearest_insertion, farthest_insertion, cheapest_insertion, arbitrary_insertion, nn, repetitive_nn, 2-opt and if concorde package is loaded, concorde. See solve_TSP for details.

improve

if TRUE, attempts to improve the solution using "2-opt".

cycle

If TRUE, finds the shortest cycle, otherwise the shortest open path.

path_dir

If a function is provided, used to re-orient the cycle/path. Default function is path_cor.

...

passed to solve_tsp

Details

Requires package TSP. When path_dir is non NULL, the returned hamiltonian is also optimally oriented using best_orientation, which compares orientations via path_dir.

Value

A vector containing a permutation of 1..n

Author(s)

C.B. Hurley and R.W. Oldford

References

See package TSP.

See Also

order_best, solve_TSP in TSP.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
require(PairViz)


rdist <- function(n) {
	d <- matrix(0,n,n)
	d[lower.tri(d)] <- runif(n*(n-1)/2)
	return(as.dist(d))
	}


order_tsp(rdist(7))




edist <- as.dist(as.matrix(eurodist))
order_tsp(edist)