public NSGA2(IEvaluation <Element, Tuple <double, double> > evaluation, IStopCondition stopCondition, AGenerator <Element> generator, IDominationComparer dominationComparer, ACrossover crossover, IMutation <Element> mutation, int populationSize, int?seed = null) : base(evaluation, stopCondition, generator, new NSGA2Selection(2, evaluation.tMaxValue, dominationComparer, true, seed), crossover, mutation, populationSize, seed) { }
public Ranking(Tuple <double, double> maxObjectiveValues, IDominationComparer dominationComparer) { this.maxObjectiveValues = maxObjectiveValues; this.dominationComparer = dominationComparer; RankingList = new List <Individual <Element> >(); }
public ParetoFront(Tuple <double, double> objectiveMaxValues, List <Tuple <double, double> > optimalParetoFront, IDominationComparer dominationComparer) { this.objectiveMaxValues = objectiveMaxValues; optimalFront = optimalParetoFront; this.dominationComparer = dominationComparer; Front = new List <Tuple <double, double> >(); }
public NSGA2Selection(int size, Tuple <double, double> maxObjectiveValues, IDominationComparer dominationComparer, bool modifyPopulation = true, int?seed = null) { rng = new UniformIntegerRandom(seed); shuffler = new Shuffler(seed); this.size = size; this.maxObjectiveValues = maxObjectiveValues; this.dominationComparer = dominationComparer; this.modifyPopulation = modifyPopulation; rankingRef = null; }
public DominatingTournamentSelection(int size, IDominationComparer dominationComparer, int?seed = null) { this.size = size; this.dominationComparer = dominationComparer; shuffler = new Shuffler(seed); }
public OptimizationResult(Tuple <double, double> objectiveMaxValues, List <Tuple <double, double> > optimalParetoFront, IDominationComparer dominationComparer) { Front = new ParetoFront(objectiveMaxValues, optimalParetoFront, dominationComparer); }
public SampleBiObjectiveSelection(IDominationComparer dominationComparer, int?seed = null) { shuffler = new Shuffler(seed); this.dominationComparer = dominationComparer; }