diff --git a/solution_sequence_generator.go b/solution_sequence_generator.go index edf8b2e..e4ed13c 100644 --- a/solution_sequence_generator.go +++ b/solution_sequence_generator.go @@ -45,9 +45,9 @@ func SequenceGeneratorChannel( func sequenceGeneratorSync(pu SolutionPlanUnit, yield func(SolutionStops)) { planUnit := pu.(*solutionPlanStopsUnitImpl) - solutionStops := planUnit.SolutionStops() + solutionStops := planUnit.solutionStops if planUnit.ModelPlanStopsUnit().NumberOfStops() == 1 { - yield(solutionStops) + yield(planUnit.SolutionStops()) return } solution := planUnit.solution() @@ -76,7 +76,8 @@ func sequenceGeneratorSync(pu SolutionPlanUnit, yield func(SolutionStops)) { } func recSequenceGenerator( - stops, sequence SolutionStops, + stops []solutionStopImpl, + sequence SolutionStops, used []bool, inDegree map[int]int, dag DirectedAcyclicGraph, @@ -104,7 +105,8 @@ func recSequenceGenerator( if directSuccessor != -1 { for _, stopIdx := range stopOrder { if stops[stopIdx].Index() == directSuccessor { - stopOrder = []int{stopIdx} + stopOrder = stopOrder[:1] + stopOrder[0] = stopIdx break } }