Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        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;
        }
Beispiel #3
0
 public SolutionSet(PartialSolution[] ordered)
 {
     PartialSolutionList = new PartialSolution[BeamWidth];
     Set(ordered);
 }
 public PartialSolutionTail(PartialSolution partialSolution)
 {
     Head   = partialSolution;
     Points = Array.Empty <Point>();
 }