Boy_Scouts_Scheduler.Algorithm.Score.deductConstraintsViolatedScore C# (CSharp) Method

deductConstraintsViolatedScore() public static method

public static deductConstraintsViolatedScore ( HillClimbingAlgorithm.StationAssignmentRange>.Dictionary groupStationVisitRange ) : int
groupStationVisitRange HillClimbingAlgorithm.StationAssignmentRange>.Dictionary
return int
        public static int deductConstraintsViolatedScore(
            Dictionary<Models.Group, Dictionary<Models.Station,
            HillClimbingAlgorithm.StationAssignmentRange>> groupStationVisitRange)
        {
            int numConstraintsViolated = 0;
            foreach (var group in groupStationVisitRange)
            {
                foreach (var station in group.Value)
                {
                    //must check if numVisits is not equal to zero or null here
                    if (station.Value.numVisits > 0 || station.Value.numVisits < 0)
                        numConstraintsViolated += Math.Abs((int)station.Value.numVisits);
                }
            }
            return (numConstraintsViolated * -500);
        }

Same methods

Score::deductConstraintsViolatedScore ( IEnumerable schedule, IEnumerable constraints ) : int