aboutsummaryrefslogtreecommitdiff
path: root/src/tsp_approx.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tsp_approx.rs')
-rw-r--r--src/tsp_approx.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/tsp_approx.rs b/src/tsp_approx.rs
index a23a726..3ce2bd5 100644
--- a/src/tsp_approx.rs
+++ b/src/tsp_approx.rs
@@ -413,6 +413,7 @@ pub(crate) fn tsp<M>(
embeds: &[M],
alg: &TspBaseAlg,
refinements: usize,
+ rotate: bool,
hash_seed: &Option<u64>,
) -> (Vec<usize>, f64)
where
@@ -441,7 +442,9 @@ where
};
for _ in 0..refinements {
- rotate_towards_optimum(&dc, &mut tour);
+ if rotate {
+ rotate_towards_optimum(&dc, &mut tour);
+ }
let res = refine_2_opt(&dc, tour);
tour = res.1;
if !res.0 {
@@ -449,7 +452,9 @@ where
}
}
- rotate_towards_optimum(&dc, &mut tour);
+ if rotate {
+ rotate_towards_optimum(&dc, &mut tour);
+ }
let mut total_dist = 0.;
for i in 0..tour.len() - 1 {