public static double MaxLength(Route route)
 {
     return route.Count == 1 ? 0 : route.GetLinks().Max(x => x.Length);
 }
 public static double Length(Route route)
 {
     return route.GetLinks().Aggregate(0, (double tmp, Link link) => tmp + link.Length);
 }
 public static double BandWidth(Route route, double flowBandwidth)
 {
     return route.GetLinks().Count() * flowBandwidth;
 }
 public static double FSL(Route route)
 {
     return route.GetLinks().Max(x => FSL(x.Length, Lambda));
 }
 public static bool BandWidthConstraint(Route route, double flowBandwidth)
 {
     var bandwidth = RouteMetrics.BandWidth(route, flowBandwidth);
     return route.GetLinks().Any(x => x.BandWidth > bandwidth);
 }