Returns a modified version of `paths`

, where
component paths/cycles are re-oriented so low weight edges occur first, and the component paths/cycles are then permuted so low-weight paths are first.

1 |

`d` |
A |

`path1` |
A vector giving a hamiltonian.
This will be the first path of the returned hamiltonian. The default is obtained from |

`paths` |
A matrix where each row is a hamiltonian. Default comes from |

`matrix` |
if |

`cycle` |
If |

`path_weight` |
A function used combine path weights into a single value. Default function is |

`path_dir` |
A function used to evaluate a path start and orientation. |

`...` |
passed to |

If `path`

is not provided, find the hamiltonian (path for even n, cycle for odd n) with the smallest total
weight. Applying `path_dir`

to edge weights, pick the starting and point orientation for path1 giving the largest `path_dir`

value. (For open paths, there are only two possible starts, for cycles there are n).
Apply this node labelling to the hamiltonians in the rows of paths.
Use criterion `path_dir`

again to find the best orientation for each of rows 2... of paths and
permute these rows in order of increasing `path_weight`

.

C.B. Hurley and R.W. Oldford

see overview

1 2 3 4 5 | ```
require(PairViz)
weighted_hpaths(dist(rnorm(6)))
weighted_hpaths(dist(rnorm(7)))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.