Learn R Programming

ecr (version 2.1.1)

emoaIndEps: EMOA performance indicators

Description

Functions for the computation of unary and binary measures which are useful for the evaluation of the performace of EMOAs. See the references section for literature on these indicators.

Given a set of points points, emoaIndEps computes the unary epsilon-indicator provided a set of reference points ref.points.

The emoaIndHV function computes the hypervolume indicator Hyp(X, R, r). Given a set of points X (points), another set of reference points R (ref.points) (which maybe the true Pareto front) and a reference point r (ref.point) it is defined as Hyp(X, R, r) = HV(R, r) - HV(X, r).

Function emoaIndR1, emoaIndR2 and emoaIndR3 calculate the R1, R2 and R3 indicator respectively.

Function emoaIndMD computes the minimum distance indicator, i.e., the minimum Euclidean distance between two points of the set points while function emoaIndM1 determines the mean Euclidean distance between points and points from a reference set ref.points.

Function emoaIndC calculates the coverage of the sets points (A) and ref.points (B). This is the ratio of points in B which are dominated by at least one solution in A.

emoaIndONVG calculates the “Overall Non-dominated Vector Generation” indicator. Despite its complicated name it is just the number of non-dominated points in points.

Functions emoaIndSP and emoaIndDelta calculate spacing indicators. The former was proposed by Schott: first calculate the sum of squared distances between minimal distancesof points to all other points and the mean of these minimal distance. Next, normalize by the number of points minus 1 and finally calculate the square root. In contrast, Delta-indicator

Usage

emoaIndEps(points, ref.points, ...)

emoaIndHV(points, ref.points, ref.point = NULL, ...)

emoaIndR1( points, ref.points, ideal.point = NULL, nadir.point = NULL, lambda = NULL, utility = "tschebycheff", ... )

emoaIndR2( points, ref.points, ideal.point = NULL, nadir.point = NULL, lambda = NULL, utility = "tschebycheff", ... )

emoaIndR3( points, ref.points, ideal.point = NULL, nadir.point = NULL, lambda = NULL, utility = "tschebycheff", ... )

emoaIndMD(points, ...)

emoaIndC(points, ref.points, ...)

emoaIndM1(points, ref.points, ...)

emoaIndONVG(points, ...)

emoaIndGD( points, ref.points, p = 1, normalize = FALSE, dist.fun = computeEuclideanDistance, ... )

emoaIndIGD( points, ref.points, p = 1, normalize = FALSE, dist.fun = computeEuclideanDistance, ... )

emoaIndDeltap( points, ref.points, p = 1, normalize = FALSE, dist.fun = computeEuclideanDistance, ... )

emoaIndSP(points, ...)

emoaIndDelta(points, ...)

Value

[numeric(1)] Epsilon indicator.

Arguments

points

[matrix]
Matrix of points.

ref.points

[matrix]
Set of reference points.

...

[any]
Not used at the moment.

ref.point

[numeric]
A single reference point used, e.g., for the computation of the hypervolume indicator via emoaIndHV. If NULL the nadir point of the union of the points and ref.points is used.

ideal.point

[numeric]
The utopia point of the true Pareto front, i.e., each component of the point contains the best value if the other objectives are neglected.

nadir.point

[numeric]
Nadir point of the true Pareto front.

lambda

[integer(1)]
Number of weight vectors to use in estimating the utility function.

utility

[character(1)]
Name of the utility function to use. Must be one of “weightedsum”, “tschebycheff” or “augmented tschbycheff”.

p

[numeric(1)]
Parameter p of the average Hausdoff metric. Default is 1.

normalize

[logical(1)]
Should the front be normalized on basis of B? Default is FALSE.

dist.fun

[matrix]
Distance function to compute distance between points x and y. Expects a single numeric vector d with the coordinate-wise differences di = (xi - yi). Default is computeEuclideanDist.

See Also

Other EMOA performance assessment tools: approximateNadirPoint(), approximateRefPoints(), approximateRefSets(), computeDominanceRanking(), makeEMOAIndicator(), niceCellFormater(), normalize(), plotDistribution(), plotFront(), plotScatter2d(), plotScatter3d(), toLatex()