Package comocma :: Module hv :: Class HyperVolume
[hide private]
[frames] | no frames]

Class HyperVolume

source code

Hypervolume computation based on variant 3 of the algorithm in the paper: C. M. Fonseca, L. Paquete, and M. Lopez-Ibanez. An improved dimension-sweep algorithm for the hypervolume indicator. In IEEE Congress on Evolutionary Computation, pages 1157-1163, Vancouver, Canada, July 2006.

Minimization is implicitly assumed here!

Instance Methods [hide private]
 
__init__(self, referencePoint)
Constructor.
source code
 
compute(self, front)
Returns the hypervolume that is dominated by a non-dominated front.
source code
 
hvRecursive(self, dimIndex, length, bounds)
Recursive call to hypervolume calculation.
source code
 
preProcess(self, front)
Sets up the list data structure needed for calculation.
source code
 
sortByDimension(self, nodes, i)
Sorts the list of nodes by the i-th value of the contained points.
source code
Method Details [hide private]

compute(self, front)

source code 

Returns the hypervolume that is dominated by a non-dominated front.

Before the HV computation, front and reference point are translated, so that the reference point is [0, ..., 0].

hvRecursive(self, dimIndex, length, bounds)

source code 

Recursive call to hypervolume calculation.

In contrast to the paper, the code assumes that the reference point is [0, ..., 0]. This allows the avoidance of a few operations.