@@ -0,0 +1,3107 @@
+package org.uma.jmetal.algorithm.multiobjective.ibea;%0A%0Aimport org.uma.jmetal.operator.crossover.CrossoverOperator;%0Aimport org.uma.jmetal.operator.mutation.MutationOperator;%0Aimport org.uma.jmetal.operator.selection.SelectionOperator;%0Aimport org.uma.jmetal.problem.Problem;%0Aimport org.uma.jmetal.solution.Solution;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0Aimport org.uma.jmetal.algorithm.multiobjective.ibea.IBEA;%0Aimport org.uma.jmetal.util.SolutionListUtils;%0A%0A/** This class implements the IBEA algorithm */%0A@SuppressWarnings(%22serial%22)%0Apublic class mIBEA%3CS extends Solution%3C?%3E%3E extends IBEA%3CS%3E %7B%0A%0A  public mIBEA(%0A      Problem problem,%0A      int populationSize,%0A      int archiveSize,%0A      int maxEvaluations,%0A      SelectionOperator selectionOperator,%0A      CrossoverOperator crossoverOperator,%0A      MutationOperator mutationOperator) %7B%0A    super(%0A        problem,%0A        populationSize,%0A        archiveSize,%0A        maxEvaluations,%0A        selectionOperator,%0A        crossoverOperator,%0A        mutationOperator);%0A  %7D%0A%0A  /** Execute() method */%0A  @Override%0A  public void run() %7B%0A    int evaluations;%0A    List%3CS%3E solutionSet, offSpringSolutionSet;%0A%0A    // Initialize the variables%0A    solutionSet = new ArrayList%3C%3E(populationSize);%0A    archive = new ArrayList%3C%3E(archiveSize);%0A    evaluations = 0;%0A%0A    // -%3E Create the initial solutionSet%0A    S newSolution;%0A    for (int i = 0; i %3C populationSize; i++) %7B%0A      newSolution = problem.createSolution();%0A      problem.evaluate(newSolution);%0A      evaluations++;%0A      solutionSet.add(newSolution);%0A    %7D%0A%0A    while (evaluations %3C maxEvaluations) %7B%0A      List%3CS%3E union = new ArrayList%3C%3E();%0A      union.addAll(solutionSet);%0A      union.addAll(archive);%0A      union = SolutionListUtils.getNonDominatedSolutions(union); // modificated part%0A      calculateFitness(union);%0A      archive = union;%0A%0A      while (archive.size() %3E populationSize) %7B%0A        removeWorst(archive);%0A      %7D%0A      // Create a new offspringPopulation%0A      offSpringSolutionSet = new ArrayList%3C%3E(populationSize);%0A      S parent1;%0A      S parent2;%0A      while (offSpringSolutionSet.size() %3C populationSize) %7B%0A        int j = 0;%0A        do %7B%0A          j++;%0A          parent1 = selectionOperator.execute(archive);%0A        %7D while (j %3C IBEA.TOURNAMENTS_ROUNDS);%0A        int k = 0;%0A        do %7B%0A          k++;%0A          parent2 = selectionOperator.execute(archive);%0A        %7D while (k %3C IBEA.TOURNAMENTS_ROUNDS);%0A%0A        List%3CS%3E parents = new ArrayList%3C%3E(2);%0A        parents.add(parent1);%0A        parents.add(parent2);%0A%0A        // make the crossover%0A        List%3CS%3E offspring = crossoverOperator.execute(parents);%0A        mutationOperator.execute(offspring.get(0));%0A        problem.evaluate(offspring.get(0));%0A        // problem.evaluateConstraints(offSpring%5B0%5D);%0A        offSpringSolutionSet.add(offspring.get(0));%0A        evaluations++;%0A      %7D%0A      solutionSet = offSpringSolutionSet;%0A    %7D%0A  %7D%0A%0A  @Override%0A  public String getName() %7B%0A    return %22mIBEA%22;%0A  %7D%0A%0A  @Override%0A  public String getDescription() %7B%0A    return %22Modificated Indicator based Evolutionary Algorithm%22;%0A  %7D%0A%7D%0A

Add again mIBEA