Hypervolume computation with PlatEMO
Does anybody know how can i apply this set of code (HV.m) from PlatEMO (https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m)
I’ve tried to execute it with the population solutions obtained from my algorithm and the optimum values obtained across several benchmark dataset as follows, however the output for hypervolume value that i’ve got is extremely low, what could be the problem?
inputs:
solutions = [43,176,38;43,177,37;42,188,38;46,168,38;43,184,36;42,178,48;42,169,49;42,179,42];
Population.best = struct(‘objs’, []);
% Fill the structure array with the solutions
for i = 1:size(solutions, 1)
Population.best(i).objs = solutions(i, :);
end
optimum = [40, 162, 38 ; 40, 164, 37 ;40, 167, 36; 40,171,36; 40,165,37; 40,169,36 ; 41, 160, 38 ;41, 163, 37 ;42, 157, 40 ;42, 158, 39 ;42, 165, 36 ; 42,162,42 ; 43, 155, 40 ;44, 154, 40 ;45, 153, 42];
hv = HV(Population, optimum);
disp([‘Hypervolume: ‘, num2str(hv)]);
in HV.m:
function score = HV(Population,optimum)
PopObj = vertcat(Population.best.objs);
… and the rest of the code from (https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m)Does anybody know how can i apply this set of code (HV.m) from PlatEMO (https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m)
I’ve tried to execute it with the population solutions obtained from my algorithm and the optimum values obtained across several benchmark dataset as follows, however the output for hypervolume value that i’ve got is extremely low, what could be the problem?
inputs:
solutions = [43,176,38;43,177,37;42,188,38;46,168,38;43,184,36;42,178,48;42,169,49;42,179,42];
Population.best = struct(‘objs’, []);
% Fill the structure array with the solutions
for i = 1:size(solutions, 1)
Population.best(i).objs = solutions(i, :);
end
optimum = [40, 162, 38 ; 40, 164, 37 ;40, 167, 36; 40,171,36; 40,165,37; 40,169,36 ; 41, 160, 38 ;41, 163, 37 ;42, 157, 40 ;42, 158, 39 ;42, 165, 36 ; 42,162,42 ; 43, 155, 40 ;44, 154, 40 ;45, 153, 42];
hv = HV(Population, optimum);
disp([‘Hypervolume: ‘, num2str(hv)]);
in HV.m:
function score = HV(Population,optimum)
PopObj = vertcat(Population.best.objs);
… and the rest of the code from (https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m) Does anybody know how can i apply this set of code (HV.m) from PlatEMO (https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m)
I’ve tried to execute it with the population solutions obtained from my algorithm and the optimum values obtained across several benchmark dataset as follows, however the output for hypervolume value that i’ve got is extremely low, what could be the problem?
inputs:
solutions = [43,176,38;43,177,37;42,188,38;46,168,38;43,184,36;42,178,48;42,169,49;42,179,42];
Population.best = struct(‘objs’, []);
% Fill the structure array with the solutions
for i = 1:size(solutions, 1)
Population.best(i).objs = solutions(i, :);
end
optimum = [40, 162, 38 ; 40, 164, 37 ;40, 167, 36; 40,171,36; 40,165,37; 40,169,36 ; 41, 160, 38 ;41, 163, 37 ;42, 157, 40 ;42, 158, 39 ;42, 165, 36 ; 42,162,42 ; 43, 155, 40 ;44, 154, 40 ;45, 153, 42];
hv = HV(Population, optimum);
disp([‘Hypervolume: ‘, num2str(hv)]);
in HV.m:
function score = HV(Population,optimum)
PopObj = vertcat(Population.best.objs);
… and the rest of the code from (https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m) transferred MATLAB Answers — New Questions