@Umar Thanks for the clarification! by any chance, have you come across any other hypervolume computation like the one in platEMO ( https://github.com/BIMK/PlatEMO/blob/1274e2530e1c5afa928f3691c65af7d2f7efe099/PlatEMO/Metrics/HV.m )?
i'd like to clarify how can i use and define the structure array to satisfy thr datatype in HV.m. At first, when i defined my own solution, it showed error ('Dot indexing is not supported for variables of this type.').
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?
i did modification as such in the main program:
- 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 )

