Ejemplo n.º 1
0
        /// <summary>
        /// Replaces some edges with a list of other edges.
        /// </summary>
        /// <param name="route"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <returns></returns>
        private FixedSymmetricRoute Replace(FixedSymmetricRoute route, EdgeList x, EdgeList y)
        {
            FixedSymmetricRoute route_new = route.Clone() as FixedSymmetricRoute;

            for (int idx = 0; idx < x.Count; idx++)
            {
                Edge x_edge = x[idx];
                route_new.Remove(x_edge.From, x_edge.To);
            }
            for (int idx = 0; idx < x.Count; idx++)
            {
                Edge y_edge = y[idx];
                route_new.Add(y_edge.From, y_edge.To);
            }
            //if (!route_new.IsValidNew() && route_new.IsValid())
            //{
            //    Debug.Write(string.Empty);
            //}
            //else
            //{
            //    Debug.Write(string.Empty);
            //}
            return(route_new);
        }