public bool Equals(ICostLayer other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            if (!Solution.Equals(other.Solution))
            {
                return(false);
            }

            return(this.SequenceEqual(other, FloatingPointComparer.Instance));
        }
 private GraphLayer(IGraph graph, ICostLayer costLayer)
 {
     _graph          = graph;
     _necessaryFixes = new SortedSet <TimeAtVertex>();
     CostLayer       = costLayer;
 }
 public GraphLayer(ICostLayer costLayer)
 {
     CostLayer       = costLayer;
     _graph          = new Graph(Problem.OperationCount);
     _necessaryFixes = new SortedSet <TimeAtVertex>();
 }