How to get the TRUE PARETO data for test functions for multi-objective optimization?
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I am doing weighted sum based for multiobjective optimization using Artificial Bee Colony algorithm.
I have tested with test functions for multiobjective optimizations. https://en.wikipedia.org/wiki/Test_functions_for_optimization#cite_note-Binh97-5
I have obtained pareto front using Artificial Bee Colony algorithm and I want to compare the result with its real true pareto front. However, how to get the data and plot the TRUE PARETO Front for the test functions such as Kursawe function?
I would like to get a graph as shown in the figure (retrieved from other researcher's paper)? Could anybody help me? Any matlab code suggested or any other ways like excel to plot it?
Thank you in advance.
0 comentarios
Respuestas (1)
Mrutyunjaya Hiremath
el 24 de Jul. de 2023
Obtaining the true Pareto front typically involves using mathematical or analytical methods to compute the optimal solutions that represent the ideal trade-offs between multiple conflicting objectives. In many real-world problems, the true Pareto front is not known analytically, and its computation can be challenging or even impossible.
But if you have, true Pareto front - then use this code to plot
% Replace this with the true Pareto front data (matrix with objective values)
true_pareto_front = [
% Objective 1, Objective 2, ... (Add more columns if you have more objectives)
0.1, 0.8;
0.2, 0.7;
0.3, 0.6;
0.4, 0.5;
0.5, 0.4;
0.6, 0.3;
0.7, 0.2;
0.8, 0.1;
];
% Replace this with the Pareto front obtained from ABC algorithm (matrix with objective values)
abc_pareto_front = [
% Objective 1, Objective 2, ... (Add more columns if you have more objectives)
0.1, 0.75;
0.2, 0.72;
0.3, 0.68;
0.4, 0.55;
0.5, 0.42;
0.6, 0.31;
0.7, 0.21;
0.8, 0.1;
];
% Plot the true Pareto front and the ABC Pareto front
figure;
hold on;
plot(true_pareto_front(:, 1), true_pareto_front(:, 2), 'bo', 'MarkerSize', 10);
plot(abc_pareto_front(:, 1), abc_pareto_front(:, 2), 'r+', 'MarkerSize', 10);
hold off;
% Add labels and legend
xlabel('Objective 1');
ylabel('Objective 2');
legend('True Pareto Front', 'ABC Pareto Front');
title('Comparison of True Pareto Front and ABC Pareto Front');
Ver también
Categorías
Más información sobre Multiobjective Optimization en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!