internal void Attach(PartialSolutionTail[] tails) { for (var i = 0; i < tails.Length; i++) { var tail = tails[i]; PartialSolutionList[i] = new PartialSolution(tail.Head, tail, i); } }
public PartialSolution(PartialSolution partialSolution, PartialSolutionTail partialSolutionTail, int id) { Id = id; var points = partialSolution.Points.ToList(); points.AddRange(partialSolutionTail.Points); Points = points.ToArray(); DistanceClosed += partialSolutionTail.ClosedDistance; DistanceOpen = partialSolution.DistanceOpen + partialSolutionTail.DistanceOpen; LastPoint = partialSolutionTail.LastPoint; }
public SolutionSet(PartialSolution[] ordered) { PartialSolutionList = new PartialSolution[BeamWidth]; Set(ordered); }
public PartialSolutionTail(PartialSolution partialSolution) { Head = partialSolution; Points = Array.Empty <Point>(); }