Multi-objective slime mold algorithm (MOSMA) comes with multiple multi-objective performance indicators

1 Slime mold algorithm

http://t.csdnimg.cn/yArV5

2 Multi-objective slime mold algorithm

%% Multiple Objective Slime Mould Algorithm (MOSMA)
clc
clear all
D = 30; % Number of decision variables
M = 2; % Number of objective functions
K=M+D;
LB = ones(1, D).*0; %  LB - A vector of decimal values which indicate the minimum value for each decision variable.
UB = ones(1, D).*1; % UB - Vector of maximum possible values for decision variables.
GEN = 200;  % Set the maximum number of generation (GEN)
ecosize = 200;      % Set the population size (NP)
ishow = 10;
%% Start the evolution process
Pareto = MOSMA(D,M,LB,UB,ecosize,GEN,ishow);
Obtained_Pareto= Pareto(:,D+1:D+M); % extract data to plot
Obtained_Pareto=sortrows(Obtained_Pareto,2);
True_Pareto=load('ZDT3.txt');
%% Plot data
if M == 2
    plot(Obtained_Pareto(:,1),Obtained_Pareto(:,2),'o','LineWidth',2,...
        'MarkerEdgeColor','r','MarkerSize',2);
    hold on
    plot(True_Pareto(:,1),True_Pareto(:,2),'k'); 
    title('Optimal Solution Pareto Set using MOSMA');
    legend('MOSMA');
    xlabel('F_1');
    ylabel('F_2');
elseif M == 3
    plot3(Obtained_Pareto(:,1),Obtained_Pareto(:,2),Obtained_Pareto(:,3),'o','LineWidth',2,...
        'MarkerEdgeColor','r','MarkerSize',2);
    hold on
    plot3(Obtained_Pareto(:,1),Obtained_Pareto(:,2),Obtained_Pareto(:,3),'.','LineWidth',2,...
        'MarkerEdgeColor','k','MarkerSize',6);
    title('Optimal Solution Pareto Set using MOSMA');
    legend('MOSMA');
    xlabel('F_1');
    ylabel('F_2');
    zlabel('F_3');
end
%%  Metric Value
M_IGD=IGD(Obtained_Pareto,True_Pareto);
M_GD=GD(Obtained_Pareto,True_Pareto);
M_HV=HV(Obtained_Pareto,True_Pareto);
M_Spacing=Spacing(Obtained_Pareto,True_Pareto);
M_Spread=Spread(Obtained_Pareto,True_Pareto);
M_DeltaP=DeltaP(Obtained_Pareto,True_Pareto);
display(['The IGD Metric obtained by MOSMA is     : ', num2str(M_IGD)]);
display(['The GD Metric obtained by MOSMA is      : ', num2str(M_GD)]);
display(['The HV Metric obtained by MOSMA is      : ', num2str(M_HV)]);
display(['The Spacing Metric obtained by MOSMA is : ', num2str(M_Spacing)]);
display(['The Spread Metric obtained by MOSMA is  : ', num2str(M_Spread)]);
display(['The DeltaP Metric obtained by MOSMA is  : ', num2str(M_DeltaP)]);

ZDT3 running results:

The IGD Metric obtained by MOSMA is: 0.0026812
The GD Metric obtained by MOSMA is: 0.00043364
The HV Metric obtained by MOSMA is: 0.60026
The Spacing Metric obtained by MOSMA is: 0.0038203
The Spread Metric obtained by MOSMA is: 0.45104
The DeltaP Metric obtained by MOSMA is: 0.004529

3 Performance indicators 

        Two performance metrics, hypercapacity (HV) and extended spacing (STE) are used to measure the performance of the optimization algorithm. HV is used to measure the convergence and expansion of the PF, while STE is the ratio between the spacing and range of the PF.

       where \left | PF \right |represents the number of solutions in the PF obtained, d_{i}is the Euclidean distance between the objective function vector of the i-th solution and its nearest neighbor, is the average of dall , is the number of objective functions, and are respectively in the PF The maximum and minimum values ​​of the objective function . Superior PF has a larger HV value and a smaller STE value. For the HV metric, the larger the value, the better the convergence and coverage of PF. For the STE metric, smaller values ​​indicate better consistency and scalability of PF.d_{i}Mf_{i}^{max}f_{i}^{min}i

         Inverse generation distance (IGD) is used to measure convergence. The mathematical formula of IGD is similar to the mathematical formula of generation distance (GD).

        where n is the number of true Pareto-optimal solutions and d_{i}indicates the Euclidean distance between the ith true Pareto-optimal solution in the reference set and the most recently obtained Pareto-optimal solution. The Euclidean distance between the obtained solution and the reference set is different here. In IGD, the Euclidean distance of each true solution relative to its most recently obtained Pareto optimal solution in the target space is calculated.

Guess you like

Origin blog.csdn.net/qq_45823589/article/details/133499612