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), 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_evaluations=max_evaluations), ) algorithm.run() front = algorithm.get_result() # Save results to file print_function_values_to_file(front, "FUN." + algorithm.label) print_variables_to_file(front, "VAR." + algorithm.label)
from jmetal.util.observer import ProgressBarObserver, VisualizerObserver from jmetal.util.solutions 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)) algorithm.run() front = algorithm.get_result() # Plot front plot_front = Plot(plot_title='Pareto front approximation', reference_front=problem.reference_front, axis_labels=problem.obj_labels)