def test_should_hypervolume_return_the_correct_value_when_applied_to_the_ZDT1_reference_front( self): problem = ZDT1() problem.reference_front = read_solutions( filename='resources/reference_front/ZDT1.pf') reference_point = [1, 1] hv = HyperVolume(reference_point) value = hv.compute(problem.reference_front) self.assertAlmostEqual(0.666, value, delta=0.001)
from jmetal.util.solutions import SparkEvaluator from examples.multiobjective.parallel.zdt1_modified import ZDT1Modified from jmetal.algorithm.multiobjective.omopso import OMOPSO from jmetal.operator import UniformMutation from jmetal.operator.mutation import NonUniformMutation from jmetal.util.archive import CrowdingDistanceArchive from jmetal.util.solutions_utils import print_function_values_to_file, print_variables_to_file from jmetal.util.solutions_utils import read_solutions from jmetal.util.termination_criterion import StoppingByEvaluations if __name__ == '__main__': problem = ZDT1Modified() problem.reference_front = read_solutions( filename='resources/reference_front/{}.pf'.format(problem.get_name())) mutation_probability = 1.0 / problem.number_of_variables max_evaluations = 100 swarm_size = 10 algorithm = OMOPSO( problem=problem, swarm_size=swarm_size, epsilon=0.0075, uniform_mutation=UniformMutation(probability=mutation_probability, perturbation=0.5), non_uniform_mutation=NonUniformMutation( mutation_probability, perturbation=0.5, max_iterations=max_evaluations / swarm_size), leaders=CrowdingDistanceArchive(10), termination_criterion=StoppingByEvaluations(max=max_evaluations),
from jmetal.algorithm.multiobjective.spea2 import SPEA2 from jmetal.lab.visualization import Plot, InteractivePlot from jmetal.operator import SBXCrossover, PolynomialMutation from jmetal.problem import ZDT1 from jmetal.util.observer import ProgressBarObserver, VisualizerObserver from jmetal.util.solutions_utils import read_solutions, print_function_values_to_file, print_variables_to_file from jmetal.util.termination_criterion import StoppingByEvaluations if __name__ == '__main__': problem = ZDT1() problem.reference_front = read_solutions( filename='resources/reference_front/ZDT1.pf') max_evaluations = 20000 algorithm = SPEA2( problem=problem, population_size=40, offspring_population_size=40, mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20), crossover=SBXCrossover(probability=1.0, distribution_index=20), termination_criterion=StoppingByEvaluations(max=max_evaluations)) algorithm.observable.register(observer=ProgressBarObserver( max=max_evaluations)) algorithm.observable.register(observer=VisualizerObserver( reference_front=problem.reference_front)) algorithm.run() front = algorithm.get_result()
from jmetal.algorithm.multiobjective.moead import MOEAD from jmetal.lab.visualization import Plot, InteractivePlot from jmetal.operator import PolynomialMutation, DifferentialEvolutionCrossover from jmetal.problem import DTLZ2 from jmetal.util.aggregative_function import Tschebycheff from jmetal.util.observer import ProgressBarObserver, VisualizerObserver from jmetal.util.solutions_utils import read_solutions, print_function_values_to_file, print_variables_to_file from jmetal.util.termination_criterion import StoppingByEvaluations if __name__ == '__main__': problem = DTLZ2() problem.reference_front = read_solutions( filename='resources/reference_front/DTLZ2.3D.pf') max_evaluations = 50000 algorithm = MOEAD( problem=problem, population_size=300, crossover=DifferentialEvolutionCrossover(CR=1.0, F=0.5, K=0.5), mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20), aggregative_function=Tschebycheff( dimension=problem.number_of_objectives), neighbor_size=20, neighbourhood_selection_probability=0.9, max_number_of_replaced_solutions=2, weight_files_path='resources/MOEAD_weights', termination_criterion=StoppingByEvaluations(max=max_evaluations))
from jmetal.algorithm.multiobjective.moead import MOEADIEpsilon from jmetal.lab.visualization import InteractivePlot from jmetal.operator import PolynomialMutation, DifferentialEvolutionCrossover from jmetal.problem import Srinivas from jmetal.util.aggregative_function import Tschebycheff from jmetal.util.observer import ProgressBarObserver, VisualizerObserver from jmetal.util.solutions_utils import read_solutions, print_function_values_to_file, print_variables_to_file from jmetal.util.termination_criterion import StoppingByEvaluations if __name__ == '__main__': problem = Srinivas() problem.reference_front = read_solutions( filename='resources/reference_front/Srinivas.pf') max_evaluations = 10000 algorithm = MOEADIEpsilon( problem=problem, population_size=100, crossover=DifferentialEvolutionCrossover(CR=1.0, F=0.5, K=0.5), mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20), aggregative_function=Tschebycheff( dimension=problem.number_of_objectives), neighbor_size=20, neighbourhood_selection_probability=0.9, max_number_of_replaced_solutions=2, weight_files_path='resources/MOEAD_weights', termination_criterion=StoppingByEvaluations(max=max_evaluations))
from jmetal.algorithm.multiobjective.moead import MOEADIEpsilon from jmetal.lab.visualization import InteractivePlot from jmetal.operator import PolynomialMutation, DifferentialEvolutionCrossover from jmetal.problem.multiobjective.lircmop import LIRCMOP2 from jmetal.util.aggregative_function import Tschebycheff from jmetal.util.observer import ProgressBarObserver, VisualizerObserver from jmetal.util.solutions_utils import read_solutions, print_function_values_to_file, print_variables_to_file from jmetal.util.termination_criterion import StoppingByEvaluations if __name__ == '__main__': problem = LIRCMOP2() problem.reference_front = read_solutions(filename='resources/reference_front/LIRCMOP2.pf') max_evaluations = 300000 algorithm = MOEADIEpsilon( problem=problem, population_size=300, crossover=DifferentialEvolutionCrossover(CR=1.0, F=0.5, K=0.5), mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20), aggregative_function=Tschebycheff(dimension=problem.number_of_objectives), neighbor_size=20, neighbourhood_selection_probability=0.9, max_number_of_replaced_solutions=2, weight_files_path='resources/MOEAD_weights', termination_criterion=StoppingByEvaluations(max=max_evaluations) ) algorithm.observable.register(observer=ProgressBarObserver(max=max_evaluations)) algorithm.observable.register(observer=VisualizerObserver(reference_front=problem.reference_front, display_frequency=1000))