fr.iscpif.mgo.tools.metric

Hypervolume

object Hypervolume

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.

FIXE: The implementation is ugly, as the algorithm as directly been translated from python

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hypervolume
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class MultiList extends AnyRef

    A special data structure needed by FonsecaHyperVolume.

    A special data structure needed by FonsecaHyperVolume.

    It consists of several doubly linked lists that share common nodes. So, every node has multiple predecessors and successors, one in every list.

  2. class Node extends AnyRef

  3. trait ReferencePoint extends AnyRef

    Reference point for the hypervolume computation

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. def apply(front: Seq[Seq[Double]], referencePoint: Seq[Double]): Double

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

    Compute 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].

    front

    the parato front

    returns

    the hypervolume

  5. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  6. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def contributions(front: Seq[Seq[Double]], referencePoint: Seq[Double]): Seq[Lazy[Double]]

    Compute the hypervolume contribution for each front

  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. def nadir(points: Seq[Seq[Double]]): Seq[Double]

    Compute the nadir of a set of points

    Compute the nadir of a set of points

    returns

    the nadir point

  15. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  18. def preProcess(front: Seq[Seq[Double]], referencePoint: Seq[Double]): MultiList

  19. def sortByDimension(nodes: Seq[Node], i: Int): Seq[Node]

  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  21. def toString(): String

    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped