Esempio n. 1
0
 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)
 {
 }
Esempio n. 2
0
        public Ranking(Tuple <double, double> maxObjectiveValues, IDominationComparer dominationComparer)
        {
            this.maxObjectiveValues = maxObjectiveValues;
            this.dominationComparer = dominationComparer;

            RankingList = new List <Individual <Element> >();
        }
Esempio n. 3
0
 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> >();
 }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
 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;
 }