public virtual int NumberOfNotVisitedFamilies() { var visitedVisits = NonEmptyRoutes.SelectMany(r => r.Waypoints.Select(w => w.VisitId)); return(OptimizationInput.Visits.Count(v => !v.IsBreak && !visitedVisits.Contains(v.Id))); }
public int TotalVisitTime() { var visitedVisits = NonEmptyRoutes.SelectMany(r => r.Waypoints.Select(w => w.VisitId)); return(OptimizationInput.Visits.Where(v => visitedVisits.Contains(v.Id)).Select(v => v.Duration).Sum()); }