private static IFitnessCounter GetFitnessCounter(CountFitnessParameters parameters) { if (parameters.FitnessType == EFitnessType.Final) { return(new FinalFitnessCounter(parameters)); } else if (parameters.FitnessType == EFitnessType.Sum) { return(new SumFitnessCounter(parameters)); } else { throw new ArgumentException(); } }
public static IFitnessCounter GetFitnessCounterForTraining(OptimizationParameters optimizationParameters) { var countFitnessParameters = new CountFitnessParameters() { FitnessType = optimizationParameters.FitnessType, PositionsOfSheepSet = optimizationParameters.RandomPositions ? VectorFactory.GenerateRandomPositions(optimizationParameters.NumberOfRandomSets, optimizationParameters.NumberOfSheep, 0, 400) : new List <List <Vector2D> >() { optimizationParameters.PositionsOfSheep }, PositionsOfShepherdsSet = optimizationParameters.RandomPositions ? VectorFactory.GenerateRandomPositions(optimizationParameters.NumberOfRandomSets, optimizationParameters.NumberOfShepherds, 0, 400) : new List <List <Vector2D> >() { optimizationParameters.PositionsOfShepherds }, SheepType = optimizationParameters.SheepType, TurnsOfHerding = optimizationParameters.TurnsOfHerding }; return(GetFitnessCounter(countFitnessParameters)); }
public static IFitnessCounter GetFitnessCounterForBest(OptimizationParameters optimizationParameters) { var countFitnessParameters = new CountFitnessParameters() { FitnessType = optimizationParameters.FitnessType, PositionsOfSheepSet = optimizationParameters.RandomPositions ? optimizationParameters.RandomSetsForBest.PositionsOfSheepSet : new List <List <Vector2D> >() { optimizationParameters.PositionsOfSheep }, PositionsOfShepherdsSet = optimizationParameters.RandomPositions ? optimizationParameters.RandomSetsForBest.PositionsOfShepherdsSet : new List <List <Vector2D> >() { optimizationParameters.PositionsOfShepherds }, SheepType = optimizationParameters.SheepType, TurnsOfHerding = optimizationParameters.TurnsOfHerding }; return(GetFitnessCounter(countFitnessParameters)); }
public FinalFitnessCounter(CountFitnessParameters parameters) : base(parameters) { }
public SumFitnessCounter(CountFitnessParameters parameters) : base(parameters) { }
public FitnessCounter(CountFitnessParameters parameters) { this.parameters = parameters; }