Code covered by the BSD License  

Highlights from
Hypervolume Indicator

4.57143

4.6 | 7 ratings Rate this file 25 Downloads (last 30 days) File Size: 1.63 KB File ID: #19651
image thumbnail

Hypervolume Indicator

by

 

21 Apr 2008 (Updated )

A tool to estimate the hypervolume indicator

| Watch this File

File Information
Description

In Evolutionary Multiobjective Optimization (EMO), an algorithm produces a set of points in the performance space as an estimation of the Pareto front. A quantitive measure is desired to estimate the closeness of the estimated data points to the true Pareto front.

One of such measures is the hypervolume indicator, which gives the hypervolume between the estimated Pareto front (P) and a reference point (R). However, to rigorously calcuate the indicator is time-consuming. This tool uses a Monte Carlo approach to estimate the hypervolume by calculating the percentage of a set of random points in the performance space to be dominated by the Pareto front.

The code was developed in response to a request made by Timo Aittokoski, who used the Pareto Front code developed by the Author.

Acknowledgements

Pareto Front inspired this file.

MATLAB release MATLAB 7.6 (R2008a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (9)
17 Feb 2014 ozgur

i am still waiting the your answer

06 Feb 2014 ozgur

hello

how we can call this function in algorthim

i mean i have
an pareto fron any example 100 by 10
and my result any example 90 by 10

how we can take the hypervolume a simple please

09 Dec 2013 jamosquera

Thanks a lot for the code!

22 Sep 2012 ilpazzo

Thank you!

26 May 2011 Ninh Duong

thank you very much

16 Nov 2009 Matteo

Thank you, it's perfect!

05 Apr 2009 V. Poor  
28 Jul 2008 Yi Cao

As I indicated, the code is developed in R2008a. bsxfun was introduced since R2007a. If you use earlier version, you have change these two lines (45 and 49) to some other approaches, such as repmat or, for example, change line 45 to,

fcheck=all(C>lB(ones(N,1),:),2);

and change line 49 to

f=all(C(fcheck,:)>P(k(ones(sum(fcheck),1)),:),2);

HTH.

28 Jul 2008 liudaohai liudaohai

??? Undefined command/function 'bsxfun'.

Error in ==> hypervolume at 45
fcheck=all(bsxfun(@gt, C, lB),2);

Contact us